@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45); }

/* ==========================================================================
	animations
========================================================================== */
@-webkit-keyframes main {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1); }
  13% {
    opacity: 1; }
  34% {
    opacity: 1; }
  37% {
    opacity: 0; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
@keyframes main {
  0% {
    opacity: 0;
    -webkit-transform: scale(1);
            transform: scale(1); }
  13% {
    opacity: 1; }
  34% {
    opacity: 1; }
  37% {
    opacity: 0; }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
@media screen and (max-width: 800px) {
  @-webkit-keyframes scroll-ar {
    0% {
      opacity: 1;
      bottom: 6px; }
    20% {
      opacity: 1; }
    100% {
      opacity: 0;
      bottom: -10px; } }
  @keyframes scroll-ar {
    0% {
      opacity: 1;
      bottom: 6px; }
    20% {
      opacity: 1; }
    100% {
      opacity: 0;
      bottom: -10px; } } }
/* ==========================================================================
	fv
========================================================================== */
#fv {
  position: relative;
  z-index: 50;
  width: 100%;
  /*
  height: 100vh;
  min-height: 1150px;
  background:#fff;
  */ }
  #fv .tit_area {
    position: absolute;
    top: 300px;
    top: calc((300 / 1500)* 100vw);
    right: 6.666vw;
    width: 266px;
    /*
    height: 391px;
    */
    width: clamp(266px, 17.73vw, 320px);
    z-index: 20; }
    #fv .tit_area:before {
      content: "";
      display: block;
      padding-top: 146.9924%; }
    #fv .tit_area h2 {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0; }
    #fv .tit_area span {
      display: block;
      position: absolute;
      width: calc((176/532)*100%); }
      #fv .tit_area span:first-child {
        right: 0;
        top: 0;
        height: calc((534/782)*100%); }
      #fv .tit_area span:nth-child(2) {
        top: calc((73/782)*100%);
        left: 0;
        right: 0;
        margin: auto;
        height: calc((518/782)*100%); }
      #fv .tit_area span:nth-child(3) {
        right: auto;
        left: 0;
        bottom: 0;
        height: calc((638/782)*100%); }
  #fv .bg_area {
    position: relative;
    top: 0;
    width: 1114px;
    /*
    width: get_vw(1114);
    */
    width: clamp(900px, 74.266vw, 1600px);
    z-index: 5; }
    #fv .bg_area.-rt {
      top: 2.86vw;
      left: 100%;
      -webkit-transform: translateX(-99%);
              transform: translateX(-99%);
      aspect-ratio: 1 / 1.03334; }
      #fv .bg_area.-rt:before {
        content: "";
        display: block;
        position: absolute;
        width: calc((630/2156)*100%);
        height: calc((484/2236)*100%);
        top: calc((85/2236)*-100%);
        right: 0;
        background: url(../img/top/fv_top-bg.webp);
        background-size: cover;
        z-index: 1; }
      #fv .bg_area.-rt:after {
        content: "";
        display: block;
        position: absolute;
        width: calc((1964/2156)*100%);
        height: calc((1588/2236)*100%);
        bottom: calc((107/2236)*-100%);
        left: calc((75/2156)*-100%);
        background: url(../img/top/fv_btm-bg.webp);
        background-size: cover;
        z-index: 1; }
    #fv .bg_area.-lt {
      position: absolute;
      left: -1px;
      width: 584px;
      width: clamp(300px, 38.999vw, 750px);
      -webkit-mask-image: url(../img/common/fv-lt_mask.svg);
              mask-image: url(../img/common/fv-lt_mask.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      -webkit-transform: translateX(0);
              transform: translateX(0); }
      #fv .bg_area.-lt:before {
        content: "";
        display: block;
        padding-top: 80.82%; }
    #fv .bg_area .bg_wrap {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      -webkit-mask-image: url(../img/top/fv_mask.svg);
              mask-image: url(../img/top/fv_mask.svg);
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      -webkit-mask-size: contain;
              mask-size: contain;
      background: #fff;
      z-index: 10; }
    #fv .bg_area .images {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      background-position: center center;
      background-size: cover;
      overflow: hidden; }
      #fv .bg_area .images img {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        background-position: center center;
        background-size: cover;
        opacity: 0;
        --animation-duration: 21s;
        --animation-delay-base: calc(var(--animation-duration) / 3);
        -webkit-animation: main var(--animation-duration) linear 0s infinite;
        animation: main var(--animation-duration) linear 0s infinite; }
      #fv .bg_area .images:nth-child(2) img {
        -webkit-animation-delay: calc(var(--animation-delay-base));
                animation-delay: calc(var(--animation-delay-base)); }
      #fv .bg_area .images:nth-child(3) img {
        -webkit-animation-delay: calc(2 * var(--animation-delay-base));
                animation-delay: calc(2 * var(--animation-delay-base)); }
      /*
      #fv .bg_area .images:nth-child(4) img {
        -webkit-animation-delay: calc(3 * var(--animation-delay-base));
                animation-delay: calc(3 * var(--animation-delay-base)); }
      */
  #fv .bnr_area {
    position: absolute;
    top: 628px;
    left: 3.13vw;
    width: clamp(650px, 51.46vw, 1000px);
    aspect-ratio: 1 / 0.61917098;
    z-index: 30; }
    #fv .bnr_area a {
      display: block;
      position: relative;
      width: calc((440 / 772)* 100%);
      aspect-ratio: 880 / 822;
      border-radius: 10px;
      background: #fff;
      border: 1px solid #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflowh: hidden;
      -webkit-transition: opacity 0.5s var(--easeOutQuad), -webkit-transform 0.5s var(--easeOutQuad);
      transition: opacity 0.5s var(--easeOutQuad), -webkit-transform 0.5s var(--easeOutQuad);
      transition: opacity 0.5s var(--easeOutQuad), transform 0.5s var(--easeOutQuad);
      transition: opacity 0.5s var(--easeOutQuad), transform 0.5s var(--easeOutQuad), -webkit-transform 0.5s var(--easeOutQuad); }
      #fv .bnr_area a .img_area {
        position: absolute;
        right: 0;
        top: 0;
        width: calc((580/880)*100%);
        height: calc((560/820)*100%);
        border-radius: 0 10px 0 30px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        overflow: hidden;
        z-index: 1; }
        #fv .bnr_area a .img_area img {
          -webkit-transition: -webkit-transform 0.5s var(--easeOutQuad);
          transition: -webkit-transform 0.5s var(--easeOutQuad);
          transition: transform 0.5s var(--easeOutQuad);
          transition: transform 0.5s var(--easeOutQuad), -webkit-transform 0.5s var(--easeOutQuad); }
      #fv .bnr_area a .en_txt {
        position: relative;
        font-size: 0.93vw;
        font-size: clamp(13px, 0.73vw, 18px);
        font-size: clamp(15px, 1vw, 19px);
        line-height: calc(28/44);
        z-index: 10; }
        #fv .bnr_area a .en_txt span {
          position: relative;
          display: inline-block; }
          #fv .bnr_area a .en_txt span:after {
            content: "";
            display: block;
            position: absolute;
            width: 100%;
            height: 1px;
            top: calc(100% + 2px);
            background: #b1aea3; }
          #fv .bnr_area a .en_txt span:not(:first-child) {
            margin-left: 2em;
            margin-top: 15px; }
      #fv .bnr_area a .w-arrow {
        left: -70px;
        top: -10px; }
      @media (hover: hover) {
        #fv .bnr_area a:hover {
          -webkit-transform: scale(1.05);
                  transform: scale(1.05);
          /* トランスフォームもアニメーション */ }
          #fv .bnr_area a:hover .img_area img {
            -webkit-transform: scale(1.05);
                    transform: scale(1.05); } }
    #fv .bnr_area .link01 {
      padding-top: calc((342/820)*100%);
      padding-left: calc(calc((35/880)*100%) + 75px);
      -webkit-transform: rotate(-5deg);
              transform: rotate(-5deg);
      z-index: 5;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      @media (hover: hover) {
        #fv .bnr_area .link01:hover {
          z-index: 20;
          /* z-index は即時に変更 */ } }
      #fv .bnr_area .link01 .title_txt {
        position: absolute;
        width: calc((214/880)*100%);
        height: calc((408/820)*100%);
        left: calc((50/880)*100%);
        top: calc((120/820)*100%);
        z-index: 10; }
    #fv .bnr_area .link02 {
      position: absolute;
      right: 0;
      bottom: 0;
      padding-top: calc((342/820)*100%);
      padding-left: calc(calc((35/880)*100%) + 75px);
      -webkit-transform: rotate(5deg);
              transform: rotate(5deg);
      z-index: 10; }
      #fv .bnr_area .link02 .img_area {
        position: absolute;
        right: 0;
        top: 0;
        width: calc((614/880)*100%);
        height: calc((676/820)*100%);
        border-radius: 0 10px 0 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        overflow: hidden;
        z-index: 1; }
        #fv .bnr_area .link02 .img_area img {
          -webkit-transition: -webkit-transform 0.5s var(--easeOutQuad);
          transition: -webkit-transform 0.5s var(--easeOutQuad);
          transition: transform 0.5s var(--easeOutQuad);
          transition: transform 0.5s var(--easeOutQuad), -webkit-transform 0.5s var(--easeOutQuad); }
      #fv .bnr_area .link02 .title_txt {
        position: absolute;
        width: calc((520/880)*100%);
        height: calc((514/820)*100%);
        left: calc((69/880)*100%);
        top: calc((89/820)*100%);
        z-index: 10; }
      #fv .bnr_area .link02 .en_txt span {
        color: var(--theme-color); }
        #fv .bnr_area .link02 .en_txt span:after {
          background: var(--theme-color); }
    #fv .bnr_area.-ushizu .link02 .title_txt {
      width: calc((650/880)*100%);
      height: calc((468/820)*100%);
      left: calc((71/880)*100%);
      top: calc((103/820)*100%); }

