/* ===================
common
====================== */
:root{
  --main-font-ss: .83333vw;
  --main-font-s: 1vw;
  --main-font-m: 1.38889vw;
  --main-font-l: 3.33333vw;
  --main-font-ll: 3.75vw;

  --main-sp-font-ss: 2.66667vw;
  --main-sp-font-s: 3.2vw;
  --main-sp-font-m: 6.4vw;
  --main-sp-font-l: 8vw;
  /* --main-sp-font-ll: 40px; */

  --color-bg1: #FFFAEA;
  --color-bg2: #000000;
  --color-main1: #030A17;

  --wrap-width: 83.33333vw;
  --wrap-sp-width: 89.33333vw;
  --flex2-item-width: 38.888905vw;
  --flex2-item-gap: 5.55552vw;
  --flex2-sp-item-gap: 10.66667vw;

  --break-point: 960px;
  --main-cubic-bezier: cubic-bezier(.1,.69,.55,.91);
}
main{
  position: relative;
}
h1,h2,h3,h4,h5,h6,p,span,li,a{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--main-font-color);
}
img{
  width: 100%;
  height: auto;
}
video{
  width: 100%;
  height: auto;
}
h2{
  font-size: var(--main-font-l);
  letter-spacing: .1em;
  line-height: 1;
}
h3{
  font-size: var(--main-font-m);
  letter-spacing: .1em;
}
h4 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.11111vw;
  line-height: 2;
  letter-spacing: .05em;
}
p{
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--main-font-s);
  line-height: 2;
  letter-spacing: .05em;
}
.font_sans{
  font-family: "Noto Sans JP", sans-serif;
}
.widecover_img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.widecover_img img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.fit3by1cover_img {
  aspect-ratio: 3 / 1;
  overflow: hidden;
}
.fit3by1cover_img img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.fit1by1cover_img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.fit1by1cover_img img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.fit2by3cover_img{
  aspect-ratio: 2 / 3;
  overflow: hidden;
}
.fit2by3cover_img img{
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: all .3s var(--main-cubic-bezier);
}
.item_link {
  font-size: 1.2vw;
}
.item_link a {
  position: relative;
  padding-right: 3.333em;
  transition: all .3s var(--main-cubic-bezier);
}
.item_link a::after {
  content: '→';
  font-size: var(--main-font-l);
  margin-left: .25em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0,-50%);
  transition: all .3s var(--main-cubic-bezier);
}
.item_link a:hover{
  opacity: .8;
}
.item_link a:hover::after{
  transform: translate(10%,-50%);
}
.page-tr {
  display: flex;
  flex-wrap: wrap;
  align-items: self-start;
  border-top: 1px solid #ccc;
  gap: 3%;
}
.page-th {
  width: 30%;
}
.page-th h3 {
  margin-top: 1.66666vw !important;
}
.page-td {
  width: 67%;
  margin-top: .26666vw;
}
.page-tr.last {
  border-bottom: 1px solid #ccc;
}
#breadcrumbs{
  background: var(--color-bg1);
}
.aioseo-breadcrumbs {
  font-size: var(--main-font-s);
  width: var(--wrap-width);
  margin: 0 auto;
  padding-bottom: 2.77778vw;
}
.footer_recaptcha {
  text-align: center;
  font-size: calc(var(--main-font-ss) * .8);
}
.grecaptcha-badge { visibility: hidden; }
@media only screen and (max-width: 960px) {
  h2{
    font-size: var(--main-sp-font-l);
  }
  h3{
    font-size: var(--main-sp-font-m);
  }
  h4 {
    font-size: calc( var(--main-sp-font-s) * 1.1 );
  }
  p{
    font-size: var(--main-sp-font-s);
  }
  .item_link {
    font-size: calc( var(--main-sp-font-s) * 1.2 );
  }
  .item_link a{
    padding-right: 2.666em;
    line-height: 3;
  }
  .item_link a::after{
    font-size: var(--main-sp-font-l);
  }
  .page-th {
    width: 100%;
  }
  .page-th h3 {
    margin-top: revert !important;
  }
  .page-td {
    width: 100%;
  }
  .aioseo-breadcrumbs {
    font-size: var(--main-sp-font-s);
    width: var(--wrap-sp-width);
    padding-bottom: 6.66667vw;
  }
  .footer_recaptcha {
    font-size: calc(var(--main-sp-font-ss) * .8);
  }
}

