@charset "UTF-8";

/* @font-face {
  font-family: "YakuHanJP"; font-style: normal; font-display: swap;
  font-weight: 400;
  src: url("/font/YakuHanJP/YakuHanJP-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "YakuHanJP"; font-style: normal; font-display: swap;
  font-weight: 500;
  src: url("/font/YakuHanJP/YakuHanJP-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "YakuHanJP"; font-style: normal; font-display: swap;
  font-weight: 600;
  src: url("/font/YakuHanJP/YakuHanJP-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "ZenKakuGothicNew"; font-style: normal; font-display: swap;
  font-weight: 400;
  src:  local('Noto Sans CJK JP'),
  local('ZenKakuGothicNew-Regular'),
  url('/font/ZenKakuGothicNew/ZenKakuGothicNew-Regular.woff2') format('woff2');
}
@font-face {
  font-family: "ZenKakuGothicNew"; font-style: normal; font-display: swap;
  font-weight: 500;
  src: local('ZenKakuGothicNew-Medium'),
  url('/font/ZenKakuGothicNew/ZenKakuGothicNew-Medium.woff2') format('woff2');
}
@font-face {
  font-family: "ZenKakuGothicNew"; font-style: normal; font-display: swap;
  font-weight: 700;
  src: local('NotoSansCJKjp-Bold'),
  local('ZenKakuGothicNew-Bold'),
  url('/font/ZenKakuGothicNew/ZenKakuGothicNew-Bold.woff2') format('woff2');
} */

/* responsive min:769px */
/*Reset =============================================*/
*{
  box-sizing: border-box;
  background-repeat: no-repeat;
}
html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,figure,figcaption,button{
  margin: 0;
  padding: 0;
}
ul,li{
list-style: none;
}
a{
text-decoration: none;
color: inherit;
}
a[href^="tel:"] {
  pointer-events: all;
}
img,svg{
vertical-align: bottom;
border: none;
width: 100%;
max-width:100%;
height:auto;
}
svg{
  /* fill: currentColor; */
  vertical-align: bottom;
}
button{
  background-color: inherit;
  border: none;
}
table {
  border-collapse: collapse;
}

[v-cloak] ,
[v-cloak] img{
  display: none;
}

/* lazyload ================================= */
.lazyload{opacity: 0;}
.lazyloaded, .lazyloading  {opacity: 1; transition: opacity 1000ms;}


/* Module =============================================*/
:root {
  /* --c-bg: #edede8; */
  --c-bg: #fbfaf8;
  --c-black: #404040;
  --c-black2: #212121;
  --c-black3: #666666;
  --c-black4: #444444;
  --c-gold: #b49e73;
  --c-gold-l: #d0bc95;
  --c-grey: #e4e1e1;
  --c-grey2: #f2f1ea;
  --c-grey-txt: #bababa;
  --c-grey-d: #6c7a83;
  --c-grey-d2: #abaeb0;;
  --c-grey-l: #d9d9d9;
  --c-grey-bg: #f5f5f5;
  --c-white: #fff;
  --c-white2: #f9f9f7;
  --c-red: #db3516;
  --c-red2: #e7404b;
  --c-pink: #ef7d83;
  --c-blue: #2992c9;
  --c-blue2: #0c77b0;
  /* --font-comp: "Gabarito",'Noto Sans JP', sans-serif;
  --font-ja: "YakuHanJP","ZenKakuGothicNew",sans-serif;
  --font-en: "Gabarito", sans-serif; */
  --font-comp: "Gilda Display",'Zen Old Mincho',serif;
  /* --font-comp: "Gilda Display",'Shippori Mincho B1',serif; */
  --font-ja: 'Zen Old Mincho',serif;
  /* --font-ja: 'Shippori Mincho B1',serif; */
  --font-en: "Gilda Display",serif;
  --filter-b: invert(6%) sepia(71%) saturate(2299%) hue-rotate(215deg) brightness(94%) contrast(101%);;
  --filter-w: invert(100%) sepia(19%) saturate(377%) hue-rotate(316deg) brightness(100%) contrast(100%);
  --filter-wg: invert(96%) sepia(8%) saturate(14%) hue-rotate(314deg) brightness(86%) contrast(111%);
  --filter-red: invert(33%) sepia(39%) saturate(3362%) hue-rotate(347deg) brightness(84%) contrast(106%);
  --inn-w: 2rem;
  --inn-w-minus: -2rem;
  --kv-fill-color: #fff;
}

/* font-size =============================================*/
html{
  /* font-size: 10px; */
  /* font-size: clamp(10px,3.125vw,16px) !important; */
  font-size: 3.125vw;
}
@media (min-width: 769px) {
  html{
    /* W769:10 */
    /* font-size: clamp(10px,1.112347052vw,14px); */
    /* W1024:12 ~ 15px */
    font-size: clamp(12px,1.171875vw,15px);
  }
  body {
    min-width: 960px;
  }
}/*  */

html {
  width: 100%;
  max-width: 100%;
}
body{
  font-family: var(--font-ja);
  color: var(--c-black);
  background-color: var(--c-bg);
}
main{
  overflow: hidden;
}


/* 共有パーツ =============================== */
.sec_bloc{
  padding-top: 3em;
  padding-bottom: 3em;
}
.bg_w{
  background-color: var(--c-white);
}
.bg_img {
  position: relative;
  z-index: 1;
  color: var(--c-white);
  overflow: hidden;
}
.bg_img::before, .bg_img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--c-black);
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -1;
}
.bg_img::after {
  background-color: #373c38;
  opacity: 1;
  mix-blend-mode: multiply;
}
.bg_img.lazyloaded::before {
  background-image: url(/imgs/access_bg2_sp.jpg);
  filter: grayscale(1);
}

._top0{ padding-top: 0 !important;}
._bottom0{ padding-bottom: 0 !important;}

.no_mv{
  padding-top: 10em;
}
.c_inner{
  padding-left: 2em;
  padding-right: 2em;
}
.c_wide{
  max-width: 1400px;
  margin: 0 auto;
}
.c_wide_narrow{
  max-width: 70em;
  margin: 0 auto;
}
.c_wide.c_inner{
  max-width: calc(1400px + (5em * 2) );
}
.max800{ max-width: 60em; margin: 0 auto; }
.max900{ max-width: 66.25em; margin: 0 auto; }
.max1000{ max-width: 72.5em; margin: 0 auto; }
.max1100{ max-width: 78.75em; margin: 0 auto; }
.max1200{ max-width: 85em; margin: 0 auto; }
.max1300{ max-width: 91.25em; margin: 0 auto; }
.max1400{ max-width: 1400px; margin: 0 auto; }
.pc{ display: none; }
._icon_w,.filter_w{ filter: var(--filter-w); }
.none{display: none;}
.height_img{
  height: 100%;
  width: auto;
}
.hov a{ transition: opacity .5s; }
.hov a:hover{ opacity: .7; }

