:root{--blue:#0C74A8;--bright:#29ABE2;--yellow:#FFDD66;--pale:#F2F7F9;--ink:#213e4b;--muted:#536b76;--line:#d9e5e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95;letter-spacing:.035em}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p{margin:0}h1,h2,h3{line-height:1.6;margin:0;font-weight:700}h2{font-size:34px;letter-spacing:.06em}h3{font-size:20px}em{font-style:normal;color:var(--blue)}p{color:var(--muted)}.container{max-width:1120px;width:calc(100% - 64px);margin:auto}.section{padding:100px 0}.pale{background:var(--pale)}.en{display:block;color:var(--blue);font:700 13px/1.6 Arial,sans-serif;letter-spacing:.18em;margin-bottom:16px}.section-heading{text-align:center;margin-bottom:42px}.section-heading p{margin-top:18px}.split-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:46px}.split-heading>p{padding-top:20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:6px;min-height:62px;padding:15px 28px;font-size:16px;font-weight:700;line-height:1.5;transition:background .15s,box-shadow .15s}.line{background:#168345;color:white;box-shadow:0 4px 0 #0d6635}.line:hover{background:#106d39;box-shadow:0 2px 0 #0d6635}.button>span:last-child{margin-left:auto}.compact{min-height:46px;padding:10px 20px}.chat-icon{display:inline-flex;background:#fff;border-radius:50%;color:#168345;align-items:center;justify-content:center;min-width:26px;height:23px;letter-spacing:1px;font-size:16px}.skip{position:fixed;left:12px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}header{background:white;border-bottom:1px solid #edf1f3}.header-inner{max-width:1380px;padding:22px 42px;margin:auto;display:flex;align-items:center;gap:22px}.header-inner img{width:210px}.header-label{font-size:13px;border-left:1px solid var(--line);padding-left:20px}.header-inner nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.hero{position:relative;display:grid;grid-template-columns:48% 52%;max-width:1440px;margin:auto;padding:30px 0 0 60px}.hero-copy{padding:38px 12px 48px 18px;z-index:1}.eyebrow{font-size:14px;font-weight:700;color:var(--blue);display:flex;align-items:center;gap:10px}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--bright)}.service-label{font-size:24px;color:var(--blue);font-weight:700;margin-top:24px}.service-label span{display:inline-block;font-size:13px;border:1px solid #b9d6e3;border-radius:4px;padding:2px 10px;vertical-align:middle;margin-left:10px}h1{font-size:clamp(34px,3.4vw,50px);letter-spacing:.06em;line-height:1.55;margin:18px 0 22px}h1 em{background:linear-gradient(transparent 66%,var(--yellow) 66%,var(--yellow) 94%,transparent 94%);-webkit-box-decoration-break:clone;box-decoration-break:clone}.hero-description{font-size:16px;line-height:2;margin-bottom:26px}.hero-photo{position:relative;margin:0 0 35px;min-width:0}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:54% center;border-radius:130px 0 0 12px}.hero-photo figcaption{position:absolute;bottom:12px;right:12px;left:12px;color:#fff;font-size:12px;text-align:right;text-shadow:0 1px 5px #000;background:#0005;padding:3px 6px;border-radius:3px;letter-spacing:0}.price-link{display:flex;align-items:baseline;gap:8px;font-size:13px;margin-top:22px;flex-wrap:wrap}.price-link strong{font-size:28px;color:var(--blue);line-height:1.2;letter-spacing:0}.price-link strong span{font-size:16px}.underline{border-bottom:1px solid #a8bec8;margin-left:10px}.hero-bottom{grid-column:1/-1;display:flex;gap:0;justify-content:center;border-top:1px solid var(--line);padding:26px 0;margin-right:60px;font-size:15px;font-weight:700}.hero-bottom span{padding:0 32px}.hero-bottom span+span{border-left:1px solid var(--line)}.hero-bottom span:before{content:'✓';color:var(--bright);margin-right:10px}.problems{background:var(--pale);padding:70px 0}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0}.problem-grid p{padding:0 20px;border-right:1px solid #ccdde4;text-align:center}.problem-grid p:last-child{border:0}.problem-grid span{display:block;color:var(--bright);font:16px Arial;margin-bottom:16px}.problem-grid b{color:var(--ink);font-weight:700}.center{text-align:center}.lead{font-size:18px;color:var(--blue);font-weight:700}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.strength-grid article{padding:30px 0 0;border-top:2px solid var(--blue)}.number{display:block;font:32px Georgia,serif;color:var(--bright);margin-bottom:22px}.strength-grid h3{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.service-grid figure img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:8px}.service-grid figcaption{font-size:13px;margin-top:7px;color:var(--muted)}.service-list article{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.menu-icon{color:var(--blue);font-size:30px;line-height:1.5;width:35px;flex-shrink:0}.service-list h3{margin-bottom:6px}.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}.consult-grid article{background:white;padding:28px 32px;border-radius:6px}.tag{font-size:13px;font-weight:700;display:inline-block;line-height:1.8;color:var(--blue);background:#e6f4fa;padding:3px 12px;border-radius:3px;margin-bottom:14px}.tag.light{background:#edf0f2;color:#536b76}.tag.yellow{background:var(--yellow);color:var(--ink)}.consult-grid h3{margin-bottom:10px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{border:1px solid #c4dce7;border-top:4px solid var(--blue);border-radius:6px;text-align:center;padding:28px 20px 30px}.price-card>p:first-child{font-size:14px;color:var(--blue)}.price-card h3{font-size:25px;margin:4px 0 20px}.price-value{font:700 44px/1.4 Arial,sans-serif;letter-spacing:-.03em;color:var(--blue);white-space:nowrap}.price-value span{font-size:21px;margin-left:5px;letter-spacing:0}.tax{font-size:16px;margin-top:5px}.price-other{text-align:center;padding:22px;background:var(--pale);margin-top:24px;border-radius:5px}.price-other span{display:inline-block}.conditions{margin-top:42px}.conditions h3{margin-bottom:16px}.conditions dl{margin:0}.conditions dl>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line);padding:18px 0;gap:24px}.conditions dt{font-weight:700}.conditions dd{margin:0;color:var(--muted)}.inline-cta{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:38px}.inline-cta p{font-weight:700;color:var(--blue)}.specialty{background:#eaf4f8}.specialty-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.specialty h2{font-size:40px;margin-bottom:22px}.specialty-list{list-style:none;padding:0;margin:0 0 20px}.specialty-list li{padding:16px 0;border-bottom:1px solid #c1dbe6;font-size:20px;font-weight:700}.specialty-list li:before{content:'+';color:var(--blue);font-size:24px;margin-right:18px}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.work-photo{position:relative}.work-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.work-photo>span{position:absolute;left:15px;top:15px;background:#fff;padding:4px 18px;border-radius:3px;font:700 16px/1.8 Arial;color:var(--muted)}.work-photo>span.after{background:var(--blue);color:#fff}.works-grid figcaption{margin-top:10px}.note{font-size:16px;margin-top:20px}.area-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}.area-layout h2{margin-bottom:20px}.area-panel{background:white;border-radius:8px;padding:36px}.area-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.area-tags span{background:var(--pale);padding:5px 12px;border-radius:4px;font-size:16px}.text-link{display:inline-block;color:var(--blue);font-weight:700;border-bottom:1px solid var(--blue);padding:12px 0 0}.flow-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.flow-grid li{border-top:1px solid #b6d3e0;padding-top:22px;position:relative}.flow-grid li+li:before{content:'→';position:absolute;left:-24px;top:65px;color:var(--bright)}.flow-grid span{color:var(--blue);font:700 13px Arial;letter-spacing:.08em}.flow-grid h3{margin:14px 0 12px}.faq-container{max-width:860px}details{background:white;border-bottom:1px solid var(--line)}details+details{margin-top:10px}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:23px 26px;cursor:pointer;font-weight:700;line-height:1.7}summary::-webkit-details-marker{display:none}summary>span{color:var(--blue);font:700 22px Georgia}summary i{width:16px;height:16px;position:relative;margin-left:auto;flex-shrink:0}summary i:before,summary i:after{content:'';position:absolute;top:7px;left:0;width:16px;height:2px;background:var(--blue)}summary i:after{transform:rotate(90deg)}details[open] summary i:after{transform:none}details>p{padding:0 30px 25px 66px}.contact{background:var(--blue);color:white;text-align:center}.contact h2{font-size:40px}.contact .en{color:#b7e6fc}.contact p{color:#fff;margin-top:22px}.contact-box{background:white;border-radius:8px;color:var(--ink);max-width:670px;margin:35px auto 28px;padding:30px 40px}.contact-box ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;padding:0;margin:18px 0 24px}.contact-box li:before{content:'✓';color:var(--blue);margin-right:8px}.contact-box .button{width:100%;max-width:430px}.contact-box p{color:var(--muted);font-size:14px;margin:16px 0 0}.telephone{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.telephone a{font:700 29px/1.8 Arial;letter-spacing:.04em}.footer-inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:42px 0}.footer-inner p,.footer-inner a,.footer-inner small{font-size:13px}.footer-inner>a:nth-of-type(2){margin-left:auto;text-decoration:underline}.footer-inner img{width:190px}.footer-inner small{flex-basis:100%;text-align:right;color:var(--muted)}.mobile-cta,.mobile-only{display:none}@media(min-width:1600px){.hero{padding-left:40px}}@media(max-width:1100px){.header-inner{padding:20px 28px}.header-label{display:none}.hero{padding-left:24px;grid-template-columns:50% 50%}.hero-copy{padding-left:0}.hero h1{font-size:38px}.hero-photo>img{border-radius:80px 0 0 8px}.hero-description{font-size:16px}.hero-bottom{margin-right:24px}.hero-bottom span{padding:0 20px}.service-grid{gap:30px}.price-value{font-size:38px}.inline-cta{flex-direction:column;gap:18px}.header-inner nav{gap:20px}.strength-grid{gap:26px}.flow-grid{gap:24px}.flow-grid h3{font-size:18px}.specialty-layout{gap:40px}}@media(max-width:760px){body{padding-bottom:calc(86px + env(safe-area-inset-bottom));letter-spacing:.025em}.container{width:calc(100% - 40px)}.section{padding:64px 0}h2{font-size:27px;line-height:1.7}h3{font-size:19px}.section-heading{margin-bottom:30px}.en{font-size:12px;margin-bottom:12px}.header-inner{padding:15px 20px;gap:12px}.header-inner img{width:166px}.header-inner nav{gap:20px;font-size:13px}.header-inner nav>a:first-child,.header-inner nav>a:nth-child(3),.header-inner .button{display:none}.hero{display:flex;flex-direction:column;padding:0}.hero-copy{padding:32px 24px 30px}.eyebrow{font-size:12px}.service-label{font-size:23px;margin-top:20px}.service-label span{font-size:12px;padding:2px 8px;margin-left:7px}.hero h1{font-size:clamp(32px,8.3vw,42px);margin:16px 0 18px;line-height:1.55}.hero-description{font-size:16px;line-height:1.95;margin-bottom:24px}.hero .button{width:100%;gap:10px;padding:16px 18px}.price-link{font-size:12px;gap:6px;margin-top:23px}.price-link strong{font-size:27px}.price-link .underline{margin-left:3px}.hero-photo{height:300px;min-height:0;margin:0 0 0 20px}.hero-photo>img{border-radius:60px 0 0 8px;object-position:center 55%}.hero-photo figcaption{font-size:11px;bottom:7px}.hero-bottom{margin:0;padding:22px 15px;border:0;gap:8px;font-size:11px;line-height:1.6}.hero-bottom span{padding:0 7px;flex:1;text-align:center}.hero-bottom span:before{display:block;margin:0;font-size:16px}.problems{padding:55px 0}.problem-grid{grid-template-columns:1fr 1fr;gap:28px 0;margin:32px 0}.problem-grid p{font-size:14px;padding:0 8px}.problem-grid p:nth-child(2){border:0}.problem-grid span{margin-bottom:10px}.lead{font-size:16px}.split-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.split-heading>p{padding:0}.strength-grid{grid-template-columns:1fr;gap:28px}.strength-grid article{padding:24px 0 0;position:relative}.strength-grid .number{font-size:26px;margin-bottom:10px}.strength-grid h3{margin-bottom:12px}.strength-grid h3 br{display:none}.service-grid{grid-template-columns:1fr;gap:25px}.service-grid figure img{aspect-ratio:1.5}.service-list article{padding:20px 0;gap:16px}.consult-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.consult-grid article{padding:24px}.price-grid{grid-template-columns:1fr;gap:16px}.price-card{display:grid;grid-template-columns:1fr 1.3fr;align-items:center;text-align:left;padding:22px 20px;gap:0 8px;border-top:1px solid #c4dce7;border-left:4px solid var(--blue)}.price-card>p:first-child{grid-row:1;grid-column:1;font-size:13px}.price-card h3{grid-row:2;grid-column:1;margin:0;font-size:22px}.price-card .price-value{grid-row:1/3;grid-column:2;text-align:right;font-size:34px}.price-card .price-value span{font-size:18px}.price-card .tax{grid-column:1/-1;text-align:right;font-size:14px;margin-top:7px}.price-other{font-size:16px;padding:18px}.conditions{margin-top:30px}.conditions dl>div{grid-template-columns:1fr;gap:4px;padding:16px 0}.inline-cta{margin-top:30px;text-align:center}.inline-cta .button{width:100%;padding:15px 18px}.specialty-layout{grid-template-columns:1fr;gap:20px}.specialty h2{font-size:34px}.specialty-list li{font-size:17px;padding:15px 0}.specialty-list li:before{margin-right:10px}.works-grid{gap:14px}.work-photo>span{top:8px;left:8px;font-size:13px;padding:2px 10px}.work-photo img{aspect-ratio:3/4}.works-grid figcaption{font-size:14px;line-height:1.7}.area-layout{grid-template-columns:1fr;gap:28px}.area-panel{padding:24px}.area-tags span{font-size:14px}.flow-grid{grid-template-columns:1fr;gap:24px;margin:0}.flow-grid li{padding:18px 0 0 72px;min-height:100px}.flow-grid span{position:absolute;left:0;top:22px;font-size:11px}.flow-grid h3{font-size:20px;margin:0 0 8px}.flow-grid li+li:before{display:none}summary{padding:20px 18px;gap:14px;font-size:16px}details>p{padding:0 20px 23px 48px}.contact h2{font-size:30px}.contact-box{padding:24px 18px}.contact-box h3{font-size:17px}.contact-box ul{font-size:14px;gap:6px 12px;margin:16px 0 22px}.contact-box .button{font-size:15px;padding:16px 12px;gap:10px}.telephone{gap:4px;flex-direction:column}.telephone a{font-size:28px}.footer-inner{flex-direction:column;align-items:flex-start;gap:18px;padding:35px 0}.footer-inner>a:nth-of-type(2){margin-left:0;font-size:14px}.footer-inner p{font-size:14px}.footer-inner small{flex-basis:auto;width:100%;text-align:left}.mobile-cta{display:block;position:fixed;left:0;bottom:0;width:100%;background:#ffffffed;padding:10px 16px calc(13px + env(safe-area-inset-bottom));z-index:5;border-top:1px solid #dce5e8;backdrop-filter:blur(6px)}.mobile-cta .button{width:100%;min-height:55px;padding:12px 18px;font-size:15px}.mobile-only{display:block}.desktop-only{display:none}html{scroll-padding-top:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}@media print{.mobile-cta{display:none}body{padding:0}.section{padding:30px 0}details>p{display:block}a{color:var(--ink)}}

/* 生成画像の客室と水回りを見せるトリミング */
.works-grid .work-photo img{aspect-ratio:3/2}@media(max-width:760px){.works-grid{grid-template-columns:1fr;gap:26px}.works-grid .work-photo img{aspect-ratio:3/2}}
.hero-photo figcaption{left:auto;right:16px;bottom:14px;max-width:calc(100% - 32px);padding:4px 11px;border-radius:20px;background:rgba(255,255,255,.92);color:#536b76;font-size:11px;line-height:1.7;text-shadow:none;letter-spacing:.02em}
@media(max-width:1100px){}
@media(max-width:760px){.hero-photo figcaption{right:12px;bottom:10px;left:auto;font-size:10px;padding:4px 9px;max-width:calc(100% - 24px)}}

/* 自社運営物件の写真。縦長の設備写真も主題が見える比率で紹介。 */
.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.works-grid .work-photo img{aspect-ratio:4/5;object-fit:cover}.hero-photo>img{object-position:50% center}
@media(max-width:760px){.works-grid{grid-template-columns:1fr}.works-grid .work-photo img{aspect-ratio:4/3}.service-grid figure img{object-position:center 55%}}

/* オーナーのお困りごと：4点の生成イラストを同じサイズで配置。 */
.problem-grid{--problem-illustrations:url('assets/owner-concerns.webp')}
.problem-grid .problem-number{margin-bottom:10px}
.problem-grid .problem-art{display:block;width:156px;height:156px;margin:0 auto 18px;background-image:var(--problem-illustrations);background-repeat:no-repeat;background-size:200% 200%;font-size:0;line-height:0}
.problem-grid .problem-art-1{background-position:left top}.problem-grid .problem-art-2{background-position:right top}.problem-grid .problem-art-3{background-position:left bottom}.problem-grid .problem-art-4{background-position:right bottom}
@media(max-width:1100px){.problem-grid .problem-art{width:136px;height:136px}}
@media(max-width:760px){.problem-grid{gap:28px 0}.problem-grid .problem-art{width:128px;height:128px;margin-bottom:12px}}
@media(max-width:360px){.problem-grid .problem-art{width:112px;height:112px}}

/* お困りごとへの回答を、セクションの中心メッセージとして強調。 */
.owner-message{position:relative;max-width:900px;margin:44px auto 0;padding:30px 36px;background:#fff;border:1px solid #b9d9e8;border-top:4px solid var(--blue);border-radius:10px;box-shadow:0 8px 24px rgba(12,116,168,.06);text-align:center}
.owner-message:before{content:'';position:absolute;width:16px;height:16px;top:-11px;left:calc(50% - 8px);background:var(--pale);border-right:1px solid #b9d9e8;border-bottom:1px solid #b9d9e8;transform:rotate(45deg)}
.owner-message p{color:var(--blue);font-size:25px;font-weight:700;line-height:1.85;letter-spacing:.04em}
.owner-message-highlight{background:linear-gradient(transparent 62%,var(--yellow) 62%,var(--yellow) 94%,transparent 94%);padding:0 2px}
.owner-message-mobile{display:none}
@media(max-width:760px){.owner-message{margin-top:34px;padding:25px 14px;border-radius:8px}.owner-message p{font-size:19px;line-height:1.9;letter-spacing:.015em}.owner-message-mobile{display:block}}
@media(max-width:360px){.owner-message p{font-size:17px}}

/* 強みを伝える3つのイラスト。青と黄色でお困りごとの絵と統一。 */
.strength-grid{--strength-illustrations:url('assets/strengths-illustrations.webp')}
.strength-grid article{position:relative}
.strength-grid .number{margin-bottom:10px}
.strength-art{display:block;width:164px;height:164px;margin:0 auto 24px;background-image:var(--strength-illustrations);background-size:300% 100%;background-repeat:no-repeat}
.strength-art-1{background-position:left center}.strength-art-2{background-position:center center}.strength-art-3{background-position:right center}
@media(max-width:1100px){.strength-art{width:148px;height:148px}}
@media(max-width:760px){.strength-grid article{padding-top:24px}.strength-grid .number{margin-bottom:0}.strength-art{width:144px;height:144px;margin:-16px auto 18px}}

/* 水色のお困りごとから、下向き矢印で白地のメッセージへつなぐ。 */
.section.problems{padding:0 0 20px;background:#fff}
.problems-panel{position:relative;padding:70px 0 38px;background:var(--pale)}
.problems-panel:after{content:'';position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);width:0;height:0;border-left:42px solid transparent;border-right:42px solid transparent;border-top:28px solid var(--pale)}
.problems-panel .problem-grid{margin-bottom:0}
.owner-message{margin:65px auto 0;padding:30px 34px;background:#fff;border:0;border-radius:0;box-shadow:none}
.owner-message:before{content:none}
.owner-message p{font-size:28px;line-height:1.9;letter-spacing:.035em}
@media(max-width:760px){.problems-panel{padding:55px 0 30px}.problems-panel:after{bottom:-22px;border-left-width:34px;border-right-width:34px;border-top-width:22px}.owner-message{margin-top:43px;padding:20px 0 8px}.owner-message p{font-size:20px;line-height:1.95;letter-spacing:.01em}}
@media(max-width:360px){.owner-message p{font-size:17px}}

/* 清掃箇所に合う、ベッド・浴槽・キッチンと分別ゴミの生成アイコン。 */
.service-list{--cleaning-menu-icons:url('assets/cleaning-menu-icons.webp')}
.service-list .menu-icon{display:block;flex:0 0 72px;width:72px;height:72px;font-size:0;line-height:0;background-image:var(--cleaning-menu-icons);background-size:300% 100%;background-repeat:no-repeat}
.service-list .menu-icon-1{background-position:left center}.service-list .menu-icon-2{background-position:center center}.service-list .menu-icon-3{background-position:right center}
@media(max-width:760px){.service-list article{gap:16px}.service-list .menu-icon{flex-basis:64px;width:64px;height:64px}}
/* ご依頼の流れ：太い青矢印と淡い円でステップをつなぐ。 */
.flow-grid{gap:80px}
.flow-grid li+li:before{content:'';display:block;position:absolute;left:-56px;top:65px;width:32px;height:32px;border:1px solid #c5e0ed;border-radius:50%;background:#eaf5fa}
.flow-grid li+li:after{content:'';position:absolute;left:-48px;top:75px;width:16px;height:12px;background:var(--blue);clip-path:polygon(0 35%,58% 35%,58% 0,100% 50%,58% 100%,58% 65%,0 65%)}
@media(min-width:761px) and (max-width:1100px){.flow-grid{gap:56px}.flow-grid li+li:before{left:-44px}.flow-grid li+li:after{left:-36px}}
@media(max-width:760px){.flow-grid{gap:38px}.flow-grid li+li:before{display:block;left:calc(50% - 14px);top:-33px;width:28px;height:28px}.flow-grid li+li:after{left:calc(50% - 8px);top:-25px;transform:rotate(90deg)}}

.specialty-home-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;max-width:100%;min-height:56px;margin-top:26px;padding:13px 20px;background:white;border:1px solid var(--blue);border-radius:6px;color:var(--blue);font-size:16px;font-weight:700;line-height:1.7}.specialty-home-link:hover{background:#f4fbff}.specialty-home-link span{flex-shrink:0;font-size:20px}@media(max-width:760px){.specialty-home-link{width:100%;padding:13px 16px}}

/* 自社運営物件の写真に深い青を重ね、問い合わせを落ち着いた構成に。 */
.contact{background-color:#123f58;background-image:linear-gradient(100deg,rgba(8,43,65,.9),rgba(8,43,65,.63)),var(--contact-photo);background-size:cover;background-position:center 65%;text-align:left}
.contact-layout{display:grid;grid-template-columns:1.05fr 1fr;column-gap:64px;align-items:center}
.contact-copy{grid-column:1;grid-row:1}.contact h2{font-size:38px;line-height:1.75;letter-spacing:.045em}.contact .en{color:var(--yellow);letter-spacing:.22em}
.contact-box{grid-column:2;grid-row:1/3;width:100%;max-width:520px;margin:0;padding:36px 30px;border:1px solid rgba(255,255,255,.6);border-radius:12px;box-shadow:0 18px 50px rgba(0,24,40,.15);text-align:center}
.contact-phone{grid-column:1;grid-row:2;margin-top:26px}.contact .telephone{justify-content:flex-start;gap:6px 18px}.contact-phone>p:last-child{font-size:14px;color:#e0edf4;line-height:1.9;margin-top:12px}
@media(max-width:960px){.contact{background-position:60% center}.contact-layout{display:flex;flex-direction:column;gap:30px;align-items:stretch}.contact-copy{text-align:center}.contact h2{font-size:29px}.contact-box{max-width:none;padding:28px 20px}.contact-phone{margin:0;text-align:center}.contact .telephone{justify-content:center}.contact-copy>p{font-size:16px}}
/* ファーストビュー直下の3つの強みを、大きな丸チェックで見せる。 */
.hero-bottom{font-size:19px;line-height:1.65;padding:30px 0}
.hero-bottom span{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;min-width:0;padding:0 20px}
.hero-bottom span:before{content:'✓';display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin:0;border-radius:50%;background:var(--blue);color:#fff;font:700 22px/1 Arial,sans-serif}
@media(min-width:761px) and (max-width:1100px){.hero-bottom{font-size:17px}.hero-bottom span{gap:10px;padding:0 14px}}
@media(max-width:760px){.hero-bottom{font-size:16px;line-height:1.65;padding:26px 12px;gap:0}.hero-bottom span{flex-direction:column;justify-content:flex-start;gap:10px;padding:0 8px}.hero-bottom span:before{flex-basis:32px;width:32px;height:32px;font-size:21px}}
/* 丸みのある8枚花びらのチェックバッジ。 */
.hero-bottom span:before{border-radius:0;clip-path:polygon(100.00% 50.00%,99.09% 53.22%,96.60% 56.13%,93.15% 58.58%,89.60% 60.61%,86.74% 62.47%,85.11% 64.54%,84.80% 67.16%,85.51% 70.50%,86.58% 74.45%,87.29% 78.61%,86.99% 82.44%,85.36% 85.36%,82.44% 86.99%,78.61% 87.29%,74.45% 86.58%,70.50% 85.51%,67.16% 84.80%,64.54% 85.11%,62.47% 86.74%,60.61% 89.60%,58.58% 93.15%,56.13% 96.60%,53.22% 99.09%,50.00% 100.00%,46.78% 99.09%,43.87% 96.60%,41.42% 93.15%,39.39% 89.60%,37.53% 86.74%,35.46% 85.11%,32.84% 84.80%,29.50% 85.51%,25.55% 86.58%,21.39% 87.29%,17.56% 86.99%,14.64% 85.36%,13.01% 82.44%,12.71% 78.61%,13.42% 74.45%,14.49% 70.50%,15.20% 67.16%,14.89% 64.54%,13.26% 62.47%,10.40% 60.61%,6.85% 58.58%,3.40% 56.13%,0.91% 53.22%,0.00% 50.00%,0.91% 46.78%,3.40% 43.87%,6.85% 41.42%,10.40% 39.39%,13.26% 37.53%,14.89% 35.46%,15.20% 32.84%,14.49% 29.50%,13.42% 25.55%,12.71% 21.39%,13.01% 17.56%,14.64% 14.64%,17.56% 13.01%,21.39% 12.71%,25.55% 13.42%,29.50% 14.49%,32.84% 15.20%,35.46% 14.89%,37.53% 13.26%,39.39% 10.40%,41.42% 6.85%,43.87% 3.40%,46.78% 0.91%,50.00% 0.00%,53.22% 0.91%,56.13% 3.40%,58.58% 6.85%,60.61% 10.40%,62.47% 13.26%,64.54% 14.89%,67.16% 15.20%,70.50% 14.49%,74.45% 13.42%,78.61% 12.71%,82.44% 13.01%,85.36% 14.64%,86.99% 17.56%,87.29% 21.39%,86.58% 25.55%,85.51% 29.50%,84.80% 32.84%,85.11% 35.46%,86.74% 37.53%,89.60% 39.39%,93.15% 41.42%,96.60% 43.87%,99.09% 46.78%)}

/* 右下追従のページ先頭リンク。スマホではLINEバーより上に置く。 */
.back-to-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:56px;height:56px;border:1px solid #b5d3e2;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 4px 18px rgba(14,65,92,.17);line-height:1;text-align:center}
.back-to-top svg{display:block;flex-shrink:0}.back-to-top span{font:700 10px/1.2 Arial,sans-serif;letter-spacing:.08em}.back-to-top:hover{background:#eaf5fa;border-color:var(--blue)}
@media(max-width:760px){.back-to-top{right:16px;bottom:calc(100px + env(safe-area-inset-bottom));width:52px;height:52px}}
@media print{.back-to-top{display:none}}