/* ===================
header
====================== */
#header {
  background: linear-gradient(180deg, #000000 0%, #00000099 25%, #00000022 75%, transparent);
  height: 4.5vw;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transition: background-color .3s var(--main-cubic-bezier), height .3s var(--main-cubic-bezier);
}
.header_inner {
  display: flex;
  height: 100%;
  width: 100%;
  padding-left: 4.16667vw;
  align-items: end;
  justify-content: space-between;
  padding-bottom: .5vw;
}
.header_nav_list{
  display: flex;
  gap: 6vw;
  transition: all .3s var(--main-cubic-bezier);
}
.header_nav_item {
  color: #fff;
  font-size: 1.1vw;
  letter-spacing: .1em;
  transition: all .3s var(--main-cubic-bezier);
}
.header_nav_item a{
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.header_nav_item a:hover{
  opacity: .8;
}
.header_logo {
  width: 8vw;
  transition: all .3s var(--main-cubic-bezier);
}
.header_sub {
  color: #fff;
  align-items: flex-end;
  margin-right: 9.72222vw;
  margin-top: .34722vw;
  transition: all .3s var(--main-cubic-bezier);
}
.header_lang {
  width: 4vw;
  display: flex;
  justify-content: space-around;
}
.header_lang_item {
  display: inline;
  font-size: var(--main-font-ss);
  letter-spacing: .1em;
}
#header_hamburger {
  position: absolute;
  right: 2.98611vw;
  bottom: -0.5vw;
  width: 4.58333vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  z-index: 1000;
}
.header_hamburger_line {
  position: relative;
  width: 3.24vw;
  height: 1.90556vw;
  cursor: pointer;
}
.header_hamburger_line span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  border-radius: 4px;
  transition: all .3s var(--main-cubic-bezier);
}
.header_hamburger_line,
.header_hamburger_line span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.header_hamburger_line span:nth-of-type(1) {
  top: 0;
}
.header_hamburger_line span:nth-of-type(2) {
  top: 0.95278vw;
}
.header_hamburger_line span:nth-of-type(3) {
  bottom: 0;
}
#header_hamburger.active .header_hamburger_line span:nth-of-type(1) {
  -webkit-transform: translateY(0.95278vw) rotate(-315deg);
  transform: translateY(0.95278vw) rotate(-315deg);
}
#header_hamburger.active .header_hamburger_line span:nth-of-type(2) {
  opacity: 0;
}
#header_hamburger.active .header_hamburger_line span:nth-of-type(3) {
  -webkit-transform: translateY(-0.95278vw) rotate(315deg);
  transform: translateY(-0.95278vw) rotate(315deg);
}
.header_hamburger_label {
  color: #fff;
  line-height: 2;
  font-size: var(--main-font-s);
  transition: all .3s var(--main-cubic-bezier);
}
.header_hamburger_label_menu{
  display: none;
}
.header_hamburger_label_close{
  display: none;
}
.header_hamburger_label_menu.active{
  display: block;
}
.header_hamburger_label_close.active{
  display: block;
}
#modalmenu{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  background: var(--color-bg2);
  transition: all .3s var(--main-cubic-bezier);
  visibility: hidden;
  opacity: 0;
  z-index: 999;
  overflow: hidden;
}
#modalmenu.active{
  visibility: visible;
  opacity: 1;
}
.menu_inner{
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.menu_movie {
  overflow: hidden;
  position: relative;
  width: calc(100% - 30vw);
  height: 100%;
  display: block;
}
.menu_movie video {
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  min-width: 100%;
  min-height: 100%;
}
.menu_main {
  width: 30vw;
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: 1;
  color: #fff;
  padding-top: 4.5vw;
}
.menu_main_inner{
  padding-top: 2vw;
  padding-left: 4vw;
  padding-right: 2.98611vw;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; /* iOS Safari の慣性スクロール対応 */
  overscroll-behavior: contain; /* 背景のスクロール伝播を防止 */
}
.menu_main .item_link{
  font-size: var(--main-font-m);
}
.menu_main .item_link a{
  display: inline-block;
  font-weight: 600;
  text-align: right;
  line-height: 1;
}
.menu_main .item_link span{
  font-size: var(--main-font-ss);
}
.menu_main_item:first-child{
  padding-top: 0;
}
.menu_main_item{
  padding-top: 2.43056vw;
  padding-left: var(--main-font-s);
  padding-bottom: 2.43056vw;
}
hr.menu_main_hr {
  border-top: 1px solid #555;
}
.menu_main_nav_item{
  font-size: calc( var(--main-font-s) * 1.111 );
  line-height: 2.666;
}
.menu_main_nav_item a{
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.menu_main_nav_item a:hover{
  opacity: .8;
}
.menu_main_sns {
  display: flex;
  gap: 1.73611vw;
}
.menu_main_sns_item {
  width: 1.94444vw;
}
.menu_main_sns_item a{
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.menu_main_sns_item a:hover{
  opacity: .8;
}
.menu_main_sub_list {
  display: flex;
  flex-wrap: wrap;
  font-size: calc(var(--main-font-s) * 0.8);
  column-gap: 1vw;
  row-gap: .5vw;
}
.menu_main_sub_item {
  background: #555;
  padding: .1vw calc(var(--main-font-s) * .8);
}
#floating_banner{
  position: fixed;
  bottom: -7vw;
  right: -1px;
  z-index: 1;
  width: 20vw;
  height: 7vw;
  background: var(--color-bg2);
  color: #fff;
  border: 1px solid #555;
  transition: all .3s var(--main-cubic-bezier);
}
#floating_banner.is-show {
  bottom: -1px;
}
.floating_banner_inner{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1vw;
}
#floating_banner .item_link{
  font-size: var(--main-font-m);
}
#floating_banner .item_link a{
  display: inline-block;
  font-weight: 600;
  text-align: right;
  line-height: 1;
}
#floating_banner .item_link span{
  font-size: var(--main-font-ss);
}
@media only screen and (max-width: 960px) {
  #header{
    height: 17.33333vmin;
  }
  .header_nav{
    display: none;
  }
  .header_logo{
    width: 36vmin;
  }
  .header_sub{
    margin-right: 24vmin;
  }
  .header_lang {
    width: 15vmin;
  }
  .header_lang_item{
    font-size: var(--main-sp-font-s);
  }
  #header_hamburger{
    width: 11.46667vmin;
    height: 12.53333vmin;
  }
  .header_hamburger_line{
    width: 11.46667vmin;
    height: 5.33333vmin;
  }
  .header_hamburger_line span:nth-of-type(2){
    top: 2.666665vw;
  }
  #header_hamburger.active .header_hamburger_line span:nth-of-type(1){
    -webkit-transform: translateY(2.666665vw) rotate(-315deg);
    transform: translateY(2.666665vw) rotate(-315deg);
  }
  #header_hamburger.active .header_hamburger_line span:nth-of-type(3) {
    -webkit-transform: translateY(-2.666665vw) rotate(315deg);
    transform: translateY(-2.666665vw) rotate(315deg);
  }
  .header_hamburger_label{
    line-height: 2.66666;
    font-size: var(--main-sp-font-s);
  }
  .menu_movie{
    display: none;
  }
  .menu_main{
    width: 100%;
  }
  .menu_main_inner {
    padding-top: 17.33333vmin;
    padding-left: 4.8vmin;
    padding-right: 4.8vmin;
  }
  .menu_main .item_link {
    font-size: var(--main-sp-font-m);
  }
  .menu_main .item_link span {
    font-size: var(--main-sp-font-ss);
  }
  .menu_main_item {
    padding-top: 8vmin;
    padding-left: var(--main-sp-font-s);
    padding-bottom: 8vmin;
  }
  .menu_main_nav_item {
    font-size: calc(var(--main-sp-font-s) * 1.111);
    line-height: 2.666;
  }
  .menu_main_sns {
    gap: 4.8vmin;
  }
  .menu_main_sns_item {
    width: 7.46667vmin;
  }
  .menu_main_sub_list {
    font-size: calc(var(--main-sp-font-s) * 0.8);
    column-gap: 4vw;
    row-gap: 2.5vw;
  }
  .menu_main_sub_item {
    padding: .1vw calc(var(--main-sp-font-s) * .8);
  }
  #floating_banner{
    right: 0;
    width: 100%;
    bottom: -22vw;
    height: 22vw;
  }
  #floating_banner .item_link {
    font-size: var(--main-sp-font-m);
  }
  #floating_banner .item_link span {
    font-size: var(--main-sp-font-ss);
  }
}
/*scrolled*/
#header.scrolled {
  background: var(--color-bg1);
  border: 1px solid #ccc;
  height: 4vw;
}
#header.scrolled .header_logo{
  filter: brightness(0) saturate(100%) invert(4%) sepia(17%) saturate(5469%) hue-rotate(198deg) brightness(95%) contrast(101%);
}
#header.scrolled .header_nav_item {
  color: #000;
}
#header.scrolled .header_nav_list{
  transform: scale(0.9);
}
#header.scrolled .header_sub{
  color: #000;
}
#header.scrolled .header_hamburger_line span{
  background-color: #000;
}
#header.scrolled .header_hamburger_label{
  color: #000;
}
#header.scrolled #header_hamburger.active .header_hamburger_line span{
  background-color: #fff;
}
#header.scrolled #header_hamburger.active .header_hamburger_label{
  color: #fff;
}
@media only screen and (max-width: 960px) {
  #header.scrolled {
    height: 17.33333vmin;
  }
}