.youtube_box {
  position: relative;
  margin: .5em 0 1em;
}
.youtube_box::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.youtube_box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.smooth {
  scroll-behavior: smooth;
}
.iframe_box{
  width: 100%;
  aspect-ratio: 1/1;
  padding: 1em 0;
}
.iframe_box iframe{
  width: 100%;
  height: 100%;
}
.img_box{
  width: 100%;
  aspect-ratio: 3/2;
  margin: 1em 0;
}
.img_box img,
.ofit{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* font =============================== */
.en { font-family: var(--font-en); }
.ja { font-family: var(--font-ja); }
.comp { font-family: var(--font-comp); }
.center{ text-align: center;}
.left{ text-align: left;}
.left-center{ text-align: left;}
.center-left{ text-align: center;}
.small{font-size: .9em;}
.small2{font-size: .8em;}
.small3{font-size: .7em;}
.red{ color: var(--c-red); }
.red2{ color: var(--c-red2); }
.blue{ color: var(--c-blue); }

.black{ color: var(--c-black);}
.gold{ color: var(--c-gold); }
.grey{ color: var(--c-grey-d); }
.grey-l{ color: var(--c-grey-l); }
.grey-bg{ color: var(--c-grey-bg); }

.block{display: block;}
.num { font-family: 'Zen Old Mincho',serif;}
.script { font-family: "Caveat", cursive;}
.bold{ font-weight: 500;}
.w_600{font-weight: 600 !important;}
.w_500{font-weight: 500 !important;}
.w_400{font-weight: 400 !important;}
.small{font-size: .9em;}
.small2{font-size: .8em;}
.small3{font-size: .7em;}
.small4{font-size: .6em;}
.small5{font-size: .5em;}
.nowrap{white-space: nowrap;}
.hor {
  font-family: "Zen Old Mincho",serif;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

@media (min-width: 769px) {
  :root {
    --inn-w: 3em;
    --inn-w-minus: -3em;
  }
  .c_inner ,
  .c_inner_pc{
    padding-left: 5em !important;
    padding-right: 5em !important;
  }
  .sec_bloc{
    padding-top: 4.5em;
    padding-bottom: 4.5em;
  }
  .sp{display: none;}
  .pc{display: block;}

  .left-center{ text-align: center;}
  .center-left{ text-align: left;}
  .iframe_box{
    aspect-ratio: 5/4;
  }
  .bg_img.lazyloaded::before {
    background-image: url(/imgs/access_bg2_pc.jpg);
    filter: grayscale(1);
  }
  
}/*  */


/* SECTION パーツ */
.page_ttl,
.sec_ttl,
.sec_ttl._m,
.sec_ttl._s{
  font-size: 1em;
  padding: 1em 0;
  letter-spacing: .05em;
}
.page_ttl .en{
  display: block;
  font-size: 6em;
  font-weight: 600;
  line-height: 1;
}
.sec_ttl .en{
  display: block;
  font-size: 4em;
  font-weight: 600;
  line-height: 1;
}
.page_ttl .ja,
.sec_ttl .ja,
.sec_ttl._m .ja,
.sec_ttl._s .ja{
  display: block;
  font-size: 1.3em;
  font-weight: 600;
  margin-top: 0.2em;
  opacity: .8;
}
.sec_ttl._m .en{
  display: block;
  font-size: 4.2em;
  font-weight: 300;
  line-height: 1;
}
.sec_ttl._s .en{
  display: block;
  font-size: 3em;
  font-weight: 300;
  line-height: 1;
}
.sec_ttl_j{
  font-size: 1em;
  padding: 1em 0;
  letter-spacing: .05em;
}
.sec_ttl_j .ja{
  display: block;
  font-size: 3.4em;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
}
.sec_ttl_j .en{
  display: block;
  font-size: 1.3em;
  font-weight: 500;
  margin-top: .4em;
  margin-left: .2em;
  opacity: .8;
}
.sec_sub {
  font-size: 1.7em;
  font-weight: 600;
  padding: .8em 0;
}
.sec_sub p{
  padding: .2em 0;
}
.sec_desc {
  font-size: 1.25em;
  padding: 1em 0;
  line-height: 1.9;
  letter-spacing: .015em;
}
.sec_desc p{
  padding: .3em 0;
}
.sec_desc.hor p {
  padding: 0 .5em;
}
.sec_copy{
  font-size: 2.2em;
  font-weight: 600;
  padding: .3em 0;
  line-height: 1.6;
  letter-spacing: .03em;1
}
.sec_txt_wrap{
  padding:  0;
}

@media (min-width: 769px) {
  .page_ttl .en{
    font-size: 6em;
  }
  .sec_ttl .en {
    font-size: 4.7em;
  }
  .sec_ttl._m .en{
    font-size: 4.2em;
    font-weight: 500;
  }
  .sec_ttl._s .en{
    font-size: 3.5em;
    font-weight: 500;
  }
  .sec_copy {
    font-size: 2.4em;
    white-space: nowrap;
  }
}/*  */

.hov a,.hover,.r-over,button{
  transition: opacity .5s;
}
.hov a:hover,.hover:hover,.r-over:hover,button:hover{
  opacity: .6;
}

/* padding top and bottom */
.ptb05{ padding-top: .5em; padding-bottom: .5em;}
.ptb1{ padding-top: 1em; padding-bottom: 1em;}
.ptb2{ padding-top: 2em; padding-bottom: 2em;}
.ptb3{ padding-top: 3em; padding-bottom: 3em;}
.ptb4{ padding-top: 4em; padding-bottom: 4em;}
.ptb5{ padding-top: 5em; padding-bottom: 5em;}
.ptb6{ padding-top: 6em; padding-bottom: 6em;}
.ptb7{ padding-top: 7em; padding-bottom: 7em;}
.ptb8{ padding-top: 8em; padding-bottom: 8em;}
.ptb9{ padding-top: 9em; padding-bottom: 9em;}
/* padding left and right */
.plr05{ padding-left: .5em; padding-right: .5em;}
.plr1{ padding-left: 1em; padding-right: 1em;}
.plr2{ padding-left: 2em; padding-right: 2em;}
.plr3{ padding-left: 3em; padding-right: 3em;}
.plr4{ padding-left: 4em; padding-right: 4em;}
.plr5{ padding-left: 5em; padding-right: 5em;}
.plr6{ padding-left: 6em; padding-right: 6em;}
.plr7{ padding-left: 7em; padding-right: 7em;}
.plr8{ padding-left: 8em; padding-right: 8em;}
.plr9{ padding-left: 9em; padding-right: 9em;}
/* mt */
.mt05{ margin-top: .5em;}
.mt1{ margin-top: 1em;}
.mt2{ margin-top: 2em;}
.mt3{ margin-top: 3em;}
.mt4{ margin-top: 4em;}
.mt5{ margin-top: 5em;}
.mt6{ margin-top: 6em;}
.mt7{ margin-top: 7em;}
.mt8{ margin-top: 8em;}
.mt9{ margin-top: 9em;}
/* mb */
.mb05{ margin-bottom: .5em;}
.mb1{ margin-bottom: 1em;}
.mb2{ margin-bottom: 2em;}
.mb3{ margin-bottom: 3em;}
.mb4{ margin-bottom: 4em;}
.mb5{ margin-bottom: 5em;}
.mb6{ margin-bottom: 6em;}
.mb7{ margin-bottom: 7em;}
.mb8{ margin-bottom: 8em;}
.mb9{ margin-bottom: 9em;}

/* font-size */
.fz1{font-size:1em;}
.fz11{font-size:1.1em;}
.fz12{font-size:1.2em;}
.fz13{font-size:1.3em;}
.fz14{font-size:1.4em;}
.fz15{font-size:1.5em;}
.fz16{font-size:1.6em;}
.fz17{font-size:1.7em;}
.fz18{font-size:1.8em;}
.fz19{font-size:1.9em;}
.fz20{font-size:2em;}

/* Parts ========================== */
.asterisk{
  position: relative;
  display: block;
  padding-left: 1.2em;
  margin-top: 0.2em;
}
.asterisk::before{
  content: "※";
  position: absolute;
  left: 0;
}

/* link_arrow ========== */
.link_arrow{
  display: flex;
  font-weight: 600;
  font-size: 1.15em;
  align-items: center;
  gap: .5em;
  width: fit-content;
  padding: 2em 0;
  transition: transform .3s;
}
.link_arrow .txt{
  display: block;
}
.border_arrow{
  position: relative;
  display: inline-block;
  width: 2.6em;
  height: 1.2px;
  background-color:currentColor;
  margin: 0 0 .25em;
}
.link_arrow .border_arrow{
  margin: 0.25em 0 0;
}
.border_arrow::after{
  content: "";
  position: absolute;
  top: 0;
  right:  0;
  z-index: 1;
  display: block;
  width: .6em;
  height: 1.2px;
  background-color: currentColor;
  transform: rotateZ(30deg);
  transform-origin: bottom right;
}
.link_arrow:hover{
  transform: translateX(.3em);
}
a:hover .border_arrow{
  animation: anime_swing .3s 1 forwards;
}
@keyframes anime_swing {
	0% {	transform: translate(0, 0);}
	50% {	transform: translate(1.5em, 0); opacity:0}
	51% {	transform: translate(-1.5em, 0); opacity:0}
	100% {	transform: translate(0, 0); opacity:1}
}
.link_arrow + .link_arrow{
  padding-top: 0;
}


/* LINK ====================== */
.link_circle_arrow{
  display: flex;
  width: fit-content;
  align-items: center;
  font-size: 1rem;
  padding: 1.1em 0;
  transition: transform .2s;
}
.link_circle_arrow._right{
  margin-left: auto;
}
.link_circle_arrow._center{
  margin: auto;
}
.link_circle_arrow .txt{
  display: inline-block;
  font-family: var(--font-comp);
  font-size: 1.4em;
  font-weight: 500;
}
.arrow_circle{
  position: relative;
  display: inline-block;
  background-color: var(--c-white);
  width: 3.2em;
  height: 3.2em;
  border-radius: 50%;
  margin-left: .8em;
  overflow:hidden;
}
.arrow_circle_img{
  position: absolute;
  top: 0;
  bottom: .1em;
  left: 0;
  right: 0;
  margin: auto;
  width: 38% !important;
  /* filter: var(--filter-w); */
  transition: transform .25s ease-in, opacity .25s;
}
.arrow_circle_img._pdf{
  width: 44%;
}
.arrow_circle::before,
.arrow_circle::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 32%;
  height: 30%;
  mask-image: url(/imgs/icon_arrow_right.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: var(--c-gold);
  transform: translateX(-200%);
  opacity: 0;
  transition: transform .25s ease-out, opacity .25s ease-out;
  /* filter: var(--filter-w); */
}
.arrow_circle::after{
  transform: translateX(0);
  opacity: 1;
}
.link_circle_arrow:hover{
  transform: translateX(.3em);
}
a:hover .arrow_circle_img, .link_circle_arrow:hover .arrow_circle_img, .top_cont_box:hover .arrow_circle_img,
a:hover .arrow_circle::after, .link_circle_arrow:hover .arrow_circle::after, .top_cont_box:hover .arrow_circle::after{
  transform: translateX(200%);
  opacity: 0;
}
a:hover .arrow_circle::before, .link_circle_arrow:hover .arrow_circle::before, .top_cont_box:hover .arrow_circle::before{
  transform: translateX(0);
  opacity: 1;
}
.arrow_circle._line{
  background-color: inherit;
  border: 1px solid var(--c-white);
}
.arrow_circle._line .arrow_circle_img{
  bottom: 0;
}

/* link_btn ========== */
.link_btn{
  position: relative;
  display: block;
  width: fit-content;
  font-size: 1.3em;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--c-a);
  text-align: center;
  padding: 1.2em 0;
}
.link_btn.right,
._right{
  margin-left: auto;
}
.link_btn.center,
._center{
  margin: 0 auto;
}
._arrow{
  position: relative;
  width: fit-content;
  padding-right: 1em;
}
._arrow::after{
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  right: 0.2em;
  top: 0.11em;
  bottom: 0;
  margin: auto;
  border-top: 0.15em solid;
  border-right: 0.15em solid;
  transform: rotateZ(45deg);
}

.link_btn._border::before{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  bottom: .8em;
  left: 0;
  right: 0;
  margin: auto;
  /* transform: scaleX(0); */
  transform-origin: right center;
  transition: transform .2s;
}
.link_btn._border:hover::before{
  animation: border_move forwards .4s ease normal;
}
@keyframes border_move {
  0%   { transform: scaleX(100%); transform-origin: right;}
  50%  { transform: scaleX(0); transform-origin: right;}
  51%  { transform: scaleX(0);   transform-origin: left;}
  100% { transform: scaleX(100%); transform-origin: left;} 
}

.square_btn{
  width: 100%;
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 1.4em;
  border-radius: .2em;
  padding: 1.3em 0 1.4em;
  margin: 1em auto ;
  background-color: #2993ca;
  color: #fff;
  max-width: 22em;
}

.sq_btn {
  position: relative;
  display: block;
  max-width: 29em;
  border-radius: .2em;
  background-color: var(--c-blue);
  color: #fff;
  padding: 1.8em 0;
  margin: 1em auto;
}
.sq_btn.yellow{
  background-color: #f0bd16;;
}
.sq_btn .txt {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  font-size: 1.6em;
  font-weight: 600;
  letter-spacing: .05em;
  text-align: center;
  padding: 0 1.8em;
}
.sq_btn .txt::after {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  right: 1em;
  top: 0.11em;
  bottom: 0;
  margin: auto;
  border-top: 0.15em solid;
  border-right: 0.15em solid;
  transform: rotateZ(45deg);
}

.before_border{
  position: relative;
}
.before_border{
  position: relative;
  padding-left: 1.7em !important;
}
.before_border::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 1.4em;
  height: 1px;
  background-color: currentColor;
  opacity: .3;
}

