
/* ===================================
    font
====================================== */
/*@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-SemiBold.ttf") format("truetype");  
}

@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-Medium.ttf") format("truetype");  
}

@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-Bold.ttf") format("truetype");  
}

@font-face {
  font-family: "Shippori Mincho", serif;
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/ShipporiMincho-ExtraBold.ttf") format("truetype");
}*/

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Amiri:ital,wght@0,400;0,700;1,400;1,700&display=swap');

/*@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@100;200;300;400;500;600;700;800;900&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


:root {
    /*--font-basic: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic Pr6", "游ゴシック体 Pr6", YuGothic, 游ゴシック体, "Noto Sans JP", sans-serif;*/
    --font-basic: "Noto Sans JP", Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    /*--font-serif: "Shippori Mincho", serif;*/
    --font-serif: YuMincho, Yu Mincho, serif;
    /*--font-serif: "Noto Serif JP", "ヒラギノ明朝 W6 JIS2004", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 游明朝体, "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", メイリオ, Meiryo, serif;*/
    --font-en-serif: "Bodoni Moda", serif;
    --font-en: "Poppins", sans-serif;
    --alt-font: "Noto Sans JP", Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
}

.font-serif {
  font-family: var(--font-serif);
}
.font-en {
  font-family: var(--font-en);
  letter-spacing: .2em;
}
.font-en-serif {
  font-family: var(--font-en-serif);
  letter-spacing: -0.1em;
  font-weight: 400;
}
.font-en-serif2 {
  font-family: "EB Garamond", serif;
  letter-spacing: -0.05em;
  font-weight: 400;
}
.font-en-serif3 {
  font-family: "Lora", serif;
  letter-spacing: -0.04em;
  font-weight: 400;
}
.font-en-serif4 {
  font-family: "Amiri", serif;
  letter-spacing: -0.01em;
  font-weight: 400;
}

.font-playfair-display {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 400;

}
/* ===================================
    CSS color variable
====================================== */
:root {
    /*--base-color: #937960; /*brown*/
    --base-color: #311303; /*brown*/
    /*--dark-gray: #443F3F;*/
    --dark-gray: #311303;
    --light-brown: #f4f1ef;
    --light-brown2: #f0ebe5;
    /*--light-brown: #ede9e6;*/
    --dark-brown: #4d3117;
    /*--pink: #e47256;*/
    --light-pink: #faeeeb;
    --orange: #c4641f;
    --light-orange: #fff5ed;
    --dark-orange: #9e5018;
    --beige: #f6f4ef;
    --beige2: #ebe8e3;
    --beige3: #eae4dc;
    --bs-body-color: #fff;
}

.bg-light-brown {
  background-color: var(--light-brown);
}
.bg-light-brown2 {
  background-color: var(--light-brown2);
}
.bg-dark-brown {
  background-color: var(--dark-brown);
}
/*.bg-pink{
  background-color: var(--pink);
}*/
.bg-orange{
  background-color: var(--orange);
}

.bg-beige{
  background-color: var(--beige);
}
.bg-beige2{
  background-color: var(--beige2);
}
.bg-beige3{
  background-color: var(--beige3);
}

.text-light-brown{
  color: var(--light-brown);
}
.text-light-brown2{
  color: var(--light-brown2);
}
.text-very-light-brown{
  color: var(--very-light-brown);
}
.text-dark-brown{
  color: var(--dark-brown);
}
/*.text-pink{
  color: var(--pink);
}*/
.text-light-pink{
  color: var(--light-pink);
}
.text-orange{
  color: var(--orange);
}
.text-beige{
  color: var(--beige);
}
.text-beige2{
  color: var(--beige2);
}
.text-beige3{
  color: var(--beige3);
}

/* text gradient color */
.text-gradient-point {
    background-image: linear-gradient(to right, #443F3F, #937960, #db7f68, #e17a60, #e47256);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.bg-gradient-point {
  background-image: linear-gradient(to right, #443F3F, #937960, #db7f68, #e17a60, #e47256);
}

.btn.btn-base-color {
  background-color: var(--base-color);
  color: var(--white);
}
.btn.btn-base-color:hover, .btn.btn-base-color:active {
  background-color: transparent;
  border: 1px solid var(--base-color);
  color: var(--base-color);
}


.btn-detail{
  -webkit-transform: translateX(0);
  transform: translateX(0);
  /*-webkit-transition: all 350ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 350ms cubic-bezier(0.23, 1, 0.32, 1);*/
  /*-webkit-transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);*/
}
.btn-detail:hover {
  -webkit-transform: translateX(-5px);
  transform: translateX(-5px);
  color: var(--orange);
}

.border-orange {
  border: 0px solid var(--orange) !important;
	
}
.btn.btn-expand-ltr:hover span.border-orange {
  width: 100px !important;
  height: 100px !important;
  opacity: 0;
}
.btn.btn-expand-ltr span.border-orange::before {
  content: "";
	border: 1px solid var(--orange) !important;
  position: absolute;
    width: 40px;
    height: 40px;
  opacity: 1;
  border-radius: 50%;
    top: 0;
    left: -20%;
    transition: 0.75s ease;
}
.btn.btn-expand-ltr:hover span.border-orange::before {
  width: 100px;
  height: 100px;
  opacity: 0;
}

.btn-detail span.btn-icon{
  bottom: 0;
  margin: auto;
  opacity: 0;
  color: var(--orange);
}
.btn-detail:hover span.btn-icon{
  opacity: 1;
}
.btn.btn-expand-ltr.btn-small span.btn-icon{
    right: 0%;
}

.btn.btn-expand-ltr.btn-small{
	padding: 10px 15px 10px 10px;
	letter-spacing: 0.08em;
}



/*.btn.btn-expand-ltr {
  position: relative;
  z-index: 1;
  background-color: transparent;
  border: 0;
  color: initial;
}
.btn.btn-expand-ltr:active {
  background-color: transparent;
  border: 0;
  color: initial;
}
.btn.btn-expand-ltr span {
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;.btn.btn-expand-ltr
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn.btn-expand-ltr:hover span {
  width: 100% !important;
}

*/

.btn.btn-expand-ltr {
  position: relative;
}

.btn.btn-expand-ltr span {
    -webkit-transition: 0.6s;
    transition: 0.6s;
	position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  z-index: -1;
}
		

.btn.btn-link-gradient > span {
  height: 1px;
}
.btn.btn-link-gradient:hover {
  color: var(--orange);
  opacity: 1;
}
.btn.btn-link-gradient:hover > span {
  background: var(--orange);
}

/*.btn.btn-pink {
  background-color: var(--pink);
  color: var(--white);
}
.btn.btn-pink:hover, .btn.btn-pink:active {
  background-color: var(--pink);
  color: var(--white);
}*/



.btn-shine {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
}
.btn-shine .label {
  position: relative;
  z-index: 2; 
  display: inline-block;
  overflow: hidden;
}
.btn-shine .label::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.6) 50%,
    transparent 100%
  );
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
  transform: skewX(-25deg) translateX(0);
}