/* ===================
footer
====================== */
#footer {
  background: var(--color-bg2);
  color: #fff;
  padding-top: 6.94444vw;
}
.footer_inner {
  width: var(--wrap-width);
  margin: 0 auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
.footer_header {
  width: 35%;
}
.footer_shop {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
  margin-bottom: 1.5vw;
}
.footer_shop .logo{
  width: 8vw;
}
.footer_shop .info .tel{
  line-height: 1.75;
}
.footer_shop .info .tel span {
  font-size: 2.2vw;
}
.footer_shop .info .address{
  line-height: 1.5;
}
.footer_contact {
  margin-top: 1vw;
}
.footer_contact a {
  display: block;
  text-align: center;
  border: 1px solid #fff;
  padding: .8vw;
  font-size: var(--main-font-s);
  border-radius: 1.5vw;
}
.footer_nav_list ul {
  display: flex;
  flex-direction: column;
  font-size: 1.1vw;
  letter-spacing: .1em;
  line-height: 2;
  max-height: 15vw;
  flex-wrap: wrap;
  column-gap: 6vw;
}
.footer_nav_item a{
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.footer_nav_item a:hover{
  opacity: .8;
}
.footer_sns {
  margin-top: 5vw;
  margin-bottom: 1vw;
}
.footer_sns ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 1vw;
}
.footer_sns ul li {
  width: 1.33vw;
}
.footer_sns ul li a{
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.footer_sns ul li a:hover{
  opacity: .8;
}
.copyright{
  text-align: center;
  font-size: var(--main-font-ss);
  font-weight: 300;
  padding-bottom: 3vw;
}
@media only screen and (max-width: 960px) {
  #footer{
    padding-bottom: 25vw;
  }
  .footer_header{
    width: 100%;
    margin-bottom: 5vw;
  }
  .footer_inner{
    width: var(--wrap-sp-width);
  }
  .footer_shop{
    justify-content: space-between;
    align-items: center;
  }
  .footer_shop .logo {
    width: 28vw;
  }
  .footer_shop .info .tel span{
    font-size: 7vw;
  }
  .info {
    width: calc(93% - 28vw);
  }
  .footer_open{
    text-align: center;
  }
  .footer_contact a {
    padding: var(--main-sp-font-s);
    font-size: var(--main-sp-font-s);
    border-radius: calc(var(--main-sp-font-s) * 3);
    width: 90%;
    margin: 0 auto;
  }
  .footer_nav_list ul{
    flex-direction: row;
    font-size: var(--main-sp-font-s);
    column-gap: 0;
    max-height: none;
  }
  .footer_nav_item {
    width: 50%;
  }
  .footer_sns ul{
    gap: var(--main-sp-font-s);
  }
  .footer_sns ul li {
    width: var(--main-sp-font-m);
  }
  .copyright{
    font-size: var(--main-sp-font-ss);
  }
}

/* ===================
loading
====================== */
#loading{
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 1000;
  animation: blur_reverse 2s 5s forwards;
}
#loading.is-active{
  visibility: hidden !important;
  opacity: 0;
}
#loading.is-active::before{
  visibility: hidden !important;
  opacity: 0;
}
#loading.is-active::after{
  visibility: hidden !important;
  opacity: 0;
}
#loading.is-active .loading_mov{
  visibility: hidden !important;
  opacity: 0;
}
.loading_inner{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  animation: loading_image 5s forwards;
}
.loading_img{
  width: 19vw;
  margin-bottom: 1vw;
}
.loading_mov{
  position: relative;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  z-index: 1;
  filter: blur(0);
  visibility: visible;
  opacity: 1;
  animation: blur_reverse 1s 4s forwards;
}
.loading_mov video{
  left: 50%;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  min-width: 100%;
  min-height: 100%;
}
.loading_title{
  text-align: center;
  width: 100vw;
  width: 100dvw;
}
.loading_title span{
  color: #fff;
  font-size: var(--main-font-m);
  filter: blur(5px);
  visibility: hidden;
  opacity: 0;
}
.loading_title span:nth-of-type(1){
  animation: textblur 1s forwards;
}
.loading_title span:nth-of-type(2){
  animation: textblur 1s 1s forwards;
}
.loading_title span:nth-of-type(3){
  animation: textblur 1s 2s forwards;
}
@keyframes textblur{
  0%{visibility: visible; filter: blur(5px);}
  100%{visibility: visible; opacity: 1; filter: blur(0);}
}
@-webkit-keyframes textblur{
  0%{visibility: visible; filter: blur(5px);}
  100%{visibility: visible; opacity: 1; filter: blur(0);}
}
@keyframes blur_reverse{
  0%{visibility: visible; opacity: 1; filter: blur(0);}
  100%{visibility: hidden; filter: blur(5px); opacity: 0;}
}
@-webkit-keyframes blur_reverse{
  0%{visibility: visible; opacity: 1; filter: blur(0);}
  100%{visibility: hidden; filter: blur(5px); opacity: 0;}
}
@keyframes loading_image{
  0%{visibility: visible; opacity: 0; filter: blur(5px); transform: translate(-50%, -50%) scale(1);}
  20%{visibility: visible; opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1.015);}
  80%{visibility: visible; opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1.06);}
  100%{visibility: hidden; filter: blur(5px); opacity: 0; transform: translate(-50%, -50%) scale(1.05);}
}
@-webkit-keyframes loading_image{
  0%{visibility: visible; opacity: 0; filter: blur(5px); transform: translate(-50%, -50%) scale(1);}
  20%{visibility: visible; opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1.015);}
  80%{visibility: visible; opacity: 1; filter: blur(0); transform: translate(-50%, -50%) scale(1.06);}
  100%{visibility: hidden; filter: blur(5px); opacity: 0; transform: translate(-50%, -50%) scale(1.05);}
}