.before_point{
  position: relative;
  padding-left: .8em !important;
  color: currentColor;
}
.before_point::before{
  position: absolute;
  left: 0;
  top: .9em;
  margin: auto;
  content: "";
  display: block;
  line-height: 1;
  width: .35em;
  height: .35em;
  background-color: currentColor;
  border-radius: 50%;
}

/* HEADER
==================================================== */
.header{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10500;
}
.header_logo{
  position: relative;
  z-index: 11000;
  padding: 0 .5em;
  margin-top: .2em;
  filter: var(--filter-w);
  transition: opacity .5s , filter .5s;
  /* opacity: 0;
  visibility: hidden; */
}
.header_logo a{
  display: flex;
  align-items: center;
  width: fit-content;
  height: fit-content;
}
.header_logo_img{
  width: 3.6em;
}

.lang_btn_wrap{
  display: block;
  
  font-size: 1.2em;
  color: var(--c-white);
}
.header .lang_btn_wrap{
  margin-right: 1em;
  margin-left: auto;
}
.lang_btn,.slash{
  opacity: .7;
  transition: opacity .5s;
}
.lang_btn.inactive{
  pointer-events: none;
  color: var(--c-white);
  opacity: 1;
}
.lang_btn:hover{
  opacity: 1;
}

.lang_btn {
  position: relative;
}
.lang_btn.inactive::before {
  position: absolute;
  top: 105%;
  right: 0;
  left: 0;
  margin: auto;
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

/* sp_nav_btn ============ */
.sp_nav_btn{
  position: relative;
  display: block;
  width: 5.5em;
  height: 5.5em;
  z-index: 10000;
}
.sp_nav_btn_bar{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 3.5em;
  height: 1px;
  /* background-color: #fff; */
}
.sp_nav_btn_bar::before,
.sp_nav_btn_bar::after{
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #f1f0ed;
  transition: top .2s .1s, transform .1s;
}
.sp_nav_btn_bar::before{
  top:.3em;
}
.sp_nav_btn_bar::after{
  top:-.3em;
}

/* sp_nav_panel ============ */
.sp_nav_bloc{
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--c-black2);
  color:var(--c-white);
  overflow-y: scroll;
}
.sp_nav_inner{
  padding: 9em 3em 8em;
}
.sp_nav_list {
  width: 100%;
  text-align: center;
}
.reserve_btn_box {
  width: 100%;
  font-size: 1.5em;
  font-weight: 500;
  text-align: center;
  letter-spacing: .05em;
  /* background-color: var(--c-gold); */
  border: 1px solid;
  padding: 1em 0;
  margin: 1.6em 0 0;
  cursor: pointer;
  /* border-radius: .1em; */
}
.sp_nav_list .link_btn{
  font-size: 1.4em;
  margin-top: 2em;
}
@media (min-height:660px){
  .sp_nav_inner{
    display: flex;
    align-items: center;
    height: 100%;
  }
}
/*  */

