@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/**
 * !!! 変数の定義 !!!
 * 変数は作りすぎず、デザインコンポーネント、もしくはシンボルを元に作成する
 * またGoogle Font等の特殊なウェブフォントの場合、そのフォント名を定義してわかりやすくする
 */
/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none; }

/**
 * !!! browsersyncのアラートを非表示 !!!
 */
#__bs_notify__ {
  display: none !important; }

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", sans-serif; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s; }
  a:hover {
    opacity: 0.7; }

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

.row {
  overflow: hidden;
  *zoom: 1; }

/**
 * ----------------ここまで----------------
 */
/**
 * !!! FlexBox Rule !!!
 * 都度scssを記載するのではなく、クラスで定義し、クラスの付け外しで管理すること。
 */
.flex-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

/**
 * !!! Inner Rule !!!
 * 最初にデザインを確認し、存在するinnerパターンを作成すること
 * max-width指定のみだと、画面幅を縮小するときに余白が消えるため、paddingをつけること
 * 例) innerが1000pxであれば、
 *     max-width: 1060px;
 *     padding: 0 30px;
 */
.inner {
  max-width: 1200px;
  padding: 0 50px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .inner {
      padding: 0 15px; } }

[data-trigger] {
  position: relative;
  transform: translate(0, 20px);
  opacity: 0;
  transition: opacity 0.5s 0.3s, transform 0.5s 0.3s, -webkit-transform 0.5s 0.3s; }
  [data-trigger].visible {
    transform: translate(0, 0px);
    opacity: 1; }

main {
  padding-top: 96px; }
  @media only screen and (max-width: 767px) {
    main {
      padding-top: 52px; } }

.contact-area {
  padding: 159px 0 84px;
  position: relative;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    .contact-area {
      padding: 26px 0 43px; } }
  .contact-area__title {
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    text-align: center;
    color: #2AB5B0;
    margin-bottom: 24px; }
    @media only screen and (max-width: 767px) {
      .contact-area__title {
        margin: 0 -15px 25px; } }
    .contact-area__title .en {
      font-size: 32px;
      font-size: 3.2rem;
      letter-spacing: 0.1em;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      line-height: 1.26;
      display: block; }
      @media only screen and (max-width: 767px) {
        .contact-area__title .en {
          font-size: 28px;
          font-size: 2.8rem; } }
    .contact-area__title .jp {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.2em;
      line-height: 1.28571429;
      font-weight: 700;
      display: block; }
      @media only screen and (max-width: 767px) {
        .contact-area__title .jp {
          font-size: 11px;
          font-size: 1.1rem;
          margin-top: 4px; } }
    .contact-area__title:before {
      content: "";
      flex-grow: 1;
      height: 2px;
      background: #2AB5B0;
      display: block;
      margin-right: 24px; }
      @media only screen and (max-width: 767px) {
        .contact-area__title:before {
          margin-right: 18px; } }
    .contact-area__title:after {
      content: "";
      flex-grow: 1;
      height: 2px;
      background: #2AB5B0;
      display: block;
      margin-left: 24px; }
      @media only screen and (max-width: 767px) {
        .contact-area__title:after {
          margin-left: 18px; } }
  .contact-area .btn-col {
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      .contact-area .btn-col {
        display: block; } }
    .contact-area .btn-col a {
      width: 340px;
      height: 99px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid #2AB5B0;
      border-radius: 10px;
      margin: 0 12px; }
      @media only screen and (max-width: 767px) {
        .contact-area .btn-col a {
          width: 100%;
          margin: 0 0 15px; } }
      @media only screen and (max-width: 767px) {
        .contact-area .btn-col a:last-of-type {
          margin-bottom: 0; } }
      .contact-area .btn-col a .text {
        text-align: center;
        margin-left: 16px; }
        .contact-area .btn-col a .text span {
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.06em;
          line-height: 1.2;
          font-weight: 700;
          display: block; }
        .contact-area .btn-col a .text strong {
          font-size: 28px;
          font-size: 2.8rem;
          letter-spacing: 0.04em;
          line-height: 1.1;
          font-weight: 900;
          display: block; }
        .contact-area .btn-col a .text small {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.08em;
          line-height: 1.3;
          font-weight: 500;
          display: block; }

.banner-list-area {
  background: #EFEBE8;
  padding: 58px 0 129px; }
  @media only screen and (max-width: 767px) {
    .banner-list-area {
      padding: 40px 0 100px; } }
  .banner-list-area .c-title02 {
    text-align: center;
    margin-bottom: 36px; }
    @media only screen and (max-width: 767px) {
      .banner-list-area .c-title02 {
        margin-bottom: 20px; } }
    .banner-list-area .c-title02 .jp.orange {
      color: #FF6347;
      margin-top: 0; }
  .banner-list-area .mt60 {
    margin-top: 60px; }

