@charset "UTF-8";
/*===============
common
===============*/
.mt{
  color:#333333;
}


body{
  padding-top: 90px;
}

.u-section-wrap{
  padding: 60px 0;
}

.u-cont-w1100{
  max-width: 1100px;
  margin:0 auto;
  width:90%;
}

.u-cont-w1000{
  max-width: 1000px;
  margin:0 auto;
  width:90%;
}

.u-cont-w820{
  max-width: 820px;
  margin:0 auto;
  width:90%;
}

.u-gap-10{
  display: grid;
  gap:10px;
}

.u-gap-20{
  display: grid;
  gap:20px;
}

.u-gap-40{
  display: grid;
  gap:40px;
}

.u-gap-80{
  display: grid;
  gap:80px;
}

.bred-list{
  display: flex;
  gap:40px;
  padding:10px 0;
  flex-wrap: wrap;
}

.bred.sp{
  display: none;
}

.bred-list li{
  position: relative;
}

.bred-list li:not(:last-child):after{
  content:">";
  position: absolute;
  right: -25px;  
}


/*===============
font
===============*/
.furuta{
font-family: "futura-pt", sans-serif;
font-weight: 400;
font-style: normal;
}

.alana{
font-family: "alana", sans-serif;
font-weight: 400;
font-style: normal;
}

.din{
font-family: "din-2014", sans-serif;
font-weight: 400;
font-style: normal;
}

.ryo,.ryo *{
font-family: "ryo-display-plusn", serif;
font-weight: 600;
font-style: normal;
}

.ryo-g{
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;
}

.noto{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight:500;
  font-style: normal;
}