.btn-shine:hover .label::after {
  transform: skewX(-25deg) translateX(230%);
}
.btn-icon{
  display: inline-block;
    transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.btn-shine:hover .btn-icon {
  transform: translateX(5px) !important;
}



.btn.btn-orange {
  /*background-color: var(--orange);*/
  background: transparent;
  border: 1px solid var(--orange);
  color: var(--orange);
}
.btn.btn-orange:hover, .btn.btn-orange:active {
  /*background-color: var(--orange);*/
  /*color: var(--white);*/
  border: 1px solid var(--orange);
  color: var(--orange);
}

.btn.btn-white2 {
  background-color: var(--white);
  color: var(--base-color);
}
.btn.btn-white2:hover, .btn.btn-white2:active {
  background-color: var(--white);
  color: var(--base-color);
}


.btn.btn-line {
  background-color: transparent;
  border: 1px solid var(--base-color);
  color: var(--base-color);
}
.btn.btn-line:hover, .btn.btn-line:active {
  border: 1px solid var(--base-color);
  color: var(--base-color);
}


.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 35px;
  letter-spacing: .07em;
  font-weight: inherit;
  line-height: 1.5;
}
h1, .h1 {
  font-size: 3.5rem; /*4.375rem * 0.8 :/
  /*line-height: 4.375rem;*/
}
h2, .h2 {
  font-size: 3.438rem;
  /*line-height: 3.438rem;*/
}
h3, .h3 {
  font-size: 2.2504rem; /*2.813rem * 0.8 :/
  /*line-height: 3.125rem;*/
}
h4 {
  font-size: 1.6625rem; /*2.375rem * 0.7 :/
  /*line-height: 2.7rem;*/
}
h5 {
  font-size: 2rem;
  /*line-height: 2.2rem;*/
}
h6 {
  font-size: 1.75rem;
  /*line-height: 1.95rem;*/
}

@media (max-width: 1199px) {
  h1, .h1 {
  font-size: 3.1rem; /*0.8 */
  }
  h2, .h2 {
    font-size: 3rem;
  }
  h3, .h3 {
    font-size: 2rem; /* 0.8*/
  }
  h4 {
    font-size: 1.45rem; /* 0.8 */
  }
}

@media (max-width: 767px) {
  h1, .h1 {
  font-size: 2.79rem; /* 0.9 */
  }
  h2, .h2 {
    font-size: 2.7rem;
  }
  h3, .h3 {
    font-size: 1.8rem;
  }
  h4 {
    font-size: 1.3rem;
  }
}

@media (max-width: 575px) {
  h1, .h1 {
  font-size: 2.5rem;　/* 0.9 */
  }
  h2, .h2 {
    font-size: 2.43rem;
  }
  h3, .h3 {
    font-size: 1.62rem;
  }
  h4 {
    font-size: 1.17rem;
  }
}

.txt {
  line-height: 2.2;
  letter-spacing: .08em;
}
/* ===================================
    basic
====================================== */
.page-layout{
  overflow-x: hidden;
}
#menu .container-fluid {
    max-width: 1600px;
    /*overflow: hidden;*/
}

/* height */
.min-h-330px {
  min-height: 330px !important;
}
.h-full {
  height: 100%
}

/* mix-blend-multiply */
.mix-blend-multiply{
  mix-blend-mode: multiply;
}

.w-fit{
  width: fit-content;
}


/* border radius */
.border-radius-rt-50px {
    border-radius: 0 50px 0 0;
}
.border-radius-rb-50px {
    border-radius: 0 0 50px 0;
}
.border-radius-lb-50px {
    border-radius: 0 0 0 50px;
}
.border-radius-lt-50px {
    border-radius: 50px 0 0 0;
}
.border-radius-left-50px {
    border-radius: 50px 0 0 50px;
}
.border-radius-right-50px {
    border-radius: 0 50px 50px 0;
}
.border-radius-bottom-50px {
    border-radius: 0 0 50px 50px;
}

.border-radius-rt-20px {
    border-radius: 0 20px 0 0;
}
.border-radius-rb-20px {
    border-radius: 0 0 20px 0;
}
.border-radius-lb-20px {
    border-radius: 0 0 0 20px;
}
.border-radius-lt-20px {
    border-radius: 20px 0 0 0;
}
.border-radius-rt-lb-20px {
    border-radius: 0 20px 0 20px;
}
.border-radius-lt-rb-20px {
    border-radius: 20px 0 20px 0;
}
.border-radius-left-20px{
  border-radius: 20px 0 0 20px;
}
.border-radius-right-20px {
    border-radius: 0 20px 20px 0;
}
.border-radius-bottom-20px {
    border-radius: 0 0 20px 20px;
}


/* margin */
.mb-100px{
  margin-bottom: 100px;
}
.mt-minus-30px{
  margin-top: -30px;
}
.mt-minus-60px{
  margin-top: -60px;
}
.mt-minus-140px{
  margin-top: -140px;
}
.ms-minus-14px{
    margin-left: -14px !important;
}
@media (max-width: 767px) {
  .sm-mt-30px{
    margin-top: 30px;
  }
}

/* padding */
.pt-120px {
  padding-top: 120px;
}

/* position */
.right-13vw {
    right: 13vw;
}
.right-50vw {
    right: 50vw;
}
.left-13vw {
    left: 13vw;
}

.left-50vw {
    left: 50vw;
}


/* filter-grayscale */
.filter-grayscale-30 {
  filter: grayscale(30%);
}

/* table */
.table-brown {
  color: var(--base-color);
}
.table-brown th{
  background-color: var(--light-brown-color);
  color: var(--base-color);
  border: solid 1px var(--base-color);
  text-align: center;
  font-weight: 600;
}
.table-brown td {
    border: solid 1px var(--base-color);
    text-align: center;
}

@media (max-width: 991px) {
  .md-justify-content-center{
    justify-content: center;
  }
}




/* ===================================
    header
====================================== */


