@charset "UTF-8";
:root{--ink:#625b4e;--green:#70af58;--green-dark:#467438;--pale:#f3f6ef;--line:#dfe4da;--content:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.9;letter-spacing:.055em;-webkit-text-size-adjust:100%}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}ul{list-style:none;margin:0;padding:0}em,address{font-style:normal}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,[tabindex]:focus-visible{outline:3px solid #339390;outline-offset:5px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 20px;background:#fff;transform:translateY(-200%)}.skip-link:focus{transform:none}.mobile-only{display:none}.content-width{width:min(var(--content),calc(100% - 100px));margin-inline:auto}
.site-header{height:138px;max-width:1600px;margin:auto;display:flex;align-items:flex-start;justify-content:space-between;padding-left:55px}.brand{width:425px;margin-top:34px}.header-nav{display:flex;flex-shrink:0}.header-nav a{width:170px;height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:17px;font-weight:700;line-height:1.3;letter-spacing:.16em;text-align:center;transition:filter .2s}.header-nav a:hover{filter:brightness(.95)}.header-nav img{width:59px;height:48px;object-fit:contain;margin-bottom:8px}.header-nav .nav-access{background:#d1d721}.header-nav .nav-recruit{background:#63b747}
.hero{max-width:1600px;margin:auto;padding-bottom:0}.hero-art{position:relative;isolation:isolate;overflow:hidden;background:url('../images/bg-mesh.svg') repeat}.hero-new{position:absolute;width:610px;top:22px;left:32px}.hero-title{position:absolute;left:176px;top:240px;width:700px}.hero-date{position:absolute;width:355px;right:175px;top:64px}.hero-sparkle{position:absolute;right:205px;top:535px;width:295px}.hero-details{position:absolute;left:176px;top:680px;font-size:17px;line-height:1.8;font-weight:700;letter-spacing:.08em}.hero-description{padding-left:23px;position:relative}.hero-description::before{content:"";position:absolute;left:0;top:8px;width:13px;height:13px;background:#938f71;border-radius:1px}.hero-address{margin-top:27px;display:flex;align-items:center;gap:12px}.hero-address svg{width:16px;height:21px;flex-shrink:0}.map-label{color:#70af58;font-weight:700}.recruit-cta{position:relative;display:flex;width:min(685px,calc(100% - 48px));min-height:110px;align-items:center;justify-content:center;gap:45px;margin:28px auto 0;padding:22px 50px;border-radius:100px;background:var(--green-dark);color:#fff;font-size:26px;font-weight:700;letter-spacing:.12em;transition:background .2s,transform .2s}.recruit-cta span{font-size:43px;font-family:Arial,sans-serif;line-height:1}.recruit-cta:hover{background:#375f2d;transform:translateY(-2px)}
.section-heading{text-align:center}.section-kicker{font-size:13px;color:var(--green-dark);letter-spacing:.19em;font-weight:700;line-height:1.5}.section-heading h2{font-size:32px;line-height:1.5;letter-spacing:.13em;margin-top:14px;font-weight:700}.section-heading h2::after{content:"";display:block;width:62px;height:12px;margin:27px auto 0;background:url('../images/title-deco.svg') center/contain no-repeat}.section-heading>p:last-child:not(.section-kicker){font-size:16px;margin-top:40px;font-weight:400}
.greeting{padding:100px 0 90px}.greeting-lead{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:76px;min-height:295px}.greeting-lead h3{font-size:37px;line-height:2;letter-spacing:.04em}.greeting-lead h3 span{display:block}.greeting-lead em{color:#56873f}.greeting-lead img{width:220px;margin-right:28px;flex-shrink:0}.greeting-copy{margin-top:48px;line-height:2.55;font-size:21px;letter-spacing:.11em}.greeting-copy strong{color:#56873f;font-weight:700}.doctor-sign{margin-top:55px;text-align:right}.doctor-sign p:first-child{font-size:14px;letter-spacing:.12em}.doctor-sign p:last-child{font-size:18px;letter-spacing:.16em;margin-top:5px}.doctor-sign strong{font-size:24px;font-weight:500;margin-left:12px}
.recruit{width:min(1300px,calc(100% - 80px));margin:0 auto 150px;background:var(--pale);padding:72px 96px 48px;scroll-margin-top:25px}.recruit h2{text-align:center;font-size:29px;letter-spacing:.15em;font-weight:700}.recruit-intro{text-align:center;font-size:16px;margin-top:22px;letter-spacing:.11em}.recruit-roles{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:50px}.recruit-roles .recruit-role{display:flex;min-height:272px;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:17px;padding:36px 16px 32px;transition:transform .2s,box-shadow .2s}.recruit-roles a:hover{transform:translateY(-4px);box-shadow:0 8px 24px #46743812}.recruit-roles img{width:112px;height:112px}.recruit-roles h3{font-size:23px;color:#44433c;margin-top:23px;font-weight:700;letter-spacing:.025em;white-space:nowrap}.recruit-contact{background:white;display:flex;justify-content:center;align-items:center;gap:80px;min-height:174px;padding:32px;margin-top:46px}.recruit-contact h3{font-size:20px;font-weight:500}.recruit-contact p{font-size:12px;color:#99958a;margin-top:7px;letter-spacing:.045em}.recruit-phone{color:var(--green-dark);font-family:Arial,sans-serif;font-size:49px;line-height:1.4;font-weight:700;letter-spacing:.015em;white-space:nowrap}.recruit-phone span{font-size:18px;font-weight:400;margin-right:12px}
.medical{background:#f3f6f0;padding:118px 0 122px}.medical-primary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}.medical-card{background:#fff;border-radius:22px;padding:45px 34px 37px}.medical-card>img{width:105px;height:120px;object-fit:contain;margin:0 auto 27px}.medical-card h3{text-align:center;color:#5b7750;font-size:26px;font-weight:700;letter-spacing:.1em}.medical-card>p{font-size:15px;line-height:1.9;min-height:100px;margin-top:27px;padding-bottom:25px;border-bottom:1px solid var(--line);letter-spacing:.015em}.medical-card ul{margin-top:24px}.medical-card li{position:relative;padding-left:15px;font-size:15px;line-height:2;letter-spacing:.01em}.medical-card li::before{content:"";position:absolute;left:0;top:12px;width:5px;height:5px;background:#83b65c}.medical-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin-top:26px}.medical-secondary li{display:flex;align-items:center;gap:30px;padding:25px 12px;border-bottom:1px solid var(--line);font-size:16px;font-weight:700;line-height:1.8;min-height:108px}.medical-secondary img{flex-shrink:0;width:50px;height:60px;object-fit:contain}
.access{padding:130px 0 105px}.access-width{width:min(1024px,calc(100% - 100px));margin:auto}.hours-block{margin-top:70px}.hours-block h3{font-size:18px;margin-bottom:22px;font-weight:700}.hours-block h3>span{font-size:14px;font-weight:400;color:#99958a;margin-left:25px}.hours-scroll{border:1px solid #e7ebe3;border-radius:18px;overflow-x:auto}.hours-table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:center;letter-spacing:.02em}.hours-table th,.hours-table td{padding:23px 8px;font-weight:400;font-size:18px;border-bottom:1px solid #e7ebe3}.hours-table thead th{font-size:15px;font-weight:700;background:var(--pale);color:#5b7750}.hours-table tbody th{width:28%}.hours-table td{color:var(--green-dark);width:10.28%;font-size:22px}.hours-table .closed{color:#c1c3bd}.hours-table tr:last-child>*{border-bottom:0}.hours-notes{font-size:14px;line-height:1.95;margin-top:22px;letter-spacing:.03em}.hours-notes span{color:var(--green-dark)}.access-map{margin-top:55px;scroll-margin-top:30px;aspect-ratio:1024/480;background:#edf0e9;overflow:hidden}.access-map iframe{width:100%;height:100%;display:block;border:0}.access-details{text-align:center;margin-top:40px;color:#45473c;font-size:17px;letter-spacing:.045em;line-height:1.9}.access-details address{font-weight:700}.access-transport{display:flex;justify-content:center;flex-wrap:wrap;gap:0 15px;font-weight:700}.access-transport span+span::before{content:"/";margin-right:15px}.landmark{color:#8b887d;font-size:15px;margin-top:20px}.map-external{display:inline-block;color:#648954;font-size:13px;margin-top:14px;border-bottom:1px solid #b9ceb0}.site-footer{background:var(--pale);text-align:center;padding:52px 20px 37px}.site-footer img{width:168px;margin:0 auto 42px}.site-footer p{font-size:13px;color:#8d8f81;line-height:1.8;letter-spacing:.04em}.site-footer small{display:block;margin-top:42px;font-family:Arial,sans-serif;font-size:12px;color:#a4a498;letter-spacing:.03em}
@media(min-width:821px) and (max-width:1599px){.site-header{height:8.625vw;padding-left:3.4375vw}.brand{width:26.5625vw;margin-top:2.125vw}.header-nav a{width:10.625vw;height:8.625vw;font-size:clamp(11px,1.0625vw,17px)}.header-nav img{width:3.6875vw;height:3vw;margin-bottom:.5vw}.hero-new{width:38.125vw;top:1.375vw;left:2vw}.hero-title{left:11vw;top:15vw;width:43.75vw}.hero-date{width:22.1875vw;right:10.9375vw;top:4vw}.hero-sparkle{right:12.8125vw;top:33.4375vw;width:18.4375vw}.hero-details{left:11vw;top:42.5vw;font-size:clamp(12px,1.0625vw,17px)}.hero-address{margin-top:1.6875vw}.recruit-cta{min-height:6.875vw;margin-top:1.75vw;font-size:clamp(18px,1.625vw,26px);width:42.8125vw;padding:1.375vw 3.125vw}.content-width{width:77.5%;max-width:1240px}.greeting-lead h3{font-size:clamp(27px,2.3125vw,37px)}.greeting-copy{font-size:clamp(16px,1.3125vw,21px)}.recruit{width:81.25%;padding:4.5vw 6vw 3vw}.recruit-roles{gap:2.375vw}.recruit-roles .recruit-role{min-height:17vw}.recruit-roles h3{font-size:clamp(16px,1.4375vw,23px)}.recruit-contact{gap:4vw}.recruit-phone{font-size:clamp(30px,3.0625vw,49px)}.recruit-contact h3{font-size:clamp(15px,1.25vw,20px)}.access-width{width:64%;max-width:1024px}.medical-card{padding:35px 25px}.medical-card li{font-size:14px}.medical-secondary li{gap:20px;font-size:14px}}
@media(max-width:820px){body{font-size:15px}.site-header{height:88px;padding-left:24px;align-items:flex-start}.brand{width:min(330px,calc(100% - 190px));margin-top:24px}.header-nav a{width:85px;height:88px;font-size:11px;letter-spacing:.08em}.header-nav img{width:35px;height:30px;margin-bottom:5px}.content-width{width:calc(100% - 56px)}.hero-new{width:360px;top:5px;left:10px}.hero-title{left:40px;top:140px;width:420px}.hero-date{width:200px;top:53px;right:30px}.hero-sparkle{width:145px;top:350px;right:40px}.hero-details{left:40px;top:400px;font-size:13px;max-width:360px}.hero-address{margin-top:23px}.recruit-cta{margin-top:0;min-height:74px;font-size:20px;max-width:510px;gap:24px;padding:15px 25px}.recruit-cta span{font-size:30px}.section-heading h2{font-size:26px}.section-kicker{font-size:11px}.section-heading h2::after{width:52px;margin-top:20px}.greeting{padding:85px 0 65px}.greeting-lead{margin-top:55px;gap:25px;min-height:230px}.greeting-lead h3{font-size:27px;line-height:2}.greeting-lead img{width:160px;margin:0}.greeting-copy{font-size:16px;letter-spacing:.065em;line-height:2.3;margin-top:36px}.doctor-sign{margin-top:35px}.doctor-sign p:first-child{font-size:12px}.doctor-sign p:last-child{font-size:14px}.doctor-sign strong{font-size:20px}.recruit{width:calc(100% - 40px);padding:42px 30px 30px;margin-bottom:85px}.recruit h2{font-size:25px}.recruit-intro{font-size:14px;letter-spacing:.03em;margin-top:16px}.recruit-roles{gap:16px;margin-top:32px}.recruit-roles .recruit-role{padding:25px 10px;min-height:185px;border-radius:12px}.recruit-roles img{width:80px;height:80px}.recruit-roles h3{font-size:16px;margin-top:20px;letter-spacing:0}.recruit-contact{margin-top:28px;padding:25px;gap:25px;min-height:120px}.recruit-contact h3{font-size:15px}.recruit-contact p{font-size:10px}.recruit-phone{font-size:31px}.recruit-phone span{font-size:13px;margin-right:7px}.medical{padding:80px 0}.medical-primary{gap:18px;margin-top:38px}.medical-card{padding:30px 22px;border-radius:15px}.medical-card>img{width:75px;height:85px;margin-bottom:20px}.medical-card h3{font-size:20px}.medical-card>p{font-size:12px;min-height:105px}.medical-card li{font-size:12px}.medical-secondary{gap:0 18px}.medical-secondary li{gap:15px;font-size:12px;padding:20px 2px;min-height:100px}.medical-secondary img{width:37px;height:48px}.access{padding:90px 0 75px}.access-width{width:calc(100% - 80px)}.hours-block{margin-top:50px}.hours-block h3{font-size:16px}.hours-block h3>span{font-size:12px}.hours-table th,.hours-table td{padding:18px 5px;font-size:16px}.hours-table thead th{font-size:13px}.hours-notes{font-size:12px}.access-map{margin-top:35px;min-height:320px;aspect-ratio:auto;height:360px}.access-details{font-size:14px;margin-top:28px}.access-transport{gap:3px 9px}.access-transport span+span::before{margin-right:9px}.landmark{font-size:13px}.site-footer img{width:140px;margin-bottom:30px}.site-footer{padding:45px 20px 30px}.site-footer p{font-size:11px}.site-footer small{font-size:10px;margin-top:30px}}
@media(max-width:600px){.mobile-only{display:initial}.site-header{height:77px;padding-left:16px}.brand{width:calc(100% - 148px);max-width:265px;margin-top:22px}.header-nav a{width:66px;height:77px;font-size:10px}.header-nav img{width:29px;height:27px}.hero-new{width:270px;left:6px;top:7px}.hero-title{left:25px;top:130px;width:min(81%,360px)}.hero-date{top:325px;right:18px;width:150px}.hero-sparkle{width:88px;right:24px;top:36px}.hero-details{left:26px;top:360px;font-size:11px;letter-spacing:.045em;max-width:calc(100% - 195px)}.hero-description{padding-left:15px;line-height:1.9}.hero-description::before{width:8px;height:8px;top:6px}.hero-address{position:relative;width:calc(100vw - 52px);max-width:400px;font-size:11px;margin-top:45px;gap:8px}.hero-address svg{width:13px;height:18px}.recruit-cta{width:calc(100% - 48px);min-height:62px;margin-top:-30px;font-size:16px;letter-spacing:.07em;gap:18px;padding:15px 20px}.greeting{padding:72px 0 50px;padding-bottom:50px}.content-width{width:calc(100% - 48px)}.section-heading h2{font-size:23px;letter-spacing:.11em;margin-top:10px}.section-kicker{font-size:10px}.section-heading h2::after{width:48px;height:9px;margin-top:18px}.greeting-lead{margin-top:43px;gap:10px;min-height:160px}.greeting-lead h3{font-size:clamp(17px,4.25vw,23px);line-height:2;letter-spacing:0;flex-shrink:0}.greeting-lead img{width:27%;max-width:115px}.greeting-copy{font-size:14px;line-height:2.25;letter-spacing:.05em;margin-top:27px}.doctor-sign{margin-top:27px}.doctor-sign p:first-child{font-size:10px}.doctor-sign p:last-child{font-size:12px}.doctor-sign strong{font-size:17px}.recruit{width:calc(100% - 32px);padding:32px 18px 22px;margin-bottom:65px}.recruit h2{font-size:22px}.recruit-intro{font-size:12px;line-height:1.9}.recruit-roles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:27px}.recruit-roles .recruit-role{min-height:160px;padding:20px 10px}.recruit-roles img{width:77px;height:77px}.recruit-roles h3{font-size:15px;margin-top:14px}.recruit-contact{flex-direction:column;text-align:center;gap:15px;padding:25px 10px;margin-top:22px}.recruit-contact h3{font-size:14px}.recruit-contact p{font-size:9px}.recruit-phone{font-size:32px}.medical{padding:65px 0}.section-heading>p:last-child:not(.section-kicker){font-size:12px;line-height:1.9;margin-top:28px}.medical-primary{grid-template-columns:1fr;gap:18px;margin-top:32px}.medical-card{display:grid;grid-template-columns:72px 1fr;column-gap:20px;padding:26px 22px}.medical-card>img{grid-column:1;grid-row:1/3;width:66px;height:80px;margin:auto}.medical-card h3{text-align:left;align-self:end;font-size:21px}.medical-card>p{border:0;min-height:0;padding:0;margin-top:10px;font-size:12px}.medical-card ul{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.medical-card li{font-size:11px;line-height:1.85;padding-left:10px}.medical-card li::before{width:4px;height:4px;top:8px}.medical-secondary{grid-template-columns:1fr 1fr;gap:0 17px;margin-top:15px}.medical-secondary li{font-size:11px;gap:10px;line-height:1.8;padding:17px 0;min-height:85px}.medical-secondary img{width:31px;height:42px}.access{padding:72px 0 62px}.access-width{width:calc(100% - 40px)}.hours-block{margin-top:40px}.hours-block h3{font-size:14px;margin-bottom:17px}.hours-block h3>span{font-size:10px;margin-left:16px}.hours-table th,.hours-table td{font-size:12px;padding:16px 3px}.hours-table thead th{font-size:10px}.hours-table tbody th{font-size:11px;letter-spacing:0}.hours-scroll{border-radius:12px}.hours-notes{font-size:10px;margin-top:16px;letter-spacing:0}.access-map{height:290px;min-height:0;margin-top:30px}.access-details{font-size:12px;letter-spacing:.015em;margin-top:24px}.access-transport{display:block;margin-top:7px;font-size:11px}.access-transport span{display:block}.access-transport span+span::before{content:none}.landmark{font-size:11px;line-height:2;margin-top:15px}.map-external{font-size:11px}.site-footer{padding-top:40px}.site-footer img{width:122px;margin-bottom:27px}.site-footer p{font-size:10px}.site-footer small{font-size:9px}}
@media(max-width:360px){.hero-title{top:125px}.hero-date{width:132px;right:14px}.hero-details{left:22px;max-width:calc(100% - 177px);top:335px}.recruit-cta{font-size:14px;gap:12px}.greeting-lead h3{font-size:16px}.greeting-lead img{width:25%}.recruit-phone{font-size:28px}.medical-card ul{grid-template-columns:1fr}.medical-secondary li{font-size:10px}.hours-table tbody th{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-date{aspect-ratio:354.89/369.79}.hero-date img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.opening-bg{animation:opening-rotate 30s linear infinite;transform-origin:50% 50%}.opening-text{z-index:1}@keyframes opening-rotate{to{transform:rotate(360deg)}}

.hero-description{max-width:390px}.hero-description::before{background:url(../images/icon-note.svg) center/contain no-repeat;width:14px;height:18px;top:5px}@media(max-width:1599px) and (min-width:821px){.hero-description{max-width:24.375vw}}@media(max-width:820px){.hero-description{max-width:285px}}@media(max-width:600px){.hero-description{max-width:100%}.hero-description::before{width:9px;height:13px;top:4px}}
@media(min-width:601px) and (max-width:720px){.hero-date{top:340px;width:180px;right:25px}.hero-sparkle{top:40px;right:30px;width:105px}.hero-details{max-width:330px}.hero-description{max-width:285px}}
@media(max-width:360px){.hero-new{width:225px}.hero-sparkle{width:66px;right:16px;top:40px}}

/* 追従ヘッダーと、スクロール開始後の開院・事前予約案内 */
html{scroll-padding-top:calc(var(--header-height,138px) + 24px);scroll-padding-bottom:calc(var(--opening-banner-height,110px) + 16px)}
.site-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 #625b4e0a}
body.has-opening-banner{padding-bottom:var(--opening-banner-height,110px)}
.opening-banner{position:fixed;inset:auto 0 0;z-index:60;padding:20px 32px calc(20px + env(safe-area-inset-bottom));background:var(--reservation-color,#76bf53);visibility:hidden;opacity:0;transform:translateY(100%);transition:transform .25s ease,opacity .25s ease,visibility .25s;pointer-events:none}
.opening-banner.is-visible{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
.opening-banner-inner{width:min(1100px,100%);margin-inline:auto;display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);align-items:center;gap:32px}
.opening-banner-text{display:block;width:100%}
.opening-banner-text img{width:100%;height:auto}
.opening-banner-reserve{position:relative;display:flex;align-items:center;justify-content:center;min-height:70px;padding:15px 38px 15px 24px;background:#fff;color:var(--reservation-color,#76bf53);border-radius:60px;font-size:22px;font-weight:700;line-height:1.5;letter-spacing:.12em;white-space:nowrap;transition:background .2s}
.opening-banner-reserve:hover{background:#f3f8ef}
.opening-banner-reserve>.banner-reservation-arrow{position:absolute;top:50%;right:27px;width:9px;height:9px;border-top:3px solid currentColor;border-right:3px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media(min-width:821px) and (max-width:1100px){.opening-banner-inner{gap:24px}.opening-banner-reserve{font-size:17px;letter-spacing:.06em;min-height:62px}.opening-banner-reserve>.banner-reservation-arrow{right:21px}}
@media(max-width:820px){html{scroll-padding-top:calc(var(--header-height,88px) + 18px)}.opening-banner{padding:14px 22px calc(14px + env(safe-area-inset-bottom))}.opening-banner-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px;max-width:630px}.opening-banner-text{max-width:260px}.opening-banner-reserve{min-height:78px;font-size:20px;letter-spacing:.06em;border-radius:12px;padding:18px 32px 18px 18px}.opening-banner-reserve>.banner-reservation-arrow{right:20px}}
@media(max-width:480px){html{scroll-padding-top:calc(var(--header-height,130px) + 14px)}.opening-banner{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.opening-banner-inner{gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.opening-banner-reserve{min-height:66px;font-size:clamp(12px,3.5vw,16px);padding:12px 23px 12px 10px;letter-spacing:.055em;border-radius:8px}.opening-banner-reserve>.banner-reservation-arrow{right:13px;width:7px;height:7px;border-width:2px}}
@media(prefers-reduced-motion:reduce){.opening-banner{transition:none}}

/* 9/29 パンフレット校正：挨拶・症状・予約案内 */
.greeting-copy p+p{margin-top:1.15em}
.medical-card--symptoms ul{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}
.medical-card--symptoms li{line-height:2.15}
.service-note{display:block;margin-top:4px;color:#8a887b;font-size:12px;font-weight:400;letter-spacing:.025em;white-space:nowrap}
.clinic-contact{margin-top:40px;padding:34px 40px 36px;background:var(--pale);border-radius:18px;text-align:center}
.clinic-contact h3{font-size:20px;font-weight:700;letter-spacing:.08em}
.clinic-phone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:25px}
.clinic-phone-item{padding:0 16px}
.clinic-phone-item+.clinic-phone-item{border-left:1px solid #d7dfcf}
.clinic-phone-item p{font-size:14px;letter-spacing:.06em}
.clinic-phone-item a{display:inline-block;margin-top:6px;color:var(--green-dark);font-family:Arial,sans-serif;font-size:clamp(23px,2.3vw,32px);font-weight:700;letter-spacing:.02em;line-height:1.5;white-space:nowrap}
.clinic-phone-item a:hover{text-decoration:underline;text-underline-offset:5px}
.web-reservation{display:flex;align-items:center;justify-content:center;gap:35px;width:min(440px,100%);min-height:60px;margin:27px auto 0;padding:13px 25px;background:var(--green-dark);color:#fff;border-radius:50px;font-size:17px;font-weight:700;transition:background .2s}
.web-reservation:hover{background:#375f2d}
.web-reservation>span[aria-hidden]{font-size:22px;line-height:1}
@media(max-width:820px){.clinic-contact{padding:28px 20px 30px}.clinic-contact h3{font-size:18px}.clinic-phone-item{padding:0 10px}.clinic-phone-item p{font-size:12px}.service-note{font-size:10px}}
@media(max-width:600px){.medical-card--symptoms>img{grid-row:1;width:55px;height:66px}.medical-card--symptoms h3{align-self:center}.medical-card--symptoms ul{grid-template-columns:1fr;gap:5px;margin-top:20px;padding-top:18px}.medical-card--symptoms li{font-size:13px;line-height:1.95}.medical-card--symptoms li::before{top:11px}.service-note{font-size:9px}.clinic-contact{margin-top:30px;padding:26px 20px;border-radius:14px}.clinic-contact h3{font-size:17px}.clinic-phone-list{grid-template-columns:1fr;margin-top:22px;gap:18px}.clinic-phone-item+.clinic-phone-item{border-left:0;border-top:1px solid #d7dfcf;padding-top:18px}.clinic-phone-item a{font-size:27px;margin-top:4px}.web-reservation{min-height:54px;margin-top:24px;font-size:15px;gap:24px}}

/* 予約・募集の導線：ヘッダー3項目とMV下の2段ボタン */
:root{--recruit-color:#489f9e;--reservation-color:#76bf53}
.header-nav .nav-recruit{background:var(--recruit-color)}
.header-nav .nav-reserve{background:var(--reservation-color)}
.hero-actions{position:relative;width:min(850px,calc(100% - 80px));display:grid;gap:30px;margin:-30px auto 0}
.hero-actions>.hero-cta{position:relative;display:flex;align-items:center;justify-content:center;gap:24px;width:100%;max-width:none;min-height:136px;margin:0;padding:25px 75px;border-radius:100px;color:white;font-size:32px;font-weight:700;letter-spacing:.1em;line-height:1.5;transition:filter .2s,transform .2s}
.hero-actions>.reserve-cta{background:var(--reservation-color)}
.hero-actions>.recruit-cta{background:var(--recruit-color)}
.hero-actions>.hero-cta:hover{filter:brightness(.95);transform:translateY(-2px)}
.reservation-start{flex-shrink:0;display:inline-flex;align-items:baseline;gap:5px;padding:3px 11px;background:#fff;color:#5c8244;font-size:21px;line-height:1.6;letter-spacing:.02em;white-space:nowrap}
.reservation-start time{font-family:Arial,sans-serif;font-size:27px;font-weight:500}
.cta-label{white-space:nowrap}
.hero-cta .cta-arrow{position:absolute;right:43px;top:50%;width:15px;height:15px;border-top:5px solid currentColor;border-right:5px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.web-reservation{background:var(--reservation-color)}
.web-reservation:hover{background:#64aa44}
@media(min-width:821px) and (max-width:1599px){.hero-actions{width:59%;gap:2.1vw;margin-top:-1.875vw}.hero-actions>.hero-cta{min-height:9.45vw;padding:1.74vw 5.2vw;font-size:clamp(19px,2.22vw,32px);gap:1.65vw}.reservation-start{font-size:clamp(13px,1.46vw,21px)}.reservation-start time{font-size:clamp(18px,1.875vw,27px)}.hero-cta .cta-arrow{right:3vw;width:12px;height:12px;border-width:4px}}
@media(max-width:820px){.brand{width:min(330px,calc(100% - 280px))}.hero-actions{width:min(610px,calc(100% - 56px));gap:22px;margin-top:-25px}.hero-actions>.hero-cta{min-height:92px;padding:20px 48px;font-size:22px;gap:17px;letter-spacing:.06em}.reservation-start{font-size:15px;padding:3px 9px}.reservation-start time{font-size:21px}.hero-cta .cta-arrow{right:28px;width:11px;height:11px;border-width:4px}}
@media(max-width:600px){.brand{width:calc(100% - 216px)}.hero-actions{width:calc(100% - 40px);gap:16px;margin-top:-30px}.hero-actions>.hero-cta{min-height:76px;padding:16px 34px;font-size:clamp(15px,3.7vw,20px);gap:10px;letter-spacing:.035em}.reservation-start{font-size:clamp(11px,2.6vw,14px);padding:3px 7px;gap:3px}.reservation-start time{font-size:clamp(16px,3.5vw,19px)}.hero-cta .cta-arrow{right:22px;width:9px;height:9px;border-width:3px}}
@media(max-width:480px){.site-header{height:auto;display:flex;flex-wrap:wrap;padding-left:0}.brand{width:265px;max-width:calc(100% - 48px);margin:12px auto}.header-nav{width:100%}.header-nav a{width:33.333%;height:68px;font-size:11px;letter-spacing:.1em}.header-nav img{width:29px;height:27px;margin-bottom:3px}.hero-actions>.reserve-cta{flex-wrap:wrap;column-gap:8px;row-gap:4px}.hero-actions>.hero-cta{padding-left:24px;padding-right:32px}}
@media(max-width:360px){.hero-actions>.hero-cta{font-size:13px;letter-spacing:.01em}.reservation-start{font-size:10px;padding:3px 5px}.reservation-start time{font-size:14px}.hero-cta .cta-arrow{right:17px;width:8px;height:8px}}

/* MVは見出し・説明文の高さに追従し、下部に余白を持たせる */
.hero-art{padding-top:240px;padding-bottom:140px}
.hero-art h1{margin-left:176px}
.hero-title{position:static}
.hero-details{position:static;margin:80px 0 0 176px}
@media(min-width:821px) and (max-width:1599px){.hero-art{padding-top:15vw;padding-bottom:8.75vw}.hero-art h1{margin-left:11vw}.hero-details{margin:5vw 0 0 11vw}}
@media(max-width:820px){.hero-art{padding-top:140px;padding-bottom:120px}.hero-art h1{margin-left:40px}.hero-details{margin:52px 0 0 40px}}
@media(max-width:600px){.hero-art{padding-top:130px;padding-bottom:140px}.hero-art h1{margin-left:25px}.hero-title{width:min(81vw,360px)}.hero-details{margin:70px 0 0 26px}}
@media(max-width:360px){.hero-art{padding-top:125px;padding-bottom:130px}.hero-details{margin-left:22px}}

/* 診療時間下の予約ボタンも、MVと同じ日付ラベル付きに */
.clinic-contact .web-reservation{position:relative;width:min(680px,100%);min-height:96px;padding:22px 55px;gap:24px;font-size:26px;letter-spacing:.06em;line-height:1.5}
.clinic-contact .web-reservation .reservation-start{font-size:16px;gap:4px;padding:4px 10px}
.clinic-contact .web-reservation .reservation-start time{font-size:22px}
.web-reservation .cta-arrow{position:absolute;right:30px;top:50%;width:12px;height:12px;border-top:4px solid currentColor;border-right:4px solid currentColor;transform:translateY(-50%) rotate(45deg)}
@media(max-width:1100px){.clinic-contact .web-reservation{font-size:20px;gap:16px;padding-inline:38px;min-height:80px}.clinic-contact .web-reservation .reservation-start{font-size:13px}.clinic-contact .web-reservation .reservation-start time{font-size:19px}.web-reservation .cta-arrow{right:22px;width:10px;height:10px;border-width:3px}}
@media(max-width:600px){.clinic-contact .web-reservation{width:100%;min-height:76px;gap:10px;padding:16px 27px 16px 15px;font-size:clamp(13px,3.3vw,18px);letter-spacing:.015em}.clinic-contact .web-reservation .reservation-start{font-size:10px;gap:2px;padding:3px 5px}.clinic-contact .web-reservation .reservation-start time{font-size:15px}.web-reservation .cta-arrow{right:15px;width:8px;height:8px;border-width:3px}}
@media(max-width:360px){.clinic-contact .web-reservation{flex-direction:column;gap:5px;padding:12px 24px;font-size:14px}}

/* 追従帯をコンパクトに。予約開始日を小さな予告ラベルで案内 */
.opening-banner{padding:10px 24px calc(10px + env(safe-area-inset-bottom))}
.opening-banner-inner{max-width:1000px;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);gap:28px}
.opening-banner-text{max-width:620px}
.opening-banner-reserve{min-height:54px;flex-direction:column;gap:3px;padding:6px 32px 7px 20px;font-size:17px;line-height:1.2;letter-spacing:.075em}
.banner-reservation-start{display:block;border:1px solid #b4d89e;border-radius:3px;padding:2px 7px;background:#f3f8ef;color:#5d8249;font-size:11px;font-weight:700;line-height:1.15;letter-spacing:.04em}
.banner-reservation-label{display:block}
.opening-banner-reserve>.banner-reservation-arrow{right:21px;width:8px;height:8px;border-width:3px}
@media(max-width:1100px) and (min-width:821px){.opening-banner-inner{gap:22px}.opening-banner-reserve{min-height:52px;font-size:15px}.banner-reservation-start{font-size:10px}}
@media(max-width:820px){.opening-banner{padding:8px 18px calc(8px + env(safe-area-inset-bottom))}.opening-banner-inner{max-width:560px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px}.opening-banner-text{max-width:176px;justify-self:center}.opening-banner-reserve{min-height:54px;font-size:17px;border-radius:8px;padding:5px 28px 5px 15px;gap:3px}.banner-reservation-start{font-size:10px}}
@media(max-width:480px){.opening-banner{padding:6px 12px calc(6px + env(safe-area-inset-bottom))}.opening-banner-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px}.opening-banner-text{max-width:160px}.opening-banner-reserve{min-height:56px;padding:4px 21px 4px 9px;gap:3px;font-size:13px;line-height:1.13;letter-spacing:.055em;border-radius:7px}.banner-reservation-start{padding:2px 5px;font-size:9px;letter-spacing:.025em}.banner-reservation-label{text-align:center}.banner-reservation-label>span{display:block}.opening-banner-reserve>.banner-reservation-arrow{right:11px;width:7px;height:7px;border-width:2px}}







/* 本サイト _setting.scss と同じ、画面幅に連動するrem基準。
   ティザーのスマホ用レイアウト（600px以下）に適用する。 */
@media (max-width:600px) {
  html { font-size:2.7vw; }
  body { font-size:1.5rem; }
  .content-width { width:calc(100% - 4.5rem); }
  .access-width { width:calc(100% - 3.8rem); }

  .header-nav a { font-size:1.05rem; }
  
  
  
  

  .hero-art { padding-top:12.35rem; padding-bottom:7.3rem; }
  .hero-art h1 { margin-left:2.37rem; }
  .hero-title { width:min(81vw,34.2rem); }
  .hero-new { width:25.64rem; left:.57rem; top:.66rem; }
  .hero-date { width:14.25rem; top:30.86rem; right:1.71rem; }
  .hero-sparkle { width:8.36rem; top:3.42rem; right:2.28rem; }
  .hero-details { margin:6.65rem 0 0 2.47rem; max-width:calc(100% - 18.52rem); font-size:1.1rem; }
  .hero-description { padding-left:1.42rem; }
  .hero-description::before { width:.85rem; height:1.23rem; top:.38rem; }
  .hero-address { width:calc(100vw - 4.94rem); max-width:none; margin-top:4.27rem; gap:.76rem; font-size:1.1rem; }
  .hero-address svg { width:1.23rem; height:1.71rem; }
  .hero-actions { width:calc(100% - 3.8rem); gap:1.52rem; margin-top:-2.85rem; }
  .hero-actions>.hero-cta { min-height:7.22rem; padding:1.52rem 3.04rem 1.52rem 2.28rem; font-size:1.65rem; gap:.95rem; letter-spacing:.035em; }
  .hero-actions>.reserve-cta { flex-wrap:nowrap; gap:.76rem; }
  .reservation-start { padding:.285rem .57rem; gap:.285rem; font-size:1.05rem; }
  .reservation-start time { font-size:1.45rem; }
  .hero-cta .cta-arrow { right:2.09rem; width:.85rem; height:.85rem; border-width:.285rem; }

  .section-kicker { font-size:1rem; }
  .section-heading h2 { font-size:2.3rem; }
  .section-heading>p:last-child:not(.section-kicker) { font-size:1.2rem; }
  .greeting-lead { gap:.95rem; }
  .greeting-lead h3 { font-size:1.8rem; }
  .greeting-lead img { width:27%; max-width:10.92rem; }
  .greeting-copy { font-size:1.4rem; }
  .doctor-sign p:first-child { font-size:1rem; }
  .doctor-sign p:last-child { font-size:1.2rem; }
  .doctor-sign strong { font-size:1.7rem; margin-left:1.14rem; }

  .recruit { width:calc(100% - 3.04rem); padding:3.04rem 1.71rem 2.09rem; }
  .recruit h2 { font-size:2.2rem; }
  .recruit-intro { font-size:1.2rem; }
  .recruit-roles { gap:1.33rem; }
  .recruit-roles .recruit-role { min-height:15.2rem; padding:1.9rem .95rem; }
  .recruit-roles img { width:7.31rem; height:7.31rem; }
  .recruit-roles h3 { font-size:1.5rem; margin-top:1.33rem; }
  .recruit-contact { padding:2.37rem .95rem; gap:1.42rem; }
  .recruit-contact h3 { font-size:1.4rem; }
  .recruit-contact p { font-size:1rem; }
  .recruit-phone { font-size:3.1rem; }
  .recruit-phone span { font-size:1.2rem; margin-right:.66rem; }

  .medical-card { grid-template-columns:6.84rem 1fr; column-gap:1.9rem; padding:2.47rem 2.09rem; }
  .medical-card>img { width:6.27rem; height:7.6rem; }
  .medical-card h3 { font-size:2.1rem; }
  .medical-card>p { font-size:1.2rem; }
  .medical-card ul { gap:.475rem; padding-top:1.71rem; margin-top:1.9rem; }
  .medical-card li { font-size:1.3rem; padding-left:.95rem; }
  .medical-card--symptoms>img { width:5.22rem; height:6.27rem; }
  .medical-card--symptoms li { font-size:1.3rem; }
  .medical-card--symptoms li::before { top:1.045rem; width:.38rem; height:.38rem; }
  .medical-secondary { gap:0 1.61rem; }
  .medical-secondary li { gap:.95rem; font-size:1.1rem; padding:1.61rem 0; min-height:8.07rem; }
  .medical-secondary img { width:2.94rem; height:3.99rem; }
  .service-note { font-size:.9rem; }

  .hours-block h3 { font-size:1.4rem; }
  .hours-block h3>span { font-size:1rem; margin-left:1.52rem; }
  .hours-table th,.hours-table td { font-size:1.2rem; padding:1.52rem .285rem; }
  .hours-table thead th { font-size:1rem; }
  .hours-table tbody th { font-size:1.1rem; }
  .hours-notes { font-size:1rem; }
  .access-details { font-size:1.2rem; }
  .access-transport,.landmark,.map-external { font-size:1.1rem; }

  .clinic-contact { padding:2.47rem 1.9rem; }
  .clinic-contact h3 { font-size:1.7rem; }
  .clinic-phone-item p { font-size:1.2rem; }
  .clinic-phone-item a { font-size:2.7rem; }
  .clinic-contact .web-reservation { flex-direction:row; min-height:7.22rem; gap:.76rem; padding:1.52rem 2.37rem 1.52rem 1.23rem; font-size:1.5rem; letter-spacing:.015em; }
  .clinic-contact .web-reservation .reservation-start { font-size:1rem; gap:.19rem; padding:.285rem .475rem; }
  .clinic-contact .web-reservation .reservation-start time { font-size:1.35rem; }
  .web-reservation .cta-arrow { right:1.42rem; width:.76rem; height:.76rem; border-width:.285rem; }
  .site-footer p { font-size:1rem; }
  .site-footer small { font-size:.9rem; }

  .opening-banner { padding:.57rem 1.14rem calc(.57rem + env(safe-area-inset-bottom)); }
  .opening-banner-inner { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:1.14rem; }
  .opening-banner-text { max-width:15.2rem; }
  .opening-banner-reserve { min-height:5.32rem; padding:.38rem 1.99rem .38rem .85rem; gap:.285rem; font-size:1.3rem; line-height:1.13; letter-spacing:.055em; border-radius:.66rem; }
  .banner-reservation-start { font-size:.9rem; padding:.19rem .475rem; letter-spacing:.025em; }
  .banner-reservation-label { text-align:center; }
  .banner-reservation-label>span { display:block; }
  .opening-banner-reserve>.banner-reservation-arrow { right:1.045rem; width:.66rem; height:.66rem; border-width:.19rem; }
}
@media (max-width:480px) {
  .brand { width:25.17rem; max-width:calc(100% - 4.56rem); margin:1.14rem auto; }
  .header-nav a { height:6.46rem; font-size:1.1rem; }
  .header-nav img { width:2.75rem; height:2.56rem; margin-bottom:.285rem; }
  
}

/* SP追従用ヘッダー：元の3ボタンが画面外に出てから滑らかに表示 */
.site-header { align-items:center; }
@media (min-width:481px) {
  .site-header>.brand { margin-top:0; margin-bottom:0; }
}
.compact-header { display:none; }
@media (max-width:820px) {
  .site-header { position:relative; }
  .compact-header {
    position:fixed; inset:0 0 auto; z-index:55;
    display:flex; align-items:center; justify-content:space-between;
    height:88px; padding-left:24px; overflow:hidden;
    background:#fff; box-shadow:0 1px 8px #625b4e0a;
    visibility:hidden; opacity:0; pointer-events:none;
    transition:opacity .28s ease,visibility 0s linear .42s;
  }
  .compact-header.is-visible {
    visibility:visible; opacity:1; pointer-events:auto;
    transition:opacity .28s ease,visibility 0s;
  }
  .compact-header .brand {
    width:min(330px,calc(100% - 190px)); max-width:none; margin:0;
    opacity:0; transform:translateY(-6px) scale(1.16); transform-origin:left center;
    transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s ease;
  }
  .compact-header .header-nav {
    width:auto; flex-shrink:0;
    transform:translateX(110%);
    transition:transform .45s cubic-bezier(.22,1,.36,1);
  }
  .compact-header.is-visible .brand { opacity:1; transform:translateY(0) scale(1); }
  .compact-header.is-visible .header-nav { transform:translateX(0); }
  .compact-header .header-nav a { width:85px; height:88px; font-size:11px; letter-spacing:.08em; }
  .compact-header .header-nav img { width:35px; height:30px; margin-bottom:5px; }
}
@media (max-width:600px) {
  .compact-header { height:7.31rem; padding-left:1.52rem; }
  .compact-header .brand { width:calc(100% - 14.05rem); max-width:25.17rem; margin:0; }
  .compact-header .header-nav a { width:6.27rem; height:7.31rem; font-size:1rem; }
  .compact-header .header-nav img { width:2.75rem; height:2.56rem; margin-bottom:.475rem; }
}
@media (prefers-reduced-motion:reduce) {
  .compact-header,.compact-header .brand,.compact-header .header-nav { transition:none; }
}

/* SPの主要コピーとボタンを、横幅を活かした大きさに */
@media(max-width:600px){
  .hero-actions>.hero-cta{font-size:1.95rem;letter-spacing:.025em}
  .hero-actions>.reserve-cta{gap:.7rem}
  .greeting-lead h3{font-size:2rem}
  .greeting-copy{font-size:1.6rem;line-height:2.15;letter-spacing:.04em}
  .clinic-contact .web-reservation{font-size:1.8rem;gap:.65rem;letter-spacing:.01em}
  .opening-banner-reserve{font-size:1.45rem;letter-spacing:.025em}
  .banner-reservation-start{font-size:1rem}
  .banner-reservation-label>span{display:inline}
}

/* 本文・診療項目・所在地は読みやすいサイズに。注釈は控えめなまま。 */
@media(max-width:600px){
  .hero-details{font-size:1.2rem;line-height:1.9}
  .hero-address{font-size:1.45rem}
  .hero-description::before{top:.65rem}
  .section-heading>p:last-child:not(.section-kicker){font-size:1.5rem}
  .recruit-intro{font-size:1.5rem;line-height:1.9}
  .recruit-intro .mobile-only{display:none}
  .recruit-roles h3{font-size:1.7rem}
  .recruit-contact h3{font-size:1.6rem}
  .doctor-sign p:first-child{font-size:1.2rem}
  .doctor-sign p:last-child{font-size:1.4rem}
  .doctor-sign strong{font-size:2.1rem}
  .medical-card>p,.medical-card li,.medical-card--symptoms li{font-size:1.6rem;line-height:1.9}
  .medical-card--symptoms li::before{top:1.27rem}
  .medical-secondary li{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.7rem;font-size:1.5rem;letter-spacing:.02em;line-height:1.7;padding:1.7rem .3rem}
  .medical-secondary img{width:3.3rem;height:3.8rem}
  .hours-block h3{font-size:1.6rem}
  .hours-table th,.hours-table td{font-size:1.5rem}
  .hours-table thead th,.hours-table tbody th{font-size:1.3rem}
  .hours-notes p:nth-child(-n+2){font-size:1.3rem}
  .access-details,.access-transport{font-size:1.5rem;line-height:1.9}
  .landmark,.map-external{font-size:1.4rem}
  .clinic-phone-item p{font-size:1.5rem}
  .site-footer p:first-of-type{font-size:1.3rem}
  .header-nav a{font-size:1.3rem}
  .compact-header .header-nav a{font-size:1.15rem}
}

/* SPのヘッダーボタンは内容＋上下の余白で高さを決める */
@media(max-width:820px){
  .site-header,.compact-header{height:auto}
  .header-nav a,.compact-header .header-nav a{height:auto;padding:.6em 0}
}

.greeting .content-width{max-width:890px}

/* 現在募集中の医療事務と、募集準備中の職種を区別 */
.recruit-roles .recruit-role{height:100%}
.recruit-status{display:inline-block;margin-top:14px;padding:3px 11px;border-radius:30px;background:#edf5e7;color:var(--green-dark);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.08em;white-space:nowrap}
.recruit-roles .is-coming-soon{background:#fafbf8;cursor:default}
.recruit-roles .is-coming-soon img{opacity:.45}
.recruit-roles .is-coming-soon h3{color:#85867e}
.is-coming-soon .recruit-status{background:none;color:#ddd;font-family:Arial,sans-serif;font-size:11px}
@media(max-width:600px){.recruit-status{margin-top:1rem;padding:.285rem .85rem;font-size:1.1rem}.is-coming-soon .recruit-status{font-size:1rem}}

/* 募集中の医療事務は通常時から影を付けてリンクを明示 */
.recruit-roles a.recruit-role{box-shadow:0 5px 18px #46743824;cursor:pointer}
.recruit-roles a.recruit-role:hover{box-shadow:0 9px 25px #46743838}

/* 10/1 求人のお問い合わせをFormMailerへ */
.recruit-contact--form{flex-direction:column;gap:20px;text-align:center}
.recruit-form-button{display:flex;align-items:center;justify-content:center;gap:22px;width:min(490px,100%);padding:17px 25px;border-radius:50px;background:var(--recruit-color);color:#fff;font-size:18px;font-weight:700;line-height:1.6;letter-spacing:.035em;transition:background .2s}
.recruit-form-button:hover{background:#367f7e}
.recruit-form-button>span[aria-hidden]{flex-shrink:0;font-size:1.2em}
.job-form-contact{margin-top:28px;padding:28px 20px;background:#f5f8f5;border-radius:12px}
.job-form-contact>p{font-size:16px;font-weight:700;margin-bottom:18px}
.job-form-contact .recruit-form-button{margin-inline:auto}
@media(max-width:600px){
.recruit-contact--form{gap:1.6rem;padding-inline:1.2rem}
.recruit-form-button{font-size:1.55rem;padding:1.5rem 1.2rem;gap:1rem;letter-spacing:.01em}
.job-form-contact{margin-top:2.2rem;padding:2rem 1.3rem;border-radius:1rem}
.job-form-contact>p{font-size:1.5rem;margin-bottom:1.6rem}
}