#loading::before,#loading::after{
  position: fixed;
  top: -15%;
  display: block;
  visibility: visible;
  width: 50%;
  height: 130%;
  content: '';
  background-color: var(--color-bg2);
}
#loading::before{
  left: 0;
  animation : curtain_l 3s 4s forwards;
  -webkit-animation : curtain_l 3s 4s forwards;
}
#loading::after{
  right: 0;
  animation : curtain_r 3s 4s forwards;
  -webkit-animation : curtain_r 3s 4s forwards;
}

@keyframes curtain_l{
  0%{visibility: visible;}
  20%{transform: rotate(0deg) translateX(0%); background-color: var(--color-main1);}
  60%{transform: rotate(-6deg) translateX(-50%);}
  80%{opacity: 1;}
  100%{transform: rotate(0deg) translateX(-100%); opacity:0; visibility: hidden;}
}
@-webkit-keyframes curtain_l{
  0%{visibility: visible;}
  20%{-webkit-transform: rotate(0deg) translateX(0%); background-color: var(--color-main1);}
  60%{-webkit-transform: rotate(-6deg) translateX(-50%);}
  80%{opacity: 1;}
  100%{-webkit-transform: rotate(0deg) translateX(-100%); opacity:0; visibility: hidden;}
}
@keyframes curtain_r{
  0%{ visibility: visible;}
  20%{transform: rotate(0deg) translateX(0%); background-color: var(--color-main1);}
  60%{transform: rotate(6deg) translateX(50%);}
  80%{opacity: 1;}
  100%{transform: rotate(0deg) translateX(100%); opacity:0; visibility: hidden;}
}
@-webkit-keyframes curtain_r{
  0%{visibility: visible;}
  20%{-webkit-transform: rotate(0deg) translateX(0%); background-color: var(--color-main1);}
  60%{-webkit-transform: rotate(6deg) translateX(50%);}
  80%{opacity: 1;}
  100%{-webkit-transform: rotate(0deg) translateX(100%); opacity:0; visibility: hidden;}
}
@media only screen and (max-width: 960px){
  .loading_img{
    width: 50vw;
  }
  .loading_title span{
    font-size: 4.4444vw;
  }
}