header.sticky.sticky-active [data-header-hover=light] .navbar-nav .nav-link{
  color: var(--dark-gray);
}
header.sticky.sticky-active [data-header-hover=light] .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .dropdown .dropdown-menu a:hover,
.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown.open > a{
  color: var(--dark-brown);
}
.navbar .navbar-nav .nav-link{
  font-weight: 400;
}
.navbar .navbar-nav .nav-link span{
  position: relative;
}
.navbar .navbar-nav .nav-link span::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--orange);
  transition: width 0.3s ease-in-out;
}
.navbar .navbar-nav .nav-link span:hover::after{
  width: 100%;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a:hover{
  background: var(--light-brown);
}

/* header */
header .header-button .btn.btn-switch-text.btn-medium > span {
    padding: 12px 22px;
}
header .navbar-brand img {
    max-height: 34px;
}




@media (min-width: 992px) {
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
        padding: 20px 30px;
    }
    .navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        width: 285px;
    }
}

@media (max-width: 991px) {
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item .nav-link,
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item:hover .nav-link,
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item .dropdown-toggle,
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item .dropdown-menu a{
    color: var(--base-color);
  }
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item .dropdown-menu a{
    opacity: 1;
  }
    [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item .dropdown-menu a i {
        font-size: 19px;
        vertical-align: middle;
        color: var(--base-color);
    }

  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item.active .nav-link {
    opacity:1;
    color: var(--base-color);
  }
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item.active .dropdown-toggle,
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-nav .nav-item.active:hover .nav-link{
        color: var(--base-color);
    }

  [data-mobile-nav-style=modern] .navbar-show-modern-bg,
  [data-mobile-nav-style=modern] .navbar-modern-inner .navbar-collapse{
    background: var(--light-brown) !important;
  }

  .navbar > .container-fluid {
    padding: 0 15px;
  }

  .top-space-margin {
      margin-top: 74px !important;
  }

  .navbar-collapse-show[data-mobile-nav-style=modern] .navbar-modern-inner {
    /*background-image: url(../../assets/img/bg_contents.jpg);*/
    background-size: cover;
  }

}





@media (max-width: 1199px) {
  header .btn.btn-rounded.btn-small{
    padding: 10px 12px !important;
  }
  header .navbar [class*=col-]{
    padding: 0;
  }
}


/* スマホ collapse（そのまま） */
.sub-menu {
    padding-left: 0;
    margin-top: 10px;
    overflow: hidden;
}

.sub-menu.collapse {
    transition: height 0.45s ease;
}

.sub-menu li a {
    display: block;
    padding: 6px 0;
    font-size: 15px;
}

.sub-menu li a:hover{
    color: var(--base-color);
    opacity: 0.8;

}

/* 矢印回転（スマホだけ効けばOK） */
.menu-toggle i {
    transition: transform 0.45s ease;
}

.menu-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

/*  表示切り替え */

/* スマホ */
@media (max-width: 991px) {
    .is-pc {
        display: none !important;
    }
}

/* PC */
@media (min-width: 992px) {
    .is-mobile {
        display: none !important;
    }
}




.dropdown-menu{
	position: relative;
	z-index: 100000;
}

.navbar-collapse-show[data-mobile-nav-style=modern] .navbar-modern-inner {
	background-image: none;
}



/* ===================================
   Footer
====================================== */

footer .footer-logo img {
  max-height: 50px;
}

footer .nav-link {
  color: var(--dark-gray);
  padding: 0.5rem 0 0.5rem 2rem;
}

@media (max-width: 1199px) {
  footer .nav-link {
    padding-left: 1.5rem;
  }
}
/* ===================================
   cta
====================================== */

.cta{
  height:700px;
  overflow: hidden;
}
.cta-con{
  margin-top: 200px;
  /*padding-left: 40px;*/
}
.cta-ttl{
    font-size: 2.8rem;
    margin-left: 0;
    margin: auto;
}
.cta-btn-01,
.cta-btn-02{
  margin-bottom: 20px;
}

.cta-btn-02.btn-shine .label::after{
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(244,241,239,0.6) 50%,
    transparent 100%
  );
}
.cta-logo{
  width: 30%;
  position: absolute;
  bottom: 150px;
  left: 10px;
  /*margin: 20px auto 150px 30px*/
}
.cta .swiper{
  width:300px;
  /*height: 850px;*/
  height: 850px;
  transform: rotate(25deg);
  transform-origin: center center;
  overflow: visible;
}
.cta .swiper--02 {
  transform: rotate(205deg);
}
.cta .swiper-slide {
  width: 300px;
}
@media (max-width: 1440px) {
  .cta-con{
    /*padding-left: 0;*/
  }
  /*.cta .swiper{
    height: 700px;
  }*/
}
@media (max-width: 1360px) {
  .cta{
    height: 700px;
  }
  .cta .swiper{
    height: 780px;
  }
  .cta .swiper-slide {
    width: 280px;
  }
  .cta-ttl {
    font-size: 2.6rem;
  }
  .cta-logo {
    bottom: 90px;
  }
}
@media (max-width: 1199px) {
  .cta{
    height: 600px;
  }
  .cta .swiper {
      height: 720px;
  }
  .cta .swiper-slide {
    width: 260px;
}
  .cta-con{
    margin-top: 100px;
  }
  .cta-ttl{
    font-size: 2.4rem;
  }
}
@media (max-width: 991px) {
  .cta{
    height: 440px;
  }
  .cta-con{
    margin-top: 80px;
    /*padding-left: 25px;*/
    /*padding-left: 35px;*/
  }
  .cta-ttl{
    font-size: 2.3rem;
  }
  .cta .btn.btn-extra-large{
    font-size: 14px;
  }
  .cta .btn.btn-rounded.btn-extra-large{
    padding: 18px 26px;
  }
  .cta-logo{
    bottom: 160px;
  }
  .cta .swiper{
    width:205px;
    height: 600px;
    transform: rotate(10deg);
  }
  .cta .swiper--02 {
    transform: rotate(190deg);
  }

  .cta .swiper-slide {
    width: 220px;
  }
}

/*@media (max-width: 991px){
  .cta-btn-02{
    margin-top: 20px;
  }
}*/

@media (max-width: 800px) {
  .cta-con{
    margin-top: 60px;
    padding-left: 50px;
  }
  .cta .swiper{
    transform: rotate(20);
  }
  .cta .swiper--02 {
    display: none;
  }
}