/* header_bg ============ */
.header_bg header,
.no_mv header{
  mix-blend-mode: difference;
}
/* .header_bg .header_logo,
.no_mv .header_logo{
  visibility: visible;
  opacity:  1;
} */
.sp_nav_list li .en{
  display: block;
  font-size: 1em;
  letter-spacing: .03em;
  margin-right: .3em;
}
.sp_nav_list li .ja{
  font-size: 1.55em;
  font-weight: 500;
  letter-spacing: .05em;
  /* color: var(--c-grey-d2); */
}
.sp_nav_list li {
  display: block;
  padding: 1em 0;
  letter-spacing: .03em;
}

/* _panel_open =========*/
body._panel_open ,
body._reserve_open {
  overflow: hidden;
}
.reserve_close_btn .sp_nav_btn_bar::before,
._panel_open .sp_nav_btn_bar::before{
  transform: rotateZ(20deg);
  top: 0;
  transition: top .1s , transform .2s .1s;
}
.reserve_close_btn .sp_nav_btn_bar::after,
._panel_open .sp_nav_btn_bar::after{
  transform: rotateZ(-20deg);
  top: 0;
  transition: top .1s , transform .2s .1s;
}
._panel_open .sp_nav_bloc{
  display: block;
}
.header_bg._reserve_open header,
.header_bg._panel_open header,
.no_mv._reserve_open header,
.no_mv._panel_open header{
  mix-blend-mode: initial;
}

/* PC NAV */
.pc_nav_wrap{
  display: none;
}
.pc_nav_list{
  display: flex;
  justify-content: flex-end;
  padding-right: 1em;
}

@media (min-width:769px){
  ._panel_open .sp_nav_bloc{
    display: none;
  }
  .header {
    min-width: 960px;
  }
  .header_logo{
    margin-top: 0;
  }
  .sp_nav_btn{
    display: none;
  }
  .pc_nav_wrap{
    display: block;
    margin-left: auto;
  }
  .pc_nav_list a{
    display: block;
    letter-spacing: .03em;
    padding: 1.8em 1.5em;
    transition: transform .3s;
    text-align: center;
    letter-spacing: .05em;
  }
  .pc_nav_list a .en ,
  .pc_nav_list a .ja{
    color: var(--c-white);
  }
  .pc_nav_list a .ja {
    display: block;
    font-size: 1.05em;
  }
  .pc_nav_list a .en {
    display: block;
    font-size: .7em;
    opacity: .7;
  }
  .pc_nav_list a:hover{
    transform: translateY(.3em);
  }
  .lang_btn_wrap {
    font-size: 1.1em;
  }
  .header .lang_btn_wrap{
    margin-right: 2em;
    margin-left: 1em;
  }

}/*  */

/* RESERVE MODAL =============================== */
.reserve_modal {
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100vh;
  padding: 10rem 0 6rem;
  opacity: 0;
  transition: opacity .3s , right .3s;
  color: #fff;
  overflow-y: scroll;
  padding: 6rem 0 4rem;
  background-color: #000000dd;
  z-index: 10100;
}
._reserve_open .reserve_modal {
  /* right: 0; */
  opacity: 1;
  visibility:  visible;
}
.reserve_close_btn{
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 5.5em;
  height: 5.5em;
  z-index: 10000;
}
.reserve_modal_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 0 2.5em;
  margin: auto;
}
.reserve_serch_box {
  width: 100%;
  max-width: 38em;
  margin: auto;
}
.reserve_serch_ttl {
  font-size: 1.25em;
  padding: .5em 0;
  letter-spacing: .05em;
  text-align: center;
}
.reserve_serch_ttl .en {
  display: block;
  font-size: 2.5em;
  font-weight: 500;
  line-height: 1;
}
.reserve_serch_ttl .ja {
  display: block;
  font-size: 1em;
  font-weight: 500;
  margin-top: 0.2em;
}
.group_reserve_ttl {
  font-size: 17px;
  font-weight: 500;
  text-align: center;
}
.group_reserve_box{
  display: block;
  padding: .5em 0 0;
}
.web_reserve_btn {
  display: block;
  font-size: 1.3em;
  font-weight: 500;
  letter-spacing: .05em;
  padding: 1.3em 0;
  margin: .5em auto;
  text-align: center;
  border-radius: 0.1em;
  border: 1px solid var(--c-grey-d2);
  transition: opacity .5s;
}
.web_reserve_btn._gold {
  font-size: 1.3em;
  padding: 1.3em 0;
  background-color: var(--c-gold);
  color: #fff;
  border: none;
  max-width: 22em;
}

.modal_reserve_btn{
  position: relative;
  transition: color .5s , background-color .5s;
}
.modal_reserve_btn::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  margin: auto;
  display: block;
  width: .85em;
  height: .85em;
  background-image: url(/imgs/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: center;
  filter: var(--filter-w);
  transition: filter .5s;
}

@media (min-width:769px){
  .reserve_modal {
    padding: 4rem 0 ;

    /* max-width: 420px;
    left: 0;
    bottom: 0;
    margin: auto;
    height: 600px; */
    overflow-y:inherit;
  }

  .modal_reserve_btn:hover{
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .modal_reserve_btn:hover::after{
    filter: none;
  }
}/*  */


/* FIXED FOOT BANNER 
==================================================== */
.footbaner{
  position: fixed;
  bottom: 0;
  right: 5%;
  z-index: 10;
  width: 90%;
  text-align: center;
  padding: .9em 0;
  margin: 0 0 0 auto;
  /* border-radius: 0.1em 0.1em 0 0; */
  background-color: var(--c-gold);
  color: var(--c-white);
  cursor: pointer;
  transition:  padding .2s , background-color .2s;
  transform: translateY(100%);
  animation: slideUpOnce .5s 2s 1 forwards;
}
@keyframes slideUpOnce {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0); }
}
.footbaner .en{
  display: block;
  font-size: 1.5em;
  letter-spacing: .03em;
}
.footbaner .ja{
  display: block;
  font-size: 1em;
  opacity: .8;
}

[data-page="exp_reserve"] .footbaner {
  display: none;
}

@media (min-width:769px){
  .footbaner{
    right: 1.5em;
    max-width: 15em;
  }
  .footbaner:hover{
    padding-bottom: 1.5em;
    background-color: var(--c-gold);
  }
}/*  */


/* FOOTER
==================================================== */
.footer{
  position: relative;
  z-index: 1;
  letter-spacing: .05em;
  text-align: center;
  padding: 7em 0;
  /* background-color: var(--c-black); */
  /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(1,1,1,.3) 20%); */
  color: var(--c-white);
  overflow: hidden;
}
.footer::before,
.footer::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.footer::before{
  background-color: var(--c-black2);
  z-index: -1;
  mix-blend-mode: multiply;
  opacity: 1;
}
.footer::after{
  z-index: -2;
}
/* .footer::after{
  background-image: url(/imgs/footer_bg_sp.jpg);
  background-size: cover;
  z-index: -2;
} */
.foot_logo {
  width: 7.5em;
  padding: 1.2em 0;
  margin: auto;
}
.foot_logo a {
  display: flex;
  width: fit-content;
  height: fit-content;
}
.footer_desc{
  font-size: .9em;
  line-height: 1.9;
  text-align: left;
  padding: 2.5em 0;
}
.footer_desc > span{
  display: block;
  padding: .3em 0;
}
.copyright{
  font-size: 10px;
  padding: 1em 0;
  color: var(--c-grey-d2);
}

.foot_txt{
  font-weight: 500;
  margin: 1.5em 0 ;
}
.foot_logo_list{
  display: flex;
  flex-wrap: wrap;
  /* justify-content: center; */
  gap: 6%;
  padding: 2em 0 5em;
  margin: auto;
  max-width: 60em;
}
.foot_logo_list li{
  width: 29%;
  padding: .5em 0;
}
.foot_logo_list img{
  filter: var(--filter-w);
}
.foot_add{
  padding: 1em 0;
}
.foot_add i{
  display: block;
  font-size: 1.5em;
  margin-top: .3em;
}
.foot_add p{
  padding: .3em 0;
}