/* ===================
front-page
====================== */
.mv_inner{
  aspect-ratio: 16 / 7.5;
  margin-top: 0;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.mv_video {
  display: flex;
  overflow: hidden;
  pointer-events: none;
  background-color: var(--color-bg2);
}
.mv_video video{
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
.mv_title {
  position: absolute;
  z-index: 1;
  width: 10vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mv_shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3vw;
  background: linear-gradient(180deg, #000000 0%, #000000aa 25%, #00000022 75%, transparent 100%);
}
#soon {
  background: var(--color-bg2);
  width: 100%;
  position: relative;
  display: flex;
  padding-bottom: 6.94444vw;
  padding-top: 5.55556vw;
}
.soon_header {
  position: relative;
  width: 14.58333vw;
}
.soon_header_inner {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 11.80556vw;
  transform: rotate(90deg);
  transform-origin: left top;
}
.soon_title {
  color: #fff;
  flex-shrink: 0;
}
.soon_subtitle{
  color: #fff;
  flex-shrink: 0;
  font-size: var(--main-font-m);
  line-height: 1;
  margin-left: 1.38889vw;
}
.soon_inner{
  width: calc(100% - 14.58333vw);
}
.soon_item_text h3 {
  position: relative;
  font-size: var(--main-font-m);
  line-height: 3;
  display: inline;
  color: #fff;
  transition: all .3s var(--main-cubic-bezier);
}
.soon_item_text h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  z-index: -1;
  height: 100%;
  content: "";
  background-color: var(--color-bg1);
  transition: all .3s var(--main-cubic-bezier);
}
.soon_item_text p{
  color: #fff;
  background-image: linear-gradient(90deg, #fff, #fff);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 .1vw;
  padding-bottom: .3333vw;
  display: inline;
  transition: all .3s var(--main-cubic-bezier);
}
#soon_slide li.splide__slide a:hover .fit2by3cover_img img{
  transform: scale(1.06);
}
#soon_slide li.splide__slide a:hover .soon_item_text h3{
  color: #000;
}
#soon_slide li.splide__slide a:hover .soon_item_text h3::before{
  width: 100%;
}
#soon_slide li.splide__slide a:hover .soon_item_text p{
  background-size: 100% .1vw;
}
#soon_slide .splide__arrow {
  top: unset !important;
  bottom: 0;
  border-radius: 0 !important;
  width: 6vw !important;
  height: 4vw !important;
  transform: translateY(6.94444vw) !important;
  color: #fff;
  background: #888;
}
#soon_slide .splide__arrow--prev{
  left: 0 !important;
  font-size: var(--main-font-s);
}
#soon_slide .splide__arrow--next {
  right: 0 !important;
  font-size: var(--main-font-s);
  left: 6vw;
}
#global{
  background: var(--color-bg1);
  padding-top: 6.94444vw;
  width: 100%;
}
.global_inner{
  width: var(--wrap-width);
  margin: 0 auto;
  display: flex;
  gap: var(--flex2-item-gap);
  flex-wrap: wrap;
}
.global_item {
  width: var(--flex2-item-width);
}
.global_item h3 {
  margin: 2.08333vw 0;
}
.global_item p {
  margin-bottom: 2.08333vw;
}
.global_item .item_link{
  text-align: right;
}
.global_access {
  padding-top: 6.94444vw;
  width: var(--wrap-width);
  margin: 0 auto;
}
.access_header h2 {
  text-align: center;
  margin-bottom: 2.08333vw;
}
.access_header p {
  width: 50vw;
  margin: 0 auto 2.08333vw;
}
.access_map{
  display: flex;
  flex-wrap: wrap;
  gap: var(--flex2-item-gap);
  margin-bottom: 2.08333vw;
}
.access_map .widecover_img {
  width: var(--flex2-item-width);
}
.global_access .item_link{
  text-align: center;
}
#category {
  background: var(--color-bg1);
  padding-top: 6.94444vw;
  width: 100%;
  padding-bottom: .1vw;
}
.category_inner {
  width: var(--wrap-width);
  margin: 0 auto;
}
.category_header h2 {
  text-align: center;
  margin-bottom: 2.08333vw;
}
.category_header p {
  width: 50vw;
  margin: 0 auto 6.94444vw;
}
.category_item {
  position: relative;
  margin-bottom: 5vw;
}
.category_item_header {
  position: relative;
}
.category_item_header h3 {
  position: absolute;
  top: 5vw;
  background: var(--color-bg1);
  font-size: 2.8888vw;
  padding: .2em 1em;
}
.category_item_header span {
  position: absolute;
  color: #fff;
  font-size: 1.22222vw;
  line-height: 2;
  top: calc(5vw + 2.8888vw * 1.4 + 1.3vw);
}
.category_item_content {
  position: relative;
  width: 80%;
  padding: 1.3vw;
  background: var(--color-main1);
  top: 85%;
  display: flex;
  flex-wrap: wrap;
  gap: 1.3vw;
  margin-top: -5vw;
}
.category_item_content_main {
  display: flex;
  gap: 1.3vw;
  width: 80%;
}
.category_item_content_main_image {
  width: 8.44444vw;
}
.category_item_content_main_text {
  color: #fff;
  width: calc(100% - 10vw - 2vw);
}
.category_item_content_link {
  color: #fff;
  display: flex;
  align-items: center;
}
li.category_item:nth-of-type(2n-1) .category_item_header h3 {
  left: 0;
}
li.category_item:nth-of-type(2n-1) .category_item_header span {
  left: 1.3vw;
}
li.category_item:nth-of-type(2n-1) .category_item_content{
  margin-left: 20%;
}
li.category_item:nth-of-type(2n) .category_item_header h3 {
  right: 0;
}
li.category_item:nth-of-type(2n) .category_item_header span {
  right: 1.3vw;
  text-align: right;
}
li.category_item:nth-of-type(2n) .category_item_content{
  margin-right: 20%;
}
#info {
  background: var(--color-bg1);
  padding-top: 6.94444vw;
  padding-bottom: 6.94444vw;
  width: 100%;
}
.info_inner {
  width: var(--wrap-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10%;
}
.info_header {
  width: 30%;
}
.info_header h2 {
  margin-bottom: 2.08333vw;
}
.info_header a {
  display: block;
  border-top: 1px solid #666;
  border-bottom: 1px solid #666;
  font-size: 1.22vw;
  padding: 1.33vw;
  position: relative;
  transition: all .3s var(--main-cubic-bezier);
}
.info_header a:hover{
  opacity: .8;
}
.info_header a::after {
  content: '→';
  position: absolute;
  top: 50%;
  right: 1.3vw;
  transform: translate(0,-50%);
  transition: all .3s var(--main-cubic-bezier);
}
.info_header a:hover::after{
  transform: translate(10%,-50%);
}
.info_list {
  width: 60%;
}
.info_item a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-top: 1px solid #ddd;
  padding: 1.111vw;
  margin-bottom: .222vw;
  transition: all .3s var(--main-cubic-bezier);
}
.info_item a:hover{
  opacity: .8;
}
.info_item_date {
  width: 15%;
}
.info_item_title {
  width: 85%;
}
li.info_item:last-child a {
  border-bottom: 1px solid #ddd;
}

@media only screen and (max-width: 960px) {
  .mv_inner{
    aspect-ratio: 9 / 15;
  }
  .mv_title{
    width: 35vw;
  }
  .mv_video video{
    width: auto;
    height: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mv_shadow{
    height: 10vw;
  }
  #soon{
    padding-top: 13.33333vw;
    padding-bottom: 22.66666vw;
  }
  .soon_subtitle{
    font-size: var(--main-sp-font-s);
  }
  .soon_item_text h3 {
    font-size: var(--main-sp-font-m);
    line-height: 3;
  }
  #soon_slide .splide__arrow{
    width: 22.5vw !important;
    height: 15vw !important;
    transform: translateY(22.66666vw) !important;
  }
  #soon_slide .splide__arrow--prev{
    font-size: var(--main-sp-font-m);
  }
  #soon_slide .splide__arrow--next {
    right: 0 !important;
    left: 22.5vw;
    font-size: var(--main-sp-font-m);
  }
  #global{
    padding-top: 13.33333vw;
  }
  .global_inner{
    width: var(--wrap-sp-width);
    gap: var(--flex2-sp-item-gap);
  }
  .global_item {
    width: 100%;
  }
  .widecover_img{
    aspect-ratio: 4 / 3;
  }
  .global_item h3{
    margin: 4vw 0;
  }
  .global_item .item_link{
    text-align: left;
  }
  .global_access{
    padding-top: 13.33333vw;
    width: var(--wrap-sp-width);
  }
  .access_header h2 {
    text-align: left;
    margin-bottom: 4.08333vw;
  }
  .access_header p{
    width: 100%;
    margin: 0 auto 4.08333vw;
  }
  .access_map .widecover_img{
    width: 100%;
  }
  .global_access .item_link{
    text-align: left;
  }
  #category{
    padding-top: 13.33333vw;
  }
  .category_header h2{
    line-height: 1.33333;
    text-align: left;
    margin-bottom: 4.08333vw;
  }
  .category_header p{
    width: 100%;
    margin: 0 auto 4.08333vw;
  }
  .category_inner {
    width: var(--wrap-sp-width);
    margin: 0 auto;
  }
  .category_item{
    margin-bottom: 5vw;
  }
  #category .category_item_header .fit3by1cover_img {
    aspect-ratio: 1 / 1;
  }
  .category_item_header h3{
    font-size: var(--main-sp-font-m);
  }
  .category_item_header span{
    font-size: var(--main-sp-font-s);
    top: calc(5vw + var(--main-sp-font-m) * 1.4 + var(--main-sp-font-s));
  }
  .category_item_content{
    top: 100%;
    position: relative;
    gap: 0;
    width: 100%;
  }
  li.category_item:nth-of-type(2n-1) .category_item_header span {
    left: var(--main-sp-font-s);
  }
  li.category_item:nth-of-type(2n) .category_item_header span {
    right: var(--main-sp-font-s);
  }
  li.category_item:nth-of-type(2n-1) .category_item_content {
    margin-left: 0;
  } 
  li.category_item:nth-of-type(2n) .category_item_content {
    margin-right: 0;
  }
  .category_item_content_main{
    display: block;
    padding: var(--main-sp-font-s);
    width: 100%;
  }
  .category_item_content_main_image{
    width: 25vw;
    margin-bottom: 5vw;
  }
  .category_item_content_main_text{
    width: 100%;
  }
  .category_item_content_link{
    padding-left: var(--main-sp-font-s);
  }
  #info{
    padding-top: 13.33333vw;
    padding-bottom: 13.33333vw;
  }
  .info_inner{
    width: var(--wrap-sp-width);
  }
  .info_header {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .info_header h2{
    margin-bottom: 5vw;
  }
  .info_header a{
    font-size: 4vw;
    width: 33%;
    height: 9vw;
    padding: 1.8vw;
  }
  .info_list {
    width: 100%;
  }
  .info_item_date {
    width: 100%;
  }
  .info_item_title {
    width: 100%;
  }

}