@media (max-width: 767px) {
  .cta{
    height:430px;
  }
  .cta-con{
    margin-left: 0 !important;
    /*padding-left: 35px;*/
  }
  .cta .btn.btn-rounded.btn-extra-large {
    padding: 18px 20px;
  }
  /*.cta-ttl{
    font-size: 2rem;
  }*/
  .cta .swiper{
    width:200px;
    height: 600px;
  }
  .cta-swiper-pc{
    margin-right: 4rem !important;
  }
  .cta-logo {
    bottom: 100px;
  }

}

@media (min-width: 576px) {
  .cta-swiper-sp{
    display: none;
  }
}
@media (max-width: 575px) {
  .cta{
    height:auto;
    border-radius: 0;
  }
  .cta-con {
    padding-left: 30px;
    display: flex;
    flex-direction: column;
    align-items: center; /* ← 横方向中央 */
    text-align: center;
  }

  .cta-btn-01,
  .cta-btn-02 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .cta-swiper-pc{
    display: none !important;
  }
  .cta-logo{
    position: relative !important;
    margin: 20px auto 20px 0;
    width: 60%;
    bottom: auto;
    left: auto;
  }
  .cta-swiper-sp{
    margin-top: auto;
  }

  /* PC回転・固定高さを完全にリセット */
  .cta .swiper {
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    transform-origin: center center !important;
    overflow: visible !important;
  }

  /* ここが最重要：縦並びにしている指定を無効化 */
  .cta .swiper-wrapper {
    flex-direction: row !important; /* ← 横一列に戻す */
  }

  /* スライドの表示領域を確保 */
  .cta .swiper-slide {
    width: 45% !important;
    height: auto !important;
  }

}



/* ===================================
   page
====================================== */

.bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-repeat: repeat;
    background-position: center;
    background-size: cover;
    pointer-events: none;
    background-image: url(../../assets/img/bg_contents.jpg);
}


/* ===================================
    menu
====================================== */

@media (min-width: 1601px) {
  #menu .border-radius-right-20px,
  #menu .border-radius-left-20px {
    border-radius: 20px;
  }
}





.menu-video {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.menu-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.menu-video__bg {
    background: #fff;
    text-align: center;
    display: flex;
    margin: 0 0 0 -20px;
    padding-bottom: 10px;
    padding-right: 20px;
    align-items: center;
    justify-content: flex-start;
    mix-blend-mode: screen;
}

/*@media (max-width: 1440px) {
  .sliding-box .sliding-box-item {
    min-height: 290px !important; 
  }
  .sliding-box .sliding-box-item .sliding-box-content {
    width: 55% !important;
    
  }
  .sliding-box-style-02 .sliding-box-item.active .sliding-box-content{
    left: 45% !important;
  }
  .sliding-box-style-02 .sliding-box-item .sliding-box-img {
    position: relative;
    height: 100%;
    overflow: hidden;
  }

  .sliding-box-style-02 .sliding-box-item .sliding-box-img img {
    width: 100%; 
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 1335px),
@media(max-width: 1199px) {
  .sliding-box{
    justify-content: center;
    padding: 0;
  }
  .sliding-box .sliding-box-item {
    width: calc(50% - 20px) !important;
    margin: 0 10px 30px 10px;
    padding: 0;
    min-height: 280px;
  }

  .sliding-box .sliding-box-item .sliding-box-content {
    width: 58% !important;
    left: 42% !important;
    position: absolute;
    height: 100%;
    border-radius: 0 4px 4px 0 !important;
  }
  .sliding-box-style-02 .sliding-box-item.active .sliding-box-content{
    left: 42% !important;
  }
  .sliding-box .sliding-box-img {
    width: 42% !important;
    border-radius: 4px 0 0 4px !important;
  }
  .sliding-box-style-02 .sliding-box-item.active .content-hover {
    animation: fade 0s;
  }
}

@media (max-width: 991px) {

  .sliding-box .sliding-box-item {
    align-items: stretch !important;
    background: var(--base-color);
    min-height: auto !important;
  }

  .sliding-box .sliding-box-item .sliding-box-content {
    width: 100% !important;
    left: 0 !important;
    position: relative;
    height: auto;
    border-radius: 0 !important;
  }
  .sliding-box-style-02 .sliding-box-item.active .sliding-box-content{
    width: 100% !important;
    left: 0 !important;
  }

  .sliding-box .sliding-box-img {
    width: 100% !important;
    height: 40% !important;
    border-radius: 0 !important;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .sliding-box .sliding-box-item {
    width: 100% !important;
  }
}*/






/* ===================================
   MV
====================================== */


:root {
    /* ---------- size ---------- */
    --pc-design-width: 1440;
    /*--pc-contents-width: 1000;*/
    /*--sp-design-width: 390;*/
    /*--sp-contents-width: 360;*/
  }
#gl-wrapper {
    position: relative;
    min-width: 1080px;
}
@media screen and (max-width: 768px) {
    #gl-wrapper {
        min-width: 100%;
    }
}
#gl-wrapper.full-width {
    /*background: var(--monotone-4);*/
}
#gl-wrapper.full-width #gl-container {
    width: 100%;
    max-width: 1980px;
}
#gl-wrapper.full-width #gl-container #gl-contents {
    width: 100%;
    padding: 0;
    border-radius: 0;
}