@media screen and (max-width: 1280px) {
  #fv .tit_area {
    top: 260px; }
  #fv .bg_area.-rt {
    width: 943px; } }
@media screen and (max-width: 800px) {
  #fv .tit_area {
    top: calc(155px + 22.5vw);
    right: 5vw;
    width: clamp(125px, 31.25vw, 250px); }
  #fv .bg_area.-rt {
    top: 125px;
    width: 124.5%; }
  #fv .bg_area.-lt {
    width: 31.25vw;
    -webkit-mask-image: url(../img/common/fv-lt_mask_sp.svg);
            mask-image: url(../img/common/fv-lt_mask_sp.svg); }
    #fv .bg_area.-lt:before {
      padding-top: 101.84%; }
  #fv .scroll {
    display: block;
    width: 25px;
    height: 85px;
    position: absolute;
    right: 11.25vw;
    top: calc(155px + 86.25vw);
    z-index: 50; }
    #fv .scroll .icon {
      position: absolute;
      right: 3px;
      bottom: 6px;
      width: 9px;
      opacity: 1;
      animation: scroll-ar 2s infinite;
      -webkit-animation: scroll-ar 2s infinite; }
  #fv .bnr_area {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: clamp(95px, 10vw, 800px);
    aspect-ratio: auto; }
    #fv .bnr_area a {
      display: block;
      position: relative;
      width: 87.5%;
      aspect-ratio: auto;
      border-radius: 5px;
      border: none; }
      #fv .bnr_area a .img_area {
        width: calc((480/700)*100%);
        height: calc((280/400)*100%);
        border-radius: 0 5px 0 15px; }
      #fv .bnr_area a .en_txt {
        display: inline-block;
        font-size: 2.5vw;
        font-size: clamp(10px, 2.5vw, 16px);
        line-height: calc(20/24); }
        #fv .bnr_area a .en_txt span {
          display: inline-block; }
          #fv .bnr_area a .en_txt span:not(:first-child) {
            margin-left: 0;
            margin-top: 0; }
      #fv .bnr_area a .w-arrow {
        top: -15px;
        left: calc(100% + 25px); }
    #fv .bnr_area .link01 {
      padding-top: calc((163/400)*100%);
      padding-bottom: calc((27 / 400)* 100%);
      padding-left: calc((210/700)*100%);
      margin-top: -2rem; }
      #fv .bnr_area .link01 .title_txt {
        position: absolute;
        width: calc((151/700)*100%);
        height: calc((287/400)*100%);
        left: calc((33/700)*100%);
        top: calc((58/700)*100%); }
    #fv .bnr_area .link02 {
      position: relative;
      right: auto;
      bottom: auto;
      padding-top: calc((33 / 400)* 100%);
      padding-bottom: calc((27 / 400)* 100%);
      padding-left: calc((50 / 700)* 100%);
      margin-left: 12.5%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #fv .bnr_area .link02 .img_area {
        width: calc((372/700)*100%);
        height: calc((340/400)*100%);
        border-radius: 5px; }
      #fv .bnr_area .link02 .title_txt {
        position: relative;
        width: calc((296/700)*100%);
        height: calc((234/400)*100%);
        left: auto;
        top: auto; }
      #fv .bnr_area .link02 .en_txt {
        margin-top: 5.625vw; }
    #fv .bnr_area.-ushizu .link02 .title_txt {
      width: calc((358/700)*100%);
      height: calc((226/400)*100%);
      left: auto;
      top: auto; }
    #fv .bnr_area.-ushizu .link02 .img_area {
      width: calc((352/700)*100%);
      height: calc((400/400)*100%); } }