/* ===================
single-course
====================== */
#single_course_header {
  width: 100%;
  aspect-ratio: 16 / 5;
  position: relative;
  overflow: hidden;
}
.single_course_header_inner {
  max-width: var(--wrap-width);
  margin: 0 auto;
  padding-top: 10vw;
}
.single_course_header_inner h1 {
  background: var(--color-bg1);
  font-size: 2.8888vw;
  padding: .2em 1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
}
@keyframes textclippath{
  0%{clip-path: inset(0 100% 0 0);}
  100%{clip-path: inset(0 0% 0 0);}
}
@-webkit-keyframes textclippath{
  0%{clip-path: inset(0 100% 0 0);}
  100%{clip-path: inset(0 0% 0 0);}
}
@keyframes imagescaleup{
  0%{transform: translateY(-50%) scale(1);}
  100%{transform: translateY(-50%) scale(1.06);}
}
@-webkit-keyframes imagescaleup{
  0%{transform: translateY(-50%) scale(1);}
  100%{transform: translateY(-50%) scale(1.06);}
}
.single_course_header_inner_subheader{
  display: block;
  margin-top: 2vw;
}
.single_course_header_inner_subheader span {
  color: #fff;
  font-size: var(--main-font-m);
  line-height: 2;
  letter-spacing: .1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
}
.single_course_header_background {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%) scale(1);
  animation: imagescaleup 1.3s var(--main-cubic-bezier) forwards;
}
#single_course_description{
  background: var(--color-bg1);
}
.single_course_description_inner {
  width: var(--wrap-width);
  margin: 0 auto;
  padding-top: 5.55556vw;
  padding-bottom: 5.55556vw;
}
.single_course_description_inner h1 {
  font-size: 2vw;
  letter-spacing: 0;
  text-align: center;
  line-height: 1.444;
}
.single_course_description_inner p {
  width: 50vw;
  margin: 2.08333vw auto 0;
}
.single_course_reserve_inner{
  width: var(--wrap-width);
  margin: 0 auto;
  padding-top: 5.55556vw;
  padding-bottom: 5.55556vw;
}
.single_course_teacher_inner {
  width: var(--wrap-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
  align-items: center;
  padding-bottom: 5.55556vw;
}
.single_course_teacher_inner_image {
  width: 50%;
}
#teacher_gallery ul{
  align-items: center;
}
#teacher_gallery .splide__slide div{
  aspect-ratio: 4 / 5;
  transition: .3s var(--main-cubic-bezier);
  margin-left: -6vw;
  transform: translateX(3vw) scale(.6);
  position: relative;
  z-index: 1;
}
#teacher_gallery .splide__slide.is-next div{
  position: relative;
  z-index: 2;
}
#teacher_gallery .splide__slide.is-active div {
  transform: translateX(0) scale(1);
  z-index: 1;
  position: relative;
}
#teacher_gallery .splide__slide img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
#teacher_gallery .pagination {
  bottom: 4vw;
  left: 3vw;
  position: absolute;
  text-align: center;
  z-index: 1;
  display: flex;
  gap: calc(var(--main-font-s) * .5);
  flex-direction: row-reverse;
}
#teacher_gallery .pagination span {
  font-size: var(--main-font-s);
}
.single_course_teacher_inner_text {
  width: 46%;
}
#teacher_gallery .splide__arrow {
  top: unset !important;
  bottom: 0;
  border-radius: 0 !important;
  width: 6vw !important;
  height: 4vw !important;
  transform: translateY(0) !important;
  color: #fff;
  background: #888;
}
#teacher_gallery .splide__arrow--prev{
  right: 6vw;
  font-size: var(--main-font-s);
}
#teacher_gallery .splide__arrow--next {
  right: 0 !important;
  font-size: var(--main-font-s);
  left: calc(100% - 6vw) !important;
}
.single_course_teacher_inner_text h2 {
  display: flex;
  flex-wrap: wrap;
  gap: 1vw;
  align-items: center;
  margin-bottom: 2vw;
}
.single_course_teacher_inner_text h2 span:nth-of-type(1) {
  font-size: calc(var(--main-font-l) * 0.8);
  letter-spacing: 0;
}
.single_course_teacher_inner_text h2 span:nth-of-type(3) {
  font-size: var(--main-font-m);
  letter-spacing: 0;
}
.single_course_teacher_inner_text p {
  margin-bottom: 2vw;
}
.teacher_weblink {
  display: flex;
  flex-wrap: wrap;
  gap: 1vw;
  font-size: var(--main-font-s);
}
.teacher_weblink a{
  opacity: 1;
  transition: .3s var(--main-cubic-bezier);
}
.teacher_weblink a:hover{
  opacity: .8;
}
#single_course_booknow {
  background: var(--color-bg1);
}
.single_course_booknow_inner{
  padding-top: 6.94444vw;
  width: var(--wrap-width);
  margin: 0 auto;
}
.single_course_booknow_inner h2 {
  text-align: center;
  margin-bottom: 2.08333vw;
}
@media only screen and (max-width: 960px){
  #single_course_header{
    aspect-ratio: 16 / 10;
  }
  .single_course_header_inner{
    width: var(--wrap-sp-width);
    padding-top: 30vmin;
  }
  .single_course_header_inner h1{
    font-size: var(--main-sp-font-m);
  }
  .single_course_header_inner_subheader{
    margin-top: 4vmin;
  }
  .single_course_header_inner_subheader span{
    font-size: var(--main-sp-font-s);
  }
  .single_course_description_inner{
    padding-top: 13.33333vmin;
    width: var(--wrap-sp-width);
  }
  .single_course_description_inner h1{
    font-size: calc(var(--main-sp-font-l) * 0.8);
    text-align: left;
  }
  .single_course_description_inner p{
    width: var(--wrap-sp-width);
  }
  .single_course_teacher_inner_image{
    width: 100%;
  }
  #teacher_gallery .splide__slide div{
    margin-left: -15vmin;
    transform: translateX(4vmin) scale(.6);
  }
  #teacher_gallery .splide__arrow{
    width: 18.5vmin !important;
    height: 12vmin !important;
  }
  #teacher_gallery .splide__arrow--prev{
    font-size: var(--main-sp-font-m);
    right: 18.5vmin;
  }
  #teacher_gallery .splide__arrow--next{
    font-size: var(--main-sp-font-m);
  }
  .single_course_teacher_inner_text{
    width: 100%;
    padding-top: 13.33333vmin;
    padding-bottom: 13.33333vmin;
  }
  .single_course_teacher_inner_text p{
    margin-bottom: 4vmin;
  }
  .single_course_teacher_inner_text h2{
    margin-bottom: 4vmin;
  }
  .single_course_teacher_inner_text h2 span:nth-of-type(1){
    font-size: calc(var(--main-sp-font-l) * .6);
  }
  .single_course_teacher_inner_text h2 span:nth-of-type(3){
    font-size: calc(var(--main-sp-font-l) * .5);
  }
  #teacher_gallery .pagination{
    bottom: calc(12vmin - var(--main-sp-font-s));
    left: 0;
  }
  #teacher_gallery .pagination span{
    font-size: var(--main-sp-font-s);
  }
  #single_course_teacher{
    padding-top: 13.33333vmin;
  }
  .teacher_weblink{
    gap: var(--main-sp-font-s);
    font-size: var(--main-sp-font-s);
  }
  .single_course_booknow_inner{
    padding-top: 13.33333vmin;
    padding-bottom: 13.33333vmin;
    width: var(--wrap-sp-width);
  }
}

