
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
:root {
  /* メインカラー var(--blue) */
  --blue: #304989;
  /* テーブル見出し行 */
  --th: #F8F8FA;
}

/* ローディングアニメーション */
@keyframes rollImg{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {text-align: left;font-size:1.6rem;font-weight:400;line-height:2;letter-spacing:0.05em;/* color:#222; */margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {color: #222222;line-height: 1;background: #fff;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse;border-spacing: 0;}

form button:hover{ cursor: pointer; cursor: hand; opacity: 0.8; }
.wysiwyg  iframe{ max-width: 100%; }

.fadeCom{opacity: 0; -webkit-transition: 1500ms ease; -o-transition: 1500ms ease; transition: 1500ms ease; -webkit-transform: translate3d(0, 30px, 0) scale(1, 1); -ms-transform: translate3d(0, 30px, 0) scale(1, 1); transform: translate3d(0, 30px, 0) scale(1, 1); -webkit-transition-property: opacity,transform; -o-transition-property: opacity,transform; transition-property: opacity,transform; }
/* ===== 表示 ===== */
.fadeCom__On{-webkit-transform:translate3d(0, 0, 0) scale(1,1); -ms-transform:translate3d(0, 0, 0) scale(1,1); transform:translate3d(0, 0, 0) scale(1,1); opacity: 1; }

/* loading------------------------------------------------ */
#wrap.load{opacity: 1; transition: opacity 1800ms; -moz-transition: opacity 1800ms; -webkit-transition: opacity 1800ms; -o-transition: opacity 1800ms; }
#com_loading__box {height: 100%; width: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 99999999999999; -webkit-transition: all 400ms;   -o-transition: all 400ms;  -moz-transition: all 400ms;   transition: all 400ms; }
/*プログレスバー*/
#com_loading {width: 0; height: 5px; background: var(--blue); position: fixed; top: 0; left: 0; -webkit-transition: all 0.2s linear 0s;    -o-transition: all 0.2s linear 0s;  -moz-transition: all 0.2s linear 0s;   transition: all 0.2s linear 0s; }
#com_loading__img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate( -50%,-50% ); -ms-transform: translate( -50%,-50% ); transform: translate( -50%,-50% );  width: auto; }
/*確認画面と完了画面を非表示*/ .confirm_area, .thanks_area { display: none; }
/*デフォルトのサンクスメッセージを非表示*/ .wpcf7-response-output{ display: none; }
#systmttl{ display: none;}

.f-gothic {font-family: "Noto Sans JP", sans-serif; font-style: normal;}
.f-min {font-family: "Shippori Mincho B1", serif;}
.f-en{ font-family: "Cormorant Garamond", serif; }

p:has(.w-str-text) { margin-bottom: 0!important; }

.cl-text{ }
.cl-text .red{ color: var(--blue);}
.cl-text .blue{ color: var(--blue); }

.cl-text2{ }
.cl-text2 .wred{ color: #FCDDE0;}
.cl-text2 .wblue{ color: #D6E2F7; }

.wysiwyg strong{ font-weight: bold; }

span.hl {font-weight:700;background:linear-gradient(transparent 20%, #FFDDDD 20%);}

/* 写真共通アニメーション */
.reveal-box {position:relative;overflow:hidden;}
.reveal-box img {display:block;width:100%;height:100%;object-fit:cover;filter:blur(40px);opacity:0;will-change:filter,opacity;-webkit-mask-image:radial-gradient(circle at 0% 0%,black 0%,transparent 0%);mask-image:radial-gradient(circle at 0% 0%,black 0%,transparent 0%);}
.doctor-source{display:none;}

/* タイトルアニメーション */
.blur-in {opacity:0;will-change:filter,transform,opacity;}
.blur-in.is-active {animation:blurInBlur 1.2s cubic-bezier(0.16,1,0.3,1) forwards;}
.blur-in.delay1.is-active {animation-delay:.15s;}
.blur-in.delay2.is-active {animation-delay:.3s;}
.blur-in.delay3.is-active {animation-delay:.45s;}

@keyframes blurInBlur{
0%{opacity:0;filter:blur(10px);transform:translateY(14px) scale(.98);}
100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1);}
}


@media screen and (min-width: 768px), print {
.sp-bgimages{ display: none;}
html {font-size: clamp(53.5%, 0.833vw, 62.5%); }
.onecol-contents{position: relative;max-width: 1114px;padding: 120px  5rem 0;margin: 0 auto;}

main{}


/* bese */
body {font-size: 1.6rem;overflow-x: hidden;line-height: 1.6;letter-spacing: 0.8px;padding-top: 10rem!important;}
body::before{}
header{ text-align: left;padding: 3.6rem 0 0 4rem;z-index: 13;position: fixed;width: 100%;min-height: 10rem;background: rgba(255,255,255,0.5);top: 0;backdrop-filter: blur(5rem);-webkit-backdrop-filter: blur(5rem);}
header .inner-box{position: relative;height: auto;/* min-height: 760px; */padding: 4rem 5.6rem;background: #fff;border-radius: 0rem 6rem 0 0rem;}
header .h-logo{display: inline-block;width: clamp(8.9rem, 7.24vw, 13.9rem);}
header .h-logo img{width:100%;height:auto;display:block;}
header .gl-navi{font-size: clamp(1.2rem, 1.1vw, 1.5rem);line-height: 1;letter-spacing: 0.05em;font-weight: 500;color: #222;display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;flex-wrap: nowrap;justify-content: flex-end;gap: 0 clamp(1.2rem, 1.25vw, 2.4rem);position: absolute;top: 44px;left: calc(5.6rem + clamp(16rem, 13.02vw, 25rem));right: 17.5rem;z-index: 3;}
header .gl-navi li {margin: 0;}
header .gl-navi li a{ transition: all 0.3s ease-in-out;}
header .gl-navi li a:hover{ color: var(--blue); }
header .h-clinic-wrap{}

header #h-clinic{position:relative;right:-9.3rem;}
header #h-clinic a{font-size:1.3rem;line-height:2.5;letter-spacing:0.05em;font-weight:500;color:#fff;display:block;width:12.7rem;height:3.5rem;background:var(--blue);text-align:center;border:var(--blue) 1px solid;transition:all 0.3s ease-in-out;}
header #h-clinic a:hover{color:var(--blue);background:#fff;}
header .h-clinic-wrap.is-open #h-clinic a{ color:var(--blue); background:#fff; }
header #h-clinic-list{display:none;position:absolute;top:6rem;right:2.4rem;background:#fff;width:22rem;height: 13.4rem;padding:2.4rem 2.2rem 2.2rem 4.6rem;box-shadow:0 0 2rem #0000000D;z-index:1000;}
header #h-clinic-list::after{content:"";position:absolute;top:-3rem;left:0;width:100%;height:3rem;background:transparent;}
header #h-clinic-list::before{content:"";position:absolute;top:-1.6rem;right:5.1rem;background:url(../images/common/uparr.svg) no-repeat;background-size:100% auto;width:2.3rem;height:1.6rem;}
header #h-clinic-list ul li{font-size:1.5rem;line-height:1.5;letter-spacing:0.05em;font-weight:500;color:#222;margin-bottom:0.8rem;position:relative;}
header #h-clinic-list ul li::before{content:"";position:absolute;top:0.8rem;left:-1.4rem;width:0.7rem;height:0.7rem;background:var(--blue);border-radius:50%;}
header #h-clinic-list ul li a{transition:all 0.3s ease-in-out;}
header #h-clinic-list ul li a:hover{color:var(--blue);}
.h-clinic-wrap{position: absolute;width: 22rem;top: 3.4rem;right: 2.4rem;}
#h-clinic-list{ display: none; position: absolute; top: 100%; left: 0; z-index: 1000; }

#pc-glnavi,#pc-glnavi .h-menu{display: block;}
#pc-glnavi,#pc-menu-open { display: none;}


/* ==========================================
   共通ボタン*/

.bluebtn{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding: 1.6rem 1.6rem 1.6rem 2.3rem;border:1px solid var(--blue);color:#fff;text-decoration:none;font-size: 1.6rem;font-weight:700;letter-spacing:.05em;box-sizing:border-box;background:var(--blue);cursor:pointer;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,border-color .3s ease,color .3s ease,padding .3s ease;position: relative;cursor: pointer;}
.bluebtn:hover{background-color:#fff;border-color:var(--blue);color:var(--blue); padding-left:15px;}

.bluebtn .arr{position:relative;width:32px;height:32px;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;background-color: rgba(255,255,255,1);overflow:hidden;transition:transform .6s cubic-bezier(.16,1,.3,1),background-color .3s ease;transform:scale(1);}
.bluebtn:hover .arr{transform:scale(1.1);background-color:var(--blue);}
a.bluebtn[href^="#"] .arr{transform:rotate(90deg);transform-origin:center;}
a.bluebtn[href^="#"]:hover .arr{transform:rotate(90deg) scale(1.1);}

.bluebtn .arr img{width:8px;height:10px;display:block;position:relative;z-index:2;transition:filter .3s ease;}
.bluebtn .arr::after{content:"";position:absolute;top:50%;left:-20px;width:8px;height:10px;background:url(../images/common/arr.svg) no-repeat center center;background-size:100% auto;transform:translateY(-50%);z-index:2;opacity:0;transition:filter .3s ease;}

.bluebtn:hover .arr img{animation:blueBtnArrowOut .5s cubic-bezier(.4,0,.2,1) forwards;filter:brightness(0) invert(1);}
.bluebtn:hover .arr::after{animation:blueBtnArrowIn .5s cubic-bezier(.4,0,.2,1) forwards;filter:brightness(0) invert(1);}

.bluebtn.is-hovered:not(:hover) .arr img{animation:blueBtnArrowBackOut .5s cubic-bezier(.4,0,.2,1) forwards;}
.bluebtn.is-hovered:not(:hover) .arr::after{animation:blueBtnArrowBackIn .5s cubic-bezier(.4,0,.2,1) forwards;}

.linebtn{border: 1px solid #06C755;background: #06C755;color:#fff;}
.linebtn .arr{background:#fff;border:none;}
.linebtn .arr img,
.linebtn .arr::after{filter:brightness(0) saturate(100%) invert(56%) sepia(72%) saturate(548%) hue-rotate(93deg) brightness(97%) contrast(101%);}
.linebtn:hover{background:#05b34c;border-color:#05b34c;color:#fff;}
.linebtn:hover .arr{background:#fff;transform:scale(1);}
.linebtn:hover .arr img,
.linebtn:hover .arr::after{filter:brightness(0) saturate(100%) invert(56%) sepia(72%) saturate(548%) hue-rotate(93deg) brightness(97%) contrast(101%);}

@keyframes blueBtnArrowOut{0%{transform:translateX(0);opacity:1;}100%{transform:translateX(20px);opacity:0;}}
@keyframes blueBtnArrowIn{0%{left:-20px;opacity:0;}35%{opacity:0;}100%{left:50%;transform:translate(-50%,-50%);opacity:1;}}

@keyframes blueBtnArrowBackOut{0%{transform:translateX(0);opacity:0;}1%{transform:translateX(20px);opacity:0;}100%{transform:translateX(0);opacity:1;}}
@keyframes blueBtnArrowBackIn{0%{left:50%;transform:translate(-50%,-50%);opacity:1;}65%{opacity:0;}100%{left:-20px;transform:translateY(-50%);opacity:0;}}

.whitebtn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;color:var(--blue);}
.whitebtn__text{font-size:1.4rem;font-weight:700;letter-spacing:.05em;transform:translateX(0);transition:transform .6s cubic-bezier(.16,1,.3,1);}
.whitebtn__circle{position:relative;width: 4rem;height: 4rem;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;}
.whitebtn__circle-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:#ECEDF2;border:1px solid #ddd;border-radius:50%;box-sizing:border-box;z-index:1;transform:scale(1);transition:transform .6s cubic-bezier(.16,1,.3,1);}
.whitebtn__arrow{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center;z-index:2;}
.whitebtn__arrow img{width:8px;height:auto;display:block;animation:whitebtnArrowOut .45s cubic-bezier(.4,0,.2,1) forwards;}
.whitebtn__border{position:absolute;top:0;left:0;width: 4rem;height: 4rem;transform:rotate(-90deg) scale(1);transform-origin:center;pointer-events:none;z-index:3;transition:transform .6s cubic-bezier(.16,1,.3,1);}
.whitebtn__border circle{fill:none;stroke:#2b3087;stroke-width:1;stroke-dasharray:122.5;stroke-dashoffset:122.5;stroke-linecap:round;transition:stroke-dashoffset .4s cubic-bezier(.25,1,.5,1);}

.whitebtn:hover .whitebtn__text{transform:translateX(-6px);}
.whitebtn:hover .whitebtn__circle-bg{transform:scale(1.1);}
.whitebtn:hover .whitebtn__border{transform:rotate(-90deg) scale(1.1);}
.whitebtn:hover .whitebtn__border circle{stroke-dashoffset:0;transition:stroke-dashoffset .45s cubic-bezier(.16,1,.3,1);}
.whitebtn:hover .whitebtn__arrow img{animation:whitebtnArrowIn .5s cubic-bezier(.4,0,.2,1) forwards;}

@keyframes whitebtnArrowIn{0%{transform:translateX(0);opacity:1;}35%{transform:translateX(24px);opacity:0;}36%{transform:translateX(-24px);opacity:0;}100%{transform:translateX(0);opacity:1;}}
@keyframes whitebtnArrowOut{0%{transform:translateX(0);opacity:1;}35%{transform:translateX(-24px);opacity:0;}36%{transform:translateX(24px);opacity:0;}100%{transform:translateX(0);opacity:1;}}


a.card-btn{display:flex;align-items:center;gap:5.7803%;border: 1px solid #DDDDDD;background: #fff;}
a.card-btn::before{content:"";display:block;width: 1rem;height: 1rem;background: url(../images/common/arr02.svg)no-repeat bottom right;position:absolute;bottom: 0.8rem;right: 0.8rem;transition: all 0.3s ease-in-out;}
a.card-btn:hover::before{bottom:0.5rem; right: 0.5rem;}
a.card-btn figure.photo{position:relative;top:0;left:0;width:34.6829%;}
a.card-btn figure.photo img{ width: 100%; height: auto; }
a.card-btn .text-Box{position:relative;width:59.5368%;display:flex;flex-direction:column;justify-content:center;padding-right: 1rem;}



/* ==========================================
   共通ボタン*/

.corettl{text-align: center;margin-bottom: 5.6rem;color: var(--blue);}
.corettl span.f-min{position: relative;font-size:1.8rem;font-weight:500;line-height:1.5;letter-spacing:0;display: block;margin-bottom: 2rem;text-align: center;}
.corettl span.f-min::before{content:"";width: 0.8rem;height: 0.8rem;border-radius: 50%;background: var(--blue);display: inline-block;margin-right: 1rem;position: relative;top: -0.4rem;}

.corettl span.f-en{font-size:7.2rem;font-weight:400;line-height:1;letter-spacing:0em;display: block;text-align: center;}

ul.note {margin: 0;padding: 0;}
ul.note li {position:relative;padding-left: 1.6rem;margin-bottom: 0.5rem;font-size:1.2rem;line-height:1.6;}
ul.note li:last-child {margin-bottom: 0;}
ul.note li::before {content:"※";position:absolute;left:0;top:0;}
ul.note a {color:var(--blue);text-decoration:underline;}
#contentprice ul.note li {color:#fff;}

ul.dotlist {margin: 0;padding: 0;}
ul.dotlist li {position:relative;padding-left: 1.2rem;margin-bottom: 0.5rem;line-height:1.6;}
ul.dotlist li:last-child {margin-bottom: 0;}
ul.dotlist li::before,
#contentprice .inBox2 ul li::before,
#contentprice .inBox4 ul li::before,
#contentprice .inBox2 p.ltext::before {content:"";position:absolute;left:0;top: 0.5lh;width: 0.7rem;height: 0.7rem;border-radius:50%;transform: translateY(-50%);}
ul.dotlist li::before {background:var(--blue);}

#contentsmain .text-Box .inBox {width:100%;margin: 0 auto;text-align: center;padding: 8rem;}
#contentsmain .text-Box h1 {margin-bottom: 2.4rem;position: relative;color: #fff;}
#contentsmain .text-Box h1 span.mini {position: relative;font-size:1.8rem;font-weight:500;line-height:1.5;letter-spacing:0;display: block;margin-bottom: 2rem;text-align: center;color:#fff;}
#contentsmain .text-Box h1 span.mini::before{content:"";width: 0.8rem;height: 0.8rem;border-radius: 50%;background: #fff;display: inline-block;margin-right: 1rem;position: relative;top: -0.4rem;}
#contentsmain .text-Box h1 span.f-min {text-align: center;font-size: 4.2rem;font-weight:400;line-height:1.5;letter-spacing:0em;display: block;}
#contentsmain .text-Box p.text {margin-bottom: 4.8rem;position: relative;text-align: center;font-size:1.6rem;line-height:2.188;color: #fff;}

.counseling-Box{background: url(../images/common/cmback01.png)repeat bottom center,transparent linear-gradient(180deg, #2F3250 0%, #576181 100%) 0% 0% no-repeat padding-box;overflow: hidden;position: relative;padding: 4.8rem 5.6rem 5.6rem;width: 100%;max-width: 120rem;margin: 0 auto;}
.counseling-Box::before{content:"";background: url(../images/cataract/contentsmain-icon.png) no-repeat top center;width: 41.8rem;height: 41.8rem;position: absolute;top: -20rem;left: -12rem;z-index: 0;display: block;background-size: 100%;transform-origin:center center;animation:rollImg 40s linear infinite;}
.counseling-Box h5 {margin-bottom: 1.6rem;position: relative;text-align: center;font-size:2.4rem;font-weight:700;line-height:1.5;color:#fff;}
.counseling-Box p.counstext {margin-bottom: 3.2rem;position: relative;text-align: center;font-size:1.6rem;line-height:2;color:#fff;}
.counseling-Box .linebox{width: 30rem;margin: 0 auto;position:relative;z-index:3;}

#contentprice{background: url(../images/common/cmback01.png) repeat bottom center #2F3250;}
#contentprice .inBox2 h4 {margin-bottom: 2.2rem;border-bottom: #8B8E9F 1px solid;font-size:2.2rem;font-weight:700;line-height:1.591;color:#fff;padding-bottom: 1.4rem;}
#contentprice .inBox2 h4 + ul {margin-bottom: 1.1rem;}
#contentprice ul.dotlist {font-size:1.6rem;color:#fff;}
#contentprice ul.dotlist li::before,
#contentprice .inBox2 ul li::before,
#contentprice .inBox4 ul li::before,
#contentprice .inBox2 p.ltext::before {background:#fff;}
#contentprice .inBox2 ul li:has(p.ltext)::before,
#contentprice .inBox4 ul li:has(p.ltext)::before {content: none;}
#contentprice .inBox2 p.ltext {position: relative;padding-left: 1.6rem;font-size:1.6rem;line-height:1.6;color:#fff;}
#contentprice .inBox5 .risk-item h5 {color:#fff177;}
#contentprice .inBox5 .risk-item h5::before {content:"";position:absolute;left:0;top: 0.5lh;width: 0.6rem;height: 0.6rem;border: #fff177 2px solid;border-radius:50%;transform: translateY(-50%);}
#contentprice .inBox5 .risk-item p {font-size:1.6rem;line-height:1.8;color:#fff;}
#contentprice .inBox5 p.midttl {margin-bottom: 1.6rem;font-size:2rem;font-weight:700;line-height:1.5;color:#fff;}
#contentprice .inBox5 .risk-item {margin-bottom: 2.4rem;}
#contentprice .inBox5 .risk-item:last-child {margin-bottom: 0;}
#contentprice .inBox2 p.mmtext,
#contentprice .inBox4 p.mmtext,
#contentprice .inBox5 p.mmtext {position:relative;padding-left: 1.6rem;font-size:1.2rem;line-height:1.5;color:#fff;}
#contentprice .inBox2 p.mmtext::before,
#contentprice .inBox4 p.mmtext::before,
#contentprice .inBox5 p.mmtext::before {content:"※";position:absolute;top: 0;left: 0;}

#contentprice .inBox1 .pri-list {display:grid;grid-template-columns:repeat(2,1fr);gap: 1.6rem;margin-bottom: 2.4rem;}
#contentprice .inBox1 .pri-list li {background:#fff;padding: 2.4rem;}
#contentprice .inBox1 .pri-list h3 {margin-bottom: 1.2rem;font-size:1.6rem;font-weight:700;line-height:1.5;}
#contentprice .inBox1 .pri-list .pri-text {text-align:left;}
#contentprice .inBox1 .pri-list .pri-text span.min {display:inline-block;margin-left: 0.8rem;position:relative;top: -0.4rem;font-size:1.4rem;line-height:1;}
#contentprice .inBox1 .pri-list .pri-text span.pri {font-size:3.2rem;font-weight:700;line-height:1;letter-spacing:0;color:var(--blue);}
#contentprice .inBox1 .pri-list .pri-text span.yen {font-size:2rem;font-weight:700;line-height:1;color:var(--blue);}

#contentsfeature .inner-Box h3 .num,
#contentsoption .hydrus-Box h4 .num {position:relative;flex-shrink:0;padding-right: 1.6rem;font-size:3rem;line-height:1;font-weight:400;transform: translateY(-0.3rem);}
#contentsfeature .inner-Box h3 .num::after,
#contentsoption .hydrus-Box h4 .num::after {content:"";position:absolute;right:0;bottom: 0;width:1px;height:0.8em;background:var(--blue);}

.flow-Box {margin: 0 auto;position: relative;padding-left: 11.7rem;padding-bottom: 4.1rem;}
.flow-Box::before{ content: ""; position: absolute; top: 0; left: 3.5rem; width:2px; height: 100%; background: url(../images/first-visit/line.svg)repeat; }
.flow-Box:last-child,
#contentsflow .flow-Box:last-child {padding-bottom: 0;}
.flow-Box:last-child::before{ content: none; }
.flow-Box p.notext {margin-bottom: 0;position: absolute;top: 0;left: 0;display: block;width: 7.2rem;height: 7.2rem;border: 1px solid #DDDDDD;border-radius: 50%;background: #F8F8FA;text-align: center;padding-top: 1.5rem;color: var(--blue);line-height: 1;}
.flow-Box p.notext span.step {display: block;font-size: 1.2rem;margin-bottom: -0.7rem;text-align: center;}
.flow-Box p.notext span.no {font-size: 3.2rem;}
.flow-Box p.notext.ope{ background: var(--blue); color: #fff; }
.flow-Box h3 {margin-bottom: 1.2rem;font-size:2rem;font-weight:700;line-height:1.5;color:var(--blue);}
.flow-Box p.text {margin-bottom: 0;font-size:1.6rem;line-height:1.813;}
.flow-Box .tblls {margin-bottom: 1.6rem;}

.scrollable {position: relative;overflow-x: auto;-webkit-overflow-scrolling: touch;}
.scrollable table,
.scrollable .tblls {width: max-content;min-width: 100%;}
.scrollable th,
.scrollable td {white-space: nowrap;}
.tblls {width:100%;border-collapse:collapse;font-size:1.6rem;letter-spacing:0;line-height:1.5;}
.tblls th,
.tblls td {border: 1px solid #DDD;padding: 1rem;vertical-align:middle;letter-spacing:0;}
.tblls th {background:#F8F8FA;font-weight:700;text-align:center;}
.tblls td {background:#fff;}

#contentsendtel .inner-Box p.text1 {margin-bottom: 3.2rem;}
#contentsendtel .inner-Box ul {margin-bottom: 3.2rem;}
#contentsendtel .inner-Box p.text2 {text-align:center;font-size:1.4rem;line-height:1.786;}
#contentsendtel .inner-Box p.text2::before{content:"※";}

#mainttl{border-radius: 0;background: url(../images/common/cmback01.png)repeat bottom center, transparent linear-gradient(180deg, #F7F7F7 0%, #E4E7F0 100%) 0% 0% no-repeat padding-box;text-align: center;padding: 8.5rem 0 34rem 0;overflow: hidden;position: relative;}
#mainttl::before{background: url(../images/common/ttl-bttomback.svg)no-repeat top center;width:100%;height: 10.4vw;content:"";position:absolute;bottom:0;left:0;z-index:0;display: block;background-size: cover;z-index: 3;}
#mainttl .inner-Box{padding: 3.5rem 5vw 0;position: relative;}
#mainttl .inner-Box::before{content:"";background: url(../images/common/c-rollimg01.png) no-repeat top center;width: 54.6rem;height: 54.6rem;position: absolute;top: -26rem;right: -21rem;z-index: 0;display: block;background-size: 100%;transform-origin:center center; animation:rollImg 40s linear infinite;}
#mainttl .inner-Box::after{content:"";background: url(../images/common/c-rollimg01.png) no-repeat top center;width: 43.6rem;height: 43.6rem;position: absolute;top: 15rem;left: 9rem;z-index: 0;display: block;background-size: 100%;transform-origin:center center;animation:rollImg 40s linear infinite;}

#mainttl .en{margin-bottom: -0.4rem;display: block;font-size: 8rem;line-height: 1;letter-spacing: 0em;font-weight: 400;color: var(--blue);text-align: center;}
#mainttl .en span{color: var(--blue);}
#mainttl .page-title {margin: 0 0 2.4rem 0;font-size: 2rem;line-height: 1.5;letter-spacing: 0.03em;font-weight: 500;color: var(--blue);text-align: center;display: block;}
#mainttl .page-title::before{content:"";position: relative;top: -0.4rem;left: 0;width: 0.8rem;height: 0.8rem;background:var(--blue);border-radius:50%;display: inline-block;margin-right: 0.9rem;}

#mainttl .page-caption {}


/* ==========================================
   下層メインタイトルアニメ
========================================== */
#mainttl .inner-Box{ text-align:center; color:var(--blue); -webkit-font-smoothing:antialiased; }
#mainttl .main-title .jp{ display:block; margin:0 0 1.6rem; will-change:filter,transform,opacity; animation:blurInBlur 1.2s cubic-bezier(.16,1,.3,1) forwards; }

#mainttl .main-title .en{ display:block; opacity:0; will-change:filter,transform,opacity; animation:blurInBlur 1.4s cubic-bezier(.16,1,.3,1) .15s forwards; }
#mainttl .seo_bread_list{opacity:0;will-change:filter,transform,opacity;animation:blurInBlur 1.2s cubic-bezier(.16,1,.3,1) .3s forwards;position: relative;z-index: 3;}
#mainttl .seo_bread_list a{transition:color .3s ease;margin-right: 2.4rem;position: relative;}
#mainttl .seo_bread_list a:hover{ color:#2b3087; }
/* TOPだけ英字 */
#mainttl .seo_bread_list .home .f-en{ letter-spacing:.05em; display:inline-block; }

.clinic-common-list ul.clinic-list {display:grid;grid-template-columns:repeat(3,32%);gap:2%;}
.clinic-common-list ul.clinic-list li {position:relative;}
.clinic-common-list ul.clinic-list li a {display: block;position: relative;padding: 0 0 0 2.5rem;}
.clinic-common-list ul.clinic-list li a:hover {  }
.clinic-common-list ul.clinic-list p.actext {writing-mode:vertical-rl;text-orientation:upright;text-align: left;font-size:1.3rem;font-weight:400;line-height:1.077;letter-spacing:0em;color:var(--blue);position: absolute;top: 0;left: 0;z-index: 3;}
.clinic-common-list ul.clinic-list figure.photo {position: relative;top: 0;left: 0;margin-bottom: 1.6rem;}
.clinic-common-list ul.clinic-list figure.photo img{ width: 100%; height: auto; }
.clinic-common-list ul.clinic-list h3 {margin-bottom: 1.2rem;position: relative;text-align: left;font-size:2.2rem;font-weight:700;line-height:1.591;letter-spacing:0.05em;color:var(--blue);}
.clinic-common-list ul.clinic-list p.ltext {margin-bottom: 1.6rem;position: relative;text-align: left;font-size:1.5rem;font-weight:400;line-height:1.8;letter-spacing:0.05em;color:#222;}
.clinic-common-list ul.clinic-list p.bbb{ position: relative; font-size: 1.4rem; line-height: 1; letter-spacing: 0.05em; font-weight: 700; text-align: right; color: var(--blue); }
.clinic-common-list ul.clinic-list p.bbb .whitebtn__circle{display: inline-block;top: 1.3rem;margin-left: 0.6rem;}
.clinic-common-list ul.clinic-list p.bbb .whitebtn__circle-bg{background: #fff;}


#doctor-modal {display:none;position:fixed;inset:0;z-index:9999;}
#doctor-modal .doctor-overlay {position:absolute;inset:0;background:rgba(0,0,0,.75);}
#doctor-modal .doctor-window {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:90rem;height:90vh;overflow:hidden;}
#doctor-modal .doctor-scroll {width:100%;height:100%;}
#doctor-modal .doctor-body {width:100%;height:100%;padding:0;box-sizing:border-box;}
#doctor-modal .doctor-source {width:100%;height:100%;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:#9a9a9a #e6e6e6;}
#doctor-modal .doctor-source::-webkit-scrollbar {width: 8px;}
#doctor-modal .doctor-source::-webkit-scrollbar-track {background:#e6e6e6;}
#doctor-modal .doctor-source::-webkit-scrollbar-thumb {background:#9a9a9a;border-radius: 4px;}
#doctor-modal .doctor-source .box {width:100%;height:auto;overflow:visible;padding: 0;box-sizing:border-box;}
html.modal-open,
body.modal-open {overflow:hidden;overscroll-behavior:none;}

#doctor-modal .doctor-close {position:fixed;top: -0.2rem;right: 7.3rem;width: 2.6rem;height: 2.6rem;border:none;border-radius:50%;cursor:pointer;z-index:10001;font-size:2.6rem;line-height:1;transition:.3s;background: none;padding: 0;}
#doctor-modal .doctor-prev,#doctor-modal .doctor-next {position:fixed;top:50%;width: 5rem;height: 5rem;border:none;border-radius:50%;background:#fff;cursor:pointer;z-index:10001;transition:.3s;box-shadow:0 0 2rem rgba(0,0,0,.2);margin-top: -2.5rem;}
#doctor-modal .doctor-prev img,#doctor-modal .doctor-next img{width: 1.1rem;}
#doctor-modal .doctor-prev {left: 2.7rem;transform: scale(-1, 1);}
#doctor-modal .doctor-next {right: 3rem;}
#doctor-modal .doctor-prev:hover,#doctor-modal .doctor-next:hover {background:var(--blue);}
#doctor-modal .doctor-prev:hover img,#doctor-modal .doctor-next:hover img {-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
#doctor-modal .doctor-source{background: #fff;padding: 4rem;max-width: 68rem;margin: 0 auto;width: 100%;}
#doctor-modal .doctor-source .maincap{ width: 100%; }
#doctor-modal .doctor-source .maincap img{ width: 100%; }

#doctor-modal .doctor-close img{-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);width: 2.5rem;}
#doctor-modal .box .doctor-close{position: relative;top: 0;left: 0;width: auto;text-align: center;text-decoration:underline;font-size:1.4rem;font-weight:400;line-height:1;letter-spacing:0.05em;color:var(--blue);padding-top: 2rem;padding-bottom: 4rem;}
#doctor-modal .box .doctor-close img{-webkit-filter: none;filter: none;margin-right: 1rem;width: 1.2rem;}
#doctor-modal .prf{ }
#doctor-modal .prf h3{background: #ECEDF2;text-align: left;font-size:2.4rem;font-weight:700;line-height:1.5;letter-spacing:0.05em;color:#222;padding: 1.6rem 2.4rem;margin-bottom: 2.4rem;}
#doctor-modal .prf h3 span{text-align: left;font-size:1.6rem;font-weight:400;line-height:1.813;letter-spacing:0.05em;color: var(--blue);position: relative;left: 1.2rem;top: -0.3rem;}
#doctor-modal h4{text-align: left;border-bottom: #CCC solid 1px;margin-bottom: 2.4rem;font-size: 2.2rem;line-height: 1.6;letter-spacing: 0.05em;font-weight: 700;color: #222222;padding-bottom: 1.7rem;position: relative;}
#doctor-modal h4::before{content: "";display: block;width: 8rem;height: 1px;background: var(--blue);border-radius: 0;position: absolute;bottom: -1px;left: 0;}
#doctor-modal p.text{ text-align:left;font-size:1.6rem;font-weight:400;line-height:1.813;letter-spacing:0.05em;color:#222; }

#doctor-modal .prf .job{text-align: left;font-size:1.6rem;font-weight:400;line-height:1.813;letter-spacing:0.05em;color:#222;margin-bottom: 3.2rem;}
#doctor-modal ul.doctor-member-list{margin-bottom: 3.2rem;}
#doctor-modal ul.doctor-member-list li {position: relative;padding-left: 1rem;margin-bottom: 0.5rem;}
#doctor-modal ul.doctor-member-list li::before {content: "";position: absolute;left: 0rem;width: 0.7rem;height: 0.7rem;border-radius: 50%;background: var(--blue);top: 0.5lh;transform: translateY(-50%);}



#doctor-modal .slick-dotted.slick-slider {margin-bottom: 5.9rem;}
#doctor-modal .slick-dots {position: absolute;bottom: -3.5rem;display: block;width: 100%;padding: 0;margin: 0;list-style: none;text-ali;text-align: center;px;}
#doctor-modal .slick-dots li {position: relative;display: inline-block;height: 1rem;width: 1rem!important;margin: 0 0.4rem!important;padding: 0;cursor: pointer;left: 0vw;top: 0!important;}
#doctor-modal .slick-dots li button {font-size: 0;line-height: 0;display: block;border-radius: 50%;width: 1rem;height: 1rem;padding: 0.0vw;cursor: pointer;color: transparent;border: 0;outline: none;background: transparent;background: #D6DBE6;}
#doctor-modal .slick-dots li button:hover, #doctor-modal .slick-dots li button:focus { outline: none; }
#doctor-modal .slick-dots li button:hover:before, #doctor-modal .slick-dots li button:focus:before { opacity: 1; }
#doctor-modal .slick-dots li button:before {border-radius: 50%;font-family: 'slick';position: absolute;top: 0;left: 0;content: '';text-align: center;opacity: .25;color: black;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
#doctor-modal .slick-dots li.slick-active button {background: var(--blue);}


#doctor-list .top-box{margin: 0 auto;padding: 0 4rem;}
#doctor-list .top-box h2{font-size: 2.8rem;line-height: 1.6;letter-spacing: 0;font-weight: 500;text-align: center;margin-bottom: 54px;}
#doctor-list .top-box ul{ display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#doctor-list .top-box ul li{width: 32.1%;margin-right: 1.8%;position: relative;padding-bottom: 27px;margin-bottom: 56px;padding-left: 2rem;cursor: pointer;}
#doctor-list .top-box ul li:nth-child(3n){ margin-right: 0; }
#doctor-list .top-box ul li figure{ }
#doctor-list .top-box ul li figure {width: 100%;aspect-ratio: 378 / 253;overflow: hidden;text-align: center;margin-bottom: 1.7rem;position: relative;}
#doctor-list .top-box ul li figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
#doctor-list .top-box ul li p.job{text-align: left;font-size:1.2rem;font-weight:400;line-height:1.583;letter-spacing:0.05em;color:#666;margin-bottom: 0.6rem;}
#doctor-list .top-box ul li p.en{text-align: left;font-size:1.4rem;font-weight:400;line-height:1;letter-spacing:0em;color:var(--blue);position: absolute;top: 0;left: 1rem;transform: rotate(90deg);transform-origin: top left;}
#doctor-list .top-box ul li p.comment{text-align: left;font-size:1.5rem;font-weight:400;line-height:1.8;letter-spacing:0.05em;color:#222;margin-bottom: 1.5rem;}
#doctor-list .top-box ul li h3{text-align: left;font-size:2.2rem;font-weight:700;line-height:1.591;letter-spacing:0.05em;color:var(--blue);margin-bottom: 0.6rem;}
#doctor-list .top-box ul li p.pluse{text-align: left;font-size:1.4rem;font-weight:700;line-height:1;letter-spacing:0.05em;color:var(--blue);text-align: right;}
#doctor-list .top-box ul li p.pluse span{width: 4rem;height: 4rem;display: inline-block;border-radius: 50%;border: 1px solid #DDDDDD;background: #ECEDF2;text-align: center;padding-top: 1rem;margin-left: 0.6rem;position: relative;top: -0.1rem;transform: rotate(360deg); transform-origin: center;transition: all 0.3s ease-in-out;}
#doctor-list .top-box ul li:hover p.pluse span{transform: rotate(0deg);}

.noslug{ font-size: 1.4rem;line-height: 1.6;letter-spacing: 0.05em;font-weight: 400;color: #666; }


@keyframes blurInBlur{ 0%{ opacity:0; filter:blur(10px); transform:translateY(1.4rem) scale(.98); } 100%{ opacity:1; filter:blur(0); transform:translateY(0) scale(1); } }


/* 右上の一覧ボタン */
.listbtn {font-size: 1.4rem;line-height: 1;letter-spacing: 0.05em;font-weight: 600;text-align: right;}
.listbtn a {display: inline-block;padding-right: 4rem;position: relative;}
.listbtn .arr {border-left: 1px solid var(--blue);position: absolute;top: -0.3rem;right: 0.1rem;height: 2rem;padding-left: 1.5rem;}
.listbtn .arr img { transform: rotate(0deg); transform-origin: center;transition: all 0.3s ease-in-out;}
.listbtn a:hover .arr img{ transform: rotate(360deg);}

/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 2.4rem 0;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 1.2rem;font-weight: 600;color: var(--blue);letter-spacing: 0.05em;margin-bottom: 1.6rem;position: relative;padding-left: 1.8rem;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 1rem;height: 1px;background-color: var(--blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 2.8rem;font-weight: 700;color: var(--blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.bodtl{border-bottom: 1px solid #ccc;position: relative;font-size: 2.2rem;line-height: 1;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 1.6rem;margin-bottom: 4.8rem;}
.bodtl::before{ content: ""; height: 1px; background: var(--blue); width: 12rem; position: absolute; bottom: -1px; left: 0;}
.ft-sp-navibox{ display: none; }
footer{position:relative;background:#fff;padding-bottom:11.3rem;margin-top: 16rem;overflow:hidden;}
footer a{opacity:1;transition:all .3s ease-in-out;color: #fff;}
footer a:hover{opacity:.6; color: #fff;}

footer .ft-bkbox{background-size:cover;padding:8.2rem 5vw 4.9rem 5vw;height:10.4vw;position:absolute;top:-10vw;left:0;width:100%;z-index:2;}

footer .ft-bkbox::before{content:"";position:absolute;top: 10vw;left:50%;width: 216vw;height:180vw;border-radius:50%;background:url(../images/common/cmback02.png) repeat top center var(--blue);z-index:-1;transform:translate(-50%,0) translateY(4rem) scale(.95);transform-origin:top center;opacity:0;transition:transform 1.3s cubic-bezier(.16,1,.3,1),opacity .8s ease-out;}

footer.is-active .ft-bkbox::before{transform:translate(-50%,0) translateY(0) scale(1);opacity:1;}

footer h2{background:url(../images/common/foot-line.png) no-repeat bottom center;font-size:4.4rem;line-height:1.5;letter-spacing:0;font-weight:400;color:#fff;text-align:center;position:relative;z-index:3;padding-bottom:4.6rem;margin-bottom: 8rem;padding-top: 13.4rem;}

footer .foot-contents{display:flex;align-items:flex-start;max-width:131.9rem;margin: 0 auto 8.1rem;gap:13.3333%;color:#fff;padding:0 3vw;position:relative;z-index:3;}

footer .foot-contents .foot-company{width:25%;}
footer .foot-contents .foot-navi{width:61.6667%;}

footer .foot-contents .foot-company .f-logo{margin-bottom:1.6rem;}
footer .foot-contents .foot-company .f-logo img{max-width:34.4rem;width:100%;height:auto;display:block;}
footer .foot-contents .foot-company .f-text{font-size:1.2rem;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;}

footer .foot-contents .f-navi{display:-webkit-box;display:-moz-flex;display:-ms-flex;display:-o-flex;display:-ms-flexbox;display:flex;-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;flex-wrap:wrap;position:relative;padding-left:13.1rem;margin-bottom: 2.4rem;}
footer .foot-contents .f-navi:last-child{margin-bottom: 0;}
footer .foot-contents .f-navi li{font-size:1.4rem;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;margin-right:2.5rem;position:relative;}
footer .foot-contents .f-navi li:first-child{font-size:1.5rem;line-height:1.5;letter-spacing:.05em;font-weight:700;color:#fff;position:absolute;top:0;left:0;}
footer .foot-contents .f-navi li:last-child{margin:0 -1rem 0 0;}
footer .foot-contents .f-navi li a::before{content:"";display:inline-block;width:1px;height:1.4rem;background:#fff;border-radius:0;margin-right:.8rem;vertical-align:middle;position:absolute;top:.4rem;right:-2.1rem;}
footer .foot-contents .f-navi li:last-child a::before{display:none;}

footer .fnavi{position:relative;z-index:3;}
footer .fnavi .btmtext{color:#fff;text-align:center;}
footer .fnavi .btmtext a::before{content:"";display:inline-block;width:1px;height:1.4rem;background:#fff;border-radius:0;margin-right:.8rem;vertical-align:middle;position:absolute;top:.1rem;right:-2.1rem;}
footer .fnavi .btmtext a:last-of-type::before{display:none;}
footer .fnavi .btmtext a{margin-right:2.5rem;position:relative;margin-bottom:2.4rem;font-size:1.2rem;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;}
footer .fnavi .cptext{display:inline-block;margin-left:-.2rem;font-size:1.6rem;line-height:1.9;letter-spacing:.08em;font-weight:400;color:#fff;text-align:center;}

.copy{font-size:1.2rem;line-height:4.2;letter-spacing:.05em;font-weight:400;background:#C4CCD8;text-align:center;padding:1.5rem 0;color:#535779;border-top:#ACB3BF 1px solid;}
a.link-arr{text-align: center;display: block;width: 200px;margin: 0 auto;position: relative;}
a.link-arr .post-arrow {position: absolute;width: 4rem;height: 4rem;top: -4px;right: 0px;}
a.link-arr .post-arrow .arrow-bg { position: absolute; top: 50%; left: 50%; width: 4rem; height: 4rem; background-color: var(--blue); border-radius: 50%; opacity: 0; transform: translate(-50%, -50%) scale(0.5); transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease; z-index: 0 }
a.link-arr .post-arrow .arrow-icon {position: absolute;top: 50%;left: 50%;width: 2.6rem;height: auto;transform: translate(-50%, -50%);transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;z-index: 1}
a.link-arr .post-arrow .arrow-icon.default { transform: translate(-50%, -50%); opacity: 1 }
a.link-arr .post-arrow .arrow-icon.next { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); transform: translate(-250%, -50%); opacity: 0 }
a.link-arr:hover .arrow-bg { opacity: 1; transform: translate(-50%, -50%) scale(1) }
a.link-arr:hover .arrow-icon.default { transform: translate(100%, -50%); opacity: 0 }
a.link-arr:hover .arrow-icon.next { left: -12px; transform: translate(100%, -50%); opacity: 1 }

.gl-btn{ }
.gl-btn a{background: var(--blue);transition: background-position 0.6s ease-in-out;display: block;width: 100%;height: 6.2rem;color: #fff;position: relative;padding: 2.2rem 0 0 3rem;transition: all 0.5s ease-in-out;font-size: 1.6rem;line-height: 1.125;letter-spacing: 0.2em;font-weight: 500;text-align: left;border-radius: 0.5rem;border: var(--blue) solid 1px;}
.gl-btn a .arr img{display: block;width: 2rem;height: 2rem;position: absolute;top: 50%;transform: translateY(-50%);right: 1.3rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.gl-btn a:hover{ background: #fff; color: var(--blue); background-position: 100% center; }
.gl-btn a:hover .arr img{ -webkit-filter: none; filter: none; }

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 5.4rem;color: #fff;position: relative;font-size: 1.4rem;padding: 1.6rem 0 0 2.6rem;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 2.4rem;position: absolute;top: 50%;transform: translateY(-50%);right: 4.4rem;}
a .gl-btn-nolink .arr img{display: block;width: 13px;height: 11px;position: absolute;top: 50%;transform: translateY(-50%);right: 1.8rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
a:hover .gl-btn-nolink { color: #fff; background-position: 100% center; }
a:hover .gl-btn-nolink .arr img{  transform: translateY(-50%) rotate(360deg);}

/* 矢印ホバー */
a .morearrtext{transition: all 0.3s ease-in-out;}
a .morearrtext .arr{transform-origin:center;overflow:hidden;display:block;width:4rem;height:4rem;position:relative;transition:all .5s ease-in-out;right: 0rem;}
a .morearrtext .arr img{display:block;width: 2rem;height: auto;position:absolute;transition:all 0.5s ease-in-out;}
a:hover .morearrtext .arr{right: -0.5rem;}




a figure.figbo {position: relative;overflow: hidden;background: #fff;}
a figure.figbo img {transition: transform 0.6s ease, filter 0.6s ease;transform: scale(1);filter: blur(0);width: 100%;height: 100%;object-fit: cover;}
a:hover figure.figbo img { transform: scale(1.04); }

.wavy-eng-issues {font-family: 'Poppins', sans-serif;font-size: 1.2rem;font-weight: 500;letter-spacing: 0.1em;display: block!important;margin-bottom: 16px;opacity:0;/* min-height: 2.4rem; */}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span { display: inline-block; opacity: 0; transform: translateY(15px); animation: wavy-issues-appear 0.6s ease-out forwards; }

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear {
  0% {
    /* 開始時：透明で下にある */
    opacity: 0;
    transform: translateY(15px);
  }
  60% {
    /* 途中で少し上に上がりすぎる（波打つ動きの「頂点」） */
    opacity: 1;
    transform: translateY(-4px);
  }
  100% {
    /* 最終時：完全に表示され、元の位置に戻る */
    opacity: 1;
    transform: translateY(0);
  }
}


.entrybtn a{color: #454748;font-size: 2.4rem;line-height: 1.6;font-weight: 900;letter-spacing: 0.072rem;margin: 0 auto 30px;width: 320px;height: 70px;display: block;border: 3px solid #454748;border-radius: 36px;background: #fff;position: relative;left: 8px;padding: 13px 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}
.entrybtn a:hover{background: #454748;color: #fff;}

.h-teltrg{cursor: pointer;}
.telbox{position: relative;}
.telbox.is-open{z-index: 5;}
.h-telbox{position: absolute;top: 100%;left:0;margin-top: 0.8rem;background: #ECEDF2;z-index: 10;padding: 2.4rem;display:none;box-shadow: 0 4px 12px rgba(0,0,0,0.08);width: max-content;box-sizing:border-box;font-size:1.5rem;}
section:has(.telbox.is-open),
#contentsmain:has(.telbox.is-open),
#contentsendtel:has(.telbox.is-open),
#contentscta:has(.telbox.is-open),
#contentsflow:has(.telbox.is-open),
#dl-ttlbox4:has(.telbox.is-open){overflow: visible !important;z-index: 1;}
.h-telbox p {display:flex;justify-content:space-between;align-items:center;gap: 1.6rem;margin-bottom: 0.8rem;white-space: nowrap;}
.h-telbox p:last-of-type {margin-bottom: 0;}
.h-telbox p span.teltttl{display: inline-block;}
.h-telbox p span.teln::before{content: "";display: inline-block;width: 1.2rem;height: 1.4rem;background: url(../images/common/tel.svg)no-repeat;margin-right: 0.8rem;background-size: 100% auto;position: relative;left: 0.3rem;}
.h-telbox-close{display:flex;align-items:center;justify-content:center;gap: 0.8rem;width:100%;margin-top: 1.6rem;padding:0;border:none;background:none;cursor:pointer;color:var(--blue);font-size:1.2rem;line-height:1;text-decoration:underline;}
.h-telbox-close img{width: 1.2rem;height: 1.2rem;}

#pullnavi { opacity: 0; transition: opacity 0.3s, transform 0.3s; transform: translateY(-100%); }
#pullnavi.upMove { opacity: 0; transform: translateY(-100%); }
#pullnavi.dwMove { opacity: 1; transform: translateY(0); }

#pullnavi {position: fixed;top: 0;left: 0;z-index: 10;}
#pullnavi {background: #fff;width: 100%;box-shadow: 0px 3px 20px #00000029;}
#pullnavi .inbox{width: 100%;min-width: 1280px;height: 70px;margin: 0px auto 20px auto;padding-top: 14px;position: relative;}


/* faq common */

#faq .accordion{margin:3em auto;max-width:60vw;}
#faq .toggle{display:none;}
#faq .option{position:relative;margin-bottom: 2.4rem;background: #F8F8FA;border: 1px solid #DDDDDD;}
#faq .option::before{content:"";width: 1.7rem;height: 1.7rem;display:block;position:absolute;top: 2.7rem;right: 2.2rem;}
#faq .option::after{content:"";background:var(--blue);width: 1.6rem;height: 0.2rem;display:block;position:absolute;top: 3.4rem;right: 2.2rem;z-index:2;}
#faq .title, #faq .content{ -webkit-backface-visibility:hidden; backface-visibility:hidden; transform:translateZ(0); transition:all .3s; }
#faq .title{display:block;padding: 2.4rem 8rem 0.1rem 7.3rem;cursor:pointer;font-size: 1.6rem;line-height: 1.8;letter-spacing: 0.05em;font-weight: 700;color: #222;}
#faq .title span{color:var(--blue);position:absolute;top: 2.1rem;left: 1.7rem;width:3.2rem;height:3.2rem;padding:.8rem 0 0;font-size: 2rem;line-height: 1;letter-spacing: 0.1em;font-weight: 600;text-align: center;}
#faq .title span::before{content:"";width: 1px;height: 2.1rem;display:block;position:absolute;top: 0.7rem;left: 4rem;background: var(--blue);}
#faq .title::after{content:"";background:var(--blue);width: 0.2rem;height: 1.6rem;display:block;position:absolute;top: 2.7rem;right: 2.95rem;transition:transform .3s ease-in-out,opacity .3s ease-in-out;z-index:2;}
#faq .content{display:grid;grid-template-rows:0fr;transition:.4s;overflow:hidden;padding-bottom: 2rem;}
#faq .content>*{ overflow:hidden; }
#faq .toggle:checked + .title + .content{ grid-template-rows:1fr; }
#faq .content div.wysiwyg{ margin:0 0 0 7.2rem; font-size:.9em; line-height:1.5; width:auto; max-width:100rem; padding-right:5rem; }
#faq .content div.wysiwyg span.f-en{color:#AA1C1C;position:absolute;top: 1.3rem;left: 1.7rem;width:3.2rem;height:3.2rem;padding:.8rem 0 0;font-size: 2rem;line-height: 1;letter-spacing: 0.1em;font-weight: 600;text-align: center;}
#faq .content div.wysiwyg span.f-en::before{content:"";width: 1px;height: 2.1rem;display:block;position:absolute;top: 0.7rem;left: 4rem;background: #AA1C1C;}
#faq .content .wysbox{padding: .6rem 5rem 0.4rem 0;}
#faq .toggle:checked + .title::after{ transform:scaleY(0); opacity:0; }


   /* common */
   
   /* 2カラムサイト----------------
   #tow-cl{ width: 1100px; margin: 0 auto; padding: 20px 0;}
   #tow-cl main{ width: 800px!important; float: left;  }
   #tow-cl #side{ width: 280px; float: left; margin-right: 19px; background: #333; height: 800px; }
   #blog #tow-cl #side{ display: none;}
   #blog #tow-cl main{ width: 1100px !important;}*/
   /* 1カラムサイト */
   /*#one-cl{ }*/
   

   .main-title{width: auto;margin-bottom: 3.2rem;}
   .main-title .jp {}
   h2.sub-title{ padding: 25px 20px 10px; margin-bottom: 50px; font-size: 28px; font-weight: bold; letter-spacing: 2px; text-align: center; border-bottom: solid 2px #000;}

.seo_bread_list .bread-inner{display:flex;justify-content:center;width:100%;overflow:hidden;position: relative;z-index: 3;}
.seo_bread_list ul{display:inline-flex;max-width:100%;margin:0;padding:0;list-style:none;font-size: 1.2rem;}
.seo_bread_list li{ display:flex; align-items:center; flex:0 0 auto; }
.seo_bread_list li:last-child{flex:0 1 auto;min-width:0;color: #666666;}
.seo_bread_list li:last-child .current-item{ display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.seo_bread_list li a{ color:var(--blue); position:relative; }
.seo_bread_list a::before{content:"";display:inline-block;width:.8rem;height:1px;background:var(--blue);margin-right:.8rem;position:absolute;top: 50%;right:-2.3rem;}

   /*pc・タブレットcss*/
   /*pc_defaultset*/
   .pc { display: block !important; }
   /*pcのみ表示ブロック*/
   .pc2 { display: inline-block !important; }
   /*pcのみ表示ブロック*/
   .sp, .sp2 { display: none !important; }
   /*スマホのみ表示ブロック*/
   .h_menu { display: none; }
   /*スマホ用ヘッダ*/
   .sp-header { display: none; }
   /*スマホ用メニュー*/
   #sp-global-nav { display: none; }
   /*スマホ用メニュー*/
   .sp-fix-list { display: none; }
   /* Antialiasing ※任意　*/
   
   .fit img { object-fit: cover; font-family: "object-fit: cover;"; }
   
   html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
   


   body { -webkit-text-size-adjust: 100%; }
   img {vertical-align: bottom;}
   a {text-decoration: none;color: #222222;transition: color 0.3s ease-in-out;}
   a:hover { color: var(--blue);  }
   .nobd a:hover { text-decoration: none !important; }
   
   /* clearfix */
   .clearfix { zoom: 1; }
   .clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }
   /* wysiwyg */

.wysiwyg { /* PC幅と中央寄せ */max-width: 84rem;margin-inline: auto;/* padding: 0 2rem; */ 
/* 変数定義（PC） */--wys-p-gap: 2.4rem;--wys-h2-margin: 8rem 0 3.2rem;--wys-h3-margin: 6.4rem 0 2.4rem;--wys-h4-margin: 4rem 0 1.6rem;--wys-blk-mt: 3.2rem;--wys-blk-mb: 3.2rem;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) {letter-spacing: 0.1em;}
.wysiwyg p {margin: 0;font-size: 1.6rem;line-height: 2.0;letter-spacing: 0.1em;font-weight: 400;text-align: left;}
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);padding: 1.4rem 2.3rem;text-align: left;font-size: 2.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;color: #222;background: #ECEDF2;}
.wysiwyg h3 {margin: var(--wys-h3-margin);text-align: left;font-size: 2.2rem;line-height: 1.6;color: #222;}
.wysiwyg h3::before,
#contentsprocedure h3::before,
#contentseq .inner-Box3 li h3::before,
#contentsoption h3::before,
#contentsmech .inner-Box3 li h3::before,
#dl-ttlbox2 .inner-Box h3::before,
#dl-ttlbox3 .inner-Box h3::before,
#dl-ttlbox-rec .inner-Box h3::before,
#contentstreats .inner-Box h3::before,
#contentsrefract .inner-Box h3::before,
#contentsapproach .inner-Box h3::before{content: "";display: block;width: 12rem;height: 2px;background: var(--blue);border-radius: 0;position: absolute;bottom: -1px;left: 0;}


.wysiwyg h3 {margin-bottom: 2.9rem;padding-bottom: 1.6rem;}

.wysiwyg h4::before,
#contentsapproach .minBox h4::before,
#contentsmech .minBox h3::before,
#contentsnotes .inner-Box h3::before,
#contentsrefract .inner-Box h4::before,
#contentscataract .inner-Box h4::before,
#contentsretina .inner-Box h4::before,
#contentsmyopia .inner-Box h4::before,
#contentsmech .inner-Box3 dt::before,
#contentseq .inner-Box3 dt::before{content: "";display: block;width: 0.6rem;height: 0.6rem;border: var(--blue) 2px solid;border-radius: 50%;position: absolute;top: 0.5lh;left: 0;transform: translateY(-50%);}
.wysiwyg h4 {margin: var(--wys-h4-margin);text-align: left;padding-bottom: 0.4rem;font-size: 2rem;line-height: 1.8;padding-left: 2rem;font-weight: 700;color: var(--blue);}
 
/* --- Lists --- */ 
 .wysiwyg :is(ul, ol) { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 2.4rem; padding: 0; }
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li { position: relative; font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ul li::before {content: "";position: absolute;left: -1.8rem;width: 0.7rem;height: 0.7rem;border-radius: 50%;background: var(--blue);top: 0.5lh;transform: translateY(-50%);}
 /* Ordered List (数字) */ 
 .wysiwyg ol { list-style: decimal; }
 .wysiwyg ol li { font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 600;color: var(--blue);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 1.2rem; font-size: 1.4rem; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 1.6rem;line-height: 1.5;border-top: #CCC 1px solid;}
 .wysiwyg th, .wysiwyg td {padding: 1.6rem 2.4rem!important;border: 1px solid #ddd!important;text-align: left;vertical-align:middle;/* border-left: none!important; *//* border-right: none!important; */}
 .wysiwyg th { background-color: var(--th); font-weight: 700; width: 30%; }
 .wysiwyg td { background:#fff; }




   /* リンク透明 
   a img{transition: opacity 0.3s ease-in-out;}
   a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
   .noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
   */
   /*---------------------------------------- 　　外部サービス ----------------------------------------*/
   /* ggmap */
   /* <div class="ggmap">iframeのコピーしたコード</div> */
   .ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
   .ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
   /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
   .youtube { position: relative; width: 100%; padding-top: 56.25%; }
   .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
   /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
   @font-face { font-family: 'jp-sttl01';
   /* お好きな名前にしましょう */
   src: url("../font/.eot");
   /* IE9以上用 */
   src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
   /* iOS, Android用 */
   /* 念の為指定しておきます */
   font-weight: normal;
   /* 念の為指定しておきます */
   font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
   .myWebFontClass { font-family: 'jp-sttl01'; }
   }

@media screen and (min-width:768px) and ( max-width:1280px) {

header{min-height: 10rem;height: auto;padding-right: 8rem;}
header .h-logo{width: 13.9rem;}
header .gl-navi{display: none;}
header .h-clinic-wrap{display: none;}

#pc-glnavi{display:block;z-index:1001;}
#pc-glnavi .h-menu{display:flex;align-items:center;justify-content:center;position:fixed;top: 3.6rem;right: 2.4rem;width: 4.8rem;height: calc(25rem * 29.196 / 250);z-index:1002;cursor:pointer;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp{display:block;padding:0;width: 2.4rem;height: 1.2rem;background:none;border:none;cursor:pointer;position:relative;top:auto;right:auto;z-index:9999;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar{display:block;height: 0.2rem;width: 2.4rem;background:var(--blue);position:absolute;left:0;transition:all 0.2s;transform-origin:center;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1{top: 0;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2{display:none;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3{top: 1rem;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1{transform:rotate(45deg);top: 0.5rem;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3{transform:rotate(-45deg);top: 0.5rem;}

#pc-menu-open{display:none;background:#fff;width:100%;height:100%;position:fixed;top:0;left:0;z-index:1000;overflow-y:scroll;}
#pc-menu-open.active{display:block;}
#pc-menu-open .h-logo.sp{display:block!important;position:sticky;top:0;z-index:2;background:#fff;width:100%;box-sizing:border-box;padding: 3.6rem 0 2.4rem 4rem;margin-bottom:0;}
#pc-menu-open .h-logo.sp a{display:block;width: 13.9rem;}
#pc-menu-open .h-logo img{width:100%;height:auto;}
#pc-menu-open .ft-sp-navibox{display:block;}
#pc-menu-open .ft-sp-navibox ul{display:block;margin:0;}
#pc-menu-open .ft-sp-navibox ul li{position:relative;}
#pc-menu-open .ft-sp-navibox ul li a{display:block;padding: 1.6rem 4rem 1.6rem 2.4rem;margin: 0 4rem;border-bottom:#DDD 1px solid;font-size:1.6rem;line-height:1.5;color:#222;}
#pc-menu-open .ft-sp-navibox ul li a::before{content:"";position:absolute;top: 2rem;right: 4.8rem;width: 0.8rem;height: 1.1rem;background:url(../images/common/arr.svg) no-repeat center center;background-size:100% auto;}
#pc-menu-open .ft-sp-navibox ul li:first-child{font-size:1.6rem;font-weight:700;line-height:1.5;color:var(--blue);margin-bottom: 0.8rem;background:#ECEDF2;padding: 1.6rem 4rem 1.6rem 4.8rem;border-bottom:#DDD 1px solid;border-top:#DDD 1px solid;}
#pc-menu-open .ft-sp-navibox ul li:first-child::before{content:"";position:absolute;top: 2.1rem;left: 2.4rem;width: 0.8rem;height: 0.8rem;border: 0.2rem solid var(--blue);border-radius:50%;}
#pc-menu-open .ft-sp-navibox ul li:last-child a{border-bottom:none;}
#pc-menu-open .ppsitemap{margin: 2.4rem auto 0;padding: 0 4rem 4.8rem;font-size:1.4rem;}
#pc-menu-open .ppsitemap ul{display:flex;flex-wrap:wrap;gap: 1.6rem 2.4rem;}
#pc-menu-open .ppsitemap ul li a{border:none;padding:0;font-size:1.4rem;color:#222;}
#pc-menu-open .ppsitemap ul li a::before{content:none;}
#pc-menu-open .ppsitemap ul li a::after{content:none;}

}


@media screen and (min-width:768px) and ( max-width:1000px) {


}



@media screen and (max-width: 767px) {
header{background: rgba(255,255,255,0.5);backdrop-filter: blur(5rem);-webkit-backdrop-filter: blur(5rem);padding: 5.6vw 44.9vw 0 4.3vw;height: 17.3vw;top: 0;position: fixed;z-index: 20;}
header .h-logo{width: 28.4vw;}
header .h-logo img{ }

header .gl-navi{ display: none; }
header .h-clinic-wrap{ display: none; }


header .shuninavi,header .cpuninavi{ display: none; }

body {overflow: hidden;font-size: 3.6vw;font-family: sans-serif;-webkit-text-size-adjust: 100%;line-height: 1.6;background: #fff;padding-top: 17.3vw!important;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.side-fix{ display: none; }
.fix-list{ display: none; }
#g-nav{ display: none; }

#pc-glnavi{z-index: 1001;}
#pc-glnavi.active{background: none;}
#pc-glnavi.active .h-logo{position: relative;display: none;}
#pc-glnavi .h-menu {display: flex;align-items: center;justify-content: center;position: fixed;top: 0;right: 0;width: 14.8vw;height: 17.3vw;z-index: 1002;border-radius: 0;cursor: pointer;}



/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 3.7vw 0vw;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 3.20vw;font-weight: 600;color: var(--blue);letter-spacing: 0.05em;margin-bottom: 2.267vw;position: relative;padding-left: 4.1vw;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 2.067vw;height: 1px;background-color: var(--blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 6.13vw;font-weight: 700;color: var(--blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 9.4vw;color: #fff;position: relative;font-size: 3.73vw;padding: 3.2vw 0 0 0;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 3.1vw;position: absolute;top: 51%;transform: translateY(-50%);right: 7vw;}
a .gl-btn-nolink .arr img{width: 3vw;display: block;height: 2.93vw;position: absolute;top: 3.4vw;right: 2.3vw;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}

#mainttl{border-radius:0;background: url(../images/common/cmback01.png) repeat bottom center,transparent linear-gradient(180deg,#F7F7F7 0%,#E4E7F0 100%) 0% 0% no-repeat padding-box;text-align:center;padding: 3.4vw 0 27.6vw;overflow:hidden;position:relative;}
#mainttl::before{background: url(../images/common/sp-ttl-bttomback.svg) no-repeat top center;width:100%;height: 13.3vw;content:"";position:absolute;bottom:0;left:0;z-index:3;display:block;background-size: 100%;}
#mainttl .inner-Box{padding:9.3vw 5vw 0;position:relative;text-align:center;color:var(--blue);-webkit-font-smoothing:antialiased;}
#mainttl .inner-Box::before{content:"";background:url(../images/common/c-rollimg01.png) no-repeat top center;width: 65.6vw;height: 65.6vw;position:absolute;top: -30.3vw;right: -30vw;z-index:0;display:block;background-size:100%;transform-origin:center center;animation:rollImg 40s linear infinite;}
#mainttl .inner-Box::after{content:"";background:url(../images/common/c-rollimg01.png) no-repeat top center;width: 56.3vw;height: 56.3vw;position:absolute;top: 20vw;left: -20vw;z-index:0;display:block;background-size:100%;transform-origin:center center;animation:rollImg 40s linear infinite;}
#mainttl .en{margin-bottom: 2.8vw;display:block;font-size: 13.3vw;line-height: 1;letter-spacing: 0em;font-weight: 400;color: var(--blue);text-align: center;}
#mainttl .en span{color:var(--blue);}
#mainttl .page-title{margin:0 0 2.667vw;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.03em;font-weight: 500;color: var(--blue);text-align: center;display:block;}
#mainttl .page-title::before{content:"";position:relative;top: -0.5vw;left:0;width: 1.6vw;height: 1.6vw;background:var(--blue);border-radius:50%;display:inline-block;margin-right: 1.5vw;}
#mainttl .page-caption{}
#mainttl .main-title .jp{display:block;margin: 0 0 2.667vw;will-change:filter,transform,opacity;animation:blurInBlur 1.2s cubic-bezier(.16,1,.3,1) forwards;}
#mainttl .main-title .en{display:block;opacity:0;will-change:filter,transform,opacity;animation:blurInBlur 1.4s cubic-bezier(.16,1,.3,1) .15s forwards;}
#mainttl .seo_bread_list{opacity:0;will-change:filter,transform,opacity;animation:blurInBlur 1.2s cubic-bezier(.16,1,.3,1) .3s forwards;}
#mainttl .seo_bread_list a{transition:color .3s ease;padding-right: 4vw;}
#mainttl .seo_bread_list a:hover{color:#2b3087;}
#mainttl .seo_bread_list .home .f-en{letter-spacing:.05em;display:inline-block;}

@keyframes blurInBlur{0%{opacity:0;filter:blur(2.7vw);transform:translateY(3.7vw) scale(.98);}100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1);}}

/* ==========================================
   共通ボタン*/

.bluebtn{display:inline-flex;align-items:center;justify-content:space-between;width:100%;padding: 4.1vw 3.3vw 4.4vw 5.3vw;border:1px solid var(--blue);text-decoration:none;box-sizing:border-box;background:var(--blue);cursor:pointer;-webkit-font-smoothing:antialiased;font-size: 4.0vw;line-height: 1;letter-spacing: 0.05em;font-weight: 700;color: #fff;}
.bluebtn .arr{position:relative;width: 7.2vw;height: 7.2vw;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;background-color: rgba(255,255,255,1);overflow:hidden;}
a.bluebtn[href^="#"] .arr{transform:rotate(90deg);transform-origin:center;}
.bluebtn .arr img{width:2.1vw;height:2.7vw;display:block;position:relative;z-index:2;}
.linebtn{border:1px solid #06C755;background:#06C755;color:#fff;}
.linebtn .arr{background:#fff;border:none;}
.linebtn .arr img,
.linebtn .arr::after{filter:brightness(0) saturate(100%) invert(56%) sepia(72%) saturate(548%) hue-rotate(93deg) brightness(97%) contrast(101%);}

.whitebtn{display:inline-flex;align-items:center;gap:2.7vw;text-decoration:none;color:var(--blue);}
.whitebtn__text{font-size: 3.2vw;font-weight:700;letter-spacing:.05em;}
.whitebtn__circle{position:relative;width:10.7vw;height:10.7vw;border-radius:50%;display:flex;justify-content:center;align-items:center;flex-shrink:0;}
.whitebtn__circle-bg{position:absolute;top: 0;left:0;width:100%;height:100%;background:#ECEDF2;border:1px solid #ddd;border-radius:50%;box-sizing:border-box;z-index:1;}
.whitebtn__arrow{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;overflow:hidden;display:flex;justify-content:center;align-items:center;z-index:2;}
.whitebtn__arrow img{width:2.1vw;height:auto;display:block;}
.whitebtn__border{position:absolute;top:0;left:0;width:10.7vw;height:10.7vw;transform:rotate(-90deg);transform-origin:center;pointer-events:none;z-index:3;}
.whitebtn__border circle{fill:none;stroke:#2b3087;stroke-width:1;stroke-dasharray:122.5;stroke-dashoffset:122.5;stroke-linecap:round;}

a.card-btn{display:flex;align-items:center;gap:5.7803%;border:1px solid #DDDDDD;background:#fff;}
a.card-btn::before{content:"";display:block;width: 2.9vw;height: 2.9vw;background:url(../images/common/arr02.svg) no-repeat bottom right;position:absolute;bottom:2.1vw;right:2.1vw;background-size: 100% auto;}
a.card-btn figure.photo{position:relative;top:0;left:0;width: 33.9%;}
a.card-btn figure.photo img{width:100%;height:auto;}
a.card-btn .text-Box{position:relative;width:59.5368%;display:flex;flex-direction:column;justify-content:center;padding-right: 3.7vw;}

/* ==========================================
   共通ボタン*/

.corettl{text-align:center;margin-bottom: 6.4vw;color: var(--blue);}
.corettl span.f-min{position:relative;display:block;margin-bottom: 3.2vw;text-align: center;font-size:3.7vw;font-weight:500;line-height:1.5;letter-spacing:0;}
.corettl span.f-min::before{content:"";width: 1.60vw;height: 1.60vw;border-radius:50%;background:var(--blue);display:inline-block;margin-right: 1.5vw;position:relative;top: -0.5vw;}
.corettl span.f-en{display:block;text-align: center;font-size:11.733vw;font-weight:400;line-height:1;letter-spacing:0em;}

ul.note {margin: 0;padding: 0;}
ul.note li {position:relative;padding-left: 4.267vw;margin-bottom: 1.333vw;font-size:3.2vw;line-height:1.6;}
ul.note li:last-child {margin-bottom: 0;}
ul.note li::before {content:"※";position:absolute;left:0;top:0;}
ul.note a {color:var(--blue);text-decoration:underline;}
#contentprice ul.note li {color:#fff;}

ul.dotlist {margin: 0;padding: 0;font-size:4vw;}
ul.dotlist li {position:relative;padding-left: 3.2vw;margin-bottom: 1.333vw;line-height:1.6;}
ul.dotlist li:last-child {margin-bottom: 0;}
ul.dotlist li::before,
#contentprice .inBox2 ul li::before,
#contentprice .inBox4 ul li::before,
#contentprice .inBox2 p.ltext::before {content:"";position:absolute;left:0;top: 0.5lh;width: 1.333vw;height: 1.333vw;border-radius:50%;transform: translateY(-50%);box-sizing:border-box;aspect-ratio:1;}
ul.dotlist li::before {background:var(--blue);}

#contentsmain .text-Box .inBox{width:100%;margin:0 auto;max-width:100%;text-align:center;padding: 10.667vw 5.3vw 12.8vw;}
#contentsmain .text-Box h1{margin-bottom: 4.6vw;position:relative;color:#fff;}
#contentsmain .text-Box h1 span.mini{position:relative;display:block;margin-bottom: 2.667vw;text-align: center;font-size:3.7vw;font-weight:500;line-height:1.5;letter-spacing:0;color:#fff;}
#contentsmain .text-Box h1 span.mini::before{content:"";width: 1.60vw;height: 1.60vw;border-radius:50%;background:#fff;display:inline-block;margin-right: 1.5vw;position:relative;top: -0.5vw;}
#contentsmain .text-Box h1 span.f-min{display:block;text-align: center;font-size:7.5vw;line-height:1.6;letter-spacing:0;}
#contentsmain .text-Box p.text{margin-bottom: 7.6vw;position:relative;color:#fff;text-align: left;font-size:4vw;line-height:1.8;}

.counseling-Box{background:url(../images/common/cmback01.png) repeat bottom center,transparent linear-gradient(180deg,#2F3250 0%,#576181 100%) 0 0 no-repeat padding-box;position:relative;padding: 5.333vw;width:100%;margin:0 auto;}
.counseling-Box::before{content:"";background:url(../images/cataract/contentsmain-icon.png) no-repeat top center;width: 51.5vw;height: 51.5vw;position:absolute;top: -13.3vw;left: -20vw;z-index:0;display:block;background-size:100%;transform-origin:center center;animation:rollImg 40s linear infinite;}
.counseling-Box h5{margin-bottom: 3.2vw;position:relative;color:#fff;text-align: center;font-size:4.8vw;font-weight:700;line-height:1.5;}
.counseling-Box p.counstext{margin-bottom: 4.267vw;position:relative;color:#fff;text-align: left;font-size:4vw;line-height:1.7;}
.counseling-Box .linebox{width:100%;margin:0 auto;position:relative;z-index:3;}

#contentprice{background: url(../images/common/cmback01.png) repeat bottom center #2F3250;}
#contentprice .inBox2 h4 {margin-bottom: 6.6vw;border-bottom: #8B8E9F 1px solid;font-size: 4.8vw;font-weight:700;line-height:1.591;color:#fff;padding-bottom:3.7vw;}
#contentprice .inBox2 h4 + ul {margin-bottom: 2.933vw;}
#contentprice ul.dotlist {color:#fff;}
#contentprice ul.dotlist li::before,
#contentprice .inBox2 ul li::before,
#contentprice .inBox4 ul li::before,
#contentprice .inBox2 p.ltext::before {background:#fff;}
#contentprice .inBox2 ul li:has(p.ltext)::before,
#contentprice .inBox4 ul li:has(p.ltext)::before {content: none;}
#contentprice .inBox2 p.ltext {position:relative;padding-left: 3.2vw;font-size:4vw;line-height:1.7;color:#fff;}
#contentprice .inBox5 .risk-item h5 {color:#fff177;}
#contentprice .inBox5 .risk-item h5::before {content:"";position:absolute;left:0;top: 0.5lh;width: 1.6vw;height: 1.6vw;border: #fff177 2px solid;border-radius:50%;transform: translateY(-50%);}
#contentprice .inBox5 .risk-item p {font-size:4vw;line-height:1.7;color:#fff;}
#contentprice .inBox5 p.midttl {margin-bottom: 4.267vw;font-size: 5.333vw;font-weight:700;line-height:1.5;color:#fff;}
#contentprice .inBox5 .risk-item {margin-bottom: 6.4vw;}
#contentprice .inBox5 .risk-item:last-child {margin-bottom: 0;}
#contentprice .inBox2 p.mmtext,
#contentprice .inBox4 p.mmtext,
#contentprice .inBox5 p.mmtext {position: relative;padding-left: 5vw;font-size:3.2vw;line-height:1.5;color:#fff;}
#contentprice .inBox2 p.mmtext::before,
#contentprice .inBox4 p.mmtext::before,
#contentprice .inBox5 p.mmtext::before {content:"※";position: absolute;top: 0;left: 0;}

#contentprice .inBox1 .pri-list {margin-bottom: 4.267vw;}
#contentprice .inBox1 .pri-list li {background:#fff;padding: 5.333vw;margin-bottom: 3.2vw;}
#contentprice .inBox1 .pri-list li:last-child {margin-bottom:0;}
#contentprice .inBox1 .pri-list h3 {margin-bottom: 3.2vw;font-size:4.267vw;font-weight:700;line-height:1.5;}
#contentprice .inBox1 .pri-list .pri-text {text-align:left;}
#contentprice .inBox1 .pri-list .pri-text span.min {display:inline-block;margin-left: 1.6vw;position:relative;top: -0.8vw;font-size:3.2vw;line-height:1;}
#contentprice .inBox1 .pri-list .pri-text span.pri {font-size:6.4vw;font-weight:700;line-height:1;letter-spacing:0;color:var(--blue);}
#contentprice .inBox1 .pri-list .pri-text span.yen {font-size:4.267vw;font-weight:700;line-height:1;color:var(--blue);}

#contentsfeature .inner-Box h3 .num,
#contentsoption .hydrus-Box h4 .num {position:relative;flex-shrink:0;padding-right: 3.2vw;font-size:6.4vw;line-height:1;font-weight:400;}
#contentsfeature .inner-Box h3 .num::after,
#contentsoption .hydrus-Box h4 .num::after {content:"";position:absolute;right:0;bottom:0;width:1px;height:0.8em;background:var(--blue);}

.flow-Box{margin:0 auto;position:relative;padding-left: 16vw;padding-bottom: 5vw;}
.flow-Box::before{content:"";position:absolute;bottom: 0;left: 7.1vw;width:2px;height: 90%;background:url(../images/first-visit/line.svg) repeat;}
.flow-Box:last-child,
#contentsflow .flow-Box:last-child{padding-bottom:0;}
.flow-Box:last-child::before{content:none;}
.flow-Box p.notext{margin-bottom:0;position:absolute;top:0;left:0;display:block;width: 13.5vw;height: 13.5vw;border:1px solid #DDDDDD;border-radius:50%;background: #F8F8FA;text-align:center;padding-top: 2vw;color:var(--blue);line-height:1;}
.flow-Box p.notext span.step{display:block;margin-bottom: -1.1vw;text-align: center;font-size:2.7vw;font-weight:600;line-height:1.6;letter-spacing:0em;}
.flow-Box p.notext span.no{text-align: center;font-size:6.4vw;font-weight:600;line-height:0.667;letter-spacing:0em;}
.flow-Box h3{margin-bottom: 2.2vw;color:var(--blue);font-size:4.8vw;font-weight:700;line-height:1.5;padding-top: 3vw;}
.flow-Box p.text{margin-bottom:0;font-size:4vw;line-height:1.7;}
.flow-Box p.notext.ope{ background: var(--blue); color: #fff; }
.flow-Box .tblls{margin-bottom: 4.267vw;}

.scrollable{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.scrollable table,
.scrollable .tblls{width:max-content;min-width:100%;}
.scrollable th,
.scrollable td{white-space:nowrap;}
.tblls{width:100%;border-collapse:collapse;font-size:3.467vw;letter-spacing:0;line-height:1.5;}
.tblls th,
.tblls td{border:1px solid #DDD;padding: 2.667vw;vertical-align:middle;letter-spacing:0;}
.tblls th{background:#F8F8FA;font-weight:700;text-align:center;}
.tblls td{background:#fff;}

#contentsendtel .inner-Box p.text1 {margin-bottom: 6.4vw;}
#contentsendtel .inner-Box ul {margin-bottom: 4.267vw;}
#contentsendtel .inner-Box p.text2{position:relative;font-size:3.733vw;line-height:1.786;padding-left: 5.333vw;}
#contentsendtel .inner-Box p.text2::before{content:"※";position:absolute;left:0;top:0;}

.noslug{ font-size: 2.9vw;line-height: 1.6;letter-spacing: 0.05em;font-weight: 400;color: #666; }


/*+++ Reset +++*/
#pc-glnavi .h-menu .zdo_drawer_buttonsp .f-en {font-size: 2.6667vw;line-height: 1;letter-spacing: 0.2em;font-weight: 600;color: var(--blue);position: relative;top: 0.7vw;left: 50%;display: block;width: 10.6667vw;text-align: center;transform: translateX(-50%);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp::before{height: 27px;width: 27px;content: "";display: block;position: relative;top: 1.3333vw;left: 2.4vw;/* background: #f00; */}
#pc-glnavi .h-menu .zdo_drawer_buttonsp * {margin: 0;padding: 0;outline: none;border: none;font: inherit;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;-webkit-appearance: none;-moz-appearance: none;appearance: none;text-align: left;text-decoration: none;list-style: none;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp {display: block;padding: 0;height: 6.1vw;background: none;border: none;text-align: center;letter-spacing: 0.1em;cursor: pointer;outline: none;width: 10.6vw;z-index: 9999;position: relative;top: auto;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {display: block;height: 1px;transition: all 0.2s;transform-origin: center center;position: absolute;left: 0;width: 10.6vw;background: var(--blue);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {top: 1.65vw;left: 0;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {top: 50%;left: 0;background: var(--blue);display: none;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {top: 4.15vw;left: 0;}
#pc-glnavi.active .h-menu{}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {left: 0;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {transform: rotate(30deg);top: 2.9vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {opacity: 0;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {transform: rotate(-30deg);top: 2.9vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_menu_text {display: none;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_close {display: block;}
.zdo_drawer_text {width: 100%;position: absolute;bottom: -2.6vw;left: 0;text-align: center;font-size: 1.3vw;}
.zdo_drawer_close {letter-spacing: 0.08em;display: none;}
.zdo_drawer_buttonsp {color: #000;}
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: #fff;}


.zdo_drawer_text { width: 100%; position: absolute; bottom: -2.6vw; left: 0; text-align: center; font-size: 1.3vw; }
.zdo_drawer_close { letter-spacing: 0.08em; display: none; }
/*+++ Default Button Color +++*/
.zdo_drawer_buttonsp { color: #000; }
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: var(--blue);}
a:hover{ text-decoration: none!important;}

.clinic-common-list ul.clinic-list{display:grid;grid-template-columns:repeat(1,100%);gap: 11.5vw;margin-right: 0.8vw;}
.clinic-common-list ul.clinic-list li{position:relative;margin-right: -0.8vw;}
.clinic-common-list ul.clinic-list li a{display:block;position:relative;padding: 0 0 0 6.3vw;}
.clinic-common-list ul.clinic-list p.actext{writing-mode:vertical-rl;text-orientation:upright;text-align:left;font-size:3.5vw;font-weight:400;line-height:1.077;letter-spacing:0;color:var(--blue);position:absolute;top: 1vw;left: -0.4vw;z-index:3;}
.clinic-common-list ul.clinic-list figure.photo{position:relative;top:0;left:0;margin-bottom: 2.7vw;}
.clinic-common-list ul.clinic-list figure.photo img{width:100%;height:auto;}
.clinic-common-list ul.clinic-list h3{margin-bottom:1.9vw;position:relative;color:var(--blue);text-align: left;font-size:5.3vw;font-weight:700;line-height:1.5;letter-spacing:0.05em;}
.clinic-common-list ul.clinic-list p.ltext{margin-bottom: -0.5vw;position:relative;text-align:left;font-size:4vw;font-weight:400;line-height: 1.6;letter-spacing:.05em;color:#222;}
.clinic-common-list ul.clinic-list p.bbb{position:relative;font-size:3.7vw;line-height:1;letter-spacing:.05em;font-weight:700;text-align:right;color:var(--blue);}
.clinic-common-list ul.clinic-list p.bbb .whitebtn__circle{display:inline-block;top: 3vw;margin-left: 0.9vw;width: 8.6vw;height: 8.6vw;}
.clinic-common-list ul.clinic-list p.bbb .whitebtn__circle-bg{background:#fff;}


.entrybtn a{color: #454748;font-size: 5.86vw;line-height: 1.6;font-weight: 900;letter-spacing: 0.17vw;margin: 0 11.4vw 7.25vw;height: 16.11vw;display: block;border: 0.72vw solid #454748;border-radius: 8.7vw;background: #fff;position: relative;padding: 2.84vw 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}

#pc-menu-open{display: none;background: #fff;width: 100vw;height: 100vh;position: fixed;top: 0;z-index: 1000;overflow-y: scroll;}
#pc-menu-open.active{ display: block; }
#pc-menu-open .inner-box{position: relative;padding-bottom: 56.0vw;background: #fff;margin-left: 4.2vw;border-radius: 11vw 0 0 0;padding: 6.4vw 8.6vw 0;}
#pc-menu-open .h-logo{position:sticky;top:0;z-index:2;background:#fff;width:100%;box-sizing:border-box;text-align:left;margin-bottom:0;padding: 5.7vw 0 5.72vw 4.3vw;}
#pc-menu-open .h-logo a{display:block;width: 55vw;}
#pc-menu-open .h-logo img{width:100%;height:auto;}

#pc-menu-open .pc-open-in-navibox{ display:none;}
#pc-menu-open .dflist{display:none; }

#pc-menu-open .ft-navi-common-navibox{padding: 16.5vw 10.6vw 1vw;margin-bottom: -1.4vw;}
#pc-menu-open .ft-navi-common-navibox ul{}
#pc-menu-open .ft-navi-common-navibox ul li{margin-bottom: 4.4vw;font-size: 4.267vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 500;text-align: left;}
#pc-menu-open .ft-navi-common-navibox .site-top{}

#pc-menu-open .ft-sp-navibox{ }
#pc-menu-open .ft-sp-navibox ul{margin-bottom: -2vw;}
#pc-menu-open .ft-sp-navibox ul li{font-size:3.7vw;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;position:relative;margin-bottom: 0vw;}
#pc-menu-open .ft-sp-navibox ul li a{display: block;padding: 3.1vw 2.3vw 5.1vw;margin: 0 5.2vw 2vw;border-bottom: #DDDDDD 1px solid;font-size: 4.0vw;line-height: 1;letter-spacing: 0.05em;font-weight: 400;color: #222;}
#pc-menu-open .ft-sp-navibox ul li:first-child{font-size:4vw;line-height:1.5;letter-spacing:.05em;font-weight:700;color: var(--blue);position: relative;top:0;left:0;margin-bottom: 2vw;background: #ECEDF2;padding: 4.4vw 10.2vw 3.7vw 10.2vw;border-bottom: #DDDDDD 1px solid;border-top: #DDDDDD 1px solid;}
#pc-menu-open .ft-sp-navibox ul li:first-child::before{content: "";position: absolute;top: 5.9vw;left: 5.4vw;width: 1.7vw;height: 1.7vw;display: block;border: 2px var(--blue) solid;border-radius: 50%;}

#pc-menu-open .ft-sp-navibox ul li:last-child a{ border-bottom: none; }
#pc-menu-open .ft-sp-navibox ul li a::before{content: "";position: absolute;top: 3.7vw;right: 7.5vw;width: 2.1vw;height: 2.9vw;background: url(../images/common/arr.svg) no-repeat center center;background-size: 100% auto;display: block;}
#pc-menu-open .ft-sp-navibox ul li a::after{content: none;position: absolute;bottom: 0;left: 0;width: 100%;height: 1px;background: #fff;opacity: 0.15;}
#pc-menu-open .ft-sp-navibox ul li:last-child a::after{display:none;}
#pc-menu-open .ft-sp-navibox ul li:last-child a.fff{border-bottom: #DDDDDD 1px solid;}

#pc-menu-open .ppsitemap{margin: 6.8vw auto 0 auto;padding: 1.8vw 9.8vw 14.9vw 16.1vw;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;color: #222;}
#pc-menu-open .ppsitemap ul{font-size:3.2vw;line-height:1.75;letter-spacing:.1em;font-weight:400;text-align:left;color:#111111;display:flex;flex-wrap:wrap;}
#pc-menu-open .ppsitemap ul li{ margin-right: -4vw; }
#pc-menu-open .ppsitemap ul li a{border: none;padding: 0 0 0 3.9vw;}
#pc-menu-open .ppsitemap ul li:nth-child(2){position: relative;right: -5.7vw;}
#pc-menu-open .ppsitemap ul li a::after{content: "";width: 1px;height: 4.1vw;display: inline-block;background: #DDDDDD;position: absolute;top: 0.4vw;left: 0.6vw;}

.contentsall{}
.side-nav a.active {}
/*.side-nav a::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -4.0vw;top: 0.27vw;opacity: 0;transition: opacity 0.3s ease-in-out,margin-right 0.3s ease-in-out;}
.side-nav a.active::before,.side-nav a:hover::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -1.33vw;top: 0.27vw; opacity: 1;}
*/

footer{position:relative;background:#fff;padding-bottom: 10vw;margin-top: 0.8vw;overflow:hidden;}
footer a{opacity:1;transition:all .3s ease-in-out;}
footer a:hover{opacity:.6;}
footer .ft-bkbox{background-size:cover;padding: 15.9vw 5vw 13.1vw;position:absolute;top:-10vw;left:0;width:100%;z-index:2;}
footer .ft-bkbox::before{content:"";position:absolute;top:10vw;left:50%;width: 270vw;height: 360vw;border-radius:50%;background:url(../images/common/cmback02.png) repeat top center var(--blue);z-index:-1;transform:translate(-50%,0) translateY(10.7vw) scale(.95);transform-origin:top center;opacity:0;transition:transform 1.3s cubic-bezier(.16,1,.3,1),opacity .8s ease-out;}
footer.is-active .ft-bkbox::before{transform:translate(-50%,0) translateY(0) scale(1);opacity:1;}
footer h2{background:url(../images/common/foot-line.png) no-repeat bottom center;background-size: 100% auto;position:relative;z-index:3;padding-bottom: 6.4vw;margin: 0 5vw 6.4vw;padding-top: 15.5vw;font-size: 7.5vw;line-height: 1.5;letter-spacing: 0em;font-weight: 400;color: #fff;text-align: center;}
footer .foot-contents{margin: 0 auto -24.2vw;color:#fff;padding: 0 5vw 29vw;position:relative;z-index:3;/* background:url(../images/common/cmback02.png) repeat top center var(--blue); */}
footer .foot-contents .foot-company{ margin-bottom: 6.1vw; }
footer .foot-contents .foot-navi{ margin: 0 0.4vw; }
footer .foot-contents .foot-company .f-logo{margin: 0 15.9vw 3.3vw 16vw;}
footer .foot-contents .foot-company .f-logo img{max-width:78.9vw;width:100%;height:auto;display:block;}
footer .foot-contents .foot-company .f-text{font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;color: #fff;text-align: center;}
footer .foot-contents .f-navi{position:relative;margin-bottom: 6.1vw;}
footer .foot-contents .f-navi li{font-size:3.7vw;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;position:relative;margin-bottom: 0vw;}
footer .foot-contents .f-navi li a{display: block;background: rgba(255,255,255,0.08);padding: 2.6vw 4.3vw;color: #fff;}
footer .foot-contents .f-navi li:first-child{font-size:4vw;line-height:1.5;letter-spacing:.05em;font-weight:700;color:#fff;position: relative;top:0;left:0;margin-bottom: 2vw;}
footer .foot-contents .f-navi li:last-child{}
footer .foot-contents .f-navi li a::before{content: "";position: absolute;top: 4.3vw;right: 4.4vw;width: 1.9vw;height: 2.9vw;background: url(../images/common/arr.svg) no-repeat center center;background-size: 100% auto;display: block;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
footer .foot-contents .f-navi li a::after{content: "";position: absolute;bottom: 0;left: 0;width: 100%;height: 1px;background: #fff;opacity: 0.15;}
footer .foot-contents .f-navi li:last-child a::after{display:none;}
footer .fnavi{position:relative;z-index:3;}
footer .fnavi .btmtext{color:#fff;text-align:center;}
footer .fnavi .btmtext a::before{content:"";display:inline-block;width:.3vw;height:3.7vw;background:#fff;border-radius:0;margin-right:2.1vw;vertical-align:middle;position:absolute;top:.3vw;right:-5.6vw;}
footer .fnavi .btmtext a:last-of-type{margin-right: 0;}
footer .fnavi .btmtext a:last-of-type::before{display:none;}
footer .fnavi .btmtext a{margin-right:6.7vw;position:relative;margin-bottom:6.4vw;font-size:3.2vw;line-height:1.5;letter-spacing:.05em;font-weight:400;color:#fff;}
footer .fnavi .cptext{display:inline-block;margin-left:-.5vw;font-size: 3.5vw;line-height: 1;letter-spacing: 0.08em;font-weight: 500;color: #fff;text-align: center;padding-top: 3.9vw;}
.copy{font-size:3.2vw;line-height:4.2;letter-spacing:.05em;font-weight:400;background:#C4CCD8;text-align:center;padding:4vw 0;color:#535779;border-top:#ACB3BF 1px solid;}

/* TELツールチップ */
.h-teltrg{cursor:pointer;}
.telbox{position:relative;}
.telbox.is-open{z-index:5;}
.h-telbox{position:absolute;top:100%;left:0;background:#ECEDF2;z-index:200;padding: 5.333vw;margin-top: 2.133vw;box-shadow:0 0 5.3vw var(--blue)0D;display:none;width:100%;box-sizing:border-box;}
section:has(.telbox.is-open),
#contentsmain:has(.telbox.is-open),
#contentsendtel:has(.telbox.is-open),
#contentscta:has(.telbox.is-open),
#contentsflow:has(.telbox.is-open),
#dl-ttlbox4:has(.telbox.is-open){overflow:visible !important;z-index:1;}
.h-telbox p{display:flex;justify-content:space-between;align-items:flex-start;gap: 2.133vw;margin-bottom: 2.133vw;white-space:normal;}
.h-telbox p:last-of-type{margin-bottom:0;}
.h-telbox p span.teltttl{display:inline-block;flex-shrink:0;width: 40vw;}
.h-telbox p span.teln::before{content:"";display:inline-block;width:3.2vw;height:3.7vw;background:url(../images/common/tel.svg) no-repeat;margin-right:2.1vw;background-size:100% auto;position:relative;left:.8vw;}
.h-telbox-close{display:flex;align-items:center;justify-content:center;gap: 2.133vw;width:100%;margin-top: 4.267vw;padding:0;border:none;background:none;cursor:pointer;color:var(--blue);font-size:3.2vw;line-height:1;text-decoration:underline;}
.h-telbox-close img{width: 3.2vw;height: 3.2vw;}


/* 英語「ISSUES」のスタイル */
.wavy-eng-issues{font-family:'Poppins',sans-serif;font-size:3.2vw;font-weight:500;letter-spacing:0.1em;display:block!important;margin-bottom:4.27vw;opacity:0;min-height: 6.8vw;}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span{display:inline-block;opacity:0;transform:translateY(4vw);animation:wavy-issues-appear 0.6s ease-out forwards;}

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear{
  0%{opacity:0;transform:translateY(4vw);}
  60%{opacity:1;transform:translateY(-1.07vw);}
  100%{opacity:1;transform:translateY(0);}
}  


h2.sub-title{ font-weight: bold; padding: 3vw 3vw 1vw; margin-bottom: 5vw; font-size: 5vw; letter-spacing: 0.3vw; text-align: center; border-bottom: solid #000 0.2vw;}

.seo_bread_list{width:100%;padding:1.5vw 4.2vw .1vw;margin:0 auto;font-size:2.93vw;line-height:1.6;text-align:center;overflow:hidden;position: relative;z-index: 10;}
.seo_bread_list .bread-inner{display:flex;justify-content:center;align-items:center;width:100%;overflow:hidden;}
.seo_bread_list ul{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0;padding:0;list-style:none;white-space:nowrap;}
.seo_bread_list li{display:flex;align-items:center;flex:0 0 auto;min-width:0;position:relative;}
.seo_bread_list li:last-child{flex:0 1 auto;min-width:0;overflow:hidden;}
.seo_bread_list li:last-child .current-item{display:block;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.seo_bread_list a{display:inline-block;position:relative;z-index:2;color:var(--blue);pointer-events:auto;}
.seo_bread_list a::after{content:"";display:block;width:2vw;height:1px;background:var(--blue);margin:0 1.9vw;pointer-events:none;position: absolute;top: 50%;right: -1.8vw;transform: translateX(-50%);}
.seo_bread_list meta{display:none;}

/* 2カラムサイト---------------- */
#tow-cl #side{ display: none;}

.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/

*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;width: 100%;height: auto;}
a {text-decoration: none;color: #222222;}
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }

#contentsfmch .chk-Box input[type="checkbox"]{left: -10vw;top: 0vw;}

#doctor-modal{display:none;position:fixed;inset:0;z-index:9999;}
#doctor-modal .doctor-overlay{position:absolute;inset:0;background:rgba(0,0,0,.75);}
#doctor-modal .doctor-window{position:absolute;top: 50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:100%;height: 94.6vh;overflow:hidden;padding: 7.3vw 0 0;}
#doctor-modal .doctor-scroll{width:100%;height:100%;}
#doctor-modal .doctor-body{width:100%;height:100%;padding:0;box-sizing:border-box;}
#doctor-modal .doctor-source{width:100%;height:100%;overflow-x:hidden;overflow-y:scroll;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:#9a9a9a #e6e6e6;}
#doctor-modal .doctor-source::-webkit-scrollbar{width: 8px;}
#doctor-modal .doctor-source::-webkit-scrollbar-track{background:#e6e6e6;}
#doctor-modal .doctor-source::-webkit-scrollbar-thumb{background:#9a9a9a;border-radius: 4px;}
#doctor-modal .doctor-source .box{width:100%;height:auto;overflow:visible;padding:0;box-sizing:border-box;}
html.modal-open,
body.modal-open{overflow:hidden;overscroll-behavior:none;}

#doctor-modal .doctor-close{position:fixed;top: -1.8vw;right: 4.3vw;width: 4.4vw;height: 5.9vw;border:none;border-radius:50%;cursor:pointer;z-index:10001;font-size:6.9vw;line-height:1;background:none;padding:0;}
#doctor-modal .doctor-prev,#doctor-modal .doctor-next{position:fixed;bottom: 1vw;width:10.7vw;height:10.7vw;border:none;border-radius:50%;background:#fff;cursor:pointer;z-index:10001;box-shadow:0 0 5.3vw rgba(0,0,0,.2);margin-top:-5.3vw;}
#doctor-modal .doctor-prev img,#doctor-modal .doctor-next img{width: 2.4vw;}
#doctor-modal .doctor-prev{left: 36.9vw;transform:scale(-1,1);}
#doctor-modal .doctor-next{right: 37.3vw;}
#doctor-modal .doctor-source{background:#fff;padding: 6.4vw 6.3vw 0;max-width: 91%;margin:0 auto;width:100%;height:100%;}
#doctor-modal .doctor-source .maincap{width:100%;}
#doctor-modal .doctor-source .maincap img{width:100%;}

#doctor-modal .doctor-close img{-webkit-filter:brightness(0) invert(1);filter:brightness(0) invert(1);}
#doctor-modal .box .doctor-close{position:relative;top:0;left:0;width:auto;text-align:center;text-decoration:underline;font-size:3.7vw;font-weight:400;line-height:1;letter-spacing:.05em;color:var(--blue);padding-top:5.3vw;padding-bottom:10.7vw;}
#doctor-modal .box .doctor-close img{-webkit-filter:none;filter:none;margin-right:2.7vw;width:3.2vw;}

#doctor-modal .prf h3{background:#ECEDF2;color:#222;padding: 2.3vw 4.1vw 2.6vw;margin-bottom: 3.3vw;text-align: left;font-size:5.3vw;font-weight:700;line-height:1.5;letter-spacing:0.05em;}
#doctor-modal .prf h3 span{text-align:left;font-size: 2.9vw;font-weight:400;line-height:1.813;letter-spacing:.05em;color:var(--blue);position:relative;left:3.2vw;top:-.8vw;}
#doctor-modal h4{text-align:left;border-bottom:#CCC solid 1px;margin-bottom: 4.4vw;font-size: 4.8vw;line-height:1.6;letter-spacing:.05em;font-weight:700;color:#222;padding-bottom:4.3vw;position:relative;}
#doctor-modal h4::before{content:"";display:block;width:21.3vw;height:1px;background:var(--blue);border-radius:0;position:absolute;bottom:-1px;left:0;}
#doctor-modal p.text{color:#222;text-align: left;font-size:4vw;font-weight:400;line-height: 1.8;letter-spacing:0.05em;margin-bottom: 3vw;}

#doctor-modal .prf .job{text-align:left;font-size: 4vw;font-weight:400;line-height:1.813;letter-spacing:.05em;color:#222;margin-bottom: 6.7vw;}
#doctor-modal ul.doctor-member-list{margin-bottom: 7.5vw;}
#doctor-modal ul.doctor-member-list li{position:relative;padding-left:2.7vw;margin-bottom: 0.3vw;text-align: left;font-size:4vw;font-weight:400;line-height:1.6;letter-spacing:0.05em;}
#doctor-modal ul.doctor-member-list li::before{content:"";position:absolute;left: 0;width: 1.867vw;height: 1.867vw;border-radius:50%;background:var(--blue);top: 0.5lh;transform: translateY(-50%);}

#doctor-modal .slick-dotted.slick-slider{margin-bottom: 10.7vw;}
#doctor-modal .slick-dots{position:absolute;bottom: -7vw;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center;}
#doctor-modal .slick-dots li{position:relative;display:inline-block;height: 2.1vw;width: 2.1vw!important;margin:0 1.1vw!important;padding:0;cursor:pointer;left:0;top:0!important;}
#doctor-modal .slick-dots li button{font-size:0;line-height:0;display:block;border-radius:50%;width: 2.1vw;height: 2.1vw;padding:0;cursor:pointer;color:transparent;border:0;outline:none;background:#D6DBE6;}
#doctor-modal .slick-dots li button::before{border-radius:50%;position:absolute;top:0;left:0;content:"";text-align:center;opacity:.25;color:#000;}
#doctor-modal .slick-dots li.slick-active button{background:var(--blue);}

#doctor-list .top-box{margin: 0 auto;max-width:100%;}
#doctor-list .top-box h2{font-size:7.5vw;line-height:1.6;letter-spacing:0;font-weight:500;text-align:center;margin-bottom:14.4vw;}
#doctor-list .top-box ul{display:block;}
#doctor-list .top-box ul li{width:100%;margin-right:0;position:relative;padding-bottom:7.2vw;margin-bottom: 1.9vw;padding-left: 6.6vw;cursor:pointer;}
#doctor-list .top-box ul li figure{width:100%;aspect-ratio:378 / 253;overflow:hidden;text-align:center;margin-bottom: 2.5vw;position:relative;}
#doctor-list .top-box ul li figure img{width:100%;height:100%;object-fit:cover;display:block;}
#doctor-list .top-box ul li p.job{color:#666;margin-bottom: 0.7vw;text-align: left;font-size:3.2vw;font-weight:400;line-height:1.583;letter-spacing:0.05em;}
#doctor-list .top-box ul li p.en{text-align:left;font-size:3.7vw;font-weight:400;line-height:1;letter-spacing:0;color:var(--blue);position:absolute;top: 0.5vw;left: 3.9vw;transform:rotate(90deg);transform-origin:top left;}
#doctor-list .top-box ul li p.comment{text-align:left;font-size:4vw;font-weight:400;line-height:1.8;letter-spacing:.05em;color:#222;margin-bottom: 1vw;}
#doctor-list .top-box ul li h3{color:var(--blue);margin-bottom:1.6vw;text-align: left;font-size:5.3vw;font-weight:700;line-height:1.5;letter-spacing:0.05em;}
#doctor-list .top-box ul li p.pluse{text-align:right;font-size:3.7vw;font-weight:700;line-height:1;letter-spacing:.05em;color:var(--blue);}
#doctor-list .top-box ul li p.pluse span{width: 8.7vw;height: 8.7vw;display:inline-block;border-radius:50%;border:1px solid #DDDDDD;background:#ECEDF2;text-align:center;padding-top:2.7vw;margin-left: 0.8vw;position:relative;top: 0vw;padding: 2.3vw 2.5vw;}

/* faq common */
#faq .accordion{margin:3em auto;max-width:100%;}
#faq .toggle{display:none;}
#faq .option{position:relative;margin-bottom: 2.7vw;background:#F8F8FA;border:1px solid #DDDDDD;padding-bottom: 3.7vw;}
#faq .option::before{content:"";width:4.5vw;height:4.5vw;display:block;position:absolute;top: 6.2vw;right:5.9vw;}
#faq .option::after{content:"";background:var(--blue);width: 3vw;height: 0.2vw;display:block;position:absolute;top: 6.7vw;right: 4.7vw;z-index:2;}
#faq .title,#faq .content{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);transition:all .3s;}
#faq .title{display:block;padding: 3.3vw 10.3vw .3vw 14.9vw;cursor:pointer;font-size: 4vw;line-height: 1.6;letter-spacing: 0.05em;font-weight: 700;color: #222;}
#faq .title span{color:var(--blue);position:absolute;top: 2.3vw;left: 2.6vw;width:8.5vw;height:8.5vw;padding:2.1vw 0 0;font-size: 4.9vw;line-height:1;letter-spacing:.1em;font-weight:600;text-align:center;}
#faq .title span::before{content:"";width: 2px;height: 5.4vw;display:block;position:absolute;top:1.9vw;left: 9vw;background:var(--blue);}
#faq .title::after{content:"";background:var(--blue);width: 0.2vw;height: 3vw;display:block;position:absolute;top: 5.4vw;right: 6vw;transition:transform .3s ease-in-out,opacity .3s ease-in-out;z-index:2;}
#faq .content{display:grid;grid-template-rows:0fr;transition:.4s;overflow:hidden;padding-bottom: 0;}
#faq .content>*{overflow:hidden;}
#faq .toggle:checked + .title + .content{grid-template-rows:1fr;}
#faq .content div.wysiwyg{margin: 0 0 0 14.6vw;font-size:.9em;line-height:1.5;width:auto;max-width:100%;padding-right: 1.3vw;}
#faq .content div.wysiwyg span.f-en{color:#AA1C1C;position:absolute;top: 2.5vw;left: 2.5vw;width:8.5vw;height:8.5vw;padding:2.1vw 0 0;font-size: 4.6vw;line-height:1;letter-spacing:.1em;font-weight:600;text-align:center;}
#faq .content div.wysiwyg span.f-en::before{content:"";width: 2px;height: 5.4vw;display:block;position:absolute;top: 2.1vw;left: 9.1vw;background:#AA1C1C;}
#faq .content .wysbox{padding: 3.2vw 2.3vw 1.1vw 0;}
#faq .toggle:checked + .title::after{transform:scaleY(0);opacity:0;}

/* wysiwyg */
.wysiwyg { /* PC幅と中央寄せ */margin-inline: auto; 
/* 変数定義（PC） */--wys-p-gap: 6.4vw;--wys-h2-margin: 17.333vw 0 6.40vw;--wys-h3-margin: 17.067vw 0 6.4vw;--wys-h4-margin: 10.667vw 0 4.267vw;--wys-blk-mt: 6.40vw;--wys-blk-mb: 6.40vw;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) { letter-spacing: 0.05em; }
.wysiwyg p {margin: 0;word-break: break-all;font-size: 3.7vw;line-height: 2.0;font-weight: 400;text-align: left;}
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);padding: 2.8vw 4.5vw;text-align: left;font-size: 5.3vw;line-height: 1.5;font-weight: 700;color: #222;background: #ECEDF2;}
.wysiwyg h3 {margin: var(--wys-h3-margin);text-align: left;padding-bottom: 2.67vw;font-size: 4.8vw;line-height: 1.6;color: #222;}
.wysiwyg h3::before,
#contentsprocedure h3::before,
#contentseq .inner-Box3 li h3::before,
#contentsoption h3::before,
#contentsmech .inner-Box3 li h3::before,
#dl-ttlbox2 .inner-Box h3::before,
#dl-ttlbox3 .inner-Box h3::before,
#dl-ttlbox-rec .inner-Box h3::before,
#contentstreats .inner-Box h3::before,
#contentsrefract .inner-Box h3::before,
#contentsapproach .inner-Box h3::before{content:"";width: 20.83vw;height: 2px;display: block;position: absolute;bottom: -1px;left: 0;background: var(--blue);z-index: 0;}

.wysiwyg h4 {margin: var(--wys-h4-margin);padding-left: 5.5vw;font-size: 4.5vw;line-height: 1.6;font-weight: 700;color: var(--blue);}

.wysiwyg h4::before,
#contentsapproach .minBox h4::before{content: "";display: block;width: 1.77vw;height: 1.77vw;border: var(--blue) 3px solid;border-radius: 50%;position: absolute;top: 1.9vw;left: 0;}
#contentsmech .minBox h3::before,
#contentsnotes .inner-Box h3::before,
#contentsrefract .inner-Box h4::before,
#contentscataract .inner-Box h4::before,
#contentsretina .inner-Box h4::before,
#contentsmyopia .inner-Box h4::before,
#contentsmech .inner-Box3 dt::before,
#contentseq .inner-Box3 dt::before{content: "";display: block;width: 1.6vw;height: 1.6vw;border: var(--blue) 2px solid;border-radius: 50%;position: absolute;top: 0.5lh;left: 0;transform: translateY(-50%);}
 /* --- Lists --- */ 
 .wysiwyg :is(ul, ol) {margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 3.4vw;padding: 0;}
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li {position: relative;margin-bottom: 2.133vw;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.1em;font-weight: 400;text-align: left;}
 .wysiwyg ul li::before {content: "";position: absolute;left: -3vw;width: 1.27vw;height: 1.27vw;border-radius: 50%;background: var(--blue);top: 0.5lh;transform: translateY(-50%);}
 /* Ordered List (数字) */ 
 .wysiwyg ol {list-style: decimal;margin-left: 7vw;}
 .wysiwyg ol li { font-size: 4.267vw; line-height: 1.8; margin-bottom: 2.133vw; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 700;color: var(--blue);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 3.2vw; font-size: 3.733vw; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 4.267vw;line-height: 1.5;min-width: 160vw;}
 .wysiwyg th, .wysiwyg td { padding: 4.267vw 5.333vw; border: 1px solid #ccc; text-align: left; vertical-align:middle; }
 .wysiwyg th { background-color: var(--th); font-weight: 700; width: 30%; }
 .wysiwyg td { background:#fff; }
 .wysiwyg .table-scroll {overflow-x: auto;-webkit-overflow-scrolling: touch;/* margin-right: -5vw; */}
 .wysiwyg .table-scroll table {/* min-width: 200vw; */width: 100%;max-width: none;}
 .wysiwyg .table-scroll td, .table-scroll th { white-space: nowrap; } }
/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; } */
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/

.wysiwyg h1 { background-color: #dcdcdc;}
.wysiwyg h2 { }
.wysiwyg h3 {font-weight: 700;position: relative;display: block;border-bottom: #CCC solid 1px;}
.wysiwyg h4 {position: relative;}
.wysiwyg h5 {}
.wysiwyg h6 { background-color: #eee; border: 1px dotted #999;}



@media screen and (min-width: 1281px), print {
/* Gナビ 子メニュー（ホバー表示・2026-09-24 追加） */
header .gl-navi > li{position:relative;}
header .gl-navi > li.has-sub > a{display:inline-block;padding-bottom:2.8rem;margin-bottom:-2.8rem;}
header .gl-navi > li.has-sub:hover > a,header .gl-navi > li.has-sub:focus-within > a{color:var(--blue);}
header .gl-sub{position:absolute;top:calc(100% + 2.4rem);left:50%;transform:translate(-50%,0.8rem);min-width:20rem;padding:2.2rem 2.4rem 1.6rem 4rem;background:#fff;border:1px solid #DDD;border-top:3px solid var(--blue);box-shadow:0 1.2rem 3rem rgba(34,34,34,.12);opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:1000;}
header .gl-sub::before{content:"";position:absolute;top:-1.1rem;left:50%;transform:translateX(-50%);border-style:solid;border-width:0 .9rem .8rem;border-color:transparent transparent var(--blue);}
header .gl-navi > li.has-sub:hover .gl-sub,header .gl-navi > li.has-sub:focus-within .gl-sub{opacity:1;visibility:visible;transform:translate(-50%,0);}
header .gl-sub li{position:relative;margin-bottom:0.8rem;font-size:1.4rem;line-height:1.5;letter-spacing:0.05em;font-weight:500;white-space:nowrap;}
header .gl-sub li::before{content:"";position:absolute;top:0.5lh;left:-1.4rem;width:0.6rem;height:0.6rem;background:var(--blue);border-radius:50%;transform:translateY(-50%);}
header .gl-sub li a{color:#222;display:block;}
header .gl-sub li a:hover{color:var(--blue);}
header .gl-sub.is-2col{display:grid;grid-template-columns:repeat(2,auto);column-gap:4.4rem;}
header .gl-sub .gl-sub-all{grid-column:1/-1;margin:1.2rem 0 0.4rem;padding-top:1.2rem;border-top:1px solid #DDD;font-size:1.3rem;}
header .gl-sub .gl-sub-all::before{display:none;}
header .gl-sub .gl-sub-all a{color:var(--blue);}
header .gl-sub .gl-sub-all a::after{content:"";display:inline-block;width:.6rem;height:.6rem;margin-left:.8rem;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg) translateY(-.2rem);}
/* 既存の「クリニック一覧」も白背景で埋もれないよう揃える */
header #h-clinic-list{border:1px solid #DDD;border-top:3px solid var(--blue);box-shadow:0 1.2rem 3rem rgba(34,34,34,.12);height:auto;}
header #h-clinic-list::before{background:none;top:-1.1rem;right:5.4rem;width:0;height:0;border-style:solid;border-width:0 .9rem .8rem;border-color:transparent transparent var(--blue);}
}

/* いま見ているページの表示（PCのみ・2026-09-24 追加） */
#pagectx{display:none;}
@media screen and (min-width: 768px), print {
#pagectx{display:block;position:fixed;left:0;right:0;top:10rem;z-index:12;background:rgba(255,255,255,.94);backdrop-filter:blur(1.2rem);-webkit-backdrop-filter:blur(1.2rem);border-bottom:1px solid #DDD;box-shadow:0 .4rem 1.2rem rgba(34,34,34,.05);opacity:0;visibility:hidden;transform:translateY(-.8rem);transition:opacity .25s ease,transform .25s ease,visibility .25s;}
#pagectx.is-show{opacity:1;visibility:visible;transform:translateY(0);}
#pagectx .pagectx-inner{display:flex;align-items:center;gap:1.2rem;height:4.4rem;padding:0 4rem;font-size:1.3rem;line-height:1;letter-spacing:.05em;color:#666;white-space:nowrap;overflow:hidden;}
#pagectx .pagectx-label{flex-shrink:0;padding:.5rem .9rem;background:var(--blue);color:#fff;font-size:1.1rem;font-weight:700;}
#pagectx .pagectx-path{flex-shrink:0;display:flex;align-items:center;gap:.8rem;}
#pagectx .pagectx-path a{color:#666;text-decoration:none;transition:color .2s;}
#pagectx .pagectx-path a:hover{color:var(--blue);}
#pagectx .pagectx-sep{color:#AAA;}
#pagectx .pagectx-page{font-size:1.5rem;font-weight:700;color:var(--blue);cursor:pointer;}
#pagectx .pagectx-sec{min-width:0;overflow:hidden;text-overflow:ellipsis;padding-left:1.2rem;border-left:1px solid #DDD;font-size:1.3rem;color:#222;}
#pagectx .pagectx-sec.is-empty{display:none;}
#pagectx .pagectx-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left center;}
}

/* Gナビの現在地（2026-09-24 追加） */
@media screen and (min-width: 1281px), print {
header .gl-navi > li.is-current > a{color:var(--blue);position:relative;}
header .gl-navi > li.is-current > a::after{content:"";position:absolute;left:0;right:0;bottom:-1rem;height:2px;background:var(--blue);}
header .gl-navi > li.has-sub.is-current > a::after{bottom:1.8rem;}
header .h-clinic-wrap.is-current #h-clinic a{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--blue);}
}

/* 本文（.wysiwyg）内のリンクをリンクと分かる見た目に（2026-09-24 追加） */
.wysiwyg a:not([class]){color:var(--blue);text-decoration:underline;text-underline-offset:.2em;transition:opacity .2s;}
.wysiwyg a:not([class]):hover{opacity:.7;}

/* JACCS 分割払い（include_parts/jaccs.php）— 2026-09-24 追加 */
.jx-box{margin:2.4rem 0;padding:2.4rem 2.8rem;border:1px solid #DDD;background:#F8F8FA;}
.jx-head{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-bottom:1.2rem;}
.jx-tag{display:inline-block;padding:.3rem 1rem;background:var(--blue);color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:.05em;}
.jx-title{font-size:1.5rem;font-weight:700;color:#222;}
.jx-monthly{font-size:1.5rem;color:#222;line-height:1.6;}
.jx-monthly strong{font-size:3rem;color:var(--blue);font-weight:700;margin:0 .2rem;font-variant-numeric:lining-nums tabular-nums;}
.jx-monthly .jx-cond{font-size:1.3rem;color:#666;}
.jx-warn{margin-top:1.2rem;padding:1.2rem 1.6rem;border:2px solid #AA1C1C;background:#FFF5F5;color:#AA1C1C;font-size:1.4rem;line-height:1.7;}
.jx-warn strong{font-weight:700;}
.jx-form{margin-top:1.6rem;}
.jx-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:1.6rem;width:100%;max-width:42rem;padding:1.4rem 1.6rem 1.4rem 2.3rem;border:1px solid var(--blue);background:#fff;color:var(--blue);font-size:1.5rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:background-color .3s,color .3s;font-family:inherit;}
.jx-btn:hover{background:var(--blue);color:#fff;}
.jx-btn .jx-ext{font-size:1.2rem;font-weight:400;}
.jx-note{margin-top:1.2rem;font-size:1.2rem;color:#666;line-height:1.7;}

/* 費用一覧「お支払い・各種サポート」に足すJACCS案内 */
#contentspay ul li.jx-pay{flex:0 0 100%;width:100%;max-width:none;grid-column:1/-1;margin-top:4rem;}
.jx-pay h4{margin-bottom:1.2rem;}
.jx-pay .jx-banner{display:block;margin-top:1.6rem;}
.jx-pay .jx-banner input{display:block;width:32rem;max-width:100%;height:auto;}
.jx-scope-tbl{width:100%;border-collapse:collapse;margin-top:1.6rem;font-size:1.4rem;}
.jx-scope-tbl th,.jx-scope-tbl td{border:1px solid #DDD;padding:1rem 1.4rem;text-align:left;}
.jx-scope-tbl th{background:#F8F8FA;font-weight:500;width:50%;}
.jx-ok{color:var(--blue);font-weight:700;}
.jx-ng{color:#AA1C1C;font-weight:400;}


@media screen and (max-width:767px){
  .jx-box{padding:5vw;margin:6vw 0;}
  .jx-tag{font-size:3.2vw;}
  .jx-title,.jx-monthly{font-size:3.7vw;}
  .jx-monthly strong{font-size:8vw;}
  .jx-monthly .jx-cond,.jx-warn{font-size:3.4vw;}
  .jx-warn{padding:3vw 4vw;}
  .jx-btn{max-width:none;font-size:3.7vw;padding:4vw 3.3vw 4vw 5vw;}
  .jx-btn .jx-ext{font-size:3vw;}
  .jx-note{font-size:3vw;}
  .jx-scope-tbl{font-size:3.4vw;}
  .jx-pay .jx-banner input{width:100%;}
}

/* トップ（#index）はヘッダーの文字を白にしているため、子メニューの中だけ濃い文字に戻す（2026-09-24） */
@media screen and (min-width: 1281px), print {
#index header .gl-navi .gl-sub li a{color:#222;transition:color .2s;}
#index header .gl-navi .gl-sub li a:hover{color:var(--blue);}
#index header .gl-navi .gl-sub .gl-sub-all a{color:var(--blue);}
/* ヒーローの紺背景の上では、上辺と三角を白にして背景から分ける */
#index:not(.pull) header .gl-sub{border-top-color:#fff;box-shadow:0 1.2rem 3rem rgba(0,0,0,.35);}
#index:not(.pull) header .gl-sub::before{border-bottom-color:#fff;}
#index:not(.pull) header #h-clinic-list{border-top-color:#fff;}
#index:not(.pull) header #h-clinic-list::before{border-bottom-color:#fff;}
}

/* 事前問診票（院ごとのPDF）— 電話の選択ボックスと同じ見た目・PDFリンク用（2026-09-24） */
.h-monshinbox p span.pdfn a{color:var(--blue);text-decoration:underline;font-weight:700;}
.h-monshinbox p span.pdfn::before{content:"";display:inline-block;width:1.2rem;height:1.5rem;background:url(../images/common/pdf.svg) no-repeat center/contain;margin-right:.6rem;vertical-align:-0.2rem;filter:brightness(0) saturate(100%) invert(24%) sepia(34%) saturate(1400%) hue-rotate(201deg);}
.h-monshinbox p span.pdfn{white-space:nowrap;flex-shrink:0;}
.h-monshinbox p span.pdfn a.cl{display:inline-block;margin-top:.4rem;font-weight:400;font-size:.92em;}

/* 院ページ：事前問診票（PDF）へのリンク（2026-09-24） */
.clinic-monshin{margin-top:2rem;font-size:1.4rem;line-height:1.8;color:#444;text-align:left;}
.clinic-monshin a{display:inline-block;margin-right:1.6rem;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:.2em;}
.clinic-monshin a::before{content:"";display:inline-block;width:1.2rem;height:1.5rem;margin-right:.5rem;vertical-align:-0.2rem;background:url(../images/common/pdf.svg) no-repeat center/contain;filter:brightness(0) saturate(100%) invert(24%) sepia(34%) saturate(1400%) hue-rotate(201deg);}
@media screen and (max-width: 767px) {
.clinic-monshin{margin-top:4vw;font-size:3.4vw;}
.clinic-monshin a{margin-right:4vw;}
}

/* ページ外からのアンカー（ヘッダー「クリニック一覧」→ /about/#clinic）で見出しが固定ヘッダーに隠れないように */
.anchor-offset{display:block;position:relative;top:-12rem;visibility:hidden;}
@media screen and (max-width: 767px){.anchor-offset{top:-18vw;}}

/* スマホ：電話・問診票の3院の選択ボックス（2026-09-24）
   院名と番号を1行に並べると番号が折り返す／問診票リンクがはみ出す／下のフッターに潜るため、
   院名（小）→番号・リンク（大）の2段にし、箱はボタンの下に押し広げて表示する */
@media screen and (max-width: 767px) {
.h-telbox{position:static;width:100%;margin-top:2.1vw;padding:4.8vw 5.3vw;}
.h-telbox p{display:block;margin-bottom:4vw;white-space:normal;}
.h-telbox p:last-of-type{margin-bottom:0;}
.h-telbox p span.teltttl{display:block;margin-bottom:1vw;font-size:3.2vw;line-height:1.4;color:#555;}
.h-telbox p span.teln{display:block;font-size:4.8vw;font-weight:700;line-height:1.4;white-space:nowrap;}
.h-telbox p span.teln::before{width:3.7vw;height:4.3vw;margin-right:1.6vw;vertical-align:-0.3vw;left:0;}
.h-monshinbox p span.pdfn{display:flex;flex-wrap:wrap;gap:1.6vw 5.3vw;white-space:normal;font-size:4.2vw;line-height:1.5;}
.h-monshinbox p span.pdfn::before{display:none;}
.h-monshinbox p span.pdfn br{display:none;}
.h-monshinbox p span.pdfn a{white-space:nowrap;}
.h-monshinbox p span.pdfn a::before{content:"";display:inline-block;width:3.2vw;height:4vw;margin-right:1.3vw;vertical-align:-0.4vw;background:url(../images/common/pdf.svg) no-repeat center/contain;filter:brightness(0) saturate(100%) invert(24%) sepia(34%) saturate(1400%) hue-rotate(201deg);}
.h-monshinbox p span.pdfn a.cl{margin-top:0;font-size:1em;font-weight:700;}
.h-telbox-close{margin-top:4.8vw;font-size:3.4vw;}
}

/* 電話・問診票の3院の箱：開いている間はその箱を含むセクションごと手前に出し、後ろのパンくずや本文がかぶらないように（2026-09-24） */
.telbox.is-open{position:relative;z-index:1000;}
/* ページ側CSSの #contentsmain{z-index:1} などより優先させるため !important */
section:has(.telbox.is-open), main > div:has(.telbox.is-open){position:relative;z-index:900 !important;}

/* ===== 2026-09-28 小澤さん修正指示（NICO SHARE zo7t5f9gng）===== */
/* 診療時間表：土曜△と注記 */
.cal-note{margin-top:1.2rem;font-size:1.4rem;line-height:1.8;color:#222;}
.cal-note li{display:flex;align-items:baseline;gap:.4em;}
.cal-note__mark{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--blue);}
.cal-note__mark img{width:1.4rem;height:1.4rem;position:relative;top:.15em;}
.cal-note a{color:var(--blue);text-decoration:underline;}
/* 初めての方へ：かとう眼科の受付案内 */
#contentsflow .flow-note{margin:1.6rem 0 2rem;padding:1.6rem 2rem;background:#F3F6FB;border-left:4px solid var(--blue);}
#contentsflow .flow-note__ttl{font-weight:700;color:var(--blue);margin-bottom:.6rem;}
#contentsflow .flow-note__sub{font-weight:700;margin-top:1rem;}
#contentsflow .flow-note .text{margin-bottom:.4rem;}
@media screen and (min-width:768px){#contentsflow .flow-Box ul li:only-child{width:53.18%;margin:0 auto;}}

/* 院ページの院名：ロゴができるまでの仮。旧サイトの院名に寄せた極太ゴシック＋英字＋選定療養（2026-10-03） */
#contentsmain .text-Box h1 span.clinic-name{display:block;text-align:center;font-family:"Noto Sans JP",sans-serif;font-weight:900;font-size:4.8rem;line-height:1.3;letter-spacing:.04em;color:var(--blue);}
#contentsmain .text-Box h1 span.clinic-en{display:block;margin-top:.8rem;text-align:center;font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:1.4rem;line-height:1.4;letter-spacing:.16em;color:var(--blue);}
#contentsmain .text-Box .clinic-badge{display:table;margin:-1.6rem auto 2.4rem;padding:.5rem 1.6rem;border:1px solid var(--blue);border-radius:10rem;font-size:1.3rem;font-weight:600;line-height:1.5;letter-spacing:.08em;color:var(--blue);background:#fff;}
@media screen and (max-width: 767px){
#contentsmain .text-Box h1 span.clinic-name{font-size:8vw;}
#contentsmain .text-Box h1 span.clinic-en{margin-top:1.4vw;font-size:2.9vw;}
#contentsmain .text-Box .clinic-badge{margin:-1.4vw auto 4vw;padding:1vw 3.6vw;font-size:3.2vw;}
}

/* ===== 担当医カレンダー（2026-10-05）include_parts/doctor-calendar.php ===== */
/* PC=週ごとの表（.dcal__table）／SP=日付ごとのリスト（.dcal__list） */
.dcal{--dcal-red:#AA1C1C;--dcal-line:#D9D9D9;--dcal-date:#EEF1F7;position:relative;}
.dcal .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.dcal__table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;border:1px solid var(--dcal-line);font-feature-settings:"palt";}
.dcal__table th,.dcal__table td{border:1px solid var(--dcal-line);text-align:center;vertical-align:middle;}
.dcal__table thead th{background:var(--blue);color:#fff;font-size:1.7rem;font-weight:700;letter-spacing:.1em;padding:1.5rem .5rem;}
.dcal__table thead th.dcal__corner{width:8.5rem;}
.dcal__dates th,.dcal__dates td{background:var(--dcal-date);font-size:1.5rem;font-weight:700;color:#333;padding:.7rem .4rem;letter-spacing:.04em;}
.dcal__dates td.is-holiday{color:var(--dcal-red);}
.dcal__dates td.is-today{background:var(--blue);color:#fff;}
.dcal__today{display:none;margin-left:.6em;padding:.1em .6em;border-radius:10rem;background:#fff;color:var(--blue);font-size:1.1rem;line-height:1.5;vertical-align:.1em;font-weight:700;}
.dcal__dates td.is-today .dcal__today{display:inline-block;}
.dcal__slot th{font-size:1.4rem;font-weight:700;color:var(--blue);background:#F7F9FC;padding:1.2rem .4rem;}
.dcal__slot td{font-size:1.5rem;line-height:1.6;color:#222;padding:1.2rem .6rem;}
.dcal__doc{white-space:nowrap;}
.dcal__doc small{font-size:.8em;color:#555;}
.dcal__sep{color:#999;}
.dcal__closed{color:var(--dcal-red);font-weight:700;letter-spacing:.1em;}
.dcal__none{color:#999;}
.dcal__note{display:block;margin-top:.4rem;font-size:1.2rem;line-height:1.5;color:var(--dcal-red);text-align:left;}
.dcal__table td.is-past{opacity:.4;}
.dcal:not(.is-open) .dcal__week.is-more,.dcal:not(.is-open) .dcal__day.is-more{display:none;}
.dcal__list{display:none;}
.dcal__more{position:relative;text-align:center;padding-top:3.2rem;}
.dcal:not(.is-open) .dcal__more::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:6rem;background:linear-gradient(rgba(255,255,255,0),rgba(248,248,250,.95));pointer-events:none;}
.dcal__more-btn{min-width:30rem;padding:1.6rem 4rem;border:1px solid var(--blue);border-radius:10rem;background:#fff;color:var(--blue);font-size:1.5rem;font-weight:500;letter-spacing:.12em;cursor:pointer;transition:background .2s,color .2s;}
.dcal__more-btn::after{content:"";display:inline-block;width:.6em;height:.6em;margin-left:1em;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-.25em) rotate(45deg);}
.dcal.is-open .dcal__more-btn::after{transform:translateY(.1em) rotate(-135deg);}
.dcal__more-btn:hover{background:var(--blue);color:#fff;}
.dcal__notes{margin-top:2.4rem;font-size:1.4rem;line-height:1.8;color:#222;}
.dcal__notes li{padding-left:1em;text-indent:-1em;}
.dcal__notes li::before{content:"・";}
@media screen and (max-width: 767px){
.dcal__table{display:none;}
.dcal__list{display:block;background:#fff;border:1px solid var(--dcal-line);border-radius:2vw;overflow:hidden;font-feature-settings:"palt";}
.dcal__day{display:flex;align-items:stretch;border-top:1px solid var(--dcal-line);}
.dcal__day.is-past{display:none;}
.dcal__day.is-weekstart{border-top:1.2vw solid var(--dcal-date);}
.dcal__day.is-first{border-top:0;}
.dcal__date{flex:0 0 20vw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1vw;padding:3vw 1vw;background:#F7F9FC;color:#222;text-align:center;}
.dcal__date time{display:flex;flex-direction:column;align-items:center;line-height:1.2;}
.dcal__md{font-size:4.4vw;font-weight:700;letter-spacing:.02em;}
.dcal__w{font-size:3vw;font-weight:500;}
.dcal__date.is-sat .dcal__w{color:var(--blue);}
.dcal__date.is-holiday{color:var(--dcal-red);}
.dcal__day.is-today .dcal__date{background:var(--blue);color:#fff;}
.dcal__today{margin:0;font-size:2.6vw;padding:.2em .8em;}
.dcal__day.is-today .dcal__today{display:inline-block;}
.dcal__dates td.is-today .dcal__today{display:none;}
.dcal__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1.6vw;padding:3vw 3.6vw;}
.dcal__row{display:flex;align-items:baseline;gap:2.4vw;font-size:3.8vw;line-height:1.55;color:#222;}
.dcal__lbl{flex:0 0 auto;padding:.1em .7em;border-radius:1vw;background:#EEF1F7;color:var(--blue);font-size:3vw;font-weight:700;letter-spacing:.06em;}
.dcal__row .dcal__docs{display:flex;flex-wrap:wrap;column-gap:0;}
.dcal__row .dcal__doc small{font-size:2.9vw;}
.dcal__row .dcal__sep{padding:0 .1em;}
.dcal__day.is-off{background:#FAFAFB;}
.dcal__day.is-off .dcal__date{background:#F2F2F4;color:#888;}
.dcal__day.is-off .dcal__date.is-holiday{color:var(--dcal-red);}
.dcal__day.is-off .dcal__body{padding-top:2.4vw;padding-bottom:2.4vw;}
.dcal__day.is-off .dcal__md{font-size:3.8vw;}
.dcal__closed{font-size:3.6vw;letter-spacing:.1em;}
.dcal__note{margin-top:0;font-size:3vw;}
.dcal:not(.is-open) .dcal__more::before{height:14vw;}
.dcal__more{padding-top:6vw;}
.dcal__more-btn{min-width:70vw;padding:3.6vw 6vw;font-size:3.6vw;}
.dcal__notes{margin-top:4.8vw;font-size:3.3vw;}
}
/* 年間の休診予定表（PDF）2026-10-19 */
.dcal__pdf{display:flex;flex-wrap:wrap;gap:1.2rem 3.2rem;margin-top:2rem;font-size:1.5rem;line-height:1.6;}
.dcal__pdf a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:.2em;}
.dcal__pdf a::before{content:"";display:inline-block;width:1.2rem;height:1.5rem;margin-right:.6rem;vertical-align:-0.2rem;background:url(../images/common/pdf.svg) no-repeat center/contain;filter:brightness(0) saturate(100%) invert(24%) sepia(34%) saturate(1400%) hue-rotate(201deg);}
@media screen and (max-width: 767px){
.dcal__pdf{flex-direction:column;align-items:flex-start;gap:2.2vw;margin-top:2.6vw;font-size:3.8vw;}
.dcal__pdf a{display:inline-block;padding:2.9vw 0;}
.dcal__pdf a::before{width:3.2vw;height:4vw;margin-right:1.6vw;vertical-align:-0.4vw;}
}
/* 月の境目を分かりやすく：今月から1か月おき（.is-alt）に水色の背景、月の見出しを札に 2026-10-19 */
.dcal__mon{display:inline-block;margin-right:.4em;padding:.1em .6em;border-radius:.4rem;background:var(--blue);color:#fff;font-size:1.3rem;line-height:1.5;vertical-align:.1em;}
.dcal__dates td.is-today .dcal__mon{background:#fff;color:var(--blue);}
.dcal__dates td.is-alt:not(.is-today){background:#CCDBF0;}
.dcal__slot td.is-alt{background:#E8F0FA;}
.dcal__month{display:none;}
@media screen and (max-width: 767px){
.dcal__month{display:block;padding:2.6vw 3.6vw;background:var(--blue);color:#fff;font-size:4.2vw;font-weight:700;letter-spacing:.08em;line-height:1.4;}
.dcal__month.is-past{display:none;}
.dcal:not(.is-open) .dcal__month.is-more{display:none;}
.dcal__month + .dcal__day{border-top:0;}
.dcal__day.is-alt{background:#E8F0FA;}
.dcal__day.is-alt .dcal__date{background:#CCDBF0;}
.dcal__day.is-alt.is-weekstart{border-top-color:#C9D8EE;}
.dcal__day.is-alt.is-off{background:#E9EEF5;}
.dcal__day.is-alt.is-off .dcal__date{background:#DFE5EE;}
.dcal__day.is-alt .dcal__lbl{background:#fff;}
.dcal__day.is-today .dcal__date{background:var(--blue);}
}
/* 医師モーダル：写真が1枚（点なし）のときも名前欄との間をあける 2026-10-19 */
#doctor-modal .doctor-slider:not(.slick-dotted){margin-bottom:2.4rem;}
@media screen and (max-width: 767px){
#doctor-modal .doctor-slider:not(.slick-dotted){margin-bottom:5.3vw;}
}

/* 2026-10-05 NICO SHARE 第4弾 */
/* 見出し：日本語を大きく・英字を小さく（プレミアム白内障 MULTIFOCAL・近視抑制） */
.corettl.corettl--jp span.f-min{font-size:3.6rem;font-weight:600;letter-spacing:.05em;margin-bottom:1.2rem;}
.corettl.corettl--jp span.f-min::before{top:-0.8rem;}
.corettl.corettl--jp span.f-en{font-size:1.8rem;letter-spacing:.12em;}
#contentsmech .mech-fig{margin:0 0 4rem;}
#contentsmech .mech-fig img{display:block;width:100%;height:auto;}
#contentsmech .mech-fig--types{margin:4.8rem 0 1.2rem;}
#contentsmech .mech-note{font-size:1.3rem;line-height:1.8;color:#555;}
#contentsmech .text-Box .text + .text{margin-top:1.6rem;}
#contentprice .inBox2.has-photo{position:relative;padding-right:26rem;overflow:hidden;}
/* 写真は枠の中に収め、下端を枠の下辺にそろえる（2026-10-06） */
#contentprice .inBox2.has-photo .aftercare-photo{position:absolute;right:4rem;top:3.2rem;bottom:0;width:auto;margin:0;}
#contentprice .inBox2.has-photo .aftercare-photo img{display:block;height:100%;width:auto;max-width:none;}
#contentsfeature .banner-Box .why-photo{margin:0 0 2.4rem;}
#contentsfeature .banner-Box .why-photo img{display:block;width:100%;height:auto;}
#contentsfeature .banner-Box .why-photo + .banner{width:80%;}
@media screen and (max-width: 768px){
.corettl.corettl--jp span.f-min{font-size:5.6vw;margin-bottom:2.4vw;}
.corettl.corettl--jp span.f-en{font-size:3.4vw;}
#contentsmech .mech-fig{margin-bottom:6.4vw;}
#contentsmech .mech-fig--types{margin-top:8vw;}
#contentsmech .mech-note{font-size:3.2vw;}
#contentprice .inBox2.has-photo{padding-right:5.333vw;display:flex;flex-direction:column;}
/* スマホは写真を枠の一番下に置き、下辺にそろえる */
#contentprice .inBox2.has-photo .aftercare-photo{position:static;order:99;width:44vw;margin:5.3vw auto -6.4vw;}
#contentprice .inBox2.has-photo > h5{align-self:flex-start;}
#contentprice .inBox2.has-photo .aftercare-photo img{width:100%;height:auto;}
}
/* 緑内障の病型（開放隅角・閉塞隅角を横並び） */
.wysiwyg .wp-block-columns.glaucoma-types{display:flex;gap:3.2rem;align-items:flex-start;margin-bottom:3.2rem;}
.wysiwyg .wp-block-columns.glaucoma-types > .wp-block-column{flex:1 1 0;min-width:0;}
.wysiwyg .wp-block-columns.glaucoma-types img{width:100%;height:auto;}
@media screen and (max-width: 768px){
.wysiwyg .wp-block-columns.glaucoma-types{flex-direction:column;gap:6.4vw;}
}

/* 2026-10-05 正式ロゴ（院名ロゴ） */
#contentsmain .text-Box h1 span.clinic-name img.clinic-logo{display:block;height:4.6rem;width:auto;max-width:100%;margin:0 auto;}
@media screen and (max-width: 768px){
#contentsmain .text-Box h1 span.clinic-name img.clinic-logo{height:7.2vw;}
}

/* プレミアム白内障の費用（include_parts/premium-cost.php・/price/ と /treat/premium/）2026-10-12 */
.pcost{text-align:left;color:#222;}
.pcost-lead{font-size:1.6rem;line-height:1.9;letter-spacing:.05em;margin-bottom:3rem;}
.pcost-block{background:#fff;border:#DDD 1px solid;padding:3.2rem 3.2rem 2.8rem;margin-bottom:2.4rem;}
.pcost-ttl{display:flex;align-items:center;gap:1.4rem;font-size:2.2rem;font-weight:700;line-height:1.4;letter-spacing:.05em;color:var(--blue);margin-bottom:1.4rem;}
.pcost-num{display:inline-flex;align-items:center;justify-content:center;width:3.8rem;height:3.8rem;border-radius:50%;background:var(--blue);color:#fff;font-size:2rem;flex-shrink:0;}
.pcost-text{font-size:1.5rem;line-height:1.9;letter-spacing:.05em;margin-bottom:2rem;}
.pcost-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch;}
.pcost-row--plus{grid-template-columns:1fr auto 1.6fr;}
.pcost-box{background:#F8F8FA;padding:2.2rem 2rem;text-align:center;}
.pcost-box h5{font-size:1.6rem;font-weight:700;line-height:1.5;letter-spacing:.05em;color:var(--blue);margin-bottom:1.4rem;}
.pcost-ins{display:inline-block;background:#fff;border:#DDD 1px solid;font-size:2rem;font-weight:700;letter-spacing:.05em;color:#222;padding:1.2rem 3rem;margin:1rem 0 1rem;}
.pcost-plus{align-self:center;font-size:3.6rem;font-weight:700;color:var(--blue);line-height:1;}
.pcost-sub{font-size:1.3rem;line-height:1.7;color:#555;margin:-.6rem 0 1.4rem;}
.pcost-prices{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.pcost-price{background:#fff;padding:1.6rem 1rem;}
.pcost-kind{font-size:1.5rem;font-weight:700;color:#222;line-height:1.4;margin-bottom:.8rem;}
.pcost-kind small{display:block;font-size:1.1rem;font-weight:400;color:#555;}
.pcost-yen{font-size:2.8rem;font-weight:700;color:#AA1C1C;line-height:1.2;letter-spacing:.02em;white-space:nowrap;}
.pcost-yen small{font-size:1.3rem;margin-right:.4rem;}
.pcost-yen span{font-size:1.4rem;}
.pcost-tax{font-size:1.2rem;color:#AA1C1C;}
.pcost-badge{display:inline-block;background:var(--blue);color:#fff;font-size:1.2rem;line-height:1;padding:.8rem 1rem;margin:-.4rem 0 1.4rem;}
.pcost-flacs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:center;}
.pcost-flacs figure img{width:100%;height:auto;display:block;}
.pcost-note{font-size:1.3rem;line-height:1.7;color:#555;margin-top:1.4rem;}
#contentprice .pcost{margin-top:3rem;}
@media screen and (max-width: 767px){
.pcost-lead{font-size:3.7vw;margin-bottom:5vw;}
.pcost-block{padding:5.4vw 4.3vw 4.8vw;margin-bottom:4.3vw;}
.pcost-ttl{font-size:4.8vw;gap:2.4vw;}
.pcost-num{width:7.5vw;height:7.5vw;font-size:4.2vw;}
.pcost-text{font-size:3.5vw;}
.pcost-row,.pcost-row--plus{grid-template-columns:1fr;gap:3.2vw;}
.pcost-plus{justify-self:center;font-size:7vw;}
.pcost-box{padding:4.3vw 3.2vw;}
.pcost-box h5{font-size:3.7vw;}
.pcost-ins{font-size:4.5vw;padding:2.4vw 5vw;}
.pcost-sub{font-size:3.2vw;}
.pcost-prices{gap:2.4vw;}
.pcost-price{padding:3.2vw 1.6vw;}
.pcost-kind{font-size:3.5vw;}
.pcost-kind small{font-size:2.7vw;}
.pcost-yen{font-size:5.6vw;}
.pcost-yen small,.pcost-yen span{font-size:3vw;}
.pcost-tax{font-size:2.9vw;}
.pcost-badge{font-size:2.9vw;padding:1.8vw 2vw;}
.pcost-flacs{grid-template-columns:1fr;}
.pcost-note{font-size:3.1vw;}
}
.pcost h4.pcost-ttl{padding-left:0;}
.pcost h4.pcost-ttl::before,.pcost h4.pcost-ttl::after{content:none;display:none;}
.pcost .pcost-box,.pcost .pcost-box p,.pcost .pcost-box h5{text-align:center;}
.pcost p.pcost-lead,.pcost p.pcost-text,.pcost p.pcost-note{text-align:left;}
#contentprice .pcost p.pcost-lead{color:#fff;}
.pcost-num{font-family:"Noto Sans JP",sans-serif;font-weight:700;}

/* 病気百科: 図の横並び（disease-figs）と「図＋説明」の2列（disease-fig-text）2026-10-12 */
.wysiwyg .wp-block-columns.disease-figs,.wysiwyg .wp-block-columns.disease-fig-text{display:flex;gap:2.4rem;align-items:flex-start;margin-bottom:3.2rem;}
.wysiwyg .wp-block-columns.disease-figs > .wp-block-column{flex:1 1 0;min-width:0;}
.wysiwyg .wp-block-columns.disease-fig-text > .wp-block-column:first-child{flex:0 0 50%;}
.wysiwyg .wp-block-columns.disease-fig-text > .wp-block-column:last-child{flex:1 1 0;min-width:0;align-self:center;}
.wysiwyg .wp-block-columns.disease-figs img,.wysiwyg .wp-block-columns.disease-fig-text img{width:100%;height:auto;}
.wysiwyg .wp-block-columns.disease-figs figure,.wysiwyg .wp-block-columns.disease-fig-text figure{margin:0;}
.wysiwyg figure figcaption.wp-element-caption{font-size:1.4rem;line-height:1.6;text-align:center;color:#222;margin-top:1rem;}
@media screen and (max-width: 767px){
.wysiwyg .wp-block-columns.disease-figs,.wysiwyg .wp-block-columns.disease-fig-text{flex-direction:column;gap:3.2vw;margin-bottom:6.4vw;}
.wysiwyg .wp-block-columns.disease-fig-text > .wp-block-column:first-child{flex:none;width:100%;}
.wysiwyg figure figcaption.wp-element-caption{font-size:3.4vw;}
}
.pcost,.pcost *{box-sizing:border-box;}
.pcost-row > *,.pcost-prices > *{min-width:0;}
#contentscataract .pcost h4.pcost-ttl::before,#contentscataract .pcost h4.pcost-ttl::after,#contentprice .pcost h4.pcost-ttl::before{content:none;display:none;}
#contentscataract .pcost h4.pcost-ttl{padding-left:0;margin-right:0;}
@media screen and (max-width: 767px){
.pcost-yen{white-space:normal;font-size:5vw;}
.pcost-flacs figure{width:70%;margin:0 auto;}
.pcost-block{padding-left:3.2vw;padding-right:3.2vw;}
.pcost-box{padding-left:2.4vw;padding-right:2.4vw;}
}

/* 2026-10-14 網膜の病気：眼底写真・OCT写真をひと回り小さく（小澤さん指示） */
.wysiwyg figure.is-fundus{max-width:60rem;margin-left:auto;margin-right:auto;}
.wysiwyg figure.is-oct{max-width:44rem;margin-left:auto;margin-right:auto;}
.wysiwyg figure.is-fundus img,.wysiwyg figure.is-oct img{width:100%;height:auto;}
@media screen and (max-width: 767px){
.wysiwyg figure.is-oct{max-width:80%;}
}

/* 2026-10-19 アフターケア（ICL）・アフターサービス（レーシック）：スマホでもPCと同じく先生の写真を右端・下辺にそろえる */
@media screen and (max-width: 767px){
#contentprice .inBox2.has-photo{display:block;padding-right:5.333vw;}
#contentprice .inBox2.has-photo .aftercare-photo{position:absolute;right:1.6vw;top:auto;bottom:0;width:21vw;margin:0;}
#contentprice .inBox2.has-photo .aftercare-photo img{width:100%;height:auto;}
/* 見出しと説明文は全幅、写真の横に来る下の部分（再手術保証・箇条書き・注記）だけ右を空ける */
#contentprice .inBox2.has-photo > h5,
#contentprice .inBox2.has-photo > ul,
#contentprice .inBox2.has-photo > p.mmtext{margin-right:19vw;}
#contentprice .inBox2.has-photo > p.mmtext{min-height:12vw;}
}
/* 2026-10-19 手術方法（METHOD）の番号がスマホの横スライドで上半分切れていた→スライドの上に余白 */
@media screen and (max-width: 767px){
#contentsmethod .inner-Box ul.spux-slider{padding-top:8vw !important;}
}
/* 本文の費用表（.is-cost）：見出しマスの幅30%指定を外して列をそろえ、金額は「40,000円」の途中で割らない 2026-10-19 */
.wysiwyg .is-cost th{width:auto;text-align:center;}
.wysiwyg .is-cost td{text-align:center;}
.wysiwyg .is-cost td:first-child{text-align:left;white-space:nowrap !important;}
.wysiwyg .is-cost .nw{white-space:nowrap;display:inline-block;}
@media screen and (max-width: 767px){
.wysiwyg .is-cost table{min-width:0;}
.wysiwyg .is-cost th,.wysiwyg .is-cost td{padding:2.4vw 1.6vw !important;font-size:3.4vw;letter-spacing:0 !important;}
}

/* 2026-10-24 本文の画像を小さめに出す（ブロックの追加CSSクラス is-w-m / is-w-s） */
.wysiwyg figure.is-w-m{max-width:52rem;margin-left:auto;margin-right:auto;}
.wysiwyg figure.is-w-s{max-width:36rem;margin-left:auto;margin-right:auto;}
.wysiwyg figure.is-w-m img,.wysiwyg figure.is-w-s img{width:100% !important;}

/* ハンバーガーの「メニュー」表記 */
#pc-glnavi .h-menu .zdo_drawer_buttonsp .menu-label{display:none;}
@media screen and (min-width:768px) and ( max-width:1280px) {
#pc-glnavi .h-menu .zdo_drawer_buttonsp .menu-label{display:block;position:absolute;left:50%;top:1.8rem;transform:translateX(-50%);white-space:nowrap;font-size:1rem;line-height:1;letter-spacing:0.05em;font-weight:700;color:var(--blue);}
}
@media screen and (max-width: 767px) {
#pc-glnavi .h-menu .zdo_drawer_buttonsp .menu-label{display:block;position:absolute;left:50%;top:6vw;transform:translateX(-50%);white-space:nowrap;font-size:2.8vw;line-height:1;letter-spacing:0.05em;font-weight:700;color:var(--blue);}
}

/* 実際の写真のぼかし（figure.is-style-sensitive・sensitive-photo.js） */
figure.is-style-sensitive .sens-wrap{display:block;position:relative;overflow:hidden;}
figure.is-style-sensitive .sens-wrap img{display:block;transition:filter .3s ease;}
figure.is-style-sensitive.is-masked .sens-wrap img{filter:blur(24px);transform:scale(1.1);}
figure.is-style-sensitive .sens-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;background:rgba(34,34,34,.35);color:#fff;text-align:center;padding:1.6rem;}
figure.is-style-sensitive .sens-note{font-size:1.4rem;line-height:1.6;font-weight:700;letter-spacing:.05em;text-shadow:0 1px 3px rgba(0,0,0,.5);}
figure.is-style-sensitive .sens-btn{appearance:none;border:1px solid #fff;background:var(--blue);color:#fff;font-size:1.4rem;font-weight:700;letter-spacing:.1em;line-height:1;padding:1.2rem 2.4rem;border-radius:999px;cursor:pointer;}
figure.is-style-sensitive .sens-btn:hover,figure.is-style-sensitive .sens-btn:focus-visible{background:#fff;color:var(--blue);}
@media screen and (max-width: 767px) {
figure.is-style-sensitive .sens-note{font-size:3.2vw;}
figure.is-style-sensitive .sens-btn{font-size:3.5vw;padding:3vw 6vw;}
}

/* 2026-10-27 SP・タブレットのヘッダー：透けてメニューが見えにくい→白地を全幅に */
@media screen and (max-width:1280px){
header{left:0;right:0;width:100%;box-sizing:border-box;background:rgba(255,255,255,.96);box-shadow:0 .2rem 1.2rem rgba(34,34,34,.08);}
/* クリニック一覧の3院は青いボタンにして目立たせる */
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic{display:grid;gap:1.2rem;padding:0 4rem 2.4rem;margin-bottom:0;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li:first-child{margin:0 -4rem .4rem;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li a{margin:0;padding:2rem 6.4rem 2rem 2.4rem;background:var(--blue);color:#fff;border:none;border-radius:.6rem;font-size:1.7rem;font-weight:700;line-height:1.4;box-shadow:0 .3rem .8rem rgba(48,73,137,.2);}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li a::before{top:50%;right:2rem;width:3.2rem;height:3.2rem;margin-top:-1.6rem;border-radius:50%;background:#fff url(../images/common/arr.svg) no-repeat center center;background-size:.8rem auto;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li:last-child a{border-bottom:none;}
}
@media screen and (max-width:767px){
/* メニューを開いた時のロゴをヘッダーと同じ大きさ・位置に */
#pc-menu-open .h-logo{padding:5.6vw 0 0 4.3vw;height:17.3vw;box-sizing:border-box;}
#pc-menu-open .h-logo a{width:28.4vw;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic{gap:3.2vw;padding:0 5.2vw 6.4vw;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li:first-child{margin:0 -5.2vw 1.2vw;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li a{padding:5.2vw 16vw 5.2vw 5.6vw;font-size:4.5vw;line-height:1.3;border-radius:1.6vw;}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li a::before{right:4.8vw;width:8.5vw;height:8.5vw;margin-top:-4.25vw;background-size:2.1vw auto;}
}
/* 2026-10-27 タブレットでは3院のボタンを横3列に（横長になりすぎるため） */
@media screen and (min-width:768px) and (max-width:1280px){
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic{grid-template-columns:repeat(3,1fr);}
#pc-menu-open .ft-sp-navibox ul.f-navi--clinic li:first-child{grid-column:1 / -1;}
}

/* 担当医カレンダー: ホームページに出す月より後の空欄（2026-10-31） */
.dcal__table td.is-unpub,.dcal__dates td.is-unpub,.dcal__slot td.is-unpub{background:#f6f6f6;}