.footer_nav_list{
  width: 80%;
  display: flex;
  flex-wrap: wrap;
  padding: 2.5em 0 2em;
  margin: auto;
}
.footer_nav_list li{
  width: 50%;
  font-size: 1em;
  padding: 1.1em 0;
}
.footer_nav_list li .ja{
  display: block;
  font-size: 1.3em;
  line-height: 1.3;
  color: var(--c-grey-l);
}
.footer_nav_list li .en{
  display: block;
  font-size: .9em;
  opacity: .7;
  margin-top: .1em;
}

.footer_nav_list._b {
  font-size: 1.05em;
  width: 100%;
  padding: 0 0 2em;
}
.footer_nav_list._b li {
  width: 100%;
  padding: .6em 0;
}

@media (min-width:769px){
  .footer{
    padding: 6em 0 8em;
  }
  .footer_pc_flex{
    display: flex;
    justify-content: space-between;
  }
  .footer_pc_flex_left{
    width: 25%;
  }
  .footer_pc_flex_right{
    width: 64%;
  }
  .footer_desc {
    font-size: .8em;
  }
  .footer_desc > span {
    padding: .3em 0;
  }
  .foot_logo{
    width: 6.5em;
    padding: .7em 0;
    margin: 0;
  }
  .foot_add {
    font-size: .85em;
    text-align: left;
  }
  .foot_logo_list{
    justify-content: left;
    gap: 3%;
    padding: 2em 0 3em;
    margin: 0;
    max-width: 44em;
  }
  .foot_logo_list li {
    flex: 1;
  }
  .copyright {
    text-align: right;
  }

  .footer_nav_list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: left;
  }
  .footer_nav_list li{
    width: 11em;
    font-size: .9em;
    padding: .6em 0;
  }

  .teaser_footer .foot_logo{
    margin: auto;
  }
  .teaser_footer .foot_add,
  .teaser_footer .copyright{
    text-align: center;
  }
}
/*  */


/* breadcrumbs
========================================= */
.breadcrumbs{
  padding: 2em 0;
}
.breadcrumbs{
  text-align: left;
}
.breadcrumbs li{
  display: inline;
  font-size: 0.9em;
  font-family: var(--font-comp);
  color: var(--c-grey-d);
}
.breadcrumbs li:not(:first-child)::before{
  content: ">";
  display: inline-block;
  font-weight: 500;
  margin-right: .3em;
  color: var(--c-grey-d2);
}
@media(min-width:769px){
  .breadcrumbs ol {
    width: fit-content;
    margin-left: auto;
}
  .breadcrumbs li{
    display: inline-block;
    font-size: 0.7em;
  }
}/*  */


/* UNDER PAGE HEAD 
=================================*/
.page_head {
  width: 100%;
  height: auto;
  position: relative;
  height: 48rem;
  color: #fff;

  background-color: #999;
}
.page_head_bg_box{
  display: block;
  width: 100%;
  height: 100%;
}
.page_head_bg_box img{
  width: 100%;
  height: 100%;
  object-fit: cover;

  mix-blend-mode: multiply;
}
.page_head_ttl{
  position: absolute;
  top: 1em;
  bottom: 3.5em;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  font-size: 1em;
  height: fit-content;
  text-align: center;
}
.page_head_ttl .en {
  display: block;
  font-size: 4.2em;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1;
}
.page_head_ttl .ja {
  display: block;
  font-size: 1.4em;
  font-weight: 500;
  margin-top: 0.2em;
  letter-spacing: .05em;
  opacity: .9;
}

.keyvis_banner{
  position: absolute;
  bottom: 3.5%;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
  background-color: #000b;
}


@media (min-width: 769px) {
  .page_head {
    height: 42rem;
  }
  .page_head_ttl {
    top: 0;
    bottom: 0;
  }
  .keyvis_banner {
    bottom: 5%;
    left: initial;
    max-width: 27em;
  }

  .contents_head_box {
    width: fit-content;
    margin: auto;
  }  
  .contents_head_box * {
    width: fit-content;
  }
  [data-page="exp"] .contents_head_box{
    display: flex;
    flex-direction: row-reverse;
    gap: 5%;
    padding-left: 3em;
  }
}/*  */


/* ACCESS 
=================================*/


.top_acceess_gmap_box {
  /* width: calc(100% + 4em); */
  aspect-ratio: 4/4;
  /* filter: grayscale(.7); */
  /* filter: sepia(1) hue-rotate(175deg) grayscale(.5) saturate(1.5); */
  transition: filter .5s;
  margin: 2em 0 2em;
  filter: brightness(1.05);
}
/* .top_acceess_gmap_box:hover{
  filter: grayscale(.2);
} */
.top_acceess_gmap_box iframe{
  width: 100%;
  height: 100%;
}
.top_acceess_ttl{
  font-size: 1em;
  letter-spacing: .05em;
  padding: 1em 0;
}
.top_acceess_ttl .en{
  display: block;
  font-size: 1em;
  font-weight: 600;
  color: var(--c-grey-d);
}
.top_acceess_ttl .ja{
  font-size: 1.8em;
  font-weight: 400;
  letter-spacing: .05em;
}
.top_acceess_txt_wrap{
  font-size: 1em;
  padding: .5em 0;
  line-height: 1.6;
}
.top_acceess_txt_wrap p{
  padding: .3em 0;
  letter-spacing: .02em;
}

.access_dl{
  padding: .7em 0;
}
.access_dl dt{
  font-size: 1.1em;
  font-weight: 500;
}
.access_dl dd{
  padding: .5em 0 .5em 1em;
}
.access_dd_box{
  padding: .3em 0;
}

.route_box > span:not(:first-child)::before{
  content: ">";
  display: inline-block;
  font-weight: 500;
  margin: 0 .5em;
  color: var(--c-grey-d);
  vertical-align: .12em;
}

@media (min-width: 769px) {
  .sec_top_access {
    overflow: hidden;
  }
  .sec_top_access.lazyloaded::before {
    background-image: url(/imgs/access_bg2_pc.jpg);
  }
  .top_acceess_ttl{
    padding-top: 0;
  }
  .top_access_flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 3em 0 0;
  }
  .top_acceess_gmap_box{
    width: 65%;
    margin: 0;
    aspect-ratio: 3 / 2;
  }
  .top_acceess_detail_box{
    display: flex;
    /* justify-content: center; */
    align-items: center;
    width: 29%;
    height: 100%;
  }
  .access_dl {
    font-size: .9em;
  }
}/*  */




/* NEWS
================================================ */
.sec_news{
  /* padding-left: 2em; */
  background-color: #e7e7e4;
}
.sec_news_inner{
  /* margin-left: 2em ; */
  padding: 3em 2em 2.5em 3em;
  /* border-radius: .75em 0 0 .75em; */
  /* max-width: 1400px; */
}
.news_list{
  padding: 1em 0;
}
.news_list_box{
  position: relative;
  padding-right: .5em;
}
.news_list_box::before,
.news_list_box::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
}
.news_list_box::before{
  background-color: var(--c-grey-d);
}
.news_list_box::after{
  width: 0;
  background-color: var(--c-gold);
  transition: width .3s;
}
.news_list_box:hover::after{
  width: 100%;
}
.news_list_box:hover .news_list_box_inner{
  transform: translateX(.5em);
}
.tab-head:hover .tab_head_txt {
  padding-left: .7em;
}

.news_list_box_inner{
  display: block;
  padding: 1.5em 0;
  transition: transform .3s;
}
.news_date {
  font-size: 1.1em;
  font-weight: 400;
  color: var(--c-gold);
  padding: .3em 0;
  letter-spacing: .05em;
}
.news_ttl {
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.6;
  padding: .2em 0;
}

@media (min-width: 769px) {
  /* .sec_news{
    padding-left: 5em;
    max-width: calc(1400px + (5em * 2) );
    margin: auto;
  } */
  .sec_news_inner{
    padding: 5em 8em 3em 8em;
    /* margin-left: 5em; */
  }
  .sec_news .sec_ttl._s {
    padding: 1.7em 0;
  }
  .news_flex{
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: auto;
  }
  .news_flex_left{
    width: 25%;
  }
  .news_flex_right{
    width: 70%;
  }
  .news_list {
    padding: 0 0 1em;
  }

}/* 769 */