.banner-list {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .banner-list {
      display: block; } }
  .banner-list li {
    width: 32.36363636%;
    margin-right: 1.45454546%;
    border-radius: 10px; }
    @media only screen and (max-width: 767px) {
      .banner-list li {
        width: 100%;
        margin: 0 0 10px; } }
    .banner-list li:nth-of-type(3n) {
      margin-right: 0; }
    .banner-list li a {
      width: 100%;
      min-height: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      text-align: center;
      border-radius: 10px;
      background: #fff;
      border: 2px solid #FF6347;
      color: #FF6347;
      transition: color .3s, background-color .3s; }
      @media only screen and (max-width: 767px) {
        .banner-list li a {
          min-height: 80px; } }
      .banner-list li a:hover {
        opacity: 1;
        background: #FF6347;
        color: #fff; }
      .banner-list li a small {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        display: block; }
        @media only screen and (max-width: 767px) {
          .banner-list li a small {
            font-size: 14px;
            font-size: 1.4rem; } }
      .banner-list li a span {
        font-size: 25px;
        font-size: 2.5rem;
        letter-spacing: 0.14em;
        line-height: 1.4;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          .banner-list li a span {
            font-size: 20px;
            font-size: 2rem; } }

.footer {
  position: relative; }
  .footer .pagetop {
    position: fixed;
    bottom: 51px;
    right: 44px;
    display: none;
    transition: 0s;
    z-index: 90; }
    .footer .pagetop:hover {
      opacity: 1; }
  .footer__top {
    background: #2AB5B0;
    color: #fff;
    padding: 56px 0 42px; }
    @media only screen and (max-width: 767px) {
      .footer__top {
        padding: 24px 0 24px; } }
    .footer__top .inner {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .footer__top .inner {
          flex-direction: column; } }
    .footer__top .left {
      width: 225px; }
      @media only screen and (max-width: 767px) {
        .footer__top .left {
          width: 100%;
          order: 2;
          padding: 28px 0 0;
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap; } }
      .footer__top .left .logo {
        display: block;
        width: 180px;
        margin-bottom: 27px; }
        @media only screen and (max-width: 767px) {
          .footer__top .left .logo {
            width: 141px;
            margin-bottom: 0; } }
      .footer__top .left .name {
        display: block;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        font-weight: 700;
        margin-bottom: 11px; }
        @media only screen and (max-width: 767px) {
          .footer__top .left .name {
            font-size: 15px;
            font-size: 1.5rem;
            margin-bottom: 13px; } }
      .footer__top .left address {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        line-height: 1.7;
        font-weight: 700;
        margin-bottom: 28px; }
        @media only screen and (max-width: 767px) {
          .footer__top .left address {
            font-size: 11px;
            font-size: 1.1rem;
            margin-bottom: 0; } }
      .footer__top .left .sns-list {
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 767px) {
          .footer__top .left .sns-list {
            width: 100%;
            justify-content: center;
            margin-top: 20px; } }
        .footer__top .left .sns-list li {
          width: 48px;
          margin-right: 16px; }
          @media only screen and (max-width: 767px) {
            .footer__top .left .sns-list li {
              margin: 0 12px; } }
    .footer__top .right {
      width: calc(100% - 225px); }
      @media only screen and (max-width: 767px) {
        .footer__top .right {
          width: 100%;
          order: 1;
          padding: 0 19px 32px;
          border-bottom: 1px solid #fff; } }
      .footer__top .right .list {
        display: flex;
        flex-wrap: wrap; }
        @media only screen and (max-width: 767px) {
          .footer__top .right .list {
            margin-bottom: 24px; } }
        .footer__top .right .list dl {
          margin-left: 37px;
          margin-bottom: 20px; }
          @media only screen and (max-width: 767px) {
            .footer__top .right .list dl {
              margin: 0 0 0;
              width: 100%;
              border-top: 1px solid #fff; } }
          .footer__top .right .list dl:first-of-type {
            width: 100%; }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl:first-of-type {
                border-top: none; } }
          .footer__top .right .list dl dt {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.1em;
            font-weight: 700;
            line-height: 1.4; }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl dt a, .footer__top .right .list dl dt span {
                display: block;
                padding: 16px 0;
                position: relative; } }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl dt a:before {
                content: "";
                width: 20px;
                height: 12px;
                display: block;
                background: url(../images/common/arrow_right.svg) center center/cover no-repeat;
                position: absolute;
                top: 50%;
                right: 4px;
                transform: translate(0%, -50%); } }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl dt span.active:after {
                opacity: 0; } }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl dt span:before {
                content: "";
                width: 16px;
                height: 1px;
                display: block;
                background: #fff;
                position: absolute;
                top: 50%;
                right: 6px;
                transform: translate(0%, -50%); }
              .footer__top .right .list dl dt span:after {
                content: "";
                width: 1px;
                height: 16px;
                display: block;
                background: #fff;
                position: absolute;
                top: 50%;
                right: 13px;
                transform: translate(0%, -50%);
                transition: opacity .3s; } }
          .footer__top .right .list dl dd {
            padding-left: 6px;
            margin-top: 9px; }
            @media only screen and (max-width: 767px) {
              .footer__top .right .list dl dd {
                display: none;
                padding-left: 12px;
                margin-top: 0; } }
            .footer__top .right .list dl dd ul {
              padding: 4px 0;
              padding-left: 13px;
              border-left: 1px solid #fff; }
              @media only screen and (max-width: 767px) {
                .footer__top .right .list dl dd ul {
                  padding: 0;
                  border: none;
                  padding-bottom: 16px; } }
              .footer__top .right .list dl dd ul li {
                font-size: 12px;
                font-size: 1.2rem;
                letter-spacing: 0.1em;
                line-height: 1.4;
                font-weight: 700;
                margin-bottom: 10px; }
                .footer__top .right .list dl dd ul li:last-of-type {
                  margin-bottom: 0; }
      .footer__top .right .sub-list {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.1em;
        line-height: 1.53846154;
        font-weight: 700;
        margin-top: 38px; }
        @media only screen and (max-width: 767px) {
          .footer__top .right .sub-list {
            font-size: 12px;
            font-size: 1.2rem;
            justify-content: flex-start;
            margin-top: 11px; } }
        @media only screen and (max-width: 767px) {
          .footer__top .right .sub-list li {
            margin-right: 16px; } }
        .footer__top .right .sub-list li:after {
          content: " / ";
          margin-right: 4px; }
          @media only screen and (max-width: 767px) {
            .footer__top .right .sub-list li:after {
              content: none; } }
        .footer__top .right .sub-list li:last-of-type:after {
          content: none; }
  .footer__bottom {
    background: #927B68;
    color: #fff;
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.8;
    text-align: center;
    padding: 10px; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 96px;
  background: #fff;
  z-index: 999; }
  @media only screen and (max-width: 767px) {
    .header {
      height: 52px; } }
  .header .inner {
    max-width: 1366px;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .header__logo {
    display: block;
    width: 160px;
    margin-left: 25px; }
    @media only screen and (max-width: 767px) {
      .header__logo {
        width: 85px;
        margin-left: 0; } }
  .header .gnav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 10px; }
    @media only screen and (max-width: 767px) {
      .header .gnav {
        margin-right: 0;
        width: 100%;
        height: calc(100vh - 52px);
        position: fixed;
        top: 52px;
        left: 0;
        bottom: 0;
        background: #FF6347;
        color: #fff;
        padding: 48px 34px 50px;
        overflow-y: scroll;
        display: block;
        transition: opacity .3s, visibility .3s;
        opacity: 0;
        visibility: hidden; } }
    @media only screen and (max-width: 767px) {
      .header .gnav.is-active {
        opacity: 1;
        visibility: visible; } }
    .header .gnav .jp {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.06em;
      line-height: 1.5;
      font-weight: 700;
      text-align: center;
      display: block; }
    .header .gnav .en {
      text-align: center;
      display: block;
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: 0.1em;
      line-height: 1.2;
      font-weight: 700;
      font-family: "Lato", sans-serif; }
    .header .gnav__list {
      display: flex;
      align-items: center;
      justify-content: flex-end; }
      @media only screen and (max-width: 767px) {
        .header .gnav__list {
          display: block;
          text-align: center;
          width: 100%; } }
      .header .gnav__list li {
        margin-left: 29px; }
        @media only screen and (max-width: 767px) {
          .header .gnav__list li {
            margin: 0 0 30px; } }
        .header .gnav__list li .en {
          color: #FF6347; }
          @media only screen and (max-width: 767px) {
            .header .gnav__list li .en {
              color: #fff; } }
    .header .gnav .btn-contact {
      background: #2AB5B0;
      color: #fff;
      width: 147px;
      height: 76px;
      padding-top: 29px;
      border-radius: 0 0 10px 10px;
      margin-left: 30px;
      margin-top: -20px; }
      @media only screen and (max-width: 767px) {
        .header .gnav .btn-contact {
          width: 100%;
          height: 70px;
          border-radius: 35px;
          background: #fff;
          color: #FF6347;
          padding-top: 0;
          margin: 0 auto;
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          position: relative; } }
      .header .gnav .btn-contact .jp {
        margin-bottom: 1px; }
        .header .gnav .btn-contact .jp i {
          position: relative;
          display: inline-block;
          top: -3px;
          margin-left: 3px; }
      .header .gnav .btn-contact .arrow {
        width: 36px;
        height: 36px;
        position: absolute;
        top: 50%;
        right: 24px;
        transform: translate(0%, -50%); }
    .header .gnav .sns-list {
      display: flex;
      justify-content: center;
      margin-top: 26px; }
      .header .gnav .sns-list li {
        width: 48px;
        margin: 0 12px; }

.hamburger {
  width: 36px;
  height: 33px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-direction: column;
  z-index: 101; }
  .hamburger.is-active .hamburger__inner span {
    width: 28px; }
    .hamburger.is-active .hamburger__inner span:nth-of-type(1) {
      transform: rotate(135deg);
      top: 8px; }
    .hamburger.is-active .hamburger__inner span:nth-of-type(2) {
      width: 0; }
    .hamburger.is-active .hamburger__inner span:nth-of-type(3) {
      transform: rotate(-135deg);
      bottom: 8px; }
  .hamburger__inner {
    width: 36px;
    height: 18px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto; }
    .hamburger__inner span {
      width: 36px;
      height: 2px;
      display: block;
      background: #2AB5B0;
      transition: transform .3s, top .3s, bottom .3s, width .3s, background-color .3s;
      position: relative; }
      .hamburger__inner span:nth-of-type(2) {
        position: absolute;
        top: 8px;
        right: 0; }
  .hamburger__text {
    display: block;
    text-align: center;
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 1.2;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    color: #FF6347;
    margin-top: 3px; }

.c-page-title.white .en {
  color: #fff; }

.c-page-title.white .jp {
  color: #fff; }

.c-page-title .en {
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 0.08em;
  line-height: 1.36;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  display: block;
  color: #FF6347; }
  @media only screen and (max-width: 767px) {
    .c-page-title .en {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.35714286; } }

.c-page-title .jp {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.2;
  font-weight: 700;
  color: #2AB5B0;
  display: block;
  margin-top: 12px; }
  @media only screen and (max-width: 767px) {
    .c-page-title .jp {
      font-size: 11px;
      font-size: 1.1rem;
      margin-top: 4px; } }

.c-title02 .en {
  font-size: 38px;
  font-size: 3.8rem;
  letter-spacing: 0.1em;
  line-height: 1.31578947;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  display: block;
  color: #FF6347; }
  @media only screen and (max-width: 767px) {
    .c-title02 .en {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.35714286; } }

.c-title02 .jp {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.2;
  font-weight: 700;
  color: #2AB5B0;
  display: block;
  margin-top: 4px; }
  @media only screen and (max-width: 767px) {
    .c-title02 .jp {
      font-size: 11px;
      font-size: 1.1rem;
      margin-top: 3px; } }

.c-title02.white .en {
  color: #fff; }

.c-title02.white .jp {
  color: #fff; }

.c-title02.orange .jp {
  color: #FF6347; }

.c-btn {
  width: 100%;
  max-width: 245px;
  height: 69px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 19px;
  border-radius: 50px;
  border: 2px solid #FF6347;
  background: #fff;
  position: relative; }
  .c-btn span {
    width: calc(100% - 36px);
    text-align: center;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #FF6347; }
  .c-btn:after {
    content: "";
    width: 36px;
    height: 35px;
    display: block;
    background: url(../images/common/circle_arrow_green.svg) center center/cover no-repeat; }

.c-link-list {
  display: flex;
  flex-wrap: wrap; }
  .c-link-list li {
    margin-top: 10px;
    margin-right: 38px; }
    .c-link-list li:last-of-type {
      margin-right: 0; }
    .c-link-list li a {
      padding-left: 41px;
      min-height: 33px;
      display: flex;
      align-items: center;
      position: relative; }
      .c-link-list li a:before {
        content: "";
        width: 34px;
        height: 33px;
        display: inline-block;
        background: url(../images/common/circle_arrow_green.svg) center center/cover no-repeat;
        margin-right: 7px;
        position: absolute;
        top: 0;
        left: 0; }
      .c-link-list li a span {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: 0.04em;
        font-weight: 700; }
      .c-link-list li a small {
        font-size: 10px;
        font-size: 1rem;
        line-height: 1.3;
        letter-spacing: 0.02em;
        font-weight: 500;
        color: #FF6347;
        display: inline-block;
        margin-left: 10px; }

.c-news-list {
  border-top: 1px solid #927B68; }
  .c-news-list li {
    border-bottom: 1px solid #927B68; }
    .c-news-list li a {
      display: flex;
      align-items: center;
      padding: 32px 0;
      padding-right: 90px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .c-news-list li a {
          padding: 20px 0;
          padding-right: 27px; } }
      .c-news-list li a:after {
        content: "";
        width: 35px;
        height: 34px;
        display: block;
        background: url(../images/common/circle_arrow_clear.svg) center center/cover no-repeat;
        position: absolute;
        top: 50%;
        right: 26px;
        transform: translate(0%, -50%); }
        @media only screen and (max-width: 767px) {
          .c-news-list li a:after {
            right: 5px;
            width: 8px;
            height: 21px;
            background: url(../images/common/arrow_right_2.svg) center center/cover no-repeat; } }
      .c-news-list li a .date {
        width: 132px;
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        line-height: 1.28571429;
        font-weight: 700;
        color: #2AB5B0; }
        @media only screen and (max-width: 767px) {
          .c-news-list li a .date {
            width: 92px;
            font-size: 11px;
            font-size: 1.1rem; } }
      .c-news-list li a .title {
        width: calc(100% - 132px);
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        line-height: 1.28571429;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          .c-news-list li a .title {
            width: calc(100% - 92px);
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 1.5; } }

typewritten-text .cursor.current::after {
  visibility: hidden; }

typewritten-text .word {
  white-space: normal; }

typewritten-text {
  font: inherit; }

.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 102px; }
  @media only screen and (max-width: 767px) {
    .wp-pagenavi {
      margin-top: 60px; } }
  .wp-pagenavi span, .wp-pagenavi a {
    margin: 0 7px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #FF6347;
    color: #FF6347;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      .wp-pagenavi span, .wp-pagenavi a {
        width: 38px;
        height: 38px;
        margin: 0 4px;
        font-size: 14px;
        font-size: 1.4rem; } }
  .wp-pagenavi .current {
    background: #FF6347;
    color: #fff;
    width: 78px;
    border-radius: 50px; }
    @media only screen and (max-width: 767px) {
      .wp-pagenavi .current {
        width: 56px; } }
  .wp-pagenavi .previouspostslink, .wp-pagenavi .nextpostslink {
    border: none; }
    .wp-pagenavi .previouspostslink:after, .wp-pagenavi .nextpostslink:after {
      content: "";
      width: 36px;
      height: 35px;
      display: block;
      background: url(../images/common/circle_arrow_green.svg) center center/cover no-repeat; }
  .wp-pagenavi .previouspostslink:after {
    transform: scale(-1, 1); }

.c-head {
  display: flex; }
  .c-head .num {
    font-size: 110px;
    font-size: 11rem;
    letter-spacing: 0.06em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    display: inline-block;
    line-height: 0.78;
    margin-right: 45px; }
    @media only screen and (max-width: 767px) {
      .c-head .num {
        font-size: 80px;
        font-size: 8rem;
        margin-right: 10px; } }
  .c-head .text .title .en {
    font-size: 33px;
    font-size: 3.3rem;
    letter-spacing: 0.06em;
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    margin-right: 10px; }
    @media only screen and (max-width: 767px) {
      .c-head .text .title .en {
        font-size: 22px;
        font-size: 2.2rem; } }
  .c-head .text .title .jp {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    line-height: 1.42857143;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .c-head .text .title .jp {
        font-size: 11px;
        font-size: 1.1rem; } }
  .c-head .text p {
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 0.1em;
    line-height: 1.7;
    font-weight: 700;
    margin-top: 12px; }
    @media only screen and (max-width: 767px) {
      .c-head .text p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.08em;
        line-height: 1.57142857;
        font-weight: 500;
        margin-top: 8px; } }

/* Z-INDEX */
.formError {
  z-index: 990; }

.formError .formErrorContent {
  z-index: 991; }

.formError .formErrorArrow {
  z-index: 996; }

.ui-dialog .formError {
  z-index: 5000; }

.ui-dialog .formError .formErrorContent {
  z-index: 5001; }

.ui-dialog .formError .formErrorArrow {
  z-index: 5006; }

.inputContainer {
  position: relative;
  float: left; }

.formError {
  position: absolute;
  top: 300px;
  left: 300px;
  display: block;
  cursor: pointer;
  text-align: left; }

.formError.inline {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block; }

.ajaxSubmit {
  padding: 20px;
  background: #55ea55;
  border: 1px solid #999;
  display: none; }

.formError .formErrorContent {
  width: 100%;
  background: #ee0101;
  position: relative;
  color: #fff;
  min-width: 120px;
  font-size: 11px;
  border: 2px solid #ddd;
  box-shadow: 0 0 6px #000;
  -moz-box-shadow: 0 0 6px #000;
  -webkit-box-shadow: 0 0 6px #000;
  -o-box-shadow: 0 0 6px #000;
  padding: 4px 10px 4px 10px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  -o-border-radius: 6px; }

.formError.inline .formErrorContent {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  border: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -o-border-radius: 0; }

.greenPopup .formErrorContent {
  background: #33be40; }

.blackPopup .formErrorContent {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow {
  width: 15px;
  margin: -2px 0 0 13px;
  position: relative; }

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
  margin: -2px 13px 0 0; }

.formError .formErrorArrowBottom {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none;
  margin: 0px 0 0 12px;
  top: 2px; }

.formError .formErrorArrow div {
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  box-shadow: 0 2px 3px #444;
  -moz-box-shadow: 0 2px 3px #444;
  -webkit-box-shadow: 0 2px 3px #444;
  -o-box-shadow: 0 2px 3px #444;
  font-size: 0px;
  height: 1px;
  background: #ee0101;
  margin: 0 auto;
  line-height: 0;
  font-size: 0;
  display: block; }

.formError .formErrorArrowBottom div {
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  -o-box-shadow: none; }

.greenPopup .formErrorArrow div {
  background: #33be40; }

.blackPopup .formErrorArrow div {
  background: #393939;
  color: #FFF; }

.formError .formErrorArrow .line10 {
  width: 13px;
  border: none; }

.formError .formErrorArrow .line9 {
  width: 11px;
  border: none; }

.formError .formErrorArrow .line8 {
  width: 11px; }

.formError .formErrorArrow .line7 {
  width: 9px; }

.formError .formErrorArrow .line6 {
  width: 7px; }

.formError .formErrorArrow .line5 {
  width: 5px; }

.formError .formErrorArrow .line4 {
  width: 3px; }

.formError .formErrorArrow .line3 {
  width: 1px;
  border-left: 2px solid #ddd;
  border-right: 2px solid #ddd;
  border-bottom: 0 solid #ddd; }

.formError .formErrorArrow .line2 {
  width: 3px;
  border: none;
  background: #ddd; }

.formError .formErrorArrow .line1 {
  width: 1px;
  border: none;
  background: #ddd; }

body.about main {
  overflow: hidden; }

body.about .main-visual {
  width: 100%;
  height: 400px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    body.about .main-visual {
      height: 400px; } }
  body.about .main-visual__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.about .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.about .main-visual__movie {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.about .main-visual__movie video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center bottom; }
  body.about .main-visual .inner {
    height: 100%;
    position: relative;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center; }
  body.about .main-visual__text {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
    line-height: 1.65384615;
    font-weight: 700;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.about .main-visual__text {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.75; } }

body.about .read {
  padding: 72px 0 111px; }
  @media only screen and (max-width: 767px) {
    body.about .read {
      padding: 34px 0 52px;
      background: #fff; } }
  body.about .read__wrap {
    max-width: 1048px;
    margin-top: 72px;
    margin-left: auto; }
    @media only screen and (max-width: 767px) {
      body.about .read__wrap {
        margin-top: 28px; } }
    body.about .read__wrap .w935 {
      max-width: 935px;
      margin-top: 30px; }
      @media only screen and (max-width: 767px) {
        body.about .read__wrap .w935 {
          margin-top: 8px; } }
    body.about .read__wrap .image-text {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      @media only screen and (max-width: 767px) {
        body.about .read__wrap .image-text {
          flex-direction: column; } }
      body.about .read__wrap .image-text .w473 {
        width: 45.13358779%; }
        @media only screen and (max-width: 767px) {
          body.about .read__wrap .image-text .w473 {
            width: calc(100% - 38px);
            margin: 0 auto; } }
        body.about .read__wrap .image-text .w473 img {
          width: 90%;
          display: block;
          margin: 0 auto; }
      body.about .read__wrap .image-text .w458 {
        width: 45%;
        margin-top: 22px; }
        @media only screen and (max-width: 767px) {
          body.about .read__wrap .image-text .w458 {
            margin-top: 40px; } }
      body.about .read__wrap .image-text .w412 {
        width: 44.06417112%; }
      body.about .read__wrap .image-text .w437 {
        width: 46.73796791%;
        margin-top: 35px;
        overflow: hidden;
        border-radius: 10px; }
        @media only screen and (max-width: 767px) {
          body.about .read__wrap .image-text .w437 {
            width: 82.02898551%;
            margin-left: auto;
            margin-top: 0;
            margin-bottom: 24px; } }
      body.about .read__wrap .image-text .text {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 2.125;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          body.about .read__wrap .image-text .text {
            order: 2;
            width: 100%;
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.04em;
            line-height: 1.57142857;
            padding: 0 5px; } }
        body.about .read__wrap .image-text .text em {
          color: #FF6347; }
    body.about .read__wrap .catch {
      text-align: center;
      font-size: 28px;
      font-size: 2.8rem;
      letter-spacing: 0.1em;
      line-height: 1.78571429;
      font-weight: 700;
      color: #FF6347;
      display: block;
      margin-top: 44px; }
      @media only screen and (max-width: 767px) {
        body.about .read__wrap .catch {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.05em;
          line-height: 1.66666667;
          margin-top: 22px; } }

body.about .bg-area {
  height: 414px; }
  @media only screen and (max-width: 767px) {
    body.about .bg-area {
      position: relative;
      height: 468px; } }
  @media only screen and (max-width: 767px) {
    body.about .bg-area__bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }
  @media only screen and (max-width: 767px) {
    body.about .bg-area__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; } }
  @media only screen and (min-width: 768px) {
    body.about .bg-area {
      background: url(../images/about/bg2.jpg) center center/cover no-repeat;
      background-attachment: fixed; } }

body.about .corporate-identity {
  background: #FF6347;
  color: #fff;
  padding: 0px 0 100px; }
  @media only screen and (max-width: 767px) {
    body.about .corporate-identity {
      padding: 0px 0 30px; } }
  body.about .corporate-identity__head {
    background: #fff;
    padding: 84px 0 74px;
    margin-bottom: 56px; }
    @media only screen and (max-width: 767px) {
      body.about .corporate-identity__head {
        padding: 44px 15px 40px;
        margin-bottom: 40px; } }
  body.about .corporate-identity .c-page-title {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.about .corporate-identity .c-page-title {
        text-align: left; } }
  body.about .corporate-identity__box {
    margin-bottom: 120px; }
    @media only screen and (max-width: 767px) {
      body.about .corporate-identity__box {
        margin-bottom: 40px; } }
    body.about .corporate-identity__box:last-of-type {
      margin-bottom: 0; }
    body.about .corporate-identity__box .c-head.reverse {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      flex-direction: row-reverse; }
    body.about .corporate-identity__box dd {
      margin-top: 36px; }
      @media only screen and (max-width: 767px) {
        body.about .corporate-identity__box dd {
          margin-top: 24px; } }
      body.about .corporate-identity__box dd strong {
        font-size: 43px;
        font-size: 4.3rem;
        line-height: 1.62790698;
        font-weight: 700;
        letter-spacing: 0.1em; }
        @media only screen and (max-width: 767px) {
          body.about .corporate-identity__box dd strong {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.625;
            letter-spacing: 0.02em; } }
        body.about .corporate-identity__box dd strong.big {
          font-size: 50px;
          font-size: 5rem;
          letter-spacing: 0.14em;
          line-height: 1.76; }
          @media only screen and (max-width: 767px) {
            body.about .corporate-identity__box dd strong.big {
              font-size: 24px;
              font-size: 2.4rem;
              letter-spacing: 0.12em;
              line-height: 1.75; } }
        body.about .corporate-identity__box dd strong em {
          background: #fff;
          color: #FF6347;
          padding: 0 0 0 18px;
          margin-right: 10px; }
          @media only screen and (max-width: 767px) {
            body.about .corporate-identity__box dd strong em {
              padding-left: 4px;
              margin-right: 4px; } }
      body.about .corporate-identity__box dd p {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.15em;
        line-height: 1.66666667;
        font-weight: 500;
        margin-top: 16px; }
        @media only screen and (max-width: 767px) {
          body.about .corporate-identity__box dd p {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.08em;
            line-height: 1.57142857;
            margin-top: 8px; } }

body.about .value {
  padding: 96px 0 102px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    body.about .value {
      padding: 40px 0 64px;
      background: #fff; } }
  body.about .value .c-head {
    margin-bottom: 43px; }
    @media only screen and (max-width: 767px) {
      body.about .value .c-head {
        margin-bottom: 25px; } }
    body.about .value .c-head .num {
      color: #FF6347; }
    body.about .value .c-head .text .title {
      color: #FF6347; }
  body.about .value__list {
    border-right: none;
    padding: 67px 0px 62px 76px;
    max-width: 967px;
    margin-left: auto;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.about .value__list {
        padding: 28px 0px 40px 19px; } }
    body.about .value__list:before {
      content: "";
      width: calc(100% + (50vw - 550px));
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border: 3px solid #2AB5B0;
      border-radius: 10px 0 0 10px; }
      @media only screen and (max-width: 1200px) {
        body.about .value__list:before {
          width: calc(100% + 50px); } }
      @media only screen and (max-width: 767px) {
        body.about .value__list:before {
          width: calc(100% + 15px); } }
    body.about .value__list dl {
      margin-bottom: 27px; }
      @media only screen and (max-width: 767px) {
        body.about .value__list dl {
          margin-bottom: 20px; } }
      body.about .value__list dl:nth-of-type(even) {
        margin-left: 190px; }
        @media only screen and (max-width: 767px) {
          body.about .value__list dl:nth-of-type(even) {
            margin-left: 40px; } }
      body.about .value__list dl:last-of-type {
        margin-bottom: 0; }
      body.about .value__list dl dt {
        position: relative;
        padding-top: 16px;
        padding-left: 43px; }
        @media only screen and (max-width: 767px) {
          body.about .value__list dl dt {
            padding-left: 28px; } }
        body.about .value__list dl dt small {
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.03em;
          line-height: 1.7;
          font-weight: 700;
          color: #2AB5B0;
          display: inline-block;
          margin-right: 19px;
          position: absolute;
          top: 0;
          left: 0; }
          @media only screen and (max-width: 767px) {
            body.about .value__list dl dt small {
              font-size: 12px;
              font-size: 1.2rem; } }
          body.about .value__list dl dt small:after {
            content: "";
            width: 2px;
            height: 26px;
            display: inline-block;
            background: #2AB5B0;
            transform: rotate(30deg);
            position: relative;
            top: 18px;
            right: -2px; }
            @media only screen and (max-width: 767px) {
              body.about .value__list dl dt small:after {
                height: 16px;
                top: 9px;
                right: -3px; } }
        body.about .value__list dl dt strong {
          font-size: 48px;
          font-size: 4.8rem;
          letter-spacing: 0.1em;
          line-height: 1.29166667;
          font-weight: 700;
          color: #FF6347; }
          @media only screen and (max-width: 767px) {
            body.about .value__list dl dt strong {
              font-size: 24px;
              font-size: 2.4rem; } }
      body.about .value__list dl dd {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.08em;
        line-height: 1.66666667;
        font-weight: 500;
        padding-left: 43px;
        margin-top: 2px; }
        @media only screen and (max-width: 767px) {
          body.about .value__list dl dd {
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 1.57142857;
            padding-left: 28px;
            margin-top: 4px; } }

body.about .spirit {
  background: #FF6347;
  color: #fff;
  padding: 152px 0 50px; }
  @media only screen and (max-width: 767px) {
    body.about .spirit {
      padding: 66px 0 50px; } }
  body.about .spirit .cont-catch {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    @media only screen and (max-width: 767px) {
      body.about .spirit .cont-catch {
        flex-direction: column; } }
    body.about .spirit .cont-catch figure {
      width: 52.18181818%;
      position: relative;
      z-index: +1; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .cont-catch figure {
          width: 81.44927536%;
          order: 2; } }
      body.about .spirit .cont-catch figure img {
        border-radius: 10px; }
      body.about .spirit .cont-catch figure .ml54 {
        margin-left: -54px; }
        @media only screen and (max-width: 767px) {
          body.about .spirit .cont-catch figure .ml54 {
            margin-left: auto; } }
      body.about .spirit .cont-catch figure .ml133 {
        margin-left: 133px; }
        @media only screen and (max-width: 767px) {
          body.about .spirit .cont-catch figure .ml133 {
            margin-left: 0; } }
      body.about .spirit .cont-catch figure figcaption {
        max-width: 407px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        line-height: 2.125;
        font-weight: 700;
        margin-top: 28px; }
        @media only screen and (max-width: 767px) {
          body.about .spirit .cont-catch figure figcaption {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.08em;
            line-height: 1.57142857;
            margin-top: 32px; } }
      body.about .spirit .cont-catch figure .right {
        margin-left: auto; }
    body.about .spirit .cont-catch .mt130 {
      margin-top: 130px; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .cont-catch .mt130 {
          margin-top: 0; } }
    body.about .spirit .cont-catch .mt85 {
      margin-top: 85px; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .cont-catch .mt85 {
          margin-top: 0; } }
    body.about .spirit .cont-catch .mt75 {
      margin-top: 75px; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .cont-catch .mt75 {
          margin-top: 0; } }
    body.about .spirit .cont-catch .mt45 {
      margin-top: 45px; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .cont-catch .mt45 {
          margin-top: 0; } }
    body.about .spirit .cont-catch .catch {
      width: 36.54545455%;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      display: flex;
      align-items: center;
      position: relative; }
      body.about .spirit .cont-catch .catch__bg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      body.about .spirit .cont-catch .catch__text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
        color: #FF6347; }
        body.about .spirit .cont-catch .catch__text small {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.06em;
          font-weight: 700;
          font-family: "Montserrat", sans-serif;
          display: inline-block;
          margin-top: 8px; }
          @media only screen and (max-width: 767px) {
            body.about .spirit .cont-catch .catch__text small {
              font-size: 11px;
              font-size: 1.1rem; } }
        body.about .spirit .cont-catch .catch__text span {
          font-size: 58px;
          font-size: 5.8rem;
          letter-spacing: 0.1em;
          font-weight: 700;
          display: inline-block;
          margin: 0 16px 0 16px; }
          @media only screen and (max-width: 767px) {
            body.about .spirit .cont-catch .catch__text span {
              font-size: 36px;
              font-size: 3.6rem;
              margin: 0 8px 0 8px; } }
        body.about .spirit .cont-catch .catch__text strong {
          font-size: 74px;
          font-size: 7.4rem;
          letter-spacing: 0.1em;
          font-weight: 700;
          margin-top: 200px; }
          @media only screen and (max-width: 767px) {
            body.about .spirit .cont-catch .catch__text strong {
              font-size: 42px;
              font-size: 4.2rem;
              margin-top: 170px; } }
  body.about .spirit .no1 {
    margin-bottom: 180px; }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 {
        position: relative;
        margin-bottom: 76px;
        margin-top: 40px; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 figure {
        position: static !important; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 figure img {
        width: 209px;
        position: absolute;
        top: 67px;
        left: 0; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 figure figcaption {
        margin-top: 66px !important; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 .catch {
        margin-left: auto; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 .catch__bg {
        top: 38%; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no1 .catch strong {
        margin-top: 116px !important; } }
  body.about .spirit .no2 {
    margin-bottom: 160px; }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 {
        margin-bottom: 140px; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 figure {
        margin-left: auto; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 figure img {
        display: block;
        width: 92.36641221%;
        margin-left: auto; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 .catch {
        margin-left: 10px; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 .catch__bg {
        top: 60%;
        left: 17%; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no2 .catch strong {
        margin-top: 130px !important; } }
  body.about .spirit .no3 {
    margin-bottom: 210px; }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no3 {
        margin-bottom: 70px;
        position: relative; } }
    body.about .spirit .no3 figure {
      position: static !important; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .no3 figure img {
          width: 233px;
          position: absolute;
          top: 0;
          left: 0; } }
      @media only screen and (max-width: 767px) {
        body.about .spirit .no3 figure figcaption {
          margin-top: 38px !important; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no3 .catch {
        margin-left: auto; } }
    @media only screen and (max-width: 767px) {
      body.about .spirit .no3 .catch__bg {
        top: 50%;
        left: 110%; } }
  @media only screen and (max-width: 767px) {
    body.about .spirit .no4 .catch {
      margin-left: 30px; } }
  @media only screen and (min-width: 768px) {
    body.about .spirit .no4 .catch__bg {
      top: 38%;
      left: 30%; } }
  @media only screen and (max-width: 767px) {
    body.about .spirit .no4 .catch__bg {
      top: 54%;
      left: -40%; } }
  @media only screen and (max-width: 767px) {
    body.about .spirit .no4 .catch strong {
      margin-top: 100px; } }
  @media only screen and (max-width: 767px) {
    body.about .spirit .no4 figure {
      margin-left: auto; } }
  @media only screen and (max-width: 767px) {
    body.about .spirit .no4 figure img {
      width: 91.42857143%;
      margin-left: auto;
      display: block; } }
  @media only screen and (min-width: 768px) {
    body.about .spirit .no4 figure figcaption {
      margin-left: auto; } }
  body.about .spirit .bottom {
    max-width: 740px;
    margin: 0 auto;
    margin-top: 310px;
    position: relative;
    color: #FF6347; }
    @media only screen and (max-width: 767px) {
      body.about .spirit .bottom {
        margin-top: 120px; } }
    body.about .spirit .bottom__bg {
      width: 1145px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      @media only screen and (max-width: 767px) {
        body.about .spirit .bottom__bg {
          width: 855px; } }
    body.about .spirit .bottom p {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 2;
      font-weight: 700;
      margin-bottom: 28px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .bottom p {
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.75;
          margin-bottom: 20px; } }
    body.about .spirit .bottom strong {
      display: block;
      font-size: 74px;
      font-size: 7.4rem;
      letter-spacing: 0.1em;
      line-height: 1.12162162;
      font-weight: 700;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.about .spirit .bottom strong {
          font-size: 46px;
          font-size: 4.6rem;
          letter-spacing: 0.06em;
          line-height: 1.23913043;
          text-align: center; } }
      body.about .spirit .bottom strong em {
        border: 6px solid #FF6347;
        padding: 0 36px 10px;
        display: inline-block; }
        @media only screen and (max-width: 767px) {
          body.about .spirit .bottom strong em {
            border: 5px solid #FF6347;
            padding: 0 46px 5px;
            margin-top: 16px; } }

body.about .catch-area {
  height: 788px; }
  @media only screen and (max-width: 767px) {
    body.about .catch-area {
      position: relative;
      height: 468px;
      padding: 62px 9px 0; } }
  @media only screen and (max-width: 767px) {
    body.about .catch-area__bg {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      z-index: -1; } }
  @media only screen and (max-width: 767px) {
    body.about .catch-area__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; } }
  body.about .catch-area .inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      body.about .catch-area .inner {
        align-items: flex-start;
        justify-content: flex-start; } }
  body.about .catch-area strong {
    font-size: 80px;
    font-size: 8rem;
    letter-spacing: 0.14em;
    line-height: 1.0375;
    font-weight: 700;
    color: #fff; }
    @media only screen and (max-width: 767px) {
      body.about .catch-area strong {
        font-size: 44px;
        font-size: 4.4rem;
        line-height: 1.22727273; } }
  @media only screen and (min-width: 768px) {
    body.about .catch-area {
      background: url(../images/about/bg.jpg) center center/cover no-repeat;
      background-attachment: fixed; } }

body.about .color {
  padding: 100px 0 80px;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.about .color {
      padding: 23px 0 23px; } }
  body.about .color .inner {
    max-width: 1296px; }
  body.about .color__wrap {
    border: 3px solid #FF6347;
    border-radius: 10px;
    padding: 76px 58px 88px; }
    @media only screen and (max-width: 767px) {
      body.about .color__wrap {
        border: 2px solid #FF6347;
        padding: 25px 20px 50px; } }
  body.about .color .c-head {
    color: #FF6347;
    margin-bottom: 90px; }
    @media only screen and (max-width: 767px) {
      body.about .color .c-head {
        margin-bottom: 28px; } }
  body.about .color__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 36px; }
    @media only screen and (max-width: 767px) {
      body.about .color__list {
        display: block; } }
    body.about .color__list li {
      width: 47.81818182%;
      margin-bottom: 50px; }
      @media only screen and (max-width: 767px) {
        body.about .color__list li {
          width: 100%;
          margin-bottom: 40px; } }
      @media only screen and (max-width: 767px) {
        body.about .color__list li:last-of-type {
          margin-bottom: 0; } }
      body.about .color__list li h3 {
        margin-bottom: 12px;
        padding-bottom: 10px;
        border-bottom: 1px solid #FF6347; }
        body.about .color__list li h3.orange {
          border-color: #FF6347;
          color: #FF6347; }
        body.about .color__list li h3.green {
          border-color: #2AB5B0;
          color: #2AB5B0; }
        body.about .color__list li h3.brown {
          border-color: #927B68;
          color: #927B68; }
        body.about .color__list li h3 span {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.1em;
          line-height: 1.25;
          font-weight: 700; }
        body.about .color__list li h3 small {
          font-size: 10px;
          font-size: 1rem;
          letter-spacing: 0.15em;
          line-height: 1.2;
          font-weight: 700;
          font-family: "Lato", sans-serif;
          margin-left: 13px; }
      body.about .color__list li p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.06em;
        line-height: 1.71428571;
        font-weight: 500; }
  body.about .color .spirit-color {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      body.about .color .spirit-color {
        margin-top: 80px; } }
    body.about .color .spirit-color h4 {
      font-size: 24px;
      font-size: 2.4rem;
      letter-spacing: 0.12em;
      line-height: 1.33333333;
      font-weight: 700;
      color: #FF6347;
      margin-bottom: 12px; }
      @media only screen and (max-width: 767px) {
        body.about .color .spirit-color h4 {
          font-size: 20px;
          font-size: 2rem;
          margin-bottom: 6px; } }
    body.about .color .spirit-color > p {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.08em;
      line-height: 1.75;
      font-weight: 500; }
      @media only screen and (max-width: 767px) {
        body.about .color .spirit-color > p {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.57142857; } }
    body.about .color .spirit-color .image {
      margin-top: 40px; }
      @media only screen and (max-width: 767px) {
        body.about .color .spirit-color .image {
          margin-top: 20px; } }
    body.about .color .spirit-color__list {
      margin-top: 102px;
      display: flex;
      flex-wrap: wrap; }
      @media only screen and (max-width: 767px) {
        body.about .color .spirit-color__list {
          margin-top: 47px;
          display: block; } }
      body.about .color .spirit-color__list li {
        width: 28.36363636%;
        margin-right: 7.45454546%;
        margin-top: 80px; }
        @media only screen and (max-width: 767px) {
          body.about .color .spirit-color__list li {
            width: 100%;
            margin: 0 0 40px; } }
        @media only screen and (max-width: 767px) {
          body.about .color .spirit-color__list li:last-of-type {
            margin-bottom: 0; } }
        @media only screen and (min-width: 768px) {
          body.about .color .spirit-color__list li:nth-of-type(3n) {
            margin-right: 0; } }
        @media only screen and (min-width: 768px) {
          body.about .color .spirit-color__list li:nth-of-type(-n + 3) {
            margin-top: 0; } }
        body.about .color .spirit-color__list li .text {
          margin-top: 25px; }
          body.about .color .spirit-color__list li .text h5 {
            padding-bottom: 9px;
            border-bottom: 1px solid #FFD5E8; }
            body.about .color .spirit-color__list li .text h5.pink {
              border-color: #FFD5E8; }
            body.about .color .spirit-color__list li .text h5.yellow {
              border-color: #FFF586; }
            body.about .color .spirit-color__list li .text h5.gold {
              border-color: #ECCC79; }
            body.about .color .spirit-color__list li .text h5.coral {
              border-color: #FFAB8C; }
            body.about .color .spirit-color__list li .text h5.lt-blue {
              border-color: #A4E9F8; }
            body.about .color .spirit-color__list li .text h5 span {
              font-size: 16px;
              font-size: 1.6rem;
              letter-spacing: 0.1em;
              line-height: 1.25;
              font-weight: 700; }
              @media only screen and (max-width: 767px) {
                body.about .color .spirit-color__list li .text h5 span {
                  font-size: 15px;
                  font-size: 1.5rem; } }
            body.about .color .spirit-color__list li .text h5 small {
              font-size: 10px;
              font-size: 1rem;
              letter-spacing: 0.15em;
              line-height: 1.2;
              font-weight: 700;
              font-family: "Lato", sans-serif;
              margin-left: 8px; }
          body.about .color .spirit-color__list li .text p {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.06em;
            line-height: 1.71428571;
            font-weight: 500;
            margin-top: 6px; }

body.about .brand {
  padding: 80px 0 70px;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.about .brand {
      padding: 47px 0 14px; } }
  body.about .brand .c-head {
    color: #FF6347; }
  body.about .brand__list li {
    padding: 67px 0 60px;
    border-bottom: 2px solid #927B68;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.about .brand__list li {
        display: block;
        border: none;
        padding: 37px 0; } }
    body.about .brand__list li:last-of-type {
      border-bottom: none; }
    body.about .brand__list li .image {
      width: 49.27272727%;
      display: flex;
      align-items: center;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        body.about .brand__list li .image {
          width: 100%;
          margin-bottom: 30px; } }
      body.about .brand__list li .image .w374 {
        width: 69.00369004%; }
      body.about .brand__list li .image .w298 {
        width: 54.98154982%; }
      body.about .brand__list li .image .w281 {
        width: 51.845018%; }
    body.about .brand__list li .text {
      width: 48%; }
      @media only screen and (max-width: 767px) {
        body.about .brand__list li .text {
          width: 100%; } }
      body.about .brand__list li .text h3 {
        font-size: 23px;
        font-size: 2.3rem;
        letter-spacing: 0.1em;
        line-height: 1.5;
        font-weight: 700;
        color: #FF6347;
        margin-bottom: 22px; }
        @media only screen and (max-width: 767px) {
          body.about .brand__list li .text h3 {
            text-align: center;
            margin-bottom: 18px; } }
      body.about .brand__list li .text span {
        display: block;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        line-height: 1.5;
        font-weight: 500;
        margin-bottom: 22px; }
        @media only screen and (max-width: 767px) {
          body.about .brand__list li .text span {
            margin-bottom: 18px; } }
      body.about .brand__list li .text p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.08em;
        line-height: 1.57142857;
        font-weight: 500;
        margin-bottom: 24px; }
        @media only screen and (max-width: 767px) {
          body.about .brand__list li .text p {
            margin-bottom: 18px; } }
        body.about .brand__list li .text p:last-of-type {
          margin-bottom: 0; }
        body.about .brand__list li .text p em {
          color: #FF6347;
          font-weight: 700; }
      body.about .brand__list li .text small {
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.08em;
        line-height: 2.33333333;
        font-weight: 500; }

body.about .link {
  padding: 105px 0 95px;
  background: #EFEBE8; }
  @media only screen and (max-width: 767px) {
    body.about .link {
      padding: 60px 0 70px; } }
  body.about .link__list {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      body.about .link__list {
        display: block; } }
    body.about .link__list li {
      width: 32.27272727%;
      margin-right: 1.5909091%;
      margin-top: 55px; }
      @media only screen and (max-width: 767px) {
        body.about .link__list li {
          width: 100%;
          margin-top: 40px; } }
      @media only screen and (max-width: 767px) {
        body.about .link__list li:first-of-type {
          margin-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.about .link__list li:nth-of-type(3n) {
          margin-right: 0; } }
      @media only screen and (min-width: 768px) {
        body.about .link__list li:nth-of-type(-n + 3) {
          margin-top: 0; } }
      body.about .link__list li .image {
        overflow: hidden;
        border-radius: 10px; }
      body.about .link__list li .text {
        margin-top: 12px; }
        @media only screen and (max-width: 767px) {
          body.about .link__list li .text {
            margin-top: 11px; } }
        body.about .link__list li .text strong {
          display: block;
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.1em;
          line-height: 1.5;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.about .link__list li .text strong {
              font-size: 19px;
              font-size: 1.9rem; } }
        body.about .link__list li .text p {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.1em;
          line-height: 2;
          font-weight: 500;
          margin-top: 3px; }
          @media only screen and (max-width: 767px) {
            body.about .link__list li .text p {
              margin-top: 1px; } }

body.company .main-visual {
  width: 100%;
  height: 400px;
  position: relative;
  padding-top: 60px; }
  @media only screen and (max-width: 767px) {
    body.company .main-visual {
      padding-top: 52px; } }
  body.company .main-visual__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.company .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.company .main-visual__movie {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    body.company .main-visual__movie video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.company .main-visual .inner {
    height: 100%;
    position: relative;
    color: #fff; }
  body.company .main-visual__text {
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
    line-height: 1.65384615;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      body.company .main-visual__text {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.75;
        text-align: left; } }

body.company .info {
  padding: 72px 0 100px; }
  @media only screen and (max-width: 767px) {
    body.company .info {
      padding: 34px 0 42px; } }
  body.company .info .image-text {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; }
    @media only screen and (max-width: 767px) {
      body.company .info .image-text {
        display: block; } }
    body.company .info .image-text .text {
      width: 48.72727273%; }
      @media only screen and (max-width: 767px) {
        body.company .info .image-text .text {
          width: 100%;
          margin-bottom: 15px;
          margin-top: 34px; } }
      body.company .info .image-text .text h2 {
        font-size: 26px;
        font-size: 2.6rem;
        letter-spacing: 0.14em;
        line-height: 1.5;
        font-weight: 700;
        color: #FF6347;
        margin-bottom: 28px; }
        @media only screen and (max-width: 767px) {
          body.company .info .image-text .text h2 {
            font-size: 18px;
            font-size: 1.8rem;
            margin-bottom: 18px; } }
      body.company .info .image-text .text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.14em;
        line-height: 1.875;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.company .info .image-text .text p {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.08em;
            line-height: 1.57142857; } }
    body.company .info .image-text .image {
      width: 45.45454545%; }
      @media only screen and (max-width: 767px) {
        body.company .info .image-text .image {
          width: 100%; } }

body.company .cont {
  padding: 80px 0 184px;
  background: #FF6347; }
  @media only screen and (max-width: 767px) {
    body.company .cont {
      padding: 18px 0 100px; } }
  body.company .cont__wrap {
    display: flex; }
    @media only screen and (max-width: 767px) {
      body.company .cont__wrap {
        display: block; } }
    body.company .cont__wrap .sidebar {
      width: 186px; }
      @media only screen and (max-width: 767px) {
        body.company .cont__wrap .sidebar {
          width: 100%;
          margin-bottom: 30px; } }
      body.company .cont__wrap .sidebar nav {
        position: sticky;
        top: 130px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .sidebar nav {
            position: static; } }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .sidebar nav ul {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; } }
        body.company .cont__wrap .sidebar nav ul li {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.08em;
          line-height: 1.28571429;
          font-weight: 500;
          margin-bottom: 14px;
          color: #fff;
          padding-left: 16px;
          position: relative;
          transition: color .3s; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .sidebar nav ul li {
              font-size: 14px;
              font-size: 1.4rem;
              margin-bottom: 7px;
              width: calc((100% - 7px) / 2);
              height: 42px;
              display: flex;
              align-items: center;
              justify-content: center;
              border-radius: 4px;
              border: 1px solid #fff;
              padding: 0; } }
          @media only screen and (min-width: 768px) {
            body.company .cont__wrap .sidebar nav ul li.current {
              color: #000; }
              body.company .cont__wrap .sidebar nav ul li.current:before {
                background: #000; } }
          @media only screen and (min-width: 768px) {
            body.company .cont__wrap .sidebar nav ul li:before {
              content: "";
              width: 10px;
              height: 1px;
              display: block;
              background: #fff;
              position: absolute;
              top: 9px;
              left: 0;
              transition: backgroud-color .3s; } }
    body.company .cont__wrap .contents {
      width: calc(100% - 186px); }
      @media only screen and (max-width: 767px) {
        body.company .cont__wrap .contents {
          width: 100%; } }
      body.company .cont__wrap .contents .c-wrap {
        max-width: 720px;
        margin-left: auto; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .c-wrap {
            padding: 0 10px; } }
      body.company .cont__wrap .contents .box {
        background: #fff;
        border-radius: 10px;
        margin-bottom: 60px;
        padding: 64px 89px 82px 58px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .box {
            padding: 32px 10px 48px; } }
        body.company .cont__wrap .contents .box:last-of-type {
          margin-bottom: 0; }
        body.company .cont__wrap .contents .box h2 {
          font-size: 46px;
          font-size: 4.6rem;
          letter-spacing: 0.1em;
          line-height: 1.2826087;
          font-weight: 700;
          margin-bottom: 40px; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .contents .box h2 {
              font-size: 28px;
              font-size: 2.8rem;
              margin-bottom: 15px; } }
        body.company .cont__wrap .contents .box table {
          width: 100%;
          max-width: 597px;
          margin-left: auto; }
          body.company .cont__wrap .contents .box table.border-none tbody tr {
            border: none; }
            body.company .cont__wrap .contents .box table.border-none tbody tr th {
              padding: 16px 0; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .box table.border-none tbody tr th {
                  padding: 10px 0; } }
            body.company .cont__wrap .contents .box table.border-none tbody tr td {
              padding: 16px 0; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .box table.border-none tbody tr td {
                  padding: 10px 0; } }
          body.company .cont__wrap .contents .box table tbody tr {
            border-bottom: 1px solid #D9D9D9; }
            body.company .cont__wrap .contents .box table tbody tr th {
              width: 232px;
              vertical-align: top;
              font-size: 18px;
              font-size: 1.8rem;
              letter-spacing: 0.14em;
              line-height: 1.5;
              font-weight: 500;
              padding: 36px 0; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .box table tbody tr th {
                  width: 96px;
                  font-size: 13px;
                  font-size: 1.3rem;
                  padding: 27px 0; } }
            body.company .cont__wrap .contents .box table tbody tr td {
              width: calc(100% - 232px);
              font-size: 16px;
              font-size: 1.6rem;
              letter-spacing: 0.14em;
              line-height: 1.625;
              font-weight: 500;
              padding: 36px 0; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .box table tbody tr td {
                  width: calc(100% - 96px);
                  font-size: 13px;
                  font-size: 1.3rem;
                  line-height: 1.38461538;
                  padding: 27px 0; } }
              body.company .cont__wrap .contents .box table tbody tr td dl {
                display: flex;
                margin-bottom: 20px; }
                @media only screen and (max-width: 767px) {
                  body.company .cont__wrap .contents .box table tbody tr td dl {
                    margin-bottom: 24px; } }
                body.company .cont__wrap .contents .box table tbody tr td dl dt {
                  width: 136px; }
                  @media only screen and (max-width: 767px) {
                    body.company .cont__wrap .contents .box table tbody tr td dl dt {
                      width: 84px; } }
                body.company .cont__wrap .contents .box table tbody tr td dl dd {
                  width: calc(100% - 136px); }
                  @media only screen and (max-width: 767px) {
                    body.company .cont__wrap .contents .box table tbody tr td dl dd {
                      width: calc(100% - 84px); } }
              body.company .cont__wrap .contents .box table tbody tr td em {
                color: #FF6347; }
              body.company .cont__wrap .contents .box table tbody tr td iframe {
                width: 100%;
                height: auto;
                aspect-ratio: 368/300;
                margin-top: 36px; }
      body.company .cont__wrap .contents .message .col {
        display: flex;
        justify-content: space-between;
        margin-bottom: 80px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message .col {
            margin-bottom: 26px; } }
        body.company .cont__wrap .contents .message .col .text {
          -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
          display: flex;
          flex-direction: column;
          align-items: flex-start; }
          body.company .cont__wrap .contents .message .col .text span {
            font-size: 26px;
            font-size: 2.6rem;
            letter-spacing: 0.14em;
            font-weight: 700;
            color: #fff;
            display: inline-block;
            background: #2AB5B0;
            padding: 10px 12px;
            margin-right: 24px; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .message .col .text span {
                font-size: 16px;
                font-size: 1.6rem;
                padding: 15px 9px;
                margin-right: 16px; } }
            body.company .cont__wrap .contents .message .col .text span:nth-of-type(2) {
              margin-top: 80px; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .message .col .text span:nth-of-type(2) {
                  margin-top: 52px; } }
        body.company .cont__wrap .contents .message .col .image {
          width: 51.42045455%; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .contents .message .col .image {
              width: 67.41214058%; } }
      body.company .cont__wrap .contents .message__text h3 {
        font-size: 22px;
        font-size: 2.2rem;
        letter-spacing: 0.12em;
        line-height: 1.63636364;
        font-weight: 700;
        color: #FF6347;
        margin-bottom: 14px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message__text h3 {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 1.44444444;
            margin-bottom: 26px; } }
      body.company .cont__wrap .contents .message__text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 1.875;
        font-weight: 500;
        margin-bottom: 12px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message__text p {
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.08em;
            line-height: 1.57142857;
            margin-bottom: 16px; } }
      body.company .cont__wrap .contents .message__text strong {
        display: block;
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 0.1em;
        line-height: 1.6;
        font-weight: 700;
        color: #FF6347; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message__text strong {
            font-size: 18px;
            font-size: 1.8rem;
            letter-spacing: 0.12em;
            margin-bottom: 30px; } }
      body.company .cont__wrap .contents .message__text .logo {
        width: 342px;
        margin: 55px auto 60px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message__text .logo {
            width: 100%;
            margin: 30px auto 34px; } }
      body.company .cont__wrap .contents .message .name {
        text-align: right;
        margin-top: 65px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .message .name {
            margin-top: 24px; } }
        body.company .cont__wrap .contents .message .name small {
          display: block;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.14em;
          line-height: 1.875;
          font-weight: 500; }
        body.company .cont__wrap .contents .message .name span {
          display: block;
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.14em;
          line-height: 1.5;
          font-weight: 700; }
      body.company .cont__wrap .contents .sdgs__box dl {
        margin-bottom: 72px; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .sdgs__box dl {
            margin-bottom: 40px; } }
        body.company .cont__wrap .contents .sdgs__box dl dt {
          margin-bottom: 30px; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .contents .sdgs__box dl dt {
              margin-bottom: 25px;
              display: flex; } }
          body.company .cont__wrap .contents .sdgs__box dl dt span {
            font-size: 30px;
            font-size: 3rem;
            letter-spacing: 0.06em;
            font-weight: 700;
            font-family: "Montserrat", sans-serif;
            color: #2AB5B0;
            display: inline-block;
            margin-right: 10px;
            position: relative;
            top: 2px; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .sdgs__box dl dt span {
                font-size: 26px;
                font-size: 2.6rem;
                margin-right: 0px;
                width: 40px; } }
          body.company .cont__wrap .contents .sdgs__box dl dt h3 {
            font-size: 24px;
            font-size: 2.4rem;
            letter-spacing: 0.06em;
            line-height: 1.5;
            font-weight: 700;
            color: #FF6347;
            display: inline; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .sdgs__box dl dt h3 {
                font-size: 18px;
                font-size: 1.8rem;
                letter-spacing: 0.12em;
                line-height: 1.44444444;
                display: inline-block;
                width: calc(100% - 40px); } }
        body.company .cont__wrap .contents .sdgs__box dl dd .image-list {
          display: flex;
          margin-bottom: 27px; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .contents .sdgs__box dl dd .image-list {
              justify-content: space-between;
              margin-bottom: 18px; } }
          body.company .cont__wrap .contents .sdgs__box dl dd .image-list li {
            width: 122px;
            margin-right: 27px; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .sdgs__box dl dd .image-list li {
                width: 31.04575163%;
                margin-right: 0; } }
        body.company .cont__wrap .contents .sdgs__box dl dd .number-list {
          counter-reset: number 0; }
          body.company .cont__wrap .contents .sdgs__box dl dd .number-list li {
            margin-bottom: 30px;
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.625;
            letter-spacing: 0.04em;
            font-weight: 500;
            padding-left: 24px;
            position: relative; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .sdgs__box dl dd .number-list li {
                padding-left: 30px;
                font-size: 14px;
                font-size: 1.4rem;
                letter-spacing: 0.08em;
                line-height: 1.57142857;
                margin-bottom: 20px; } }
            body.company .cont__wrap .contents .sdgs__box dl dd .number-list li:before {
              counter-increment: number 1;
              content: counter(number);
              width: 21px;
              height: 21px;
              border-radius: 50%;
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 14px;
              font-size: 1.4rem;
              letter-spacing: 0.06em;
              font-weight: 700;
              font-family: "Montserrat", sans-serif;
              background: #2AB5B0;
              color: #fff;
              position: absolute;
              top: 3px;
              left: 0; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .sdgs__box dl dd .number-list li:before {
                  top: 1px; } }
            body.company .cont__wrap .contents .sdgs__box dl dd .number-list li:last-of-type {
              margin-bottom: 0; }
      body.company .cont__wrap .contents .sdgs__box figure {
        margin-top: 38px; }
        body.company .cont__wrap .contents .sdgs__box figure figcaption {
          margin-top: 28px; }
          body.company .cont__wrap .contents .sdgs__box figure figcaption h4 {
            font-size: 20px;
            font-size: 2rem;
            letter-spacing: 0.04em;
            line-height: 1.5;
            font-weight: 700;
            color: #2AB5B0;
            margin-bottom: 12px; }
          body.company .cont__wrap .contents .sdgs__box figure figcaption strong {
            display: block;
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0.04em;
            line-height: 1.625;
            font-weight: 700;
            margin-bottom: 9px; }
          body.company .cont__wrap .contents .sdgs__box figure figcaption p {
            font-size: 16px;
            font-size: 1.6rem;
            letter-spacing: 0.04em;
            line-height: 1.625;
            font-weight: 500; }
      body.company .cont__wrap .contents .iso__box dl {
        margin-bottom: 40px; }
        body.company .cont__wrap .contents .iso__box dl:last-of-type {
          margin-bottom: 0; }
        body.company .cont__wrap .contents .iso__box dl dt {
          padding: 16px 14px;
          background: #2AB5B0;
          color: #fff;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.1em;
          line-height: 1.4;
          font-weight: 700;
          margin-bottom: 20px; }
          @media only screen and (max-width: 767px) {
            body.company .cont__wrap .contents .iso__box dl dt {
              padding: 14px;
              margin-bottom: 14px; } }
        body.company .cont__wrap .contents .iso__box dl dd .image-text {
          display: flex;
          justify-content: space-between;
          flex-direction: column; }
          body.company .cont__wrap .contents .iso__box dl dd .image-text .text {
            width: 100%;
            font-size: 14px;
            font-size: 1.4rem;
            letter-spacing: 0.06em;
            line-height: 1.71428571;
            font-weight: 500; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .iso__box dl dd .image-text .text {
                width: 100%;
                font-size: 13px;
                font-size: 1.3rem;
                letter-spacing: 0.14em;
                line-height: 1.38461538;
                margin-bottom: 19px; } }
          body.company .cont__wrap .contents .iso__box dl dd .image-text .image {
            width: 100%;
            max-width: 574px;
            margin: 0 auto;
            margin-top: 34px; }
            @media only screen and (max-width: 767px) {
              body.company .cont__wrap .contents .iso__box dl dd .image-text .image {
                width: 100%;
                margin-top: 20px; } }
            body.company .cont__wrap .contents .iso__box dl dd .image-text .image figure figcaption {
              margin-top: 44px;
              font-size: 14px;
              font-size: 1.4rem;
              letter-spacing: 0.06em;
              line-height: 1.71428571;
              font-weight: 500; }
              @media only screen and (max-width: 767px) {
                body.company .cont__wrap .contents .iso__box dl dd .image-text .image figure figcaption {
                  width: 100%;
                  font-size: 13px;
                  font-size: 1.3rem;
                  letter-spacing: 0.14em;
                  line-height: 1.38461538;
                  margin-top: 20px; } }
      body.company .cont__wrap .contents .iso__box .bottom {
        margin-top: 68px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.03em;
        line-height: 1.625;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.company .cont__wrap .contents .iso__box .bottom {
            margin-top: 40px;
            font-size: 14px;
            font-size: 1.4rem; } }

body.contact .whole {
  background: rgba(146, 123, 104, 0.15);
  padding: 96px 0 109px; }
  @media only screen and (max-width: 767px) {
    body.contact .whole {
      padding: 33px 0 100px; } }
  body.contact .whole .c-page-title {
    text-align: center;
    margin-bottom: 86px; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .c-page-title {
        margin-bottom: 46px; } }
  body.contact .whole .inner {
    max-width: 880px; }
  body.contact .whole .thanks {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 2.25;
    font-weight: 500;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .thanks {
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.02em;
        line-height: 2.15384615; } }
    body.contact .whole .thanks .c-btn {
      margin: 60px auto 0; }
      @media only screen and (max-width: 767px) {
        body.contact .whole .thanks .c-btn {
          margin-top: 50px; } }
  body.contact .whole .formArea table {
    width: 100%; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea table {
        display: block;
        padding: 0 19px; } }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea table tbody {
        display: block; } }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea table tr {
        display: block;
        margin-bottom: 36px; } }
    body.contact .whole .formArea table tr th {
      width: 237px;
      padding: 32px 0 17px;
      padding-right: 42px;
      vertical-align: top;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.contact .whole .formArea table tr th {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          width: 100%;
          padding: 0;
          margin-bottom: 11px; } }
      body.contact .whole .formArea table tr th span {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        line-height: 1.25;
        display: inline-block; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr th span {
            font-size: 13px;
            font-size: 1.3rem; } }
      body.contact .whole .formArea table tr th small {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        line-height: 1.5;
        font-weight: 500;
        color: #FF6347;
        margin-top: 3px;
        width: 100%; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr th small {
            width: auto;
            margin-left: 5px; } }
      body.contact .whole .formArea table tr th em {
        display: inline-block;
        padding: 4px 10px 6px;
        background: #FF6347;
        color: #fff;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        margin-left: 12px; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr th em {
            font-size: 13px;
            font-size: 1.3rem;
            padding-bottom: 5px; } }
        @media only screen and (min-width: 768px) {
          body.contact .whole .formArea table tr th em.mod {
            position: relative;
            top: -10px; } }
    body.contact .whole .formArea table tr td {
      width: calc(100% - 237px);
      padding: 17px 0;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.contact .whole .formArea table tr td {
          display: block;
          width: 100%;
          padding: 0; } }
      body.contact .whole .formArea table tr td .select-box {
        position: relative;
        width: 251px;
        margin-bottom: 16px; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr td .select-box {
            width: 100%;
            margin-bottom: 12px; } }
        body.contact .whole .formArea table tr td .select-box select {
          width: 251px;
          height: 52px;
          border-radius: 5px;
          border: 1px solid #707070;
          background: #fff;
          padding: 10px 19px;
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.1em;
          line-height: 1.4;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.contact .whole .formArea table tr td .select-box select {
              width: 100%;
              height: 44px;
              font-size: 13px;
              font-size: 1.3rem; } }
        body.contact .whole .formArea table tr td .select-box svg {
          position: absolute;
          top: 50%;
          right: 16px;
          transform: translate(0%, -50%); }
      body.contact .whole .formArea table tr td small {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        font-weight: 500;
        line-height: 1.4;
        color: #FF6347;
        margin-top: 10px; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr td small {
            letter-spacing: 0.08em;
            line-height: 1.25;
            margin-top: 12px; } }
      body.contact .whole .formArea table tr td p {
        padding: 14px 19px 10px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        line-height: 1.4;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr td p {
            padding: 0;
            font-size: 13px;
            font-size: 1.3rem; } }
      body.contact .whole .formArea table tr td .radio-list {
        display: flex;
        margin-top: 14px; }
        body.contact .whole .formArea table tr td .radio-list li {
          position: relative;
          margin-right: 35px; }
          @media only screen and (max-width: 767px) {
            body.contact .whole .formArea table tr td .radio-list li {
              margin-right: 33px; } }
          body.contact .whole .formArea table tr td .radio-list li input {
            position: absolute;
            width: 1px;
            height: 1px;
            opacity: 0;
            top: 0;
            left: 0; }
            body.contact .whole .formArea table tr td .radio-list li input:checked + label > i:before {
              opacity: 1; }
          body.contact .whole .formArea table tr td .radio-list li label {
            display: flex;
            align-items: center; }
            body.contact .whole .formArea table tr td .radio-list li label i {
              width: 26px;
              height: 26px;
              border-radius: 50%;
              background: #fff;
              border: 1px solid #707070;
              margin-right: 7px;
              position: relative; }
              @media only screen and (max-width: 767px) {
                body.contact .whole .formArea table tr td .radio-list li label i {
                  width: 23px;
                  height: 23px;
                  margin-right: 6px; } }
              body.contact .whole .formArea table tr td .radio-list li label i:before {
                content: "";
                width: 16px;
                height: 16px;
                display: block;
                border-radius: 50%;
                background: #707070;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                opacity: 0; }
                @media only screen and (max-width: 767px) {
                  body.contact .whole .formArea table tr td .radio-list li label i:before {
                    width: 14px;
                    height: 14px; } }
            body.contact .whole .formArea table tr td .radio-list li label span {
              font-size: 16px;
              font-size: 1.6rem;
              letter-spacing: 0.1em;
              font-weight: 500; }
              @media only screen and (max-width: 767px) {
                body.contact .whole .formArea table tr td .radio-list li label span {
                  font-size: 13px;
                  font-size: 1.3rem; } }
      body.contact .whole .formArea table tr td input[type="text"] {
        width: 100%;
        height: 52px;
        background: #fff;
        border: 1px solid #707070;
        border-radius: 5px;
        padding: 10px 19px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        line-height: 1.4;
        font-weight: 500;
        margin-bottom: 16px; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr td input[type="text"] {
            height: 44px;
            font-size: 13px;
            font-size: 1.3rem;
            margin-bottom: 12px; } }
        body.contact .whole .formArea table tr td input[type="text"]:last-of-type {
          margin-bottom: 0; }
        body.contact .whole .formArea table tr td input[type="text"]::placeholder {
          color: #A09E9E; }
      body.contact .whole .formArea table tr td textarea {
        width: 100%;
        height: 200px;
        background: #fff;
        border: 1px solid #707070;
        border-radius: 5px;
        padding: 14px 19px;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.08em;
        line-height: 1.4;
        font-weight: 500;
        resize: none; }
        body.contact .whole .formArea table tr td textarea::placeholder {
          color: #A09E9E; }
        @media only screen and (max-width: 767px) {
          body.contact .whole .formArea table tr td textarea {
            height: 168px;
            font-size: 13px;
            font-size: 1.3rem; } }
  body.contact .whole .formArea .attention-list {
    margin: 40px 0 75px; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea .attention-list {
        margin: 0 0 50px;
        padding: 0 4px; } }
    body.contact .whole .formArea .attention-list li {
      padding-left: 16px;
      position: relative;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.02em;
      line-height: 1.5;
      font-weight: 500;
      margin-bottom: 6px; }
      @media only screen and (max-width: 767px) {
        body.contact .whole .formArea .attention-list li {
          margin-bottom: 10px;
          letter-spacing: 0; } }
      body.contact .whole .formArea .attention-list li:last-of-type {
        margin-bottom: 0; }
      body.contact .whole .formArea .attention-list li:before {
        content: "";
        width: 12px;
        height: 12px;
        display: block;
        background: #2AB5B0;
        border-radius: 50%;
        position: absolute;
        left: 0;
        top: 4px; }
  body.contact .whole .formArea .agree {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-weight: 500;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea .agree {
        font-size: 14px;
        font-size: 1.4rem; } }
    body.contact .whole .formArea .agree a {
      color: #2AB5B0;
      text-decoration: underline; }
  body.contact .whole .formArea .c-btn {
    margin: 36px auto 0; }
    @media only screen and (max-width: 767px) {
      body.contact .whole .formArea .c-btn {
        margin-top: 50px; } }

body.media .whole {
  background: rgba(146, 123, 104, 0.15);
  padding: 96px 0 191px; }
  @media only screen and (max-width: 767px) {
    body.media .whole {
      padding: 33px 0 80px; } }
  body.media .whole .c-page-title {
    text-align: center;
    margin-bottom: 115px; }
    @media only screen and (max-width: 767px) {
      body.media .whole .c-page-title {
        margin-bottom: 64px; } }
  body.media .whole .box {
    margin-bottom: 91px; }
    @media only screen and (max-width: 767px) {
      body.media .whole .box {
        margin-bottom: 80px; } }
    body.media .whole .box:last-child {
      margin-bottom: 0; }
    body.media .whole .box .c-title02 {
      display: flex;
      align-items: flex-end;
      padding-bottom: 1px;
      border-bottom: 2px solid #FF6347;
      margin-bottom: 31px; }
      @media only screen and (max-width: 767px) {
        body.media .whole .box .c-title02 {
          margin-bottom: 20px; } }
      @media only screen and (max-width: 767px) {
        body.media .whole .box .c-title02 .en {
          font-size: 22px;
          font-size: 2.2rem; } }
      body.media .whole .box .c-title02 .jp {
        margin-bottom: 10px;
        margin-left: 8px; }
        @media only screen and (max-width: 767px) {
          body.media .whole .box .c-title02 .jp {
            margin-left: 6px;
            margin-bottom: 6px; } }
  body.media .whole .gallery-list {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      body.media .whole .gallery-list {
        display: block;
        padding: 0 5px; } }
    body.media .whole .gallery-list.col2 li {
      width: 47.90909091%;
      margin-right: 4.18181818%; }
      @media only screen and (max-width: 767px) {
        body.media .whole .gallery-list.col2 li {
          width: 100%;
          margin: 0 0 36px; } }
      @media only screen and (max-width: 767px) {
        body.media .whole .gallery-list.col2 li:last-of-type {
          margin-bottom: 0; } }
      @media only screen and (min-width: 768px) {
        body.media .whole .gallery-list.col2 li:nth-of-type(2n) {
          margin-right: 0; } }
      body.media .whole .gallery-list.col2 li .image:after {
        width: 99px;
        height: 99px; }
        @media only screen and (max-width: 767px) {
          body.media .whole .gallery-list.col2 li .image:after {
            width: 63px;
            height: 63px; } }
    body.media .whole .gallery-list.col3 li {
      width: 31.90909091%;
      margin-right: 2.13636364%;
      margin-top: 42px; }
      @media only screen and (max-width: 767px) {
        body.media .whole .gallery-list.col3 li {
          width: 100%;
          margin: 0 0 36px; } }
      @media only screen and (max-width: 767px) {
        body.media .whole .gallery-list.col3 li:last-of-type {
          margin-bottom: 0; } }
      @media only screen and (min-width: 768px) {
        body.media .whole .gallery-list.col3 li:nth-of-type(-n + 3) {
          margin-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.media .whole .gallery-list.col3 li:nth-of-type(3n) {
          margin-right: 0; } }
      body.media .whole .gallery-list.col3 li .image:after {
        width: 72px;
        height: 72px; }
        @media only screen and (max-width: 767px) {
          body.media .whole .gallery-list.col3 li .image:after {
            width: 63px;
            height: 63px; } }
    body.media .whole .gallery-list li .image {
      position: relative; }
      body.media .whole .gallery-list li .image:after {
        content: "";
        display: block;
        background: url(../images/media/icon_play.svg) center center/cover no-repeat;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    body.media .whole .gallery-list li .text {
      margin-top: 16px;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.1em;
      line-height: 1.42857143;
      font-weight: 500; }
      @media only screen and (max-width: 767px) {
        body.media .whole .gallery-list li .text {
          margin-top: 10px; } }

body.news_detail .whole {
  background: rgba(146, 123, 104, 0.15);
  padding: 90px 0; }
  @media only screen and (max-width: 767px) {
    body.news_detail .whole {
      padding: 44px 0 114px; } }
  body.news_detail .whole .c-btn {
    margin: 77px auto 0; }
    @media only screen and (max-width: 767px) {
      body.news_detail .whole .c-btn {
        margin-top: 44px; } }

body.news_detail .cont {
  background: #fff;
  padding: 93px 40px;
  border-radius: 10px; }
  @media only screen and (max-width: 767px) {
    body.news_detail .cont {
      padding: 40px 19px; } }
  body.news_detail .cont .post {
    max-width: 740px;
    margin: 0 auto; }
  body.news_detail .cont .head {
    padding-bottom: 26px;
    border-bottom: 2px solid #2AB5B0;
    margin-bottom: 43px; }
    @media only screen and (max-width: 767px) {
      body.news_detail .cont .head {
        margin-bottom: 20px; } }
    body.news_detail .cont .head .date-cate {
      margin-bottom: 6px;
      color: #2AB5B0;
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      body.news_detail .cont .head .date-cate .date {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        line-height: 1.28571429;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          body.news_detail .cont .head .date-cate .date {
            font-size: 12px;
            font-size: 1.2rem; } }
      body.news_detail .cont .head .date-cate .cate {
        font-size: 11px;
        font-size: 1.1rem;
        letter-spacing: 0.04em;
        font-weight: 700;
        display: inline-block;
        padding: 3px 10px;
        border-radius: 11px;
        border: 1px solid #2AB5B0;
        margin-left: 14px; }
        @media only screen and (max-width: 767px) {
          body.news_detail .cont .head .date-cate .cate {
            font-size: 10px;
            font-size: 1rem;
            margin-left: 10px; } }
    body.news_detail .cont .head .title {
      font-size: 26px;
      font-size: 2.6rem;
      letter-spacing: 0.1em;
      line-height: 1.53846154;
      font-weight: 700; }
      @media only screen and (max-width: 767px) {
        body.news_detail .cont .head .title {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.18181818; } }
  body.news_detail .cont .thumbnail {
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 90px; }
    @media only screen and (max-width: 767px) {
      body.news_detail .cont .thumbnail {
        margin-bottom: 20px; } }
    body.news_detail .cont .thumbnail img {
      width: 100%; }
  body.news_detail .cont .text {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 2.125;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      body.news_detail .cont .text {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.85714286; } }

body.news .head {
  background: rgba(146, 123, 104, 0.15);
  padding: 43px 0; }
  @media only screen and (max-width: 767px) {
    body.news .head {
      padding: 45px 15px; } }

body.news .cont {
  padding: 79px 0 89px; }
  @media only screen and (max-width: 767px) {
    body.news .cont {
      padding: 33px 0 45px; } }

body.news .news-list {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    body.news .news-list {
      display: block; } }
  body.news .news-list li {
    width: 31.81818182%;
    margin-right: 2.27272727%;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      body.news .news-list li {
        width: 100%;
        margin: 0 0 40px; } }
    @media only screen and (max-width: 767px) {
      body.news .news-list li:last-of-type {
        margin-bottom: 0; } }
    @media only screen and (min-width: 768px) {
      body.news .news-list li:nth-of-type(-n + 3) {
        margin-top: 0; } }
    @media only screen and (min-width: 768px) {
      body.news .news-list li:nth-of-type(3n) {
        margin-right: 0; } }
    body.news .news-list li a:hover .image img {
      transform: scale(1.1); }
    body.news .news-list li .image {
      aspect-ratio: 350/238;
      overflow: hidden;
      border-radius: 10px; }
      body.news .news-list li .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        transition: transform .3s; }
    body.news .news-list li .text {
      margin-top: 10px; }
      body.news .news-list li .text .date-cate {
        margin-bottom: 6px;
        color: #2AB5B0;
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
        body.news .news-list li .text .date-cate .date {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.1em;
          line-height: 1.28571429;
          font-weight: 700; }
          @media only screen and (max-width: 767px) {
            body.news .news-list li .text .date-cate .date {
              font-size: 13px;
              font-size: 1.3rem; } }
        body.news .news-list li .text .date-cate .cate {
          font-size: 11px;
          font-size: 1.1rem;
          letter-spacing: 0.04em;
          font-weight: 700;
          display: inline-block;
          padding: 3px 10px;
          border-radius: 11px;
          border: 1px solid #2AB5B0;
          margin-left: 14px; }
      body.news .news-list li .text .title {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        line-height: 1.28571429;
        font-weight: 700; }

body.oem main {
  position: relative; }

body.oem .main-visual {
  position: relative;
  width: 100%;
  height: 671px;
  color: #fff;
  padding-top: 64px;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.oem .main-visual {
      padding-top: 0px;
      height: auto; } }
  body.oem .main-visual__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      body.oem .main-visual__image {
        height: 350px;
        position: static; } }
    body.oem .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.oem .main-visual .inner {
    height: 100%; }
    @media only screen and (max-width: 767px) {
      body.oem .main-visual .inner {
        padding: 0 20px; } }
  body.oem .main-visual__title {
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.oem .main-visual__title {
        position: absolute;
        top: 26px; } }
    body.oem .main-visual__title h1 .en {
      display: inline-block;
      font-size: 40px;
      font-size: 4rem;
      letter-spacing: 0.06em;
      font-weight: 700;
      line-height: 1.4;
      font-family: "Montserrat", sans-serif;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.oem .main-visual__title h1 .en {
          font-size: 28px;
          font-size: 2.8rem; } }
      body.oem .main-visual__title h1 .en:after {
        content: "";
        width: calc(100% + (50vw - 100%));
        height: 2px;
        position: absolute;
        right: 0;
        bottom: 0;
        display: block;
        background: #fff; }
        @media only screen and (max-width: 767px) {
          body.oem .main-visual__title h1 .en:after {
            width: calc(100% + 20px);
            bottom: -5px; } }
    body.oem .main-visual__title h1 .jp {
      display: block;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.2em;
      line-height: 1.28571429;
      font-weight: 500;
      margin-top: 15px; }
      @media only screen and (max-width: 767px) {
        body.oem .main-visual__title h1 .jp {
          font-size: 11px;
          font-size: 1.1rem;
          margin-top: 10px; } }
  body.oem .main-visual__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
    max-width: 691px; }
    @media only screen and (max-width: 767px) {
      body.oem .main-visual__text {
        position: static;
        transform: translate(0, 0);
        width: calc(100% + 40px);
        background: #FF6347;
        margin-left: -20px;
        margin-right: -20px;
        padding: 25px 20px 24px; } }
    body.oem .main-visual__text .title {
      margin-bottom: 38px;
      color: transparent;
      -webkit-font-feature-settings: initial;
      font-feature-settings: initial;
      background: -webkit-gradient(linear, left top, right top, color-stop(39.35%, #fff), color-stop(45.26%, #F4F1EF), color-stop(52.41%, #F4F1EF), color-stop(57.31%, rgba(255, 255, 255, 0)));
      background: linear-gradient(90deg, #fff 39.35%, #F4F1EF 45.26%, #F4F1EF 52.41%, rgba(255, 255, 255, 0) 57.31%);
      background-position: 100% 50%;
      background-size: 300% 100%;
      background-clip: text;
      -webkit-background-clip: text;
      transition: 2s; }
      @media only screen and (max-width: 767px) {
        body.oem .main-visual__text .title {
          margin-bottom: 16px; } }
      body.oem .main-visual__text .title.is-active {
        background-position: 0% 50%; }
      body.oem .main-visual__text .title .jp {
        display: block;
        font-size: 26px;
        font-size: 2.6rem;
        letter-spacing: 0.14em;
        line-height: 1.65384615;
        font-weight: 700;
        margin-bottom: 8px; }
        @media only screen and (max-width: 767px) {
          body.oem .main-visual__text .title .jp {
            font-size: 20px;
            font-size: 2rem;
            line-height: 1.65; } }
      body.oem .main-visual__text .title .en {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        line-height: 1.25;
        font-weight: 700;
        font-family: "Lato", sans-serif; }
        @media only screen and (max-width: 767px) {
          body.oem .main-visual__text .title .en {
            font-size: 11px;
            font-size: 1.1rem; } }
    body.oem .main-visual__text .description {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.06em;
      line-height: 2;
      font-weight: 500;
      transition: opacity .6s, transform .6s;
      transform: translate(0, 2.5rem);
      opacity: 0; }
      @media only screen and (max-width: 767px) {
        body.oem .main-visual__text .description {
          line-height: 1.57142857; } }
      body.oem .main-visual__text .description.is-active {
        opacity: 1;
        transform: translate(0, 0); }

body.oem .cont {
  background: #FF6347;
  padding: 95px 0 146px; }
  @media only screen and (max-width: 767px) {
    body.oem .cont {
      padding: 0 0 83px; } }
  body.oem .cont .image-text {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 110px; }
    @media only screen and (max-width: 767px) {
      body.oem .cont .image-text {
        flex-direction: column;
        margin-bottom: 36px; } }
    body.oem .cont .image-text .text {
      width: 53.81818182%;
      color: #fff; }
      @media only screen and (max-width: 767px) {
        body.oem .cont .image-text .text {
          width: 100%;
          order: 2;
          margin-top: 32px; } }
      body.oem .cont .image-text .text h2 {
        font-size: 36px;
        font-size: 3.6rem;
        letter-spacing: 0.06em;
        line-height: 1.38888889;
        font-weight: 700;
        margin-bottom: 54px; }
        @media only screen and (max-width: 767px) {
          body.oem .cont .image-text .text h2 {
            font-size: 24px;
            font-size: 2.4rem;
            line-height: 1.5;
            margin-bottom: 12px; } }
      body.oem .cont .image-text .text p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        line-height: 2.125;
        font-weight: 500; }
        @media only screen and (max-width: 767px) {
          body.oem .cont .image-text .text p {
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 1.57142857;
            letter-spacing: 0.08em; } }
    body.oem .cont .image-text .image {
      overflow: hidden;
      border-radius: 10px;
      width: 39.63636364%; }
      @media only screen and (max-width: 767px) {
        body.oem .cont .image-text .image {
          width: 100%; } }
  body.oem .cont .box {
    background: #fff;
    padding: 95px 100px 108px;
    border-radius: 10px; }
    @media only screen and (max-width: 767px) {
      body.oem .cont .box {
        padding: 30px 20px 48px; } }
    body.oem .cont .box h3 {
      font-size: 28px;
      font-size: 2.8rem;
      letter-spacing: 0.06em;
      line-height: 1.5;
      font-weight: 700;
      color: #FF6347;
      padding-bottom: 6px;
      border-bottom: 2px solid #2AB5B0;
      margin-bottom: 24px; }
      @media only screen and (max-width: 767px) {
        body.oem .cont .box h3 {
          font-size: 24px;
          font-size: 2.4rem;
          margin-bottom: 14px;
          white-space: nowrap; } }
    body.oem .cont .box p {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2;
      letter-spacing: 0.06em;
      font-weight: 500;
      margin-bottom: 80px; }
      @media only screen and (max-width: 767px) {
        body.oem .cont .box p {
          line-height: 1.57142857;
          letter-spacing: 0.08em;
          margin-bottom: 45px; } }
    body.oem .cont .box .c-title02 {
      margin-bottom: 30px; }
      @media only screen and (max-width: 767px) {
        body.oem .cont .box .c-title02 {
          margin-bottom: 28px; } }

body.privacy-policy .whole {
  padding: 106px 0 193px;
  background: rgba(146, 123, 104, 0.1); }
  @media only screen and (max-width: 767px) {
    body.privacy-policy .whole {
      padding: 33px 0 52px; } }
  body.privacy-policy .whole .inner {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.privacy-policy .whole .inner {
        display: block; } }
  body.privacy-policy .whole .left {
    width: 330px; }
    @media only screen and (max-width: 767px) {
      body.privacy-policy .whole .left {
        width: 100%; } }
  body.privacy-policy .whole .right {
    width: calc(100% - 330px); }
    @media only screen and (max-width: 767px) {
      body.privacy-policy .whole .right {
        width: 100%;
        margin-top: 30px; } }
    body.privacy-policy .whole .right .box {
      padding: 55px 68px;
      border-radius: 10px;
      background: #fff; }
      @media only screen and (max-width: 767px) {
        body.privacy-policy .whole .right .box {
          padding: 25px 19px; } }
      body.privacy-policy .whole .right .box dl {
        margin-bottom: 25px; }
        @media only screen and (max-width: 767px) {
          body.privacy-policy .whole .right .box dl {
            margin-bottom: 20px; } }
        body.privacy-policy .whole .right .box dl:last-of-type {
          margin-bottom: 0; }
        body.privacy-policy .whole .right .box dl dt {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.04em;
          line-height: 2.14285714;
          font-weight: 700;
          color: #FF6347; }
          @media only screen and (max-width: 767px) {
            body.privacy-policy .whole .right .box dl dt {
              font-size: 13px;
              font-size: 1.3rem;
              line-height: 2; } }
        body.privacy-policy .whole .right .box dl dd {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.04em;
          line-height: 2.14285714;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.privacy-policy .whole .right .box dl dd {
              font-size: 13px;
              font-size: 1.3rem;
              line-height: 2; } }

@media only screen and (max-width: 767px) {
  body.products_detail .fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; } }

body.products_detail .fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center; }

body.products_detail main {
  position: relative; }

body.products_detail .main-visual {
  position: relative;
  width: 100%;
  height: 671px;
  color: #fff;
  padding-top: 64px;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.products_detail .main-visual {
      padding-top: 0px;
      height: auto; } }
  body.products_detail .main-visual__image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    @media only screen and (max-width: 767px) {
      body.products_detail .main-visual__image {
        height: 350px;
        position: static; } }
    body.products_detail .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.products_detail .main-visual .inner {
    height: 100%; }
    @media only screen and (max-width: 767px) {
      body.products_detail .main-visual .inner {
        padding: 0 20px; } }
  body.products_detail .main-visual__title {
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.products_detail .main-visual__title {
        position: absolute;
        top: 26px; } }
    body.products_detail .main-visual__title h1 .en {
      display: inline-block;
      font-size: 40px;
      font-size: 4rem;
      letter-spacing: 0.06em;
      font-weight: 700;
      line-height: 1.4;
      font-family: "Montserrat", sans-serif;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.products_detail .main-visual__title h1 .en {
          font-size: 28px;
          font-size: 2.8rem; } }
      body.products_detail .main-visual__title h1 .en:after {
        content: "";
        width: calc(100% + (50vw - 100%));
        height: 2px;
        position: absolute;
        right: 0;
        bottom: 0;
        display: block;
        background: #fff; }
        @media only screen and (max-width: 767px) {
          body.products_detail .main-visual__title h1 .en:after {
            width: calc(100% + 20px);
            bottom: -5px; } }
    body.products_detail .main-visual__title h1 .jp {
      display: block;
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.2em;
      line-height: 1.28571429;
      font-weight: 500;
      margin-top: 15px; }
      @media only screen and (max-width: 767px) {
        body.products_detail .main-visual__title h1 .jp {
          font-size: 11px;
          font-size: 1.1rem;
          margin-top: 10px; } }
  body.products_detail .main-visual__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.products_detail .main-visual__text {
        position: static;
        transform: translate(0, 0);
        width: calc(100% + 40px);
        background: #FF6347;
        margin-left: -20px;
        margin-right: -20px;
        padding: 25px 20px 24px; } }
    body.products_detail .main-visual__text .title {
      margin-bottom: 38px;
      color: transparent;
      -webkit-font-feature-settings: initial;
      font-feature-settings: initial;
      background: -webkit-gradient(linear, left top, right top, color-stop(39.35%, #fff), color-stop(45.26%, #F4F1EF), color-stop(52.41%, #F4F1EF), color-stop(57.31%, rgba(255, 255, 255, 0)));
      background: linear-gradient(90deg, #fff 39.35%, #F4F1EF 45.26%, #F4F1EF 52.41%, rgba(255, 255, 255, 0) 57.31%);
      background-position: 100% 50%;
      background-size: 300% 100%;
      background-clip: text;
      -webkit-background-clip: text;
      transition: 2s; }
      @media only screen and (max-width: 767px) {
        body.products_detail .main-visual__text .title {
          margin-bottom: 16px; } }
      body.products_detail .main-visual__text .title.is-active {
        background-position: 0% 50%; }
      body.products_detail .main-visual__text .title .jp {
        display: block;
        font-size: 26px;
        font-size: 2.6rem;
        letter-spacing: 0.14em;
        line-height: 1.65384615;
        font-weight: 700;
        margin-bottom: 8px; }
        @media only screen and (max-width: 767px) {
          body.products_detail .main-visual__text .title .jp {
            font-size: 20px;
            font-size: 2rem;
            line-height: 1.65; } }
      body.products_detail .main-visual__text .title .en {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        line-height: 1.25;
        font-weight: 700;
        font-family: "Lato", sans-serif; }
        @media only screen and (max-width: 767px) {
          body.products_detail .main-visual__text .title .en {
            font-size: 11px;
            font-size: 1.1rem; } }
    body.products_detail .main-visual__text .description {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.06em;
      line-height: 2;
      font-weight: 500;
      transition: opacity .6s, transform .6s;
      transform: translate(0, 2.5rem);
      opacity: 0; }
      @media only screen and (max-width: 767px) {
        body.products_detail .main-visual__text .description {
          line-height: 1.57142857; } }
      body.products_detail .main-visual__text .description.is-active {
        opacity: 1;
        transform: translate(0, 0); }

body.products_detail .feature {
  padding: 111px 0 144px;
  background: #fff;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    body.products_detail .feature {
      padding: 50px 0 84px; } }
  body.products_detail .feature__box {
    padding: 114px 50px;
    min-height: 486px;
    position: relative;
    margin-bottom: 55px; }
    @media only screen and (max-width: 767px) {
      body.products_detail .feature__box {
        padding: 0;
        min-height: 0;
        margin-bottom: 48px; } }
    body.products_detail .feature__box:last-of-type {
      margin-bottom: 0; }
    body.products_detail .feature__box.left .text {
      margin-left: auto; }
      @media only screen and (max-width: 767px) {
        body.products_detail .feature__box.left .text {
          padding-left: 61px;
          margin-left: -46px; } }
    body.products_detail .feature__box.left .image {
      right: 0;
      border-radius: 10px 10px 10px 10px; }
      @media only screen and (max-width: 767px) {
        body.products_detail .feature__box.left .image {
          margin-left: -15px; } }
    body.products_detail .feature__box.right .text {
      margin-right: auto; }
      @media only screen and (max-width: 767px) {
        body.products_detail .feature__box.right .text {
          padding-right: 61px;
          margin-right: -46px;
          margin-left: auto; } }
    body.products_detail .feature__box.right .image {
      left: 0;
      border-radius: 10px 10px 10px 10px; }
    body.products_detail .feature__box .image {
      width: calc(100% + 133px);
      height: 100%;
      min-height: 486px;
      position: absolute;
      top: 0;
      overflow: hidden; }
      @media only screen and (max-width: 767px) {
        body.products_detail .feature__box .image {
          position: static;
          width: calc(100% + 15px);
          min-height: 0; } }
      body.products_detail .feature__box .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center; }
    body.products_detail .feature__box .text {
      padding: 34px;
      background: rgba(255, 255, 255, 0.7);
      border-radius: 10px;
      border: 1px solid #FF6347;
      max-width: 477px;
      position: relative;
      margin-top: auto;
      margin-bottom: auto; }
      @media only screen and (max-width: 767px) {
        body.products_detail .feature__box .text {
          margin-top: -14px;
          padding: 26px 23px;
          max-width: 372px;
          width: calc((100% + 30px) - 3px); } }
      body.products_detail .feature__box .text h2 {
        font-size: 22px;
        font-size: 2.2rem;
        letter-spacing: 0.14em;
        line-height: 1.36363636;
        font-weight: 700;
        color: #FF6347;
        margin-bottom: 12px; }
      body.products_detail .feature__box .text p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.06em;
        line-height: 1.71428571;
        font-weight: 500; }

body.products_detail .lineup__image {
  width: 100%;
  height: 520px; }
  @media only screen and (min-width: 768px) {
    body.products_detail .lineup__image {
      background: url(../images/products/an-products/bg.jpg) center center/cover no-repeat;
      background-attachment: fixed; } }
  @media only screen and (max-width: 767px) {
    body.products_detail .lineup__image {
      height: 300px; } }

body.products_detail .lineup__title {
  background: #FF6347;
  color: #fff;
  padding: 30px 0; }
  @media only screen and (max-width: 767px) {
    body.products_detail .lineup__title {
      padding: 18px 0 21px; } }
  body.products_detail .lineup__title h2 {
    text-align: center; }
    body.products_detail .lineup__title h2 .en {
      display: block;
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.2em;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      line-height: 1.4; }
      @media only screen and (max-width: 767px) {
        body.products_detail .lineup__title h2 .en {
          font-size: 22px;
          font-size: 2.2rem; } }
    body.products_detail .lineup__title h2 .jp {
      display: block;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.2em;
      font-weight: 500;
      line-height: 1.5; }
      @media only screen and (max-width: 767px) {
        body.products_detail .lineup__title h2 .jp {
          font-size: 11px;
          font-size: 1.1rem; } }

body.products_detail .lineup__cont {
  background: rgba(146, 123, 104, 0.15);
  padding: 100px 0 140px; }
  @media only screen and (max-width: 767px) {
    body.products_detail .lineup__cont {
      padding: 43px 0  109px; } }

body.products_detail .lineup__box {
  margin-top: 93px; }
  @media only screen and (max-width: 767px) {
    body.products_detail .lineup__box {
      margin-top: 74px; } }
  body.products_detail .lineup__box h3 {
    background: #2AB5B0;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1.5;
    padding: 16px 14px;
    margin-bottom: 60px; }
    @media only screen and (max-width: 767px) {
      body.products_detail .lineup__box h3 {
        padding: 14px;
        margin-bottom: 20px; } }

body.products_detail .products-list {
  display: flex;
  flex-wrap: wrap; }
  body.products_detail .products-list.main {
    margin-bottom: 151px; }
    @media only screen and (max-width: 767px) {
      body.products_detail .products-list.main {
        margin-bottom: 74px; } }
    body.products_detail .products-list.main li {
      width: 23.45454545%;
      margin-right: 2.06060607%;
      margin-top: 65px; }
      @media only screen and (max-width: 767px) {
        body.products_detail .products-list.main li {
          width: 48.4057971%;
          margin-right: 3.1884058%;
          margin-top: 26px; } }
      @media only screen and (max-width: 767px) {
        body.products_detail .products-list.main li:nth-of-type(2n) {
          margin-right: 0; } }
      @media only screen and (max-width: 767px) {
        body.products_detail .products-list.main li:nth-of-type(-n + 2) {
          margin-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.products_detail .products-list.main li:nth-of-type(4n) {
          margin-right: 0; } }
      @media only screen and (min-width: 768px) {
        body.products_detail .products-list.main li:nth-of-type(-n + 4) {
          margin-top: 0; } }
      body.products_detail .products-list.main li .text {
        margin-top: 19px; }
        @media only screen and (max-width: 767px) {
          body.products_detail .products-list.main li .text {
            margin-top: 8px; } }
  body.products_detail .products-list li {
    width: 23%;
    margin-right: 2.66666667%;
    margin-top: 46px; }
    @media only screen and (max-width: 767px) {
      body.products_detail .products-list li {
        width: 48.4057971%;
        margin-right: 3.1884058%;
        margin-top: 26px; } }
    @media only screen and (max-width: 767px) {
      body.products_detail .products-list li:nth-of-type(2n) {
        margin-right: 0; } }
    @media only screen and (max-width: 767px) {
      body.products_detail .products-list li:nth-of-type(-n + 2) {
        margin-top: 0; } }
    @media only screen and (min-width: 768px) {
      body.products_detail .products-list li:nth-of-type(4n) {
        margin-right: 0; } }
    @media only screen and (min-width: 768px) {
      body.products_detail .products-list li:nth-of-type(-n + 4) {
        margin-top: 0; } }
    body.products_detail .products-list li .text {
      margin-top: 25px; }
      @media only screen and (max-width: 767px) {
        body.products_detail .products-list li .text {
          margin-top: 4px; } }
      body.products_detail .products-list li .text strong {
        display: block;
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 0.1em;
        font-weight: 700;
        line-height: 1.5;
        color: #FF6347; }
        @media only screen and (max-width: 767px) {
          body.products_detail .products-list li .text strong {
            font-size: 13px;
            font-size: 1.3rem;
            line-height: 1.38461538; } }
      body.products_detail .products-list li .text p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.02em;
        line-height: 1.42857143;
        font-weight: 500;
        margin-top: 5px; }
        @media only screen and (max-width: 767px) {
          body.products_detail .products-list li .text p {
            font-size: 13px;
            font-size: 1.3rem;
            line-height: 1.38461538;
            margin-top: 4px; } }
      body.products_detail .products-list li .text small {
        display: block;
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.2em;
        font-weight: 500;
        line-height: 1.5; }
        @media only screen and (max-width: 767px) {
          body.products_detail .products-list li .text small {
            font-size: 11px;
            font-size: 1.1rem; } }
      body.products_detail .products-list li .text span {
        display: block;
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.2em;
        font-weight: 700;
        line-height: 1.5;
        margin-top: 5px; }
        @media only screen and (max-width: 767px) {
          body.products_detail .products-list li .text span {
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 1.28571429;
            margin-top: 2px; } }

body.products .main-visual {
  width: 100%;
  height: 400px;
  position: relative;
  background: #C1C1C1; }
  body.products .main-visual__image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
    body.products .main-visual__image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.products .main-visual__movie {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
    body.products .main-visual__movie video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.products .main-visual .inner {
    height: 100%;
    position: relative;
    padding-top: 38px; }
    @media only screen and (max-width: 767px) {
      body.products .main-visual .inner {
        padding-top: 30px; } }
  body.products .main-visual__text {
    color: #fff;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
    line-height: 1.65384615;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      body.products .main-visual__text {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.75; } }

body.products .cont {
  padding: 72px 0 157px; }
  @media only screen and (max-width: 767px) {
    body.products .cont {
      padding: 35px 0 70px; } }
  body.products .cont .c-title02 {
    margin-bottom: 91px; }
    @media only screen and (max-width: 767px) {
      body.products .cont .c-title02 {
        margin-bottom: 45px; } }
  body.products .cont .products-list {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (max-width: 767px) {
      body.products .cont .products-list {
        display: block; } }
    body.products .cont .products-list li {
      width: 48.72727273%;
      margin-right: 2.54545454%;
      margin-top: 82px; }
      @media only screen and (max-width: 767px) {
        body.products .cont .products-list li {
          width: 100%;
          margin: 0 0 40px; } }
      @media only screen and (max-width: 767px) {
        body.products .cont .products-list li:last-of-type {
          margin-bottom: 0; } }
      @media only screen and (min-width: 768px) {
        body.products .cont .products-list li:nth-of-type(-n + 2) {
          margin-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.products .cont .products-list li:nth-of-type(2n) {
          margin-right: 0; } }
      body.products .cont .products-list li a:hover .image img {
        transform: scale(1.1); }
      body.products .cont .products-list li .image {
        aspect-ratio: 536/295;
        overflow: hidden; }
        @media only screen and (max-width: 767px) {
          body.products .cont .products-list li .image {
            aspect-ratio: 345/190; } }
        body.products .cont .products-list li .image img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center;
          transition: transform .3s; }
      body.products .cont .products-list li .text {
        margin-top: 19px; }
        @media only screen and (max-width: 767px) {
          body.products .cont .products-list li .text {
            margin-top: 10px; } }
        body.products .cont .products-list li .text strong {
          display: block;
          font-size: 20px;
          font-size: 2rem;
          letter-spacing: 0.1em;
          font-weight: 700;
          line-height: 1.4;
          color: #FF6347; }
        body.products .cont .products-list li .text p {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.06em;
          line-height: 1.71428571;
          font-weight: 700;
          margin-top: 10px; }
          @media only screen and (max-width: 767px) {
            body.products .cont .products-list li .text p {
              line-height: 1.28571429;
              margin-top: 5px; } }

body.products .all {
  background: #FF6347;
  color: #fff;
  padding: 74px 0 88px; }
  @media only screen and (max-width: 767px) {
    body.products .all {
      padding: 32px 0 58px; } }
  body.products .all__title {
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: 0.2em;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 45px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      body.products .all__title {
        margin-bottom: 36px; } }
  body.products .all .c-btn {
    margin: 118px auto 0; }
    @media only screen and (max-width: 767px) {
      body.products .all .c-btn {
        margin-top: 50px; } }
  body.products .all .all-products-list {
    display: flex;
    flex-wrap: wrap; }
    body.products .all .all-products-list li {
      width: 23%;
      margin-right: 2.66666667%;
      margin-top: 35px; }
      @media only screen and (max-width: 767px) {
        body.products .all .all-products-list li {
          width: 48.11594203%;
          margin-right: 3.76811594%; } }
      @media only screen and (max-width: 767px) {
        body.products .all .all-products-list li:nth-of-type(-n + 2) {
          margin-top: 0; } }
      @media only screen and (max-width: 767px) {
        body.products .all .all-products-list li:nth-of-type(2n) {
          margin-right: 0; } }
      @media only screen and (min-width: 768px) {
        body.products .all .all-products-list li:nth-of-type(-n + 4) {
          margin-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.products .all .all-products-list li:nth-of-type(4n) {
          margin-right: 0; } }
      body.products .all .all-products-list li .image {
        padding: 25px 21px;
        background: #fff; }
        @media only screen and (max-width: 767px) {
          body.products .all .all-products-list li .image {
            padding: 11px 8px; } }
      body.products .all .all-products-list li .text {
        margin-top: 7px; }
        @media only screen and (max-width: 767px) {
          body.products .all .all-products-list li .text {
            margin-top: 5px; } }
        body.products .all .all-products-list li .text small {
          display: block;
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.2em;
          line-height: 1.5; }
          @media only screen and (max-width: 767px) {
            body.products .all .all-products-list li .text small {
              font-size: 11px;
              font-size: 1.1rem; } }
        body.products .all .all-products-list li .text p {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.2em;
          line-height: 1.5;
          font-weight: 700;
          margin-top: 4px; }
          @media only screen and (max-width: 767px) {
            body.products .all .all-products-list li .text p {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.28571429; } }
  body.products .all .c-btn:after {
    width: 35px;
    height: 35px;
    background: url(../images/common/circle_plus.svg) center center/cover no-repeat; }

body.project .main-visual {
  width: 100%;
  height: 400px;
  position: relative;
  background: #C1C1C1; }
  body.project .main-visual__movie {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0; }
    body.project .main-visual__movie video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.project .main-visual .inner {
    height: 100%;
    position: relative;
    display: flex;
    align-items: flex-end; }
  body.project .main-visual__text {
    margin-bottom: 56px;
    color: #fff;
    font-size: 26px;
    font-size: 2.6rem;
    letter-spacing: 0.2em;
    line-height: 1.65384615;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      body.project .main-visual__text {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.75;
        margin-bottom: 36px; } }

body.project .read {
  padding: 72px 0 185px; }
  @media only screen and (max-width: 767px) {
    body.project .read {
      padding: 35px 0 48px; } }
  body.project .read .inner {
    max-width: 1322px; }
  body.project .read .c-title02 {
    max-width: 1100px;
    margin: 0 auto 54px; }
    @media only screen and (max-width: 767px) {
      body.project .read .c-title02 {
        margin-bottom: 29px; } }
  body.project .read__text {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center; }
    body.project .read__text strong {
      display: block;
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: 0.14em;
      line-height: 1.43333333;
      font-weight: 900;
      color: #FF6347;
      margin-bottom: 45px; }
      @media only screen and (max-width: 767px) {
        body.project .read__text strong {
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 1.66666667;
          margin-bottom: 40px; } }
    body.project .read__text p {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.12em;
      line-height: 2.22222222;
      font-weight: 700;
      margin-bottom: 36px; }
      @media only screen and (max-width: 767px) {
        body.project .read__text p {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.02em;
          line-height: 2;
          text-align: justify;
          padding: 0 5px;
          margin-bottom: 22px; } }
      body.project .read__text p em {
        color: #2AB5B0; }
    body.project .read__text small {
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.14em;
      line-height: 1.66666667;
      font-weight: 700; }
      @media only screen and (max-width: 767px) {
        body.project .read__text small {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.53846154; } }
      body.project .read__text small a {
        text-decoration: underline;
        color: #2AB5B0; }
  body.project .read .col3 {
    margin-top: 208px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    @media only screen and (max-width: 767px) {
      body.project .read .col3 {
        margin-top: 52px;
        flex-wrap: wrap; } }
    body.project .read .col3 a {
      display: block;
      width: 32.24222586%;
      overflow: hidden;
      border-radius: 10px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.project .read .col3 a {
          width: 48.11594203%;
          margin-bottom: 10px; } }
      body.project .read .col3 a:nth-of-type(2) {
        margin-top: -80px; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a:nth-of-type(2) {
            margin-top: 0; } }
      body.project .read .col3 a:hover .image img {
        transform: scale(1.1); }
      body.project .read .col3 a .image {
        overflow: hidden; }
        body.project .read .col3 a .image img {
          transition: transform .3s; }
      body.project .read .col3 a span {
        font-size: 34px;
        font-size: 3.4rem;
        letter-spacing: 0.2em;
        font-weight: 700;
        color: #fff;
        position: absolute;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a span {
            font-size: 16px;
            font-size: 1.6rem; } }
      body.project .read .col3 a .top {
        top: 31px; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a .top {
            top: 18px; } }
      body.project .read .col3 a .left {
        left: 25px; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a .left {
            left: 9px; } }
      body.project .read .col3 a .right {
        right: 25px; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a .right {
            right: 9px; } }
      body.project .read .col3 a .bottom {
        bottom: 16px; }
        @media only screen and (max-width: 767px) {
          body.project .read .col3 a .bottom {
            bottom: 8px; } }
      body.project .read .col3 a .shadow {
        filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.31)); }

body.project .box {
  overflow: hidden; }
  body.project .box:last-child .box__cont {
    padding-bottom: 0; }
    @media only screen and (max-width: 767px) {
      body.project .box:last-child .box__cont {
        padding-bottom: 98px; } }
  body.project .box__title {
    text-align: center;
    margin-bottom: 18px; }
    @media only screen and (max-width: 767px) {
      body.project .box__title {
        margin-bottom: 6px; } }
    body.project .box__title.left {
      text-align: left; }
    body.project .box__title .jp {
      display: block;
      font-size: 60px;
      font-size: 6rem;
      letter-spacing: 0.1em;
      font-weight: 700;
      line-height: 1.3;
      color: #FF6347; }
      @media only screen and (max-width: 767px) {
        body.project .box__title .jp {
          font-size: 24px;
          font-size: 2.4rem;
          line-height: 1.16666667; } }
    body.project .box__title .en {
      display: block;
      font-size: 24px;
      font-size: 2.4rem;
      letter-spacing: 0.04em;
      line-height: 1.3;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      margin-top: 8px; }
      @media only screen and (max-width: 767px) {
        body.project .box__title .en {
          font-size: 13px;
          font-size: 1.3rem;
          margin-top: 6px; } }
  body.project .box__bg {
    width: 100%;
    height: 414px; }
    @media only screen and (max-width: 767px) {
      body.project .box__bg {
        height: 222px; } }
    body.project .box__bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.project .box__cont {
    padding: 74px 0 160px; }
    @media only screen and (max-width: 767px) {
      body.project .box__cont {
        padding: 56px 0 70px; } }
    body.project .box__cont .image-text {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 100px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.project .box__cont .image-text {
          flex-direction: column;
          margin-bottom: 40px; } }
      body.project .box__cont .image-text:last-child {
        margin-bottom: 0; }
      body.project .box__cont .image-text .catch {
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        white-space: nowrap;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: absolute;
        left: 0;
        bottom: 254px;
        z-index: +2; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .catch {
            top: -140px;
            bottom: auto; } }
        body.project .box__cont .image-text .catch span {
          display: inline-block;
          font-size: 30px;
          font-size: 3rem;
          letter-spacing: 0.32em;
          font-weight: 500;
          background: #FF6347;
          color: #fff;
          padding: 20px 12px 12px;
          opacity: 0;
          visibility: hidden;
          will-change: clip-path; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .catch span {
              font-size: 19px;
              font-size: 1.9rem;
              padding: 14px 8px 8px; } }
          body.project .box__cont .image-text .catch span:nth-of-type(2) {
            margin-top: 155px;
            margin-right: 14px; }
            @media only screen and (max-width: 767px) {
              body.project .box__cont .image-text .catch span:nth-of-type(2) {
                margin-top: 100px;
                margin-right: 9px; } }
          body.project .box__cont .image-text .catch span.is-active {
            animation: down2show 1s ease backwards var(--animate-tag-bg-delay, 0s);
            opacity: 1;
            visibility: visible; }

@keyframes down2show {
  0% {
    clip-path: inset(0 0 100% 0);
    visibility: visible; }
  100% {
    clip-path: inset(0 0 0 0);
    visibility: visible; } }
      body.project .box__cont .image-text .image {
        overflow: hidden;
        width: 50%; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .image {
            order: 1;
            width: 100%;
            margin-bottom: 28px; } }
        body.project .box__cont .image-text .image img {
          border-radius: 10px;
          display: block; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .image img {
              width: 90.43478261%; } }
      body.project .box__cont .image-text .w454 img {
        width: 82.54545455%;
        margin-left: auto; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .w454 img {
            width: 68.98550725%; } }
      body.project .box__cont .image-text .w683 {
        width: calc(50% + 133px);
        margin-right: -133px; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .w683 {
            width: calc(86.95652174% + 15px);
            margin-left: auto;
            margin-right: -15px; } }
        body.project .box__cont .image-text .w683 img {
          border-radius: 10px 0 0 10px; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .w683 img {
              width: 100%; } }
      body.project .box__cont .image-text .w524 img {
        width: 95.27272727%;
        margin-left: auto; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .w524 img {
            width: 70.43478261%; } }
      body.project .box__cont .image-text .text {
        width: 44.54545455%; }
        @media only screen and (max-width: 767px) {
          body.project .box__cont .image-text .text {
            width: 100%;
            order: 2; } }
        body.project .box__cont .image-text .text h3 {
          font-size: 22px;
          font-size: 2.2rem;
          letter-spacing: 0.14em;
          line-height: 1.63636364;
          font-weight: 700;
          color: #FF6347;
          margin-bottom: 24px; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .text h3 {
              font-size: 18px;
              font-size: 1.8rem;
              line-height: 1.44444444;
              margin-bottom: 16px; } }
        body.project .box__cont .image-text .text p {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.08em;
          line-height: 2;
          font-weight: 500; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .text p {
              font-size: 14px;
              font-size: 1.4rem;
              line-height: 1.57142857; } }
          body.project .box__cont .image-text .text p em {
            color: #2AB5B0; }
        body.project .box__cont .image-text .text .c-btn {
          margin: 24px 0 0 auto; }
          @media only screen and (max-width: 767px) {
            body.project .box__cont .image-text .text .c-btn {
              margin: 35px auto 0; } }

body.top .main-visual {
  position: relative;
  overflow: hidden; }
  body.top .main-visual:before {
    content: "";
    width: 100%;
    height: 366px;
    display: block;
    background: #FF6347;
    position: absolute;
    left: 0;
    bottom: 0; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual:before {
        content: none; } }
  body.top .main-visual .inner {
    max-width: 1366px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual .inner {
        padding: 0; } }
  body.top .main-visual__movie {
    height: 669px; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__movie {
        height: 200px; } }
    body.top .main-visual__movie video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center center; }
  body.top .main-visual__image {
    height: 669px; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__image {
        height: 657px; } }
    body.top .main-visual__image .swiper-slide img {
      width: 100%;
      height: 669px;
      object-fit: cover;
      object-position: center center; }
      @media only screen and (max-width: 767px) {
        body.top .main-visual__image .swiper-slide img {
          height: 657px; } }
  body.top .main-visual__navigation {
    position: absolute;
    left: 133px;
    bottom: 24px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__navigation {
        left: auto;
        right: 15px; } }
    body.top .main-visual__navigation .swiper-pagination {
      position: static;
      font-size: 19px;
      font-size: 1.9rem;
      letter-spacing: 0.02em;
      font-family: "Montserrat", sans-serif;
      color: #fff;
      margin-right: 11px;
      width: auto;
      width: 80px;
      display: flex;
      justify-content: flex-end; }
      body.top .main-visual__navigation .swiper-pagination .swiper-pagination-current {
        color: #FF6347; }
      body.top .main-visual__navigation .swiper-pagination span {
        font-weight: 900;
        margin: 0 7px; }
    body.top .main-visual__navigation .progress {
      width: 147px;
      height: 1px;
      background: #fff;
      margin-right: 11px;
      position: relative; }
      body.top .main-visual__navigation .progress span {
        width: 0;
        height: 1px;
        display: block;
        background: #FF6347;
        position: absolute;
        top: 0;
        left: 0; }
    body.top .main-visual__navigation .player {
      width: 31px;
      height: 19px;
      border-radius: 3px;
      border: 1px solid #FF6347;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer; }
  body.top .main-visual__text {
    position: absolute;
    top: 178px;
    left: 133px;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__text {
        top: 168px;
        left: 15px; } }
    body.top .main-visual__text .en {
      display: block;
      font-size: 13px;
      font-size: 1.3rem;
      line-height: 1.23076923;
      letter-spacing: 0.15em;
      font-weight: 700;
      font-family: "Montserrat", sans-serif;
      color: #FF6347;
      margin-bottom: 6px; }
      @media only screen and (max-width: 767px) {
        body.top .main-visual__text .en {
          font-size: 14px;
          font-size: 1.4rem; } }
    body.top .main-visual__text .jp {
      display: block;
      font-size: 54px;
      font-size: 5.4rem;
      letter-spacing: 0.15em;
      line-height: 1.31481481;
      font-weight: 700;
      color: #fff;
      text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
      font-feature-settings: "palt"; }
      @media only screen and (max-width: 767px) {
        body.top .main-visual__text .jp {
          font-size: 39px;
          font-size: 3.9rem; } }
  body.top .main-visual__news {
    position: absolute;
    right: -2px;
    bottom: 53px;
    width: 383px;
    height: 107px;
    background: #fff;
    border-radius: 50px 0 0 50px;
    border: 2px solid #FF6347;
    padding: 20px 20px 20px 34px;
    display: flex;
    align-items: center;
    z-index: +2; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__news {
        padding: 20px 20px 20px 24px;
        position: relative;
        right: auto;
        bottom: auto;
        border-radius: 0;
        border-left: none;
        border-right: none;
        width: 100%; } }
    body.top .main-visual__news .text {
      width: 184px; }
      body.top .main-visual__news .text .date-cate {
        display: flex;
        align-items: center;
        margin-bottom: 8px; }
        body.top .main-visual__news .text .date-cate .date {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.02em;
          font-weight: 700;
          color: #CECECE; }
        body.top .main-visual__news .text .date-cate .cate {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: 0.1em;
          font-weight: 700;
          font-family: "Lato", sans-serif;
          color: #fff;
          background: #2AB5B0;
          border-radius: 7px;
          display: inline-block;
          padding: 3px 4px 2px;
          margin-left: 7px; }
      body.top .main-visual__news .text .title {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.02em;
        line-height: 1.42857143;
        font-weight: 700;
        max-width: 160px;
        text-decoration: underline;
        color: #FF6347;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 2; }
    body.top .main-visual__news .image {
      width: 94px;
      margin-right: 17px; }
  body.top .main-visual__scroll {
    position: fixed;
    top: 178px;
    left: 18px;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    font-weight: 700;
    color: #927B68;
    font-family: "Montserrat", sans-serif;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    display: flex;
    align-items: center;
    z-index: +3; }
    @media only screen and (max-width: 767px) {
      body.top .main-visual__scroll {
        position: absolute;
        top: auto;
        left: 15px;
        bottom: 128px;
        font-size: 11px;
        font-size: 1.1rem; } }
    body.top .main-visual__scroll span {
      display: block; }
    body.top .main-visual__scroll i {
      width: 1px;
      height: 59px;
      display: block;
      background: #707070;
      margin-top: 6px;
      animation: scrollAnimation 2s cubic-bezier(0.76, 0, 0.24, 1) infinite; }
      @media only screen and (max-width: 767px) {
        body.top .main-visual__scroll i {
          height: 44px;
          margin-top: 4px; } }

@keyframes scrollAnimation {
  0% {
    transform-origin: top;
    transform: scaleY(0);
    -webkit-transform-origin: top;
    -webkit-transform: scaleY(0); }
  50% {
    transform-origin: top;
    transform: scaleY(1);
    -webkit-transform-origin: top;
    -webkit-transform: scaleY(1); }
  51% {
    transform-origin: bottom;
    transform: scaleY(1);
    -webkit-transform-origin: bottom;
    -webkit-transform: scaleY(1); }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
    -webkit-transform-origin: bottom;
    -webkit-transform: scaleY(0); } }

body.top .corporate-message {
  padding: 114px 0 100px;
  background: #FF6347;
  color: #fff; }
  @media only screen and (max-width: 767px) {
    body.top .corporate-message {
      padding: 35px 0 43px;
      overflow: hidden; } }
  body.top .corporate-message .inner {
    max-width: 1366px; }
  body.top .corporate-message__wrap {
    max-width: 1183px;
    margin-left: auto;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message__wrap {
        flex-direction: column; } }
  body.top .corporate-message .c-title02 {
    margin-bottom: 35px; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message .c-title02 {
        margin-bottom: 15px; } }
  body.top .corporate-message h3 {
    font-size: 38px;
    font-size: 3.8rem;
    letter-spacing: 0.08em;
    line-height: 1.42105263;
    font-weight: 700;
    margin-bottom: 34px; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message h3 {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1.5;
        margin-bottom: 52px;
        white-space: nowrap;
        margin-top: -23px; } }
  body.top .corporate-message p {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    line-height: 1.875;
    font-weight: 700;
    padding-right: 70px;
    max-width: 691px;
    margin-bottom: 45px; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message p {
        padding: 0;
        margin-bottom: 0; } }
  body.top .corporate-message .text {
    width: 64%; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message .text {
        width: 100%; } }
  @media only screen and (max-width: 767px) {
    body.top .corporate-message .image {
      border-radius: 10px;
      overflow: hidden; } }
  @media only screen and (max-width: 767px) {
    body.top .corporate-message .image01 {
      width: 238px;
      margin-left: auto; } }
  @media only screen and (max-width: 767px) {
    body.top .corporate-message .image02 {
      width: 233px;
      margin-left: auto;
      margin-top: -12px; } }
  @media only screen and (max-width: 767px) {
    body.top .corporate-message .c-btn {
      margin: 41px auto 0; } }
  body.top .corporate-message .images {
    width: 34.82671175%;
    margin-top: 20px; }
    @media only screen and (max-width: 767px) {
      body.top .corporate-message .images {
        width: 100%; } }
    body.top .corporate-message .images .image {
      border-radius: 10px;
      overflow: hidden; }
    body.top .corporate-message .images .image02 {
      width: 86.40776699%;
      margin-top: 62px;
      margin-left: -55px; }

body.top .project {
  padding: 99px 0 155px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    body.top .project {
      padding: 39px 0 52px; } }
  body.top .project .inner {
    max-width: 1366px; }
  body.top .project__wrap {
    max-width: 1183px;
    margin-left: auto;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.top .project__wrap {
        display: block; } }
  body.top .project .left {
    width: 320px; }
    @media only screen and (max-width: 767px) {
      body.top .project .left {
        width: 100%; } }
    body.top .project .left .c-title02 {
      margin-bottom: 42px; }
      @media only screen and (max-width: 767px) {
        body.top .project .left .c-title02 {
          margin-bottom: 29px; } }
    @media only screen and (max-width: 767px) {
      body.top .project .left .c-btn {
        margin: 0 auto 33px; } }
  body.top .project .right {
    width: calc(100% - 320px);
    padding-left: 43px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.top .project .right {
        width: 100%;
        padding: 0; } }
    body.top .project .right:before {
      content: "";
      width: calc(100% + (50vw - 633px));
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border: 2px solid #2AB5B0;
      border-radius: 10px 0 0 10px; }
      @media only screen and (max-width: 1366px) {
        body.top .project .right:before {
          width: calc(100% + 50px); } }
      @media only screen and (max-width: 767px) {
        body.top .project .right:before {
          width: 100%;
          border-radius: 10px; } }
  @media only screen and (max-width: 767px) {
    body.top .project__list {
      padding: 19px; } }
  body.top .project__list > li {
    padding: 37px 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid #2AB5B0; }
    @media only screen and (max-width: 767px) {
      body.top .project__list > li {
        display: block;
        padding: 30px 0; } }
    @media only screen and (max-width: 767px) {
      body.top .project__list > li:first-of-type {
        padding-top: 0; } }
    body.top .project__list > li:last-of-type {
      border: none; }
    body.top .project__list > li .image {
      width: 35.90686275%;
      border-radius: 10px;
      overflow: hidden; }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .image {
          width: 100%;
          margin-bottom: 14px; } }
    body.top .project__list > li .text {
      width: 59.92647059%; }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text {
          width: 100%; } }
      body.top .project__list > li .text h3 {
        font-size: 32px;
        font-size: 3.2rem;
        letter-spacing: 0.08em;
        line-height: 1.28125;
        font-weight: 700;
        color: #FF6347;
        margin-bottom: 28px; }
        @media only screen and (max-width: 767px) {
          body.top .project__list > li .text h3 {
            font-size: 26px;
            font-size: 2.6rem;
            line-height: 1.26923077;
            margin-bottom: 14px; } }
      body.top .project__list > li .text p {
        font-size: 14px;
        font-size: 1.4rem;
        letter-spacing: 0.04em;
        line-height: 1.71428571;
        margin-bottom: 16px; }
        @media only screen and (max-width: 767px) {
          body.top .project__list > li .text p {
            margin-bottom: 7px; } }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text .c-link-list {
          justify-content: flex-end;
          flex-wrap: nowrap; } }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text .c-link-list li {
          margin-right: 27px;
          white-space: nowrap; } }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text .c-link-list li:last-of-type {
          margin-right: 0; } }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text .c-link-list li a {
          flex-wrap: wrap; } }
      @media only screen and (max-width: 767px) {
        body.top .project__list > li .text .c-link-list li small {
          width: 123px;
          margin-top: 5px;
          margin-left: -30px; } }

body.top .product .head {
  padding: 30px 0 26px;
  background: #FF6347; }
  @media only screen and (max-width: 767px) {
    body.top .product .head {
      padding: 25px 19px 22px; } }

body.top .product .cont {
  padding: 76px 0 106px; }
  @media only screen and (max-width: 767px) {
    body.top .product .cont {
      padding: 0 0 0; } }

body.top .product__list > li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 64px; }
  @media only screen and (max-width: 767px) {
    body.top .product__list > li {
      display: block;
      margin-bottom: 0; } }
  body.top .product__list > li:last-of-type {
    margin-bottom: 0; }
  body.top .product__list > li .image {
    width: 30.54545455%; }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .image {
        width: calc(100% + 30px);
        margin: 0 -15px; } }
  body.top .product__list > li .text {
    width: 64.90909091%; }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .text {
        width: 100%;
        padding: 14px 19px 60px; } }
    body.top .product__list > li .text .category {
      display: block;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.5;
      letter-spacing: 0.1em;
      font-weight: 700;
      color: #FF6347;
      margin-bottom: 19px; }
      @media only screen and (max-width: 767px) {
        body.top .product__list > li .text .category {
          margin-bottom: 10px; } }
    body.top .product__list > li .text h3 {
      font-size: 24px;
      font-size: 2.4rem;
      letter-spacing: 0.04em;
      line-height: 1.5;
      font-weight: 700;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        body.top .product__list > li .text h3 {
          font-size: 21px;
          font-size: 2.1rem;
          line-height: 1.52380952;
          margin-bottom: 14px; } }
    body.top .product__list > li .text p {
      font-size: 14px;
      font-size: 1.4rem;
      letter-spacing: 0.06em;
      line-height: 2;
      margin-bottom: 14px; }
      @media only screen and (max-width: 767px) {
        body.top .product__list > li .text p {
          line-height: 1.71428571;
          margin-bottom: 10px; } }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .text .c-link-list li {
        margin-right: 30px; } }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .text .c-link-list li:last-of-type {
        margin-right: 0; } }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .text .c-link-list li.mr12 {
        margin-right: 10px; } }
    @media only screen and (max-width: 767px) {
      body.top .product__list > li .text .c-link-list li a:before {
        top: 50%;
        transform: translate(0%, -50%); } }

body.top .news {
  padding: 58px 0 78px;
  background: rgba(146, 123, 104, 0.15); }
  @media only screen and (max-width: 767px) {
    body.top .news {
      padding: 14px 0 87px; } }
  body.top .news .inner {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.top .news .inner {
        display: block; } }
  @media only screen and (max-width: 767px) {
    body.top .news .c-btn {
      margin: 40px auto 0; } }
  body.top .news .left {
    width: 336px; }
    @media only screen and (max-width: 767px) {
      body.top .news .left {
        width: 100%; } }
    body.top .news .left .c-title02 {
      margin-bottom: 42px; }
  body.top .news .right {
    width: calc(100% - 336px); }
    @media only screen and (max-width: 767px) {
      body.top .news .right {
        width: 100%;
        margin-top: 38px; } }