/* ===================
single
====================== */
#single_header {
  width: 100%;
  aspect-ratio: 16 / 4;
  position: relative;
  overflow: hidden;
}
.single_header_inner {
  max-width: var(--wrap-width);
  margin: 0 auto;
  padding-top: 10vw;
}
.single_header_inner h1 {
  background: var(--color-bg1);
  font-size: 2.8888vw;
  padding: .2em 1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
  white-space: nowrap;
}
.single_header_inner_subheader{
  display: block;
  margin-top: 2vw;
}
.single_header_inner_subheader span {
  color: #fff;
  font-size: var(--main-font-m);
  line-height: 2;
  letter-spacing: .1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
}
.single_header_background {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%) scale(1);
  animation: imagescaleup 1.3s var(--main-cubic-bezier) forwards;
}
#single_main{
  background: var(--color-bg1);
}
.single_main_inner {
  padding-top: 6.94444vw;
  padding-bottom: 6.94444vw;
  width: 55.55556vw;
  margin: 0 auto;
}
.single_main_inner h1 {
  font-size: 2vw;
  letter-spacing: 0;
  line-height: 1.444;
}
.single_main_inner .date {
  font-size: var(--main-font-s);
  margin-bottom: 3vw;
}
.cp-single_main_content>:first-child {
  margin-top: 0 !important;
}
.single_main_content p{
  line-height: 1.75;
  margin-top: 1.38889vw;
  margin-bottom: 1.38889vw;
}
.single_main_content h2{
  font-size: 1.66667vw;
  line-height: 1.5;
  margin-bottom: 2.77778vw;
  margin-top: 4.16667vw;
}
.single_main_content h3{
  margin-bottom: 2.1vw;
  margin-top: 3vw;
}
.single_main_content a{
  display: block;
  text-decoration: underline;
  opacity: 1;
  transition: .3s var(--main-cubic-bezier);
}
.single_main_content a:hover{
  opacity: .6;
}
.single_main_content ul {
  position: relative;
  margin-top: 1.38889vw;
  margin-bottom: 1.38889vw;
  line-height: 1.75;
}
.single_main_content li {
  position: relative;
  font-size: var(--main-font-s);
  padding-left: calc(var(--main-font-s) * 1.5);
}
.single_main_content li::before {
  content: '・';
  position: absolute;
  left: 0;
}
.single_main_content img{
  width: auto;
}
.single_main_inner .item_link{
  margin-top: 2.77778vw;
}
.single_main_inner .nav-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2.77778vw;
  font-size: 1.2vw;
}
.nav-next a {
  position: relative;
  padding-right: 3.333em;
  transition: all .3s var(--main-cubic-bezier);
}
.nav-next a::after {
  content: '→';
  font-size: var(--main-font-l);
  margin-left: .25em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  transition: all .3s var(--main-cubic-bezier);
}
.nav-next a:hover{
  opacity: .8;
}
.nav-next a:hover::after{
  transform: translate(10%,-50%);
}
.nav-previous a {
  position: relative;
  padding-left: 3.333em;
  transition: all .3s var(--main-cubic-bezier);
}
.nav-previous a::before {
  content: '←';
  font-size: var(--main-font-l);
  margin-right: .25em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  transition: all .3s var(--main-cubic-bezier);
}
.nav-previous a:hover{
  opacity: .8;
}
.nav-previous a:hover::before{
  transform: translate(-10%,-50%);
}
@media only screen and (max-width: 960px){
  #single_header{
    aspect-ratio: 16 / 9;
  }
  .single_header_inner{
    width: var(--wrap-sp-width);
    padding-top: 30vmin;
  }
  .single_header_inner h1{
    font-size: var(--main-sp-font-m);
  }
  .single_header_inner_subheader{
    margin-top: 4vmin;
  }
  .single_header_inner_subheader span{
    font-size: var(--main-sp-font-s);
  }
  .single_main_inner{
    padding-top: 13.33333vmin;
    padding-bottom: 13.33333vmin;
    width: var(--wrap-sp-width);
  }
  .single_main_inner h1{
    font-size: calc(var(--main-sp-font-l) * 0.8);
    text-align: left;
  }
  .single_main_inner .nav-links{
    font-size: calc(var(--main-sp-font-s) * 1.2);
  }
  .nav-next,
  .nav-previous{
    max-width: 50%;
  }
  .nav-next a {
    padding-right: 2.666em;
    line-height: 1.5;
    display: block;
  }
  .nav-previous a {
    padding-left: 2.666em;
    line-height: 1.5;
    display: block;
  }
  .nav-next a::after {
    font-size: var(--main-sp-font-l);
  }
  .nav-previous a::before {
    font-size: var(--main-sp-font-l);
  }
  .single_main_inner .date{
    font-size: var(--main-sp-font-s);
    margin-bottom: 8vw;
  }
  .single_main_content p{
    margin-top: 3.38889vw;
    margin-bottom: 3.38889vw;
  }
  .single_main_content h2{
    font-size: var(--main-sp-font-l);
  }
  .single_main_content h3 {
    margin-bottom: 4.1vw;
    margin-top: 6vw;
  }
  .single_main_content li{
    font-size: var(--main-sp-font-s);
    padding-left: calc(var(--main-sp-font-s) * 1.5);
  }
  .single_main_content ul{
    margin-top: 3.38889vw;
    margin-bottom: 3.38889vw;
  }
}