#gl-main {
    position: relative;
    z-index: 0;
    /*padding: 80px 0 0;*/
}
@media screen and (max-width: 768px) {
    #gl-main {
        min-width: 100%;
        /*padding: 50px 0 0;*/
    }
}
/* ##############################################################
#
#    .mv
#
############################################################## */
.mv{
  box-sizing: border-box;
}
.mv .sec-key {
  position: relative;
  /*height: clamp(460px, calc(624 / 1920 * 100vw), 624px) !important;*/
  height: clamp(460px, calc(760 / 1920 * 100vw), 760px) !important;
  margin: 0 40px 60px !important;
}
@media screen and (min-width: 1280px) {
  .mv .sec-key {
    /*margin: 0 110px 60px clamp(40px, calc(160 / var(--pc-design-width) * 100vw), 160px) !important;*/
    margin: 0 60px 60px clamp(40px, calc(80 / var(--pc-design-width) * 100vw), 80px) !important;
  }
}
@media screen and (max-width: 768px) {
  .mv .sec-key {
    height: auto;
    margin: 0 0 60px;
  }
}
.mv .sec-key .images {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images {
    position: relative;
    height: 0;
    padding: calc(260 / 390 * 100%) 0 0;
    margin: 0 0 47px;
  }
}
.mv .sec-key .images .pagination {
  position: absolute;
  right: -28px;
  top: 50%;
  width: 14px;
  transform: translateY(-50%);
  display: block !important;
}
@media screen and (min-width: 1280px) {
  .mv .sec-key .images .pagination {
    /*right: -66px;*/
    right: -36px;
  }
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .pagination {
    right: 50%;
    top: auto;
    bottom: -29px;
    transform: translateX(50%);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    height: 12px;
  }
}
.mv .sec-key .images .pagination .item {
  display: block;
  width: 14px;
  height: 14px;
  text-indent: -9999px;
  background: #ddd;
  border: 2px solid var(--white);
  border-radius: 100%;
}
@media screen and (min-width: 1280px) {
  .mv .sec-key .images .pagination .item {
    width: 20px;
    height: 20px;
    border-width: 4px;
  }
}
@media screen and (min-width: 769px) {
  .mv .sec-key .images .pagination .item {
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.2s ease;
  }
  .mv .sec-key .images .pagination .item:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .pagination .item {
    width: 12px;
    height: 12px;
    border-width: 3px;
  }
}
.mv .sec-key .images .pagination .item.active {
  width: 14px;
  height: 14px;
  border: none;
  background: url("../../assets/img/top/ico_pagenation.svg") 0 0/100% no-repeat;
}
@media screen and (min-width: 1280px) {
  .mv .sec-key .images .pagination .item.active {
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .pagination .item.active {
    width: 12px;
    height: 12px;
  }
}
.mv .sec-key .images .pagination .item + .item {
  margin: 16px 0 0;
}
@media screen and (min-width: 1280px) {
  .mv .sec-key .images .pagination .item + .item {
    margin: 22px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .pagination .item + .item {
    margin: 0 0 0 13px;
  }
}
.mv .sec-key .images .images-wrapper {
  position: relative;
  height: 100%;
  border-radius: 0 50px 50px 0;
  overflow: hidden;
  isolation: isolate;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .images-wrapper {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 50px 0;
    isolation: isolate;
  }
}
.mv .sec-key .images .images-wrapper .item {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.mv .sec-key .images .images-wrapper .item.active {
  pointer-events: inherit;
}
.mv .sec-key .images .images-wrapper .item.active a {
  opacity: 1;
}
.mv .sec-key .images .images-wrapper .item.zoom .image {
  animation: zoom 4s linear;
}
@keyframes zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.mv .sec-key .images .images-wrapper .item a {
  display: block;
  height: 100%;
  opacity: 0;
  transition: opacity 1s linear;
}
.mv .sec-key .images .images-wrapper .item .image {
  height: 100%;
  transform: scale(1.1);
  transform-origin: 60% 50%;
  animation-play-state: paused;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .images-wrapper .item .image {
    transform-origin: 50% 50%;
  }
}
.mv .sec-key .images .images-wrapper .item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv .sec-key .images .images-wrapper .item .copy {
  position: absolute;
  z-index: 1;
  right: 50px;
  top: 50px;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .images .images-wrapper .item .copy {
    left: 15px;
    right: auto;
    top: auto;
    bottom: 15px;
  }
}
.mv .sec-key .text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  /*width: 290px;*/
  width: 460px;
  height: 100%;
  /*background: var(--monotone-4);*/
  border-radius: 0 0 50px 0;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .text {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 auto;
  }
}
.mv .sec-key .text .header {
  position: relative;
  margin: 0 0 16px;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .text .header {
    margin: 0 0 20px;
  }
}
.mv .sec-key .text .header .title {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: calc(58/38);
}
@media screen and (max-width: 768px) {
  .mv .sec-key .text .header .title {
    font-size: 2.8rem;
    letter-spacing: 0.02em;
    line-height: calc(38/28);
  }
}
/*.mv .sec-key .text .header .catch {
  position: absolute;
  right: -20px;
  top: -20px;
  width: 88px;
}
@media screen and (max-width: 768px) {
  .mv .sec-key .text .header .catch {
    right: 0;
    top: -70px;
  }
}*/
/*.mv .sec-key .text .lead {
  margin: 0 0 24px;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: calc(26/12);
  color: var(--monotone-1);
}
@media screen and (max-width: 768px) {
  .mv .sec-key .text .lead {
    margin: 0 0 30px;
    font-size: 1.3rem;
    letter-spacing: 0.04em;
  }
}*/
@media screen and (max-width: 768px) {
  .mv .sec-key .text .cmn-btn {
    margin: 0 auto;
  }
}
.mv .sec-key .text .cmn-btn a {
  width: 240px;
}





















/* ===================================
   menu.html
====================================== */
@media (min-width: 1200px) {
  .page-title {
    /*aspect-ratio: 1920 / 400;*/
    aspect-ratio: 1920 / 430;
    overflow: hidden;
  }
  /* Parallax background */
  [data-parallax-background-ratio] {
    background-size: 100% auto !important;
  }
}










/*.feature-point-item {
    margin: 0;
    list-style: none
}

@media (min-width: 900px) {
    .feature-point-item.is-point01 {
        margin-bottom:14rem
    }
}

@media (min-width: 900px) {
    .feature-point-item.is-point02 {
        margin-top:14rem;
        margin-bottom: 13.8rem
    }
}

.feature-point-item.is-point03 {
    margin-bottom: 6.6rem
}

@media (min-width: 900px) {
    .feature-point-item.is-point03 {
        margin-bottom:10rem
    }
}

.feature-point-head {
    position: relative;
    width: 100%;
    z-index: 0
}

@media (min-width: 900px) {
    .is-point01 .feature-point-head:before,.is-point03 .feature-point-head:before {
        content:"";
        position: absolute;
        top: 92px;
        left: 0;
        display: block;
        width: 100%;
        height: calc(100% - 92px - 150px);
        background: #eee8e5;
        z-index: -1
    }
}

@media (min-width: 900px) and (min-width:900px) {
    .is-point02 .feature-point-head {
        display:-ms-flexbox;
        display: flex;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-pack: center;
        justify-content: center;
        max-width: 960px;
        margin: 0 auto
    }
}

.feature-point-head__image {
    position: relative;
    height: auto;
    overflow: hidden;
}

@media (min-width: 900px) {
    .is-point01 .feature-point-head__image,.is-point03 .feature-point-head__image {
        width:60vw;
        margin: 0 auto;
        
    }

    .is-point02 .feature-point-head__image {
        width: 700px;
        margin-left: -220px;
        margin-right: auto
    }
}

.feature-point-head__image-cover {
    position: relative
}

@media (min-width: 900px) {
    .feature-point-head__image-cover {
        height:554px;
        background: url(assets/img/top/img_menu_01-2.jpg) 50%/cover no-repeat
    }

    .is-point02 .feature-point-head__image-cover {
        height: 528px;
        background: url(assets/img/top/img_menu_02.jpg) 50%/cover no-repeat
    }

    .is-point03 .feature-point-head__image-cover {
        background: url(assets/img/top/img_menu_03.jpg) 50%/cover no-repeat
    }

    .feature-point-head__image-cover img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.feature-point-head__body {
    position: relative;
    background: #fff
}

@media (min-width: 900px) {
    .is-point01 .feature-point-head__body,.is-point03 .feature-point-head__body {
        max-width:800px;
        margin: -6.5rem auto 0;
        padding: 0 9.7rem
    }

    .is-point02 .feature-point-head__body {
        padding: 140px 0 0;
        text-align: left
    }

    .is-point02 .feature-point-head__body-img01 {
        margin-top: 7rem
    }

    .is-point02 .feature-point-head__body-img02 {
        position: absolute;
        top: -138px;
        right: -91px
    }
}

@media (max-width: 899px) {
    .feature-point-head__body {
        margin:0 auto 3rem;
        padding: 0 3.4rem
    }

    .is-point02 .feature-point-head__body-img {
        margin-top: 3.2rem
    }
}

.feature-point-head__body-inner {
    position: relative;
    top: -30px
}

@media (min-width: 900px) {
    .is-point01 .feature-point-head__body-inner,.is-point03 .feature-point-head__body-inner {
        top:-40px
    }
}

@media (min-width: 900px) {
    .is-point02 .feature-point-head__body-inner {
        position:relative;
        max-width: 553px;
        margin-left: -53px;
        margin-right: auto
    }
}

.feature-point-head__body-img img {
    max-width: 100%
}

.feature-point-head__body p {
    line-height: 2;
    letter-spacing: .15em;
    font-feature-settings: "palt"
}

.feature-point-head__title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    color: #af9578;
    line-height: 1.8;
    letter-spacing: .1em;
    text-align: center
}

@media (min-width: 900px) {
    .is-point02 .feature-point-head__title {
        -ms-flex-align:start;
        align-items: flex-start
    }
}

.feature-point-head__title .num {
    margin-bottom: 1rem
}

@media (min-width: 900px) {
    .feature-point-head__title .num {
        margin-bottom:2.4rem
    }
}

.feature-point-head__title .title {
    font-size: 2.2rem;
    letter-spacing: .16em;
    line-height: 1.4;
    font-feature-settings: "palt"
}

@media (min-width: 900px) {
    .feature-point-head__title .title {
        font-size:2.8rem
    }
}

.feature-point-efficacy {
    margin-bottom: 60px;
    margin: 0 auto
}

@media (min-width: 900px) {
    .feature-point-efficacy {
        max-width:960px
    }
}

.feature-point-efficacy__image {
    width: 100%
}

.feature-point-efficacy__image img {
    max-width: 100%
}

.feature-point-efficacy__body {
    margin-top: -15px;
    text-align: center
}

@media (min-width: 900px) {
    .feature-point-efficacy__body {
        margin-top:-23px;
        margin-bottom: 60px
    }
}

.feature-point-efficacy__title {
    position: relative;
    display: inline-block;
    min-width: 290px;
    padding: 12px;
    background: #5bb8c3;
    font-size: 1.8rem;
    color: #fff;
    border-radius: 5px;
    letter-spacing: .14em;
    text-align: center
}

@media (min-width: 900px) {
    .feature-point-efficacy__title {
        font-size:1.8rem
    }
}

.feature-point-efficacy__title:after {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    right: 0;
    height: 11px;
    background: url(/asset/img/balloon_tail.png) 50%/contain no-repeat
}

.feature-point-efficacy__subTitle {
    color: #523c41;
    letter-spacing: .14em;
    line-height: 1.6
}

@media (min-width: 900px) {
    .feature-point-efficacy__subTitle {
        margin-top:3.8rem
    }
}

.feature-point-efficacy__list {
    margin: 0 auto 24px;
    padding: 0 28px
}

@media (min-width: 900px) {
    .feature-point-efficacy__list {
        margin:0 auto 4rem;
        padding: 0 54px
    }
}

.feature-point-efficacy__list ol {
    counter-reset: number;
    display: -ms-flexbox;
    display: flex
}

@media (min-width: 900px) {
    .feature-point-efficacy__list ol {
        -ms-flex-pack:justify;
        justify-content: space-between
    }
}

@media (max-width: 899px) {
    .feature-point-efficacy__list ol {
        -ms-flex-align:start;
        align-items: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 290px;
        margin: 20px auto 0
    }
}

.feature-point-efficacy__list ol li {
    counter-increment: number;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    list-style: none;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif
}

@media (max-width: 899px) {
    .feature-point-efficacy__list ol li {
        margin-bottom:12px
    }
}

.feature-point-efficacy__list ol li:before {
    content: counter(number);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border: 1px solid #b59474;
    border-radius: 5px;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    color: #b59474;
    font-size: 1.5rem;
    line-height: 1
}

@media (min-width: 900px) {
    .feature-point-efficacy__list ol li:before {
        width:31px;
        height: 31px;
        border-radius: 10px;
        font-size: 1.8rem
    }
}

.feature-point-efficacy__list ol li span {
    margin-left: 12px;
    color: #523c41;
    font-size: 1.5rem;
    text-align: left;
    letter-spacing: .14em
}

@media (min-width: 900px) {
    .feature-point-efficacy__list ol li span {
        font-size:1.6rem
    }
}

.feature-point-efficacy__other {
    margin: 0 28px 24px;
    padding-top: 30px;
    padding-bottom: 30px;
    border-top: 1px dashed #afafb0
}

@media (min-width: 900px) {
    .feature-point-efficacy__other {
        margin:4rem auto 3.8rem;
        padding: 0 54px 48px
    }
}

.feature-point-efficacy__other ul {
    column-count: 2;
    list-style: none;
    text-align: left;
    margin: 0 auto
}

@media (min-width: 900px) {
    .feature-point-efficacy__other ul {
        max-width:630px;
        margin: 2.8rem auto 0
    }
}

.feature-point-efficacy__other ul li {
    text-indent: -1.4em
}

.feature-point-efficacy__other ul li:before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-right: 8px;
    background: transparent;
    border: 2px solid #5bc3c3;
    border-radius: 100%;
    letter-spacing: .15em
}

.feature-point-desc {
    padding: 0 34px
}

@media (min-width: 900px) {
    .feature-point-desc {
        max-width:856px;
        margin: 0 auto;
        padding: 0
    }
}

.feature-point-desc p {
    line-height: 2;
    letter-spacing: .08em
}

@media (min-width: 900px) {
    .feature-point-desc p {
        letter-spacing:.1em
    }
}

.feature-point-desc__body {
    margin: 5.2rem auto
}

.feature-point-desc__body h4 {
    margin-bottom: 1rem;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    color: #af9578;
    font-size: 2.2rem;
    text-align: center;
    letter-spacing: .1em
}

@media (min-width: 900px) {
    .feature-point-desc__body h4 {
        margin-bottom:2.2rem;
        font-size: 2.8rem
    }
}

.feature-point-desc__image img {
    max-width: 100%
}

.feature-point-desc__row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-pack: center;
    justify-content: center
}

@media (max-width: 899px) {
    .feature-point-desc__row {
        -ms-flex-direction:column;
        flex-direction: column
    }
}

@media (min-width: 900px) {
    .feature-point-desc__row {
        max-width:960px;
        margin: 7rem auto 13.5rem
    }
}

.feature-point-desc__row-image {
    position: relative
}

.feature-point-desc__row-body {
    margin: 0 auto 4rem;
    padding: 0 3.4rem
}

@media (min-width: 900px) {
    .feature-point-desc__row-body {
        margin:3rem 0 0 5rem;
        padding: 0
    }
}

.feature-point-desc__row-image02 {
    position: absolute;
    right: -300px;
    bottom: -114px
}

.feature-point-desc__row-title {
    position: relative;
    margin-bottom: 27px;
    padding-bottom: 16px;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    font-size: 2rem;
    color: #00999f
}

.feature-point-desc__row-title:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 43px;
    height: 1px;
    background: #00999f
}*/




.menu-container {
    padding-top: 110px;
    padding-bottom: 110px;
}
@media (max-width: 1600px) {
  .menu-container {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}
@media (max-width: 991px) {
    .menu-container {
        padding-top: 75px;
        padding-bottom: 75px;
    }
}
@media (max-width: 767px) {
    .menu-container {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}


/*@media (max-width: 959px) {
    .menu-container {
        background:linear-gradient(180deg,transparent 21.777vw,#f4f3f2 0)
    }
}*/

/*@media (max-width: 899px) {
    .menu-container {
        padding-bottom:60px
    }
}*/

.menu-container.is-noimg {
    padding-top: 35px;
    background: #f4f3f2
}

@media (min-width: 900px) {
    .menu-container.is-noimg {
        padding-top:84px;
        padding-bottom: 60px
    }
}

/*.menu-container__inner h3 {
    text-align: center;
    font-size: 2.3rem;
    margin-left: -1em;
    margin-right: -1em;
    letter-spacing: .1em;
    text-indent: .1em;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    font-feature-settings: "palt";
    color: #523c41
}*/

/*@media (max-width: 899px) {
    .menu-container__inner h3 {
        font-size:2.2rem
    }
}*/

.menu-container__list {
    list-style: none;
    /*margin: 0 auto 2.5em;
    max-width: 780px*/
}

@media (min-width: 900px) {
    .menu-container__list {
        margin-bottom:5em
    }
}

.menu-container__list li {
    padding: 26px;
    margin: 0 0 1em;
    background-color: #fff
}

.menu-container__list li.is-discontinued {
    max-width: 780px;
    width: 100%;
    padding-top: 0;
    background-color: #d6d7d7
}

.menu-container__list li.is-discontinued .menu-container {
    padding-bottom: 0
}

.menu-container__list li.is-discontinued .menu-container__list {
    margin-bottom: 0;
    padding-bottom: 43px
}

.menu-container__list li .is-discontinued-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(100% + 52px);
    margin: 0 -26px 28px;
    background: #373737;
    font-feature-settings: "palt";
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: .1em;
    text-indent: .1em;
    text-align: center
}

@media (min-width: 900px) {
    .menu-container__list li .is-discontinued-title {
        height:45px;
        font-size: 2.1rem
    }
}

@media (max-width: 899px) {
    .menu-container__list li .is-discontinued-title {
        padding:8px 10px
    }
}

.menu-container__list table {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    border-width: 0
}

.menu-container__list table td,.menu-container__list table th {
    border-width: 0;
    background-color: transparent;
    padding: .25em 1em;
    padding-left: 0;
    vertical-align: baseline;
    font-size: 1.3rem
}

.menu-container__list table td:last-child,.menu-container__list table th:last-child {
    padding-right: 0
}

@media (max-width: 899px) {
    .menu-container__list table td,.menu-container__list table th {
        display:block
    }
}

@media (max-width: 899px) {
    .menu-container__list table tr {
        display:-ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: baseline;
        align-items: baseline;
        margin-bottom: .7em
    }
}

.menu-container__list table th {
    font-size: 1.6rem
}

.menu-container__list table th:before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-right: 5px;
    background: transparent;
    border: 2px solid #5bc3c3;
    border-radius: 100%;
    letter-spacing: .15em
}

@media (min-width: 900px) {
    .menu-container__list table th:first-child {
        white-space:nowrap
    }
}

.menu-container__list table td:nth-child(2) {
    text-align: right;
    font-family: Roboto,sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    font-size: 1.6rem
}

@media (max-width: 899px) {
    .menu-container__list table td:nth-child(2) {
        -ms-flex-positive:1;
        flex-grow: 1
    }
}

.menu-container__list table td:nth-child(2) strong {
    font-family: Roboto,sans-serif;
    font-size: 1.5em;
    color: #1da9b4;
    font-weight: 400;
    letter-spacing: .06em
}

.menu-container__list table td:nth-child(3) {
    width: 50%
}

@media (min-width: 900px) {
    .menu-container__list table td:nth-child(3) {
        white-space:nowrap
    }
}

@media (max-width: 899px) {
    .menu-container__list table td:nth-child(3) {
        -ms-flex-positive:1;
        flex-grow: 1;
        width: 100%;
        padding-left: .7em
    }
}

.menu-container__list caption {
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    color: #523c41;
    letter-spacing: .1em;
    font-size: 1.8rem
}

.menu-container__list caption:first-child {
    margin-top: 0
}

.menu-container__list caption p {
    font-feature-settings: "palt";
    font-size: 1.2rem;
    margin-top: .5em
}

.menu-container__sublist {
    list-style: none;
    margin: 0 auto 2em;
    max-width: 780px
}

.menu-container__sublist:last-child {
    margin-bottom: 0
}

.menu-container__sublist li {
    padding: 1.15em 1em;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto 1.7em;
    border: 1px solid #1da9b4;
    text-align: center;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    font-size: 1.6rem;
    letter-spacing: .1em
}

@media (min-width: 900px) {
    .menu-container__sublist li {
        font-size:1.8rem
    }
}

.menu-container__sublist li strong {
    font-size: 1.33em;
    font-family: Roboto,sans-serif;
    letter-spacing: .06em;
    font-weight: 400;
    color: #1da9b4;
    line-height: 1.2
}

.menu-container__step-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3,1fr);
    gap: 15px;
    list-style: none;
    max-width: 780px;
    margin: 45px auto 100px
}

