/*
AZUMINOSHA MAIN CSS
BASE + ADDITIONAL CSS INTEGRATED
2026-08-22
*/

:root {
  --forest-900:#163b34;--forest-800:#264f45;--forest-700:#35685a;--water-600:#4c919e;--water-400:#7bb5bd;
  --field-600:#718c54;--mist:#eef4f0;--sand:#d9c8a7;--ink:#24322f;--muted:#66736f;--line:#dce5e1;
  --white:#fff;--shell:min(1160px,calc(100% - 40px));--shadow:0 16px 40px rgba(24,55,47,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;vertical-align:middle}a{color:var(--forest-800);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--water-600)}button,input,select,textarea{font:inherit}.site-shell{width:var(--shell);margin-inline:auto}.screen-reader-text{position:absolute!important;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;left:12px;top:-60px;z-index:9999;padding:10px 16px;background:#fff}.skip-link:focus{top:12px}.section{padding:84px 0}.section--mist{background:var(--mist)}.section--deep{background:var(--forest-900);color:#fff}.section-kicker{margin:0 0 9px;color:var(--water-600);font-size:12px;font-weight:800;letter-spacing:.18em}.section-kicker--light{color:#9fd1d4}.section-title{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.45;letter-spacing:.04em}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading-row--compact{align-items:center;margin-bottom:22px}.section-note{max-width:500px;margin:0;color:var(--muted)}.text-link{display:inline-flex;gap:12px;align-items:center;font-weight:700;text-decoration:none}.text-link span{font-size:1.25em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 28px;border:1px solid transparent;border-radius:3px;font-weight:800;text-decoration:none;transition:.2s}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--forest-800);color:#fff}.button--primary:hover{background:var(--forest-700);color:#fff}.button--outline-light{border-color:rgba(255,255,255,.8);color:#fff;background:rgba(0,0,0,.1)}.button--outline-light:hover{background:#fff;color:var(--forest-900)}.button--white{background:#fff;color:var(--forest-900)}.button--white:hover{background:#e9f1ee;color:var(--forest-900)}.button--wide{width:100%}
.site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--line)}.site-header__top{background:var(--forest-900);color:#dce9e5;font-size:12px}.site-header__top-inner{display:flex;justify-content:space-between;align-items:center;min-height:36px}.site-header__tagline{margin:0}.site-header__utility{display:flex;gap:22px}.site-header__utility a{color:#fff;text-decoration:none}.site-header__main{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:24px}.site-branding__link{display:flex;align-items:center;gap:15px;color:var(--forest-900);text-decoration:none}.site-branding__link strong{display:block;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px;letter-spacing:.08em}.site-branding__link small{display:block;color:var(--water-600);font-size:9px;letter-spacing:.16em}.site-branding__mark{width:68px}.site-branding__mark svg{fill:none;stroke:var(--forest-800);stroke-width:3}.custom-logo{max-height:72px;width:auto}.site-header__contact{text-align:right}.site-header__contact span{display:block;color:var(--muted);font-size:12px}.site-header__contact a{display:block;color:var(--forest-900);font-size:26px;font-weight:800;line-height:1.2;text-decoration:none}.site-nav{background:#fff;border-top:1px solid #edf1ef}.site-nav__list{display:flex;justify-content:center;gap:0;margin:0;padding:0;list-style:none}.site-nav__list>li{position:relative}.site-nav__list>li>a{display:block;padding:15px 25px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.site-nav__list>li>a:hover,.site-nav__list>.current-menu-item>a{color:var(--water-600)}.site-nav__list .sub-menu{position:absolute;left:0;top:100%;display:none;min-width:220px;margin:0;padding:8px;background:#fff;box-shadow:var(--shadow);list-style:none}.site-nav__list li:hover>.sub-menu{display:block}.site-nav__list .sub-menu a{display:block;padding:9px 12px;text-decoration:none}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;margin:5px;background:var(--forest-900)}
.breadcrumbs{background:#f6f8f7;border-bottom:1px solid var(--line)}.breadcrumbs ol{display:flex;gap:10px;margin:0;padding:9px 0;list-style:none;font-size:12px;color:var(--muted)}.breadcrumbs li+li::before{content:"/";margin-right:10px;color:#a2aaa7}.breadcrumbs a{text-decoration:none}
.hero{position:relative;min-height:620px;display:flex;align-items:center;background-image:var(--hero-image);background-size:cover;background-position:center;overflow:hidden}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,42,36,.72) 0%,rgba(13,49,41,.38) 48%,rgba(13,49,41,.05) 78%)}.hero__inner{position:relative;z-index:1;padding:80px 0 120px;color:#fff}.hero__eyebrow{margin:0 0 17px;font-size:12px;font-weight:800;letter-spacing:.25em}.hero h1{max-width:780px;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,5.4vw,72px);font-weight:500;line-height:1.4;letter-spacing:.06em;text-shadow:0 3px 20px rgba(0,0,0,.25)}.hero__lead{max-width:640px;margin:25px 0 0;font-size:17px;line-height:2;text-shadow:0 2px 12px rgba(0,0,0,.25)}.hero__buttons{display:flex;gap:14px;margin-top:34px}.hero__mountain-label{position:absolute;right:0;bottom:0;padding:13px 32px;background:rgba(255,255,255,.88);color:var(--forest-900);font-size:12px;font-weight:800;letter-spacing:.12em}.quick-search{position:relative;margin-top:-46px;z-index:3}.quick-search__grid{display:grid;grid-template-columns:1.1fr repeat(4,1fr);background:#fff;box-shadow:var(--shadow)}.quick-search__heading{padding:22px 28px;background:var(--forest-800);color:#fff}.quick-search__heading span{font-size:10px;letter-spacing:.18em}.quick-search__heading h2{margin:2px 0 0;font-size:21px}.quick-search__grid>a{display:flex;flex-direction:column;justify-content:center;padding:20px 23px;border-right:1px solid var(--line);color:var(--ink);text-decoration:none;transition:.2s}.quick-search__grid>a:hover{background:#f5f9f7}.quick-search__grid>a strong{color:var(--forest-800);font-size:17px}.quick-search__grid>a span{color:var(--muted);font-size:11px}
.home-intro{padding-top:110px}.home-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.home-intro__copy{padding-left:38px;border-left:1px solid var(--sand);font-size:16px}.home-intro__copy p:first-child{margin-top:0}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.property-card{background:#fff;box-shadow:0 8px 24px rgba(26,66,56,.08);transition:.25s}.property-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.property-card__image{position:relative;display:block;aspect-ratio:3/2;overflow:hidden}.property-card__image img{width:100%;height:100%;object-fit:cover;transition:.5s}.property-card:hover .property-card__image img{transform:scale(1.035)}.property-card__kind,.property-card__status{position:absolute;top:14px;padding:5px 11px;color:#fff;font-size:11px;font-weight:800}.property-card__kind{left:14px;background:var(--forest-800)}.property-card__status{right:14px;background:#9d6d43}.property-card__body{padding:21px 22px 24px}.property-card__number{margin:0;color:var(--water-600);font-size:11px;font-weight:800}.property-card h3{margin:6px 0 5px;font-size:19px;line-height:1.55}.property-card h3 a{color:var(--ink);text-decoration:none}.property-card__location{margin:0;color:var(--muted);font-size:13px}.property-card__price{margin:12px 0 10px;color:var(--forest-800);font-size:22px;font-weight:800}.property-card__specs{display:flex;gap:18px;margin:0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.property-card__specs div{display:flex;gap:7px}.property-card__specs dt{color:var(--muted)}.property-card__specs dd{margin:0;font-weight:700}.property-card__comment{margin:13px 0 0;color:var(--muted);font-size:13px;line-height:1.7}.empty-state{padding:55px;background:#f6f8f7;text-align:center}.empty-state h1,.empty-state h2,.empty-state h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}.area-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.area-card{position:relative;display:flex;min-height:245px;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;text-decoration:none;overflow:hidden;background:#55766a}.area-card::before,.area-card::after{content:"";position:absolute;inset:0}.area-card::before{background:linear-gradient(150deg,rgba(255,255,255,.1),rgba(15,50,43,.45))}.area-card::after{inset:auto -20% -30% -20%;height:70%;border-radius:50% 50% 0 0;background:rgba(255,255,255,.08);transform:rotate(-8deg)}.area-card--azumino{background:linear-gradient(145deg,#4c7f72,#88a66b)}.area-card--ikeda{background:linear-gradient(145deg,#527187,#6c987f)}.area-card--omachi{background:linear-gradient(145deg,#3f7181,#6b8f95)}.area-card--hakuba{background:linear-gradient(145deg,#496376,#82959f)}.area-card span,.area-card small{position:relative;z-index:2}.area-card span{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;font-weight:600}.area-card small{margin-top:4px}.area-card:hover{color:#fff;transform:translateY(-3px)}.sell-cta__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center}.sell-cta h2{margin:0 0 18px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.5}.sell-cta p{max-width:700px;color:#d6e2de}.sell-cta__actions{display:flex;flex-direction:column;gap:22px}.sell-cta__phone{padding:18px 0;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);color:#fff;text-align:center;text-decoration:none}.sell-cta__phone small{display:block}.sell-cta__phone strong{display:block;font-size:32px;letter-spacing:.04em}.home-bottom__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:55px}.news-panel,.company-panel{padding:36px;border:1px solid var(--line)}.news-list{margin:0;padding:0;list-style:none}.news-list li{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.news-list time{color:var(--water-600);font-size:12px}.news-list a{color:var(--ink);text-decoration:none}.company-panel{background:#f7f8f3;border-color:#e9e4d7}.company-panel>p{color:var(--muted)}.company-panel dl{margin:22px 0}.company-panel dl div{display:grid;grid-template-columns:75px 1fr;padding:10px 0;border-bottom:1px solid #ded9ca;font-size:13px}.company-panel dt{font-weight:700}.company-panel dd{margin:0}
.content-main{min-height:55vh}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:54px}.content-layout--single{display:block;max-width:920px}.content-layout--single .content-primary{width:100%}.page-header{margin-bottom:42px;padding-bottom:24px;border-bottom:1px solid var(--line)}.page-header time{color:var(--water-600);font-size:13px}.page-header--archive{max-width:850px}.archive-description{margin-top:15px;color:var(--muted)}.prose{font-size:16px}.prose h2{margin:2.4em 0 .8em;padding-left:16px;border-left:4px solid var(--water-600);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:30px;color:var(--forest-900)}.prose h3{margin:2em 0 .6em;color:var(--forest-800);font-size:21px}.prose p{margin:0 0 1.5em}.prose table{width:100%;border-collapse:collapse}.prose th,.prose td{padding:12px;border:1px solid var(--line)}.prose th{background:#f1f5f3}.page-featured-image{margin:0 0 35px}.article-list{display:grid;gap:18px}.article-card{padding:24px;border:1px solid var(--line)}.article-card time{color:var(--water-600);font-size:12px}.article-card h2{margin:5px 0 8px;font-size:22px}.article-card h2 a{color:var(--ink);text-decoration:none}.article-card p{margin:0;color:var(--muted)}.content-sidebar{display:flex;flex-direction:column;gap:20px}.sidebar-box,.sidebar-contact,.property-number-search{padding:24px;border:1px solid var(--line)}.sidebar-box h2{margin:0 0 13px;color:var(--forest-800);font-size:17px}.sidebar-box ul{margin:0;padding:0;list-style:none}.sidebar-box li+li{border-top:1px solid var(--line)}.sidebar-box a{display:block;padding:9px 0;text-decoration:none}.sidebar-contact{background:var(--forest-900);color:#fff}.sidebar-contact p{margin:0;color:#9fd1d4;font-size:11px;font-weight:800;letter-spacing:.12em}.sidebar-contact h2{font-size:20px}.sidebar-contact a{display:block;padding:10px;background:#fff;color:var(--forest-900);text-align:center;font-weight:800;text-decoration:none}.property-number-search label{display:block;margin-bottom:7px;font-weight:700}.property-number-search div{display:flex}.property-number-search input{min-width:0;width:100%;padding:8px;border:1px solid var(--line)}.property-number-search button{border:0;background:var(--forest-800);color:#fff}.property-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:13px 18px;background:#f4f7f5}.property-toolbar p{margin:0;font-weight:700}.property-toolbar select{padding:7px 10px;border:1px solid var(--line);background:#fff}
.property-detail{padding-top:54px}.property-detail__header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-bottom:27px;border-bottom:1px solid var(--line)}.property-detail__number{margin:0 0 5px;color:var(--water-600);font-size:12px;font-weight:800}.property-detail__number span{margin-left:8px;padding:3px 8px;background:var(--forest-800);color:#fff}.property-detail h1{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4.5vw,48px);font-weight:600;line-height:1.45}.property-detail__location{margin:8px 0 0;color:var(--muted)}.property-detail__price{text-align:right;white-space:nowrap}.property-detail__price small{display:block;color:var(--muted)}.property-detail__price strong{display:block;color:var(--forest-800);font-size:32px}.property-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}.property-highlights>div{padding:18px 22px;background:#f1f6f3;border-left:4px solid var(--field-600);font-weight:700}.property-highlights p{margin:0}.property-detail__overview{display:grid;grid-template-columns:1.3fr .7fr;gap:34px;margin-top:30px}.property-detail__main-image{margin:0;aspect-ratio:3/2;background:#eef3f0}.property-detail__main-image img{width:100%;height:100%;object-fit:cover}.property-detail__summary table{width:100%;border-collapse:collapse;font-size:14px}.property-detail__summary th,.property-detail__summary td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}.property-detail__summary th{width:92px;background:#f5f7f6;text-align:left}.property-detail__summary .price-cell{color:var(--forest-800);font-size:19px;font-weight:800}.property-detail__summary .button{margin-top:22px}.admin-edit{text-align:center;font-size:12px}.property-section{margin-top:80px}.property-section__title{display:flex;align-items:baseline;gap:20px;margin-bottom:25px;padding-bottom:12px;border-bottom:1px solid var(--line)}.property-section__title p{margin:0;color:var(--water-600);font-size:10px;font-weight:800;letter-spacing:.18em}.property-section__title h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px;font-weight:600}.property-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.property-gallery figure{margin:0}.property-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover}.property-gallery figcaption{padding:7px 0;color:var(--muted);font-size:12px}.property-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.property-plans figure{margin:0;padding:20px;border:1px solid var(--line);text-align:center}.property-data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.property-data-grid>div{padding:25px;background:#f5f7f6;white-space:pre-line}.property-data-grid p{margin:0}.property-map iframe{display:block;width:100%;height:470px;border:0}.property-contact{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;margin-top:85px;padding:40px;background:var(--forest-900);color:#fff}.property-contact p{margin:0;color:#9fd1d4;font-size:12px;font-weight:800}.property-contact h2{margin:7px 0 0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px}.property-contact>div:last-child{display:flex;flex-direction:column;gap:12px}.property-contact__phone{color:#fff;text-align:center;font-size:27px;font-weight:800;text-decoration:none}.property-navigation{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.property-navigation>div:last-child{text-align:right}
.site-footer{background:#183d35;color:#dce7e3}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:90px;padding-top:55px;padding-bottom:50px}.site-footer__name{margin:0 0 12px;color:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px}.site-footer p{margin:4px 0;font-size:13px}.site-footer a{color:#fff}.footer-nav,.site-footer__nav .site-nav__list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px 30px;margin:0;padding:0;list-style:none}.footer-nav a,.site-footer__nav .site-nav__list a{padding:0;color:#fff;font-size:13px;text-decoration:none}.site-footer__bottom{background:#11322b}.site-footer__bottom .site-shell{display:flex;justify-content:space-between;align-items:center;min-height:52px}.site-footer__bottom p{margin:0;font-size:11px}
.navigation.pagination{margin-top:42px}.nav-links{display:flex;justify-content:center;gap:8px}.nav-links .page-numbers{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);text-decoration:none}.nav-links .current{background:var(--forest-800);color:#fff}.wp-block-button__link{background:var(--forest-800)}
@media(max-width:900px){.site-header__contact{display:none}.site-nav__list>li>a{padding-inline:13px}.quick-search__grid{grid-template-columns:repeat(2,1fr)}.quick-search__heading{grid-column:1/-1}.property-grid{grid-template-columns:repeat(2,1fr)}.area-card-grid{grid-template-columns:repeat(2,1fr)}.content-layout{grid-template-columns:1fr}.content-sidebar{display:grid;grid-template-columns:repeat(2,1fr)}.property-detail__overview{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__extra{grid-column:1/-1}}
@media(max-width:700px){:root{--shell:min(100% - 28px,1160px)}.section{padding:58px 0}.site-header__top{display:none}.site-header__main{min-height:76px}.site-branding__mark{width:50px}.site-branding__link strong{font-size:20px}.site-branding__link small{font-size:7px}.custom-logo{max-height:58px;max-width:250px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:76px;box-shadow:var(--shadow)}.site-nav.is-open{display:block}.site-nav__list{display:block;padding:8px 18px 18px}.site-nav__list>li>a{padding:12px;border-bottom:1px solid var(--line)}.site-nav__list .sub-menu{position:static;display:block;box-shadow:none;padding-left:15px}.hero{min-height:540px}.hero__inner{padding:70px 0 100px}.hero h1{font-size:40px}.hero__lead{font-size:14px}.hero__buttons{flex-direction:column;align-items:stretch;max-width:320px}.hero__mountain-label{font-size:9px;padding:9px 14px}.quick-search{margin-top:-26px}.quick-search__grid{grid-template-columns:1fr 1fr}.quick-search__grid>a{padding:16px}.home-intro{padding-top:82px}.home-intro__grid,.sell-cta__grid,.home-bottom__grid,.property-contact{grid-template-columns:1fr;gap:35px}.home-intro__copy{padding-left:0;border-left:0}.section-heading-row{align-items:flex-start;flex-direction:column}.property-grid{grid-template-columns:1fr}.area-card-grid{grid-template-columns:1fr 1fr}.area-card{min-height:190px}.news-panel,.company-panel{padding:24px}.news-list li{grid-template-columns:82px 1fr}.content-sidebar{grid-template-columns:1fr}.property-detail__header{align-items:flex-start;flex-direction:column}.property-detail__price{text-align:left}.property-highlights,.property-data-grid,.property-plans{grid-template-columns:1fr}.property-gallery{grid-template-columns:repeat(2,1fr)}.property-contact{padding:28px}.site-footer__grid{grid-template-columns:1fr;gap:30px}.site-footer__bottom .site-shell{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:10px}.footer-nav,.site-footer__nav .site-nav__list{grid-template-columns:1fr 1fr}.property-navigation{grid-template-columns:1fr;text-align:center}.property-navigation>div:last-child{text-align:center}}
@media(max-width:480px){.area-card-grid,.quick-search__grid{grid-template-columns:1fr}.property-gallery{grid-template-columns:1fr}.quick-search__heading{grid-column:auto}.site-branding__link small{display:none}}

/* =========================================================
   Front page 2.0 — one-column corporate / consultation layout
   ========================================================= */
.az-home{overflow:hidden}.az-section{padding:96px 0}.az-section--soft{background:#f3f6f2}.az-narrow{max-width:900px}.az-eyebrow{margin:0 0 12px;color:var(--water-600);font-size:11px;font-weight:800;letter-spacing:.22em}.az-hero{position:relative;min-height:650px;display:flex;align-items:center;background-image:var(--az-hero-image);background-position:center 56%;background-size:cover;color:#fff}.az-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,42,36,.82) 0%,rgba(16,48,41,.58) 46%,rgba(16,48,41,.14) 82%),linear-gradient(0deg,rgba(11,34,29,.26),transparent 45%)}.az-hero__inner{position:relative;z-index:1;padding:105px 0 130px}.az-hero .az-eyebrow{color:#b9dcda}.az-hero h1{max-width:1080px;margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(40px,4.8vw,64px);font-weight:500;line-height:1.45;letter-spacing:.035em;text-shadow:0 3px 18px rgba(0,0,0,.25)}.az-hero__lead{max-width:660px;margin:28px 0 0;font-size:17px;line-height:2;text-shadow:0 2px 12px rgba(0,0,0,.25)}.az-hero__actions{display:flex;gap:14px;margin-top:38px}.az-hero__credit,.az-landscape__credit{position:absolute;right:18px;bottom:10px;z-index:2;margin:0;color:rgba(255,255,255,.68);font-size:9px;letter-spacing:.03em}.az-home-lead{text-align:center}.az-home-lead h2,.az-section-heading h2,.az-story h2,.az-landscape h2,.az-contact-cta h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}.az-home-lead h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.55}.az-lead-copy{max-width:760px;margin:34px auto 0;text-align:left;font-size:17px;line-height:2.15}.az-lead-copy p{margin:0 0 1.3em}.az-section-heading{max-width:820px;margin:0 auto 48px;text-align:center}.az-section-heading h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.5}.az-section-heading>p:last-child{margin:18px auto 0;color:var(--muted)}.az-section-heading--left{max-width:none;margin-inline:0;text-align:left}.az-section-heading--split{display:flex;max-width:none;align-items:flex-end;justify-content:space-between;gap:50px;text-align:left}.az-section-heading--split>p:last-child{max-width:480px;margin:0}.az-section-heading--small{max-width:none;margin:0 0 28px;text-align:left}.az-section-heading--small h2{font-size:34px}.az-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.az-service-card{position:relative;display:flex;min-height:370px;flex-direction:column;padding:38px 34px;background:#fff;border-top:4px solid var(--forest-700);box-shadow:0 12px 32px rgba(29,61,52,.08)}.az-service-card__number{color:#a6b9ae;font-family:Georgia,serif;font-size:16px;letter-spacing:.14em}.az-service-card h3{margin:30px 0 17px;color:var(--forest-900);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;line-height:1.5}.az-service-card p{margin:0 0 28px;color:var(--muted)}.az-service-card>a{display:inline-flex;align-items:center;gap:12px;margin-top:auto;font-weight:800;text-decoration:none}.az-story__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:72px;align-items:center}.az-story__image{margin:0}.az-story__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.az-story__image figcaption{margin-top:7px;color:#89928f;font-size:9px;text-align:right}.az-story__body h2{margin:0 0 25px;font-size:clamp(31px,3.6vw,44px);line-height:1.55}.az-story__body p{margin:0 0 1.35em;font-size:16px;line-height:2}.az-text-link{display:inline-flex;align-items:center;gap:13px;padding-bottom:4px;border-bottom:1px solid currentColor;font-weight:800;text-decoration:none}.az-text-link span{font-size:1.2em}.az-merits{background:#fff}.az-merit-list{border-top:1px solid var(--line)}.az-merit{display:grid;grid-template-columns:80px 1fr;gap:28px;padding:35px 8px;border-bottom:1px solid var(--line)}.az-merit>span{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border:1px solid var(--forest-700);border-radius:50%;color:var(--forest-800);font-family:Georgia,serif;font-size:21px}.az-merit h3{margin:2px 0 8px;color:var(--forest-900);font-size:22px}.az-merit p{max-width:880px;margin:0;color:var(--muted);line-height:1.95}.az-landscape{position:relative;height:min(70vw,610px);min-height:430px;display:flex;align-items:center;overflow:hidden;color:#fff}.az-landscape>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.az-landscape__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,43,36,.72),rgba(13,43,36,.12)),linear-gradient(0deg,rgba(13,43,36,.28),transparent)}.az-landscape__copy{position:relative;z-index:1}.az-landscape .az-eyebrow{color:#b8dcda}.az-landscape h2{max-width:800px;margin:0;font-size:clamp(36px,5vw,60px);line-height:1.5;text-shadow:0 3px 18px rgba(0,0,0,.2)}.az-landscape__copy>p:last-child{margin-top:20px;font-size:17px}.az-current-properties{background:#fff}.az-center-link{margin:34px 0 0;text-align:center}.az-information__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:start}.az-news{padding:10px 0}.az-news-list{margin:0 0 28px;padding:0;border-top:1px solid var(--line);list-style:none}.az-news-list li{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.az-news-list time{color:var(--water-600);font-size:12px}.az-news-list a{color:var(--ink);text-decoration:none}.az-company-card{background:#fff;box-shadow:0 15px 38px rgba(26,58,49,.1)}.az-company-card__image img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}.az-company-card__body{padding:34px 38px 38px}.az-company-card h2{margin:0 0 22px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px}.az-company-card dl{margin:0 0 24px}.az-company-card dl>div{display:grid;grid-template-columns:88px 1fr;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.az-company-card dt{color:var(--muted)}.az-company-card dd{margin:0}.az-contact-cta{padding:78px 0;background:var(--forest-900);color:#fff}.az-contact-cta__inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:75px;align-items:center}.az-contact-cta .az-eyebrow{color:#9fd1d4}.az-contact-cta h2{margin:0;font-size:clamp(31px,4vw,47px);line-height:1.55}.az-contact-cta__inner>div:first-child>p:last-child{max-width:720px;margin:18px 0 0;color:#d4e1dd}.az-contact-cta__actions{display:flex;flex-direction:column;gap:15px}.az-phone{display:block;padding:20px;border-top:1px solid rgba(255,255,255,.38);border-bottom:1px solid rgba(255,255,255,.38);color:#fff;text-align:center;text-decoration:none}.az-phone small{display:block;color:#a9ceca}.az-phone strong{display:block;font-size:31px;letter-spacing:.03em}.az-phone:hover{color:#fff}.az-home .property-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:900px){.az-service-grid{grid-template-columns:1fr}.az-service-card{min-height:0}.az-story__grid,.az-information__grid,.az-contact-cta__inner{grid-template-columns:1fr}.az-story__grid{gap:42px}.az-section-heading--split{align-items:flex-start;flex-direction:column}.az-home .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.az-section{padding:66px 0}.az-hero{min-height:600px;background-position:60% center}.az-hero__inner{padding:92px 0 120px}.az-hero h1{font-size:39px;line-height:1.45}.az-hero__lead{font-size:14px}.az-hero__actions{max-width:330px;flex-direction:column}.az-hero__credit,.az-landscape__credit{right:8px;bottom:5px;font-size:7px}.az-home-lead{text-align:left}.az-lead-copy{font-size:15px}.az-section-heading{text-align:left}.az-service-card{padding:30px 25px}.az-story__body p{font-size:15px}.az-merit{grid-template-columns:55px 1fr;gap:17px;padding:27px 0}.az-merit>span{width:45px;height:45px}.az-merit h3{font-size:19px}.az-landscape{height:520px}.az-landscape h2{font-size:36px}.az-information__grid,.az-contact-cta__inner{gap:45px}.az-company-card__body{padding:28px 24px 30px}.az-news-list li{grid-template-columns:84px 1fr;gap:12px}.az-contact-cta{padding:60px 0}.az-home .property-grid{grid-template-columns:1fr}}

/* ===== 旧・追加CSS 統合開始 ===== */

/*
Theme Name: あずみの舎 追加CSS整理版
用途:
  1. 会社紹介ページ（.az-company-page）
  2. 売却査定ページ（.az-sell-page）

使い方:
  WordPress「外観 → カスタマイズ → 追加CSS」の既存内容を、
  このファイルの内容に置き換えてください。
  ページ本文には <style> タグを入れないでください。
*/

/* ==================================================
   あずみの舎　会社紹介ページ
================================================== */

.az-company-page,
.az-company-page *,
.az-company-page *::before,
.az-company-page *::after {
	box-sizing: border-box;
}

.az-company-page {
	--az-green: #174f49;
	--az-green-dark: #0b3e39;
	--az-green-light: #6e9f99;
	--az-beige: #f4f1e8;
	--az-pale: #f5f8f6;
	--az-border: #d7e0dc;
	--az-text: #263c38;
	--az-subtext: #5d6b68;

	/*
	 * 親要素の本文幅が狭い場合でも、
	 * 紹介ページだけ最大1180pxまで広げる
	 */
	width: min(1180px, calc(100vw - 40px));
	max-width: none;
	margin-right: auto;
	margin-left: 50%;
	padding: 20px 0 100px;
	transform: translateX(-50%);

	color: var(--az-text);
	font-family:
		"Noto Sans JP",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.03em;
}

.az-company-page p {
	margin: 0 0 1.4em;
}

.az-company-page a {
	color: var(--az-green);
	text-decoration: none;
}

.az-company-page img {
	display: block;
	width: 100%;
	height: auto;
}

.az-company-page section {
	margin: 0 0 110px;
}

.az-company-page section:last-child {
	margin-bottom: 0;
}


/* ==================================================
   共通見出し
================================================== */

.az-section-label {
	margin: 0 0 12px !important;
	color: var(--az-green-light);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.14em;
}

.az-section-heading {
	margin: 0 0 42px;
}

.az-section-heading h2,
.az-company-intro h2 {
	position: relative;
	margin: 0 0 32px;
	padding: 4px 0 7px 25px;
	border-left: 4px solid var(--az-green-light);

	color: var(--az-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		"YuMincho",
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.05em;
}

.az-section-heading > p:not(.az-section-label) {
	max-width: 780px;
	margin-bottom: 0;
	color: var(--az-subtext);
}


/* ==================================================
   導入部分
================================================== */

.az-company-intro {
	max-width: 900px;
	padding-top: 20px;
}

.az-company-intro .az-section-label {
	margin-bottom: 15px !important;
}

.az-company-intro h2 {
	margin-bottom: 35px;
}

.az-company-lead {
	margin-bottom: 25px !important;
	color: var(--az-green-dark);
	font-size: clamp(18px, 2.2vw, 22px);
	font-weight: 600;
	line-height: 1.9;
}


/* ==================================================
   大切にしていること
================================================== */

.az-company-values {
	padding: 80px 60px;
	background: var(--az-pale);
	border-radius: 4px;
}

.az-value-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.az-value-item {
	position: relative;
	min-width: 0;
	padding: 38px 30px 32px;
	background: #fff;
	border: 1px solid var(--az-border);
	box-shadow: 0 10px 30px rgba(25, 65, 59, 0.06);
}

.az-value-number {
	margin: 0 0 35px !important;
	color: var(--az-green-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.az-value-item h3 {
	position: relative;
	margin: 0 0 24px;
	padding-bottom: 18px;
	color: var(--az-green-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.65;
}

.az-value-item h3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 42px;
	height: 2px;
	background: var(--az-green-light);
	content: "";
}

.az-value-item p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   代表紹介
================================================== */

.az-profile {
	display: grid;
	grid-template-columns: minmax(280px, 38%) minmax(0, 1fr);
	gap: 65px;
	align-items: start;
}

.az-profile-image {
	position: relative;
	margin: 0;
}

.az-profile-image::before {
	position: absolute;
	z-index: -1;
	top: 20px;
	left: 20px;
	width: 100%;
	height: 100%;
	background: var(--az-beige, #e9e4d7);
	content: "";
}

.az-profile-image img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: #eee;
}

.az-profile-content {
	padding-top: 15px;
}

.az-profile-role {
	margin: 0 0 6px !important;
	color: var(--az-green-light);
	font-size: 14px;
	font-weight: 700;
}

.az-profile-content h3 {
	margin: 0;
	color: var(--az-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		serif;
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.az-profile-name-en {
	margin: 3px 0 30px !important;
	color: #87938f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	letter-spacing: 0.18em;
}

.az-profile-data {
	margin: 35px 0 0;
	border-top: 1px solid var(--az-border);
}

.az-profile-data > div {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	padding: 15px 0;
	border-bottom: 1px solid var(--az-border);
}

.az-profile-data dt {
	color: var(--az-green-dark);
	font-weight: 700;
}

.az-profile-data dd {
	margin: 0;
}


/* ==================================================
   相談内容
================================================== */

.az-service-section {
	padding: 80px 60px;
	background: var(--az-beige);
}

.az-service-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	background: #d8d5cc;
	border: 1px solid #d8d5cc;
}

.az-service-item {
	min-width: 0;
	padding: 35px 36px;
	background: #fff;
}

.az-service-item h3 {
	position: relative;
	margin: 0 0 20px;
	padding-left: 22px;
	color: var(--az-green-dark);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
}

.az-service-item h3::before {
	position: absolute;
	top: 0.4em;
	left: 0;
	width: 8px;
	height: 8px;
	border: 2px solid var(--az-green-light);
	border-radius: 50%;
	content: "";
}

.az-service-item p {
	margin-bottom: 0;
	color: var(--az-subtext);
}


/* ==================================================
   売却相談
================================================== */

.az-sale-consultation {
	position: relative;
	overflow: hidden;
	padding: 75px 70px;
	background: var(--az-green-dark);
	color: #fff;
}

.az-sale-consultation::after {
	position: absolute;
	right: -100px;
	bottom: -160px;
	width: 360px;
	height: 360px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	content: "";
}

.az-sale-consultation-inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 70px;
	align-items: center;
}

.az-sale-consultation .az-section-label {
	color: #a7c7c2;
}

.az-sale-consultation h2 {
	margin: 0 0 30px;
	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		serif;
	font-size: clamp(29px, 4vw, 43px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.05em;
}

.az-sale-consultation p {
	color: rgba(255, 255, 255, 0.88);
}

.az-sale-consultation-copy p:last-child {
	margin-bottom: 0;
}

.az-sale-consultation-action {
	display: flex;
	flex-direction: column;
	gap: 15px;
}


/* ==================================================
   ボタン
================================================== */

.az-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 13px 28px;
	border: 1px solid var(--az-green);
	border-radius: 0;

	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease;
}

.az-button-primary {
	background: var(--az-green);
	color: #fff !important;
}

.az-button-primary:hover {
	background: var(--az-green-dark);
	border-color: var(--az-green-dark);
	color: #fff !important;
}

.az-button-outline {
	background: transparent;
	color: var(--az-green) !important;
}

.az-button-outline:hover {
	background: var(--az-green);
	color: #fff !important;
}

.az-sale-consultation .az-button-primary {
	background: #fff;
	border-color: #fff;
	color: var(--az-green-dark) !important;
}

.az-sale-consultation .az-button-primary:hover {
	background: var(--az-beige);
	border-color: var(--az-beige);
}

.az-sale-consultation .az-button-outline {
	border-color: rgba(255, 255, 255, 0.75);
	color: #fff !important;
}

.az-sale-consultation .az-button-outline:hover {
	background: #fff;
	border-color: #fff;
	color: var(--az-green-dark) !important;
}


/* ==================================================
   会社概要
================================================== */

.az-company-table-wrap {
	overflow-x: auto;
	border-top: 2px solid var(--az-green);
}

.az-company-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: #fff;
}

.az-company-table th,
.az-company-table td {
	padding: 22px 25px;
	border: 0;
	border-bottom: 1px solid var(--az-border);
	vertical-align: top;
	text-align: left;
}

.az-company-table th {
	width: 250px;
	background: var(--az-pale);
	color: var(--az-green-dark);
	font-weight: 700;
}

.az-company-table td {
	color: var(--az-text);
}

.az-company-table small {
	color: var(--az-subtext);
	font-size: 13px;
}


/* ==================================================
   最終お問い合わせ
================================================== */

.az-company-page .az-contact-cta {
	padding: 80px 50px;
	background: var(--az-pale);
	text-align: center;
}

.az-company-page .az-contact-cta .az-section-label {
	text-align: center;
}

.az-company-page .az-contact-cta h2 {
	margin: 0 0 28px;
	color: var(--az-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		serif;
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-company-page .az-contact-cta > p:not(.az-section-label):not(.az-company-page .az-contact-note) {
	max-width: 740px;
	margin-right: auto;
	margin-left: auto;
}

.az-company-page .az-contact-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 35px;
}

.az-company-page .az-company-page .az-contact-buttons .az-button {
	min-width: 260px;
}

.az-company-page .az-contact-note {
	margin: 18px 0 0 !important;
	color: var(--az-subtext);
	font-size: 13px;
}


/* ==================================================
   タブレット
================================================== */

@media screen and (max-width: 900px) {

	.az-company-page {
		width: min(100% - 32px, 1180px);
		padding-bottom: 70px;
	}

	.az-company-page section {
		margin-bottom: 80px;
	}

	.az-company-values,
	.az-service-section {
		padding: 60px 35px;
	}

	.az-value-list {
		grid-template-columns: 1fr;
	}

	.az-value-item {
		padding: 32px 28px;
	}

	.az-profile {
		grid-template-columns: minmax(240px, 34%) minmax(0, 1fr);
		gap: 40px;
	}

	.az-sale-consultation {
		padding: 60px 45px;
	}

	.az-sale-consultation-inner {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.az-sale-consultation-action {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.az-company-table th {
		width: 210px;
	}
}


/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 640px) {

	.az-company-page {
		width: calc(100vw - 30px);
		padding-top: 0;
		padding-bottom: 50px;
		font-size: 15px;
		line-height: 1.9;
	}

	.az-company-page section {
		margin-bottom: 65px;
	}

	.az-section-heading {
		margin-bottom: 30px;
	}

	.az-section-heading h2,
	.az-company-intro h2 {
		margin-bottom: 25px;
		padding-left: 18px;
		border-left-width: 3px;
		font-size: 28px;
		line-height: 1.55;
	}

	.az-company-intro {
		padding-top: 0;
	}

	.az-company-lead {
		font-size: 17px;
	}

	.az-company-values,
	.az-service-section {
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 15px;
	}

	.az-value-list,
	.az-service-list {
		display: block;
	}

	.az-value-item,
	.az-service-item {
		margin-bottom: 15px;
		padding: 28px 22px;
	}

	.az-value-item:last-child,
	.az-service-item:last-child {
		margin-bottom: 0;
	}

	.az-value-number {
		margin-bottom: 20px !important;
	}

	.az-value-item h3 {
		font-size: 19px;
	}

	.az-profile {
		display: block;
	}

	.az-profile-image {
		width: calc(100% - 20px);
		max-width: 420px;
		margin-bottom: 45px;
	}

	.az-profile-image::before {
		top: 14px;
		left: 14px;
	}

	.az-profile-content {
		padding-top: 0;
	}

	.az-profile-content h3 {
		font-size: 31px;
	}

	.az-profile-data > div {
		display: block;
		padding: 14px 0;
	}

	.az-profile-data dt {
		margin-bottom: 3px;
	}

	.az-sale-consultation {
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 22px;
	}

	.az-sale-consultation h2 {
		font-size: 28px;
	}

	.az-sale-consultation-action {
		display: flex;
	}

	.az-company-table-wrap {
		margin-right: -15px;
		margin-left: -15px;
	}

	.az-company-table,
	.az-company-table tbody,
	.az-company-table tr,
	.az-company-table th,
	.az-company-table td {
		display: block;
		width: 100%;
	}

	.az-company-table tr {
		border-bottom: 1px solid var(--az-border);
	}

	.az-company-table th,
	.az-company-table td {
		border-bottom: 0;
	}

	.az-company-table th {
		padding: 14px 18px 6px;
		background: var(--az-pale);
	}

	.az-company-table td {
		padding: 10px 18px 18px;
	}

	.az-company-page .az-contact-cta {
		margin-right: -15px;
		margin-left: -15px;
		padding: 55px 22px;
	}

	.az-company-page .az-contact-cta h2 {
		font-size: 27px;
	}

	.az-company-page .az-contact-buttons {
		display: block;
	}

	.az-company-page .az-company-page .az-contact-buttons .az-button {
		width: 100%;
		min-width: 0;
		margin-bottom: 12px;
	}
}
/* ==================================================
   あずみの舎　売却査定ページ
   ※ .az-sell-page 内だけに適用
================================================== */

.az-sell-page,
.az-sell-page *,
.az-sell-page *::before,
.az-sell-page *::after {
	box-sizing: border-box;
}

.az-sell-page {
	--az-green: #174f49;
	--az-green-dark: #0b3e39;
	--az-green-light: #6e9f99;
	--az-beige: #f3efe5;
	--az-pale: #f5f8f6;
	--az-border: #d8e1dd;
	--az-text: #263b37;
	--az-subtext: #5f6e6a;

	width: min(1160px, calc(100vw - 40px));
	max-width: none;
	margin-right: auto;
	margin-left: 50%;
	padding: 20px 0 100px;
	transform: translateX(-50%);

	color: var(--az-text);
	font-family:
		"Noto Sans JP",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.03em;
}

.az-sell-page p {
	margin: 0 0 1.4em;
}

.az-sell-page a {
	text-decoration: none;
}

.az-sell-page img {
	display: block;
	max-width: 100%;
	height: auto;
}

.az-sell-page section {
	margin: 0 0 105px;
}

.az-sell-page section:last-child {
	margin-bottom: 0;
}


/* ==================================================
   売却ページ：共通見出し
================================================== */

.az-sell-page .az-sell-label {
	margin: 0 0 12px !important;
	color: var(--az-green-light);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.15em;
}

.az-sell-page .az-sell-heading {
	margin: 0 0 42px;
}

.az-sell-page .az-sell-heading h2 {
	margin: 0 0 25px;
	padding: 4px 0 7px 24px;
	border: 0;
	border-left: 4px solid var(--az-green-light);

	color: var(--az-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(30px, 4vw, 45px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.05em;
}

.az-sell-page .az-sell-heading > p:not(.az-sell-label) {
	max-width: 820px;
	margin-bottom: 0;
	color: var(--az-subtext);
}


/* ==================================================
   売却ページ：ファーストビュー
================================================== */

.az-sell-page .az-sell-hero {
	position: relative;
	overflow: hidden;
	padding: 85px 70px;
	background:
		linear-gradient(
			120deg,
			rgba(7, 51, 46, 0.97),
			rgba(23, 79, 73, 0.88)
		);
	color: #fff;
}

.az-sell-page .az-sell-hero::before,
.az-sell-page .az-sell-hero::after {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	content: "";
}

.az-sell-page .az-sell-hero::before {
	top: -180px;
	right: -100px;
	width: 430px;
	height: 430px;
}

.az-sell-page .az-sell-hero::after {
	right: 140px;
	bottom: -210px;
	width: 350px;
	height: 350px;
}

.az-sell-page .az-sell-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 850px;
}

.az-sell-page .az-sell-hero .az-sell-label {
	color: #b5d2ce;
}

.az-sell-page .az-sell-hero h1 {
	margin: 0 0 30px;
	padding: 0;
	border: 0;

	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(34px, 5.5vw, 58px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.az-sell-page .az-sell-hero-lead {
	max-width: 750px;
	margin-bottom: 35px !important;
	font-size: clamp(17px, 2vw, 20px);
	line-height: 2;
}

.az-sell-page .az-sell-hero-note {
	display: inline-block;
	margin: 0 !important;
	padding: 12px 18px;
	background: rgba(255, 255, 255, 0.12);
	border-left: 3px solid #c3dbd7;
	font-size: 14px;
}


/* ==================================================
   売却ページ：ボタン
================================================== */

.az-sell-page .az-sell-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

.az-sell-page .az-sell-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 240px;
	min-height: 58px;
	padding: 14px 28px;
	border: 1px solid var(--az-green);

	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease;
}

.az-sell-page .az-sell-button-primary {
	background: var(--az-green);
	color: #fff !important;
}

.az-sell-page .az-sell-button-primary:hover {
	background: var(--az-green-dark);
	border-color: var(--az-green-dark);
	color: #fff !important;
}

.az-sell-page .az-sell-button-outline {
	background: #fff;
	color: var(--az-green-dark) !important;
}

.az-sell-page .az-sell-button-outline:hover {
	background: var(--az-beige);
	color: var(--az-green-dark) !important;
}

.az-sell-page .az-sell-hero .az-sell-button-primary,
.az-sell-page .az-sell-contact .az-sell-button-primary {
	background: #fff;
	border-color: #fff;
	color: var(--az-green-dark) !important;
}

.az-sell-page .az-sell-hero .az-sell-button-primary:hover,
.az-sell-page .az-sell-contact .az-sell-button-primary:hover {
	background: var(--az-beige);
	border-color: var(--az-beige);
}

.az-sell-page .az-sell-hero .az-sell-button-outline,
.az-sell-page .az-sell-contact .az-sell-button-outline {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.75);
	color: #fff !important;
}

.az-sell-page .az-sell-hero .az-sell-button-outline:hover,
.az-sell-page .az-sell-contact .az-sell-button-outline:hover {
	background: #fff;
	border-color: #fff;
	color: var(--az-green-dark) !important;
}


/* ==================================================
   売却ページ：よくある相談
================================================== */

.az-sell-page .az-sell-concerns {
	padding: 75px 60px;
	background: var(--az-pale);
}

.az-sell-page .az-sell-concern-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.az-sell-page .az-sell-concern-list li {
	position: relative;
	min-height: 74px;
	margin: 0;
	padding: 21px 25px 21px 58px;
	background: #fff;
	border: 1px solid var(--az-border);
	font-weight: 600;
	list-style: none;
}

.az-sell-page .az-sell-concern-list li::marker {
	content: "";
}

.az-sell-page .az-sell-concern-list li::before {
	position: absolute;
	top: 24px;
	left: 24px;
	width: 20px;
	height: 11px;
	border-bottom: 3px solid var(--az-green-light);
	border-left: 3px solid var(--az-green-light);
	transform: rotate(-45deg);
	content: "";
}


/* ==================================================
   売却ページ：相談するメリット
================================================== */

.az-sell-page .az-sell-strength-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.az-sell-page .az-sell-strength {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: 40px 30px 35px;
	background: #fff;
	border: 1px solid var(--az-border);
	box-shadow: 0 12px 30px rgba(20, 62, 56, 0.07);
}

.az-sell-page .az-sell-strength-number {
	display: block;
	margin: 0 0 27px !important;
	padding: 0;
	color: var(--az-green-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.12em;
}

.az-sell-page .az-sell-strength h3 {
	position: relative;
	margin: 0 0 23px;
	padding: 0 0 18px;
	border: 0;

	color: var(--az-green-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.65;
	letter-spacing: 0.02em;
}

.az-sell-page .az-sell-strength h3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 42px;
	height: 2px;
	background: var(--az-green-light);
	content: "";
}

.az-sell-page .az-sell-strength p:not(.az-sell-strength-number) {
	margin: 0 0 18px;
	color: var(--az-text);
}

.az-sell-page .az-sell-strength p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   売却ページ：片付け・解体前の相談
================================================== */

.az-sell-page .az-sell-as-is {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 350px;
	gap: 65px;
	align-items: center;
	padding: 70px;
	background: var(--az-beige);
}

.az-sell-page .az-sell-as-is-copy {
	min-width: 0;
}

.az-sell-page .az-sell-as-is h2 {
	margin: 0 0 28px;
	padding: 0;
	border: 0;

	color: var(--az-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(29px, 4vw, 43px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-sell-page .az-sell-as-is-copy > p:not(.az-sell-label) {
	margin: 0 0 20px;
}

.az-sell-page .az-sell-as-is-copy > p:last-child {
	margin-bottom: 0;
}

.az-sell-page .az-sell-as-is-box {
	min-width: 0;
	margin: 0;
	padding: 30px;
	background: #fff;
	border-top: 4px solid var(--az-green-light);
	box-shadow: 0 10px 25px rgba(20, 62, 56, 0.06);
}

.az-sell-page .az-sell-as-is-box h3 {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	color: var(--az-green-dark);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
}

.az-sell-page .az-sell-as-is-box ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.az-sell-page .az-sell-as-is-box li {
	position: relative;
	margin: 0;
	padding: 10px 0 10px 26px;
	border-bottom: 1px solid #e2e8e5;
	list-style: none;
}

.az-sell-page .az-sell-as-is-box li:last-child {
	border-bottom: 0;
}

.az-sell-page .az-sell-as-is-box li::marker {
	content: "";
}

.az-sell-page .az-sell-as-is-box li::before {
	position: absolute;
	top: 19px;
	left: 3px;
	width: 7px;
	height: 7px;
	background: var(--az-green-light);
	border-radius: 50%;
	content: "";
}


/* ==================================================
   売却ページ：売却までの流れ
================================================== */

.az-sell-page .az-sell-flow-list {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.az-sell-page .az-sell-flow-list > li {
	list-style: none;
}

.az-sell-page .az-sell-flow-list > li::marker {
	content: "";
}

.az-sell-page .az-sell-flow-item {
	display: grid;
	grid-template-columns: 105px minmax(0, 1fr);
	align-items: stretch;
	margin: 0 0 24px;
	padding: 0;
	background: #fff;
	border: 1px solid var(--az-border);
	list-style: none;
}

.az-sell-page .az-sell-flow-item:last-child {
	margin-bottom: 0;
}

.az-sell-page .az-sell-flow-number {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 165px;
	padding: 20px 10px;
	background: var(--az-green);
	color: #fff;
	text-align: center;
}

.az-sell-page .az-sell-flow-number span {
	display: block;
	margin: 0 0 5px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.14em;
}

.az-sell-page .az-sell-flow-number strong {
	display: block;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
}

.az-sell-page .az-sell-flow-content {
	min-width: 0;
	padding: 32px 38px;
}

.az-sell-page .az-sell-flow-content h3 {
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	color: var(--az-green-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
}

.az-sell-page .az-sell-flow-content p {
	margin: 0 0 16px;
}

.az-sell-page .az-sell-flow-content p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   売却ページ：査定時に必要な情報
================================================== */

.az-sell-page .az-sell-info {
	padding: 70px 60px;
	background: var(--az-pale);
}

.az-sell-page .az-sell-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px 35px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.az-sell-page .az-sell-info-grid li {
	position: relative;
	margin: 0;
	padding: 15px 15px 15px 42px;
	border-bottom: 1px solid var(--az-border);
	list-style: none;
}

.az-sell-page .az-sell-info-grid li::marker {
	content: "";
}

.az-sell-page .az-sell-info-grid li::before {
	position: absolute;
	top: 23px;
	left: 10px;
	width: 8px;
	height: 8px;
	background: var(--az-green-light);
	border-radius: 50%;
	content: "";
}

.az-sell-page .az-sell-info-note {
	margin: 30px 0 0 !important;
	padding: 18px 22px;
	background: #fff;
	border-left: 3px solid var(--az-green-light);
	color: var(--az-subtext);
	font-size: 14px;
}


/* ==================================================
   売却ページ：よくある質問
================================================== */

.az-sell-page .az-sell-faq {
	border-top: 2px solid var(--az-green);
}

.az-sell-page .az-sell-faq-item {
	padding: 30px 5px;
	border-bottom: 1px solid var(--az-border);
}

.az-sell-page .az-sell-faq-question {
	position: relative;
	margin: 0 0 15px !important;
	padding-left: 48px;
	color: var(--az-green-dark);
	font-size: 18px;
	font-weight: 700;
}

.az-sell-page .az-sell-faq-question::before {
	position: absolute;
	top: -2px;
	left: 0;
	color: var(--az-green-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
	content: "Q";
}

.az-sell-page .az-sell-faq-answer {
	position: relative;
	margin: 0 !important;
	padding-left: 48px;
}

.az-sell-page .az-sell-faq-answer::before {
	position: absolute;
	top: -5px;
	left: 1px;
	color: #a28e66;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	content: "A";
}


/* ==================================================
   売却ページ：最終お問い合わせ
================================================== */

.az-sell-page .az-sell-contact {
	padding: 75px 60px;
	background: var(--az-green-dark);
	color: #fff;
	text-align: center;
}

.az-sell-page .az-sell-contact .az-sell-label {
	color: #aecac6;
}

.az-sell-page .az-sell-contact h2 {
	margin: 0 0 27px;
	padding: 0;
	border: 0;

	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(29px, 4vw, 44px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-sell-page .az-sell-contact > p:not(.az-sell-label):not(.az-sell-contact-note) {
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.88);
}

.az-sell-page .az-sell-contact .az-sell-buttons {
	justify-content: center;
}

.az-sell-page .az-sell-contact-note {
	margin: 20px 0 0 !important;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
}


/* ==================================================
   売却ページ：タブレット
================================================== */

@media screen and (max-width: 900px) {

	.az-sell-page {
		width: min(100% - 32px, 1160px);
		padding-bottom: 70px;
	}

	.az-sell-page section {
		margin-bottom: 80px;
	}

	.az-sell-page .az-sell-hero {
		padding: 70px 45px;
	}

	.az-sell-page .az-sell-concerns,
	.az-sell-page .az-sell-info {
		padding: 60px 35px;
	}

	.az-sell-page .az-sell-strength-list {
		grid-template-columns: 1fr;
	}

	.az-sell-page .az-sell-strength {
		padding: 34px 30px;
	}

	.az-sell-page .az-sell-as-is {
		grid-template-columns: 1fr;
		gap: 35px;
		padding: 60px 45px;
	}
}


/* ==================================================
   売却ページ：スマートフォン
================================================== */

@media screen and (max-width: 640px) {

	.az-sell-page {
		width: calc(100vw - 30px);
		padding-top: 0;
		padding-bottom: 50px;
		font-size: 15px;
		line-height: 1.9;
	}

	.az-sell-page section {
		margin-bottom: 65px;
	}

	.az-sell-page .az-sell-heading {
		margin-bottom: 30px;
	}

	.az-sell-page .az-sell-heading h2 {
		padding-left: 18px;
		border-left-width: 3px;
		font-size: 28px;
	}

	.az-sell-page .az-sell-hero {
		margin-right: -15px;
		margin-left: -15px;
		padding: 55px 22px;
	}

	.az-sell-page .az-sell-hero h1 {
		font-size: 33px;
	}

	.az-sell-page .az-sell-buttons {
		display: block;
	}

	.az-sell-page .az-sell-button {
		width: 100%;
		min-width: 0;
		margin-bottom: 12px;
	}

	.az-sell-page .az-sell-concerns,
	.az-sell-page .az-sell-info {
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 15px;
	}

	.az-sell-page .az-sell-concern-list,
	.az-sell-page .az-sell-info-grid {
		display: block;
	}

	.az-sell-page .az-sell-concern-list li {
		margin-bottom: 12px;
	}

	.az-sell-page .az-sell-strength-list {
		display: block;
	}

	.az-sell-page .az-sell-strength {
		margin-bottom: 15px;
		padding: 30px 22px;
	}

	.az-sell-page .az-sell-strength:last-child {
		margin-bottom: 0;
	}

	.az-sell-page .az-sell-strength-number {
		margin-bottom: 18px !important;
	}

	.az-sell-page .az-sell-strength h3 {
		font-size: 19px;
	}

	.az-sell-page .az-sell-as-is {
		display: block;
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 22px;
	}

	.az-sell-page .az-sell-as-is h2 {
		font-size: 28px;
	}

	.az-sell-page .az-sell-as-is-copy {
		margin-bottom: 35px;
	}

	.az-sell-page .az-sell-as-is-box {
		padding: 25px 20px;
	}

	.az-sell-page .az-sell-flow-item {
		display: block;
	}

	.az-sell-page .az-sell-flow-number {
		display: block;
		min-height: 0;
		padding: 13px 20px;
		text-align: left;
	}

	.az-sell-page .az-sell-flow-number span,
	.az-sell-page .az-sell-flow-number strong {
		display: inline;
	}

	.az-sell-page .az-sell-flow-number strong {
		margin-left: 7px;
		font-size: 23px;
	}

	.az-sell-page .az-sell-flow-content {
		padding: 25px 22px;
	}

	.az-sell-page .az-sell-flow-content h3 {
		font-size: 19px;
	}

	.az-sell-page .az-sell-faq-question,
	.az-sell-page .az-sell-faq-answer {
		padding-left: 39px;
	}

	.az-sell-page .az-sell-contact {
		margin-right: -15px;
		margin-left: -15px;
		padding: 55px 22px;
	}

	.az-sell-page .az-sell-contact h2 {
		font-size: 28px;
	}
}

/* ==================================================
   あずみの舎　安曇野での暮らしページ
================================================== */

.az-life-page,
.az-life-page *,
.az-life-page *::before,
.az-life-page *::after {
	box-sizing: border-box;
}

.az-life-page {
	--az-life-green: #174f49;
	--az-life-green-dark: #0b3e39;
	--az-life-green-light: #6e9f99;
	--az-life-beige: #f3efe5;
	--az-life-pale: #f5f8f6;
	--az-life-border: #d7e0dc;
	--az-life-text: #263b37;
	--az-life-subtext: #5f6e6a;

	width: min(1180px, calc(100vw - 40px));
	max-width: none;
	margin-right: auto;
	margin-left: 50%;
	padding: 20px 0 100px;
	transform: translateX(-50%);

	color: var(--az-life-text);
	font-family:
		"Noto Sans JP",
		"Hiragino Kaku Gothic ProN",
		"Yu Gothic",
		Meiryo,
		sans-serif;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.03em;
}

.az-life-page p {
	margin: 0 0 1.4em;
}

.az-life-page a {
	text-decoration: none;
}

.az-life-page img {
	display: block;
	width: 100%;
	height: auto;
}

.az-life-page section {
	margin: 0 0 105px;
}

.az-life-page section:last-child {
	margin-bottom: 0;
}


/* 共通 */

.az-life-page .az-life-label {
	margin: 0 0 12px !important;
	color: var(--az-life-green-light);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.15em;
}

.az-life-page .az-life-heading {
	margin-bottom: 42px;
}

.az-life-page .az-life-heading h2 {
	margin: 0 0 26px;
	padding: 4px 0 7px 24px;
	border: 0;
	border-left: 4px solid var(--az-life-green-light);

	color: var(--az-life-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		"Hiragino Mincho ProN",
		serif;
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.05em;
}

.az-life-page .az-life-heading > p:not(.az-life-label) {
	max-width: 820px;
	margin-bottom: 0;
	color: var(--az-life-subtext);
}


/* メインビジュアル */

.az-life-page .az-life-hero {
	position: relative;
	min-height: 660px;
	overflow: hidden;
	background: var(--az-life-green-dark);
}

.az-life-page .az-life-hero-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.az-life-page .az-life-hero-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(
			90deg,
			rgba(5, 43, 39, 0.82) 0%,
			rgba(5, 43, 39, 0.46) 55%,
			rgba(5, 43, 39, 0.12) 100%
		);
}

.az-life-page .az-life-hero-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(680px, 70%);
	min-height: 660px;
	padding: 70px;
	color: #fff;
}

.az-life-page .az-life-hero .az-life-label {
	color: #d1e2df;
}

.az-life-page .az-life-hero h1 {
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(38px, 5.5vw, 62px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.az-life-page .az-life-hero-lead {
	margin-bottom: 0 !important;
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 2.05;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}


/* 導入 */

.az-life-page .az-life-intro-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 42%);
	gap: 70px;
	align-items: center;
}

.az-life-page .az-life-intro-copy {
	min-width: 0;
}

.az-life-page .az-life-lead {
	margin-bottom: 28px !important;
	color: var(--az-life-green-dark);
	font-size: clamp(19px, 2.2vw, 24px);
	font-weight: 600;
	line-height: 1.9;
}

.az-life-page .az-life-intro-image {
	position: relative;
	margin: 0;
}

.az-life-page .az-life-intro-image::before {
	position: absolute;
	z-index: -1;
	top: 20px;
	left: 20px;
	width: 100%;
	height: 100%;
	background: var(--az-life-beige);
	content: "";
}

.az-life-page .az-life-intro-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}


/* 一日の風景 */

.az-life-page .az-life-day {
	padding: 75px 60px;
	background: var(--az-life-pale);
}

.az-life-page .az-life-day-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px;
	background: var(--az-life-border);
	border: 1px solid var(--az-life-border);
}

.az-life-page .az-life-day-item {
	min-width: 0;
	padding: 36px 38px;
	background: #fff;
}

.az-life-page .az-life-day-time {
	margin: 0 0 17px !important;
	color: var(--az-life-green-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
}

.az-life-page .az-life-day-item h3 {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	color: var(--az-life-green-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
}

.az-life-page .az-life-day-item p:last-child {
	margin-bottom: 0;
	color: var(--az-life-subtext);
}


/* 四季 */

.az-life-page .az-life-seasons {
	display: grid;
	grid-template-columns: minmax(0, 50%) minmax(0, 1fr);
	min-height: 620px;
	background: var(--az-life-green-dark);
	color: #fff;
}

.az-life-page .az-life-seasons-visual {
	min-height: 100%;
}

.az-life-page .az-life-seasons-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.az-life-page .az-life-seasons-content {
	padding: 70px 65px;
}

.az-life-page .az-life-seasons .az-life-label {
	color: #aecac6;
}

.az-life-page .az-life-seasons h2 {
	margin: 0 0 38px;
	padding: 0;
	border: 0;
	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(31px, 4vw, 45px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-life-page .az-life-season-list {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.az-life-page .az-life-season-item {
	display: grid;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 20px;
	padding: 19px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.az-life-page .az-life-season-item p {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
}

.az-life-page .az-life-season-name {
	color: #fff !important;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		serif;
	font-size: 21px;
	font-weight: 600;
}


/* 自然と便利さ */

.az-life-page .az-life-balance-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.az-life-page .az-life-balance-item {
	min-width: 0;
	padding: 38px 34px;
	background: #fff;
	border: 1px solid var(--az-life-border);
	box-shadow: 0 10px 28px rgba(20, 62, 56, 0.055);
}

.az-life-page .az-life-balance-number {
	margin: 0 0 25px !important;
	color: var(--az-life-green-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.az-life-page .az-life-balance-item h3 {
	position: relative;
	margin: 0 0 22px;
	padding: 0 0 17px;
	border: 0;
	color: var(--az-life-green-dark);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6;
}

.az-life-page .az-life-balance-item h3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 42px;
	height: 2px;
	background: var(--az-life-green-light);
	content: "";
}

.az-life-page .az-life-balance-item p:last-child {
	margin-bottom: 0;
}


/* 住まい選び */

.az-life-page .az-life-check {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 390px;
	gap: 65px;
	align-items: center;
	padding: 70px;
	background: var(--az-life-beige);
}

.az-life-page .az-life-check h2 {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	color: var(--az-life-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(29px, 4vw, 43px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-life-page .az-life-check-copy p:last-child {
	margin-bottom: 0;
}

.az-life-page .az-life-check-box {
	padding: 30px;
	background: #fff;
	border-top: 4px solid var(--az-life-green-light);
	box-shadow: 0 10px 25px rgba(20, 62, 56, 0.06);
}

.az-life-page .az-life-check-box h3 {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	color: var(--az-life-green-dark);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
}

.az-life-page .az-life-check-box ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.az-life-page .az-life-check-box li {
	position: relative;
	margin: 0;
	padding: 9px 0 9px 26px;
	border-bottom: 1px solid #e2e8e5;
	list-style: none;
	font-size: 15px;
	line-height: 1.7;
}

.az-life-page .az-life-check-box li:last-child {
	border-bottom: 0;
}

.az-life-page .az-life-check-box li::marker {
	content: "";
}

.az-life-page .az-life-check-box li::before {
	position: absolute;
	top: 18px;
	left: 3px;
	width: 7px;
	height: 7px;
	background: var(--az-life-green-light);
	border-radius: 50%;
	content: "";
}


/* 場所ごとの違い */

.az-life-page .az-life-area-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.az-life-page .az-life-area-item {
	min-width: 0;
	padding: 35px 30px;
	border-top: 3px solid var(--az-life-green-light);
	background: var(--az-life-pale);
}

.az-life-page .az-life-area-item h3 {
	margin: 0 0 17px;
	padding: 0;
	border: 0;
	color: var(--az-life-green-dark);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6;
}

.az-life-page .az-life-area-item p:last-child {
	margin-bottom: 0;
}


/* 移住前の訪問 */

.az-life-page .az-life-visit {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
	align-items: stretch;
	background: var(--az-life-pale);
}

.az-life-page .az-life-visit-image img {
	width: 100%;
	height: 100%;
	min-height: 460px;
	object-fit: cover;
}

.az-life-page .az-life-visit-content {
	padding: 65px 60px;
}

.az-life-page .az-life-visit h2 {
	margin: 0 0 27px;
	padding: 0;
	border: 0;
	color: var(--az-life-green-dark);
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(29px, 3.5vw, 41px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-life-page .az-life-visit-content p:last-child {
	margin-bottom: 0;
}


/* お問い合わせ */

.az-life-page .az-life-contact {
	padding: 75px 60px;
	background: var(--az-life-green-dark);
	color: #fff;
	text-align: center;
}

.az-life-page .az-life-contact .az-life-label {
	color: #aecac6;
}

.az-life-page .az-life-contact h2 {
	margin: 0 0 27px;
	padding: 0;
	border: 0;
	color: #fff;
	font-family:
		"Noto Serif JP",
		"Yu Mincho",
		YuMincho,
		serif;
	font-size: clamp(29px, 4vw, 44px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.az-life-page .az-life-contact > p:not(.az-life-label):not(.az-life-contact-note) {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	color: rgba(255, 255, 255, 0.88);
}

.az-life-page .az-life-contact-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin-top: 35px;
}

.az-life-page .az-life-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 250px;
	min-height: 58px;
	padding: 14px 28px;
	border: 1px solid #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease;
}

.az-life-page .az-life-button-primary {
	background: #fff;
	color: var(--az-life-green-dark) !important;
}

.az-life-page .az-life-button-primary:hover {
	background: var(--az-life-beige);
	border-color: var(--az-life-beige);
}

.az-life-page .az-life-button-outline {
	background: transparent;
	color: #fff !important;
}

.az-life-page .az-life-button-outline:hover {
	background: #fff;
	color: var(--az-life-green-dark) !important;
}

.az-life-page .az-life-contact-note {
	margin: 18px 0 0 !important;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
}


/* タブレット */

@media screen and (max-width: 900px) {

	.az-life-page {
		width: min(100% - 32px, 1180px);
		padding-bottom: 70px;
	}

	.az-life-page section {
		margin-bottom: 80px;
	}

	.az-life-page .az-life-hero,
	.az-life-page .az-life-hero-content {
		min-height: 580px;
	}

	.az-life-page .az-life-hero-content {
		width: 78%;
		padding: 50px 45px;
	}

	.az-life-page .az-life-intro-grid {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 40%);
		gap: 45px;
	}

	.az-life-page .az-life-day {
		padding: 60px 35px;
	}

	.az-life-page .az-life-seasons {
		grid-template-columns: 1fr;
	}

	.az-life-page .az-life-seasons-visual {
		height: 420px;
	}

	.az-life-page .az-life-seasons-content {
		padding: 60px 45px;
	}

	.az-life-page .az-life-check {
		grid-template-columns: 1fr;
		gap: 35px;
		padding: 60px 45px;
	}

	.az-life-page .az-life-area-list {
		grid-template-columns: 1fr;
	}

	.az-life-page .az-life-visit {
		grid-template-columns: 1fr;
	}

	.az-life-page .az-life-visit-image img {
		min-height: 380px;
		max-height: 480px;
	}

	.az-life-page .az-life-visit-content {
		padding: 55px 45px;
	}
}


/* スマートフォン */

@media screen and (max-width: 640px) {

	.az-life-page {
		width: calc(100vw - 30px);
		padding-top: 0;
		padding-bottom: 50px;
		font-size: 15px;
		line-height: 1.9;
	}

	.az-life-page section {
		margin-bottom: 65px;
	}

	.az-life-page .az-life-heading {
		margin-bottom: 30px;
	}

	.az-life-page .az-life-heading h2 {
		padding-left: 18px;
		border-left-width: 3px;
		font-size: 28px;
	}

	.az-life-page .az-life-hero {
		min-height: 570px;
		margin-right: -15px;
		margin-left: -15px;
	}

	.az-life-page .az-life-hero-overlay {
		background:
			linear-gradient(
				0deg,
				rgba(5, 43, 39, 0.86) 0%,
				rgba(5, 43, 39, 0.52) 62%,
				rgba(5, 43, 39, 0.18) 100%
			);
	}

	.az-life-page .az-life-hero-content {
		justify-content: flex-end;
		width: 100%;
		min-height: 570px;
		padding: 42px 22px;
	}

	.az-life-page .az-life-hero h1 {
		font-size: 34px;
	}

	.az-life-page .az-life-intro-grid {
		display: block;
	}

	.az-life-page .az-life-intro-copy {
		margin-bottom: 40px;
	}

	.az-life-page .az-life-intro-image {
		width: calc(100% - 14px);
	}

	.az-life-page .az-life-intro-image::before {
		top: 14px;
		left: 14px;
	}

	.az-life-page .az-life-lead {
		font-size: 18px;
	}

	.az-life-page .az-life-day {
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 15px;
	}

	.az-life-page .az-life-day-list,
	.az-life-page .az-life-balance-list {
		display: block;
	}

	.az-life-page .az-life-day-item,
	.az-life-page .az-life-balance-item {
		margin-bottom: 15px;
		padding: 29px 22px;
	}

	.az-life-page .az-life-day-item:last-child,
	.az-life-page .az-life-balance-item:last-child {
		margin-bottom: 0;
	}

	.az-life-page .az-life-seasons {
		margin-right: -15px;
		margin-left: -15px;
	}

	.az-life-page .az-life-seasons-visual {
		height: 300px;
	}

	.az-life-page .az-life-seasons-content {
		padding: 50px 22px;
	}

	.az-life-page .az-life-seasons h2 {
		font-size: 28px;
	}

	.az-life-page .az-life-season-item {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 14px;
	}

	.az-life-page .az-life-check {
		display: block;
		margin-right: -15px;
		margin-left: -15px;
		padding: 50px 22px;
	}

	.az-life-page .az-life-check h2 {
		font-size: 28px;
	}

	.az-life-page .az-life-check-copy {
		margin-bottom: 35px;
	}

	.az-life-page .az-life-check-box {
		padding: 25px 20px;
	}

	.az-life-page .az-life-area-list {
		display: block;
	}

	.az-life-page .az-life-area-item {
		margin-bottom: 15px;
		padding: 30px 22px;
	}

	.az-life-page .az-life-area-item:last-child {
		margin-bottom: 0;
	}

	.az-life-page .az-life-visit {
		margin-right: -15px;
		margin-left: -15px;
	}

	.az-life-page .az-life-visit-image img {
		min-height: 280px;
		height: 280px;
	}

	.az-life-page .az-life-visit-content {
		padding: 48px 22px;
	}

	.az-life-page .az-life-visit h2 {
		font-size: 28px;
	}

	.az-life-page .az-life-contact {
		margin-right: -15px;
		margin-left: -15px;
		padding: 55px 22px;
	}

	.az-life-page .az-life-contact h2 {
		font-size: 28px;
	}

	.az-life-page .az-life-contact-buttons {
		display: block;
	}

	.az-life-page .az-life-button {
		width: 100%;
		min-width: 0;
		margin-bottom: 12px;
	}
}
/* トップページのサービス見出し：PCでは1行・左揃え */
@media screen and (min-width: 901px) {

	.az-home #service .az-section-heading {
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 42px !important;
		text-align: left !important;
	}

	.az-home #service .az-section-heading .az-section-label {
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}

	.az-home #service .az-section-heading h2 {
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 22px !important;

		font-size: clamp(30px, 3.2vw, 46px) !important;
		text-align: left !important;
		white-space: nowrap !important;
		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	.az-home #service .az-section-heading > p:not(.az-section-label) {
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
}
/* ==================================================
   トップページ全体の縦余白を圧縮
================================================== */

@media screen and (min-width: 901px) {

	/* メインビジュアル以外の各セクション */
	.az-home > section:not(:first-child) {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 56px !important;
		padding-bottom: 56px !important;
	}

	/* セクション見出しまわり */
	.az-home .az-section-heading {
		margin-top: 0 !important;
		margin-bottom: 28px !important;
	}

	.az-home .az-section-heading h2 {
		margin-bottom: 14px !important;
	}

	.az-home .az-section-heading > p:last-child {
		margin-bottom: 0 !important;
	}

	/* ご相談カード部分 */
	.az-home #service {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
	}

	.az-home #service .az-section-heading {
		margin-bottom: 25px !important;
	}

	.az-home #service article {
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	/* セクション間に追加marginがある場合 */
	.az-home > section + section {
		margin-top: 0 !important;
	}

	/* 画像と文章の2カラム部分 */
	.az-home figure {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
}


/* タブレット・スマートフォンも少し圧縮 */

@media screen and (max-width: 900px) {

	.az-home > section:not(:first-child) {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 42px !important;
		padding-bottom: 42px !important;
	}

	.az-home .az-section-heading {
		margin-bottom: 24px !important;
	}

	.az-home .az-section-heading h2 {
		margin-bottom: 12px !important;
	}

	.az-home #service {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}
}
/* ==================================================
   トップページの縦余白を圧縮
================================================== */

@media screen and (min-width: 901px) {

	/*
	 * 最初のメインビジュアルを除き、
	 * 2番目以降のセクションを圧縮
	 */
	body.home .az-home section ~ section {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 38px !important;
		padding-bottom: 38px !important;
	}

	/* セクション内部にも余白が設定されている場合 */
	body.home .az-home section ~ section > .container,
	body.home .az-home section ~ section > .inner,
	body.home .az-home section ~ section > .az-inner,
	body.home .az-home section ~ section > .section-inner,
	body.home .az-home section ~ section > [class*="section-inner"] {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* 見出しと本文の間 */
	body.home .az-home .az-section-heading {
		margin-top: 0 !important;
		margin-bottom: 20px !important;
	}

	body.home .az-home .az-section-heading h2 {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}

	body.home .az-home .az-section-heading > p {
		margin-bottom: 0 !important;
	}

	/* サービスカード部分 */
	body.home .az-home #service {
		padding-top: 38px !important;
		padding-bottom: 38px !important;
	}

	body.home .az-home #service .az-section-heading {
		margin-bottom: 20px !important;
	}

	body.home .az-home #service article {
		padding-top: 24px !important;
		padding-bottom: 24px !important;
	}

	/* 画像・文章の2カラム部分 */
	body.home .az-home figure {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* セクション内の最後の文章 */
	body.home .az-home section p:last-child {
		margin-bottom: 0 !important;
	}
}


/* タブレット・スマートフォン */

@media screen and (max-width: 900px) {

	body.home .az-home section ~ section {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	body.home .az-home .az-section-heading {
		margin-bottom: 18px !important;
	}

	body.home .az-home .az-section-heading h2 {
		margin-bottom: 10px !important;
	}

	body.home .az-home #service {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}
}
/* ==================================================
   トップページのメインビジュアルを圧縮
================================================== */

@media screen and (min-width: 901px) {

	/* ヒーロー全体 */
	body.home .az-home section:first-of-type,
	body.home .az-home .az-hero,
	body.home .az-home .home-hero,
	body.home .az-home .hero-section {
		height: auto !important;
		min-height: 400px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* ヒーロー内側 */
	body.home .az-home section:first-of-type > .container,
	body.home .az-home section:first-of-type > [class*="inner"],
	body.home .az-home section:first-of-type > [class*="content"],
	body.home .az-home .az-hero-inner,
	body.home .az-home .home-hero-inner,
	body.home .az-home .hero-inner {
		min-height: 400px !important;
		padding-top: 42px !important;
		padding-bottom: 42px !important;
		box-sizing: border-box !important;
	}

	/* 英文ラベル */
	body.home .az-home section:first-of-type .az-section-label,
	body.home .az-home section:first-of-type [class*="label"] {
		margin-bottom: 10px !important;
	}

	/* メイン見出し */
	body.home .az-home section:first-of-type h1 {
		margin-top: 0 !important;
		margin-bottom: 18px !important;
		font-size: clamp(38px, 4.2vw, 54px) !important;
		line-height: 1.4 !important;
	}

	/* 説明文 */
	body.home .az-home section:first-of-type h1 + p {
		margin-bottom: 20px !important;
		line-height: 1.8 !important;
	}

	/* ボタンまわり */
	body.home .az-home section:first-of-type .az-buttons,
	body.home .az-home section:first-of-type .hero-buttons,
	body.home .az-home section:first-of-type [class*="button-group"] {
		margin-top: 18px !important;
	}
}


/* タブレット・スマートフォン */

@media screen and (max-width: 900px) {

	body.home .az-home section:first-of-type,
	body.home .az-home .az-hero,
	body.home .az-home .home-hero,
	body.home .az-home .hero-section {
		height: auto !important;
		min-height: 390px !important;
	}

	body.home .az-home section:first-of-type > .container,
	body.home .az-home section:first-of-type > [class*="inner"],
	body.home .az-home section:first-of-type > [class*="content"] {
		min-height: 390px !important;
		padding-top: 35px !important;
		padding-bottom: 35px !important;
	}

	body.home .az-home section:first-of-type h1 {
		margin-bottom: 16px !important;
		font-size: clamp(31px, 8vw, 42px) !important;
		line-height: 1.45 !important;
	}
}
/* サービスカードを詰めながら3枚の高さを揃える */
body.home .az-home #service article {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	min-height: 250px !important;
	padding: 20px 34px 26px !important;
}

body.home .az-home #service article > a:last-child,
body.home .az-home #service article .more-link,
body.home .az-home #service article [class*="link"] {
	margin-top: 22px !important;
	margin-bottom: 0 !important;
}

/* 会社紹介ページ：01・02・03カード内の余白を少し縮める */
.az-company-page .az-value-item {
	padding: 28px 24px 26px !important;
}

/* 01・02・03と見出しの間も少し縮める */
.az-company-page .az-value-number {
	margin-bottom: 22px !important;
}

/* 見出し下の余白も少し縮める */
.az-company-page .az-value-item h3 {
	margin-bottom: 18px !important;
	padding-bottom: 14px !important;
}

/* ==================================================
   あずみの舎 Contact Form 7
================================================== */

.az-contact-form {
	--az-form-green: #004c46;
	--az-form-light-green: #6e9f99;
	--az-form-border: #ccd9d6;
	--az-form-bg: #f4f7f5;
	--az-form-text: #263b37;
	--az-form-red: #a84c43;

	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 50px 55px;

	background: #fff;
	border-top: 3px solid var(--az-form-green);
	box-shadow: 0 12px 35px rgba(20, 55, 48, 0.07);
	box-sizing: border-box;

	color: var(--az-form-text);
}


/* 説明文
-------------------------------------------------- */

.az-contact-form .az-form-intro {
	margin: 0 0 36px;
	padding: 22px 26px;

	background: var(--az-form-bg);
	border-left: 3px solid var(--az-form-light-green);
}

.az-contact-form .az-form-intro p {
	margin: 0 0 7px;
	font-size: 15px;
	line-height: 1.8;
}

.az-contact-form .az-form-intro p:last-child {
	margin-bottom: 0;
}


/* 各入力項目
-------------------------------------------------- */

.az-contact-form .az-form-row {
	margin: 0;
	padding: 27px 0;

	border-bottom: 1px solid var(--az-form-border);
}

.az-contact-form .az-form-row:first-of-type {
	border-top: 1px solid var(--az-form-border);
}

.az-contact-form label {
	display: block;
	margin: 0;
}

.az-contact-form fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;

	border: 0;
}

.az-contact-form .az-form-label {
	display: block;
	margin: 0 0 11px;

	color: var(--az-form-green);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.03em;
}


/* 必須マーク
-------------------------------------------------- */

.az-contact-form .az-required {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;

	background: var(--az-form-red);
	border-radius: 2px;

	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	vertical-align: 2px;
	letter-spacing: 0.08em;
}


/* テキスト入力・選択欄
-------------------------------------------------- */

.az-contact-form input[type="text"],
.az-contact-form input[type="email"],
.az-contact-form input[type="tel"],
.az-contact-form input[type="url"],
.az-contact-form select,
.az-contact-form textarea {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 13px 15px;

	background: #fff;
	border: 1px solid #b8c9c5;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;

	color: var(--az-form-text);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.7;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background-color 0.2s ease;
}

.az-contact-form select {
	min-height: 52px;
	padding-right: 42px;
	cursor: pointer;
}

.az-contact-form textarea {
	min-height: 190px;
	resize: vertical;
}

.az-contact-form input::placeholder,
.az-contact-form textarea::placeholder {
	color: #91a09d;
	opacity: 1;
}

.az-contact-form input[type="text"]:focus,
.az-contact-form input[type="email"]:focus,
.az-contact-form input[type="tel"]:focus,
.az-contact-form input[type="url"]:focus,
.az-contact-form select:focus,
.az-contact-form textarea:focus {
	outline: none;
	background: #fcfefd;
	border-color: var(--az-form-green);
	box-shadow: 0 0 0 3px rgba(0, 76, 70, 0.09);
}


/* ラジオボタン
-------------------------------------------------- */

.az-contact-form .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
}

.az-contact-form .wpcf7-list-item {
	margin: 0;
}

.az-contact-form .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	font-size: 15px;
	font-weight: 400;
	cursor: pointer;
}

.az-contact-form input[type="radio"],
.az-contact-form input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;

	accent-color: var(--az-form-green);
	cursor: pointer;
}


/* プライバシーポリシー
-------------------------------------------------- */

.az-contact-form .az-form-privacy {
	margin: 32px 0 0;
	padding: 20px 22px;

	background: var(--az-form-bg);
	border: 1px solid var(--az-form-border);

	text-align: center;
	font-size: 14px;
	line-height: 1.8;
}

.az-contact-form .az-form-privacy .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

.az-contact-form .az-form-privacy a {
	color: var(--az-form-green);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.az-contact-form .az-form-privacy a:hover {
	text-decoration: none;
}


/* 送信ボタン
-------------------------------------------------- */

.az-contact-form .az-form-submit {
	position: relative;
	margin: 35px 0 0;
	text-align: center;
}

.az-contact-form input[type="submit"] {
	display: inline-block;
	width: 100%;
	max-width: 360px;
	min-height: 58px;
	margin: 0;
	padding: 15px 45px;

	background: var(--az-form-green);
	border: 1px solid var(--az-form-green);
	border-radius: 0;
	box-shadow: none;

	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;

	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.az-contact-form input[type="submit"]:hover {
	background: #fff;
	color: var(--az-form-green);
	transform: translateY(-1px);
}

.az-contact-form input[type="submit"]:disabled {
	background: #a9b8b5;
	border-color: #a9b8b5;
	color: #fff;
	cursor: not-allowed;
	transform: none;
}


/* 入力エラー
-------------------------------------------------- */

.az-contact-form .wpcf7-not-valid {
	background: #fffafa !important;
	border-color: var(--az-form-red) !important;
}

.az-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 7px;

	color: var(--az-form-red);
	font-size: 13px;
	font-weight: 600;
}

.wpcf7 form .wpcf7-response-output {
	max-width: 900px;
	margin: 25px auto 0;
	padding: 16px 20px;

	background: #fff;
	border: 1px solid var(--az-form-green);
	box-sizing: border-box;

	color: var(--az-form-text);
	font-size: 14px;
	line-height: 1.7;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background: #fffafa;
	border-color: var(--az-form-red);
}

.wpcf7 form.sent .wpcf7-response-output {
	background: #f2f7f5;
	border-color: var(--az-form-green);
}


/* 送信中アイコン
-------------------------------------------------- */

.az-contact-form .wpcf7-spinner {
	display: block;
	margin: 15px auto 0;
}


/* ==================================================
   タブレット
================================================== */

@media screen and (max-width: 900px) {

	.az-contact-form {
		max-width: 100%;
		padding: 40px 35px;
	}

	.az-contact-form .az-form-row {
		padding: 24px 0;
	}
}


/* ==================================================
   スマートフォン
================================================== */

@media screen and (max-width: 640px) {

	.az-contact-form {
		margin-right: 0;
		margin-left: 0;
		padding: 30px 20px;

		box-shadow: none;
	}

	.az-contact-form .az-form-intro {
		margin-bottom: 26px;
		padding: 17px 18px;
	}

	.az-contact-form .az-form-intro p {
		font-size: 14px;
	}

	.az-contact-form .az-form-row {
		padding: 21px 0;
	}

	.az-contact-form .az-form-label {
		margin-bottom: 9px;
		font-size: 15px;
	}

	.az-contact-form input[type="text"],
	.az-contact-form input[type="email"],
	.az-contact-form input[type="tel"],
	.az-contact-form input[type="url"],
	.az-contact-form select,
	.az-contact-form textarea {
		padding: 12px 13px;
		font-size: 16px;
	}

	.az-contact-form textarea {
		min-height: 160px;
	}

	.az-contact-form .wpcf7-radio {
		display: block;
	}

	.az-contact-form .wpcf7-radio .wpcf7-list-item {
		display: block;
		margin: 0 0 12px;
	}

	.az-contact-form .wpcf7-radio .wpcf7-list-item:last-child {
		margin-bottom: 0;
	}

	.az-contact-form .az-form-privacy {
		margin-top: 26px;
		padding: 17px 15px;
		text-align: left;
	}

	.az-contact-form .az-form-privacy .wpcf7-list-item label {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.az-contact-form .az-form-submit {
		margin-top: 28px;
	}

	.az-contact-form input[type="submit"] {
		max-width: none;
		min-height: 56px;
	}
}
/* トップページ会社情報：項目名を1行表示 */
body.home table th {
	width: 155px !important;
	min-width: 155px !important;
	white-space: nowrap !important;
	box-sizing: border-box;
}
/* ==================================================
   「安曇野での暮らし」メインビジュアルを圧縮
================================================== */

@media screen and (min-width: 901px) {

	.az-life-page .az-life-hero {
		min-height: 460px !important;
	}

	.az-life-page .az-life-hero-content {
		width: 100% !important;
		max-width: 900px !important;
		min-height: 460px !important;
		padding: 45px 60px !important;
	}

	.az-life-page .az-life-hero h1 {
		margin-top: 0 !important;
		margin-bottom: 22px !important;

		font-size: clamp(38px, 4vw, 52px) !important;
		line-height: 1.45 !important;
		letter-spacing: 0.04em !important;

		word-break: keep-all !important;
		overflow-wrap: normal !important;
	}

	.az-life-page .az-life-hero .az-life-label {
		margin-bottom: 12px !important;
	}

	.az-life-page .az-life-hero-lead {
		margin-bottom: 0 !important;
		font-size: 17px !important;
		line-height: 1.8 !important;
	}
}

/* ==================================================
   トップページ下段「山と水と田園が…」調整
================================================== */
@media screen and (min-width: 901px) {

	body.home .az-home .az-landscape {
		height: 380px !important;
		min-height: 380px !important;
	}

	body.home .az-home .az-landscape h2 {
		max-width: none !important;
		font-size: clamp(38px, 4.2vw, 52px) !important;
		line-height: 1.45 !important;
		white-space: nowrap;
	}
}

/* ==================================================
   トップページ COMPANY欄 調整
================================================== */
.az-home .az-company-card dl > div {
	grid-template-columns: 150px minmax(0, 1fr);
}

.az-home .az-company-card dt {
	white-space: nowrap;
}