.roboto{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight:bold;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


.zenmaru,.zenmaru *{
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.sip {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}


/*===============
header
===============*/
.header {
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 0 4px 0 rgba(0 0 0 / 20%);
  z-index: 1000;
  height: 90px;
}

.header .logo{
  line-height: 0;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  max-width: 1000px;
  margin: 0 auto;
}

/* ロゴ */
.logo a {
  text-decoration: none;
  font-weight: bold;
  color: #000000;
  font-size: 15px;
}

/* ナビ */
.nav > ul {
  display: flex;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: flex-end;
}

.nav a {
  text-decoration: none;
  color: #000000;
  transition: 0.3s;
}

.nav > ul > li:not(:last-child):after {
  content:" ｜ ";
}

.nav a:hover {
  color: #000;
}

/* ハンバーガー */
.menu-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 28px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
}

.menu-btn span {
  display: block;
  height: 2px;
  width: 100%;
  background: #333;
  transition: 0.3s;
}

/* スマホ時 */
@media (max-width: 900px) {
  body {
    padding-top: 75px;
  }
  
  .menu-btn { display: flex; }

  .nav {
    position: fixed;
    top: 75px;
    left: 0;
    width: 100%;
    background: #fff;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    border-top: 1px solid #eee;
  }

  .nav.open {
    max-height: 500px; /* メニューが開く高さ */
  }

  .nav > ul > li:not(:last-child):after {
    content:none;
  }
  
  .nav > ul > li {
    border-bottom: 1px solid #eee;
    width: 100%;
    text-align: center;
  }
  
  .nav > ul {
    flex-direction: column;
    gap: 0;
  }

  .nav > ul > li {
    border-bottom: 1px solid #eee;
  }

  .nav a {
    display: block;
    padding: 14px 20px;
  }

  /* 開閉アニメーション */
  .menu-btn.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .menu-btn.active span:nth-child(2) {
    opacity: 0;
  }
  .menu-btn.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
}  

.color-action{
  color:var(--color-action);
}
/* top */
.main-visual{
  background-image: url("../images/top/main-bg.webp");
  background-size:cover;
  background-position: center;
  height: 600px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.main-visual div{
 line-height: 0; 
}

.sec01{
  background-image: url("../images/top/sec01-bg.webp");
  background-size:cover;
  background-position: center;
}

  .sec01__title{
    text-align: center;
  }
  
  .sec01__title .pt01{
    font-size: 35px;
    display: inline-block;
    padding: 3px 60px;
    background-image: url("../images/top/sec01titlebg.webp");
    background-size: cover;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
    box-shadow: 0 0 10px 0 rgba(0 0 0 / 10%);
  }

  .sec01__title .pt02{
    font-size: 22px;
    display: inline-flex;
    align-items: flex-end;
    letter-spacing: 0.2em;
  }

.sec01__title .pt02 small{
 font-size: 19px;
  display: inline-block;
  margin-left: 3px;
}

.sec01__title .pt03{
  font-size:90px;
  filter: drop-shadow(0 0 7px #fff) drop-shadow(0 0 7px #fff);
  margin-right: 5px;
  line-height: 1em;
}

.sec01__title .pt04{
  font-size:75px;
  color:#9c8473;
  filter: drop-shadow(0 0 7px #fff) drop-shadow(0 0 7px #fff);
  line-height: 1em;
}

.sec01-grid {
  display: grid;
  grid-auto-flow: row; /* 通常 */
  grid-template-columns: 1fr;
  gap: 12px;
}

/* PCだけ “縦埋め” にする例 */
@media (min-width: 768px){
.sec01-grid{
  display: grid;
  grid-auto-flow: column;               /* 1,2,3 → 次の列へ */
  grid-template-rows: repeat(3, auto);  /* 3行 */
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* ← これが肝 */
  gap: 24px;
}

.sec01-grid > *{
  min-width: 0; /* 長文で列が押し広げられるのを防ぐ */
}
}

  .sec01-grid li{
    height: 70px;
    background-image: url("../images/top/sec01-listbg.webp");
    background-position:center;
    background-repeat: no-repeat;
    background-size:100% 100%;
    filter: drop-shadow(0 0 6px rgba(0 0 0 / 16% )); 
    font-size: 20px;
    display: flex;
    align-items: center;
    padding-left: 75px;
    position: relative;
    padding-right: 10px;
  }

  .sec01-grid .icon{
    position: absolute;
    top:-5px;
    left: 10px;
  }
  
  .sec01-grid .icon p{
    position: relative;
  }
  
  .sec01-grid .icon p .pt01{
    color:#ffffff;
    width: 100%;
    position: absolute;
    top:15px;
    font-size: 10px;
    font-weight: 400;
    left: 20px;
    letter-spacing: 0.3em;
    line-height: 0;
  }
  
  .sec01-grid .icon p .pt02{
    color:#fff0d6;
    width: 100%;
    position: absolute;
    bottom:35px;
    font-size: 23px;
    font-weight: 600;
    left: 20px;
    letter-spacing: 0.1em;
  }  
   
  .sec01-grid .text{
    font-weight: 700;
    letter-spacing: 0.1em;
  }

  .sec02title{
    text-align: center;
  }
  
  .sec02title span{
    font-size: 32px;
    letter-spacing: 0.1em;
    display: inline-block;
    background: linear-gradient(to top,#fff0d6 30%,rgba(255 255 255 / 0%) 30% 100%);
    line-height: 1.2em;
  }
  
  .sec02title small{
    font-style: italic;
    font-size: 35px;
    display: inline-block;
    margin-left: -10px;
  }

.sec02__cont{
  display: grid;
  grid-template-columns: 53% 47%;
  align-items: flex-end;
  background-image: url("../images/top/sec02-bg.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size:65% 100%;
  gap:10px;
}

  .sec02__cont-box{
    padding: 20px;
  }
  
  .sec02__cont-list{
    display: grid;
    gap:18px;
  }
  
  .sec02__cont-list li{
    color:#4d4d4d;
    display: grid;
    grid-template-columns: 30px 1fr;
    font-size: 21px;
    align-items: center;
    font-weight: bold;
    gap:5px;
  }

  .reason{
    background-image: url("../images/top/reason01-bg.webp");
    background-size:cover;
    background-position: center;
  }

  .italy{
    font-style: italic;
  }
  
  .reason__heading{
    text-align: center;
  }

  .reason__sub-title{
    padding: 5px 35px;
    background-image:url("../images/top/reason-title-bg.webp");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 20px;
  }

.reason__sub-title .pt01{
  font-size: 21px;
  letter-spacing: 0.2em;
  color:#ffffff;
}

.reason__sub-title .pt02{
  color:#fff0d6;
  font-size: 30px;
  display: inline-block;
  margin-left: 8px;
  font-style: italic;
  margin-top: 5px;
  letter-spacing: 0.1em;
}

  .text-center{
    text-align: center;
  }

  .reason__title{
    font-size: 33px;
    letter-spacing: 0.1em;
  }
  
  .reason__bnr-wrap{
    max-width: 740px;
    position: relative;
    padding-left: 50px;
  }
  
  .reason__bnr{
    position: relative;
    padding: 30px;
    padding-left: 150px;
    background: #ffffff;
    box-shadow: 0 0 10px rgba(0 0 0 / 10%);
  }
  
  .reason__bnr:before{
    content:" ";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    position: absolute;
    border:#cccccc 2px solid;
    top:10px;
    left: 10px;
    z-index: 0;
  }
  
  .reason__bnr-img{
    position: absolute;
    left: -50px;
    bottom:-10px;
    z-index: 5;
  }

.reason__bnr-cont-text{
    font-size: 25px;
    font-weight: 600;
  letter-spacing: 0.18em;
}
  
  .reason__bnr-cont-text .pt01{
    display: inline-block;
    margin: 3px;
    padding: 3px 10px;
    color:var(--color-action);
    background: url("../images/top/reason-bnr-bg.webp");
    box-shadow: 0 0 7px rgba(0 0 0 / 10%); 
  }

  .reason__bnr-cont-text .pt02{
    display: inline-block;
    margin: 3px;
    padding: 3px 10px;
    text-decoration: underline;
    color:#766255;
  }

  .ft14{
    font-size: 14px;
    letter-spacing: 0.16em;
  }
  
  .reason__bnr-cont-text02 .pt01{
    font-size: 16px;
    color:#333333;
  }
  
  .reason__bnr-cont-text02 .pt02{
    font-size: 21px;
    color:#333333;
  }
  .reason__bnr-cont-text02{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    letter-spacing: 0.14em;
  }
  
  .reason__bnr-cont-text03{
    font-size: 33px;
    letter-spacing: 0.26em;
    color:#c79f63;
    line-height: 1.2em;
    margin-top: 10px;
  }

  .reason02__box-title{
    text-align: center;
    padding: 10px;
    width: 380px;
    background-image: url("../images/top/reason-subtitle-bg.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap:10px;
  }
  
  .reason02__box-title .pt01{
    font-size: 37px;
    color:#c79f63;
    letter-spacing: -0.04em;
    font-style: italic;
    filter: drop-shadow(0 0 7px rgba(0 0 0 / 10%));
    font-weight: bold;
  }
  
  .reason02__box-title .pt02{
    font-size: 23px;
      background: linear-gradient(to left, #c9b36a 0%, #d5bf87 50%, #c9b36a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;              /* 文字色を透明にして背景を見せる */
  -webkit-text-fill-color: transparent;
    letter-spacing: 0.16em;
    font-weight: 600;
  } 

  .reason02{
    background: #e9f1f8;
    padding-bottom: 20px;
  }
  
  .u-cols2__text.pt-rel{
    position: relative;
    padding-left: 100px;
  }
  
  .reason02-img03{
    position: absolute;
    left: 0;
    bottom:0;
  }
  
  .reason02__block-title{
    background: #e3697d;
    display: flex;
    justify-content: center;
    align-items: center;
    color:#ffffff;
    font-size: 25px;
    font-style:italic;
    letter-spacing: 0.2em;
    height: 60px;
  }
  
  .reason02__block-title span{
    filter: drop-shadow(0 0 5px #a63550) drop-shadow(0 0 5px #a63550) drop-shadow(0 0 5px #a63550);
    font-style:italic;
  }
  
  .reason02__block-cont{
    padding: 30px 10px;
    background: #ffffff;
  }
  
  .reason02__block-cont.pt01{
    border:#f2b4be 5px solid;
    border-top:0;
  }
  
  .u-cols2__text{
    font-size: 16px;
    letter-spacing: 0.16em;
    line-height: 1.75em;
  }  
  
.u-cols2{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 370px); /* 左=可変 / 右=上限付き固定寄り */
  gap: 10px;
  align-items: start;
}

.u-cols2__text,
.u-cols2__media{
  min-width: 0; /* 長文・画像で列が押し広げられるの防止 */
}

.u-cols2__media img{
  display: block;
  width: 100%;
  height: auto;
}

/* SPは1カラムに */
@media (max-width: 767px){
  .u-cols2{
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

  .reason02__block-title_b{
    text-align: center;
    position: relative;
    font-size:22px;
    font-weight: 700;
    background: linear-gradient(to right, #92d45a 0%, #35ada6 70%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;              /* 文字色を透明にして背景を見せる */
    -webkit-text-fill-color: transparent;
    line-height: 1.5em;
    letter-spacing: 0.08em;
    padding-bottom: 10px;
  }
  
  .reason02_b-img01{
    position: absolute;
    z-index: 1;
    bottom:-70px;
    left: 0;
  }
  
  .mt30{
    margin-top: 30px;
  }
  
  .reason02__grid{
    display: grid;
    gap:20px;
    grid-template-columns: repeat(2,1fr);
    align-items: center;
  }
  
  .reason02__block_b-text{
    font-size: 16px;
    letter-spacing: 0.16em;
    line-height: 1.75em;
  }
  
  .reason02__block_b-text span{
    color:#2aaba7;
  }  
  
  .reason02__block_b-text small{
   font-size: 12px;
    line-height: 1.5em;
    display: inline-block;
  } 

  .reason02__block_b-btn{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
  }
  
  .reason02__block_b-btn a{
    padding:10px;
    text-align: center;
    color:#ffffff;
    font-size:15px;
    font-weight: 600;
    letter-spacing: 0.18em;
    padding-right: 30px;
    position: relative;
    border-radius:8px;
    background: linear-gradient(to bottom,#4d4d4d 50%,#333333 50% 100%);
    display: block;
    line-height: 1.25em;
  }
  
  .reason02__block_b-btn img{
    position: absolute;
    top:calc(50% - 5px);
    right: 10px;
  }
  
  .reason02__block_c-img{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:20px;
  }
  
  .reason02__block-cont.pt02{
    background:linear-gradient(to bottom,#ffffff 35%,rgba(255 255 255 / 0%) 35% 100%);
  }
  
  .reason02_c-img02{
   position: relative;
    top:-30px;
  }

  .reason__title small{
    color:#4d4d4d;
    font-size: 25px;
  }
  
  .u-cols2.pt02 span{
    color:#e3697d;
  }

.reason03{
    background-image: url("../images/top/reason03-bg.webp");
    background-size:cover;
    background-position: center;
}

.reason04{
    background-image: url("../images/top/reason04_bg.webp");
    background-size:cover;
    background-position: center;
}

.reason05{
    background-image: url("../images/top/reason05_bg.webp");
    background-size:cover;
    background-position: center;
}

.reason06{
    background-image: url("../images/top/reason06_bg.webp");
    background-size:cover;
    background-position: center;
}


.reason07{
    background-image: url("../images/top/reason07_bg.webp");
    background-size:cover;
    background-position: center;
}

  .u-cols2.pt02{
    grid-template-columns: repeat(2,1fr);
  }
  
  .i-al{
    align-items: center;
    gap:20px;
  }

.reason-ud{
    background-image: url("../images/top/reason-ud-bg.webp");
    background-size:cover;
    background-position: center;  
}

  .reason-ud-title{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:30px;
  }
  
  .reason-ud-title-text{
    text-align: center;
  }
  
  .reason-ud-title-text .pt01{
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.16em;
  }
  
  .reason-ud-title-text .pt01 span{
    padding: 3px;
    background: #fbe8eb;
    display: inline-block;
  }
  
    .reason-ud-title-text .pt02 span{
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 0.16em;
    color:#c79f63;
    display: inline-block;
    background: linear-gradient(to top,#fff0d6 30%,rgba(255 255 255 / 0%) 30% 100%);
  }
  
    .reason-ud-title-text .pt02 small{
    font-style:italic;
  }
  
  .reason-ud-boxwrap{
    background:#fbe8eb;
    padding: 30px;
    padding-bottom: 10px;
    box-shadow: 0 5px 5px rgba(0 0 0 / 20%);
  }
  
  .reason-ud-box{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    position: relative;
    gap:50px;
  }
  
  .reason-ud-boximg{
    margin: 20px 0;
  }
  
  .cta-vs{
    position: absolute;
    top:40%;
    left: calc(50% - 30px);
    z-index: 3;
  }
  
  .reason-ud-boxtext{
    letter-spacing: 0.2em;
  }
  
  .reason-ud-boxtitle{
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20px;
    background: linear-gradient(90deg, #a63550 3%, #e3697d 50%, #a63550 80%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;              /* 文字色を透明にして背景を見せる */
    -webkit-text-fill-color: transparent;  
    letter-spacing: 0.2em;
  }
  
  .reason-ud-title-img{
    line-height: 0;
  }
  
  .reason-ud-box-udtext{
    margin-top: 10px;
    color:#808080;
    font-size: 12px;
  }

.reason-ud-text02{
  display: inline-block;
  margin-bottom: 30px;
  padding: 10px 35px;
  background-image: url("../images/top/cta-fukidashi.webp");
  background-size: 100% 100%;
  background-position: center;
  color:#ffffff;
  text-align: center;
  padding-bottom: 40px;
  font-weight: bold;
  letter-spacing: 0.16em;
}

.reason-ud-text02 .pt01{
  font-size: 25px;
}

.reason-ud-text02 .pt02{
  font-size: 30px;
}

  .cta-ud-text{
    line-height: 2.5em;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding-top: 30px;
  }

  .cta-ud-text span{
    color:#e3697d;
  }


  .cta-ud-text02 .pt01{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 17px;
    letter-spacing: 0.16em;
  }
  
  .cta-ud-text02 .pt02 span{
    color:#c79f63;
    display: inline-block;
    padding: 3px 10px;
    font-size: 30px;
    background: linear-gradient(to top,#fff0d6 30%,rgba(255 255 255 / 0%) 30% 100%);
    letter-spacing: 0.16em;
    font-weight: bold;
  } 

  .try{
    background: #e4f6f6;
  }
  .try__title{
    line-height: 1em;
    margin-bottom: 40px;
  }
  .try__heading-lead{
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
  }
  
  .try__heading-lead span{
    display:block;
    position: absolute;
    width: 100%;
    color:;
    left: 0;
    top:-3px;
    font-size: 18px;
    letter-spacing: 0.18em;
    color:#ffffff;
  }
  
  .try__title .pt01{
    display: flex;
    justify-content: center;
    gap:3px;
    align-items: flex-end;
    font-size: 20px;
    letter-spacing: 0.12em;
  }
  
  .try__title .pt02 .text01{
    font-size: 74px;
    color:#2aaba7;
    text-shadow: 0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff;
    letter-spacing: 0.08em;
  }

  .try__title .pt02 .text02{
    font-size: 57px;
    color:#9c8473;
    text-shadow: 0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff,0 0 5px #ffffff;
    letter-spacing: 0.08em;
  }  

  .try__block-title{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    position: relative;
    background: linear-gradient(90deg,#a63550 30%,#e3697d 50%,#a63550 80%)
  }
  
  .try__block-title span{
    color:#ffffff;
    text-shadow:0 0 8px #a63550,0 0 8px #a63550,0 0 8px #a63550;
    font-size: 25px;
    letter-spacing: 0.16em;
  }
  
  .try__block-title img{
    position: absolute;
    right: 60px;
  }
  
  .try__block-cont{
    padding: 20px;
    background: #ffffff;
    border:#f5c2ca 3px solid;
    border-top:0;
  }
  
  .try__block-heading{
    display: grid;
    grid-template-columns: 170px 1fr;
    gap:30px;align-items: center;
  }
  
  .try__block-couse{
    font-size: 18px;
    letter-spacing: 0.08em;
    color:#333333;
  }
  
  .try__block-price{
    display: flex;
    justify-content: center;
    margin-top: 10px;
    align-items: center;
    gap:10px;
  }
  
  .try__block-price .text01 .pt01{
    display: inline-block;
    padding: 3px 25px;
    border-radius: 100px;
    background: #333333;
    color:#ffffff;
    font-size: 13px;
  }
  
  .try__block-price .text01 .pt02{
    font-size: 20px;
    position: relative;
    display: inline-block;
  }
  
  .try__block-price .text01 .pt02::before,
  .try__block-price .text01 .pt02::after{
    content: "";
    position: absolute;
    left: -0.05em;          /* 文字端まで少し伸ばす */
    right: -0.05em;
    height: 1px;            /* 線の太さ */
    background: var(--color-action); /* 文字色と同じ */
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
  }

.try__block-price .text01 .pt02::before{ margin-top: -4px; } /* 1本目（上） */
.try__block-price .text01 .pt02::after { margin-top:  4px; } /* 2本目（下） */
  
  .try__block-price .text02 .pt01{
    font-size: 50px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }
  
  .try__block-price .text02 .pt02{
    font-size: 20px;
    font-weight: bold;
  }  

  .try__block-box{
    padding:10px 20px;
    background: #ffffe1;
    box-shadow: 0 0 5px rgba(0 0 0 / 10%);
  }
  
  
  .try__block-boxtitle{
    display: grid;
    grid-template-columns: 60px 1fr;
    align-items: center;
    font-size: 17px;
    color:var(--color-action);
    font-weight: bold;
    text-align: left;
  }
  
  @media screen and (min-width:900px){
    .try__block-boxtitle{
      display:flex;
      justify-content: center;
    }
  }
  
  .try__block-boxtext01{
    font-size: 16px;
    color:#989898;
    letter-spacing: 0.08em;
    margin-top: -5px;
  }
  
  .try__block-boxtext02{
    color:#333333;
    font-size: 16px;
    letter-spacing: 0.06em;
  }
  
  .try__btn a{
    display: inline-flex;
    max-width: 540px;
    width: 100%;
    height: 50px;
    border-radius: 100px;
    background: linear-gradient(to top,#f2b4be 50%,#f5c2ca 50% 100%);
    color:#333333;
    font-size: 16px;
    font-weight: 600;
    justify-content: center;
    position: relative;
    align-items: center;
  }
  
  .try__btn a img{
    position: absolute;
    top:18px;
    right: 20px;
  }

.try__ud-title{
  margin-top: 40px;
  background-image: url("../images/top/try-udtitle-bg.webp");
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding-bottom: 20px;
}

  .try__ud-title .pt02{
    font-size: 33px;
    letter-spacing: 0.1em;
  }
  
  .try__ud-title .pt03 span{
    display: inline-block;
    padding:5px 0;
    width: 100%;
    max-width: 350px;
    border-top:2px solid #e3697d;
    border-bottom:2px solid #e3697d;
    font-size: 25px;
    letter-spacing: 0.34em;
    margin-top: 10px;
  }  
  
  .try__ud-text{
    font-size: 16px;
    letter-spacing: 0.13em;
    text-align: left;
  }

.try-more-a{
    background-image: url("../images/top/try-more-bg.webp");
    background-size:cover;
    background-position: center;
}

.try-more-b{
    background-image: url("../images/top/try-more-bg02.webp");
    background-size:cover;
    background-position: center;
}

.try-more-c{
    background-image: url("../images/top/try-more-bg03.webp");
    background-size:cover;
    background-position: center;
}
/* ===========================
   TRY MORE / Swiper 安定版
   =========================== */
/* 1) 外：矢印の基準 */
.try-more-slider{
  position: relative;
}

/* 2) 背景枠：paddingや角丸はここ */
.try-more-frame{
  position: relative;
  border-radius: 10px;
  padding: 0 56px 10px;
  box-sizing: border-box;
  overflow: visible; /* 矢印を外に出す */
}

/* 3) クリップ：はみ出しを“絶対に”切るのはここ */
.try-more-clip{
  overflow: hidden;
  border-radius: 8px;  /* frame より少し小さく */
}

/* Swiper本体は余計なoverflowを触らない */
.try-more-swiper.swiper{
  width: 100%;
}

/* スライドの高さを安定させる */
.try-more-swiper .swiper-slide{
  overflow: hidden;
  border-radius: 10px;
}
.try-more-swiper .swiper-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 矢印（clipの外なので切られない） */
.try-more-prev,
.try-more-next{
  position: absolute;
  top: calc(50% + 10px);
  transform: translateY(-50%);
  z-index: 20;
  width: 44px;
  height: 44px;
}
.try-more-prev{ left: 10px; }
.try-more-next{ right: 10px; }

.try-more-frame .swiper-button-prev::after,
.try-more-frame .swiper-button-next::after{
  font-size: 36px;
  font-weight: 700;
  color: var(--color-action);
}

/* ページネーション */
.try-more-pagination{
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px !important;
  text-align: center;
  z-index: 10;
}

.swiper-pagination-bullet-active {
    background: var(--color-action) !important;
}

/*mt*/
:root{
  --mt-color:#0050ad;
}


.lemmon-color.mt,
.lemmon-color.mt *{
    color: var(--mt-color) !important;
}

.other-visual.mt {
    background: url("../images/mt/mt_bg.webp") center;
  background-size: cover;
}

.other-first.mt {
    background-image: url(../images/mt/mt-sec01__bg.webp);
}

.other-first__title .pt01.mt {
    background-image: url("../images/mt/mt-sec01__title-bg.webp");
}

.mt-first-text{
  padding: 50px;
  background:url("../images/mt/mt-sec01-bg.webp") center;
  background-size: 100% 100%;
}


.lemmon-sec.mt{
    background-image:url("../images/mt/mt_bg01.webp") !important;
}

.sec01__title.other-pt .pt01.mt{
    background:var(--mt-color) !important;
  color:#ffffff;
}

    .sec01-grid.mt{
        display: grid;
        grid-auto-flow: initial;
        grid-template-rows: initial;
        grid-template-columns: repeat(2, 1fr);
      align-items: center;
        gap: 24px;
    }

.sec01-grid.mt li:last-child{
  grid-column: 1 / -1; /* 最後だけ横幅100%（全列スパン） */
  width: 400px;          /* ← 원하는px */
  justify-self: center; 
}

.other-cont .sec01-grid.mt li {
    background-image: url(../images/mt/mt-sec02__list-bg.webp);
}

.other-cont .reason__sub-title.mt{
  background-image: url(../images/mt/mt-title__bg.webp);
}

.reason02__block-title.mt {
    background: var(--mt-color);
}

.reason02__block-title.mt span {
    filter: drop-shadow(0 0 5px #1b1464) drop-shadow(0 0 5px #1b1464) drop-shadow(0 0 5px #1b1464);
}

.reason02__block-cont.pt01.mt {
    border: var(--mt-color) 5px solid;
}

.reason02__box-title .pt02.mt {
    font-size: 20px;
}

.mt-new-title{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
}

  .mt-grid-01{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap:10px;
  }
  
.mt-grid-01-title{
  height: 80px;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  line-height: 1.25em;
  font-size: 16px;
  background: url("../images/mt/mt-new01_bg.webp") center;
  background-size: 100% 100%;
}

.mt.lemmon-inter {
    background-image: url(../images/mt/mt-inter__bg.webp);
  padding-bottom: 0;
  line-height: 0;
}

.mt-grid-01-title span{
  font-size: 13px;
}

.mt-grid-01-text{
  font-size: 14px;
}

.mt-first-text.pt02{
max-width: 880px;
  margin: auto;
}

.mt.other-feature-list{
  justify-content: center;
}

.mt.other-feature-cont-title{
  font-size: 22px;
  color:#FFFFFF;
}

.mt.other-feature-cont-title span.pt02{
  font-size: 30px;
}

.mt.other-feature-cont-title {
    background: url(../images/mt/mt-feature__bg.webp);
}

  .mt-feature-text-list{
    display: inline-block;
  }
  
  .mt-feature-text-list li{
    display: grid;
    grid-template-columns: 40px 1fr;
    gap:10px;
    align-items: center;
    font-size: 23px;
    text-align: left;
    margin-bottom: 10px;
  }
  
  .ud-line{
    background: linear-gradient(to top,#fff0d6 30%,transparent 30% 100%)
  }
  
  .other-mt-feature-cont-bodytitle{
  font-size: 18px;
    text-align: center;
    font-weight: bold;
    line-height: 2em;
    margin-bottom: 20px;
  }
  
  .other-mt-feature-cont-body.mt{
    padding: 30px;
    background: url(../images/mt/f-bg.webp) top;
    background-size: 100% auto;
    background-color: #ffffff;
    background-repeat: no-repeat;
  }

.f-text-bg{
  display: inline-block;
  background: url("../images/mt/mt-feature-title.webp") center;
    background-size: 100% auto;
  padding: 20px 80px;
  background-repeat: no-repeat;
}

  .pr-30{
    padding-right: 30px;
  }
  
  .other-mt-feature-cont-body.f-pd{
    padding-left: 0;
    padding-right: 0;
  }

  .u-cols2.mt.rev{
    direction: rtl;
    margin-top: 30px;
    text-align: left;
  }
  
  .u-cols2.mt.rev > * {
  direction: ltr;
  }
  
  .mt.other-feature-cont {
    background: #cddff7;
}
.mt-f-new02-cont{
  padding: 30px;
  background: url("../images/mt/mt-feature-point-bg.webp");
  background-size: 100% 100%;
}

.min{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";}


  .mt-f01-title-box:before{
    content:"▶︎";
  }
  
  .font-size-12{
    font-size: 12px;
  }
  
  .mt.itary{
    font-style: italic;
  }  
.f-text01{
color:#808080;
  }
  
  .mt-f01-title{
    text-align: center;
    font-size: 20px;
    position: relative;
  }
  
  .mt-f01-title span{
    display: inline-block;
    padding: 4px 40px;
    background: linear-gradient(to left,transparent 0%,#0050ad 20%,#0050ad 80%,transparent);
    position: relative;
    z-index: 5;
    color:#ffffff;
  }  

  .mt-f-new02-box{
    position: relative;
    padding:0 60px;
  }
  
  .mt-f-new02-list{
    position: relative;
    z-index: 5;
    display: grid;
    gap:10px;
    grid-template-columns: repeat(2,1fr);
    margin-bottom: 10px;
  }
  
  .mt-f-new02-list li{
    display: grid;
    gap:10px;
    grid-template-columns: 13px 1fr;
    font-size: 18px;
    color:var(--mt-color);
    background: #ffffff;
    padding:5px 10px;
    font-weight: 500;
  }  
  
  .mt-f-new02-list li img{
    position: relative;
    top:8px;
  }

  .mt-f-new02-cont.mt.pt01 .line-wave{
    display: inline-block;
    padding-bottom: 10px;
    background-image: url("../images/mt/wave-line.webp");
    background-position: bottom;
    background-size: 100% auto;
    background-repeat: no-repeat;
    color:#a63550;
  }

  .z5{
    position: relative;
    z-index: 5;
  }
  
  .mt-f-new02-cont.mt.pt01{
    max-width: 680px;
    margin: auto;
    padding-left: 120px;
    position: relative;
    font-size: 16px;
    line-height:2em;
    color:#926031;
    font-weight: bold;
  }
  
  .mt-f-new02-cont.mt.pt02{
    max-width: 680px;
    margin: auto;
    padding-right: 180px;
    position: relative;
    font-size: 16px;
    line-height: 2em;
    color:#926031;
    font-weight: bold;
  }

.mt-new03-text{
  padding: 50px;
  background: url("../images/mt/mt-new03bg.webp") center;
  background-size: 100% 100%;
}
  
  .text-red.mt{
    color:#a63550;
  }
  
  .mt-feature-point02-img{
   position: absolute;
    bottom:0;
    right: -10px;
  }
  
  .mt-feature-point02-obj{
   position: absolute;
    top:-20px;
  left: 0;    
  }
  
  .mt-feature-point02-obj02{
   position: absolute;
    bottom:30px;
    right: 120px;    
  }
  
  .mt-feature-point{
    position: absolute;
    left: 100px;
    top:-20px;
  }
  
  .mt-feature-point-img01{
    position: absolute;
    left: 0;
    bottom:0;
  }
  
    .mt-feature-point-obj{
    position: absolute;
   right: -30px;
    bottom:0;
  }
  .mt-feature-day1{
    position: absolute;
    z-index: 0;
    top:-15px;
    left: calc(50% + 120px);
  }
    
  .mt-feature-day2{
    position: absolute;
    z-index: 0;
    top:-15px;
    left: calc(50% + 180px);
  }
  
  .mt-feature-day3{
    position: absolute;
    z-index: 0;
    top:-15px;
    left: calc(50% + 220px);
  }
  
  .mt-feature-1w{
    position: absolute;
    z-index: 0;
    top:-15px;
    left: calc(50% + 220px);
  }
  
  .mt-feature-1m{
    position: absolute;
    z-index: 0;
    top:-30px;
    left: calc(50% + 220px);    
  }
  

  .mt-feature-obj02{
    position: absolute;
    left: 0;
    top:-20px;
  }
  
  .mt-feature-obj01{
    position: absolute;
    right: 0;
    top:-30px;
  }  
  
  .mt-feature-obj03{
    position: absolute;
    right: 0;
    bottom:0;
  }  
  
  .mt-feature-obj04{
    position: absolute;
    left: 0;
    top:-30px;    
  }
  
.other-mt-feature-cont-bodytitle .mt-new03{
   display: inline-block;
    padding:8px 40px;
  line-height: 1.75em;
    background: linear-gradient(to left,transparent 0%,#ffffff 20%,#ffffff 80%,transparent);
}

.mt-new03-box-ud-head{
  background: url("../images/mt/mt-feature__bg.webp") center;
  background-size: cover;
  padding: 5px;
  color:#ffffff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.mt-new03-box-ud-body{
  background: url("../images/mt/mt-feature-point-newcont-bg.webp") center;
  background-size: cover;
  padding: 20px;
}

  .al-center{
    align-items: center;
    display: grid;
  }
  
  .mt-new03-box-ud{
    max-width: 550px;
    margin: auto;
    margin-top: 30px;
  }
  
  .w550{
    max-width: 550px;
    margin: auto;
    margin-top: 20px;
  }
  
  .mt-new03-box{
    padding: 20px;
    position: relative;
    height: 280px;
  } 
  
  .mt-new03-box-text{
    padding:15px;
    background: rgba(255 255 255 / 50%);
    position: relative;
    z-index: 5;
    display: inline-block;
    width: 65%;
    line-height: 1.9em;
  }
  
  .mt-new03-box-img{
    box-shadow: 0 0 10px 0 rgba(0 0 0 / 30%);
    line-height: 0;
  }
  
  .mt-new03-box.pt01 .mt-new03-box-img{
    position: absolute;
    right: 0;
    top:20px;
  }
  
  .mt-new03-box.pt02{
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
  }
  
  .mt-new03-box.pt02 .mt-new03-box-img{
    position: absolute;
    left: 0;
    top:20px;
  }
  
  .mt-new03-box-ud-list{
    display: grid;
    gap:10px;
  }
  
  .mt-new03-box-ud-list li{
    display: grid;
    gap:8px;
    grid-template-columns: 8px 1fr;
    font-size: 18px;
    font-weight: 500;
  } 
  
  .mt-new03-box-ud-list li img{
    position: relative;
    top:10px;
  }   

  .mt-new03-ud{
    padding-bottom: 80px;
  }
  
  .mt-table-num{
    font-weight: bold;
    font-size: 25px;
  }
  
  .mt-table-elm{
    width: 80%;
    margin: auto;
    padding:1px 10px;
    background: #ffffe9;
    box-shadow:0 0 10px 0 rgba(0 0 0 / 10%);
  }
  
  .mt-table-num span{
    font-weight: bold;
    font-size: 13px;
  }
  
  .mt-table-list{
    display: grid;
    align-items: center;
    grid-template-columns: 13px 1fr;
    gap:10px;
  }
  
  .mt-table-th-inner-icon{
    line-height: 0;
  }
  
  .mt-ft13{
    font-size: 13px;
  }
  
  .mt-table th,
  .mt-table td{
    border:2px solid #ffffff;
  }  
  
  .mt-table td:first-child{
    text-align: center;
    font-weight: bold;
    font-size: 12px;
  }
  
  .mt-table td{
    background: #f1f1f1;
    padding: 10px;
  }
  
  .bg-white{
    background: #ffffff !important;
  }
  
  .mt-new03-ud-title{
    padding: 10px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
  }
  
  .mt-new03-ud-title.pt01{
    background: #c8dff8;
  }
  
  .mt-new03-ud-title.pt02{
    background: #f2f2f2;
  }
  
  .mt-new03-ud-text{
    padding: 20px;
  }

.mt .line{
  background: linear-gradient(to top, #fff0d6 30%, transparent 30% 100%);
}

.mt.reason__sub-title {
    background-image: url("../images/mt/mt-title__bg.webp");
}

  
  .mt-table-wrap{
    width: 100vw;
    overflow-x: scroll;
  }

  
  .mt-table-th{
    border-radius: 10px 10px 0 0;
    background:#c8dff8;
    padding: 5px;
  }
  
  .mt-table-th-wrap{
    border-radius: 10px 10px 0 0;
    border:1px solid #ffffff;
    height: 50px;
    padding: 3px;
    text-align: center;
  }
  
  .mt-table-th-inner{
    display: inline-flex;
    gap:10px;
    align-items: center;
    line-height: 1.25em;
  }
  
  .mt-table-th-inner-title .text01{
    font-size: 12px;
    font-weight: 500;
    display: block;
  }
  
  .mt-table-th-inner-title .text02{
    font-size: 15px;
    font-weight:bold;
  }
  
  .mt-table{
    width: 1100px;
    margin: auto;
    margin-top: 20px;
  }
  

.mt-menu{
  background: url("../images/mt/mt-bg01.webp");
}

  .mt-menu .mt-new03-box{
    height: 330px;
  }
  
  .mt-menu-title{
    text-align: center;
  }

  .mt-menu-title-inner{
    display: inline-flex;
    gap:8px;
    align-items: center;
    font-weight: bold;
    line-height: 1.5em;
  }
  
  .mt-menu-title-icon{
    line-height: 0;
  }
  
  .mt-menu-title-text .text01{
    font-size: 19px;
    display: block;
  }
  
  .mt-menu-title-text .text02{
    font-size: 24px;
  }  
  
  .mt-menu-block01{
    border:#53b7ee 2px solid;
    padding: 15px;
    border-radius: 6px;
    background: #ffffff;
    padding-top: 25px
  }
  
  .mt-menu-block01-titlewrap{
    position: relative;
    top:-40px;
    text-align: center;
    height: 0;
  }
  
  .mt-menu-block01-titlewrap span{
    display: inline-block;
    padding: 4px 30px;
    background: linear-gradient(90deg,
    #63A9E1 0%,
    #8BACDE 32%,
    #78B3E4 60%,
    #70B5E8 80%,
    #4286D7 100%
  );
    color:#ffffff;
    font-weight: bold;
    font-size: 16px;
    border-radius: 100px;
  }  
  
  .mt-menu-block02{
    border:#ffb500 2px solid;
    padding: 15px;
    border-radius: 6px;
    background: #ffffff;
    padding-top: 25px
  }
  
  .mt-menu-block02-titlewrap{
    position: relative;
    top:-40px;
    text-align: center;
    height: 0;
  }
  
  .mt-menu-block02-titlewrap span{
    display: inline-block;
    padding: 4px 30px;
    background: linear-gradient(90deg,
    #F3AF3F 0%,
    #F6B75B 28%,
    #F2B573 50%,
    #F2B14D 72%,
    #F09336 100%
  );
    color:#ffffff;
    font-weight: bold;
    font-size: 16px;
    border-radius: 100px;
  }    
  .mt-menu-block02-list{
    display: flex;
    gap:10px;
    flex-wrap: wrap;
  }
  
  .mt-menu-block02-list li{
    display: grid;
    grid-template-columns: 13px 1fr;
    gap:8px;
    align-items: center;
  }

  
  .mt-menu-pricetitle span{
    display: inline-block;
    padding: 3px;
    width: 130px;
    color:#ffffff;
    font-size: 16px;
    background: #808080;
  }
  
  .mt-menu-pricelist{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:20px;
  }
  
  .mt-menu-pricelist li{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:20px;
    padding: 10px;
    background: #ffffff;
    box-shadow: 0 0 10px 0 rgba(0 0 0 / 10%);
    align-items: center;
  }
  
  .mt-menu-pricelist li .box02{
    display: grid;
    align-items:center;
    grid-template-columns: 13px 1fr;
    gap:8px;
  }
  
  .mt-menu-pricelist li .box01{
    text-align: center;
  }
  
  .mt-menu-pricelist li .box01 .text01{
    font-weight: bold;
    font-size: 16px;
    display: block;
  }
  
  .mt-menu-pricelist li .box01 .text02{
    font-size: 13px;
  }  
  
  .mt-menu-pricelist li .box02 .arrow{
    color:#c8dff8;
  }  
  
  .mt-menu-pricelist li .box02 .icon{
    color:#ffffff;
    display: inline-block;
    padding: 3px 10px;
    background: var(--mt-color);
    font-size: 12px;
  }
  
  .mt-menu-pricelist li .box02 .text03{
    font-size: 18px;
    font-weight: bold;
  }
  
  .mt-menu-pricelist li .box02 .text03 .text-l{
    font-size: 30px;
  }  


.try-more-c.lemmon-bg.mt{
  background-image: none;
  background-color: #cddff7;
}

.other-faq.lemmon-bg.mt{
  background-image: url("../images/mt/mt-bg02.webp");
}

  .mt-flow-title{
    margin: 30px 0;
    padding: 10px;
    background:#f2f2f2;
    text-align: center;
    font-size: 23px;
    font-weight: bold;
  }
  
  .try-more-flow-title.mt{
    padding: 6px 0;
    border-top:1px solid #f1f1f1;
    border-bottom:1px solid #f1f1f1;
    display: flex;
    align-items: center;
    gap:10px;
    margin-bottom: 20px;
  }
  
  .mt .try-more-flow-title .pt01{
    background:#cab095;
    font-size: 23px;
    color:#ffffff;
    display: inline-block;
    border-radius: 100px;
    padding: 8px 10px;
    line-height: 1.2em;
  }

  .lemmon .try-more-flow-title .pt02 {
    color: #333333;
  }


.mt .try-more-flow-list li:not(:last-child):after {
    content: " ";
    background-image: url(../images/mt/mt-flow__arrow.webp) !important;
}

.other-faq .mt-flow-title{
  margin-bottom: 10px;
}

.mt-faq-text a{
  text-decoration: underline;
}

.mt.other-faq-aco dt {
    color: var(--mt-color);
}

.mt.other-faq-aco dt::before{
  
}
.mt.other-faq-aco dt::after{
    color: var(--mt-color);
}

.mt.other-faq-aco {
    background: #cddff7;
}

.mt .other-faq-aco dt::before {
    background: #ffffff;
    color: #78b2f0;
}

.mt .other-faq-aco dd::before {
    background: #78b2f0;
    color: #ffffff;
}

.last-sec.mt{
background:  #cddff7;
}


/* ベース */
:root{
  --lh: 1.25;
}

/* 1文の中で使う「サイズ段階」 */
.i-xs { font-size: .75em; }
.i-sm { font-size: .875em; }
.i-md { font-size: 1em; }
.i-lg { font-size: 1.25em; }
.i-xl { font-size: 1.5em; }
.i-2xl{ font-size: 2em; }

/* 行の上下がガタつきやすい時の保険 */
.i-xs,.i-sm,.i-lg,.i-xl,.i-2xl{
  line-height: 1;            /* 自分の行高を固定 */
  vertical-align: baseline;  /* 基本はベースライン */
}

/* SP */
@media (max-width: 767px){
  .try-more-frame{ padding: 16px 44px 30px; }
  .try-more-swiper .swiper-slide{ height: 200px; }
  .try-more-prev{ left: 10px; }
  .try-more-next{ right: 10px; }
}

  .try-more-box{
    padding: 30px;
    background: #fbe8eb;
  }
  
  .try-more-box-subtitle{
    display: flex;
    justify-content: center;
    gap:10px;
    align-items: center;
  }
  
  .try-more-box-subtitle span{
    display: inline-block;
    background: linear-gradient(to top,#fff0d6 30%,rgba(255 255 255 / 0%) 30% 100%);
    color:#554640;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  
  .try-more-box-title{
    font-size: 33px;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  
  .try-more-box-text{
    font-size: 16px;
    line-height: 1.75em;
    letter-spacing: 0.16em;
    text-align: center;
  }
  
  .try-more-box-text span{
    font-weight: bold;
  } 
  
  .try-more-box-text02{
    font-size: 12px;
    color:#808080;
    letter-spacing: 0.12em;
  }
  
  .try-more-box-slidetitle{
    text-align: center;
    font-size: 20px;
    letter-spacing: 0.1em
  }
  
  .try-more-box-slidetitle span{
    display: inline-block;
    position: relative;
    margin-bottom: 20px;
  } 
  
  .try-more-box-slidetitle span:before{
    content:" ";
    display: block;
    position: absolute;
    width: 80px;
    height: 1px;
    background: var(--color-action);
    left: -90px;
    top:15px;
  }
  
  .try-more-box-slidetitle span:after{
    content:" ";
    display: block;
    position: absolute;
    width: 80px;
    height: 1px;
    background: var(--color-action);
    right: -90px;
    top:15px;
  }  

  .try__heading-lead02{
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
    margin-bottom: 40px;
  }
  
  .try__heading-lead02 span{
    display:block;
    position: absolute;
    width: 100%;
    left: 0;
    top:3px;
    font-size: 30px;
    letter-spacing: 0.1em;
    color:#333333;
  }

  .try__heading-lead02 span small{
    font-size: 20px;
  }

  .try-more-flow-block{
    margin-top: 40px;
    padding:40px 20px;
    background: #ffffff;
    box-shadow: 0 0 10px 0 rgba(0 0 0 / 7%);
  }
  
  .try-more-flow-title .pt01{
    font-style: italic;
    font-size: 35px;
    display: inline-block;
    margin-right: 8px;
    color:#e3697d;
    font-weight: bold;
  }
  
  .try-more-flow-title .pt02{
    font-weight: 600;
    font-size: 20px;
    color:#e3697d;
    letter-spacing: 0.16em;
  }  
  
  .try-more-flow-box{
    display:flex;
    flex-flow: row-reverse;
    gap:15px;
  }

.try-more-flow-img{
  width: 260px;
}
  
  .try-more-flow-text{
    font-size: 16px;
    line-height: 1.75em;
    letter-spacing: 0.16em;
    width: calc(100% - 275px);
  }
  
  .try-more-flow-list li{
    position: relative;
  }

  .try-more-flow-list li:not(:last-child):after{
    content:" ";
    background-image: url("../images/top/try-more-arrow.webp");
    width:75px;
    height:21px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: calc(50% - 38px);
    bottom:-50px;
    display: block;
  }

  .flow-btn a{
    display: inline-flex;
    height: 40px;
    max-width: 550px;
    width: 100%;
    border-radius: 8px;
    background: linear-gradient(to bottom,#4d4d4d 50%,#333333 50% 100%);
    justify-content: center;
    align-items: center;
    color:#ffffff;
    font-weight: 500;
    letter-spacing: 0.18em;;
    font-size: 16px;
    margin-top: 50px;
    position: relative;
  }
  
  .flow-btn a img{
    position: absolute;
    top:15px;
    right: 25px;
  }

  .coupon{
    text-align: center;
    padding: 40px;
    background-image: url("../images/top/coupon-bg.webp");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  
  .coupon__text01 span{
    color:#c79f63;
    font-size:16px;
    font-style: italic;
    letter-spacing: 0.16em;
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
  }
  
  .coupon__text01 span:before{
    content:" ";
    width: 100px;
    height: 1px;
    background: #c79f63;
    position: absolute;
    top:10px;
    left: -110px;
    display: block;
  }
  
  .coupon__text01 span:after{
    content:" ";
    width: 100px;
    height: 1px;
    background: #c79f63;
    position: absolute;
    top:10px;
    right: -110px;
    display: block;
  }  
  
  .coupon__text02 span{
    display: inline-block;
    padding: 10px 40px;
    width: 100%;
    max-width: 550px;
    font-size: 27px;
    letter-spacing: 0.22em;
    font-weight: bold;
    color:#ffffff;
    background: linear-gradient(to left,#e3697d 0%,#a63550 40%);
    margin-bottom: 10px;
  }
  
  .coupon__text03{
    font-size: 16px;
    letter-spacing: 0.16em;
  }
  
  .coupon__text03 span{
    font-weight: bold;
    background: linear-gradient(to top,#f2b4be 0%,rgba(255 255 255 / 0%) 30%);
  }
  
  .coupon__text04{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:5px;
  }
  
  .coupon__text04 .pt01{
    font-size: 50px;
    letter-spacing: 0.02em;
    background: linear-gradient(to top,#a63550 30%,#e3697d 50%,#a63550 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
  }
  
  .coupon__text04 .pt02{
    font-size: 20px;
    color:#a63550;
    display: inline-block;
    padding-top: 10px;
    font-weight: bold;
  }
  
  .coupon__text04 .pt03{
    font-size: 30px;
    letter-spacing: 0.02em;
    font-weight: bold;
  }
  
  .coupon__text05{
    color:#808080;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-align: right;
  }

  .last-sec{
    background: #e4f6f6;
  }
  
  .last-sec__title{
    font-size: 25px;
    color:#a63550;
    letter-spacing: 0.16em;
    font-weight: bold;
  }
  
  .last-sec__body01-text{
    font-size: 16px;
    letter-spacing: 0.16em;
  }
  
  .access-text{
    font-size: 16px;
    letter-spacing: 0.16em;
    line-height: 1.75em;
  }

  .last-sec__body02-list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:10px;
    width: 90%;
    max-width: 1070px;
    margin: auto;
    margin-top: 20px;
  }
  
  .last-sec__body02-item{
    padding: 20px;
    background: #fcf0f1;
  }
  
  .last-sec__body02-listicon{
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .last-sec__body02-listtitle{
    color:var(--color-action);
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
    letter-spacing: 0.1em;
  }
  
  .last-sec__body02-listlink a{
    text-decoration: underline;
    font-size: 16px;
    font-weight: 600;
    display: inline-block;
    margin-bottom: 10px;
    color:#2d3197;
    margin-bottom: 10px;
    letter-spacing: 0.16em;
  }
  
  .last-sec__body02-listtext{
    font-size: 12px;
    line-height: 1em;
    letter-spacing: 0.16em;
  }
  
  .last-sec__body02-listtext.mid{
    font-weight: 600;
  }
  
  .last-sec__body02-listqr{
    margin: 10px 0;
  }

.main-foot{
  padding: 20px;
  background: #333333;
}

.foot-nav a:not(:last-child):after{
  content:" | ";
}

.main-foot *{
  color:#ffffff;
  font-size: 12px;
  letter-spacing: 0.16em;
}

.js-scroll-show {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  position: fixed;
  right: 30px;
  bottom:30px;
}

.js-scroll-show.is-show {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (min-width:1280px){
  .js-scroll-show{
    right: calc(50% - 650px);
    bottom:40px;
  }
}


/* other -lemmon- */

/* PC*/
@media (min-width: 901px){

  .other-header-nav img{ display:none; } /* ←OK条件 */

  .other-header{
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 0 4px 0 rgba(0 0 0 / 20%);
    z-index: 1000;
    height: 90px;
  }

  .other-header .logo{ line-height: 0; }

  .other-header-inner{
    display:flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    max-width: 1000px;
    margin: 0 auto;
  }

  /* PCではハンバーガーは不要なら非表示（SPは .sp/.pc運用で制御してOK） */
  .other-menu-btnwrap{ display:none; }

  /* nav全体は横並び */
  .other-header-nav{
    background: transparent;
    box-shadow: none;
  }

  .other-header-nav > .other-nav-inner{
    display:flex;
    gap: 12px;
    align-items: center;
    margin:0;
    padding:0;
  }

  /* 各メニュー項目 */
  .other-nav-cont{
    list-style: none;
    display: flex;
        align-items: center;
  }

  .other-nav-title{
    margin:0;
    padding:0;
    border:0;
    font-size: 15px;
    color:#000;
    line-height: 1;
    white-space: nowrap;
  }

  /* 区切り線（あなたの案を現DOMに適用） */
  .other-nav-cont:not(.not_line)::after{
    content:" ｜ ";
    margin-left: 12px;
  }

  /* 「ご予約はこちら」など title がリンクの場合の見た目 */
  .other-nav-title a{
    color:#000;
    text-decoration:none;
    transition: .3s;
  }
  .other-nav-title a:hover{ color:#000; }
  
    /* ★ホバーの橋（透明） */
  .mega-menu::before,
  .other-nav-list::before{
content: "";
        position: absolute;
        top: -40px;
        left: 0;
        width: 100%;
        height: 50px;
        background: transparent;
  }
  
  /* ===== ドロップ（メガ）部分：ul をパネルとして扱う ===== */
  .other-nav-list-wrap{
    /* PCでは普段は隠す */
    position: absolute;
    top: 100%; /* ヘッダー直下の出現位置（必要なら調整） */
    left:0;
    transform: translateY(10px);
    width: 100vw;                 /* “メガ”にする */
    background:#fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .25s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,.08);
    border-top: 1px solid #eee;

    /* 中身のデフォルト余白を殺す */
    margin:0;
    padding:0;
  }

  /* 中身をinner幅に収めるため、擬似的な内枠 */
  .other-nav-list > li{
    list-style:none;
  }
  .other-nav-list{
    /* ul自身を“器”にして、内側を1000pxに寄せる */
    padding: 0;
  }

  .other-nav-list > li > a{
    display:block;
    max-width: 1000px;
    margin: 0 auto;
    padding: 12px 16px;
    font-size: 15px;
    letter-spacing: .08em;
    color:#333;
    text-decoration:none;
    border-radius: 6px;
    transition: .25s ease;
  }
  .other-nav-list > li > a:hover{
    background:#fff6ea;
    color: var(--color-action);
  }

  /* hoverで表示 */
  .other-nav-cont:hover .other-nav-list-wrap{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform:translateY(0);
  }
  
  .other-nav-list{
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  } 
  
  .other-nav-list li{
    position: relative;
  }
  
  .other-nav-list li::before {
        content: "—";
        position: absolute;
        left: -10px;
        top: 50%;
        transform: translateY(-50%);
        color: #c9b36a;
        opacity: .6;
    }

  .other-nav-title{
    position: relative;
  }  
  
.other-nav-title::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -4px;
        width: 0;
        height: 2px;
        background: var(--color-action);
        transition: 0.3s ease;
        transform: translateX(-50%);
    } 
  
.other-nav-title:hover:after {
        width: 80px;
    }   

}

  
/* スクロール固定 */
body.is-locked{
  overflow: hidden;
}

  .other-visual{
    background:#e6e442;
    padding-top: 30px;
    line-height: 0;
  }

.other-first{
  background: url("../images/lemmon/lemmon-sec01__bg.webp") center;
  background-size: cover;
}
  
  .other-first__title .pt01{
    display: inline-flex;
    padding: 3px 60px;
    background-image: url("../images/lemmon/lemmon-sec01__title-bg.webp");
    background-size: 100% 100%;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
    box-shadow: none;
    max-width: 800px;
    width: 100%;
    align-items: center;
    justify-content: center;
    height: 75px;
}

  :root{
  --lemmon-color:#008fd9;
  --other-color:#c69c6d;
  }
  
  .lemmon-color{
    color:var(--lemmon-color);
  }
  
  .other-first-text{
    padding: 30px;
    background-image: url("../images/lemmon/lemmon-sec01__text-bg.webp");
    background-size: 100% 100%;
    background-position: center;
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 1.75em;
  }

.u-cols2-harf{
  display: grid;
  gap:60px;
  grid-template-columns: repeat(2,1fr)
}

.other-def-text{
    letter-spacing: 0.16em;
    line-height: 1.75em;
  font-size: 16px;
}

.bold{
  font-weight: bold;
}

.other-first-text03{
  font-size: 12px;
  color:#808080;
}

.first-btn{
  max-width: 550px;
  height: 60px;
  width: 100%;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border:1px solid #333333;
  font-size: 16px;
  font-weight: bold;
  background: linear-gradient(to top,#f2f2f2 0% 50%,#ffffff 50% 100%);
  box-shadow: 2px 2px 5px 0 rgba(0 0 0 /50%);
}

.sec01__title.other-pt .pt01 {
    font-size: 30px;
    display: inline-block;
    padding: 3px 60px;
    background-image: url("../images/lemmon/lemmon-sec02__bg.webp");
    background-size: 100% 100%;
    letter-spacing: -0.05em;
    margin-bottom: 20px;
    box-shadow:none;
  font-style: italic;
}

.sec01__title.other-pt .pt01 span small{
    font-size: 15px;
}

.other-cont .sec01-grid li {
    background-image: url("../images/lemmon/lemmon-sec02__list-bg.webp");
}

.other-cont .sec01__title .pt04{
  color:#000000;;
}

.lemmon-sec{
    background: url("../images/lemmon/lemmon-sec__bg.webp") !important;
    background-size: cover !important;
    background-position: center !important;
}

.other-cont .reason__sub-title{
  background-image: url("../images/lemmon/lemmon-title__bg.webp");
  font-style:italic;
}

.other-cont .reason__title{
  color:#000000;
}

.other-cont .reason__sub-title .pt02 {
    color: #ffffff;
}

.lemmon .u-cols2__text span{
  color:var(--lemmon-color);
}

.lemmon-inter{
    background-image: url("../images/lemmon/lemmon-inter__bg.webp");
    background-size: 100% 100%;
  padding: 20px 0;
}

  .other-feature-title{
    margin-bottom: 30px;
    text-align: center;
    font-size: 25px;
    font-weight: bold;
  }  
  
  .other-feature-list{
    display: flex;
    gap:50px;
    border-top:1px solid #000000;
    border-bottom:1px solid #000000;
    padding: 20px 0;
    margin-bottom: 40px;
  }
  
  .other-feature-list a{
    text-align: center;
    display: inline-block;
    position: relative;
    font-weight:bold;
  }
  
  .other-feature-list li:not(:last-child) a:after{
    content:" ";
    height: 100%;
    width: 1px;
    background: #000000;
    position: absolute;
    right: -25px;
    top:0;
  } 

  .other-feature-cont{
    background: #e8f6f7;
  }
  
  .other-feature-cont-title{
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    background: url("../images/lemmon/lemmon-feature__bg.webp");
    background-size: cover;
    background-position: center;
  }

.other-feature-cont-subtitle{
  padding: 30px;
  font-size: 16px;
  font-weight: bold;
  background: url("../images/lemmon/lemmon-feature__text-bg.webp");
  background-size: 100% 100%;
}

.other-feature-pad{
  padding: 30px;
}

  .other-feature-cont-body{
    position: relative;
  }
  
  .other-feature-cont-body-col{
    padding-left: 60px;
    gap:40px;
  }
  
  .other-feature-cont-bodytitle{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
  }
  
  .other-feature-cont-bodytitle span{
    font-size: 25px;
  }
  
  .other-feature-cont-body-icon{
    position: absolute;
    font-size: 28px;
    font-style: italic;
    color:var(--lemmon-color);
    top:20px;
    left: 0;
    text-align: center;
  }
  
  .other-feature-cont-body-icon .v-text{
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  
  .other-feature-cont-body-icon .num{
    font-size: 35px;
    font-weight: bold;
  }
  
  .other-feature-cont-body-icon .num{
    font-size: 35px;
    display: block;
    margin-top: -20px;
}

  .other-feature-link{
    text-align: right;
    margin-top: 40px;
  }
  
  .other-feature-link a{
    text-decoration: underline;
    font-size: 16px;
  }

  .other-feature-cont-bodytitle.pt02 span{
    padding: 10px;
    display: inline-block;
    background: #ffffff;
    max-width: 500px;
    width: 100%;
  }

  .other-feature-cont-table{
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
  }
  
  .other-feature-cont-tablewrap{
    border:#c69c6d 2px solid;
    border-radius: 10px;
  }
  
  .other-feature-cont-table th{
    padding: 20px;
    vertical-align: middle;
    text-align: center;
    border-bottom: 1px solid #c69c6d;
    border-right: 1px solid #c69c6d;
    background: #f7f1ea;
    font-weight: normal;
  }
  
  .other-feature-cont-table td{
    padding: 20px;
    background: #ffffff;
    border-bottom: 1px solid #c69c6d;
    border-right: 1px solid #c69c6d;
  }  

.other-feature-cont-table td.row-4{
  border-bottom: none;
  border-left: 1px solid #c69c6d;;
}
  
  .other-feature-cont-table td.other-feature-cont-table-img{
    background: #fafadc;
  }
  
  .other-feature-cont-table.after *{
    text-align: center;
  }

.flow-btn.other a{
  height: auto;
  padding: 20px;
}

.flow-btn.other a img {
    top: calc(50% - 3px);
}

.lemmon-bg{
  background-image: url("../images/lemmon/lemmon-flow__bg.webp");
}

.lemmon .try-more-flow-list li:not(:last-child):after {
    content: " ";
    background-image: url("../images/lemmon/lemmon-flow__arrow.webp");
}

.color-b{
  color:#333333 !important;
}

.lemmon .try-more-flow-title *{
  color:var(--lemmon-color);
}

  .other-inter02{
    background: #e8f6f7;
  }
  
  .other-inter02-title span{
    display: inline-block;
    padding:0 10px;
    width: 100%;
    background-image: url("../images/lemmon/lemmon-flow__ud-title-bg.webp");
    background-size: 100% 100%;
  }
  
  .other-inter02-text{
    background-image: url("../images/lemmon/lemmon-flow__ud-text-bg.webp");
    background-size: 100% 100%;
    padding: 20px;
    font-weight: bold;
    font-size: 16px;
    padding-left: 100px;
    position: relative;
    letter-spacing: 0.16em;
  }

.other-inter02-text *{
  font-weight: bold;
}

  .other-inter02-text .other-inter02-text-inner{
    padding-left: 50px;
  }

.other-inter02-text-img{
  position: absolute;
  bottom:0;
  left: -30px;
}

/* =========================
  FAQ Accordion (Lemmon)
========================= */
.other-faq-aco{
  background: #e8f6f7;
  border-radius: 8px;
  overflow: hidden;
}

/* Q行 */
.other-faq-aco dt{
  position: relative;
  padding: 18px 56px 18px 72px;
  font-weight: 700;
  color: var(--lemmon-color);
  cursor: pointer;
  user-select: none;
  line-height: 1.4;
}

/* Q丸アイコン */
.other-faq-aco dt::before{
  content: "Q";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--lemmon-color);
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  display: grid;
  place-items: center;
}

/* 右の＋/− */
.other-faq-aco dt::after{
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lemmon-color);
  font-weight: 700;
  font-size: 22px;
  line-height: 1;
}

/* 開いてる時は − */
.other-faq-aco.is-open dt::after{
  content: "−";
}

/* A行（最初は閉じる：JSで高さ制御） */
.other-faq-aco dd{
  position: relative;
  margin: 0;
  padding: 0 56px 0 72px;
  color: #222;
  line-height: 1.75;

  height: 0;
  overflow: hidden;
  transition: height .28s ease, padding .28s ease;
}

/* A丸アイコン */
.other-faq-aco dd::before{
  content: "A";
  position: absolute;
  left: 18px;
  top: 16px;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--lemmon-color);
  font-weight: 700;
  font-size: 15px;
  display: grid;
  place-items: center;
}

/* 開いてる時の余白 */
.other-faq-aco.is-open dd{
  padding: 0 56px 18px 72px;
}

/* focus見やすく */
.other-faq-aco dt:focus-visible{
  outline: 2px solid var(--lemmon-color);
  outline-offset: 2px;
}

/* モーション軽減 */
@media (prefers-reduced-motion: reduce){
  .other-faq-aco dd{ transition: none; }
}

/* u-list：黒丸の箇条書きに戻す */
.u-list{
  list-style: disc;
  padding-left: 1.25em; /* ここでインデント調整 */
  margin: 0;
}

.u-list > li{
  list-style: disc;
}

.other-last-content{
  background: #f2f2f2;
}

  .other-last-content-item{
    background: #ffffff;
    padding: 20px;
    box-shadow: 0 0 7px 0 rgba(0 0 0 / 10%);
    letter-spacing: 0.16em;
    line-height: 1.75em;
  }
  
  .other-last-content-list-heading{
    display: grid;
    align-items: center;
    grid-template-columns:55px 1fr;
    gap:10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #a67c52;
  }
  
  .last-col2{
    display: grid;
    grid-template-columns:1fr 350px;
    gap:30px;
  }

  .other-foot-nav{
    width: 90%;
    max-width: 850px;
    margin: auto;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ffffff;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap:20px;
    letter-spacing: 0.16em;
    line-height: 1.75em;
    font-size: 14px;
    text-align: left;
  }
  
  .other-foot-nav-title{
    padding:10px 5px;
    border-bottom: 1px solid #ffffff;
    font-weight: bold;
    margin-bottom: 10px;
  }

/* ページ内リンクの着地位置をヘッダー分だけ下げる */
:root{
  --anchor-offset: 90px; /* PC */
}
@media (max-width: 900px){
  :root{
    --anchor-offset: 70px; /* SP */
  }
}

/* 全アンカー対象に効かせる */
[id]{
  scroll-margin-top: var(--anchor-offset);
}

/* スムーススクロールしたいなら（任意） */
html{
  scroll-behavior: smooth;
}



/* =========================
   Treatment Menu Page
========================= */
.treatmenu #menu-trial,
.treatmenu #menu-monthly,
.treatmenu #menu-list,
.treatmenu #menu-option,
.treatmenu #menu-category{
  scroll-margin-top: 120px;
}

.treatmenu .menu-hero__title{
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.treatmenu .menu-hero__lead{
  text-align: center;
  line-height: 1.9;
  color: #555;
  font-size: 15px;
}

.menu-category__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.menu-category__btn{
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.treatmenu .menu-section__title{
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.treatmenu .menu-subsection__title{
  font-size: 18px;
  font-weight: 800;
  padding-left: 12px;
  border-left: 4px solid var(--other-color);
}

.menu-tablewrap{
  background: #fff;
}

.menu-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  max-width: 95vw;
}

.menu-table{
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.menu-table th:last-child,
.menu-table td:last-child{
  border-right: none;
}

.menu-table tbody tr:last-child td{
  border-bottom: none;
}

.menu-table th,
.menu-table td{
  white-space: nowrap;
}

.menu-table td:first-child{
  white-space: normal;
  min-width: 320px;
}

.menu-detail{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background:linear-gradient(to top,#f2b4be 50%,#f5c2ca 50% 100%);
  color: #333333;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: 0.2s;
}

.menu-detail:hover{
  filter: brightness(1.05);
}

.menu-back{
  text-align: center;
  margin-top: 20px;
}

.menu-back a{
  color: var(--other-color);
  font-weight: 800;
  text-decoration: none;
}

.menu-back a:hover{
  text-decoration: underline;
}

@media (max-width: 900px){
  .menu-category__grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .treatmenu .menu-hero__title{
    font-size: 22px;
  }
}


/* =========================
   Privacy Policy / Company
========================= */
.legal .page-hero-simple__title{
  text-align: center;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.legal .page-hero-simple__lead{
  text-align: center;
  line-height: 1.9;
  color: #555;
  font-size: 15px;
}

.legal .legal-block__title{
  font-size: 18px;
  font-weight: 800;
  padding-left: 12px;
  border-left: 4px solid var(--other-color);
  line-height: 1.4;
}

.legal .legal-subtitle{
  font-size: 16px;
  font-weight: 800;
  margin-top: 10px;
}

.legal .legal-text{
  line-height: 1.9;
  color: #333;
  font-size: 15px;
}

.legal .legal-list{
  padding-left: 1.2em;
  margin-top: 6px;
  display: grid;
  gap: 8px;
}

.legal .legal-list li{
  line-height: 1.8;
}

.legal .legal-linklist{
  padding-left: 1.2em;
  margin-top: 6px;
  display: grid;
  gap: 8px;
}

.legal a{
  color: var(--other-color);
  text-decoration: underline;
  word-break: break-word;
}

.company-table-scroll{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.company-table{
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.company-table th{
  width: 220px;
  white-space: nowrap;
}

@media (max-width: 900px){
  .legal .page-hero-simple__title{
    font-size: 22px;
  }
}

#menu-category{
  padding-top: 0;
}

#menu-hero,
#policy-hero,
#company-hero{
  padding-bottom: 30px;
}

#policy-content,
#company-content{
  padding-top: 30px;
}



@media (min-width: 901px){
.treatmenu .try__cont{
  gap:20px;
  grid-template-columns: repeat(3,1fr);
}
  
.treatmenu .try__block-price .text01{
    line-height: 1em;
  }
  
.treatmenu .try__title .pt02 .text02 {
    font-size: 30px;
}  
  
.treatmenu .try__block-title span {
    font-size: 17px;
}
  
.treatmenu .try__block-title img {
    position: absolute;
    right: -10px;
  width: 45px;
  height: 45px;
}
  
.treatmenu .try__block-heading {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 10px;
    align-items: center;
}
  
.treatmenu .try__block-couse {
    font-size: 12px;
  text-align: left;
}
  
.treatmenu .try__block-price .text02 .pt01 {
    font-size: 30px;
} 
  
.treatmenu .try__block-price .text02 .pt02 {
    font-size: 15px;
}
  
.treatmenu .try__block-price .text01 .pt01 {
    display: inline-block;
    padding: 1px 15px;
    border-radius: 100px;
    background: #333333;
    color: #ffffff;
    font-size: 8px;
}
  
.treatmenu .try__block-price .text01 .pt02 {
    font-size: 10px;
} 
  
.treatmenu .try__block-price {
    display: flex;
    justify-content: center;
    margin-top: 0;
    align-items: center;
    gap: 10px;
}  

  
.try__block-price .text01 .pt02::before {
    margin-top: -2px;
}
  
.try__block-price .text01 .pt02::after {
    margin-top: 2px;
}
  

  
.try__btn a {
    display: inline-flex;
    max-width: 540px;
    width: 100%;
    height: 40px;
    border-radius: 100px;
    background: linear-gradient(to top, #f2b4be 50%, #f5c2ca 50% 100%);
    color: #333333;
    font-size: 12px;
    font-weight: 600;
    justify-content: center;
    position: relative;
    align-items: center;
}
  
.try__btn a img {
    position: absolute;
    top: 12px;
    right: 20px;
}
  
  .swipe-hint{display: none;}
  

}

/* =========================
   Visible horizontal scrollbar (fake) for SP
========================= */
@media (max-width: 900px) {
  /* JSが付けるラッパー */
  .menu-tablewrap.is-xscrollbar {
    position: relative;
  }

  .menu-tablewrap .xscrollbar {
    margin-top: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.10);
    position: relative;
    overflow: hidden;
  }

  .menu-tablewrap .xscrollbar__thumb {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 999px;
    background: rgba(0,0,0,.35); /* ここを濃くすると目立つ */
    transform: translateX(0);
    will-change: transform, width;
  }

}

/* =========================
   menu-table-scroll: force horizontal scroll on SP
========================= */
@media (max-width: 900px) {
  /* .menu-table-scroll で包んだテーブルは、必ず横スクロールが発生する幅を持たせる */
  .menu-table-scroll > table {
    min-width: 720px;
  }
}