@media (max-width: 899px) {
    .menu-container__step-list {
        -ms-grid-columns:(1fr)[2];
        grid-template-columns: repeat(2,1fr);
        gap: 8px 7px;
        margin-bottom: 65px
    }
}

.menu-container__step-list li {
    position: relative;
    background-color: #1da9b4;
    border-radius: 5px;
    margin: 0
}

.menu-container__step-list li:before {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 34px;
    background-color: #1da9b4;
    -webkit-clip-path: polygon(0 0,100% 50%,0 100%);
    clip-path: polygon(0 0,100% 50%,0 100%);
    right: -9px;
    top: 0;
    bottom: 0;
    margin: auto
}

@media (min-width: 900px) {
    .menu-container__step-list li:nth-of-type(3n):before {
        display:none
    }
}

@media (max-width: 899px) {
    .menu-container__step-list li:before {
        width:7px;
        height: 22px;
        right: -5px
    }

    .menu-container__step-list li:nth-of-type(2n):before {
        display: none
    }
}

.menu-container__step-list dl {
    height: 129px;
    margin: 0;
    padding: 16px 0 0;
    text-align: center
}

@media (max-width: 899px) {
    .menu-container__step-list dl {
        padding-top:6px;
        height: 80px
    }
}

.menu-container__step-list dt {
    margin: 0;
    font-size: 15px;
    font-family: Roboto;
    font-weight: 400;
    letter-spacing: .06em;
    line-height: 1;
    color: #fff
}

