body {
  background: #faf5f0; }

.load {
  width: 100%;
  height: 100vh;
  z-index: 99999999;
  background: #f4e4cb;
  position: fixed;
  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; }

.spinner {
  width: 40px;
  height: 40px;
  position: relative;
  margin: 100px auto; }

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #feba48;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
  animation: sk-bounce 2.0s infinite ease-in-out; }

.double-bounce2 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s; }

@-webkit-keyframes sk-bounce {
  0%, 100% {
    -webkit-transform: scale(0); }
  50% {
    -webkit-transform: scale(1); } }
@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0); }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1); } }
#mv {
  position: relative;
  width: 100%;
  max-height: 100vh;
  /*
  min-height: 750px;
  */
  min-height: 880px;
  overflow: hidden;
  /*
  padding-bottom: 140px;
  */
  padding-bottom: 110px;
  /*
  .mv_illust_cloud {
      position: absolute;
      top: 0;
      left: calc(50% - 54vw);
      width: 111vw;
      max-width: 2300px;
      opacity: 0;
      transform: translateY(30px);
  }
  */ }
  #mv .mv_inr {
    position: relative;
    padding: 140px 4.5vw 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    max-width: 1900px;
    margin: 0 auto; }
  #mv h1 {
    position: absolute;
    left: 0;
    right: 0;
    top: 80px;
    margin: auto;
    width: 469px;
    z-index: 50; }
  #mv .mv_illust_area {
    position: relative;
    width: 68.83%;
    max-width: 1200px;
    min-width: 1060px;
    max-height: calc(100vh - 140px);
    min-height: 740px;
    background: #f4e4cb;
    margin: 0 auto;
    border-radius: 50px;
    z-index: 10;
    padding: 60px 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    opacity: 0; }
  #mv .mv_illust {
    width: 66.415%;
    width: calc((704 / 1060) * 100%);
    margin: 0 auto;
    max-height: 100%;
    min-width: 704px; }
  #mv .mv_icon_area {
    position: absolute;
    width: 68.83%;
    max-width: 1200px;
    min-width: 1060px;
    max-height: calc(100vh - 140px);
    height: 827px;
    margin: 0 auto;
    border-radius: 50px;
    z-index: 10;
    padding: 60px 0 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    left: 0;
    right: 0;
    top: 140px;
    margin: auto;
    z-index: 30; }
  #mv .mv_illust_plane {
    position: absolute;
    width: 30.094%;
    width: calc((310 / 1060) * 100%);
    right: -14.9%;
    top: -140px;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0; }
  #mv .mv_illust_bird {
    position: absolute;
    width: 10.66%;
    width: calc((113 / 1060) * 100%);
    left: 18.86%;
    top: calc(60px + 5.7%);
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0; }
  #mv .mv_illust_bubble {
    position: absolute;
    width: 64.24%;
    width: calc((681 / 1060) * 100%);
    right: 16.4%;
    bottom: calc(60px + 3%);
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0; }
  #mv .mv_illust_bubble01 {
    position: absolute;
    width: 17.075%;
    width: calc((181 / 1060) * 100%);
    top: calc(60px + 35.5%);
    left: 40%;
    -webkit-animation: swing linear 6s infinite;
    -webkit-transform-origin: 60% bottom 0;
    animation: swing linear 6s infinite;
    -webkit-transform-origin: 60% bottom 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0; }
  #mv .mv_illust_bubble02 {
    position: absolute;
    width: 7.45%;
    width: calc((79 / 1060) * 100%);
    right: 16.4%;
    bottom: calc(60px + 3%);
    -webkit-animation: swing02 linear 5s infinite;
    -webkit-transform-origin: center left 0;
    animation: swing02 linear 5s infinite;
    transform-origin: center left 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
    opacity: 0; }

@-webkit-keyframes swing02 {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(3deg); }
  50% {
    -webkit-transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0deg); } }
@keyframes swing02 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@-webkit-keyframes swing {
  0% {
    -webkit-transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(4deg); }
  50% {
    -webkit-transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-4deg); }
  100% {
    -webkit-transform: rotate(0deg); } }
@keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
.mv_illust_cloud {
  position: absolute;
  top: 140px;
  left: 0;
  width: 100%;
  height: 397px;
  background: url(../image/mv_illust_cloud01.png);
  background-size: 1711px 397px;
  width: 100%;
  overflow: hidden;
  -webkit-animation: loop 60s linear infinite;
          animation: loop 60s linear infinite;
  z-index: 20;
  opacity: 0; }

.mv_illust_cloud02 {
  position: absolute;
  top: 140px;
  left: 0;
  width: 100%;
  height: 397px;
  background: url(../image/mv_illust_cloud02.png);
  background-size: 1711px 397px;
  width: 100%;
  overflow: hidden;
  -webkit-animation: loop02 60s linear infinite;
          animation: loop02 60s linear infinite;
  z-index: 20;
  opacity: 0; }

@-webkit-keyframes loop {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes loop {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@-webkit-keyframes loop02 {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@keyframes loop02 {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
#mv.move .mv_illust_area {
  opacity: 100;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease; }
#mv.move .mv_illust_bubble01,
#mv.move .mv_illust_bubble02,
#mv.move .mv_illust_bird,
#mv.move .mv_illust_plane {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, transform 1s ease;
  transition: opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;
  -webkit-transition-delay: .6s;
          transition-delay: .6s; }
#mv.move .mv_illust_cloud,
#mv.move .mv_illust_cloud02 {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, transform 1s ease;
  transition: opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s; }
#mv.move .mv_menu_area,
#mv.move .mv_text_area,
#mv.move .top_sns_area {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
  transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
  transition: opacity 1.2s ease, transform 1.2s ease;
  transition: opacity 1.2s ease, transform 1.2s ease, -webkit-transform 1.2s ease;
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s; }