/* ==========================================================================
	intro
========================================================================== */
.intro {
  position: relative;
  padding-bottom: 12rem;
  background: #fff;
  z-index: 5; }
  .intro:after {
    content: "";
    display: block; }
  .intro:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(#ede7dc), color-stop(83%, white));
    background: linear-gradient(0deg, #ede7dc 0%, white 83%); }
  .intro .t-bg {
    z-index: 2; }
  .intro .main_area {
    position: relative;
    z-index: 10;
    padding-top: 17.66vw; }
  .intro .bg_area {
    position: absolute;
    z-index: 5; }
    .intro .bg_area .img {
      position: relative;
      width: 100%;
      height: 100%;
      z-index: 5; }
    .intro .bg_area.-l {
      top: 0;
      left: 0;
      width: clamp(360px, calc((519 / 1500)* 100%), 670px);
      aspect-ratio: 1/2.4011;
      max-width: 670px; }
      .intro .bg_area.-l:before {
        content: "";
        display: block;
        position: absolute;
        width: 87.1401151631%;
        height: 45.374800638%;
        left: 0;
        top: calc((110/1254)*-100%);
        z-index: 1;
        background: url(../img/top/intro-l-img_bg.webp);
        background-size: cover; }
      .intro .bg_area.-l .img {
        -webkit-mask-image: url(../img/top/intro-l_mask.svg);
                mask-image: url(../img/top/intro-l_mask.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain; }
    .intro .bg_area.-r {
      right: 0;
      bottom: -10.66vw;
      width: clamp(320px, calc((480/1500)*100%), 700px);
      aspect-ratio: 1/1.8375; }
      .intro .bg_area.-r .img {
        z-index: 5;
        -webkit-mask-image: url(../img/top/intro-r_mask.svg);
                mask-image: url(../img/top/intro-r_mask.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain; }
      .intro .bg_area.-r .img_bg {
        position: absolute;
        width: 91.4583333333%;
        height: 28.3446712018%;
        right: 0;
        bottom: calc((114/1764)*-100%);
        z-index: 1; }
  .intro .inr {
    position: relative;
    margin-left: 50%;
    -webkit-transform: translateX(-23.33vw);
            transform: translateX(-23.33vw);
    width: clamp(670px, 65.3333vw, 980px);
    z-index: 10; }
  .intro .caution-txt {
    font-size: clamp(1.8rem, 1.333vw, 2rem);
    line-height: 2;
    padding-left: calc((240 / 980)* 100%);
    margin-bottom: 30px; }
  .intro .en-tit {
    font-size: 2.4rem;
    font-weight: 500;
    padding-left: calc((240 / 980)* 100%); }
    .intro .en-tit img {
      width: calc((301/697)*100%); }
  .intro h2 {
    font-size: 3rem;
    padding-left: calc((260 / 980)* 100%);
    margin-top: 2.5rem;
    margin-bottom: 7.6rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    line-height: 1.6; }
    .intro h2 img {
      max-width: 697px; }
  .intro .intro_texts {
    position: relative;
    font-size: 2rem;
    font-size: clamp(1.8rem, 1.333vw, 2rem);
    --lh:2.4;
    position: relative;
    /*
    overflow: hidden;
    */
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    letter-spacing: 0.02em;
    margin-bottom: 3rem; }
    .intro .intro_texts::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      /*
      margin-top: calc((1 - var(--lh)) * 0.5em);
      */
      margin-top: calc((1 - var(--lh))* .5em); }
    .intro .intro_texts::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
  .intro .intro_texts_wrap {
    margin-bottom: 8rem; }
  .intro .texts01 {
    padding-left: calc((260/980)*100%); }
  .intro .texts02 {
    padding-left: calc((240/980)*100%); }
  .intro .texts03 {
    padding-left: calc((220/980)*100%); }
  .intro .texts04 {
    padding-left: calc((200/980)*100%); }
  .intro .texts05 {
    padding-left: calc((160/980)*100%); }
  .intro .texts06 {
    padding-left: calc((140/980)*100%); }
  .intro .texts07 {
    padding-left: calc((100/980)*100%); }
  .intro .texts08 {
    padding-left: calc((70/980)*100%); }
  .intro .texts09 {
    padding-left: calc((40/980)*100%); }
  .intro .texts09 span {
    display: none; }
  .intro .texts10 {
    padding-left: calc((20/980)*100%); }
  .intro .link_btn {
    -webkit-transform: translateX(-95px);
            transform: translateX(-95px); }
  .intro .mask_area {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 407px;
    -webkit-mask-image: url(../img/top/intro-btm_bg03.png);
            mask-image: url(../img/top/intro-btm_bg03.png);
    -webkit-mask-repeat: repeat-x;
            mask-repeat: repeat-x;
    -webkit-mask-position: bottom center;
            mask-position: bottom center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-size: 1688px 407px;
            mask-size: 1688px 407px;
    z-index: 5;
    background: #55c3e9; }
    .intro .mask_area.ushizu {
      background: #e9a61f; }
    .intro .mask_area .t-bg {
      opacity: .15; }

@media screen and (max-width: 1200px) {
  .intro .inr {
    -webkit-transform: translateX(-26.33vw);
            transform: translateX(-26.33vw); } }
@media screen and (max-width: 1000px) {
  .intro .bg_area.-r {
    bottom: -30vw; } }
@media screen and (min-width: 1101px) {
  .intro h2 img:not(:first-child) {
    display: none; } }
@media screen and (max-width: 1100px) and (min-width: 801px) {
  .intro h2 img {
    max-width: 350px; }

  .intro h2 img:not(:nth-child(2)) {
    display: none; } }
@media screen and (max-width: 800px) {
  .intro {
    padding-bottom: 4rem; }
    .intro:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      background: -webkit-gradient(linear, left bottom, left top, from(#ede7dc), color-stop(83%, white));
      background: linear-gradient(0deg, #ede7dc 0%, white 83%); }
    .intro .main_area {
      padding-top: 14rem; }
    .intro .bg_area.-l {
      top: 5.2rem;
      left: calc((62/490) * -100%);
      width: calc((490/800)*100%); }
    .intro .bg_area.-r {
      bottom: auto;
      top: calc((100% - 5.5rem));
      width: calc((459/800)*100%); }
    .intro .inr {
      position: relative;
      width: 85vw;
      margin: 0 auto;
      -webkit-transform: translateX(0);
              transform: translateX(0); }
    .intro .caution-txt {
      font-size: 1.5rem;
      font-size: clamp(1.3rem, 3.6vw, 1.7rem);
      padding-left: calc((385 / 720) * 100%); }
    .intro .en-tit {
      padding-left: calc((345 / 720)* 100%); }
      .intro .en-tit img {
        width: 46vw; }
    .intro h2 {
      padding-left: calc((160 / 720)* 100%);
      margin-top: 5vw;
      margin-bottom: 2rem; }
      .intro h2 img {
        width: 20vw; }
        .intro h2 img:not(:last-child) {
          display: none; }
    .intro .intro_texts {
      font-size: 1.5rem;
      font-size: clamp(1.3rem, 3.6vw, 1.7rem);
      margin-bottom: 0; }
      .intro .intro_texts:before, .intro .intro_texts:after {
        display: none; }
    .intro .intro_texts_wrap {
      margin-bottom: 2rem; }
      .intro .intro_texts_wrap.wrap03 {
        margin-bottom: 5rem; }
    .intro .texts01 {
      padding-left: calc((285/680)*100%); }
    .intro .texts02 {
      padding-left: calc((250/680)*100%); }
    .intro .texts03 {
      padding-left: calc((215/680)*100%); }
    .intro .texts04 {
      padding-left: calc((130/680)*100%); }
    .intro .texts05 {
      padding-left: calc((70/680)*100%); }
    .intro .texts06 {
      padding-left: calc((20/680)*100%); }
    .intro .texts07 {
      padding-left: calc((1/680)*100%); }
    .intro .texts09 span {
      display: inline; }
    .intro .texts10, .intro .texts11 {
      display: none; }
    .intro .texts08, .intro .texts09, .intro .texts10 {
      padding-left: 0; }
    .intro .link_btn {
      -webkit-transform: translateX(0);
              transform: translateX(0); }
    .intro .mask_area {
      height: 205px;
      -webkit-mask-size: 850px 205px;
              mask-size: 850px 205px;
      background: #55c3e9; }
      .intro .mask_area .t-bg {
        opacity: .15; } }
/*btm_area*/
.intro .btm_area {
  position: relative;
  width: clamp(840px, 89.3333333333vw, 1715px);
  margin: 15rem auto 0;
  z-index: 10; }
  .intro .btm_area .btm-imgs {
    position: relative;
    width: clamp(500px, calc((699 / 1340)*100%), 800px);
    aspect-ratio: 1/0.84549;
    aspect-ratio: 1/0.64549;
    z-index: 10;
    pointer-events: none; }
    .intro .btm_area .btm-imgs .btm-img {
      position: absolute; }
      .intro .btm_area .btm-imgs .btm-img img {
        border: 1px solid #fff;
        border-radius: 5px; }
    .intro .btm_area .btm-imgs .img01 {
      width: calc((320/699)*100%);
      left: calc((136/699)*100%);
      top: 0; }
    .intro .btm_area .btm-imgs .img02 {
      width: calc((501/699)*100%);
      width: calc((660/699)*100%);
      left: 0;
      bottom: 0; }
    .intro .btm_area .btm-imgs .img03 {
      width: calc((241/699)*100%);
      right: 0;
      top: calc((120/594)*100%); }
  .intro .btm_area a {
    position: absolute;
    left: 0;
    bottom: calc((60/680)*100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    background: #fff;
    padding: 10rem 2rem 10rem clamp(10px, calc((588/1340)*100%), 690px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 1rem 14rem 14rem 1rem; }
    .intro .btm_area a .text_area {
      position: relative;
      padding-left: 12rem; }
      .intro .btm_area a .text_area .w-arrow {
        left: 0;
        top: -1rem;
        width: 95px;
        height: 98px; }
      .intro .btm_area a .text_area .s_txt {
        font-size: 1.8rem;
        margin-bottom: 1.2rem;
        --lh:1;
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px; }
        .intro .btm_area a .text_area .s_txt::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .intro .btm_area a .text_area .s_txt::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
      .intro .btm_area a .text_area .b_txt {
        position: relative;
        display: inline-block;
        font-size: 4rem;
        color: var(--theme-color); }
        .intro .btm_area a .text_area .b_txt:after {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          position: absolute;
          left: 0;
          top: 100%;
          background: var(--theme-color); }
    .intro .btm_area a .circle {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: calc((243 / 1360)* 100%);
      min-width: 180px;
      aspect-ratio: 1/1;
      position: absolute;
      top: -8rem;
      right: 3rem;
      pointer-events: none; }
      .intro .btm_area a .circle .icon {
        width: 99px;
        width: calc((99 / 243)* 100%);
        -webkit-transform: translateY(-10px);
                transform: translateY(-10px); }
        .intro .btm_area a .circle .icon.ushizu {
          width: 102px;
          width: calc((102 / 243)* 100%); }
      .intro .btm_area a .circle:before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background: url(../img/top/intro_movie_circle.png);
        background-size: cover;
        -webkit-animation: 20s linear infinite rotate;
                animation: 20s linear infinite rotate; }
    @media (hover: hover) {
      .intro .btm_area a:hover {
        -webkit-box-shadow: 10px 1px 25px rgba(0, 0, 0, 0.15);
                box-shadow: 10px 1px 25px rgba(0, 0, 0, 0.15); } }

@media screen and (max-width: 1100px) {
  .intro .btm_area a {
    bottom: 0; } }
@media screen and (max-width: 800px) {
  .intro .btm_area {
    position: relative;
    width: 100%;
    margin: 9rem auto 0; }
    .intro .btm_area .btm-imgs {
      width: 100%;
      aspect-ratio: auto; }
      .intro .btm_area .btm-imgs .btm-img {
        position: relative; }
      .intro .btm_area .btm-imgs .img01 {
        width: calc((240/800)*100%);
        left: auto;
        bottom: auto;
        margin-left: calc((97/800)*100%); }
      .intro .btm_area .btm-imgs .img02 {
        width: calc((280/800)*100%);
        width: calc((600/800)*100%);
        left: 20px;
        top: auto;
        margin-top: calc((60/800)*100%); }
        .intro .btm_area .btm-imgs .img02 img {
          border: none;
          border-radius: 0 5px 5px 0; }
      .intro .btm_area .btm-imgs .img03 {
        width: calc((320/800)*100%);
        right: auto;
        top: auto;
        margin-left: calc((80/800)*100%);
        margin-top: calc((60/800)*100%); }
    .intro .btm_area a {
      position: relative;
      left: auto;
      bottom: auto;
      background: #fff;
      padding: 7rem 2.5rem;
      border-radius: 0rem 10rem 10rem 0rem;
      -webkit-transform: translateY(-3rem);
              transform: translateY(-3rem); }
      .intro .btm_area a .text_area {
        position: relative;
        padding-left: 8rem; }
        .intro .btm_area a .text_area .w-arrow {
          top: 0;
          width: 65px;
          height: 66px; }
        .intro .btm_area a .text_area .s_txt {
          font-size: 1.5rem;
          margin-bottom: 1.4rem; }
        .intro .btm_area a .text_area .b_txt {
          font-size: 3rem; }
      .intro .btm_area a .circle {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 163px;
        min-width: 163px;
        top: -8.5rem;
        right: 0; } }
/* ==========================================================================
	top-links
========================================================================== */
.top-links {
  position: relative;
  padding-top: 14.5rem;
  padding-bottom: 5rem;
  /*
  min-height:1700px;
  */
  background: #55c3e9; }
  .top-links .t-bg {
    opacity: .15; }
  .top-links:after {
    content: "";
    display: block;
    width: 100%;
    height: 1400px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    background: -webkit-gradient(linear, left bottom, left top, from(#218098), to(#55c3e9));
    background: linear-gradient(0deg, #218098 0%, #55c3e9 100%);
    background: -webkit-gradient(linear, left bottom, left top, from(#218098), color-stop(98%, #55c3e9), to(rgba(31, 159, 103, 0)));
    background: linear-gradient(0deg, #218098 0%, #55c3e9 98%, rgba(31, 159, 103, 0) 100%); }
  .top-links.ushizu {
    background: #e9a61f; }
    .top-links.ushizu:after {
      background: -webkit-gradient(linear, left bottom, left top, from(#e9911f), to(#e9a61f));
      background: linear-gradient(0deg, #e9911f 0%, #e9a61f 100%);
      background: -webkit-gradient(linear, left bottom, left top, from(#e9911f), color-stop(98%, #e9a61f), to(rgba(31, 159, 103, 0)));
      background: linear-gradient(0deg, #e9911f 0%, #e9a61f 98%, rgba(31, 159, 103, 0) 100%); }
  .top-links .links {
    position: relative;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: clamp(804px, 89.3333333333vw, 1715.2px);
    width: clamp(780px, 89.3333333333vw, 1715.2px);
    margin: 0 auto; }
    .top-links .links.-rev {
      margin-top: 10rem;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
  .top-links .big_link {
    position: relative;
    display: block;
    width: 50%; }
    .top-links .big_link .v_txt {
      position: absolute;
      right: 0;
      top: 0;
      font-size: 1.8rem;
      color: #e9e19a; }
      .top-links .big_link .v_txt.ushizu {
        color: #f2e782; }
    .top-links .big_link .img_area {
      position: relative;
      width: calc(100% - 50px); }
      .top-links .big_link .img_area img {
        -webkit-transition: -webkit-transform 0.6s var(--easeOutQuad);
        transition: -webkit-transform 0.6s var(--easeOutQuad);
        transition: transform 0.6s var(--easeOutQuad);
        transition: transform 0.6s var(--easeOutQuad), -webkit-transform 0.6s var(--easeOutQuad); }
    .-rev .big_link .img_area {
      margin-left: 50px; }
    .-rev .big_link .v_txt {
      right: auto;
      left: 0; }
    .top-links .big_link .w-arrow {
      width: calc((230 / 620)* 100%);
      aspect-ratio: 1 / 1;
      height: auto;
      max-width: 230px;
      min-width: 180px;
      right: -5rem;
      bottom: -7.5rem; }
      .top-links .big_link .w-arrow:before {
        background-image: url(../img/common/w-big_arrow-bg01.png); }
      .top-links .big_link .w-arrow:after {
        background-image: url(../img/common/w-big_arrow-bg02.png); }
      .top-links .big_link .w-arrow span {
        position: relative;
        display: inline-block;
        font-size: 2.2rem;
        padding-top: 3.8rem;
        font-weight: 500;
        z-index: 10;
        color: #262626; }
        .top-links .big_link .w-arrow span:before {
          content: "";
          display: block;
          width: 30px;
          height: 29px;
          position: absolute;
          left: 0;
          right: 0;
          top: -.4rem;
          -webkit-transform: translateX(-2px);
                  transform: translateX(-2px);
          margin: auto;
          background: url(../img/common/theme-arrow.png);
          background-size: cover;
          -webkit-transition: -webkit-transform 0.6s var(--easeOutQuad);
          transition: -webkit-transform 0.6s var(--easeOutQuad);
          transition: transform 0.6s var(--easeOutQuad);
          transition: transform 0.6s var(--easeOutQuad), -webkit-transform 0.6s var(--easeOutQuad); }
        .top-links .big_link .w-arrow span:after {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background: #aaaaaa;
          position: absolute;
          left: 0;
          top: calc(100% + 2px); }
    @media (hover: hover) {
      .top-links .big_link:hover .w-arrow span:before {
        -webkit-transform: translateX(3px);
                transform: translateX(3px); }
      .top-links .big_link:hover .img_area img {
        -webkit-transform: scale(1.08);
                transform: scale(1.08); } }
    .top-links .big_link .text_area {
      margin-top: 6.5rem;
      padding-left: 4rem;
      padding-right: 4rem;
      color: #fff;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .top-links .big_link .text_area .title {
        font-size: 2.8rem;
        color: #fff;
        --lh:1.5;
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px; }
        .top-links .big_link .text_area .title::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .top-links .big_link .text_area .title::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
      .top-links .big_link .text_area .text {
        font-size: 1.8rem;
        line-height: calc(32/18);
        margin-top: 2.5rem; }
        .top-links .big_link .text_area .text span {
          display: inline; }
  .top-links .img {
    position: relative;
    width: 100%;
    aspect-ratio: 1/0.90332;
    border-radius: 3rem;
    border: 1px solid #fff;
    overflow: hidden; }
  .top-links .s_area {
    width: calc((590/1340)*100%);
    padding-right: 2rem;
    padding-top: 14rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .top-links .s_area a {
      pointer-events: none;
      margin-bottom: 6rem;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .top-links .s_area a:last-child {
        margin-bottom: 0; }
      .top-links .s_area a .img_area {
        width: 34.6%; }
        .top-links .s_area a .img_area img {
          -webkit-transition: -webkit-transform 0.6s var(--easeOutQuad);
          transition: -webkit-transform 0.6s var(--easeOutQuad);
          transition: transform 0.6s var(--easeOutQuad);
          transition: transform 0.6s var(--easeOutQuad), -webkit-transform 0.6s var(--easeOutQuad); }
      .top-links .s_area a .text_area {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-left: 5rem;
        color: #fff; }
        .top-links .s_area a .text_area .title {
          font-size: 3.2rem;
          color: #fff;
          --lh:1;
          position: relative;
          /*
          overflow: hidden;
          */
          line-height: calc(var(--lh)* 1em);
          padding-top: .1px;
          padding-bottom: .1px; }
          .top-links .s_area a .text_area .title::before {
            content: '';
            display: block;
            height: 0;
            width: 0;
            /*
            margin-top: calc((1 - var(--lh)) * 0.5em);
            */
            margin-top: calc((1 - var(--lh))* .5em); }
          .top-links .s_area a .text_area .title::after {
            content: '';
            display: block;
            height: 0;
            width: 0;
            margin-bottom: calc((1 - var(--lh))* .5em); }
        .top-links .s_area a .text_area .text {
          font-size: 1.8rem;
          line-height: calc(32/18);
          margin-top: 2.2rem; }
          .top-links .s_area a .text_area .text span {
            display: inline; }
        .top-links .s_area a .text_area .link_btn {
          width: 100%;
          margin-top: 4rem; }
      @media (hover: hover) {
        .top-links .s_area a:hover .img_area img {
          -webkit-transform: scale(1.08);
                  transform: scale(1.08); }
        .top-links .s_area a:hover .link_btn {
          -webkit-box-shadow: var(--hov_shadow);
                  box-shadow: var(--hov_shadow); }
          .top-links .s_area a:hover .link_btn .w-arrow img {
            -webkit-transform: translateX(3px);
                    transform: translateX(3px); } }

@media screen and (max-width: 1200px) and (min-width: 801px) {
  .top-links .s_area a {
    padding-bottom: 8rem; }
    .top-links .s_area a .link_btn {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%; } }
@media screen and (max-width: 950px) {
  .top-links .big_link {
    width: 80%;
    margin: 0 auto; }
    .top-links .big_link .text_area {
      margin-top: 4rem; }
  .top-links .s_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 80%;
    margin: 0 auto;
    padding-top: 6rem;
    padding-right: 0; }
    .top-links .s_area a {
      width: 48%;
      padding-bottom: 8rem; }
      .top-links .s_area a:first-child {
        margin-bottom: 0; }
      .top-links .s_area a .img_area {
        width: 100%;
        margin-bottom: 3rem; }
      .top-links .s_area a .text_area {
        margin-left: 0; } }
@media screen and (max-width: 800px) {
  .top-links {
    position: relative;
    padding-top: 0;
    padding-bottom: 12rem;
    background: #55c3e9; }
    .top-links:after {
      width: 100%;
      height: 100%; }
    .top-links .links {
      display: block;
      width: 100%; }
      .top-links .links.-rev {
        margin-top: 8.5rem; }
    .top-links .big_link {
      width: 90%;
      marign: 0 auto; }
      .top-links .big_link .v_txt {
        font-size: 1.4rem; }
      .top-links .big_link .img_area {
        width: calc(100% - 40px); }
      .-rev .big_link .v_txt {
        left: auto;
        right: 0; }
      .-rev .big_link .img_area {
        margin-left: 0; }
      .top-links .big_link .w-arrow {
        width: calc((300 / 640)* 100%);
        max-width: 200px;
        min-width: 120px;
        right: -6rem;
        bottom: -5rem; }
        .top-links .big_link .w-arrow span {
          font-size: 1.6rem;
          padding-top: 2.7rem; }
          .top-links .big_link .w-arrow span:before {
            width: 22px;
            height: 21px;
            top: -.4rem;
            -webkit-transform: translateX(-2px);
                    transform: translateX(-2px); }
          .top-links .big_link .w-arrow span:after {
            content: "";
            display: block;
            width: 100%;
            height: 1px;
            background: #aaaaaa;
            position: absolute;
            left: 0;
            top: calc(100% + 2px); }
      .top-links .big_link .text_area {
        margin-top: 4rem;
        padding-left: 1rem;
        padding-right: 1rem; }
        .top-links .big_link .text_area .title {
          font-size: 2rem; }
        .top-links .big_link .text_area .text {
          font-size: 1.7rem;
          line-height: calc(34/54);
          margin-top: 2rem; }
          .top-links .big_link .text_area .text span {
            line-height: calc(54/34); }
    .top-links .img {
      border-radius: 3rem; }
    .top-links .s_area {
      position: relative;
      width: 100%;
      padding-right: 0;
      padding-top: 0; }
      .top-links .s_area a {
        position: relative;
        width: 100%;
        margin-top: 9rem;
        padding-bottom: 0; }
        .top-links .s_area a .img_area {
          width: calc((300/800)*100%);
          margin-bottom: 0; }
        .top-links .s_area a .img {
          aspect-ratio: 300/360;
          border: 1px solid #dfdfdf;
          border-radius: 0 25px 25px 0; }
        .top-links .s_area a .text_area {
          position: relative;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-left: 3rem;
          padding-right: 3rem;
          color: #1e1e1e; }
          .top-links .s_area a .text_area div {
            position: relative;
            z-index: 10; }
          .top-links .s_area a .text_area:before {
            content: "";
            display: block;
            position: absolute;
            right: 0;
            top: -35px;
            width: calc(100% + 90px);
            height: calc(100% + 70px);
            z-index: 1;
            background: #fff;
            border-radius: 25px 0 0 25px; }
          .top-links .s_area a .text_area .title {
            font-size: 1.8rem;
            color: #1e1e1e; }
          .top-links .s_area a .text_area .text {
            font-size: 1.4rem;
            line-height: calc(50/28);
            margin-top: 1.5rem; }
          .top-links .s_area a .text_area .link_btn {
            position: relative;
            width: 100%;
            margin-top: 2.2rem;
            border: 1px solid #1e1e1e; }
        .top-links .s_area a:first-child {
          margin-bottom: 0;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; }
          .top-links .s_area a:first-child .img {
            border-radius: 25px 0 0 25px; }
          .top-links .s_area a:first-child .text_area:before {
            right: auto;
            left: 0;
            border-radius: 0 25px 25px 0; } }
/* ==========================================================================
	slide-con
========================================================================== */
.slide-con {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 828px;
  height: calc((828 / 1500)* 100vw);
  background: #fff; }
  .slide-con .slide-top-mask {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 680px;
    -webkit-mask-image: url(../img/top/slide_top-mask02.png);
            mask-image: url(../img/top/slide_top-mask02.png);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: top left;
            mask-position: top left;
    -webkit-mask-size: contain;
            mask-size: contain;
    background: #218098;
    z-index: 10; }
    .slide-con .slide-top-mask.ushizu {
      background: #e9911f; }
    .slide-con .slide-top-mask .t-bg {
      opacity: .15; }
  .slide-con .slide-btm-mask {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 814px;
    -webkit-mask-image: url(../img/top/slide_btm-mask03.png);
            mask-image: url(../img/top/slide_btm-mask03.png);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: bottom left;
            mask-position: bottom left;
    -webkit-mask-size: contain;
            mask-size: contain;
    z-index: 10;
    background: #fff; }
    .slide-con .slide-btm-mask span {
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%; }
  .slide-con .slide_area {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 770px;
    height: calc((828 / 1500)* 100vw);
    overflow: hidden;
    	/*
    mask-image:url(../img/top/slide_img-mask.png);
    mask-repeat:no-repeat;
    mask-position:top center;
    mask-size:cover;
    */ }
    .slide-con .slide_area .slide_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-animation: loop-slide 80s infinite linear 1s both;
              animation: loop-slide 80s infinite linear 1s both; }
    .slide-con .slide_area .slides {
      position: relative;
      width: 700px;
      width: calc((700 / 1500)* 100vw); }

@media screen and (max-width: 800px) {
  .slide-con {
    height: calc((770 / 800)* 100vw); }
    .slide-con .slide-top-mask {
      height: calc((220 / 800)* 100vw); }
    .slide-con .slide-btm-mask {
      height: calc((407 / 800)* 100vw); }
    .slide-con .slide_area {
      height: calc((770 / 800)* 100vw); }
      .slide-con .slide_area .slides {
        width: calc((700 / 800)* 100vw); } }
/* ==========================================================================
	recruit-blog
========================================================================== */
.recruit-blog {
  position: relative;
  z-index: 5;
  background: #fff; }

/* ==========================================================================
	recruit
========================================================================== */
.recruit {
  position: relative;
  z-index: 10; }
  .recruit .inr {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    width: clamp(732px, 81.3333333333vw, 1561.6px);
    margin: 0 auto;
    /*
    padding-bottom: calc(10rem + clamp(10px,38.005248vw,729px)); */ }    
  .recruit .tit_area {
    position: relative;
    width: 470px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    z-index: 20; }
    .recruit .tit_area .titles {
      position: relative;
      width: 210px;
      text-align: center; }
      .recruit .tit_area .titles .en-tit {
        display: block;
        position: absolute;
        top: -8.5rem;
        font-size: 1.8rem;
        color: var(--theme-color);
        line-height: calc(30/18);
        letter-spacing: 0.05em;
        text-align: left; }
      .recruit .tit_area .titles h2 {
        font-size: 5rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        margin-bottom: 6rem; }
    .recruit .tit_area .read {
      position: relative;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 2.6rem;
      line-height: calc(54/26);
      letter-spacing: 0; }
      .recruit .tit_area .read .row02 {
        padding-top: 1em; }
      .recruit .tit_area .read .row03 {
        padding-top: 2em; }
      .recruit .tit_area .read .row04 {
        padding-top: 3em; }
  .recruit .text_area {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 7rem;
    padding-top: 15rem; }
    .recruit .text_area p {
      font-size: 1.9rem;
      line-height: calc(40/19);
      letter-spacing: 0.02em; }
  .recruit .img_area {
    position: absolute;
    width: clamp(10px, 96vw, 1843px);
    /*
    top:calc(100% + 10rem);
    */
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    aspect-ratio: 1/0.395888;
    -webkit-mask-image: url(../img/top/recruit_big-img-mask.png);
            mask-image: url(../img/top/recruit_big-img-mask.png);
    -webkit-mask-position: center center;
            mask-position: center center;
    -webkit-mask-size: cover;
            mask-size: cover; }

@media screen and (max-width: 950px) {
  .recruit .inr {
    display: block;
    width: 90%;
    margin: 0 auto;
    padding-top: 15rem;
    /*
    padding-bottom: 10rem; */ }
  .recruit .tit_area {
    position: relative;
    width: 470px;
    margin: 0 auto 6rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .recruit .tit_area .read .row02, .recruit .tit_area .read .row03, .recruit .tit_area .read .row04 {
      padding-top: 0; }
    .recruit .tit_area .titles {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      .recruit .tit_area .titles .en-tit {
        position: relative;
        writing-mode: vertical-rl;
        -webkit-font-feature-settings: normal;
                font-feature-settings: normal;
        vertical-align: top;
        display: inline-block;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -o-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        letter-spacing: 0.2em;
        top: 0;
        margin-left: .55rem; }
      .recruit .tit_area .titles h2 {
        margin-bottom: 0;
        margin-right: .55rem; }
    .recruit .tit_area .arrow-link {
      position: absolute;
      top: calc(100% + 3.5rem); }
  .recruit .text_area {
    margin: 0 auto;
    padding-top: 5rem; }
  .recruit .img_area {
    position: relative;
    bottom: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); } }
@media screen and (max-width: 800px) {
  .recruit .inr {
    padding-top: 2.5rem;
    padding-bottom: 0; }
  .recruit .tit_area {
    width: 340px;
    margin: 0 auto 5rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .recruit .tit_area .titles {
      width: 100px; }
      .recruit .tit_area .titles .en-tit {
        font-size: 1.4rem; }
      .recruit .tit_area .titles h2 {
        font-size: 3.4rem; }
    .recruit .tit_area .read {
      font-size: 1.9rem;
      line-height: calc(72/38);
      padding-top: 4.5rem; }
  .recruit .text_area {
    padding-top: 4rem;
    width: 85vw; }
    .recruit .text_area p {
      font-size: 1.6rem; }
  .recruit .img_area {
    aspect-ratio: 740/560;
    -webkit-mask-image: url(../img/top/recruit_big-img-mask_sp.png);
            mask-image: url(../img/top/recruit_big-img-mask_sp.png); } }
/* ==========================================================================
	blog
========================================================================== */
.blog {
  position: relative;
  z-index: 3;
  padding-top: 15rem;
  padding-bottom: 22.4rem; }
  .blog .blog_mask-img {
    position: absolute;
    right: 0;
    top: -11rem;
    width: 48.06vw;
    aspect-ratio: 1/1.0638;
    max-width: 900px;
    -webkit-mask-image: url(../img/top/blog_img-mask.svg);
            mask-image: url(../img/top/blog_img-mask.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain; }
  .blog .inr {
    position: relative;
    width: clamp(780px, 86.6666666667vw, 1664px);
    max-width: 95%;
    margin: 0 auto; }
  .blog h2, .blog .en {
    padding-left: 4rem; }
  .blog h2 {
    font-size: 5rem;
    --lh:1;
    position: relative;
    /*
    overflow: hidden;
    */
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    margin-bottom: 2.5rem; }
    .blog h2::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      /*
      margin-top: calc((1 - var(--lh)) * 0.5em);
      */
      margin-top: calc((1 - var(--lh))* .5em); }
    .blog h2::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
  .blog .link_btn {
    position: absolute;
    left: 240px;
    top: 10px; }
  .blog ul {
    margin-top: 8.4rem; }
  .blog li {
    position: relative; }
    .blog li .img_area {
      position: relative;
      overflow: hidden;
      border-radius: 5px;
      width: 100%;
      aspect-ratio: 1/0.625;
      border: 1px solid #fff;
      margin-bottom: 3rem; }
      .blog li .img_area img {
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
    .blog li .text_area {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding-top: 1rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .blog li .text_area div {
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-left: 2.8rem; }
    .blog li .cate {
      display: inline-block;
      padding: 15px 8px 15px 6px;
      background: #fff;
      border: 1px solid var(--theme-color);
      color: var(--theme-color);
      border-radius: 1.6rem;
      font-size: 1.6rem;
      width: 35px;
      letter-spacing: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    .blog li .day {
      display: block;
      font-size: 1.7rem;
      margin-bottom: 1.2rem;
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .blog li .n_txt {
      font-size: 1.9rem;
      line-height: calc(32/19); }
      .blog li .n_txt span {
        display: inline;
        --b_color:#d5d2cf;
        background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
        background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
        background-repeat: no-repeat;
        background-position: 0px 90%;
        background-size: 100% 1px;
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
    @media (hover: hover) {
      .blog li a:hover .img_area img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .blog li a:hover .day {
        color: var(--theme-color); }
      .blog li a:hover .n_txt span {
        color: var(--theme-color);
        --b_color:var(--theme-color); } }

@media screen and (min-width: 801px) {
  .blog .blog_list {
    display: grid;
    gap: 0 calc((52/1300)*100%);
    grid-template-columns: repeat(3, 1fr); }
    .blog .blog_list li:nth-child(2) {
      -webkit-transform: translateY(5rem);
              transform: translateY(5rem); }
    .blog .blog_list li:nth-child(3) {
      -webkit-transform: translateY(10rem);
              transform: translateY(10rem); } }
@media screen and (max-width: 800px) {
  .blog {
    position: relative;
    z-index: 3;
    padding-top: 20rem;
    padding-bottom: 10rem; }
    .blog .blog_mask-img {
      right: calc((240/800)* -100vw);
      top: 0;
      width: calc((721/800)*100vw); }
    .blog .inr {
      max-width: 90%; }
    .blog .en {
      padding-left: 0; }
    .blog h2 {
      font-size: 3.6rem;
      padding-left: 2rem; }
    .blog .en {
      position: absolute;
      left: 7rem;
      top: -1.8rem; }
    .blog .link_btn {
      position: relative;
      left: auto;
      top: auto; }
    .blog ul {
      margin-top: 4rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .blog li {
      position: relative;
      width: calc((340/720)*100%); }
      .blog li .img_area {
        margin-bottom: 2rem; }
      .blog li .text_area {
        padding-top: 0rem; }
        .blog li .text_area div {
          margin-left: 2rem; }
      .blog li:first-child {
        width: calc((560/720)*100%);
        margin-left: calc((120/720)*100%);
        margin-bottom: 2.7rem; }
        .blog li:first-child .text_area div {
          margin-left: 2.5rem; }
      .blog li:nth-child(3) {
        margin-top: 5rem; }
      .blog li .cate {
        padding: 15px 8px 15px 6px;
        font-size: 1.4rem;
        width: 30px; }
      .blog li .day {
        font-size: 1.3rem;
        margin-bottom: 1rem; }
      .blog li .n_txt {
        font-size: 1.6rem;
        line-height: calc(54/32); }
    .blog .link_btn {
      width: 100%;
      margin-top: 4rem;
      text-align: center; } }
@media screen and (max-width: 500px) {
  .blog .blog_mask-img {
    top: 3rem; } }
/* ==========================================================================
	points
========================================================================== */
.points {
  position: relative;
  z-index: 3;
  padding-top: 15rem;
  padding-bottom: 22.4rem; }
  .points .blog_mask-img {
    position: absolute;
    right: 0;
    top: -11rem;
    width: 48.06vw;
    aspect-ratio: 1/1.0638;
    max-width: 900px;
    -webkit-mask-image: url(../img/top/blog_img-mask.svg);
            mask-image: url(../img/top/blog_img-mask.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain; }
  .points .inr {
    position: relative;
    width: clamp(780px, 86.6666666667vw, 1664px);
    max-width: 95%;
    margin: 0 auto; }
  .points h2, .points .en {
    padding-left: 4rem; }
  .points h2 {
    font-size: 5rem;
    --lh:1;
    position: relative;
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    margin-bottom: 2.5rem; }
    .points h2::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh))* .5em); }
    .points h2::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
  .points .link_btn {
    position: absolute;
    left: 240px;
    top: 10px; }
  .points ul {
    margin-top: 8.4rem; }
  .points li {
    position: relative; }
    .points li .img_area {
      position: relative;
      overflow: hidden;
      border-radius: 5px;
      width: 100%;
      aspect-ratio: 1/0.625;
      border: 1px solid #fff;
      margin-bottom: 3rem; }
      .points li .img_area img {
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
    .points li .text_area {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding-top: 1rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .points li .text_area div {
        position: relative;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-left: 2.8rem; }
    .points li .cate {
      display: inline-block;
      padding: 15px 8px 15px 6px;
      background: #fff;
      border: 1px solid var(--theme-color);
      color: var(--theme-color);
      border-radius: 1.6rem;
      font-size: 1.6rem;
      width: 35px;
      letter-spacing: 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    .points li .cate.v_txt span {
      text-combine-upright: all; }
    .points li .day {
      display: block;
      font-size: 1.7rem;
      margin-bottom: 1.2rem;
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .points li .n_txt {
      font-size: 1.9rem;
      line-height: calc(32/19); }
      .points li .n_txt span {
        display: inline;
        --b_color:yellow;
        background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
        background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
        background-repeat: no-repeat;
        background-position: 0px 90%;
        background-size: 100% 5px;
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
    .points li .s_txt {
      font-size: 1.5rem;
      line-height: calc(32/19);
      margin-top: 1.2rem; }
    @media (hover: hover) {
      .points li a:hover .img_area img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .points li a:hover .day {
        color: var(--theme-color); }
      .points li a:hover .n_txt span {
        color: var(--theme-color);
        --b_color:var(--theme-color); } }

@media screen and (min-width: 801px) {
  .points .blog_list {
    display: grid;
    gap: 0 calc((52/1300)*100%);
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 800px) {
  .points {
    position: relative;
    z-index: 3;
    padding-top: 8rem;
    padding-bottom: 10rem; }
    .points .blog_mask-img {
      right: calc((240/800)* -100vw);
      top: 0;
      width: calc((721/800)*100vw); }
    .points .inr {
      max-width: 90%; }
    .points .en {
      padding-left: 0; }
    .points h2 {
      font-size: 2.4rem;
      padding-left: 0; }
    .points .en {
      position: absolute;
      left: 0;
      top: -2.4rem; }
    .points .link_btn {
      position: relative;
      left: auto;
      top: auto; }
    .points ul {
      margin-top: 4rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .points li {
      position: relative;
      width: 100%;
      margin-bottom: 2rem; }
      .points li .img_area {
        margin-bottom: 2rem; }
      .points li .text_area {
        padding-top: 0rem; }
        .points li .text_area div {
          margin-left: 2rem; }
      .points li .cate {
        padding: 15px 8px 15px 6px;
        font-size: 1.4rem;
        width: 30px; }
      .points li .day {
        font-size: 1.3rem;
        margin-bottom: 1rem; }
      .points li .n_txt {
        font-size: 1.6rem;
        line-height: calc(54/32); }
    .points .link_btn {
      width: 100%;
      margin-top: 4rem;
      text-align: center; } }
@media screen and (max-width: 500px) {
  .points .blog_mask-img {
    top: 3rem; } }

.flow {
  position: relative;
  z-index: 5;
  background: #fff; }
  .flow section {
    position: relative;
    z-index: 3;
    padding-top: 15rem;
    padding-bottom: 22.4rem; }
    .flow section .con_tit,
    .flow section .en_tit {
      text-align: center; }
    .flow section .en_tit {
      display: block; }
    .flow section .n_txt {
      font-size: 1.9rem;
      line-height: calc(40 / 19);
      letter-spacing: 0.02em;
      text-align: center;
      margin-top: 5rem; }

.flow_box01{
  width: 800px;
  margin: 40px auto 30px;
  padding:0;
  background: url(../img/top/flow_01.png) top center no-repeat;
  border-radius: 20px;
  height: 153px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.flow_box02{
  width: 800px;
  margin: 40px auto 30px;
  padding:0;
  background: url(../img/top/flow_02.png) top center no-repeat;
  border-radius: 20px;
  height: 153px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.flow_box03{
  width: 800px;
  margin: 40px auto 30px;
  padding:0;
  background: url(../img/top/flow_03.png) top center no-repeat;
  border-radius: 20px;
  height: 153px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.flow_box04{
  width: 800px;
  margin: 40px auto 30px;
  padding:0;
  background: url(../img/top/flow_04.png) top center no-repeat;
  border-radius: 20px;
  height: 153px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.flow_box05{
  width: 800px;
  margin: 40px auto 30px;
  padding:0;
  background: url(../img/top/flow_05.png) top center no-repeat;
  border-radius: 20px;
  height: 153px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.flow dl{
  width: 800px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flow dt{
  width: 100%;
  color:  #fff;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.4;
  flex-basis: 150px;
  max-width: 150px;
  flex-shrink: 0;
}
.flow dd{
  width: 650px;
  text-align: left;
  padding: 0 150px 0 30px;
  font-size: 2.3rem;
}
.flow .center {
  text-align: center; }
  .flow .center img {
    width: auto; }
@media screen and (max-width: 768px) {
  .flow section {
    z-index: 3;
    padding-top: 0;
    padding-bottom: 10rem; }

  .flow section .n_txt {
    font-size: 1.5rem;
    padding: 0 20px 20px; }
  .flow_box01{
    width: 90%;
    margin: 20px auto 0;
    padding:0;
    background: url(../img/top/flow_01_sp.png) top right no-repeat #ffffff;
    background-size: contain;
    border-radius: 20px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  .flow_box02{
    width: 90%;
    margin: 20px auto 0;
    padding:0;
    background: url(../img/top/flow_02_sp.png) top right no-repeat #ffffff;
    background-size: contain;
    border-radius: 20px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  .flow_box03{
    width: 90%;
    margin: 20px auto 0;
    padding:0;
    background: url(../img/top/flow_03_sp.png) top right no-repeat #ffffff;
    background-size: contain;
    border-radius: 20px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  .flow_box04{
    width: 90%;
    margin: 20px auto 0;
    padding:0;
    background: url(../img/top/flow_04_sp.png) top right no-repeat #ffffff;
    background-size: contain;
    border-radius: 20px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }
  .flow_box05{
    width: 90%;
    margin: 20px auto 0;
    padding:0;
    background: url(../img/top/flow_05_sp.png) top right no-repeat #ffffff;
    background-size: contain;
    border-radius: 20px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }

  .flow dl{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    margin: 0 auto;
  }

  .flow dt{
    width:100%;
    color:  #fff;
    background: url(../img/top/flow_title_bg.png) top right no-repeat #ffffff;
    background-size:cover;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    padding: 10px 0;
    border-radius: 20px 0 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    flex-basis: 20%;
    max-width: 20%;
  }

  .flow dd{
    width:80%;
    text-align: left;
    padding: 0 50px 0 10px;
    font-size: 16px;
    flex-wrap: wrap;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 auto;
    line-height: 1.4;
  }

  .flow_link{
    width:80%;
    margin: 40px auto 0;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
  }
}

.faq {
  position: relative;
  z-index: 5;
  background: #fff; }
  .faq section {
    position: relative;
    z-index: 3;
    padding-top: 15rem;
    padding-bottom: 22.4rem; }
    .faq section .con_tit,
    .faq section .en_tit {
      text-align: center; }
    .faq section .en_tit {
      display: block; }
.faq_box{
  max-width: 800px;
  margin:0 auto 0;
  padding: 100px 0 0 0;
}
.faq_box img{
  width: auto;
}

.faq dl {
  width: 730px;
  margin: 20px auto;
  display: flex;
  justify-content: space-between;
  align-items:flex-start;
  padding: 20px 0 20px 0;
}
.faq_border {
  border-bottom: 3px dotted #000000;
}

.faq dt {
  width: 130px;
}
.faq dd {
  width: 600px;
}

.faq_q{
  font-size: 30px;
  font-weight:700;
  color:  #55c3e9;
  text-align: left;
}

.faq_a{
  font-size: 24px;
  text-align: left;
  line-height: 3rem;
}

@media screen and (max-width: 768px) {
  .faq{
    width: 100%;
    margin:0 auto 0;
    padding: 40px 0 40px 0;
    text-align: center;
    background-color: #fff;
  }
  .faq section {
    padding-top: 0;
    padding-bottom: 10rem; }
  .flow section .con_tit,
  .faq section .con_tit {
    font-size: 2.4rem;
  }
  .faq_box{
    margin:0 auto 0;
    padding: 20px 0 0 0;
  }
  .faq dl {
    width: 90%;
    margin: 10px auto;
    display: flex;
    justify-content: space-between;
    align-items:flex-start;
    padding: 10px 0 10px 0;
  }
  .faq_border {
    border-bottom: 2px dotted #000000;
  }
  .faq dt {
    width: 10%;
  }
  .faq dt img{
    width: 100%;
  }
  .faq dd {
    width: 90%;
    padding: 0 0 0 10px;
  }
  .faq_q{
    font-size: 20px;
    font-weight:700;
    color: #55c3e9;
    text-align: left;
  }

  .faq_a{
    font-size: 16px;
    text-align: left;
  }
}

.requirements {
  position: relative;
  z-index: 3;
  padding-top: 15rem;
  padding-bottom: 22.4rem; }
  .requirements .inr {
    position: relative;
    width: clamp(780px, 86.6666666667vw, 1664px);
    max-width: 95%;
    margin: 0 auto; }
  .requirements h2, .requirements .en {
    padding-left: 4rem; }
  .requirements h2 {
    font-size: 5rem;
    --lh:1;
    position: relative;
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    margin-bottom: 2.5rem; }
    .requirements h2::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - var(--lh))* .5em); }
    .requirements h2::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }

@media screen and (min-width: 801px) {
  .requirements .blog_list {
    display: grid;
    gap: 0 calc((52/1300)*100%);
    grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 800px) {
  .requirements {
    position: relative;
    z-index: 3;
    padding-top: 10rem;
    padding-bottom: 10rem; }
    .requirements .inr {
      max-width: 90%; }
    .requirements .en {
      padding-left: 0; }
    .requirements h2 {
      font-size: 2.4rem;
      padding-left: 0; } }

@media screen and (max-width: 500px) {

}
.requirements_box {
  width: 100%;
  max-width: 800px;
  margin: 5rem auto 0;
}
.requirements_box h3 {
  font-size: 2rem;
  margin: 60px 0 20px;
  color: var(--theme-color);
  font-weight: bold;
}
.requirements_box table {
  width: 100%;
  font-size: 1.6rem;
  line-height: 3.10526rem;
  margin-bottom: 5rem;
}
.requirements_box table th,
.requirements_box table td {
  padding: 10px 0;
  border-bottom: 1px solid #dfdfdf;
}
.center {
  text-align: center;
}
@media screen and (max-width: 800px) {
  .requirements_box h3 {
    font-size: 1.4rem;
    margin: 40px 0 10px;
    line-height: normal;
  }
  .requirements_box table {
    font-size: 1.4rem;
    line-height: 2.10526rem;
  }
}


.no-event {
  pointer-events: none;
}

.bottom_bnr .inr {
  max-width: 585px;
  margin: 1px auto;
}
.bottom_bnr .inr a:hover {
  opacity: 0.6;
}
.bottom_bnr .inr img {
  border: 1px solid #dfdfdf;
}
@media screen and (max-width: 800px) {
  .bottom_bnr .inr {
    max-width: 90%;
  }
}

/* ==========================================================================
	animations
========================================================================== */

/*# sourceMappingURL=style.css.map */