/* =========================================
NEWS TOP PAGE
========================================= */
.under_contents_block{
  padding: 8em 0 3em;
}

[data-page="news_top"] .news_ttl {
  font-size: 1.3em;
}
@media (min-width: 769px) {
  .under_contents_block {
    padding: 6em 0 4em;
  }
}/* 769 */


/* =========================================
NEWS ENTRY PAGE 
========================================= */
.news_entry_wide{
  max-width: 54rem;
  margin: auto;
}
.news_up_date,.news_cat_icon{
  display: inline-block;
  font-family: var(--font-en);
  font-size: 1.3rem;
  line-height: 1;
}
.news_up_date{
  font-size: 1.2em;
  margin-right: .5em;
}
.news_cat_icon{
  font-size: 1.05em;
  background-color: var(--c-set-a);
  color: var(--c-txt-w);
  letter-spacing: .05em;
  padding: 0.05em .5em;
}
.news_entry_ttl_wrap{
  padding: 1em 0;
}
.news_entry_ttl{
  font-size: 2.2rem;
  line-height: 1.4;
  padding: .6em 0;
}
.news_entry_body{
  font-size: 1.1em;
  line-height: 1.8;
  padding: 2em 0 6em;
}
.news_entry_body *{
  padding: .8em 0;
}
.news_entry_body a{
  display: inline-block;
  font-weight: bold;
  text-decoration: underline;
  padding: 0;
}
.news_entry_thum{
  border-radius: 0.3em;
  overflow: hidden;
}

@media (min-width: 768px) {
  .news_entry_ttl_wrap{
    padding: 2em 0;
  }
}/* 768 end */



/* CONTACT
================================================ */
/* .contents_block > .sec_bloc:last-of-type {
  padding-bottom: 10em;
} */
.top_contact_box{
  width: 100%;
  position: relative;
  display: block;
  margin: 0 auto 1px;
  cursor: pointer;
}
.top_contact_box.trgr {
  transform: scale(.8);
  opacity: 0;
  transition: transform .5s, opacity .3s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  line-height: 1.8;
}
.top_contact_box.trgr.on {
  transform: scale(1);
  opacity: 1;
}

.top_contact_box_inner{
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  margin: auto;
  height: fit-content;
  z-index: 5;
  color: #fff;
  padding: 2em;
}
.contact_ttl {
  font-size: 3.2em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .02em;
  padding-bottom: .1em;
}
.contact_txt{
  font-size: 1.3em;
  letter-spacing: .01em;
}
.contact_img_wrap{
  position: relative;
  /* width: calc(100% + 4em);
  margin-left: -2em; */
  overflow: hidden;
  aspect-ratio: 1.618 / 1;
}
.contact_img_wrap img{
  transition: transform .5s;
}
.contact_img_wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  /* background: linear-gradient(180deg, rgba(1, 1, 1, .4) 0%, rgba(1, 1, 1, .7) 60%); */
  mix-blend-mode: multiply;
  opacity: .7;
  z-index: 1;
  transition: opacity .5s;
}
.top_contact_box .link_arrow {
  position: absolute;
  right: 1.5em;
  top: 0;
  bottom: 0;
  font-size: 1.5em;
  margin: auto;
}
.top_contact_box:hover .contact_img_wrap::before,
a:hover .contact_img_wrap::before{
  opacity: .4;
}
.top_contact_box:hover .contact_img_wrap img,
a:hover .contact_img_wrap img{
  transform: scale(1.05);
}

.top_contact_box:hover .link_arrow {
  transform: translateX(0.5em);
}

@media (min-width: 769px) {
  .top_contact_box{
    width: calc(100% - 10em);
  }
  .contact_img_wrap {
    aspect-ratio: 3.2 / 1;
  }
  .top_contact_box_inner{
    padding: 2em 6em;
  }
  .contact_ttl{
    font-size: 4.2em;
  }
  .top_contact_box .link_arrow {
    right: 6em;
  }

  .reserve_wrap{
    display: flex;
    justify-content: space-between;
    gap: 1px;
    flex: 1;
  }
  .reserve_wrap .top_contact_box {
    width: 100%;
  }
  .reserve_wrap .top_contact_box .link_arrow {
    right: 2em;
  }
  .reserve_wrap .contact_img_wrap {
    aspect-ratio: 1.7 / 1;
  }
  .reserve_wrap .top_contact_box_inner {
    padding: 2em 3em;
  }
  .reserve_wrap .contact_ttl {
    font-size: 3.6em;
  }
}/*  */

/* [data-link="recruit"] {
  display: none;
} */


/* ROOMS
================================================ */
/* .sec_top_room{
  padding-top: 8em;
} */
.room_floormap_img_wrap{
  display: flex;
}

@media (max-width: 768px) {
  .room_floormap_img_wrap{
    padding: 1.5em;
    scroll-snap-type: x mandatory;
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
  .room_floormap_img{
    width: 180%;
    flex: none;
    scroll-snap-align: center;
    padding: 1em 1.5em;
  }
  .top_room_img_wrap{
    padding: 2em 0;
    width: calc( 100% + 4em);
    margin-left: -2em;
  }
}/*  */

.top_room_img_box:first-child {
  width: 90%;
  margin-left: auto;
}
.top_room_img_box:nth-child(2) {
  width: 80%;
  margin-top: -1.5em;
  margin-right: auto;
}

.room_floormap_detail_wrap{
  padding: 0 2em;
}
.room_eq_list{
  font-size: 1.08em;
  padding: 1em 0;
  letter-spacing: .02em;
}
.room_eq_list_ttl{
  padding: .5em 0;
}
.room_eq_list_desc{
  padding: .5em 0;
}
.room_eq_list_desc p{
  padding: .2em 0;
}

@media (min-width: 769px) {
  .top_room_pc_flex{
    display: flex;
    justify-content: start;
    align-items: flex-start;
    gap: 8%;
  }
  .top_room_txt_box{
    width: 45%;
  }
  .top_room_img_box {
    width: 70%;
    margin-right: -5em;
    max-width: 46em;
  }
  .top_room_img_box:nth-child(2) {
    width: 70%;
  }
  .top_room_img_box img {
    /* aspect-ratio: 4 / 3; */
    object-fit: cover;
  }
  .top_room_img_wrap{
    margin-top: -12em;
  }
  .top_room_copy_flex{
    display: flex;
    gap: 8%;
    padding: 1.8em 0;
  }
  .top_room_copy_flex .sec_copy,
  .top_room_copy_flex .sec_desc{
    padding: 0;
  }
  .top_room_copy_flex .sec_desc p{
    padding-top: 0;
  }

  .top_room_floor_flex{
    display: flex;
    /* justify-content: center; */
    /* align-items: flex-end; */
    gap: 4%;
    padding: 3em 5em 2em;
  }
  .room_floormap_img_wrap{
    width: 80%;
    /* gap: 8%; */
  }
  .room_floormap_img{
    width: 100%;
  }
  .room_floormap_detail_wrap{
    position: relative;
    width: 20%;
  }
  .room_eq_list {
    position: absolute;
    right: 0;
    width: 20em;
    font-size: 1em;
    padding: 0;
  }
}/*  */


/* PLAN
================================================ */
.top_plan_list{
  padding: 1em 0;
}
.top_plan_list_box_inner{
  padding: 1em 0 3em;
}
.top_plan_list_box:last-child .top_plan_list_box_inner{
  padding-bottom: 0;
}
.top_plan_list_img_wrap{
  position: relative;
  /* z-index: -1; */
  aspect-ratio: 1.8 / 1;
  background-color: var(--c-grey-l);
  margin-bottom: 1.3em;
}
.top_plan_list_img_wrap img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.figure_caption{
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  font-size: 0.8em;
  padding: .7em;
  color: #fff;
  filter: drop-shadow(0 0 .3em #000);
}
.top_plan_list_img_wrap_flex{
  display: flex;
  height: 100%;
}
.top_plan_list_img_wrap_flex img{
  width: 50%;
  height: 100%;
}
.top_plan_num{
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--c-gold);
}
.top_plan_name_wrap{
  padding: .8em 0 0;
}
.top_plan_name{
  font-size: 1.8em;
  font-weight: 500;
}
.top_plan_gist{
  font-size: .9em;
  padding: .2em 0;
  margin-right: 0.8em;
  color: var(--c-grey-d);
}
.top_plan_price{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8em 0;
  margin : 0 0 .5em;
}
.top_plan_price::after{
  content: "";
  position: absolute;
  left: 0;
  bottom:  0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--c-grey-l);
}
.top_plan_price .num{
  font-size: 2.2em;
}
.price_note{
  color: var(--c-grey-d);
}
.top_plan_desc{
  font-size: 1.05em;
  line-height: 1.6;
  padding: 1em 0;
}
.top_plan_desc p{
  padding: .3em 0;
}
.caption_list{
  padding: 1.5em 0;
}
@media (min-width: 769px) {
  .top_plan_list{
    display: flex;
    gap: 5%;
  }
  .top_plan_list_box{
    flex: 1;
  }
  .top_plan_list_box_inner {
    padding: 1em 0 0;
  }
  .top_plan_name {
    font-size: 1.4em;
  }
  .top_plan_gist {
    font-size: .8em;
  }
  .top_plan_price .num {
    font-size: 1.9em;
  }
  /* .top_plan_list_wrap{
    width: calc(100% + 2em);
    padding: 2em 0;
    margin-left: -1em;
  } */
  /* SLICK */
  /* .top_plan_list{
    opacity: 0;
    transition: opacity .5s;
  }
  .top_plan_list_wrap .slick-next, 
  .top_plan_list_wrap .slick-prev {
    width: 15px;
    height: 15px;
  }
  .top_plan_list_wrap .slick-dots{
    bottom: -2.2em;
  }
  .top_plan_list_wrap .slick-dots li button:before{
    content: '';
    background-color: currentColor;
    width: 2px;
    height: 14px;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .top_plan_list_wrap .slick-dots li,
  .top_plan_list_wrap .slick-dots li button {
    width: 10px;
    height: 14px;
  }
  .top_plan_list_box_inner {
    padding: 0 1em;
  }
   */

}/*  */