.mv_menu_area {
  position: absolute;
  left: 4.5vw;
  top: 290px;
  z-index: 50;
  opacity: 0; }
  .mv_menu_area a {
    display: block;
    margin-bottom: 50px; }
    .mv_menu_area a:hover span {
      color: #f95812;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    .mv_menu_area a:hover p {
      color: #f95812;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
  .mv_menu_area span {
    display: block;
    font-size: 12px;
    font-weight: 400;
    margin-bottom: 10px;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
  .mv_menu_area p {
    display: inline-block;
    font-size: 24px;
    font-size: var(--fz24);
    line-height: 1.45;
    font-weight: 700;
    letter-spacing: 0.06em;
    font-family: 'Zen Kaku Gothic New';
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }

.mv_text_area {
  position: absolute;
  top: 290px;
  right: 0;
  /*
  width: 15.58vw;
  */
  width: 17.58vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 50;
  opacity: 0; }
  .mv_text_area h2 {
    font-size: 40px;
    font-size: clamp(38px, 2.5974vw, 42px);
    line-height: 1.5;
    letter-spacing: 0.2em;
    font-weight: 700; }
  .mv_text_area:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -120px;
    margin: auto;
    width: 18px;
    height: 11px;
    background: url(../image/mv_text_ar.png);
    background-size: cover;
    -webkit-animation: arrowbt 2s var(--easeInOutQuad) infinite;
            animation: arrowbt 2s var(--easeInOutQuad) infinite; }

@-webkit-keyframes arrowbt {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes arrowbt {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
.top_sns_area {
  position: absolute;
  left: 4.5vw;
  top: 65px;
  z-index: 50;
  opacity: 0; }
  .top_sns_area a {
    display: inline-block;
    margin-right: 18px; }
    .top_sns_area a:hover {
      opacity: .7; }
  .top_sns_area .twi {
    margin-right: 16px;
    width: 25px; }
  .top_sns_area .insta {
    width: 21px; }
  .top_sns_area .fb {
    width: 22px; }
  .top_sns_area .dis {
    width: 98px;
    margin-right: 0; }

@media screen and (max-width: 1760px) {
  .mv_icon_area {
    height: 47.15vw; } }
@media screen and (max-width: 1630px) {
  #mv .mv_illust_bubble01 {
    top: calc(60px + 30.5%); }

  #mv .mv_illust_bubble02 {
    bottom: calc(60px + 8%); } }
@media screen and (max-width: 1540px) {
  .mv_text_area {
    width: calc(50% - 530px);
    min-width: 200px; }

  .mv_icon_area {
    height: 742px; } }
@media screen and (max-width: 1115px) {
  #mv .mv_illust_area,
  #mv .mv_icon_area {
    width: 95%;
    min-width: 100px; } }
@media screen and (max-width: 1000px) {
  #mv {
    max-height: 2000px; }

  .mv_text_area {
    top: 260px;
    right: 0;
    left: 0;
    margin: auto; }

  #mv .mv_illust_area {
    margin-top: 300px; }

  .mv_illust_cloud,
  .mv_illust_cloud02,
  #mv .mv_icon_area {
    top: 440px; }

  #mv.move .mv_menu_area,
  .mv_text_area:before {
    display: none; }

  #mv .mv_illust_bubble01 {
    top: calc(60px + 32%); }

  #mv .mv_illust_bubble02 {
    bottom: calc(60px + 6%);
    right: 14%; }

  #mv .top_sns_area {
    top: 40px; } }
