@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* 縦書き */
/* 内径 */
/* 文字 */
/* tc
---------------------------------------------------------------------------*/
.tc {
  position: relative;
  z-index: 10; }
  .tc-img img {
    width: 100%;
    height: 610px;
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center;"; }
    @media screen and (max-width: 1680px) {
      .tc-img img {
        height: 36.3095238095vw; } }
    @media screen and (max-width: 480px) {
      .tc-img img {
        height: 60vw; } }
  .tc-wrap {
    /* 1280 */
    width: 1080px;
    margin-left: auto;
    margin-right: auto;
    color: #585657;
    padding-top: 40px; }
    @media screen and (max-width: 1680px) {
      .tc-wrap {
        width: 64.2857142857vw; } }
    @media screen and (max-width: 480px) {
      .tc-wrap {
        width: 89.3333333333vw; } }
    @media screen and (max-width: 1680px) {
      .tc-wrap {
        padding-top: 2.380952381vw; } }
    @media screen and (max-width: 480px) {
      .tc-wrap {
        padding-top: 5.3333333333vw; } }
    .tc-wrap .pg-ttl {
      margin-bottom: 60px;
      text-align: center; }
      @media screen and (max-width: 1680px) {
        .tc-wrap .pg-ttl {
          margin-bottom: 3.5714285714vw; } }
      @media screen and (max-width: 480px) {
        .tc-wrap .pg-ttl {
          margin-bottom: 8vw; } }
  .tc-anchor {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 90px;
    margin-bottom: 190px; }
    @media screen and (max-width: 1680px) {
      .tc-anchor {
        padding-top: 5.3571428571vw;
        margin-bottom: 11.3095238095vw; } }
    @media screen and (max-width: 480px) {
      .tc-anchor {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-top: 12vw;
        margin-bottom: 25.3333333333vw; } }

.circle {
  width: 250px;
  color: #ffffff; }
  @media screen and (max-width: 1680px) {
    .circle {
      width: 14.880952381vw; } }
  @media screen and (max-width: 480px) {
    .circle {
      width: 44vw; } }
  .circle a, .circle div {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 250px;
    border-radius: 50%; }
    @media screen and (max-width: 1680px) {
      .circle a, .circle div {
        height: 14.880952381vw; } }
    @media screen and (max-width: 480px) {
      .circle a, .circle div {
        height: 44vw;
        margin-bottom: 2vw;
        margin-top: 2vw; } }
    .circle a::after, .circle div::after {
      position: absolute;
      content: "";
      width: 22px;
      height: 19px;
      left: 50%;
      transform: translateX(-50%);
      bottom: 23px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      background-image: url(../img/concept/anc-w@2x.png); }
      @media screen and (max-width: 1680px) {
        .circle a::after, .circle div::after {
          width: 1.3095238095vw;
          height: 1.130952381vw;
          bottom: 1.369047619vw; } }
      @media screen and (max-width: 480px) {
        .circle a::after, .circle div::after {
          width: 2.9333333333vw;
          height: 2.5333333333vw;
          bottom: 3.0666666667vw; } }
    .circle a p,
    .circle a span, .circle div p,
    .circle div span {
      display: block;
      width: 100%;
      white-space: nowrap;
      text-align: center;
      line-height: 1.2; }
      .circle a p.en,
      .circle a span.en, .circle div p.en,
      .circle div span.en {
        font-size: 22px;
        letter-spacing: .4em;
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-style: normal;
        margin-bottom: 0.2em; }
        @media screen and (max-width: 1680px) {
          .circle a p.en,
          .circle a span.en, .circle div p.en,
          .circle div span.en {
            font-size: 1.3095238095vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.en,
          .circle a span.en, .circle div p.en,
          .circle div span.en {
            font-size: 5.8666666667vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.en,
          .circle a span.en, .circle div p.en,
          .circle div span.en {
            font-size: 4.2666666667vw; } }
      .circle a p.num,
      .circle a span.num, .circle div p.num,
      .circle div span.num {
        font-size: 44px;
        letter-spacing: .1em;
        font-family: 'Roboto', sans-serif;
        font-weight: 300;
        font-style: normal;
        margin-bottom: 0.4em; }
        @media screen and (max-width: 1680px) {
          .circle a p.num,
          .circle a span.num, .circle div p.num,
          .circle div span.num {
            font-size: 2.619047619vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.num,
          .circle a span.num, .circle div p.num,
          .circle div span.num {
            font-size: 11.7333333333vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.num,
          .circle a span.num, .circle div p.num,
          .circle div span.num {
            font-size: 8vw; } }
      .circle a p.ja,
      .circle a span.ja, .circle div p.ja,
      .circle div span.ja {
        font-size: 22px;
        letter-spacing: .05em;
        padding-bottom: 0.5em; }
        @media screen and (max-width: 1680px) {
          .circle a p.ja,
          .circle a span.ja, .circle div p.ja,
          .circle div span.ja {
            font-size: 1.3095238095vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.ja,
          .circle a span.ja, .circle div p.ja,
          .circle div span.ja {
            font-size: 5.8666666667vw; } }
        @media screen and (max-width: 480px) {
          .circle a p.ja,
          .circle a span.ja, .circle div p.ja,
          .circle div span.ja {
            font-size: 5.3333333333vw; } }
  .circle.circle01 {
    color: #585657; }
    .circle.circle01 a, .circle.circle01 div {
      background-color: #d7d0ca; }
      .circle.circle01 a::after, .circle.circle01 div::after {
        background-image: url(../img/concept/anc-dex@2x.png); }
  .circle.circle02 a, .circle.circle02 div {
    background-color: #a9a19e; }
  .circle.circle03 a, .circle.circle03 div {
    background-color: #598c8d; }
  .circle.circle04 a, .circle.circle04 div {
    background-color: #585657; }

/* feature
---------------------------------------------------------------------------*/
.feature {
  margin-bottom: 192px;
  /*&.feature01 {
  	position: relative;
  	&::after {
  		@include deco-yel2blue;
  		top: 34px;
  		@include mq(xl) {
  			top: px2vw(34);
  		}
  	}
  }
  &.feature02 {
  	position: relative;
  	&::after {
  		@include deco-blue;
  		top: 627px;
  		@include mq(xl) {
  			top: px2vw(627);
  		}
  	}
  }
  &.feature03 {
  	position: relative;
  	&::after {
  		@include deco-yellow;
  		top: 601px;
  		@include mq(xl) {
  			top: px2vw(601);
  		}
  	}
  }
  &.feature04 {
  	position: relative;
  	&::after {
  		@include deco-blue;
  		top: 543px;
  		@include mq(xl) {
  			top: px2vw(543);
  		}
  	}
  }*/ }
  @media screen and (max-width: 1680px) {
    .feature {
      margin-bottom: 11.4285714286vw; } }
  @media screen and (max-width: 480px) {
    .feature {
      margin-bottom: 25.6vw; } }
  .feature .cmng {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-style: normal;
    text-align: center;
    color: #598c8d;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 20px;
    letter-spacing: .2em;
    margin-bottom: 2.6em; }
    @media screen and (max-width: 1680px) {
      .feature .cmng {
        font-size: 1.1904761905vw; } }
    @media screen and (max-width: 480px) {
      .feature .cmng {
        font-size: 5.3333333333vw; } }
    @media screen and (max-width: 480px) {
      .feature .cmng {
        margin-bottom: 1.2em; } }
  .feature-img {
    position: relative;
    /* 1280 */
    width: 1280px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 1680px) {
      .feature-img {
        width: 76.1904761905vw; } }
    @media screen and (max-width: 480px) {
      .feature-img {
        width: 89.3333333333vw; } }
    .feature-img img {
      border-radius: 20px; }
      @media screen and (max-width: 1680px) {
        .feature-img img {
          border-radius: 1.1904761905vw; } }
      @media screen and (max-width: 480px) {
        .feature-img img {
          height: 60vw;
          border-radius: 2.6666666667vw; } }
    .feature-img .circle {
      position: absolute;
      bottom: -74px;
      left: 30px; }
      @media screen and (max-width: 1680px) {
        .feature-img .circle {
          bottom: -4.4047619048vw;
          left: 1.7857142857vw; } }
      @media screen and (max-width: 480px) {
        .feature-img .circle {
          bottom: -12vw;
          left: 0;
          transform: scale(0.8); } }
      .feature-img .circle > div::after {
        display: none; }
      .feature-img .circle > div span.ja {
        padding-bottom: 0; }
  .feature-tx {
    /* 1280 */
    width: 1080px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
    color: #585657;
    padding-bottom: 60px; }
    @media screen and (max-width: 1680px) {
      .feature-tx {
        width: 64.2857142857vw; } }
    @media screen and (max-width: 480px) {
      .feature-tx {
        width: 89.3333333333vw; } }
    @media screen and (max-width: 1680px) {
      .feature-tx {
        padding-bottom: 3.5714285714vw; } }
    @media screen and (max-width: 480px) {
      .feature-tx {
        padding-bottom: 8vw; } }
    .feature-tx-hdl {
      text-align: center;
      padding-top: 40px;
      padding-bottom: 40px; }
      @media screen and (max-width: 1680px) {
        .feature-tx-hdl {
          padding-top: 2.380952381vw;
          padding-bottom: 2.380952381vw; } }
      @media screen and (max-width: 480px) {
        .feature-tx-hdl {
          padding-top: 5.3333333333vw;
          padding-bottom: 5.3333333333vw; } }
    .feature-tx-catch {
      text-align: center;
      padding-bottom: 60px; }
      @media screen and (max-width: 1680px) {
        .feature-tx-catch {
          padding-bottom: 3.5714285714vw; } }
      @media screen and (max-width: 480px) {
        .feature-tx-catch {
          padding-bottom: 8vw; } }
  .feature-sl {
    width: 1220px;
    margin: 0 auto; }
    @media screen and (max-width: 1680px) {
      .feature-sl {
        width: 72.619047619vw; } }
    @media screen and (max-width: 480px) {
      .feature-sl {
        width: 100vw; } }
    .feature-sl .swiper-slide {
      position: relative;
      padding: 0 110px 48px; }
      @media screen and (max-width: 1680px) {
        .feature-sl .swiper-slide {
          padding: 0 6.5476190476vw 2.8571428571vw; } }
      @media screen and (max-width: 480px) {
        .feature-sl .swiper-slide {
          padding: 0 5.3333333333vw 13.3333333333vw 5.3333333333vw; } }
      .feature-sl .swiper-slide img {
        border-radius: 20px; }
        @media screen and (max-width: 1680px) {
          .feature-sl .swiper-slide img {
            border-radius: 1.1904761905vw; } }
        @media screen and (max-width: 480px) {
          .feature-sl .swiper-slide img {
            width: 100%;
            height: 55vw;
            object-fit: cover;
            object-position: center;
            font-family: "object-fit: cover; object-position: center;";
            border-radius: 2.6666666667vw; } }
    .feature-sl-tx {
      position: absolute;
      top: 0;
      right: 3.5em;
      font-size: 18px;
      -webkit-writing-mode: vertical-rl;
      -moz-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      -o-writing-mode: vertical-rl;
      writing-mode: vertical-rl;
      color: #585657;
      letter-spacing: .05em; }
      @media screen and (max-width: 1680px) {
        .feature-sl-tx {
          font-size: 1.0714285714vw; } }
      @media screen and (max-width: 480px) {
        .feature-sl-tx {
          font-size: 4.8vw; } }
      @media screen and (max-width: 480px) {
        .feature-sl-tx {
          position: relative;
          right: auto;
          top: auto;
          line-height: 1.4;
          padding-top: 0.5em;
          -webkit-writing-mode: initial;
          -moz-writing-mode: initial;
          -ms-writing-mode: initial;
          -o-writing-mode: initial;
          writing-mode: initial; } }
    .feature-sl-ctrl {
      position: relative;
      width: 1060px;
      margin: 0 auto; }
      @media screen and (max-width: 1680px) {
        .feature-sl-ctrl {
          width: 63.0952380952vw; } }
      @media screen and (max-width: 480px) {
        .feature-sl-ctrl {
          width: 89.3333333333vw;
          margin: 0 auto; } }
      .feature-sl-ctrl > * {
        position: absolute;
        bottom: 0;
        width: 20px;
        z-index: 100;
        transition-property: all;
        transition-duration: 0.3s;
        transition-timing-function: ease; }
        @media screen and (max-width: 1680px) {
          .feature-sl-ctrl > * {
            width: 1.1904761905vw; } }
        @media screen and (max-width: 480px) {
          .feature-sl-ctrl > * {
            width: 5.3333333333vw; } }
        .feature-sl-ctrl > *:hover {
          opacity: .6;
          cursor: pointer; }
      .feature-sl-ctrl .swiper-button__wrap--prev {
        left: 0; }
      .feature-sl-ctrl .swiper-button__wrap--next {
        right: 0; }
    .feature-sl-btn {
      position: absolute;
      width: 124px;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      color: #585657; }
      .feature-sl-btn a {
        display: block;
        position: relative;
        padding-bottom: 0.2em; }
        .feature-sl-btn a::before {
          position: absolute;
          content: "";
          bottom: 0;
          left: 0;
          width: 40px;
          height: 1px;
          background-color: #585657;
          transition-property: all;
          transition-duration: 0.3s;
          transition-timing-function: ease; }
        .feature-sl-btn a span {
          display: block;
          width: 100%;
          white-space: nowrap;
          text-align: center;
          font-size: 18px;
          letter-spacing: .2em;
          font-family: 'Roboto', sans-serif;
          font-weight: 300;
          font-style: normal; }
          @media screen and (max-width: 1680px) {
            .feature-sl-btn a span {
              font-size: 1.0714285714vw; } }
          @media screen and (max-width: 480px) {
            .feature-sl-btn a span {
              font-size: 4.8vw; } }
        .feature-sl-btn a:hover {
          opacity: 1; }
          .feature-sl-btn a:hover::before {
            width: 100%; }
  .feature.feature04 {
    margin-bottom: 0; }

/* concept theme
---------------------------------------------------------------------------*/
.concept-theme {
  width: 580px;
  margin: 0 auto;
  padding-top: 64px; }
  @media screen and (max-width: 1680px) {
    .concept-theme {
      width: 34.5238095238vw;
      padding-top: 3.8095238095vw; } }
  @media screen and (max-width: 480px) {
    .concept-theme {
      width: 89.3333333333vw;
      padding-top: 8.5333333333vw; } }