/* BLOG TRIAL ===============*/
.blog_trial_block {
  background-color: var(--c-white2);
  color: var(--color-black);
}
.join-ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  padding: .8em 0;
}
.join-ttl-desc {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1em;
  text-align: center;
}
.join-ttl-desc span {
  display: block;
  font-weight: normal;
  font-size: 1.1rem;
  padding-top: 1em;
}
.trial-caution {
  color: var(--color-red);
  display: block;
  font-size: 1.2rem;
  margin-top: .2em;
}
.trial-common-ttl {
  font-size: 2.1rem;
  line-height: 1.3;
  letter-spacing: 0.02em;
  font-weight: bold;
  padding: 0.5em 0;
  position: relative;
  z-index: 10;
  text-align: center;
}
.trial-common-sub {
  font-size: 1.35rem;
  letter-spacing: 0;
  line-height: 1.6;
  margin-bottom: .5em;
  position: relative;
  z-index: 10;
  text-align: center;
}

.trial-block.tel {
  padding: 3em 0 0;
}
.trial-block.underline {
  padding: 3em 0 4em;
  border-bottom: 1px solid #c5c5c5;
}
.trial-block.topline {
  padding: 3em 0 4em;
  border-top: 1px solid #c5c5c5;
  margin-top: 5em;
}

/* OTHER WORKS LIST
========================================== */
.work_list{
  display: flex;
  flex-wrap: wrap;
  gap: 1px ;
}
.work_list_box{
  width: calc(50% - .5px);
}
.work_list_box a{
  display: block;
  position: relative;
}
.work_list_img_wrap{
  position: relative;
  background-color: #000;
  aspect-ratio: 3 / 2;
}
.work_list_img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.noah_school .work_list_img{
  opacity: .6;
}
.work_list_img_logo{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
  width: 80%;
  height: auto;
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(152deg) brightness(103%) contrast(103%);
}

.work_list_txt {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  font-size: 10px;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.7);
  color: #fff;
  /* overflow-y: scroll; */
  /* visibility: visible; */
  transform: translateY(0);
  /* opacity: 1; */
  transition: transform .4s, opacity .4s;
  display: flex;
  justify-content: center;
  align-items: center;

  font-size: .7em;
  font-weight: 500;
  padding: .5em 1.5em;

  visibility: none;
  opacity: 0;
}
.work_list_box:hover .work_list_txt {
  opacity: 1;
  visibility: visible;
}
._kpop .work_list_img_logo{
  width: 30%;
}

/* .work_list_box._academy{
  display: none;
} */


@media (min-width:769px){
  .sec_other_brand .c_wide{
    max-width: 78.75em;
  }
  .work_list_box { 
    /* width: calc(20% - .8px); */
    width: calc( (100% / 5) - .8px); 
  }
  .work_list_box { 
    /* width: calc(20% - .8px); */
    width: calc( (100% / 5) - .8px); 
  }
  .work_list_img_logo {
    width: 60%;
  }
  ._kpop .work_list_img_logo {
    width: 24%;
  }
  .work_list_txt{
    font-size: .75em;
    padding: .5em .8em;
  }
}/*  */


/* TOP - RECOMMEND
========================================= */
.top_reco_block{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  /* border-top: .5px solid var(--c-grey);
  border-bottom: .5px solid var(--c-grey); */

  width: calc(100% + 4em);
  margin: 2em 0 2em -2em;
}
.top_reco_box{
  position: relative;
  width: 50%;
  border: 1px solid var(--c-grey);
  border-left: none;
  overflow: hidden;
  aspect-ratio: 5 / 3.5;
}

@media (max-width: 768px) {
  .top_reco_box:nth-child(2n) {
    border-right: none;
  }
  .top_reco_box:nth-child(n+3) {
    border-top: none;
  }
}