@media screen and (max-width: 800px) {
  #mv {
    min-height: 750px;
    /*
    padding-bottom: 18.5vw;
    padding-bottom: var(--m70);
    */
    padding-bottom: 9.33vw;
    padding-bottom: var(--m35); }
    #mv .mv_inr {
      padding: 0; }
    #mv h1 {
      top: 78px;
      margin: auto;
      width: 67.6%;
      max-width: 469px; }
    #mv .mv_illust_area {
      max-height: 9999px;
      min-height: 100px;
      /*
      margin-top: 176px;
      */
      margin-top: 236px;
      margin-top: calc(78px + 47vw); }
    #mv .mv_illust {
      width: 88.16%;
      min-width: 280px; }
    #mv .mv_icon_area {
      height: 94vw;
      border-radius: 25px; }
    #mv .mv_illust_plane {
      width: 33.38%;
      width: calc((237 / 710) * 100%);
      right: -5.9%;
      top: -66px; }
    #mv .mv_illust_bird {
      width: 13.94%;
      width: calc((99 / 710) * 100%);
      left: 7.86%;
      top: calc(50px + 7.7%); }
    #mv .mv_illust_bubble01 {
      width: calc((161 / 710) * 100%);
      top: calc(50px + 33%);
      left: 36%; }
    #mv .mv_illust_bubble02 {
      width: calc((69 / 710) * 100%);
      right: 4.4%;
      bottom: calc(50px + 1%); }

  .mv_illust_cloud, #mv .mv_icon_area {
    /*
    top: 275px;
    top: 335px;
    */
    top: calc(78px + 47vw); }

  .mv_illust_cloud02 {
    top: calc(95px + 47vw); }

  .mv_text_area {
    /*
    top: 185px;
    top:245px;
    */
    top: calc(78px + 23.4vw);
    width: 17.58vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    z-index: 50;
    opacity: 0; }
    .mv_text_area h2 {
      font-size: 4.93vw;
      font-size: clamp(18px, 4.93vw, 37px); }

  .mv_illust_cloud,
  .mv_illust_cloud02 {
    height: 179px;
    background-size: 770px 179px; }

  @-webkit-keyframes loop {
    0% {
      background-position: -770px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }

  @keyframes loop {
    0% {
      background-position: -770px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }
  @-webkit-keyframes loop02 {
    0% {
      background-position: -710px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }
  @keyframes loop02 {
    0% {
      background-position: -710px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }
  .top_sns_area {
    position: relative;
    text-align: center;
    left: auto;
    width: 100%;
    top: auto;
    margin: 0 auto 35px;
    opacity: 100; }
    .top_sns_area a {
      margin-right: 30px; }
      .top_sns_area a:hover {
        opacity: 1; }
    .top_sns_area .twi {
      margin-right: 28px;
      width: 25px; }
    .top_sns_area .insta {
      width: 21px; }
    .top_sns_area .fb {
      width: 22px;
      margin-right: 26px; }
    .top_sns_area .dis {
      width: 98px;
      margin-right: 0; } }
/* ==========================================================================
	top_link_btn
========================================================================== */
.top_link_btn {
  position: relative;
  width: 90%;
  max-width: 1060px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto 110px; }
  .top_link_btn a {
    position: relative;
    width: 48.85%;
    height: 80px;
    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;
    background: #fff;
    border: 3px solid #222222;
    border-radius: 40px;
    font-size: 18px;
    padding-right: 20px;
    font-weight: 700;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .top_link_btn a:before {
      content: "";
      display: block;
      position: absolute;
      width: 19px;
      height: 19px;
      right: 36px;
      top: 0;
      bottom: 0;
      margin: auto;
      background: url(../image/common/shopping_icon_o.png);
      background-size: cover;
      z-index: 10; }
    .top_link_btn a:hover {
      background: var(--base-link-color);
      color: #fff;
      border-color: var(--base-link-color); }
      .top_link_btn a:hover:before {
        background-image: url(../image/common/shopping_icon_w.png); }

@media screen and (max-width: 850px) {
  .top_link_btn {
    position: relative;
    width: 88%; }
    .top_link_btn a {
      width: 100%; }
      .top_link_btn a:first-child {
        margin-bottom: 30px; } }
@media screen and (max-width: 800px) {
  .top_link_btn {
    position: relative;
    width: 88%;
    margin-bottom: 60px; }
    .top_link_btn a {
      height: 50px;
      font-size: 12px;
      width: 100%; }
      .top_link_btn a:before {
        width: 14px;
        height: 14px; }
      .top_link_btn a:first-child {
        margin-bottom: 15px; } }
/* ==========================================================================
	welcome_box
========================================================================== */
.welcome_box {
  position: relative;
  width: 92%;
  max-width: 1650px;
  margin: 0 auto 9.74vw;
  background: #fff;
  border-radius: 50px 50px 50px 10px;
  padding: 6.7vw 7.79vw 8.6vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden; }
  .welcome_box:before {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 867px);
    top: 0;
    margin: auto;
    width: 1734px;
    height: 425px;
    background: url(../image/welcome_cloud.png);
    background-size: cover;
    z-index: 1; }
  .welcome_box .text_area {
    position: relative;
    width: 58.18%;
    max-width: calc(100% - 510px);
    z-index: 10; }
  .welcome_box h2 {
    font-size: 38px;
    font-size: calmp(36px, 2.46vw, 38px);
    line-height: 1.52;
    font-weight: 700;
    letter-spacing: 0.014em;
    margin-bottom: 28px;
    margin-top: 50px; }
  .welcome_box h2 + h2 {
    margin-top: 0;
    margin-bottom: 30px; }
  .welcome_box p {
    font-size: 18px;
    font-size: var(--fz18);
    font-weight: 700;
    line-height: 2.22;
    letter-spacing: 0.08em; }
  .welcome_box .welcome_slide {
    position: relative;
    width: 40.9090%;
    min-width: 480px;
    z-index: 10; }
    .welcome_box .welcome_slide:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 30px;
      background: #f4e4cb;
      -webkit-transform: rotate(8deg);
              transform: rotate(8deg);
      z-index: 1; }
  .welcome_box .welcome_slide .slick-list {
    z-index: 10; }
  .welcome_box .welcome_slide img {
    border-radius: 30px; }

@media screen and (max-width: 1245px) {
  .welcome_box {
    padding: 7.79vw 7.5%; }
    .welcome_box .text_area {
      width: 100%;
      max-width: 100%; }
      .welcome_box .text_area .sp_off {
        display: none !Important; }
    .welcome_box .welcome_slide {
      width: 100%;
      max-width: 750px;
      min-width: 100px;
      margin: 80px auto 0; } }
@media screen and (max-width: 800px) {
  .welcome_box {
    width: 93.33%;
    margin: 0 auto 17vw;
    border-radius: 25px;
    padding: 16vw 6.5%;
    padding: var(--m60) 6.5%; }
    .welcome_box:before {
      left: calc(50% - 256px);
      top: calc(16vw - 18px);
      width: 512px;
      height: 166px;
      background-image: url(../image/welcome_cloud_sp.png); }
    .welcome_box h2 {
      font-size: 25px;
      font-size: clamp(25px, 6.66vw, 28px);
      margin: 22px 0 15px;
      letter-spacing: 0; }
    .welcome_box h2 + h2 {
      margin-top: 0;
      margin-bottom: 30px; }
    .welcome_box p {
      font-size: 16px;
      font-size: var(--fz16);
      line-height: 2.18; }
    .welcome_box .welcome_slide {
      margin-top: 12vw; }
      .welcome_box .welcome_slide:before {
        border-radius: 15px;
        -webkit-transform: rotate(6deg);
        transform: rotate(6deg); }
    .welcome_box .welcome_slide img {
      border-radius: 15px; }
    .welcome_box .slick-dots {
      display: none !Important; } }
/* ==========================================================================
	about_box
========================================================================== */
.about_box {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .about_box .tit_area {
    width: 13.63%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .about_box .text_area {
    width: 86.37%;
    background: #f4e4cb;
    padding: 90px 6.4vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0 50px 50px 0; }
  .about_box .text_box {
    width: 93%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    .about_box .text_box .sub_e_txt {
      display: block;
      width: 100%;
      margin-bottom: 0; }
    .about_box .text_box .m_tit_txt {
      display: block;
      margin: 25px 0 35px;
      width: 100%; }
    .about_box .text_box p {
      width: calc(100% - 390px);
      font-size: 18px;
      font-size: var(--fz18);
      font-weight: 700;
      line-height: 2; }
  .about_box .bg_box {
    position: relative;
    width: 100%;
    background: #faf5f0;
    border-radius: 50px;
    padding: 60px 7.5%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-top: 55px; }
  .about_box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 50px; }
  .about_box li {
    width: 31.914%;
    padding: 40px 5px 35px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    border: 3px solid #222;
    border-radius: 10px;
    background: #fff; }
    .about_box li p {
      font-size: 18px;
      font-size: var(--fz18);
      font-weight: 700; }
    .about_box li:first-child .icon {
      -webkit-transform: translateX(10px);
              transform: translateX(10px); }
  .about_box .icon {
    position: relative;
    display: block;
    width: 94px;
    margin: 0 auto 20px; }

@media screen and (max-width: 1200px) {
  .about_box .text_box p {
    width: 100%;
    margin-bottom: 35px; } }
@media screen and (max-width: 1000px) {
  .about_box {
    display: block;
    padding-top: 4vw; }
    .about_box .text_area {
      width: 96.66%;
      margin-top: 60px; } }
@media screen and (max-width: 800px) {
  .about_box {
    padding-top: 0; }
    .about_box .text_area {
      padding: 12vw 7.73vw 10.6vw 6vw;
      border-radius: 0 25px 25px 0;
      margin-top: 25px; }
    .about_box .text_box .sub_e_txt {
      display: block;
      width: 100%;
      margin-bottom: 0; }
    .about_box .text_box .m_tit_txt {
      margin: 15px 0 25px; }
    .about_box .text_box p {
      font-size: 15px;
      font-size: var(--fz15); }
    .about_box .bg_box {
      border-radius: 25px;
      padding: 8vw 0;
      margin-top: 10.6vw;
      text-align: center; }
    .about_box ul {
      width: 80.8%;
      margin: 35px auto 0; }
    .about_box li {
      width: 100%;
      padding: 20px 10px;
      border: 2px solid #222;
      border-radius: 5px;
      margin-bottom: 10px; }
      .about_box li:last-child {
        margin-bottom: 0; }
      .about_box li p {
        font-size: 12px;
        font-size: var(--fz12_5); }
      .about_box li:first-child .icon {
        -webkit-transform: translateX(5px);
                transform: translateX(5px); }
    .about_box .icon {
      width: 47px;
      /*
      width: calmp(47px,12.5vw,94px);
      */
      margin: 0 auto 12px; } }
/* ==========================================================================
	how_box
========================================================================== */
.how_box {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 9vw auto clamp(100px, 4.455vw, 150px);
  z-index: 20; }
  .how_box .tit_area {
    width: 16.88%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    height: 750px; }
    .how_box .tit_area .tit_v_txt {
      margin-left: 1.9vw; }
  .how_box .text_area {
    width: 83.12%; }
  .how_box .w_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 80px 6.49vw 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #fff;
    border-radius: 50px 0 0 50px;
    margin-bottom: 4.545vw; }
  .how_box .b_tit {
    display: block;
    width: 100%;
    margin-bottom: 50px; }
    .how_box .b_tit span {
      font-size: 32px;
      font-size: var(--fz32); }
  .how_box .m_txt {
    width: calc(100% - 390px);
    font-size: 18px;
    font-size: var(--fz18);
    font-weight: 700;
    line-height: 2; }
  .how_box ul {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 55px; }
  .how_box li {
    position: relative;
    width: 30.55%;
    margin-right: 4.175%;
    margin-bottom: 60px; }
    .how_box li:nth-child(3n) {
      margin-right: 0; }
    .how_box li a {
      position: relative;
      display: block; }
    .how_box li .img_area {
      position: relative;
      overflow: hidden;
      border-radius: 10px; }
      .how_box li .img_area:before {
        content: "";
        display: block;
        padding-top: 69.69%; }
      .how_box li .img_area img {
        -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
    .how_box li a:hover .img_area img {
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
      -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
  .how_box .b_txt {
    position: relative;
    font-size: 22px;
    font-size: var(--fz22);
    font-weight: 700;
    line-height: 1.545;
    letter-spacing: 0.12em;
    margin: 20px 0 15px;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
  .how_box .tag {
    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;
    font-size: 14px;
    width: 100px;
    height: 30px;
    letter-spacing: 0.08em;
    -webkit-transition: opacity 0.4s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad);
    border-radius: 30px;
    color: #222;
    font-weight: 500;
    border: 2px solid #222; }
    .how_box .tag.tag5 {
      background: #999999;
      color: #fff;
      border: none; }
    .how_box .tag.tag7 {
      width: 152px; }
    .how_box .tag.tag3 {
      color: #fff;
      background: #f95812;
      border: none; }
    .how_box .tag.tag4 {
      color: #fff;
      background: #f95812;
      border: none; }
  .how_box a:hover .b_txt {
    color: var(--base-link-color);
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
  .how_box a:hover .tag,
  .how_box a:hover .en {
    opacity: .7;
    -webkit-transition: opacity 0.4s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad); }
  .how_box .en {
    display: block;
    position: absolute;
    right: 0;
    bottom: 6px;
    text-align: right;
    font-size: 14px;
    color: #222;
    -webkit-transition: opacity 0.4s var(--easeOutQuad);
    transition: opacity 0.4s var(--easeOutQuad); }

@media screen and (max-width: 1200px) {
  .how_box .m_txt {
    width: 100%;
    margin-bottom: 35px; } }
@media screen and (max-width: 1000px) {
  .how_box {
    padding-top: 4vw;
    width: 100%; }
    .how_box .text_area {
      top: 0;
      width: 96.66%;
      margin: 60px 0 0 3.34%; } }
@media screen and (max-width: 800px) {
  .how_box {
    display: block;
    padding-top: 0;
    margin: 17vw auto; }
    .how_box .tit_area .tit_v_txt {
      margin-left: 0; }
    .how_box .w_box {
      display: block;
      padding: 13.3vw 0 23.3vw;
      border-radius: 25px 0 0 25px;
      margin-bottom: 8vw;
      overflow: hidden; }
    .how_box .b_tit {
      display: block;
      width: 92%;
      margin: 0 auto 30px; }
      .how_box .b_tit span {
        font-size: 19px;
        font-size: var(--fz19); }
    .how_box .m_txt {
      width: 84%;
      margin: 0 auto;
      font-size: 15px;
      font-size: var(--fz15); }
    .how_box ul {
      position: relative;
      width: 92%;
      /*
      width: 84%;
      */
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 35px auto 8%; }
    .how_box .slick-list {
      overflow: inherit; }
    .how_box li {
      position: relative;
      width: 48%;
      margin-right: 0;
      margin-bottom: 30px; }
    .how_box .b_txt {
      font-size: 13px;
      font-size: var(--fz13_5);
      margin: 10px 0 12px; }
    .how_box .tag {
      font-size: 12px;
      width: 80px;
      height: 25px;
      border-width: 1px; }
      .how_box .tag.tag7 {
        border-width: 1px;
        width: 120px; }
      .how_box .tag.tag6 {
        border-width: 1px; }
    .how_box .tag_txt {
      font-size: 11px;
      font-size: clamp(10px, 2.93vw, 12px); }
    .how_box .en {
      bottom: 4px;
      font-size: 12px; }
    .how_box .link_btn {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 13.3vw;
      width: 84%;
      margin: auto; } }
@media screen and (max-width: 500px) {
  .how_box .tag_txt {
    font-size: 10px; } }
/* ==========================================================================
	joined_box
========================================================================== */
.joined_box {
  position: relative;
  background: #f5ede2;
  z-index: 5; }
  .joined_box:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 250px;
    background: #faf5f0; }
  .joined_box .bg {
    display: block;
    position: absolute;
    left: 0;
    top: -290px;
    width: 100%;
    height: 768px;
    overflow: hidden; }
    .joined_box .bg:before {
      content: "";
      display: block;
      position: absolute;
      left: calc(50% - 1041px);
      top: 0;
      width: 2082px;
      height: 768px;
      z-index: 2;
      background: url(../image/joined_bg.png);
      background-size: cover; }
  .joined_box .bg02 {
    display: block;
    position: absolute;
    left: 0;
    bottom: -420px;
    width: 100%;
    height: 600px;
    overflow: hidden; }
    .joined_box .bg02:before {
      content: "";
      display: block;
      position: absolute;
      left: calc(50% - 1884px);
      top: 0;
      width: 3768px;
      height: 600px;
      z-index: 2;
      background: url(../image/letter_bg.jpg);
      background-size: cover; }
  .joined_box .tit_area {
    position: relative;
    width: 81.81%;
    max-width: 1550px;
    margin: 0 auto;
    z-index: 10; }
    .joined_box .tit_area h2 {
      margin: 40px 0 60px; }
  .joined_box .text_area {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 81.81%;
    max-width: 1550px;
    margin: 0 auto 6.49vw;
    z-index: 10; }
    .joined_box .text_area p {
      width: calc(100% - 360px);
      font-size: 18px;
      font-size: var(--fz18);
      font-weight: 700;
      line-height: 2; }
  .joined_box .w_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 88%;
    max-width: 1650px;
    background: #fff;
    border-radius: 10px 50px 50px 50px;
    padding: 100px 3.89vw 100px 4.545vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 4.545vw;
    z-index: 10; }
    .joined_box .w_box.v2 {
      border-radius: 50px 50px 10px 50px; }
  .joined_box .img_area {
    position: relative;
    width: 48.3%; }
    .joined_box .img_area:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 30px;
      background: #f4e4cb;
      -webkit-transform: rotate(8deg);
      transform: rotate(8deg);
      z-index: 1; }
    .joined_box .img_area .tag_txt {
      right: 15px; }
  .joined_box .icon {
    display: block;
    width: 180px;
    position: absolute;
    left: -34px;
    bottom: -34px;
    z-index: 20; }
  .joined_box .img {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    z-index: 2; }
    .joined_box .img:before {
      content: "";
      display: block;
      padding-top: 79.31%; }
  .joined_box .txt_area {
    width: 44%; }
  .joined_box h3 {
    font-size: 32px;
    font-size: var(--fz32);
    line-height: 1.625;
    font-weight: 700; }
  .joined_box .m_txt {
    font-size: 16px;
    font-size: var(--fz16);
    line-height: 2.25;
    font-weight: 700;
    margin: 30px 0 40px; }
  .joined_box .s_txt {
    position: relative;
    font-size: 15px;
    padding-left: 90px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: 500; }
    .joined_box .s_txt span {
      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;
      position: absolute;
      left: 0;
      top: -7px;
      width: 70px;
      height: 30px;
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      border-radius: 5px;
      background: #222; }

@media screen and (max-width: 1100px) {
  .joined_box .text_area p {
    width: 100%;
    margin-bottom: 35px; } }
@media screen and (max-width: 1000px) {
  .joined_box .tit_area {
    width: 93.32%; }
  .joined_box .text_area {
    width: 93.32%;
    max-width: 1550px;
    margin: 0 auto 6.49vw; }
  .joined_box .w_box {
    display: block;
    width: 100%;
    width: 93.32%;
    padding: 100px 6.49vw 6.49vw;
    margin: 0 auto 4.545vw;
    border-radius: 50px; }
    .joined_box .w_box.v2 {
      border-radius: 50px; }
  .joined_box .img_area {
    position: relative;
    width: 100%;
    max-width: 640px;
    margin: 0 auto; }
  .joined_box .txt_area {
    width: 100%;
    margin-top: 60px; } }
@media screen and (max-width: 800px) {
  .joined_box:after {
    height: 148px; }
  .joined_box .bg {
    top: -20px;
    height: 168px;
    overflow: hidden; }
    .joined_box .bg:before {
      /*
      left: calc(50% - 233px);
      width: 466px;
      */
      left: calc(50% - 400px);
      width: 800px;
      height: 168px;
      background-image: url(../image/joined_bg_sp02.png);
      background-repeat: repeat-x; }
  .joined_box .bg02 {
    display: block;
    position: absolute;
    left: 0;
    bottom: -420px;
    width: 100%;
    height: 600px;
    overflow: hidden; }
    .joined_box .bg02:before {
      content: "";
      display: block;
      position: absolute;
      left: calc(50% - 1884px);
      top: 0;
      width: 3768px;
      height: 600px;
      z-index: 2;
      background: url(../image/letter_bg.jpg);
      background-size: cover; }
  .joined_box .tit_area {
    width: 100%;
    padding-left: 6.4vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .joined_box .tit_area h2 {
      line-height: 1.48;
      margin: 20px 0 35px; }
  .joined_box .text_area {
    width: 86.66%;
    max-width: 1550px;
    margin: 0 auto 9.33vw; }
    .joined_box .text_area p {
      font-size: 15px;
      font-size: var(--fz15);
      margin-bottom: 0; }
    .joined_box .text_area .link_btn {
      display: none; }
  .joined_box .w_box {
    width: 93.33%;
    border-radius: 25px;
    padding: 16vw 8vw 13.3vw;
    margin: 0 auto 8vw;
    z-index: 10; }
    .joined_box .w_box.v2 {
      border-radius: 25px; }
  .joined_box .img_area {
    position: relative;
    width: 100%; }
    .joined_box .img_area:before {
      border-radius: 10px;
      -webkit-transform: rotate(6deg);
      transform: rotate(6deg); }
    .joined_box .img_area .tag_txt {
      right: 8px; }
  .joined_box .icon {
    width: 100px;
    width: calc(100px,26.6vw,180px);
    left: -5.33vw;
    bottom: -5.33vw; }
  .joined_box .img {
    border-radius: 10px; }
  .joined_box h3 {
    font-size: 21px;
    font-size: var(--fz21); }
  .joined_box .m_txt {
    font-size: 15px;
    font-size: var(--fz15);
    line-height: 2.2;
    margin: 30px 0 30px; }
  .joined_box .s_txt {
    position: relative;
    font-size: 12px;
    font-size: var(--fz12);
    padding-left: 60px; }
    .joined_box .s_txt span {
      font-size: 10px;
      top: -3px;
      width: 45px;
      height: 20px; }
  .joined_box .link_btn.pc_off {
    display: -webkit-box !Important;
    display: -ms-flexbox !Important;
    display: flex !Important;
    width: 88%;
    margin: 13.3vw auto 0; } }
/* ==========================================================================
	letter_box
========================================================================== */
.letter_box {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 140px auto 4.455vw;
  z-index: 10;
  /*.bg{
      display: block;
      position: absolute;
      left: 0;
      top: -300px;
      width: 100%;
      height: 600px;
      overflow: hidden;
      &:before{
          
      content:"";
      display: block;
      position: absolute;
      left: calc(50% - 1884px);
      top: 0;
      width: 3768px;
      height:600px;
      z-index:2;
      background:url(../image/letter_bg.jpg);
      background-size:cover;
      }
  }
  */ }
  .letter_box .tit_area {
    position: relative;
    width: 16.88%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    height: 500px;
    padding-top: 50px;
    z-index: 10; }
    .letter_box .tit_area .tit_v_txt {
      margin-left: 1.9vw; }
  .letter_box .text_area {
    width: 83.12%; }
  .letter_box .w_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 80px 6.49vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #faf5f0;
    border-radius: 50px 0 0 50px;
    z-index: 10; }
  .letter_box .m_txt {
    width: calc(100% - 390px);
    font-size: 18px;
    font-size: var(--fz18);
    font-weight: 700;
    line-height: 2; }
  .letter_box ul {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 55px; }
  .letter_box li {
    position: relative;
    width: 30.55%;
    margin-right: 4.175%; }
    .letter_box li:nth-child(3n) {
      margin-right: 0; }
    .letter_box li a {
      display: block; }
    .letter_box li .img_area {
      position: relative;
      overflow: hidden;
      border-radius: 10px; }
      .letter_box li .img_area:before {
        content: "";
        display: block;
        padding-top: 69.69%; }
      .letter_box li .img_area img {
        -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: -webkit-transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad);
        transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
    .letter_box li a:hover .img_area img {
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
      -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
  .letter_box .b_txt {
    position: relative;
    font-size: 22px;
    font-size: var(--fz22);
    font-weight: 700;
    line-height: 1.545;
    letter-spacing: 0.12em;
    margin: 20px 0 15px;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
  .letter_box .s_txt {
    font-size: 14px;
    font-size: var(--fz14);
    letter-spacing: 0.08em;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
  .letter_box a:hover .b_txt,
  .letter_box a:hover .s_txt {
    color: var(--base-link-color);
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }

@media screen and (max-width: 1200px) {
  .letter_box .m_txt {
    width: 100%;
    margin-bottom: 35px; } }
@media screen and (max-width: 1000px) {
  .letter_box {
    display: block; }
    .letter_box .tit_area {
      top: 0; }
    .letter_box .text_area {
      width: 100%; }
    .letter_box .w_box {
      width: 100%;
      background: none; } }
@media screen and (max-width: 800px) {
  .letter_box {
    display: block;
    margin: 18.6vw auto;
    z-index: 10; }
    .letter_box .tit_area {
      padding-top: 0; }
    .letter_box .tit_area .tit_v_txt,
    .letter_box .sub_e_txt.v_txt {
      margin-left: 0; }
    .letter_box .w_box {
      display: block;
      padding: 40px 0 96px;
      border-radius: 0;
      overflow: hidden; }
    .letter_box .m_txt {
      width: 86.6%;
      margin: 0 auto;
      font-size: 15px;
      font-size: var(--fz15); }
    .letter_box .slick-list {
      overflow: inherit; }
    .letter_box ul {
      display: block;
      position: relative;
      width: 92%;
      margin: 35px 0 0 6.7%;
      margin-top: 55px; }
    .letter_box li {
      position: relative;
      width: 50vw;
      margin-right: 4vw; }
      .letter_box li .img_area {
        border-radius: 5px; }
    .letter_box .b_txt {
      font-size: 13px;
      font-size: var(--fz13_5); }
    .letter_box .s_txt {
      font-size: 11px;
      font-size: var(--fz11); }
    .letter_box .link_btn {
      width: 86.6%;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto; } }
/* ==========================================================================
	news_box
========================================================================== */
.news_box {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  z-index: 10; }
  .news_box .tit_area {
    position: relative;
    width: 16.88%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    height: 250px;
    padding-top: 50px;
    z-index: 10; }
    .news_box .tit_area .tit_v_txt {
      margin-left: 1.9vw; }
  .news_box .text_area {
    width: 83.12%;
    background: #fff;
    padding: 90px 6.49vw 90px 5.84vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0 30px 30px 0; }
  .news_box ul {
    position: relative;
    width: 100%; }
  .news_box li {
    position: relative;
    width: 100%;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 4px dashed #dddddd; }
    .news_box li:last-child {
      border: none;
      margin-bottom: 0; }
  .news_box a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .news_box a:after {
      content: "";
      display: block;
      position: absolute;
      right: 6px;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 50px;
      height: 50px;
      background: url(../image/common/link_ar_sq.jpg);
      background-size: cover;
      border-radius: 50%;
      border: 2px solid #222222;
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .news_box a:hover:after {
      -webkit-transform: translateX(5px);
              transform: translateX(5px);
      border-color: var(--base-link-color);
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
  .news_box .img_area {
    position: relative;
    width: 19.35%;
    min-width: 210px;
    border-radius: 10px;
    overflow: hidden; }
    .news_box .img_area:before {
      content: "";
      display: block;
      padding-top: 71.4%; }
    .news_box .img_area img {
      -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: -webkit-transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad);
      transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
  .news_box a:hover .img_area img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
    transition: -webkit-transform 0.4s var(--easeOutQuad);
    transition: transform 0.4s var(--easeOutQuad);
    transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
  .news_box .txt_area {
    width: 75.39%;
    max-width: calc(100% - 240px);
    padding-right: calc(60px + 5.19vw);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .news_box .txt_area .dp {
      display: block;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    .news_box .txt_area .day {
      display: inline-block;
      margin-right: 50px;
      font-size: 14px;
      font-size: var(--fz14);
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    .news_box .txt_area .place {
      position: relative;
      display: inline-block;
      font-size: 14px;
      font-size: var(--fz14);
      font-weight: 500; }
      .news_box .txt_area .place:before {
        content: "";
        display: block;
        width: 18px;
        height: 24px;
        position: absolute;
        left: -25px;
        top: -8px;
        background: url(../image/common/pin.png);
        background-size: cover; }
    .news_box .txt_area p {
      font-size: 22px;
      font-size: var(--fz22);
      line-height: 1.545;
      letter-spacing: 0.14em;
      font-weight: 700;
      margin-top: 25px;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
  .news_box a:hover .txt_area p,
  .news_box a:hover .txt_area .dp,
  .news_box a:hover .txt_area .day {
    color: var(--base-link-color);
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }

@media screen and (max-width: 1000px) {
  .news_box {
    display: block; }
    .news_box .tit_area {
      top: 0;
      padding-top: 0; }
      .news_box .tit_area .tit_v_txt {
        margin-left: 0; }
    .news_box .text_area {
      width: 96.66%;
      margin-top: 60px; } }
@media screen and (max-width: 800px) {
  .news_box .text_area {
    width: 96.66%;
    padding: 1.34vw 4.66vw 1.34vw 6vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 0 15px 15px 0;
    margin-top: 30px; }
  .news_box li {
    position: relative;
    width: 100%;
    padding-bottom: 6.66vw;
    margin-bottom: 6.66vw;
    border-bottom: 2px dashed #dddddd; }
    .news_box li:first-child {
      padding-top: 6.66vw; }
  .news_box a:after {
    right: 3px;
    width: 20px;
    height: 20px;
    border: 1px solid #222222; }
  .news_box .img_area {
    width: 28%;
    min-width: 10px;
    border-radius: 5px; }
  .news_box .txt_area {
    width: 68.2%;
    max-width: 100%;
    padding-right: calc(20px + 6vw); }
    .news_box .txt_area .day {
      margin-right: 23px;
      font-size: 10px;
      font-size: var(--fz10); }
    .news_box .txt_area .place {
      font-size: 10px;
      font-size: var(--fz10); }
      .news_box .txt_area .place:before {
        width: 9px;
        height: 12px;
        left: -14px;
        top: -1px; }
    .news_box .txt_area p {
      font-size: 12px;
      font-size: var(--fz12);
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      margin-top: 10px; } }
/* ==========================================================================
	contact
========================================================================== */
#contact {
  position: relative;
  margin-top: 140px;
  padding-bottom: 116px;
  background: #f5ede2; }
  #contact:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 160px;
    background: #faf5f0;
    z-index: 1; }
  #contact .bg {
    display: block;
    position: absolute;
    left: 0;
    top: -290px;
    width: 100%;
    height: 768px;
    overflow: hidden;
    z-index: 2; }
    #contact .bg:before {
      content: "";
      display: block;
      position: absolute;
      left: calc(50% - 1041px);
      top: 0;
      width: 2082px;
      height: 768px;
      z-index: 2;
      background: url(../image/joined_bg.png);
      background-size: cover; }
  #contact .contact_inr {
    position: relative;
    width: 53.44%;
    min-width: 823px;
    max-width: 1300px;
    margin: 0 auto;
    z-index: 10; }
  #contact .tit_v_txt {
    margin-top: 40px; }
  #contact h3 {
    position: relative;
    text-align: center;
    font-size: 35px;
    font-size: clamp(33px, 2.272vw, 35px);
    font-weight: 700;
    margin: 66px 0 40px; }
  #contact .m_txt {
    font-size: 16px;
    font-size: var(--fz16);
    line-height: 2.25;
    font-weight: 700;
    margin: 66px 0 70px;
    letter-spacing: 0.14em; }
  #contact .c_txt {
    text-align: center;
    margin: 0 auto 50px; }
  #contact ul .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 15px;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 40px; }
    #contact ul .item .text_area {
      width: 200px;
      font-size: 16px;
      font-weight: 700; }
      #contact ul .item .text_area span {
        position: relative;
        display: inline-block;
        padding: 6px 10px;
        background: #f95812;
        color: #fff;
        font-size: 14px;
        margin-left: 10px;
        border-radius: 15px; }
    #contact ul .item .form_area {
      width: calc(100% - 200px);
      font-size: 16px; }
    #contact ul .item .form-item {
      width: 100%;
      font-size: 16px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border: none; }
    #contact ul .item.b_item .text_area,
    #contact ul .item.b_item .form_area {
      width: 100%; }
    #contact ul .item.b_item .form-item {
      height: 170px;
      margin-top: 10px; }
    #contact ul .item label {
      font-weight: 500; }
  #contact ul .btm {
    margin: 60px 0 0; }
    #contact ul .btm .txt {
      font-size: 14px;
      font-size: var(--fz14);
      font-weight: 700;
      letter-spacing: 0.14em;
      line-height: 2.14; }
  #contact .link_btn {
    margin: 70px auto 0; }
    #contact .link_btn .form-submit {
      width: 330px;
      height: 80px;
      border: none;
      font-weight: 700;
      background: none;
      font-size: 18px;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    #contact .link_btn:hover .form-submit {
      color: #fff;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }

@media screen and (max-width: 940px) {
  #contact .contact_inr {
    width: 88%;
    min-width: 10px; } }
@media screen and (max-width: 800px) {
  #contact {
    margin-top: 18.6vw;
    padding-bottom: 18.6vw; }
    #contact:before {
      height: 138px; }
    #contact .bg {
      top: -30px;
      height: 168px; }
      #contact .bg:before {
        /*
        left: calc(50% - 233px);
        width: 466px;
        height:168px;
        background-image:url(../image/joined_bg_sp.png);
        background-repeat: repeat-x;
        */
        left: calc(50% - 619px);
        width: 1239px;
        height: 180px;
        background-image: url(../image/common/h_mv_af_sp02.png); }
    #contact .tit_v_txt {
      margin-top: 20px; }
    #contact h3 {
      font-size: 24px;
      font-size: clamp(24px, 6.4vw, 27px);
      font-weight: 700;
      margin: 35px 0 25px; }
    #contact .m_txt {
      font-size: 12px;
      font-size: var(--fz12);
      line-height: 2.08;
      letter-spacing: 0.08em;
      margin: 30px 0 30px; }
    #contact .c_txt {
      font-size: 12px;
      font-size: var(--fz12);
      margin: 0 auto 30px; }
    #contact ul .item {
      border-radius: 8px;
      padding: 14px 12px 0px;
      margin-bottom: 20px;
      margin-bottom: 20px; }
      #contact ul .item .text_area {
        width: 150px;
        font-size: 12px;
        font-size: var(--fz12_5); }
        #contact ul .item .text_area span {
          padding: 3px 5px;
          font-size: 10px;
          margin-left: 4px; }
      #contact ul .item .form_area {
        width: calc(100% - 150px);
        height: 20px;
        margin-top: 10px;
        font-size: 12px;
        font-size: var(--fz12_5); }
      #contact ul .item .form-item {
        font-size: 12px;
        font-size: var(--fz12_5); }
      #contact ul .item.b_item .text_area,
      #contact ul .item.b_item .form_area {
        width: 100%; }
      #contact ul .item.b_item .form_area {
        height: auto; }
      #contact ul .item.b_item .form-item {
        height: 170px;
        margin-top: 10px; }
    #contact ul .btm {
      margin: 35px 0 0; }
      #contact ul .btm .txt {
        font-size: 12px;
        font-size: var(--fz12_5);
        letter-spacing: 0.08em; }
    #contact .link_btn {
      margin: 35px auto 0; }
      #contact .link_btn .form-submit {
        width: 100%;
        height: 50px;
        height: clamp(50px, 13.3vw, 60px);
        border: none;
        font-size: 11px;
        font-size: clamp(11px, 3.066vw, 12px);
        color: #222; }
      #contact .link_btn:hover .form-submit {
        color: #222; } }

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