.menu-container__step-list dt:before {
    content: "step"
}

@media (max-width: 899px) {
    .menu-container__step-list dt {
        font-size:11px
    }
}

.menu-container__step-list dd {
    margin: 10px 0 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    height: 74px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    font-family: 游明朝,YuMincho,Hiragino Mincho ProN,Hiragino Mincho Pro,Noto Serif JP,Georgia,Times New Roman,Times,ＭＳ\ 明朝,serif;
    line-height: 1.1;
    letter-spacing: 0
}

.menu-container__step-list dd small {
    font-size: 13px;
    letter-spacing: .08em;
    margin-top: 10px
}

@media (max-width: 899px) {
    .menu-container__step-list dd {
        font-size:14px;
        height: 48px;
        margin-top: 6px
    }

    .menu-container__step-list dd small {
        font-size: 10px;
        margin-top: 4px
    }
}

@media (min-width: 900px) {
    .menu-container+.block-link {
        margin-top:100px
    }
}

@media (max-width: 899px) {
    .menu-container+.block-link {
        margin-top:50px
    }
}



/* ===================================
    menu.html
====================================== */

.text-shadow-header{
  text-shadow: 0 0 5px rgba(49, 19, 3, .8);
}

.menu-item{
  margin-bottom: 100px;
}