.reco_detail_box{
  position: absolute;
  z-index: 5;
  font-size: 10px;
  width: 100%;
  height: 100%;
  background-color: var(--c-black2);
  color: var(--c-white);
  overflow-y: scroll;

  visibility: hidden;
  opacity: 0;
  /* transform: translateY(-101%); */
}
/* .top_reco_box.on .reco_detail_box, */
.top_reco_box:hover .reco_detail_box{
  /* transform: translateY(0); */
  visibility: visible;
  opacity: 1;
  transition: opacity .5s;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* .top_reco_box:hover .reco_detail_box{
  transform: translateY(0);
  opacity: 1;
} */
.reco_txt{
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
  height: fit-content;
  padding: 1em  2em;
}

.reco_img_box{
  position: relative;
  width: 70%;
  padding-top: 70%;
  overflow: hidden;
  margin: auto;
  transform: translateY(-.25em);
}
/* .top_reco_box:hover .reco_img_box{
  transform: translateY(-100%);
  opacity: 0;
} */
.reco_logo_img{
  position: absolute;
  pointer-events: none;
}
.reco_logo_img.nda{top: 0;}
.reco_logo_img.ndak{top: -100%;}
.reco_logo_img.nds{top: -200%;}
.reco_logo_img.nyoga{top: -300%;}
.reco_logo_img.npila{top: -1800%;}
.reco_logo_img.nbox{top: -400%;}
.reco_logo_img.nbal{top: -500%;}
.reco_logo_img.nbalk{top: -600%;}
.reco_logo_img.non{top: -700%;}
.reco_logo_img.nmusic{top: -800%;}
.reco_logo_img.tdl{top: -900%;}
.reco_logo_img.sst{top: -1300%;}
.reco_logo_img.pst{top: -1400%;}
.reco_logo_img.stn{top: -1500%;}
.reco_logo_img.voat{top: -1000%;}
.reco_logo_img.voice{top: -1100%;}
.reco_logo_img.voatk{top: -1200%;}
.reco_img_box{
  transition: transform .4s , opacity .4s;
}
.reco_logo_img_single{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin:auto;
  width: 90%;
  z-index: 2;
}

.reco_detail_btn{
  position: absolute;
  bottom: 8%;
  left: 0;
  right: 0;
  margin: auto;
  width: fit-content;
  width: 35%;
  padding: .3em 1.8em;
  margin: 0 auto;
  opacity: .2;
  z-index: 10;
}

@media (min-width: 769px) {
  .top_reco_pc_wrap {
    max-width: 60em;
    margin: 0 auto;
  }
  .top_reco_block{
    width: 100%;
    margin: 0;
    /* border: .5px solid var(--c-grey); */
  }
  .top_reco_box{
    width: 20%;
    aspect-ratio: 1 / 1;
  }
  .top_reco_box:nth-child(n+6) {
    border-top: none;
  }
  .top_reco_box:nth-child(5n+1) {
    border-left: 1px solid var(--c-grey);
  }
  .reco_img_box {
    width: 90%;
    padding-top: 90%;
    transform: translateY(.25em);
  }
  .sec_top_contents .foot_desc{
    padding-right: 0;
  }
  .reco_detail_btn{
    width: 38%;
  }
  .reco_txt{
    bottom: 0;
    margin: auto;
    padding: 1em;
  }
  .reco_detail_box{
    font-size: .7em;
    overflow-y: initial;
  }
  /* .top_reco_box.on .reco_detail_box{
    overflow-y:inherit;
  } */
}/* 769 */

@media (min-width: 1200px) {
  .sec_top_reco .sec_ttl._small{
    font-size: 1.1rem;
    padding-top: 0;
  }
  /* .sec_top_reco_inner{
    display: flex;
    justify-content: space-between;
  }*/
  /* .top_reco_pc_wrap{
    width: 70%;
    margin-left: auto;
    margin-top: -7.7em;
  } */
  /* .top_reco_box {
    width: 11.1111111111111111%;
  } */

  .reco_detail_btn {
    width: 45%;
  }
}/* 960 */


/* CONCEPT */
.concept_ttl {
  font-size: 1em;
  padding: 1em 0;
  font-weight: 400;
  letter-spacing: .05em;
}
.concept_ttl .ja {
  font-size: 2em;
}
.concept_ttl .en{
  display: block;
  margin-top: .2em;
  opacity: .7;
}
.concept_img{
  max-width: 38em;
  margin: .5em auto;
  cursor: pointer;
}



/* TOP - CONTENTS
========================================= */
.sec_cont{
  display: none;
}
.top_cont_block{
  width: 100%;
  padding: 1em 0;
}
.top_cont_box{
  position: relative;
}
.top_cont_box::before,
.top_cont_box::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--c-grey);
}
.top_cont_box::after{
  background-color: var(--c-gold);
  width: 0;
  transition: width .5s ease-out;
}

.top_cont_box:first-child{
  border-top: 1px solid var(--c-grey);
}
.top_cont_box_inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4em 1.5em 2.4em 0;
}
.top_cont_box_ttl{
  font-size: 1rem;
}
.top_cont_box_ttl .en{
  font-size: 1.8em;
  line-height: 1.3;
  letter-spacing: .03em;
}
.top_cont_box_ttl .ja{
  display: block;
  font-size: 1em;
  font-weight: 400;
  letter-spacing: .04em;
  /* margin-top: 0.2em; */
}
.top_cont_detail_box{
  width: 80%;
  display: flex;
  justify-content: space-between;
}
.top_cont_box_num{
  display: none;
  font-size: 1.1em;
  font-weight: 700;
  padding-top: .25em;
  letter-spacing: .02em;
}
/* .top_cont_box .arrow_circle{
  transition: border-color .4s , background-color .4s , transform .4s ease-in;
}
.top_cont_box .arrow_circle._line {
  border: none;
} */
.top_cont_box:hover{
  color: var(--c-black);
}
.top_cont_box:hover::after{
  width: 100%;
}
.top_cont_box:hover .top_cont_box_ttl{
  transition: color .5s;
}
/* .top_cont_box:hover .arrow_circle{
  border-color: transparent; 
  background-color: currentColor;
  transform: translateX(.5em);
} */

._sub .top_cont_box_inner{
  padding-right: 0;
}
._sub .top_cont_detail_box {
  width: 100%;
  flex-direction: column;
}
.top_cont_sub_list{
  display: flex;
  flex-wrap: wrap;
  gap: 5.5%;
  padding-top: .8em;
}
.top_cont_sub_list li{
  width: 29%;
}
.top_cont_sub_list li a{
  position: relative;
  display: block;
  padding: .1em 1.1em .1em 0;
}
.top_cont_sub_list li a::after{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: .8em;
  height: .8em;
  background-image: url(/imgs/icon_arrow_right.svg);
  background-position: center;
  background-repeat: no-repeat;
  transition: filter .5s , transform .5s;
}
.top_cont_sub_list li a:hover{
  color: var(--c-red);
  transition: color .5s;
}
.top_cont_sub_list li a:hover::after{
  filter: var(--filter-pink);
  transform: translateX(.2em);
}

@media (min-width: 769px) {
  .sec_cont .sec_ttl .en {
    font-size: 4.8em;
  }
  .top_cont_pc_wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7em;
  }
  .top_cont_block{
    width: 52%;
    padding: 1em 0 2em;
  }
  .top_cont_detail_box {
    width: 20em;
  }
  .top_cont_box_ttl .en {
    font-size: 2.4em;
  }
  .top_cont_box_ttl .ja {
    font-size: 1.1em;
  }
  ._sub .top_cont_box_inner {
    padding-right: 2.5em;
  }
  .top_cont_sub_list{
    font-size: 1.1em;
    gap: 4%;
    padding-top: .5em;
  }
  .top_cont_sub_list li {
    width: 22%;
  }
  .top_cont_sub_list li a {
    padding: .2em 1.1em .2em 0;
  }
  
}/* 769 */


/* スケジュール表 開閉メニュー link-branch 
======================================= */
.link-branch-box{
  position: relative;
  margin: 1em auto;
  z-index: 100;
}
.join_lead_block .link-branch-box{
  margin: 1em auto 1em 0;
}
.link-branch-box svg{
  fill: currentColor;
}
.link-branch a{
  position: relative;
  display: block;
  font-size: 1.5em;
  padding: 1em 1em;
  line-height: 1.4;
  transition: opacity .5s;
  color: #fff;
  font-weight: 500;
  border-radius: 0.1em;
  background: var(--c-gold);
  text-align: center;
}
.link-branch .btn{
  cursor: pointer;
}
.link-branch .txt{
  position: relative;
  /* padding-right: 3rem; */
}
.link-branch svg{
  position: absolute;
  right: 0;
  width: 2em;
  height: 2em;
  fill: currentColor;
}
.trial-block  .arrow_circle {
  background-color: var(--c-grey);
}
.expand_menu {
  display: none;
  position: absolute;
  background-color: rgba(199, 199, 199, 0.95);
  width: 100%;
  z-index: 20;
  left:0;
  top:100%;
}
.expand_menu_inner{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 4%;
}
.expand_menu li {
width: 48%;
font-size: 1.8rem;
margin: 3% 0;
}
.expand_menu li a {
  display: block;
  font-size: .8em;
  padding: .6em 0 .65em;
  color: var(--c-black);
  background:#fff;
  text-align:center;
  border-radius: 19em;
  box-shadow: 0 0 5px rgba(177, 177, 177, 0.5);
}
.expand_menu li a:hover {
  background: #eee;
}
.oubo_line{
  display: block;
  width: 1.4em;
  height: 1em;
  background-color: var(--c-gold);
  mask-image: url(/imgs/line.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
}
.line_img {
    display: inline-block;
    width: 1.4em;
    filter: var(--filter-w);
    margin-left: .3em;
}
@media (min-width: 769px){
  .link-branch-box{
    position: relative;
    max-width: 36em;
    margin: 1em auto;
  }
  .link-branch a {
    padding: 1.1em 1em;
  }
}/* 769 */