/* ===================
archive
====================== */

#archive_header {
  width: 100%;
  aspect-ratio: 16 / 4;
  position: relative;
  overflow: hidden;
}
.archive_header_inner {
  max-width: var(--wrap-width);
  margin: 0 auto;
  padding-top: 10vw;
}
.archive_header_inner h1 {
  background: var(--color-bg1);
  font-size: 2.8888vw;
  padding: .2em 1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
}
.archive_header_inner_subheader{
  display: block;
  margin-top: 2vw;
}
.archive_header_inner_subheader span {
  color: #fff;
  font-size: var(--main-font-m);
  line-height: 2;
  letter-spacing: .1em;
  display: inline;
  clip-path: inset(0 100% 0 0);
  animation: textclippath 1s var(--main-cubic-bezier) .3s forwards;
}
.archive_header_background {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%) scale(1);
  animation: imagescaleup 1.3s var(--main-cubic-bezier) forwards;
}
#archive_main{
  background: var(--color-bg1);
}
.archive_main_inner {
  padding-top: 6.94444vw;
  padding-bottom: 6.94444vw;
  width: 55.55556vw;
  margin: 0 auto;
}
.archive_main_inner .info_list{
  width: 100%;
  margin-bottom: 3vw;
}
@media only screen and (max-width: 960px){
  #archive_header{
    aspect-ratio: 16 / 9;
  }
  .archive_header_inner{
    width: var(--wrap-sp-width);
    padding-top: 30vmin;
  }
  .archive_header_inner h1{
    font-size: var(--main-sp-font-m);
  }
  .archive_header_inner_subheader{
    margin-top: 4vmin;
  }
  .archive_header_inner_subheader span{
    font-size: var(--main-sp-font-s);
  }
  .archive_main_inner{
    padding-top: 13.33333vmin;
    padding-bottom: 13.33333vmin;
    width: var(--wrap-sp-width);
  }
}

/* ===================
contact-form
====================== */
.contact_form_table_tr {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1vw;
}
.contact_form_table_th {
  width: 33%;
  line-height: 3em;
}
.contact_form_table_th p {
  margin: 0;
  line-height: 2.777;
}
.contact_form_table_th span {
  font-size: 0.6em;
  font-weight: 400;
  border: 1px solid #b94047;
  color: #b94047;
  border-radius: 1em;
  padding: 1px 6px;
  letter-spacing: 0;
  margin-left: .5em;
}
.contact_form_table_td {
    width: 67%;
}
.contact_form_table_td input,
.contact_form_table_td select,
.contact_form_table_td textarea {
  width: 100%;
  border: 1px solid var(--color-bg2);
  border-radius: .5vw;
  font-size: var(--main-font-s);
  line-height: 1.33;
  padding: .7em 1.25em;
}
.contact_form_caution {
  font-size: var(--main-font-ss) !important;
  line-height: 1.33em !important;
  color: #787878;
    margin: .3vw 0 0 !important;
}
.recaptcha-text p {
  font-size: var(--main-font-ss);
  margin: 0;
}
.recaptcha-text a {
  display: inline;
}
.contact_form_btn{
  display: flow;
  justify-self: center;
  margin-top: 2vw;
}
.contact_form_btn .wpcf7-form-control {
  border: 1px solid var(--color-bg2);
  line-height: 3;
  padding: 0 5vw;
  font-size: var(--main-font-s);
  opacity: 1;
  transition: all .3s var(--main-cubic-bezier);
}
.contact_form_btn .wpcf7-form-control:hover{
  opacity: .6;
}
.contact_form_btn:hover::before {
  width: 100%;
}
.wpcf7-not-valid-tip,
.wpcf7 form .wpcf7-response-output{
  font-size: var(--main-font-s);
}
.wpcf7-spinner{
  display: block;
}
@media only screen and (max-width: 960px){
  .contact_form_table_th{
    width: 100%;
  }
  .contact_form_table_td {
    width: 100%;
  }
  .contact_form_table_td input,
  .contact_form_table_td select,
  .contact_form_table_td textarea {
    border-radius: 2vw;
    font-size: var(--main-sp-font-s);
  }
  .contact_form_caution{
        font-size: var(--main-sp-font-ss) !important;
    margin: 1vw 0 0 !important;
  }
  .contact_form_btn .wpcf7-form-control{
    padding: 0 20vw;
    font-size: var(--main-sp-font-s);
  }
  .recaptcha-text p {
    font-size: var(--main-sp-font-ss);
  }
  .wpcf7-not-valid-tip,
  .wpcf7 form .wpcf7-response-output{
    font-size: var(--main-sp-font-s);
  }
}