.menu-imgblock {
  position: relative;
  overflow: hidden;
  min-height: 460px;
}
@media (max-width: 1199px) {
  .menu-imgblock {
    min-height: 360px;
  }
}
@media (max-width: 575px) {
  .menu-imgblock {
    min-height: 330px;
  }
}
@media (max-width: 425px) {
  .menu-imgblock {
    min-height: 290px;
  }
}
.menu-img {
  /*width: 100%;
  height: auto;*/
  display: block;
  opacity: 0;
  transition: opacity 1.2s ease-in-out, filter 1.2s ease-in-out;
}

/* 表示されたら滑らかにフェードイン + ぼかしを消す */
.menu-img.visible {
  opacity: 1;
}



.menu-txtblock{
  /*padding-top: 160px;*/
  padding-left: 80px;
  padding-right: 50px;
  margin-top: auto;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .menu-item{
    margin-bottom: 130px;
  }
  .menu-txtblock{
    order: 3;
    padding-left: 0;
    padding-right: 0;
    margin-top: 30px;
    margin-bottom: auto;
  }
  .menu-catch{
    order: 2;
    font-size: 20px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
  .menu-ttl{
    font-size: 22px !important;
  }
  .menu-txt{
    font-size: 14px;
  }
  .md-pb-100px{
    padding-bottom: 100px;
  }
}

@media (max-width: 575px) {
  .menu-item{
    margin-bottom: 90px;
  }
}
.menu-catch{
  font-size: 22px;
  line-height: 1.6;
  font-weight: 400;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: .2em;
  padding: 0;
  margin: 0 0 0 8%;
}
.js-anime-line {
    display: block; 
    overflow: hidden; 
    position: relative;
    transition: 
        opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        filter 1.2s,
        color 1.2s;
    transition-delay: var(--line-delay); 
}
.js-anime-line.is-initial {
    opacity: 0;
    filter: blur(4px); 
    color: #CDBDB2;
    transform: translateX(30%);
}
.js-anime-line.is-animated {
    opacity: 1;
    filter: blur(0px);
    color: #311303;
    transform: translateX(0);
}



.menu-cate{
  display: inline-block;
  border: 1px solid var(--orange);
  font-size: 11px;
  letter-spacing: 0.5px;
  font-weight: 400;
  line-height: 1;
  color: var(--orange);
  text-transform: uppercase;
  margin-bottom: 10px;
  padding: 1%;
  box-sizing: border-box;
}

.menu-ttl{
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  word-break: normal;
      margin-bottom: 20px;
      margin-top: 5px;
}

.menu-txt{
  font-size: 15px;
  line-height: 2;
  letter-spacing: .08em;
  margin-bottom: 0;
}

.menu-time{
  font-size: 14px;
  line-height: 1;
  margin-bottom: 0;
}
.menu-price{
  font-size: 15px;
  line-height: 1;
  margin-bottom: 0;
}
.menu-tax{
  font-size: 12px;
  line-height: 1;
  margin-bottom: 0;
}




