/*
Theme Name: なかたに歯科 インプラントテーマ [v17]
Theme URI: https://www.nakatanisika.com/
Author: (制作者名を入力)
Author URI:
Description: 岡山市南区のなかたに歯科医院が監修する、インプラント専門サイト用オリジナルテーマ。紺×ゴールドを基調としたデザインです。
Version: 1.0.17
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: nakatani-implant
*/

@charset "utf-8";

/* ===== reset ===== */
html,body,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,img,ul,li,form,table,tr,td,th,article,aside,figure,footer,header,nav,section,dl,dt,dd{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline}
article,aside,figure,footer,header,nav,section{display:block}
ul,li{list-style:none}
img{vertical-align:top;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
table{border-collapse:collapse;border-spacing:0}
details summary{cursor:pointer}

html{font-size:10px}
body{
  line-height:1.7;
  font-family:"Zen Old Mincho",serif;
  color:#535353;
  background:#fff;
}
*{box-sizing:border-box}
a{transition:opacity .3s ease-in-out}
a:hover{opacity:.7}

@media (max-width:1200px){ html{font-size:.83vw} }
@media (max-width:999px){ html{font-size:1vw} }
@media (max-width:767px){
  html{font-size:2.67vw}
  .view-pc{display:none!important}
}
@media (min-width:768px){ .view-sp{display:none!important} }

/* ===== header ===== */
header{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .3s ease-in-out;background-color:#001743}
.front-page header{background-color:transparent}
.front-page header.is-active{background-color:#001743}

.haeder{font-size:.52vw;color:#fff;padding:1.5em 3em;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
@media screen and (max-width:1600px){ .haeder{padding:1.5em} }
@media screen and (max-width:999px){ .haeder{font-size:1rem} }

.haeder-logo{font-family:"Zen Old Mincho",serif;color:#fff;line-height:1.2;display:flex;align-items:center;column-gap:1em}
.haeder-logo .tooth{width:2.6em;height:2.6em;flex-shrink:0}
.haeder-logo .tooth path{fill:none;stroke:#D4AB37;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.haeder-logo .main{font-size:1.7em;font-weight:600;letter-spacing:.05em;display:block}
.haeder-logo .sub{font-size:1em;letter-spacing:.2em;color:#C9D4EA;display:block;margin-top:.2em}
.haeder-logo .supervise{font-size:.72em;letter-spacing:.05em;color:#D4AB37;display:block;margin-top:.35em;font-weight:500}
@media screen and (max-width:999px){
  .haeder-logo .main{font-size:1.4rem}
  .haeder-logo .sub{font-size:.85rem}
  .haeder-logo .supervise{font-size:.62rem}
}

.header-right-ul{display:flex;flex-wrap:wrap;column-gap:2.4em}
@media screen and (max-width:999px){ .header-right-ul{display:none} }
.header-right-link{position:relative;z-index:2;display:inline-block;padding:1.4em 0;transition:all .3s ease-in-out}
.header-right-link span{font-size:1.6em;line-height:1;white-space:nowrap}
.header-right-link::before{content:'';position:absolute;bottom:-1em;left:50%;transform:translateX(-50%);width:.1rem;height:2em;background:#fff;opacity:0;transition:all .3s ease-in-out}
.header-right-link:hover::before,.header-right-link.is-active::before{opacity:1}

.haeder-tel-web{display:flex;flex-wrap:wrap;align-items:center;column-gap:2em;padding-left:2em}
@media screen and (max-width:999px){ .haeder-tel-web{display:none} }
.haeder-tel-web-left{text-align:center}
.haeder-tel-num{font-size:2em;font-weight:600;color:#fff;letter-spacing:.03em;display:flex;align-items:center;column-gap:.3em}
.haeder-tel-num small{font-size:.5em;font-weight:400;display:block;color:#C9D4EA;letter-spacing:0}
.haeder-icon-web{display:flex;align-items:center;justify-content:center;padding:0 1.6em;height:5em;background:linear-gradient(90deg,#C29512 0%,#D4AB37 100%);border-radius:7em;font-size:1.6em;font-weight:500;color:#fff;white-space:nowrap;transition:all .3s ease-in-out}
.haeder-icon-web:hover{filter:brightness(1.08);opacity:1}

.btn-hamberger{width:4rem;height:4rem;position:relative;cursor:pointer}
@media screen and (min-width:1000px){ .btn-hamberger{display:none} }
.btn-hamberger span{position:absolute;top:50%;transform:translateY(-50%);width:70%;height:.2rem;background:#C29512;right:0;transition:all .3s ease-in-out}
.btn-hamberger::before,.btn-hamberger::after{content:'';position:absolute;width:100%;height:.2rem;background:#C29512;transition:all .3s ease-in-out}
.btn-hamberger::before{top:20%;left:0}
.btn-hamberger::after{bottom:20%;left:0}
.btn-hamberger.is-active span{opacity:0}
.btn-hamberger.is-active::before{transform:rotate(45deg);top:50%}
.btn-hamberger.is-active::after{transform:rotate(-45deg);top:50%;bottom:auto}

/* ===== mobile menu overlay ===== */
.menu-toggle{position:fixed;inset:0;background:#001743;padding-top:11rem;z-index:80;visibility:hidden;opacity:0;transition:opacity .3s linear}
.menu-toggle.is-active{visibility:visible;opacity:1}
.menu-cont{width:calc(100% - 3rem);margin:0 auto;height:calc(100vh - 11rem);overflow:auto}
.menu-block-list{font-size:1.8rem;padding-top:1rem;color:#fff}
.menu-block-list li+li{margin-top:2rem;padding-top:2rem;border-top:.1rem solid rgba(255,255,255,.2)}
.menu-block-list a{transition:opacity .3s}
.menu-block-list a:hover{opacity:.7;text-decoration:underline}
.menu-block-list a.is-current{color:#D4AB37}
.menu-tel{margin-top:4rem;padding-top:3rem;border-top:.2rem solid rgba(255,255,255,.3);color:#fff}
.menu-tel a{font-size:2.6rem;font-weight:600;color:#fff}
.menu-tel p{font-size:1.4rem;color:#C9D4EA;margin-top:.6rem}

/* ===== hero (home) ===== */
.video-fixed{position:fixed;inset:0;z-index:-100;background-image:linear-gradient(rgba(0,23,67,.55),rgba(0,23,67,.72)),url(images/index/bg-main.webp);background-size:cover;background-position:center}

.sec1-top{position:relative;min-height:100vh;color:#fff;display:flex;align-items:center;padding-top:14rem;padding-bottom:8rem}
.sec1-top-content{max-width:162rem;margin:0 auto;width:calc(100% - 3rem)}
.sec1-top-eyebrow{font-size:1.6rem;letter-spacing:.3rem;color:#D4AB37;margin-bottom:2rem}
.sec1-top-tlt{font-size:5.2rem;font-weight:600;line-height:1.55}
@media screen and (max-width:767px){ .sec1-top-tlt{font-size:3.1rem} }
.sec1-top-txt{padding-top:2.4rem;font-size:2rem;line-height:1.9;max-width:56rem}
@media screen and (max-width:767px){ .sec1-top-txt{font-size:1.6rem} }
.sec1-top-cta{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:4rem}

.sec1-top-scroll{position:absolute;bottom:5rem;right:6.25vw;font-size:1.5rem;letter-spacing:.4rem;writing-mode:vertical-rl}
@media screen and (max-width:767px){ .sec1-top-scroll{right:2rem;bottom:2rem} }
.sec1-top-scroll a{display:flex;flex-direction:column;align-items:center;row-gap:1.4rem;color:#fff}
.sec1-top-scroll a::after{content:'';width:.1rem;height:8rem;background:#fff;display:block}

.footer-hokari{position:fixed;z-index:20;bottom:2.5rem;left:2.5rem;width:max-content;max-width:calc(100% - 5rem)}
@media screen and (max-width:999px){ .footer-hokari{bottom:6rem;left:1.5rem} }
.footer-hokari-inner{position:relative;background:#fff;color:#214994;padding:1.4rem 2.4rem;border-radius:100rem;font-size:1.5rem;font-weight:500;box-shadow:0 .4rem 1.2rem rgba(0,0,0,.25);display:flex;align-items:center;gap:1rem}
@media screen and (max-width:767px){ .footer-hokari-inner{font-size:1.2rem;padding:1.1rem 1.8rem} }
.footer-hokari-close{position:absolute;top:-1rem;right:-1rem;width:2.6rem;height:2.6rem;border-radius:100%;background:#214994;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;cursor:pointer;box-shadow:0 .2rem .6rem rgba(0,0,0,.25)}

.fade-top{opacity:0;transform:translateY(1.5rem);animation:fade-top .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:.05s}
@keyframes fade-top{to{opacity:1;transform:translateY(0)}}

/* ===== sec2 : intro ===== */
.sec2-top{position:relative;z-index:2;color:#fff;background:linear-gradient(0deg,#001743 0%,rgba(0,23,67,0) 100%);text-align:center;padding:7rem 1.5rem 8rem;overflow:hidden}
.sec2-top-eng{font-size:1.6rem;letter-spacing:.4rem;color:#C9D4EA}
.txt-gold{color:#D4AB37}
.sec2-top-h3{font-size:3.4rem;margin-top:1rem}
@media screen and (max-width:767px){ .sec2-top-h3{font-size:2.4rem} }
.sec2-top-lead{font-size:1.9rem;line-height:2.1;max-width:74rem;margin:2.6rem auto 0;text-align:left}
@media screen and (max-width:767px){ .sec2-top-lead{font-size:1.6rem} }
.link-style1{font-size:1.7rem;padding:1.5rem 3.4rem;background:linear-gradient(90deg,#C29512 0%,#D4AB37 100%);border-radius:7rem;color:#fff;display:inline-flex;align-items:center;column-gap:1rem;transition:all .3s ease-in-out}
.link-style1:hover{filter:brightness(1.08);transform:translateY(-.2rem);opacity:1}
.link-style1.outline{background:transparent;border:.1rem solid #fff}
.link-style1.navy{background:#214994}
.sec2-top-slider{position:absolute;top:38%;left:0;right:0;transform:translateY(-50%);display:flex;width:max-content;white-space:nowrap;animation:marquee 24s linear infinite;pointer-events:none}
.sec2-top-slider span{font-size:8rem;opacity:.06;margin-right:4rem;line-height:1}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== section title (home) ===== */
.set-tlt-lv1{position:relative;text-align:center}
.set-tlt-lv1-eng{font-size:1.7rem;letter-spacing:.4rem;color:#8B95AE}
.set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-eng{color:#506BA2}
.set-tlt-lv1-jpn{font-size:3.4rem;font-weight:600;line-height:1.4;margin-top:.6rem;position:relative;z-index:2}
@media screen and (max-width:767px){ .set-tlt-lv1-jpn{font-size:2.3rem} }
.set-tlt-lv1-jpn-db1{color:#C29512;font-size:1.1em}
.set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-jpn{color:#001743}
.set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-jpn-db1{color:#214994}
.set-tlt-lv1-big{font-size:8.5rem;line-height:1;opacity:.06;letter-spacing:.3rem;margin-top:-4.3rem;font-weight:700}
@media screen and (max-width:767px){ .set-tlt-lv1-big{font-size:5rem;margin-top:-2.6rem} }

/* ===== sec3 : concerns / for-you (home) ===== */
.sec3-top{background:linear-gradient(160deg,#001743 0%,#12275c 60%,#214994 100%);padding:8rem 1.5rem;color:#fff}
.sec3-top .set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-eng{color:#8B95AE}
.sec3-top .set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-jpn{color:#fff}
.sec3-top .set-tlt-lv1.set-tlt-lv2 .set-tlt-lv1-jpn-db1{color:#D4AB37}
.sec3-top-content{padding-top:5rem;max-width:132rem;margin:0 auto}
.sec3-top-block+.sec3-top-block{margin-top:7rem}
.sec3-top-block-tlt{font-size:2.2rem;font-weight:600;text-align:center;margin-bottom:4rem;position:relative;padding-bottom:1.8rem}
.sec3-top-block-tlt::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:4rem;height:.2rem;background:#D4AB37}
.sec3-top-content-ul{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 2.4rem}
@media screen and (max-width:767px){ .sec3-top-content-ul{grid-template-columns:1fr;gap:1.6rem} }
.sec3-top-content-ul li{position:relative}
.sec3-top-content-ul li a{display:flex;align-items:center;gap:1.6rem;background:#E9F0FF;color:#001743;border-radius:1.2rem;padding:2.2rem 4.6rem 2.2rem 2.6rem;font-size:1.65rem;font-weight:500;line-height:1.6;transition:all .3s ease-in-out;position:relative;height:100%}
.sec3-top-content-ul li a::before{content:'';flex:0 0 1rem;width:1rem;height:1rem;border-radius:100%;background:#C29512}
.sec3-top-content-ul li a::after{content:'';position:absolute;top:50%;right:2rem;width:.8rem;height:.8rem;border-top:.2rem solid #214994;border-right:.2rem solid #214994;transform:translateY(-50%) rotate(45deg)}
.sec3-top-content-ul li a:hover{background:#D0DBF2;opacity:1}
.sec3-top-content-ul.col3{grid-template-columns:repeat(3,1fr)}
@media screen and (max-width:767px){ .sec3-top-content-ul.col3{grid-template-columns:1fr} }
.sec3-top-content-note{margin-top:3rem;font-size:1.4rem;color:#C9D4EA;text-align:center}

.sec3-top-pickup{padding-top:8rem}
.sec3-top-pickup-lead{max-width:76rem;margin:0 auto;text-align:center;font-size:1.7rem;color:#C9D4EA;margin-top:1.5rem;line-height:1.9}
.sec3-top-pickup-cril{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;padding-top:5rem;max-width:120rem;margin:0 auto}
.sec3-top-pickup-cril li{width:19rem;aspect-ratio:1/1;border-radius:100%;position:relative;overflow:hidden;background-size:cover;background-position:center}
@media screen and (max-width:767px){ .sec3-top-pickup-cril li{width:calc((100% - 2rem)/2)} }
.sec3-top-pickup-cril li::before{content:'';position:absolute;inset:0;background:rgba(194,149,18,.82)}
.sec3-top-pickup-cril li::after{content:'';position:absolute;inset:.7rem;border:.1rem solid rgba(255,255,255,.6);border-radius:100%}
.sec3-top-pickup-cril span{font-size:1.55rem;font-weight:600;color:#fff;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.4rem;z-index:2;line-height:1.35}
.sec3-top-pickup-cril a{display:block;width:100%;height:100%;color:inherit}

/* ===== sec4 : implant intro / compare (home) ===== */
.sec4-top{background:#EEEEEE;padding:8rem 1.5rem}
.sec4-top-grid{max-width:132rem;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
@media screen and (max-width:900px){ .sec4-top-grid{grid-template-columns:1fr} }
.sec4-top-photo img{width:100%;display:block;border-radius:1.5rem;box-shadow:0 1rem 3rem rgba(0,23,67,.15)}
.sec4-top-lead{font-size:1.8rem;line-height:2}
.compare-list{margin-top:3rem;border-top:.1rem solid #cec9c6}
.compare-list>div{padding:1.8rem 0;border-bottom:.1rem solid #cec9c6}
.compare-list dt{font-size:1.6rem;font-weight:700;color:#214994}
.compare-list dd{margin-top:.6rem;font-size:1.5rem;line-height:1.8;color:#555}

/* ===== 歯を失った原因（home, white bg variant of sec4） ===== */
.sec4c-top{background:#fff;padding:8rem 1.5rem}

/* ===== 既存インプラントのトラブル（home） ===== */
.sec-trouble{background:linear-gradient(160deg,#12275c,#001743);color:#fff;padding:8rem 1.5rem}
.sec-trouble-lead{max-width:88rem;margin:3rem auto 0;text-align:center;font-size:1.6rem;line-height:2;color:#C9D4EA}
.sec-trouble-grid{max-width:120rem;margin:4rem auto 0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
@media screen and (max-width:767px){ .sec-trouble-grid{grid-template-columns:1fr} }
.sec-trouble-grid a{display:flex;align-items:center;column-gap:1.2rem;background:rgba(255,255,255,.08);border:.1rem solid rgba(255,255,255,.25);border-radius:1rem;padding:1.6rem 2rem;font-size:1.5rem;line-height:1.5;transition:all .3s}
.sec-trouble-grid a::before{content:'';flex:0 0 .9rem;width:.9rem;height:.9rem;border-radius:100%;background:#D4AB37}
.sec-trouble-grid a:hover{background:rgba(255,255,255,.16);opacity:1}

/* ===== 料金・保証 誘導（home） ===== */
.sec-price{background:#F0F4FB;padding:8rem 1.5rem;text-align:center}
.sec-price-lead{max-width:80rem;margin:2rem auto 0;font-size:1.6rem;line-height:2}

/* ===== 治療の流れ ミニステップ（home） ===== */
.sec-flow{background:#fff;padding:8rem 1.5rem}
.flow-mini-list{max-width:132rem;margin:4rem auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem}
.flow-mini-list li{display:flex;align-items:center;column-gap:1rem;background:#F7F9FC;border:.1rem solid #E0E4EA;border-radius:5rem;padding:1rem 2rem 1rem 1rem;font-size:1.4rem}
.flow-mini-list .num{flex:0 0 3rem;height:3rem;border-radius:100%;background:#214994;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}

/* ===== sec5 : for-you tabs w/ photo (home) ===== */
.sec5-top{background:#001743;padding-top:7rem;padding-bottom:2rem}
.sec5-top-ul{max-width:92rem;margin:4rem auto 0;width:calc(100% - 3rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media screen and (max-width:767px){ .sec5-top-ul{grid-template-columns:1fr} }
.sec5-top-ul li{height:9rem;background:#C9D4EA;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#001743;cursor:pointer;transition:all .3s ease-in-out;text-align:center}
.sec5-top-ul li .eng{font-size:1.3rem;color:#506BA2}
.sec5-top-ul li:hover,.sec5-top-ul li.is-active{background:#2B3D62;color:#fff}
.sec5-top-ul li:hover .eng,.sec5-top-ul li.is-active .eng{color:#fff}
.sec5-top-panel{display:none;padding:5rem 1.5rem 7rem}
.sec5-top-panel.is-active{display:block}
.sec5-top-panel-inner{max-width:120rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media screen and (max-width:767px){ .sec5-top-panel-inner{grid-template-columns:1fr} }
.sec5-top-panel-img{height:32rem;border-radius:1.5rem;overflow:hidden}
.sec5-top-panel-img img{width:100%;height:100%;object-fit:cover;display:block}
.sec5-top-panel-txt{color:#fff}
.sec5-top-panel-txt .eng{color:#506BA2;font-size:1.5rem;letter-spacing:.3rem}
.sec5-top-panel-txt h3{font-size:2.6rem;margin-top:.8rem;line-height:1.4}
.sec5-top-panel-txt p{margin-top:1.6rem;font-size:1.65rem;line-height:2;color:#C9D4EA}
.sec5-top-panel-txt a{color:#D4AB37;text-decoration:underline}

/* ===== sec6 : banner (home) ===== */
.sec6-top{padding:5rem 1.5rem;background:linear-gradient(135deg,#2B3D62,#001743);overflow:hidden}
.sec6-top-slider{display:flex;width:max-content;animation:marquee2 24s linear infinite}
.sec6-top-slider span{flex-shrink:0;white-space:nowrap;padding-right:4rem;font-size:3.2rem;color:rgba(255,255,255,.5);font-weight:600}
@keyframes marquee2{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== sec7 : features (home) ===== */
.sec7-top{background:#fff;padding:8rem 1.5rem}
.sec7-top-main{max-width:132rem;margin:6rem auto 0;display:flex;flex-direction:column;gap:6rem}
.sec7-top-item{display:flex;flex-wrap:wrap;align-items:center;gap:4rem}
.sec7-top-item.rev{flex-direction:row-reverse}
@media screen and (max-width:900px){ .sec7-top-item,.sec7-top-item.rev{flex-direction:column} }
.sec7-top-item-photo{flex:1 1 42rem;min-width:30rem}
.sec7-top-item-photo img{width:100%;height:32rem;object-fit:cover;border-radius:1.5rem;display:block}
.sec7-top-item-txt{flex:1 1 46rem;min-width:30rem}
.sec7-top-num{font-size:1.8rem;color:#506BA2;letter-spacing:.3rem;display:flex;align-items:center;column-gap:1.6rem}
.sec7-top-num::after{content:'';flex:1;height:.1rem;background:#A9A9A9}
.sec7-top-big{font-size:2.7rem;font-weight:600;line-height:1.5;color:#001743;margin-top:1.2rem}
@media screen and (max-width:767px){ .sec7-top-big{font-size:2.1rem} }
.sec7-top-item-txt p{margin-top:1.8rem;font-size:1.65rem;line-height:2}

/* ===== sec8 : trust / faq (home) ===== */
.sec8-top{background:#F0F4FB;padding:8rem 1.5rem}
.sec8-top-s1{max-width:96rem;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media screen and (max-width:767px){ .sec8-top-s1{grid-template-columns:1fr} }
.sec8-top-s1 a{display:flex;align-items:center;justify-content:center;background:#214994;color:#fff;border-radius:1.5rem;padding:3rem 2rem;font-size:2rem;font-weight:600;text-align:center;transition:all .3s}
.sec8-top-s1 a:hover{background:#12275c;opacity:1}
.sec8-top-s2{background:linear-gradient(160deg,#12275c,#001743);color:#fff;margin-top:6rem;padding:6rem 1.5rem;border-radius:2rem;max-width:132rem;margin-left:auto;margin-right:auto}
.sec8-top-s2-tlt{font-size:2.3rem;text-align:center;display:flex;align-items:center;justify-content:center;column-gap:1.2rem}
.sec8-top-s2-faq{max-width:96rem;margin:4rem auto 0;display:flex;flex-direction:column;gap:1rem}

/* ===== FAQ accordion (shared) ===== */
.q_box{border:.1rem solid rgba(255,255,255,.5);border-radius:.8rem;overflow:hidden}
.q_box-tlt{padding:1.8rem 5rem 1.8rem 2rem;position:relative;cursor:pointer;font-size:1.75rem;transition:background .3s;display:flex;align-items:flex-start;column-gap:1rem}
.q_box-tlt::before{content:'Q';font-weight:700;color:#D4AB37;font-size:2rem}
.q_box-tlt:hover,.q_box.is-active .q_box-tlt{background:rgba(255,255,255,.08)}
.toggle-iconplus{position:absolute;right:1.8rem;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem}
.toggle-iconplus::before,.toggle-iconplus::after{content:'';position:absolute;inset:0;margin:auto;width:100%;height:.2rem;background:#fff}
.toggle-iconplus::after{transform:rotate(90deg);transition:opacity .3s}
.q_box.is-active .toggle-iconplus::after{opacity:0}
.a_box{display:none;padding:0 2rem 1.8rem 4.6rem;font-size:1.55rem;line-height:1.9;color:#C9D4EA}
.a_box a{color:#D4AB37;text-decoration:underline}

.q_box.light{border-color:#E0E4EA}
.q_box.light .q_box-tlt{color:#001743}
.q_box.light .q_box-tlt::before{color:#C29512}
.q_box.light .q_box-tlt:hover,.q_box.light.is-active .q_box-tlt{background:#F0F4FB}
.q_box.light .toggle-iconplus::before,.q_box.light .toggle-iconplus::after{background:#214994}
.q_box.light .a_box{color:#555}
.q_box.light .a_box a{color:#214994}

/* ===== sec9 : clinic intro / director (home) ===== */
.sec9-top{background:#fff;padding:8rem 1.5rem}
.sec9-top-grid{max-width:132rem;margin:5rem auto 0;display:grid;grid-template-columns:34rem 1fr;gap:5rem;align-items:center}
@media screen and (max-width:900px){ .sec9-top-grid{grid-template-columns:1fr} }
.sec9-top-photo img{width:100%;border-radius:1.5rem;display:block}
.sec9-top-lead{font-size:1.75rem;line-height:2.1}
.sec9-top-name{margin-top:2rem;font-size:1.8rem;font-weight:600;color:#001743}
.sec9-top-cta{display:flex;gap:1.6rem;margin-top:2.6rem;flex-wrap:wrap}
.sec9-top-clinic-photos{max-width:132rem;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media screen and (max-width:767px){ .sec9-top-clinic-photos{grid-template-columns:1fr} }
.sec9-top-clinic-photos img{width:100%;height:26rem;object-fit:cover;border-radius:1.5rem;display:block}

/* ===== sec10 : calendar / access (home) ===== */
.sec10-top{background:linear-gradient(160deg,#001743,#12275c);color:#fff;padding:8rem 1.5rem}
.sec10-top-grid{max-width:100rem;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:4rem}
@media screen and (max-width:900px){ .sec10-top-grid{grid-template-columns:1fr} }
.sec10-top-logo{display:flex;align-items:center;column-gap:1em}
.sec10-top-logo .tooth{width:2.4em;height:2.4em;flex-shrink:0}
.sec10-top-logo .tooth path{fill:none;stroke:#D4AB37;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.sec10-top-logo .main{font-size:1.9rem;font-weight:600}
.sec10-top-logo .sub{font-size:1.2rem;color:#C9D4EA;margin-top:.4rem;letter-spacing:.2rem}
.sec10-top-logo .supervise{font-size:1.1rem;color:#D4AB37;margin-top:.5rem;letter-spacing:.05em;font-weight:500}
.sec10-top-tel{font-size:2.6rem;font-weight:600;margin-top:2rem}
.sec10-top-addr{font-size:1.6rem;color:#C9D4EA;margin-top:1rem;line-height:1.8}
.sec10-top-hours{margin-top:2rem;font-size:1.6rem;line-height:2}
.sec10-top-hours .off{color:#D4AB37}

/* ===== sec11 : map (home) ===== */
.sec11-top{padding:0}
.sec11-top iframe{width:100%;height:38rem;display:block;border:0}
@media screen and (max-width:767px){ .sec11-top iframe{height:24rem} }

/* ===== sec13 : guide links (home) ===== */
.sec13-top{background:linear-gradient(160deg,#12275c,#001743);color:#fff;padding:8rem 1.5rem}
.sec13-top .set-tlt-lv1{max-width:132rem;margin:0 auto}
.sec13-top-lead{text-align:center;font-size:1.6rem;color:#C9D4EA;margin-top:1.4rem}
.sec13-top-grid{max-width:132rem;margin:4rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media screen and (max-width:999px){ .sec13-top-grid{grid-template-columns:repeat(2,1fr)} }
@media screen and (max-width:600px){ .sec13-top-grid{grid-template-columns:1fr} }
.sec13-top-grid a{display:flex;align-items:center;column-gap:1.2rem;background:rgba(255,255,255,.06);border:.1rem solid rgba(255,255,255,.2);border-radius:1rem;padding:1.8rem 3.6rem 1.8rem 1.8rem;font-size:1.55rem;line-height:1.5;position:relative;transition:all .3s}
.sec13-top-grid a::after{content:'';position:absolute;top:50%;right:1.6rem;width:.7rem;height:.7rem;border-top:.2rem solid #D4AB37;border-right:.2rem solid #D4AB37;transform:translateY(-50%) rotate(45deg)}
.sec13-top-grid a:hover{background:rgba(255,255,255,.14);opacity:1}

/* ===== footer ===== */
.footer{background:#001743;color:#fff;padding:7rem 1.5rem 0}
.footer-inner{max-width:132rem;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5rem;padding-bottom:5rem;border-bottom:.1rem solid rgba(255,255,255,.15)}
@media screen and (max-width:900px){ .footer-inner{grid-template-columns:1fr;gap:4rem;text-align:center} }
.footer-logo{display:flex;align-items:center;column-gap:.9em}
@media screen and (max-width:900px){ .footer-logo{justify-content:center} }
.footer-logo .tooth{width:2.2em;height:2.2em;flex-shrink:0}
.footer-logo .tooth path{fill:none;stroke:#D4AB37;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.footer-logo .main{font-size:1.7rem;font-weight:600}
.footer-logo .sub{font-size:1.1rem;color:#C9D4EA;margin-top:.3rem;letter-spacing:.2rem}
.footer-logo .supervise{font-size:1rem;color:#D4AB37;margin-top:.4rem;letter-spacing:.05em;font-weight:500}
.footer-tel{font-size:2.4rem;font-weight:600;margin-top:2rem}
.footer-addr{font-size:1.5rem;color:#C9D4EA;margin-top:1rem;line-height:1.8}
.footer-hours{font-size:1.4rem;color:#C9D4EA;margin-top:1rem;line-height:1.9}
.footer-menu-tlt{font-size:1.4rem;letter-spacing:.2rem;color:#D4AB37;border-bottom:.1rem solid rgba(255,255,255,.3);padding-bottom:1rem;margin-bottom:1.6rem}
.footer-menu-link li{font-size:1.45rem;line-height:2.3}
.footer-menu-link a::before{content:'・'}
.footer-bottom{text-align:center;font-size:1.3rem;color:#5A6C93;padding:2rem 0;border-top:.1rem solid rgba(255,255,255,.1);margin-top:3rem}

.scrolltop{width:5rem;height:5rem;background:#2B3D62;border-radius:100%;border:.1rem solid #fff;position:fixed;z-index:10;bottom:2rem;right:2.5rem;cursor:pointer;display:none;align-items:center;justify-content:center;color:#fff;font-size:1.8rem}
@media screen and (max-width:999px){ .scrolltop{bottom:7rem;right:1.5rem} }

.tel-web-social{position:fixed;bottom:0;left:0;right:0;z-index:20;display:none}
@media screen and (max-width:999px){ .tel-web-social{display:grid;grid-template-columns:1fr 1fr} }
@media screen and (max-width:999px){ .tel-web-social.has-line{grid-template-columns:1fr 1fr 1fr} }
.tel-web-social a{display:flex;justify-content:center;align-items:center;padding:1.3rem 1rem;font-size:1.5rem;color:#fff;column-gap:.6rem;min-height:5.4rem;text-align:center}
.tel-web-social .first{background:#001743}
.tel-web-social .mid{background:linear-gradient(90deg,#C29512,#D4AB37)}
.tel-web-social .last{background:#06C755}
.tel-web-social:not(.has-line) .mid{background:linear-gradient(90deg,#C29512,#D4AB37)}

/* ============================================================
   INNER PAGE COMPONENTS
   ============================================================ */
.page-hero{position:relative;margin-top:0;padding:16rem 1.5rem 6rem;text-align:center;color:#fff;background:linear-gradient(160deg,#001743 0%,#12275c 55%,#214994 100%);overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(212,171,55,.15),transparent 60%)}
.page-hero-eng{position:relative;z-index:2;font-size:1.5rem;letter-spacing:.35rem;color:#D4AB37}
.page-hero h1{position:relative;z-index:2;font-size:3.4rem;font-weight:600;margin-top:1rem;letter-spacing:.1rem}
@media screen and (max-width:767px){ .page-hero h1{font-size:2.4rem} .page-hero{padding-top:12rem} }

.breadcrumb{max-width:120rem;margin:0 auto;padding:1.6rem 1.5rem;font-size:1.3rem;color:#8B95AE}
.breadcrumb a{color:#214994}
.breadcrumb a:hover{text-decoration:underline}

.container{max-width:104rem;margin:0 auto;padding:0 1.5rem}
.container-wide{max-width:132rem;margin:0 auto;padding:0 1.5rem}

.pt-section{padding-top:7rem}
.pb-section{padding-bottom:7rem}

.sec-title{text-align:center;margin-bottom:4rem}
.sec-title .eng{display:block;font-size:1.5rem;letter-spacing:.35rem;color:#8B95AE}
.sec-title .ja{display:block;margin-top:.8rem;font-size:2.6rem;font-weight:600;color:#001743}
.sec-title.is-left{text-align:left}

.default-txt{font-size:1.7rem;line-height:2}
.default-txt p+p{margin-top:1.6rem}

.article-lead{font-size:1.8rem;line-height:2.1;color:#333}
.article-toc{background:#F0F4FB;border-radius:1rem;padding:2.6rem 3rem;margin:3.6rem 0}
.article-toc p{font-size:1.5rem;font-weight:600;color:#214994;margin-bottom:1.4rem}
.article-toc ol{counter-reset:toc;display:flex;flex-direction:column;gap:1rem}
.article-toc li{counter-increment:toc;font-size:1.5rem}
.article-toc a{color:#333}
.article-toc a::before{content:counter(toc)".";color:#C29512;font-weight:700;margin-right:.8rem}
.article-toc a:hover{text-decoration:underline}
.article-meta{max-width:120rem;margin:0 auto;padding:0 1.5rem;font-size:1.3rem;color:#8B95AE;margin-top:-1rem;margin-bottom:2rem}
.article-meta .supervisor{background:#214994;color:#fff;padding:.3rem 1rem;border-radius:.4rem;margin-right:.8rem;font-size:1.2rem}

.article-content h2{font-size:2.2rem;font-weight:600;color:#001743;margin-top:5rem;margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:.2rem solid #E9F0FF;position:relative}
.article-content h2::before{content:'';position:absolute;bottom:-.2rem;left:0;width:6rem;height:.2rem;background:#C29512}
.article-content h2:first-child{margin-top:0}
.article-content p{font-size:1.65rem;line-height:2}
.article-content p+p{margin-top:1.6rem}
.article-content ul,.article-content ol{margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem}
.article-content ul + p,.article-content ol + p,.article-content div + p{margin-top:1.6rem}
.article-content ul li{position:relative;padding-left:2.2rem;font-size:1.6rem;line-height:1.8}
.article-content ul li::before{content:'';position:absolute;left:0;top:.8rem;width:.9rem;height:.9rem;border-radius:100%;background:#C29512}
.article-content ol{counter-reset:step;padding-left:0}
.article-content ol li{list-style:none;position:relative;padding-left:3rem;font-size:1.6rem;counter-increment:step}
.article-content ol li::before{content:counter(step);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;background:#214994;color:#fff;border-radius:100%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}
.article-content strong{color:#001743}
.note-box{margin-top:1.6rem;padding:1.6rem 2rem;background:#F0F4FB;border-left:.4rem solid #C29512;font-size:1.4rem;color:#555}

.compare-table-wrap{overflow-x:auto;margin-top:1rem}
.compare-table-wrap table{width:100%;border-collapse:collapse;font-size:1.5rem;min-width:60rem}
.compare-table-wrap th,.compare-table-wrap td{border:.1rem solid #E0E4EA;padding:1.4rem 1.6rem;text-align:center}
.compare-table-wrap thead th{background:#214994;color:#fff}
.compare-table-wrap tbody th{background:#F0F4FB;color:#001743;text-align:left}

.link-cards{display:grid;gap:1.6rem}
.link-cards.cols-2{grid-template-columns:repeat(2,1fr)}
.link-cards.cols-3{grid-template-columns:repeat(3,1fr)}
.link-cards.cols-4{grid-template-columns:repeat(4,1fr)}
@media screen and (max-width:767px){ .link-cards.cols-2,.link-cards.cols-3,.link-cards.cols-4{grid-template-columns:1fr} }
.link-cards li a{position:relative;display:flex;align-items:center;min-height:6.4rem;padding:1.6rem 4rem 1.6rem 2rem;background:#F0F4FB;border:.1rem solid #E0E4EA;border-radius:.8rem;font-size:1.5rem;font-weight:500;color:#001743;line-height:1.6;transition:all .3s}
.link-cards li a::after{content:'';position:absolute;top:50%;right:1.8rem;width:.7rem;height:.7rem;border-top:.2rem solid #214994;border-right:.2rem solid #214994;transform:translateY(-50%) rotate(45deg)}
.link-cards li a:hover{background:#E9F0FF;border-color:#214994;opacity:1}

.article-related{margin-top:6rem}
.article-related .label{text-align:center;font-size:1.4rem;color:#8B95AE;margin-bottom:2rem}

.article-cta{margin-top:6rem;background:linear-gradient(160deg,#12275c,#001743);color:#fff;border-radius:1.5rem;padding:4rem 2rem;text-align:center}
.article-cta p{font-size:1.6rem}
.article-cta-tel{margin-top:1rem;font-size:3rem;font-weight:700}
.article-cta-tel a{color:#fff}
.article-cta .link-button-area{margin-top:2rem}

/* 各セクション末尾の小さめ予約CTA */
.mini-cta{text-align:center;margin-top:3.6rem}
.mini-cta .link-style1{font-size:1.5rem;padding:1.2rem 2.8rem}

.link-button-area{display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap}
.link-button-area.is-left{justify-content:flex-start}
.link-button-area.is-multi{gap:2rem}
.link-button{display:inline-flex;align-items:center;justify-content:center;min-width:22rem;padding:1.5rem 3rem;border-radius:7rem;font-size:1.6rem;font-weight:600;border:.1rem solid #214994;color:#214994;transition:all .3s;text-align:center}
.link-button:hover{background:#214994;color:#fff;opacity:1}
.link-button.is-fill{background:linear-gradient(90deg,#C29512,#D4AB37);border:none;color:#fff}
.link-button.is-fill:hover{filter:brightness(1.08)}
.link-button.is-large{min-width:32rem;padding:1.8rem 3rem;font-size:1.8rem;border:none;cursor:pointer}
button.link-button{font-family:inherit}

/* 予約・相談ページ */
.reservation-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
@media screen and (max-width:767px){ .reservation-quick{grid-template-columns:1fr} }
.reservation-quick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:2.2rem 1.6rem;border-radius:1.2rem;text-align:center;color:#fff;transition:all .3s}
.reservation-quick-btn:hover{filter:brightness(1.06);opacity:1}
.reservation-quick-btn.is-tel{background:linear-gradient(135deg,#214994,#001743)}
.reservation-quick-btn.is-web{background:linear-gradient(90deg,#C29512,#D4AB37)}
.reservation-quick-btn.is-line{background:#06C755}
.reservation-quick-btn-label{font-size:1.7rem;font-weight:700}
.reservation-quick-btn-sub{font-size:1.3rem;opacity:.9}
.reservation-line-note{margin-top:1.6rem;font-size:1.3rem;color:#6b7280;line-height:1.8}

.reservation-message{margin-top:2rem;padding:2rem 2.4rem;border-radius:1rem;font-size:1.5rem;line-height:1.8}
.reservation-message.is-success{background:#EAF6EC;color:#1c6b2e;border:.1rem solid #BEE3C4}
.reservation-message.is-error{background:#FCEAEA;color:#a12b2b;border:.1rem solid #F3C1C1}

.reservation-form{max-width:84rem;margin:3rem auto 0;background:#F7F9FC;border-radius:1.6rem;padding:4rem 3.2rem}
@media screen and (max-width:600px){ .reservation-form{padding:3rem 1.8rem} }
.reservation-field+.reservation-field,.reservation-field-row+.reservation-field{margin-top:2.4rem}
.reservation-field-row{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-top:2.4rem}
@media screen and (max-width:600px){ .reservation-field-row{grid-template-columns:1fr} }
.reservation-field-label{display:block;font-size:1.4rem;font-weight:600;color:#001743;margin-bottom:.8rem}
.reservation-field-label .req{display:inline-block;margin-left:.6rem;font-size:1.1rem;font-weight:600;color:#fff;background:#C0392B;border-radius:.4rem;padding:.1rem .6rem;vertical-align:middle}
.reservation-form input[type=text],.reservation-form input[type=tel],.reservation-form input[type=email],.reservation-form textarea{width:100%;padding:1.2rem 1.4rem;border:.1rem solid #D6DCE6;border-radius:.6rem;font-size:1.5rem;font-family:inherit;background:#fff}
.reservation-form textarea{resize:vertical}
.reservation-radio-group{display:flex;flex-wrap:wrap;gap:1rem 2rem}
.reservation-radio{display:flex;align-items:center;gap:.6rem;font-size:1.4rem}
.reservation-privacy-note{margin-top:3rem;font-size:1.3rem;color:#6b7280;line-height:1.8}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.bottom-cta{margin-top:8rem;padding:6rem 1.5rem;text-align:center;background:linear-gradient(160deg,#001743,#12275c);color:#fff}
.bottom-cta-lead{font-size:1.6rem}
.bottom-cta-tel{margin-top:1.2rem;font-size:3.4rem;font-weight:700}
.bottom-cta-tel a{color:#fff}
.bottom-cta-hours{margin-top:1rem;font-size:1.4rem;color:#C9D4EA}

/* concept / staff greeting */
.greeting-inner,.doctor-greeting-inner{display:grid;grid-template-columns:32rem 1fr;gap:5rem;align-items:center}
@media screen and (max-width:767px){ .greeting-inner,.doctor-greeting-inner{grid-template-columns:1fr} }
.greeting-image img,.doctor-greeting-image img{width:100%;border-radius:1.5rem;display:block}
.greeting-text p,.doctor-greeting-text p{font-size:1.7rem;line-height:2}
.greeting-text p+p,.doctor-greeting-text p+p{margin-top:1.4rem}
.greeting-name,.doctor-sign{margin-top:2rem;font-weight:600;color:#001743}
.greeting-name span{display:block;font-weight:400;font-size:1.3rem;color:#8B95AE;margin-top:.4rem}

.policy-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
@media screen and (max-width:767px){ .policy-list{grid-template-columns:1fr} }
.policy-list li{background:#F0F4FB;border-radius:1.2rem;padding:3rem 2.4rem;text-align:center}
.policy-number{font-family:Georgia,serif;font-size:3.2rem;font-weight:700;color:#C29512}
.policy-list h3{font-size:1.7rem;margin-top:1rem;color:#001743}
.policy-list p{font-size:1.4rem;margin-top:1rem;line-height:1.8}

.clinic-photos-list{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media screen and (max-width:767px){ .clinic-photos-list{grid-template-columns:1fr} }
.clinic-photos-list img{width:100%;height:26rem;object-fit:cover;border-radius:1.2rem;display:block}

.doctor-profile-block+.doctor-profile-block{margin-top:3rem}
.doctor-profile-block h3{font-size:1.8rem;color:#001743;border-left:.4rem solid #C29512;padding-left:1.2rem}
.profile-list{margin-top:1.4rem}
.profile-list li{font-size:1.6rem;padding:1rem 0;border-bottom:.1rem solid #E0E4EA}

/* cases */
.cases-lead{font-size:1.6rem;color:#555}
.cases-list{margin-top:3rem;display:flex;flex-direction:column;gap:2rem}
.cases-list a,.cases-list-inner{display:grid;grid-template-columns:22rem 1fr;gap:2.4rem;align-items:center;background:#F0F4FB;border-radius:1.2rem;padding:1.6rem;transition:all .3s}
@media screen and (max-width:600px){ .cases-list a,.cases-list-inner{grid-template-columns:1fr} }
.cases-list img{width:100%;height:16rem;object-fit:cover;border-radius:.8rem;display:block}
.cases-list-tag{font-size:1.3rem;color:#C29512;font-weight:600}
.cases-list h3{font-size:1.8rem;color:#001743;margin-top:.6rem}
.cases-list-more{margin-top:1rem;font-size:1.4rem;color:#214994;font-weight:600}
.cases-list-soon{margin-top:1rem;font-size:1.4rem;color:#8B95AE}
.cases-list a:hover{background:#E9F0FF;opacity:1}
.cases-notice{margin-top:3rem;font-size:1.4rem;color:#8B95AE;line-height:1.9}
.cases-notice a{color:#214994}

.case-detail-header{text-align:center}
.case-detail-tag{font-size:1.4rem;color:#C29512;font-weight:600}
.case-detail-header h1,.case-detail-header h2{font-size:2.4rem;color:#001743;margin-top:.8rem}
.case-detail-photos{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media screen and (max-width:600px){ .case-detail-photos{grid-template-columns:1fr} }
.case-detail-photos img{width:100%;border-radius:1.2rem;display:block}
.case-detail-photos p{text-align:center;margin-top:1rem;font-weight:600;color:#214994}
.case-detail-info{margin-top:3rem;border-top:.1rem solid #E0E4EA}
.case-detail-info>div{display:grid;grid-template-columns:18rem 1fr;padding:1.6rem 0;border-bottom:.1rem solid #E0E4EA;gap:1rem}
@media screen and (max-width:600px){ .case-detail-info>div{grid-template-columns:1fr} }
.case-detail-info dt{font-weight:600;color:#001743;font-size:1.5rem}
.case-detail-info dd{font-size:1.5rem}
.case-detail-info dd a{color:#214994;text-decoration:underline}
.case-detail-comment{margin-top:3rem;background:#F0F4FB;border-radius:1.2rem;padding:2.6rem}
.case-detail-comment h3{font-size:1.7rem;color:#001743}
.case-detail-comment p{margin-top:1rem;font-size:1.5rem;line-height:1.9}
.case-detail-disclaimer{margin-top:2rem;font-size:1.3rem;color:#8B95AE}
.case-detail-body{margin-top:3rem;font-size:1.65rem;line-height:2}
.case-detail-body p+p{margin-top:1.6rem}

/* access */
.access-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
@media screen and (max-width:900px){ .access-section{grid-template-columns:1fr} }
.access-map iframe{width:100%;height:36rem;border:0;border-radius:1.2rem}
.map-card{width:100%;height:36rem;border-radius:1.2rem;background:linear-gradient(135deg,#001743,#214994);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;color:#fff;text-align:center;padding:2rem}
.map-card svg{width:4rem;height:4rem;opacity:.85}
.map-card p{font-size:1.5rem;line-height:1.8}
.map-card .link-style1{margin-top:.4rem}
.sec11-top .map-card{height:38rem;border-radius:0}
@media screen and (max-width:767px){ .sec11-top .map-card{height:24rem} }
.access-info h2{font-size:2.2rem;color:#001743}
.access-detail{margin-top:2rem}
.access-detail>div{padding:1.6rem 0;border-bottom:.1rem solid #E0E4EA}
.access-detail dt{font-size:1.3rem;color:#8B95AE}
.access-detail dd{margin-top:.4rem;font-size:1.7rem;color:#001743;font-weight:600}
.access-detail dd a{color:#001743}
.hours-table{width:100%;border-collapse:collapse;margin-top:.6rem;font-size:1.4rem}
.hours-table th,.hours-table td{border:.1rem solid #E0E4EA;padding:.8rem;text-align:center}
.hours-table thead th{background:#214994;color:#fff}
.hours-table td.is-short{color:#C29512;font-weight:700}
.hours-note{margin-top:1rem;font-size:1.3rem;color:#8B95AE;line-height:1.8}

/* menu */
.menu-lead{font-size:1.6rem;line-height:2}
.menu-lead .link-button-area{margin-top:2.4rem}
.menu-list{margin-top:4rem;display:flex;flex-direction:column;gap:3rem}
.menu-item-image img{width:100%;border-radius:1.2rem;display:block}
.menu-list>li{display:grid;grid-template-columns:26rem 1fr;gap:3rem;align-items:start;padding-bottom:3rem;border-bottom:.1rem solid #E0E4EA}
@media screen and (max-width:767px){ .menu-list>li{grid-template-columns:1fr} }
.menu-item-tag{font-size:1.3rem;color:#C29512;font-weight:600}
.menu-item-body h3{font-size:2rem;color:#001743;margin-top:.6rem}
.menu-item-desc{margin-top:1rem;font-size:1.5rem;line-height:1.9}
.menu-item-detail{margin-top:1.6rem}
.menu-item-detail>div{display:grid;grid-template-columns:16rem 1fr;padding:.8rem 0;font-size:1.4rem;gap:1rem}
.menu-item-detail dt{color:#8B95AE}
.menu-item-detail dd a{color:#214994}
.menu-item-price{margin-top:1.4rem;font-size:1.9rem;font-weight:700;color:#001743}
.menu-notice{margin-top:5rem;background:#F0F4FB;border-radius:1.2rem;padding:3rem}
.menu-notice h2{font-size:1.8rem;color:#001743}
.menu-notice ul{margin-top:1.6rem;display:flex;flex-direction:column;gap:1rem}
.menu-notice li{font-size:1.4rem;line-height:1.8;padding-left:1.6rem;position:relative}
.menu-notice li::before{content:'・';position:absolute;left:0}
.menu-notice .link-button-area{margin-top:2.4rem}

/* 汎用データテーブル（料金表・比較表・原因表など） */
.article-content table,.price-table{width:100%;margin-top:2.4rem;font-size:1.4rem;border:.1rem solid #E0E4EA;overflow:hidden;border-radius:.8rem}
.article-content .price-table-wrap{overflow-x:auto}
.price-table-wrap{margin-top:3rem;overflow-x:auto}
.article-content table th,.article-content table td,.price-table th,.price-table td{padding:1.4rem 1.6rem;border-bottom:.1rem solid #E0E4EA;text-align:left;line-height:1.6}
.article-content table th,.price-table th{background:#001743;color:#fff;font-weight:600;white-space:nowrap}
.article-content table tr:last-child td,.price-table tr:last-child td{border-bottom:none}
.article-content table tr:nth-child(even) td,.price-table tbody tr:nth-child(even) td{background:#F7F9FC}
.price-table-note{margin-top:1.2rem;font-size:1.3rem;color:#6b7280}
.warranty-box{margin-top:2.4rem;background:#F0F4FB;border-radius:1.2rem;padding:3rem;font-size:1.5rem;line-height:1.9}

/* faq page */
.faq-page-list{display:flex;flex-direction:column;gap:1.2rem}

/* wp core alignment helpers */
.alignwide{max-width:132rem;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
