@charset "UTF-8";

@media screen and (max-width: 1023px){
	/* 相談会3ページ（SP Figmaなし／375px基準） */
	#page.consultation-page .consultation-page__bread-inner{width:auto;margin:0 16px;padding:6px 0;font-size:10px}
	#page.consultation-page .consultation-page__main{width:auto;margin:0 16px;padding:48px 0 72px}
	#page.consultation-page .consultation-page__catch{margin:0 0 32px;font-size:20px;line-height:1.65;letter-spacing:.06em;text-align:left}
	#page.consultation-page .consultation-page__visual{aspect-ratio:343 / 220}
	#page.consultation-page .consultation-page__visual img{width:100%;height:100%;object-fit:cover}
	#page.consultation-page .consultation-page__reserve{width:100%;min-height:56px;margin:24px 0 40px;font-size:14px}
	#page.consultation-page .consultation-page__section-title{margin:0 0 24px;padding:12px 14px;font-size:17px;line-height:1.6}
	#page.consultation-page .consultation-page__copy{margin-bottom:40px}
	#page.consultation-page .consultation-page__copy p{width:auto;min-width:0;max-width:none;margin:0 0 16px;padding:0;font-size:14px;line-height:1.9}
	#page.consultation-page .consultation-page__points{margin-bottom:40px}
	#page.consultation-page .consultation-page__points li{font-size:14px;line-height:1.9}
	#page.consultation-page .consultation-form .mailform .cf{display:block;width:100%;margin:0;padding:16px 0}
	#page.consultation-page .consultation-form .mailform .title,
	#page.consultation-page .consultation-form .mailform .text,
	#page.consultation-page .consultation-form .mailform .radio,
	#page.consultation-page .consultation-form .mailform p{float:none;width:100%;min-width:0;max-width:none;margin:0;padding:0;font-size:14px}
	#page.consultation-page .consultation-form .mailform .title{margin-bottom:10px}
	#page.consultation-page .consultation-form input[type='text'],
	#page.consultation-page .consultation-form input[type='email'],
	#page.consultation-page .consultation-form input[type='tel'],
	#page.consultation-page .consultation-form input[type='date'],
	#page.consultation-page .consultation-form select,
	#page.consultation-page .consultation-form textarea{width:100%;max-width:none;min-height:56px;padding:13px 14px;font-size:16px}
	#page.consultation-page .consultation-form textarea{min-height:200px}
	#page.consultation-page .consultation-form .wpcf7-list-item{display:inline-block;margin:0 14px 8px 0!important;padding:0;border:0;border-radius:0}
	#page.consultation-page .consultation-form .wpcf7-list-item label{padding:0}
	#page.consultation-page .consultation-form input[type='submit'],
	#page.consultation-page .consultation-form .wpcf7-submit{box-sizing:border-box;width:100%;max-width:none;min-height:64px;margin-top:28px;padding:10px 16px;font-size:16px}
	#page.consultation-page .consultation-page__back{margin:48px 0 0;padding:0}
}

/* ===================================================================
	TOP SP lower half: Figma 375 (node 566:2086 / Event and below)
	Placed after the legacy TOP rules so only the renewal TOP wins.
==================================================================== */
@media screen and (max-width:1023px){
	body.site-base{overflow-x:hidden}

	/* Event: 375px section / 343px event cards / 302px consultation cards. */
	body.site-base .idx-event{padding:72px 0}
	body.site-base .idx-event__inner{width:100%;max-width:none;padding:0;gap:80px}
	body.site-base .idx-event__row{gap:40px}
	body.site-base .idx-event__intro{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:auto;gap:16px}
	body.site-base .idx-event__head{width:100%;gap:11px}
	body.site-base .idx-event .eyebrow{margin:0;font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-event .ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-event .lead{margin:0;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-event__tabs{align-self:flex-end}
	body.site-base .idx-event__tabs a{width:220px;padding:16px 12px;font-size:14px;letter-spacing:1.4px;white-space:nowrap}
	body.site-base .idx-event__featured,
	body.site-base .idx-event__grid{width:343px;max-width:calc(100% - 32px);margin-right:auto;margin-left:auto}
	body.site-base .idx-event__fvcard,
	body.site-base .idx-event__card{gap:16px;}
	body.site-base .idx-event__fvcard .thumb,
	body.site-base .idx-event__card .thumb{width:100%;height:auto;aspect-ratio:343/232}
	body.site-base .idx-event__fvcard .meta,
	
	.idx-event__fvcard .meta .city{white-space: wrap;}
	
	body.site-base .idx-event__card .meta{width: 100%;gap:16px;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-event__grid{grid-template-columns:1fr;gap:40px}
	body.site-base .idx-event__consult{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:auto;padding:40px 20px;gap:20px}
	body.site-base .idx-event__note{font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-event__consultgrid{width:302px;max-width:100%;gap:24px}
	body.site-base .idx-event__consultgrid li{width:100%;height:110px;min-height:0;aspect-ratio:auto}
	body.site-base .cscard{min-height:110px;gap:0}
	body.site-base .cscard .ttl{font-size:20px;line-height:1.6;letter-spacing:2px}
	body.site-base .cscard .tag{font-size:15px;line-height:1.6;letter-spacing:1.5px}
	body.site-base .cscard__icon{right:10px;bottom:10px}

	/* Works: four 343 x 257 cards, then a 56px separation to the link. */
	body.site-base .idx-works{padding:72px 0 80px}
	body.site-base .idx-works__inner{width:343px;max-width:calc(100% - 32px);padding:0;gap:24px}
	body.site-base .idx-works__head .eyebrow{margin:0;font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-works .ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-works__grid{grid-template-columns:1fr;gap:32px;width:100%}
	body.site-base .idx-works__card{gap:12px}
	body.site-base .idx-works__thumb{width:100%;height:auto;aspect-ratio:343/257}
	body.site-base .idx-works__meta{gap:9px;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-works__row{padding-bottom:12px}
	body.site-base .idx-works__title{font-size:14px;line-height:1.8;letter-spacing:1.4px} /* Think About の本文（.lead）と同値 */
	body.site-base .idx-works__more{margin-top:32px}

	/* Grand prix / Voice: two compact full-width 240px panels. */
	body.site-base .idx-promos__grid{grid-template-columns:1fr}
	body.site-base .idx-promo{height:240px}
	body.site-base .idx-promo__inner{padding:0 24px;gap:24px;align-items:center;text-align:center}
	body.site-base .idx-promo__text{gap:8px;align-items:center}
	body.site-base .idx-promo__eyebrow{font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-promo__title{font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-promo__lead{display:none}
	body.site-base .idx-promo__more{width:200px;padding:16px 12px;font-size:14px;letter-spacing:1.4px}

	/* News / Building report: 104px outer padding and the measured list rows. */
	body.site-base .idx-info{padding:104px 0}
	body.site-base .idx-info__grid{display:flex;width:343px;max-width:calc(100% - 32px);padding:0;flex-direction:column;gap:104px}
	body.site-base .idx-info__col{width:100%}
	body.site-base .idx-sechead{margin-bottom:24px;flex-direction:column;align-items:center;gap:24px}
	body.site-base .idx-sechead__text{align-items:center;gap:6px}
	body.site-base .idx-sechead .eyebrow{margin:0;font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-sechead .ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-sechead .more{order:3;width:200px;padding:16px 12px;font-size:14px;letter-spacing:1.4px}
	body.site-base .idx-news__link{grid-template-columns:minmax(0,1fr) 24px;grid-template-rows:auto auto;gap:4px 8px;box-sizing:border-box;width:100%;height:100px;min-height:100px;padding:24px 16px}
	body.site-base .idx-news__link .date{grid-column:1;grid-row:1;font-size:15px;line-height:1.5;letter-spacing:.9px}
	body.site-base .idx-news__link .txt{grid-column:1;grid-row:2;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-news__link .arrow{grid-column:2;grid-row:1/3;align-self:center}
	body.site-base .idx-build__link{grid-template-columns:112px minmax(0,1fr) 24px;gap:31px;box-sizing:border-box;width:100%;height:80px;min-height:80px;padding:0 16px 0 0}
	body.site-base .idx-build__link .thumb{width:112px;height:80px}
	body.site-base .idx-build__link .txt{font-size:14px;line-height:1.6;letter-spacing:1.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

	/* About: full-bleed 375 x 230 image and the 343px translucent card. */
	body.site-base .idx-about{padding:56px 0 80px}
	body.site-base .idx-about__visual{width:100%;height:auto;aspect-ratio:auto;margin:0;background-position:center;background-size:cover;object-fit:}
	body.site-base .idx-about__visual::before{content:"";display:block;width:100%;height:230px}
	body.site-base .idx-about__card{position:relative;left:auto;top:auto;bottom:auto;box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:-32px auto 0;padding:56px 0;gap:24px}
	body.site-base .idx-about__card h2{margin:0 0 24px;font-size:32px;line-height:1.5;font-weight:400;text-align:center}
	body.site-base .idx-about__card h2 span{display:block;margin:0 0 16px;font-size:16px;line-height:1.5;letter-spacing:.96px}
	body.site-base .idx-about__links{grid-template-columns:1fr;gap:24px;width:200px;margin:auto}
	body.site-base .idx-about__links a{box-sizing:border-box;width:200px;margin:0;padding:16px 12px;font-size:14px;line-height:1.6;letter-spacing:1.4px}

	/* SNS area: 343px cards, 312px media, 40px between YouTube and Voicy. */
	body.site-base .idx-media{width:343px;max-width:calc(100% - 32px);margin:0 auto 32px}
	body.site-base .idx-media>p{margin:0 0 32px;font-size:14px;line-height:1.6;letter-spacing:1.4px;text-align:center}
	body.site-base .idx-media-in{display:flex;flex-direction:column;gap:40px}
	body.site-base .idx-youtube,
	body.site-base .idx-voicy{box-sizing:border-box;width:343px;max-width:100%;padding:40px 15px}
	body.site-base .idx-media h3{margin:0 0 8px;font-size:16px;line-height:1.5;letter-spacing:.96px}
	body.site-base .idx-youtube>p,
	body.site-base .idx-voicy>p{margin:0 0 24px;font-size:14px;line-height:1.6;letter-spacing:1.4px;text-align:center}
	body.site-base .idx-youtube ul{display:flex;flex-direction:column;gap:24px;margin:0;padding:0}
	body.site-base .idx-youtube ul li{width:312px;max-width:100%;margin:0}
	body.site-base .idx-youtube .youtube-wrap,
	body.site-base .idx-youtube iframe{display:block;width:312px;max-width:100%;height:auto;aspect-ratio:312/175}
	body.site-base p.idx-voicy-badge{margin:0;padding:0}
	body.site-base .idx-voicy-badge img{display:block;width:312px;max-width:100%;height:104px;object-fit:contain}

	body.site-base .idx-insta-wrap{padding-bottom:80px}
	body.site-base .idx-insta{display:flex;box-sizing:border-box;width:343px;max-width:calc(100% - 32px);padding:40px 16px;flex-direction:column;gap:24px}
	body.site-base .idx-insta-l{display:contents;width:auto;height:auto;padding:0}
	body.site-base .idx-insta-l h3{order:1;display:flex;width:auto;margin:0;flex-direction:row;gap:8px;font-size:16px;line-height:1.5;letter-spacing:.96px}
	body.site-base .idx-insta-l h3 svg{width:26px;height:26px}
	body.site-base .idx-insta__embed{order:2;width:311px;max-width:100%;min-width:0;overflow:hidden}
	body.site-base .idx-insta__embed #sb_instagram{width:100%!important;padding:0!important}
	body.site-base .idx-insta__embed #sb_instagram #sbi_images{display:grid!important;grid-template-columns:repeat(2,minmax(0,148px))!important;gap:16px 15px!important;width:100%!important;padding:0!important}
	body.site-base .idx-insta__embed #sb_instagram #sbi_images .sbi_item{width:148px!important;height:148px!important;margin:0!important}
	body.site-base .idx-insta__embed #sb_instagram #sbi_images .sbi_item:nth-child(n+7){display:none!important}
	body.site-base .idx-insta__embed #sb_instagram .sbi_photo{height:148px!important}
	body.site-base .idx-insta-l .default-btn{order:3;width:200px;margin:0 auto}
	body.site-base .idx-insta-l .default-btn a{display:flex;box-sizing:border-box;width:200px;padding:16px 12px;align-items:center;justify-content:space-between;border-bottom:1px solid #574d43;writing-mode:horizontal-tb}
}

/* ===================================================================
	TOP emergency finish: Figma SP 375 (node 566:2086)
	TOP-specific selector weight keeps legacy rules from winning the cascade.
==================================================================== */
@media screen and (max-width:1023px){
	/* TOP overlay header only: Figma shows the 126px logo and 56px menu, without the PC telephone block. */
	body.site-base .opus-header--overlay .opus-header__inner{padding:10px 76px 16px 10px}
	body.site-base .opus-header--overlay .opus-header__logo{width:126px}
	body.site-base .opus-header--overlay .opus-header__tel{display:none}
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay{top:28px;right:16px;width:56px;height:28px}
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay span:nth-child(1){top:2px;background: #fff;}
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay span:nth-child(2){top:16px;background: #fff;}

	/* FV: Figma 375 x 667. Old award badges and four image buttons are not in the SP design. */
	body.site-base #mobile.slide,
	body.site-base #mobile #front-mv{height:667px;min-height:667px}
	body.site-base #mobile #front-mv video{display:block;width:100%;min-width:0;height:667px;min-height:667px;top:0;object-fit:cover;object-position:center center}
	body.site-base #mobile #front-mv .hero-intro-image{height:667px;min-height:667px}
	body.site-base #mobile #front-mv::after{height:667px}
	body.site-base #mobile.slide .catch{top:303px;transform:translate(-50%,-50%);font-size:32px;line-height:1.4}
	body.site-base #mobile #badge,
	body.site-base #sp_top_btn{display:none!important}
	body.site-base #mobile .hero-spec{display:grid;grid-template-columns:repeat(2,167px);grid-template-rows:60px 40px;bottom:62px;width:340px;max-width:calc(100% - 32px);gap:6px}
	body.site-base #mobile .hero-spec__item{box-sizing:border-box;width:167px;min-width:0;height:60px;padding:8px 16px;gap:4px;border:1px solid #fff;border-radius:5px;overflow:hidden}
	body.site-base #mobile .hero-spec__item--ua{grid-column:1;grid-row:1}
	body.site-base #mobile .hero-spec__item--cvalue{grid-column:1;grid-row:2;height:40px;flex-direction:row;gap:8px}
	body.site-base #mobile .hero-spec__item--seismic{grid-column:2;grid-row:1}
	body.site-base #mobile .hero-spec__item--grade{grid-column:2;grid-row:2;height:40px;flex-direction:row;gap:8px}
	body.site-base #mobile .hero-spec__row{display:flex;max-width:100%;align-items:center;gap:8px;white-space:nowrap}
	body.site-base #mobile .hero-spec__label{flex:0 0 auto;font-size:14px;line-height:1.6;letter-spacing:1.4px;white-space:nowrap}
	body.site-base #mobile .hero-spec__value{flex:0 0 auto;font-size:18px;line-height:1;letter-spacing:1.08px;white-space:nowrap}
	body.site-base #mobile .hero-spec__item--cvalue .hero-spec__value,
	body.site-base #mobile .hero-spec__item--grade .hero-spec__value{line-height:1.5}
	body.site-base #mobile .hero-spec__note{display:block;max-width:100%;overflow:hidden;font-size:12px;line-height:1;letter-spacing:.72px;text-align:center;text-overflow:ellipsis;white-space:nowrap}

	/* TOP SP: Figma places the 340 x 50 CTA at the FV foot, then fixes it only after that point is passed. */
	body.site-base .opus-sidetab--top{position:absolute;top:617px;bottom:auto;left:50%;right:auto;width:340px;max-width:calc(100% - 32px);height:50px;padding:0;transform:translateX(-50%)}
	body.site-base .opus-sidetab--top .opus-sidetab__item{box-sizing:border-box;width:170px;min-width:0;height:50px;padding:10px 16px;gap:16px}
	/* pc.css の .opus-sidetab__label{font-size:1.4em !important} に勝つため !important */
	body.site-base .opus-sidetab--top .opus-sidetab__label{font-size:13px !important;line-height:1.2;letter-spacing:1.3px}
	body.site-base .opus-sidetab--top.is-fixed{position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;max-width:none;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform:none}
	/* SP: 画面下に固定（is-fixed）されるまでは表示しない。
	   表示開始（ヒーロー8割通過）と固定開始（ヒーロー下端通過）の間に、絶対配置位置で一瞬見える現象の対策 */
	body.site-base .opus-sidetab--top.is-visible:not(.is-fixed){opacity:0;pointer-events:none;transition:none} /* 固定解除時は即時に消す（フェードアウト中に絶対配置位置で見えるのを防ぐ） */
	body.site-base .opus-sidetab--top.is-fixed{opacity:1;pointer-events:auto;transform:none}
	/* SP: 出現は横スライドではなくフェードのみ（transform は遷移させない） */
	body.site-base .opus-sidetab--top{transition:opacity .35s ease}

	/* Topic: 295 x 86 banner inside the 343px content area. */
	body.site-base .idx-topics{box-sizing:border-box;width:100%;padding:40px 0 0;gap:16px}
	body.site-base .idx-topics__eyebrow{font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-topics__row{width:375px;max-width:100%;gap:8px}
	body.site-base .idx-topics__nav{width:24px;height:24px}
	body.site-base .idx-topics__banner{width:295px;aspect-ratio:295/86;flex:0 1 295px}

	/* Think About / Concept: copy + sub image, then the full-bleed main image. */
	body.site-base .idx-thinkabout{padding:72px 0 120px}
	body.site-base .idx-thinkabout__row,
	body.site-base .idx-thinkabout__row--reverse{box-sizing:border-box;width:100%;padding:0;gap:32px;align-items:center}
	body.site-base .idx-thinkabout__row + .idx-thinkabout__row{margin-top:56px}
	body.site-base .idx-thinkabout__row .idx-thinkabout__text{order:1;box-sizing:border-box;width:343px;max-width:calc(100% - 32px);gap:24px;align-items:flex-start}
	body.site-base .idx-thinkabout__row .idx-thinkabout__photo{order:2;width:100%;margin:0}
	body.site-base .idx-thinkabout__textgroup{width:343px;max-width:100%;gap:16px}
	body.site-base .idx-thinkabout__text .eyebrow{margin:0 0 16px;font-size:14px;line-height:1.5;letter-spacing:.84px}
	body.site-base .idx-thinkabout__text .ttl{margin:0 0 32px;font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-thinkabout__text .lead{width:100%;font-size:14px;line-height:1.8;letter-spacing:1.4px}
	body.site-base .idx-thinkabout__link{width:200px;padding:16px 12px}
	body.site-base .idx-thinkabout__sub{display:block;width:282px;height:188px;overflow:hidden}
	body.site-base .idx-thinkabout__sub img{width:100%;height:100%;object-fit:cover}
	body.site-base .idx-thinkabout__photo img{width:100%;height:281px;aspect-ratio:auto;object-fit:cover}
	body.site-base .idx-thinkabout__dots{margin-top:16px}
	body.site-base .idx-thinkabout__dots i{width:80px;height:3px}

	/* Event: retain the WordPress loop while matching the 343px Figma cards. */
	body.site-base .idx-event{padding:72px 0;}
	body.site-base .idx-event__inner{box-sizing:border-box;width:100%;padding:0 16px;gap:80px}
	body.site-base .idx-event__row{gap:40px}
	body.site-base .idx-event__intro{gap:16px}
	body.site-base .idx-event__head{width:343px;max-width:100%;gap:11px}
	body.site-base .idx-event .ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-event .lead{margin:0;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	body.site-base .idx-event__featured,
	body.site-base .idx-event__grid{width:343px;max-width:100%}
	body.site-base .idx-event__fvcard .thumb,
	body.site-base .idx-event__card .thumb{aspect-ratio:343/232;}
	body.site-base .idx-event__grid{grid-template-columns:1fr;gap:40px}
	body.site-base .idx-event__consult{padding:40px 0}
	body.site-base .idx-event__consultgrid{gap:16px}


	.idx-event__grid,
	.idx-event__item,
	.idx-event__card,
	.idx-event__card .meta{
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}
.idx-event__card .meta .city{
		white-space: wrap;
	}

	
	/* Works: Figma is four full-width cards, not the legacy two-column grid. */
	body.site-base .idx-works{padding:72px 0 80px}
	body.site-base .idx-works__inner{width:343px;max-width:calc(100% - 32px);padding:0;gap:24px}
	body.site-base .idx-works__grid{grid-template-columns:1fr;gap:32px;width:100%}
	/* 写真だけ左右の余白を打ち消して画面幅いっぱいに（テキストは343px枠のまま） */
	body.site-base .idx-works__thumb{width:100vw;max-width:none;height:auto;margin-left:calc(50% - 50vw);aspect-ratio:375/281}
	body.site-base .idx-works__meta{font-size:14px;letter-spacing:1.4px}
	body.site-base .idx-works__grid .idx-works__item:nth-child(n+5){display:none}
	body.site-base .idx-works__more{margin-top:32px}

	/* Grand prix / Voice: Figma uses two compact 240px panels. */
	body.site-base .idx-promo{height:240px}
	body.site-base .idx-promo__inner{padding:0 24px;gap:24px;align-items:center;text-align:center}
	body.site-base .idx-promo__text{gap:8px;align-items:center}
	body.site-base .idx-promo__title{font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-promo__lead{display:none}

	/* News / Building Report spacing and 343px lists. */
	body.site-base .idx-info{padding:104px 0}
	body.site-base .idx-info__grid{width:343px;max-width:calc(100% - 32px);padding:0;gap:104px}
	body.site-base .idx-sechead{margin-bottom:24px}
	body.site-base .idx-sechead .ttl{font-size:24px;line-height:1.5;letter-spacing:.08em}
	body.site-base .idx-news__link{grid-template-columns:1fr 24px;grid-template-rows:auto auto;gap:4px 8px;min-height:100px;padding:24px 16px}
	body.site-base .idx-news__link .date{grid-column:1;grid-row:1;font-size:15px}
	body.site-base .idx-news__link .txt{grid-column:1;grid-row:2;font-size:14px;white-space:nowrap}
	body.site-base .idx-news__link .arrow{grid-column:2;grid-row:1/3;align-self:center}
	body.site-base .idx-build__link{grid-template-columns:96px 1fr 24px;gap:12px;min-height:88px;padding:12px 0}
	body.site-base .idx-build__link .thumb{width:96px;height:64px}

	/* About and social cards: enforce the shared 343px mobile measure. */
	body.site-base .idx-about{padding:0 0 80px}
	body.site-base .idx-about__visual{height:200px}
	body.site-base .idx-about__card{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:-24px auto 0;padding:56px 24px}
	body.site-base .idx-media{width:343px;max-width:calc(100% - 32px);margin:0 auto 40px}
	body.site-base .idx-youtube,
	body.site-base .idx-voicy{width:100%;padding:40px 15px}
	body.site-base .idx-youtube ul li,
	body.site-base .idx-youtube .youtube-wrap,
	body.site-base .idx-youtube iframe,
	body.site-base .idx-voicy-badge img{max-width:100%}
	body.site-base .idx-insta{width:343px;max-width:calc(100% - 32px)}
	body.site-base .idx-insta-l{display:contents}
	body.site-base .idx-insta-l h3{order:1;display:flex;width:auto;flex-direction:row;gap:8px}
	body.site-base .idx-insta__embed{order:2;width:100%;min-width:0;overflow:hidden}
	body.site-base .idx-insta-l .default-btn{order:3;width:200px;margin:0 auto}
	body.site-base .idx-insta-l .default-btn a{display:flex;width:200px;box-sizing:border-box;align-items:center;justify-content:space-between;padding:16px 12px;border-bottom:1px solid #574d43;writing-mode:horizontal-tb}
}
@media screen and (max-width: 1023px) { /*ウィンドウ幅が最大1023pxまでの場合に適用*/

/* 共通 */
body.scroll-none {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}

/* Works archive/detail responsive finish (375px baseline) */
  .works-archive .p-head{padding:40px 0 32px;box-sizing:border-box;justify-content:flex-end}
  #page .event-archive .p-head,
  #page .property-archive .p-head,
  #page .grandprix .p-head,
  #page .thinkabout .p-head,
  #page .p-head--rw,
  #page .sdgs-page-renewal .p-head{padding:0 0 32px;box-sizing:border-box;justify-content:flex-end;gap:8px}
  .works-archive .p-head__eyebrow{font-size:14px}.works-archive .p-head__ttl{font-size:22px}
  .works-archive .works-grid{padding:64px 16px 80px}
  .works-grid__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 16px}
  .works-grid__thumb{margin-bottom:12px;aspect-ratio:334/250}
  .works-grid__meta{gap:10px}.works-grid__city{padding-bottom:10px;font-size:12px;line-height:1.6}.works-grid__ttl{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
  .p-pagenavi{margin-top:48px}.p-pagenavi .wp-pagenavi{gap:12px}

  .ws-detail__bread-bar{padding:10px 16px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ws-detail{width:auto;max-width:none;margin:0;padding:40px 16px 72px}
  .ws-detail__mainimg{margin:0 -16px 40px;aspect-ratio:375/279}
  .ws-detail__head{margin-bottom:32px;padding:0;border:0}.ws-detail__eyebrow{margin-bottom:8px;font-size:14px}.ws-detail__ttl{font-size:24px;line-height:1.55;overflow-wrap:anywhere}
  .ws-detail__information{margin-bottom:40px}.ws-detail__info{grid-template-columns:1fr;gap:0;font-size:12px;line-height:1.8}.ws-detail__info-col + .ws-detail__info-col{border-top:0}.ws-detail__info-row{grid-template-columns:72px 1fr;gap:16px;padding:10px 8px}
  .works-single .name{font-size:12px;line-height:1.8}
  .ws-detail__article{margin-bottom:56px;font-size:13px;line-height:1.9;letter-spacing:.08em}.ws-detail__article img,.ws-detail__article iframe{margin:24px 0}
  .ws-detail__gallery h2{margin-bottom:20px;font-size:14px}.ws-detail__gallery .col4 ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ws-detail__gallery .col4 ul li img{aspect-ratio:4/3}
  .ws-detail__other{left:50%;width:100vw;margin:64px 0 0 -50vw;padding:56px 16px}.ws-detail__other .eyebrow{margin-bottom:32px}.ws-detail__other .works-grid__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}.ws-detail__other .works-grid__item:nth-child(3){display:none}
  .ws-detail__prevnext{max-width:none;padding:32px 16px 72px;grid-template-columns:1fr 1fr;gap:24px;font-size:11px}.ws-detail__prevnext .back{grid-column:1/-1;grid-row:2;text-align:center}.ws-detail__prevnext .next{text-align:right}
  .works-image-modal{width:calc(100vw - 32px);max-height:calc(100vh - 32px)}.works-image-modal__stage{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}.works-image-modal__image{aspect-ratio:auto;max-height:70vh}.works-image-modal__close{top:-32px;right:0}.works-image-modal__thumbs{justify-content:flex-start;margin-top:16px;padding-bottom:4px}.works-image-modal__thumbs button{flex-basis:56px;width:56px;height:42px}

/* TOP finishing pass: Figma SP 375 (node 566:2086) */
  .idx-topics{max-width:none;padding:32px 16px 0;gap:16px}
  .idx-topics__row{gap:8px}
  .idx-topics__nav{width:18px;height:18px}

  .idx-thinkabout{padding:64px 0 80px}
  .idx-thinkabout__row,
  .idx-thinkabout__row--reverse{padding:0 16px;gap:32px}
  .idx-thinkabout__row + .idx-thinkabout__row{margin-top:80px}
  .idx-thinkabout__photo{width:calc(100% + 16px)}
  .idx-thinkabout__row:not(.idx-thinkabout__row--reverse) .idx-thinkabout__photo{margin-left:-16px}
  .idx-thinkabout__row--reverse .idx-thinkabout__photo{align-self:flex-end;margin-right:-16px}
  .idx-thinkabout__photo img{aspect-ratio:343/257}
  .idx-thinkabout__dots{margin-top:12px;justify-content:center}
  .idx-thinkabout__dots i{width:64px}
  .idx-thinkabout__text{gap:0}
  .idx-thinkabout__textgroup{gap:32px}
  .idx-thinkabout__text .eyebrow{margin-bottom:12px;font-size:16px;line-height:1.5}
  .idx-thinkabout__text .ttl{margin-bottom:16px;font-size:32px;line-height:1.5}
  .idx-thinkabout__text .lead{font-size:14px;line-height:1.8;letter-spacing:1.4px}
  .idx-thinkabout__link{align-self:flex-end;width:200px;box-sizing:border-box}

  .idx-event{padding:64px 0 80px}
  .idx-event__inner{padding:0 16px;gap:48px}
  .idx-event__row{gap:32px}
  .idx-event__intro{gap:32px}
  .idx-event .ttl{font-size:32px;line-height:1.5}
  .idx-event .lead{font-size:14px;line-height:1.8}
  .idx-event__tabs{align-self:flex-end}
  .idx-event__tabs a{width:220px}
  .idx-event__grid{gap:40px}
  .idx-event__consult{padding:40px 16px}
  .idx-event__consultgrid{gap:16px}

  .idx-works{padding:80px 0}
  .idx-works__inner{padding:0 16px;gap:40px}
  .idx-works .ttl{font-size:32px;line-height:1.5}
  .idx-works__grid{gap:40px 16px}
  .idx-works__meta{font-size:12px}

  .idx-promo{height:375px}
  .idx-promo__inner{padding:0 40px;gap:48px}
  .idx-promo__title{font-size:32px;line-height:1.5}
  .idx-promo__lead{font-size:14px;line-height:1.6}

  .idx-info{padding:80px 0}
  .idx-info__grid{padding:0 16px;gap:64px}
  .idx-sechead{margin-bottom:32px;align-items:flex-end}
  .idx-sechead .ttl{font-size:32px;line-height:1.5}
  .idx-sechead .more{width:160px;padding:12px 8px;font-size:12px}
  .idx-news__link{grid-template-columns:78px 1fr 20px;gap:8px;padding:20px 0;min-height:72px}
  .idx-build__link{grid-template-columns:96px 1fr 20px;gap:12px;padding:16px 0;min-height:88px}
  .idx-build__link .thumb{width:96px;height:64px}

  .idx-about{padding:0 0 80px}
  .idx-about__visual{width:100%;height:230px;aspect-ratio:auto}
  .idx-about__card{position:relative;left:auto;top:auto;bottom:auto;width:343px;margin:-24px auto 0;padding:56px 24px;background:rgba(255,255,255,.8);box-sizing:border-box}
  .idx-about__card h2{margin:0 0 40px;font-size:32px;line-height:1.5;font-weight:400}
  .idx-about__card h2 span{display:block;margin-bottom:8px;font-size:16px;line-height:1.5}
  .idx-about__links{grid-template-columns:1fr;gap:24px}
  .idx-about__links a{width:200px;margin-left:auto;padding:16px 12px;box-sizing:border-box}

  .idx-media{width:343px;margin:0 auto 40px}
  .idx-media>p{margin:0 0 24px;font-size:13px;line-height:1.8}
  .idx-media-in{display:flex;flex-direction:column;gap:24px}
  .idx-youtube,.idx-voicy{width:343px;padding:40px 15px;box-sizing:border-box}
  .idx-media h3{margin:0 0 8px;font-size:16px;line-height:1.5;letter-spacing:.96px}
  .idx-youtube>p,.idx-voicy>p{margin:0 0 24px;font-size:14px;line-height:1.6}
  .idx-youtube ul{display:flex;flex-direction:column;gap:24px;margin:0;padding:0}
  .idx-youtube ul li{width:312px;margin:0}
  .idx-youtube .youtube-wrap,.idx-youtube iframe{width:312px;aspect-ratio:16/9;height:auto}
  p.idx-voicy-badge{margin:0;padding:0}
  .idx-voicy-badge img{display:block;width:312px;height:104px;object-fit:contain}

  .idx-insta-wrap{padding-bottom:80px}
  .idx-insta{display:flex;flex-direction:column;width:343px;padding:40px 16px;gap:24px;box-sizing:border-box}
  .idx-insta-l{width:100%;height:auto;padding:0;gap:24px}
  .idx-insta-l h3{margin:0}
  .idx-insta__embed{width:100%;min-width:0;overflow:hidden}
.pc-none{
	display: block;
}
	

.right_up_border {
	    display: inline-block;
    width: 20px;/*枠の大きさ*/
    height: 20px;/*枠の大きさ*/
    background-image: linear-gradient(-67deg, /*角度*/
                     transparent 55%,
                     black 31%, /*斜線の色*/
                     black 63%, /*斜線の色*/
                     transparent 51%, 
                     transparent); 
}
	.left_up_border {t
	display: inline-block;
    width: 20px;/*枠の大きさ*/
    height: 20px;/*枠の大きさ*/
    background-image: linear-gradient(67deg, /*角度*/
                     transparent 55%,
                     black 31%, /*斜線の色*/
                     black 63%, /*斜線の色*/
                     transparent 51%, 
		transparent); 
}
	.drawer_red_btn{
		margin: 0 auto;
		text-align: center;
		width: 80vw;
		font-size: 20px!important;
		font-weight: bold;
	}

	.banner_txt{
		padding: 10px 0;
		text-align: center;
		font-size: 16px;
		margin-bottom: 5px;
		font-weight: bold;
	}
.sp-none{
	display:none;
}
	
/* レスポンシブ調整 外側 
.aaaaaa{
	width: 100%;
	min-width: 100%;
	max-width: 999px;
	margin: 0 auto;	
}*/

/*　レスポンシブ調整 内側　*/
.inner1150,
.inner,
#page .inner,
.event-archive .box,
.price .textC,
#page .col2 .cf,
.bread .breadcrumbs{
	width: 100%;
	min-width:  95%!important;
	max-width: 95%!important;
	margin: auto!important;	
}
#page .page-single p,
#page ul.ul-res,
#page .recruit-page p{
	width: 100%;
	min-width:  90%!important;
	max-width: 90%!important;
	margin: 0 auto 30px auto!important;	
}


	
body, html {
	/*height: 100%;*/
	margin:0;
	padding:0;
}

body{
	font-family: "Noto Sans Japanese", sans-serif;
    color: #231815;
    font-size: 13.5px; 
	-webkit-text-size-adjust: none;
	letter-spacing:0.3px;
	position:relative;
	opacity:1;/* 0 */
	word-break:break-all;
}

body, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li,
blockquote, pre, table, caption, th, td, address,
form, fieldset, legend, object {
  margin: 0;
  padding: 0; }

header, section, navi, footer {
  display: block;}

a, ins {
  text-decoration: none; }

address, em, cite, dfn, var {
  font-style: normal; }

input, textarea {
	width: 95%;
  font-weight: normal;
  font-family: "Noto Sans Japanese", serif; }

button, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: "Noto Sans Japanese", sans-serif; }

img {
  vertical-align: baseline;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;}

img.left{
	float: none;
	display: block;
	margin: auto;
}	
	
a img {
  border: none; }

h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li,
brockquote, pre, table, caption, th, td, address {
  line-height: 165%;
  letter-spacing: 0.09em;
  color: #574d43; }

h1, h2, h3, h4 {
  font-weight: normal;
  letter-spacing: 0; }

a {
  color: inherit; }

li {
  list-style: none; }

a[href^="tel:"] {
  cursor: pointer;
  opacity: 1 !important; }


	
a:link, a:visited, a:hover, a:active {
	color:#515151;
	/*transition: all 0.3s ease-out 0s;*/
}
	
a:hover {
	text-decoration: none;
}

.cf:before,
.cf:after {
    content:""!important;
    display:table!important;
}
 
.cf:after {
    clear:both!important;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

.sec{
	padding:25px 0;
}


.btn a{
	display: block;
	padding:10px;
	text-align: center;
	font-size:14px;
	color: #fff;
}

.btn2 a{
	display: block;
	border:1px solid #231815;
	padding:10px;
	text-align: center;
	font-size:14px;
	margin-top:20px;
}
.btn-redstyle a,
.btn-yellowstyle a{
	font-size: 14px;
	line-height: 140%;	
	padding: 1em 1em 1em;
	margin: 5px auto;
	width:90%;
}
.btn-redstyle a {
	color: #B31815;
}
.btn-yellowstyle a {
	color: #574d43;	
}
	
	
	
.center{
	margin:0 auto;
}
.sp-m10-b{
	margin-bottom: 10px;
}
.sp-m10-tb{
	margin-top: 10px;
	margin-bottom: 10px;
}	
	
	
/*youtube-pcwrap*/
.youtube-pcwrap {
	margin-bottom: 20px;
}
/*youtube,googlemap*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}	
.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}
	
/*カラム*/

.col2 li{
	float: none;
	width:auto;
	max-width: 480px;
	margin:0 auto 20px auto;
}

.col2 li:nth-child(2n){
	margin-right:auto!important;
}

.col2 li .cf{
	width: 90%;
	margin: auto;
}
	
.col3 li{
	float: none;
	width: auto;
	max-width:310px;
	margin:0 auto 35px auto;
}

.col3 li:nth-child(3n) {
	margin-right:auto!important;
}

.col4 li{
	float: none;
	width:auto;
	max-width: 230px;
	margin:0 auto 20px auto;
}

.col4 li:nth-child(4n) {
	margin-right:auto!important;
}

	

.metaslider{
	display: table;
	vertical-align: middle;
}
/*#set02 img,
.metaslider .nivoslider img{
    height: 380px!important;
    object-fit: cover;
}
#set02,
.metaslider .nivoslider{
		position: relative;
    height: 380px;
}*/
	
	
/*フロントムービー*/
#front-mv{
	height: auto;
}
#front-mv video{
        width: 100%;
        min-width: 374px;
        height: auto;
        min-height: 666px;
        position: relative;
        left: auto;
        -webkit-transform: translateX(0);
        transform: translateX(0);
        -o-object-fit: cover;
        object-fit: cover;
        top: -15vh;
}
#front-mv::after {
	height: 94.5vh;
	background-color: rgba(51,49,33,0.2);
	background-image: radial-gradient(rgba(255, 255, 255, 0.1) 15%, transparent 16%, transparent 100%), 
                      radial-gradient(rgba(255, 255, 255, 0.1) 15%, transparent 16%, transparent 100%);
	background-size: 4px 4px; 
	background-position: 0 0, 2px 2px;
}
	
#mobile.slide .catch{
	top: 50.5%;
	}
#mobile.slide {
    height: 60vh;
}
#mobile #front-mv {
	height: 60vh;
}
#sp_top_btn.flex{
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin: 30px auto;
	justify-content: center;
}
#badge .flex{
	display: flex;
	gap: 5vw;
	flex-wrap: wrap;
	position: absolute;
	bottom: -3vh;
	left: 18.5vw;
}
#badge .flex div img{
	width: 100%;
	height: auto;
	object-fit: contain;
}
#badge .flex div{
	width: 29vw;
}
#sp_top_btn.flex div img{
	width: 100%;
	height: auto;
	object-fit: contain;
}
#sp_top_btn.flex div{
	width: 45vw;
}
		
	
/*set-css*/
.set01-wrap {
	height: 300px;
}
	
	
	
/*.catch02{
	top: 30%;
	transform: translateY(-30%) translateX(-50%);
}*/
	
	
	
/* ページ送りボタン */
.prevnext {
	width: 95%;
	font-size: 9px;
}

.prevnext .prev{
	position: absolute;
	left: 0;
	float: none;
}

.prevnext .next{
	position: absolute;
	right: 0;
	float: none;
}

.prevnext .back{
	position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  margin: auto;
}
	


/*フローティング*/
.floating{
	width:100%!important;
	position: fixed!important;
	top:auto; 
	bottom:0;
	z-index: 9997!important;
}

.floating ul{
    display: flex;
    gap: 0 3vw;
    align-items: baseline;
    flex-wrap: nowrap;
	justify-content: center;
}
	
.floating li img{
	width: 100%;
}
.floating li a{
	display: block;
	text-align: center;
	font-weight: 500;
}
.floating li:nth-of-type(1),
.floating li:nth-of-type(2),
.floating li:nth-of-type(3){
	margin: 0;
}

.floating li:nth-child(1) a{
	width: 62vw;
}	
.floating li:nth-child(2) a{
	width: 28vw;
}




.mb30{
	margin-bottom:30px;
}

.width800{
	padding:0 15px;
}

.textC{
	text-align: center;
}

/* pagenavi */
.pagenavi{
	margin-bottom:60px;
}
#page .wp-pagenavi {
	padding: 10px 0 10px!important;
}
#page .wp-pagenavi a,
#page .wp-pagenavi span.pages,
#page .wp-pagenavi span.extend,
#page .wp-pagenavi span.current {
		padding:3px 6px 3px 6px !important;
}

img{
	max-width: 100%;
}

iframe{
	max-width:100%;
}

.sp-none{
	display: none;
}


.cal3 li{
	float: left;
	width:47%;
	margin:0 0 15px 0;
}

.cal3 li:nth-child(2n) {
	float: right;
}

#header .logo{
	float: none;
	width:120px;
	text-align: center;
	margin:0 auto 30px auto;
}

.header-top2 .header-right{
	float: none;
	padding:0;
}
	

.header-top2 .copy{
	display: none;
}	
	
	
#header .copy{
	text-align: center;
	margin:30px auto 0 auto;
	font-size:23px;
	font-weight: 500;
	line-height: 26px;
	color:#DD9E00;
}

	
.shadow-txt {
	line-height: 140%;
	font-size: 30px;
}	
.shadow-txt-black{
	line-height: 140%;
	font-size: 30px;
}


	
	
	
.nivoSlider{
	height: 400px!important;
	overflow:  visible!important;
	margin-bottom:60px!important;
}
.nivo-slice{
	height: 400px!important;
}	
.nivoSlider img{
	height: 400px!important;
	object-fit: cover;
	object-position: 30% 0%;
}
	
.double{
	position: absolute;
	left:0;
	bottom:-80px;
	width: 100%;
	max-width: 170px;
	height: auto;
	margin: 0 auto;
}
	
	.jusyo{
	position: absolute;
	left:0;
	right:0;
	margin-right:auto;
	margin-left:auto;
	text-align: center;
	bottom:-80px;
	width:100%;
	height: auto;
}
	
	.jusyo img{
		width:100%;
		height: 150px;
		object-fit: cover;
	}
	
.header-top2{
	/*position: relative;*/
	top:0;
	padding: 15px 0 15px 0;
}

.header-top2 .logo{
	width: 80%;
	max-width:150px;
	float: none;
	margin:0 auto;
	padding:0;
}

.header-spcopy{
	width: 75%;
	float: none;
	font-size:12px;
	text-align: center;
	margin:10px auto 0;
}
	.header-spcopy img{
		width: 100%;
		max-width: 400px;
	}	
	
.effect-fade{
	opacity: 0;
	transform: translateY(-55%) translateX(-50%);
	transition: all 5000ms;
	top: 55%;
	left: 50%;
	position: absolute;
	width: 100%;
}
.effect-fade.effect-scroll{
	opacity: 1;
	top: 55%;
	left: 50%;
	transform: translateY(-55%) translateX(-50%);
	position: absolute;
	width: 100%;
}	
	
span.catch-span01{
	display: block;
}
span.catch-span02{
	display: block;
}
span.catch-span03{
	display: block;
}

	
	
	

/* ===================================================================
　ハンバーガーメニュー
==================================================================== */
.hamburger {
    width:26px;
    height: 20px;
    top: 25px!important;
    right: 25px;
}
.hamburger:before{
  top: -15px;
  right: -13px;
  width: 46px;
  height: 46px;
}
.hamburger span:nth-of-type(1) {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 9px;
}
.hamburger span:nth-of-type(3) {
  bottom: 0;
}	
	
.peke:before{
  top: -15px;
  right: -13px;
  width: 46px;
  height: 46px;
}
#hamburger-menu.peke span:nth-of-type(1) {  
  top: 9px;
}
#hamburger-menu.peke span:nth-of-type(3) {	  
  bottom: 9px;
}
	
	
	
	
	


	
.drawr {
	    display: none;
    background-color:rgba(255,255,255,0.9);
    position: fixed;
	  top:0;
    right:0;
    width:100%;
    padding:0 0 100px;
    z-index: 100;
	overflow-y: auto;
	height: 100%!important;

}	
	

#drawrmenu{
	height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;		
}
#drawrmenu li {
	max-width: 100%;
	padding:10px 1.5em 12px;
	border-bottom:1px solid #eaeaea;
}
#drawrmenu li a {
    color:#515151;
    display: inline-block;
    padding: 0;
	text-decoration: none;
	font-size:16px;
	line-height: 140%;	
}
ul#drawrmenu ul {
	padding-left: 20px;	
	font-weight: 100;
}
ul#drawrmenu ul.magodrawr {
	padding-left: 27px;	
}
#drawrmenu ul li a {
font-size:16px;
font-weight: normal;
}
#drawrmenu ul li {
padding:7px 1em;
	border-bottom: 1px dotted #AB8E58;
}	
ul#drawrmenu ul li:first-child {
	padding-top:1em;
}
ul#drawrmenu ul li:last-child {
	border-bottom:0;
}
ul#drawrmenu ul a{
	border-bottom: 0;	
}	
#drawrmenu li.oya{
		position: relative;
}

	
/* 孫メニュー */
#drawrmenu li a.mago {
	cursor: pointer;
	position: absolute;
	right: 20px;
	top: 16px;
}
.magodrawr {
    display: none;
}
.magodrawr li {
	border-bottom:0!important;	
}
.magodrawr li a {
    color:#000;
    display: block;
    padding: 12px 0;
	text-decoration: none;
	font-size:16px;
}
.mago-in01,
.mago-in02{
	display: inline-block;
	padding: 0 10px 0 0;
	font-size: 18px;
	font-weight: bold;
}
.mago-in02{
	display:none;
}
.mago-in .mago-in01{
	display:none;
}	
.mago-in .mago-in02{
	display:block;
}
.drawr-icon-01,
.drawr-icon-02,
.drawr-icon-03,
.drawr-icon-04,
.drawr-icon-05,
.drawr-icon-07,
.drawr-icon-06{
	padding: 0 0 0 40px!important;
	background-size: 25px!important;	
	height: 20px;
	object-fit: contain;
}
.drawr-icon-01{
	background: url("../images/common/icon-01.png") left center no-repeat;
}
.drawr-icon-02{
	background: url("../images/common/icon-02.png") left center no-repeat;
}
.drawr-icon-03{
background: url("../images/common/icon-03.png") left center no-repeat;
}
.drawr-icon-04{
background: url("../images/common/icon-04.png") left center no-repeat;
	height: 22px;
}
.drawr-icon-05{
background: url("../images/common/icon-05.png") left center no-repeat;
}
.drawr-icon-06{
background: url("https://opusstyle.jp/wp/wp-content/uploads/2022/10/sdgs.png") left center no-repeat;
	background-size: contain!important;
}
.drawr-icon-07{
background: url("../images/common/icon-07.png") left center no-repeat;
	background-size: contain!important;
	height: 23px;
}	



.drawer .menu-inner {
 display:block;
 flex-wrap:nowrap;
justify-content: flex-start;
 align-content:stretch;
 position:static;
width: 90%;
padding: 1em 0 0;
 align-items:normal;
}
.menu_banner {
	width: 100%;
  padding-right: 0;
	padding-left: 25px;
	margin: 0 0 0 0;
	text-align: left;
}
.menu_banner img {
	width: 120px;
	margin-bottom: 10px;
}	
	
.menu-inner-right{
	width: 100%;
	padding-top: 5px;
  padding-right: 0;	
  padding-left: 0;	
  font-size: 19px;
   border-left: 0;  
}
	
.menu-inner-right .pc-none p{
	margin: 20px 0 0;
	padding: 0 25px;
	font-size: 12px;
	line-height: 135%;
}	

	
.drawer-info-btn-wrap{
	width: 100%;
	margin: 20px auto 0;
}
.drawer-info-btn-wrap .btn-redstyle {
	width: 45%;
}
.drawer-info-btn-wrap .btn-redstyle a {
	font-size: 12px;
	max-width: auto;
	padding: 1em 0 1em;
}




/* フェード（左から右に）-------------------------- */
.menu-inner .fadeRight {
    animation-name: fadeRight02;
    animation-duration: 1s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeRight02 {
	from {
		opacity: 0;
		transform: translateX(0);
	}
	to {
		opacity: 1;
		transform: translateX(20px);
	}
}
	


/* トップページ */
	#index .btn{
		width: 80%;
		margin: auto;
	}



#index h2{
	font-size:16px;
	text-align: center;
	margin:0 0 20px 0;
	line-height: 28px;
}

#index h2 span{
	font-weight: 600;
	font-size:32px;
}
#index h2 span.ei{
	font-size:32px;
}

#index h3{
	font-size:15px;
	text-align: center;
	margin:0 0 20px 0;
}

#index h3 span{
	font-family: Montserrat;
	font-weight: 600;
	font-size:17px;
}
#index .index-works h3 span{
	font-weight: 300;
	font-size:1em;
	font-family: "Noto Sans Japanese", sans-serif;
}
#index .index-works.display-text h3{
	padding-bottom: 0;
}
#index .online{
	width:100%;
	margin-bottom:-50px;
}

#index .online .left{
	width:100%;
	margin:0 auto 20px auto;
	float:none;
}

#index .online .right{
	width:100%;
	margin:0 auto 0 auto;
	float:none;
}
	
	#index .online .iedukuri{
		width:48%;
		float: left;
	}
	
	#index .online .okane{
		width:48%;
		float: right;
	}

#index .title{
	text-align: center;
	margin-bottom:25px;
}
#index .works .col5 .autoplay-index li{
	margin: auto;
	}
#index .works .title{
	max-width: 95%;
	margin: 0 auto 25px auto;
}

#index .youtube-archive .voicy li {
	margin-bottom: 30px;
	}
#index .youtube-archive .youtube {
	margin-bottom: 30px;
		
	}	
#index .title p{
	font-size:100%;
	margin-bottom:20px;
}
#index .event li{
	max-width: 480px;
}
#index .event .thumb{
	padding:0 15px;
	margin:0;
}
	#index .event .nokoriwazuka-d{
		margin: -5px auto 0;
	}

#index .message{
	margin-bottom:40px;
}

#index .message p{
	border:1px solid #231815;
	padding:25px;
	font-size:13px;
}

#index .sec{
	padding:30px 0;
}

#index h2{
	width:85%;
	height: auto;
	margin:0 auto 30px auto;
}

#index .concept h2{
	width:70%;
}

#index .concept h3 span{
	font-size:30px;
	padding-bottom:5px;
	display: block;
}

#index .event li{
	margin-bottom:35px;
}

#index .event h2{
	width:100%;
}

#index .event h3{
	margin:15px 0;
	font-weight: 500;
}
#index .event .col2 img,
#index .event .col3 img,
#index .event img{
	height: auto;
}

#index .voice li{
	margin-bottom:20px;
}

#index .voice h2{
	width:95%;
}

#index .voice h3{
	margin:15px 0;
	font-weight: 500;
}


#index .house h2{
	width:95%;
}

	#index .works{
		padding:40px 0;
	}

#index .works h3{
	margin-top:10px;
	font-weight: 500;
}
	

#index .works li{
	text-align: center;
	position: relative;
}
	
#index .works .illust li{
	width: 14.9%;
	height: 85px;
}
	
#index .works .illust{
	border-bottom: 2px solid #000;
	height: 86px;
	margin: 0px 0 60px 0;
}
#index .works .illust li a{
	overflow: hidden;
}

#index .works li img{
	position:absolute;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
	max-height: 100%;
	max-width: 100%;
}
#index .works li span{
	position:absolute;
	top: 95px;
  left:0;
  right:0;
  margin:auto;
	font-size: 10px;
	line-height: 12px;
	width: 40px;
	word-break: break-all;
}
#index .works li.slide-item span{
	width: 90px!important;
	}
#index .works li.slide-item{
	margin-bottom: 50px;
	}
	
#index .works .inner:nth-of-type(2){
	display: inline!important;
}

.col6 .inner{
	min-width:  100%!important;
	max-width: 100%!important;
	padding: 0!important;
}
.col6 li{
	float: left;
	margin:0 0 60px 0;
	padding: 0 10px 0 10px;
	border-bottom:3px solid #000;	
}

.col6 li:nth-child(6n) {
	margin-right:0;
}	
#index .works .btn{
	clear: both;
	margin: auto!important;	
}
	
	
	
#index .index-works .sec{
	padding: 0 0 50px 0;
}
#index .index-works .col3 li{
	min-height: auto;
}
#index .index-works .thumb{
	margin-bottom: 5px;
}
#index .index-works h3{
	font-size: 13px;
	line-height: 18px;
}	
#index .index-works .col3 {
	text-align: center;
}
#index .index-works .col3 li{
	float: none;
	display: inline-block;
  width : calc(49% - 8px / 2);
	vertical-align: top;
	margin:0 10px 35px auto;
}
#index .index-works.display-text .col3 li{
	float: none;
	display: inline-block;
  width : 100%;
	height: fit-content!important;
	vertical-align: top;
	margin:0 10px 35px auto;
}
#index .index-works .col3 li:nth-child(2n) {
	margin-right: 0!important;
}
#index .index-works .col3 li:nth-child(3) {
    margin-right: 10px!important;
}
	
	
	

#index .house {
	text-align: center;
}

#index .house h3{
	font-size:17px;
	font-weight: 600;
	margin:10px 0;
}

#index .house .btn{
	margin-top:30px;
}

#index .house li img{
	margin-bottom:10px;
}

#index .house li{
	text-align: center;
	padding:5px;
	background: #fff;
	margin:0 auto 0 auto;
}

#index .modelhouse .img1{
	margin-bottom:25px;
}

#index .modelhouse .line{
	line-height: 37px;
	margin-bottom:15px;
}

#index .modelhouse .line span{
	font-size:20px;
	color:#fff;
	background: linear-gradient(transparent 10%, #0E204F 0%);
}

#index .modelhouse .btn{
	margin-top:25px;
}

#index .staff .banner img{
	margin-top:20px;
}

#index .staff h3{
	font-size:30px;
	font-weight: 500;
	margin:0 0 5px 0;
}
#index .staff h3.two{
	margin:30px 0 5px 0;
}

#index .staff .btn{
	margin-top:20px;
}

#index .staff .title{
	text-align: center;
}

#index .staff .box{
	border-bottom:1px solid #000;
	padding:10px 0;
	width:100%;
}

#index .staff .box .left{
	float: left;
	width:35%;
}

#index .staff .box .right{
	width:60%;
	float: right;
}

#index .siryou h2{
	width:95%;
}

#index .siryou .btnarea{
	margin-top:25px;
}

#index .siryou .btnarea .left,
#index .siryou .btnarea .right{
	margin-bottom:20px;
}

#index .aboutus h3{
	width:160px;
	margin-top:25px;
}

#index .aboutus .leftico{
	width:45%;
	float: left;
	margin-top:20px;
}

#index .aboutus .rightico{
	width:45%;
	float: right;
	margin-top:20px;
}

#index .aboutus .btn{
	margin:30px 0;
}
	
	
	
	
	
/* Search & Filter Styles */
.searchandfilter li {
	float: none!important;
	width: 100%!important;
	display: inline!important;
	padding: 0!important;
}
.searchandfilter label{
	width: auto!important;
	max-width: 20%;
	min-width: 20%!important;
	display:inline-block!important;
	margin: 0 0 3px 0!important;
	padding: 5px;
	height: auto;
	min-height: 80px;
	vertical-align: middle;
	border: 1px solid #574D43;
	border-radius: 3px;
	cursor: pointer;
}
.searchandfilter input{
		width: auto;
}
.cat-item-32:before,
.cat-item-38:before,
.cat-item-35:before {
	width: auto;
	min-width: 20%;
	display: inline-block;
	padding: 0 10px 18px 0!important;
	font-size: 15px;
}
	
	
#index #performance {
  padding-bottom: 40px;
}	
	
	
	#index #performance .flex .detail:nth-child(2) {
		border-right: none;
	}
	#index #performance .flex .detail {
    width: 50%;
	}
	
	#index .tsuyomi h2{
		font-size: 21px;
		font-family: "TBGothic", "europa", sans-serif!important;
		margin:0 auto 10px auto;
		line-height: 31px;
	}
	#index .tsuyomi .col3 ul{
		margin:0;
	}
	
	#index .tsuyomi .col3 li {
    float: none;
    width: auto;
    max-width: 250px;
    margin: 0 auto 10px auto;
}
	
	
	
	
	
	
	
	
	
	
/* ===================================================================
　Event
==================================================================== */	

  .idx-event{ padding:46px 0 52px; }
  .idx-inner{ padding:0 6%; }
  .idx-event__inner{ padding:0 6%; gap:40px; }
  .idx-event .lead{ font-size:13px; }
  .idx-event__head .sp{ display:inline; }

  /* イントロ＋特集 → 縦並び */
  .idx-event__row{ flex-direction:column; align-items:stretch; gap:24px; }
  .idx-event__intro{ align-items:flex-start; gap:24px; width:100%; }
  .idx-event__tabs a{ width:100%; }
  .idx-event__featured{ width:100%; }
  .idx-event__fvcard .meta .title{ font-size:14px; line-height:1.8; letter-spacing:1.4px; } /* Think About の本文（.lead）と同値 */
  .idx-event__fvcard .label{ right:10px; top:10px; }

  /* 2件 → 1列 */
  .idx-event__grid{ grid-template-columns: 1fr; gap: 24px; }
  .idx-event__card .meta .title{ font-size:14px; line-height:1.8; letter-spacing:1.4px; } /* 同上 */

  /* 相談会 → 1列 */
  .idx-event__consult{ padding:24px; }
  .idx-event__consultgrid{ flex-direction:column; gap: 10px; }
  .idx-event__consultgrid li{ aspect-ratio:auto; }
  .cscard{ min-height:100px; }
  .cscard .ttl{ font-size:18px; }

	

/* ===================================================================
　works
==================================================================== */	
  .idx-works { padding: 60px 0; }
  .idx-inner { padding: 0 6%; }
  .idx-works__inner { padding: 0 6%; gap: 32px; }

  .idx-works__grid { grid-template-columns: repeat(2, 1fr); gap: 32px 4%; }
  .idx-works__thumb { height: auto; aspect-ratio: 334 / 250; }

  /* スマホは4件表示：5件目以降を隠す（必要なければ削除） */
  .idx-works__grid .idx-works__item:nth-child(n+5) { display: none; }

  .idx-works__city,
  .idx-works__plan { font-size: 12px; }
  .idx-works__title { font-size: 14px; }

	
	
/* ===================================================================
　Link Promos
==================================================================== */	

  /* Promos → 1列 */
  .idx-promos__grid { grid-template-columns: 1fr; }
  .idx-promo { height: 340px; }
  .idx-promo__inner { padding: 0 24px; gap: 32px; }
  .idx-promo__title { font-size: 24px; }

  /* Info → 縦積み */
  .idx-info { padding: 60px 0; }
  .idx-inner { padding: 0 6%; }
  .idx-info__grid { max-width: none; padding: 0 6%; grid-template-columns: 1fr; gap: 36px; }

  .idx-sechead { gap: 14px; margin-bottom: 20px; }
  .idx-sechead .ttl { font-size: 22px; }

  /* News */
  .idx-news__link { grid-template-columns: 96px 1fr 20px; gap: 12px; padding: 14px 2px; min-height: auto; }
  .idx-news__link .date { font-size: 12px; }
  .idx-news__link .txt { font-size: 14px; white-space: normal; }
  .idx-news__link .arrow { width: 20px; height: 20px; }

  /* Building */
  .idx-build__link { grid-template-columns: 90px 1fr 20px; gap: 12px; padding: 14px 2px; min-height: auto; }
  .idx-build__link .thumb { width: 90px; height: 64px; }
  .idx-build__link .txt { font-size: 14px; }
  .idx-build__link .arrow { width: 20px; height: 20px; }
	
	
/* ===================================================================
　About
==================================================================== */	

  .idx-about { padding-top: 24px; }
  .idx-about__visual{ height: 220px; }
  .idx-about__card{
    position: relative; left: auto; bottom: auto;
    width: auto; margin: -28px 6% 0; padding: 18px 18px 10px;
  }
  .idx-about__links{ grid-template-columns: 1fr; gap: 8px; }
  .idx-sociallead{ margin: 28px 0 14px; font-size: 13px; }

  /* Media */
  .idx-inner{ padding: 0 6%; }
  .idx-media__grid{ grid-template-columns: 1fr; gap: 22px; }
  .idx-yt__list{ grid-template-columns: 1fr; gap: 12px; }

  /* Instagram */
  .idx-insta{ padding: 16px 0 48px; }
  .idx-insta__grid{ grid-template-columns: repeat(3, 1fr); gap: 6px; }
  .idx-insta__btn .line{ width: 30px; }

	
	
/* ===================================================================
　footer
==================================================================== */	


  .ftr-inner { padding: 0 6%; }

  /* 上段：お問い合わせ */
  .ftr-cta { padding: 40px 0 36px; }
  .ftr-cta .ftr-inner { display: block; }
  .ftr-cta__title { font-size: 22px; }
  .ftr-cta__right { margin-top: 16px; }
  .ftr-cta__tel .num { font-size: 22px; }
  .ftr-cta__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .ftr-btn { min-width: 0; padding: 12px 8px; text-align: center; }

  /* 中段：リンク群（2列→可読性重視） */
  .ftr-links { padding: 30px 0; }
  .ftr-links__grid { grid-template-columns: repeat(2, 1fr); gap: 18px 16px; font-size: 13px; }
  .ftr-links__col .hd { margin-bottom: 6px; }

  /* 会社情報＋SNS（縦並び） */
  .ftr-company { padding: 18px 0 0; }
  .ftr-company__wrap {
    display: grid;
    grid-template-columns: 1fr;
    text-align: center;
  }


  /* バナー（1列） */
  .ftr-banners { padding: 20px 0 10px; }
  .ftr-banners__wrap { grid-template-columns: 1fr; gap: 12px; }

  /* コピーライト */
  .ftr-copy { padding: 14px 0 24px; font-size: 11px; }
	
	

} /*ウィンドウ幅が最大1023pxまでの場合に適用*/



@media screen and (min-width:545px) and ( max-width:999px) {
	#index .works .illust li:first-child{
	margin-left: 20px;
	}
}
@media screen and (min-width:474px) and ( max-width:999px) {
	#index .works .illust li{
		width: 16%;
		height: 60px;
	}
	#index .works .illust{
	height: 60px;
	margin: 0 0 60px 0;
	}
	#index .works li span{
	top: 70px;
	font-size: 10px;
	line-height: 12px;
	}
}
@media screen and (min-width:420px) and ( max-width:544px) {
	#index .works .illust li:first-child{
	margin-left: 10px;
	}
}

/* ==========================================================================
   共通ヘッダー（opus-header）／ドロワーメニュー／右側固定タブ（SP）
   ========================================================================== */
@media screen and (max-width: 1023px) {
	.opus-header__inner{
		padding: 12px 60px 12px 16px;
	}
	.opus-header__logo{
		width: 120px;
	}
	.opus-header__right{
		gap: 16px;
	}
	.opus-header__tel-time{
		display: none;
	}
	.opus-header__tel-num{
		font-size: 16px;
	}
	.opus-header__toggle{
		top: 16px;
		right: 16px;
	}

	.opus-drawer__panel{
		width: 100%;
		padding: clamp(84px, 22vw, 104px) 24px 32px;
	}

	/* 右側固定タブ → 下部固定バーに切り替え */
	.opus-sidetab{
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		flex-direction: row;
		z-index: 9997;
	}
	.opus-sidetab__item{
		flex: 1;
		width: auto;
		flex-direction: row;
		padding: 12px 6px;
		gap: 6px;
	}
	.opus-sidetab__label{
		writing-mode: horizontal-tb;
		font-size: 12px;
		white-space: nowrap;
	}

	/* ===================================================================
	　Topics（TOP／SP）
	==================================================================== */
	.idx-topics{ max-width: none; padding: 32px 6% 0; gap: 16px; }
	.idx-topics__row{ gap: 8px; }
	.idx-topics__nav{ width: 18px; height: 18px; }

	/* ===================================================================
	　Think About（TOP／SP）
	==================================================================== */
	.idx-thinkabout{ padding: 60px 0; }
	.idx-thinkabout__row,
	.idx-thinkabout__row--reverse{
		flex-direction: column;
		gap: 24px;
		padding: 0 6%;
	}
	.idx-thinkabout__row + .idx-thinkabout__row{ margin-top: 60px; }
	.idx-thinkabout__photo{ flex: none; width: 100%; }
	.idx-thinkabout__text{ flex: none; width: 100%; gap: 32px; }
	.idx-thinkabout__textgroup{ align-items: flex-start; gap: 24px; }
	.idx-thinkabout__text .ttl{ font-size: 26px; }
	.idx-thinkabout__sub{ display: none; }

	/* ===================================================================
	　共通：下層ページ見出し（SP）
	==================================================================== */
	.p-head{ height:auto; gap:10px; padding: 40px 0 28px; }
	.p-head__eyebrow{ font-size:13px; }
	.p-head__ttl{ font-size:20px; }

	/* ===================================================================
	　Works：施工事例 一覧（SP）
	==================================================================== */
	.works-archive .works-grid{ padding: 40px 6% 60px; }
	.works-grid__list{ grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
	.works-grid__city,
	.works-grid__ttl{ font-size:12px; }

	/* ===================================================================
	　Works：施工事例 単体（SP）
	==================================================================== */
	.ws-detail{ padding: 0 6% 60px; }
	.ws-detail__mainimg{ margin: 24px 0 20px; }
	.ws-detail__ttl{ font-size: 22px; }
	.ws-detail__gallery .col4 ul{ grid-template-columns:repeat(2,1fr); }
	.ws-detail__prevnext{ padding: 24px 6% 60px; }
	.ws-detail__bread-bar{ font-size:10px; padding:10px 6%; }
	.ws-detail__other{ padding: 24px 6%; margin-top:40px; }
	.ws-detail__other .works-grid__list{ grid-template-columns:repeat(2,1fr); gap:20px 12px; }

	/* ===================================================================
	　見学会・相談会 単体（SP）
	==================================================================== */
	.event-detail--standard{ box-sizing:border-box; width:auto; max-width:none; padding:32px 16px 72px; }
	.event-detail--standard .event-detail__mainimg{ margin:0 0 20px; }
	.event-detail__ttl{ font-size: 20px; }
	.event-detail--standard .event-detail__table{ table-layout:fixed; margin-bottom:24px; }
	.event-detail--standard .event-detail__table th{ width:80px; padding:12px 8px; font-size:12px; }
	.event-detail--standard .event-detail__table td{ padding:12px 8px; font-size:12px; overflow-wrap:anywhere; }
	.event-detail--standard .event-detail__table iframe{ width:100%; max-width:100%; }
	.event-detail--standard .event-detail__jumpbtn{ display:block; margin-bottom:32px; }
	.event-detail--standard .event-detail__jumpbtn a{ width:100%; max-width:none; padding:16px 12px; font-size:14px; }
	.event-detail--standard .event-detail__checkpoint{ padding:20px 16px; }
	.event-detail--standard .event-detail__gallery .event-gallery-col ul{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; right:auto; }
	.event-detail--standard .event-detail__gallery .event-gallery-col ul li{ width:auto; }
	.event-detail--standard .event-detail__article img,
	.event-detail--standard .event-detail__article iframe{ max-width:100%; height:auto; }
	.event-detail--standard .event-detail__form{ padding-top:32px; }

	/* ===================================================================
	　家づくりへの想い（SP）
	==================================================================== */
	.thinkabout-el__hero{min-height:360px;padding:40px 16px;align-items:center;justify-content:flex-start}
	.thinkabout-el__hero-inner{display:flex;min-height:0;align-items:center;justify-content:center;text-align:center}
	#page .thinkabout .thinkabout-el__hero-inner h2{font-size:28px;line-height:1.5;letter-spacing:.08em;writing-mode:horizontal-tb;text-align:center}
	.thinkabout-el__lead{padding:32px 16px 0}
	.thinkabout-el__lead p{font-size:14px;line-height:2}
	.thinkabout-el__cards{flex-direction:column;padding:32px 16px 72px;gap:32px}
	.thinkabout-el__card{flex:none;width:343px;max-width:100%;padding-bottom:24px}
	.thinkabout-el__card figure{aspect-ratio:3/2} /* SP のみカード写真を3:2の横長に */
	.thinkabout-el__card-label{font-size:18px;padding:30px 12px 10px}
	.thinkabout-el__card p{padding:0 20px;font-size:14px;line-height:2}
	.thinkabout-message{padding:64px 16px 72px}
	.thinkabout-message__box{max-width:343px;text-align:left} /* SP は代表メッセージを左揃え */
	.thinkabout-message__box .thinkabout-message__title,
	.thinkabout-message__box .thinkabout-message__text,
	.thinkabout-message__box .thinkabout-message__sign{text-align:left}

	/* ===================================================================
	　Our Staff（SP）
	==================================================================== */
	#page .people-archive .p-head{padding:0 0 32px;justify-content:flex-end;gap:8px;box-sizing:border-box}
	#page .people-archive .p-head__eyebrow{font-size:16px;line-height:1.5}
	#page .people-archive .p-head__ttl{font-size:24px;line-height:1.5}
	#page .people-archive .staff-grid{width:343px;max-width:calc(100% - 32px);padding:32px 0 72px}
	#page .people-archive .staff-grid__list{grid-template-columns:repeat(2,minmax(0,160px));justify-content:space-between;gap:40px 0}
	#page .people-archive .staff-grid__item{width:auto;height:auto}
	#page .people-archive .staff-grid__item a{height:236px}
	#page .people-archive .staff-grid__meta{min-height:102px;padding:16px 8px;gap:0}
	#page .people-archive .staff-grid__position{font-size:14px;line-height:1.8;letter-spacing:1.4px}
	#page .people-archive h3.staff-grid__name{font-size:20px!important;line-height:1.5}
	#page .people-archive .staff-grid__name-en{font-size:12px;line-height:1.5;letter-spacing:.72px}

	#page .people-single .staff-detail__bread{height:25px;padding:0 16px;font-size:10px;line-height:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	#page .people-single .staff-detail-wrap{width:343px;max-width:calc(100% - 32px);padding:32px 0 40px}
	#page .people-single .staff-detail{display:flex;flex-direction:column;gap:40px;width:100%;padding:0}
	#page .people-single .staff-detail__photo{width:100%;max-width:none;margin:0}
	#page .people-single .staff-detail__portrait{height:506px}
	#page .people-single .staff-detail__profile{min-height:0;padding:10px 8px;gap:0}
	#page .people-single .staff-detail__position{font-size:12px;line-height:1.6}
	#page .people-single h1.staff-detail__name{font-size:20px;line-height:1.4}
	#page .people-single .staff-detail__hobby{margin-top:24px;font-size:14px;line-height:1.8}
	#page .people-single .staff-detail__article{font-size:14px;line-height:1.8}
	#page .people-single .staff-detail__article p{font-size:14px;line-height:1.8;margin-bottom:16px}
	#page .people-single .staff-detail__article p:nth-of-type(even){margin-bottom:32px}
	#page .people-single .ws-detail__prevnext{width:343px;max-width:calc(100% - 32px);padding:0 0 72px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;position:static;font-size:14px;line-height:1.8;letter-spacing:1.4px}
	#page .people-single .ws-detail__prevnext .prev,#page .people-single .ws-detail__prevnext .next{position:static;float:none}
	#page .people-single .ws-detail__prevnext .back{position:static;grid-column:2;grid-row:1;margin:0;transform:none}

	/* ===================================================================
	　Voice：お客様の声（SP）
	==================================================================== */
	#page .voice-archive .p-head{padding:0 0 32px;justify-content:flex-end;gap:8px;box-sizing:border-box}
	#page .voice-archive .p-head__eyebrow{font-size:16px;line-height:1.5}
	#page .voice-archive .p-head__ttl{font-size:24px;line-height:1.5}
	#page .voice-archive .voice-list{width:343px;max-width:calc(100% - 32px);padding:32px 0 72px}
	#page .voice-archive .voice-list__list{gap:40px}
	#page .voice-archive .voice-list__item{width:100%;margin:0}
	#page .voice-archive .voice-list__item a{display:flex;flex-direction:column;gap:0;width:100%;height:auto}
	#page .voice-archive .voice-list__thumb{flex:none;width:100%;height:auto;aspect-ratio:334/250}
	#page .voice-archive .voice-list__body{width:100%;padding:24px;gap:16px}
	#page .voice-archive .voice-list__label{margin:0;font-size:16px;line-height:1.5}
	#page .voice-archive h3.voice-list__catch{display:block;margin:0!important;font-size:18px!important;line-height:1.5;letter-spacing:1.08px;-webkit-line-clamp:unset}
	#page .voice-archive .voice-list__area{width:auto;margin:0;font-size:14px;line-height:normal}
	#page .voice-archive .voice-list__more{align-self:flex-end;margin-top:-47px;padding:8px 12px;font-size:14px}
	#page .voice-archive .p-pagenavi{margin-top:40px}
	#page .voice-archive .p-pagenavi .wp-pagenavi{gap:16px}
	#page .voice-archive .p-pagenavi .wp-pagenavi a,#page .voice-archive .p-pagenavi .wp-pagenavi span{min-width:24px;padding-bottom:4px;font-size:14px}

	#page .voice-single .voice-detail__bread{height:32px;padding:3px 16px 4px;font-size:14px;line-height:25px}
	#page .voice-single .ws-detail{width:auto;max-width:none;margin:0;padding:0 16px}
	#page .voice-single .ws-detail__mainimg{width:calc(100% + 32px);height:auto;aspect-ratio:375/279;margin:0 -16px 32px}
	#page .voice-single .ws-detail__head{margin-bottom:40px}
	#page .voice-single .ws-detail__eyebrow{font-size:16px;line-height:1.5}
	#page .voice-single h1.ws-detail__ttl{font-size:24px;line-height:1.5}
	#page .voice-single .voice-detail__information{margin-bottom:40px}
	#page .voice-single .voice-detail__information-title{margin-bottom:16px;font-size:16px}
	#page .voice-single .voice-detail__info{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:0;font-size:14px;line-height:2.4}
	#page .voice-single .voice-detail__info-row,#page .voice-single .voice-detail__info-row:nth-child(3){grid-template-columns:80px minmax(0,1fr);gap:40px;padding:8px 16px;border-bottom:0}
	#page .voice-single .voice-detail__info-row:last-child{border-bottom:1px solid #d9d9d9}
	#page .voice-single p.ws-detail__lead{margin-bottom:32px!important;font-size:14px;line-height:1.8}
	#page .voice-single .ws-detail__article{font-size:14px;line-height:1.8}
	#page .voice-single .ws-detail__article p{font-size:14px;line-height:1.8;margin-bottom:24px!important}
	#page .voice-single .ws-detail__article h2,#page .voice-single .ws-detail__article h3,#page .voice-single .ws-detail__article h4{margin-top:32px;font-size:16px!important;line-height:1.5}
	#page .voice-single .ws-detail__article img,#page .voice-single .ws-detail__article iframe{margin:24px 0}
	#page .voice-single .ws-detail__prevnext{width:343px;max-width:calc(100% - 32px);margin:0 auto;padding:56px 0 80px;display:grid;grid-template-columns:1fr auto 1fr;gap:8px;position:static;font-size:18px;line-height:1.8;letter-spacing:1.8px}
	#page .voice-single .ws-detail__prevnext .prev,#page .voice-single .ws-detail__prevnext .next{position:static;float:none}
	#page .voice-single .ws-detail__prevnext .back{position:static;grid-column:2;grid-row:1;margin:0;transform:none}

	/* ===================================================================
	　News／Staff Blog（SP）
	==================================================================== */
	.news-list{ padding: 32px 6%; }
	.news-list__date{ flex-basis:70px; font-size:11px; }
	.news-list__ttl{ font-size:13px; }
	.blog-grid{ padding: 40px 6% 60px; }
	.blog-grid__list{ grid-template-columns:repeat(2,1fr); gap:20px 12px; }
	.ws-detail--narrow{ padding: 24px 6% 0; }

	/* ===================================================================
	　Event：見学会・相談会（SP）
	==================================================================== */
	.event-archive .event-list__notice{ padding:24px 16px 0; font-size:15px; line-height:1.7; }
	.event-archive .event-list{ width:auto; max-width:none; padding:24px 16px 72px; }
	.event-archive .event-list__item{ margin-bottom:48px; padding:0; }
	.event-archive .event-list__item a{ display:block; width:100%; }
	.event-archive .event-list__thumb{ width:100%; aspect-ratio:602/407; margin:0 0 20px; }
	.event-archive .event-list__body{ min-height:0; display:block; }
	.event-archive .event-list__categories{ margin-bottom:10px; }
	.event-archive .event-list__categories span{ font-size:12px; }
	#page .event-archive .event-list__ttl{ margin-bottom:12px; font-size:19px; line-height:1.55; }
	.event-archive .event-list__meta{ margin-bottom:10px; font-size:13px; line-height:1.9; }
	.event-archive .event-list__excerpt{ margin-bottom:16px; font-size:13px; line-height:1.8; }
	.event-archive .event-list__more{ min-width:184px; padding:11px 0; font-size:13px; }

	/* ===================================================================
	　Building Report（SP）
	==================================================================== */
	.property-archive .report-grid__lead{ width:343px; max-width:calc(100% - 32px); padding:48px 0 0; font-size:14px; text-align:left; line-height:1.8; }
	.property-archive .report-grid{ width:343px; max-width:calc(100% - 32px); padding:40px 0 72px; }
	.property-archive .report-grid__list{ display:grid; grid-template-columns:1fr; gap:40px; }
	.property-archive .report-grid__item{ padding:16px; }
	.property-archive .report-grid__summary{ grid-template-columns:126px minmax(0,1fr); min-height:114px; }
	.property-archive .report-grid__illust{ height:90px; }
	.property-archive .report-grid__meta{ padding-right:0; }
	#page .property-archive .report-grid__ttl{ margin-bottom:8px; padding-bottom:8px; font-size:14px; }
	.property-archive .report-grid__info{ font-size:12px; }
	.property-archive .report-grid__latest{ grid-template-columns:143px minmax(0,1fr); gap:16px; margin-top:16px; }
	.property-archive .report-grid__latest-image{ height:93px; }
	.property-archive .report-grid__latest-body{ gap:8px; }
	.property-archive .report-grid__latest-meta{ font-size:12px; line-height:1.6; }
	.property-archive .report-grid__button{ min-height:32px; padding:0 8px; font-size:11px; }
	.property-single .ws-detail{ width:343px; max-width:calc(100% - 32px); padding:32px 0 0; }
	.property-single .report-detail__head{ grid-template-columns:126px minmax(0,1fr); column-gap:0; row-gap:20px; width:375px; max-width:100vw; margin:0 0 32px calc(50% - min(187.5px,50vw)); padding:12px 0; background:rgba(255,255,255,.8); }
	.property-single .report-detail__thumb{ width:126px; height:90px; }
	.property-single .report-detail__info{ width:173px; align-self:center; }
	#page .property-single .report-detail__ttl{ margin-bottom:8px; padding:0 0 8px; font-size:14px; line-height:1.6; }
	.property-single .report-detail__info p{ font-size:14px; line-height:1.6; }
	.property-single .report-detail__icons ul{ grid-template-columns:minmax(0,140px) minmax(0,180px); grid-template-rows:repeat(2,40px); gap:8px; justify-content:center; width:calc(100% - 16px); max-width:328px; }
	.property-single .report-detail__icons li:nth-child(1){ grid-column:1; grid-row:1; }
	.property-single .report-detail__icons li:nth-child(2){ grid-column:1; grid-row:2; }
	.property-single .report-detail__icons li:nth-child(3){ grid-column:2; grid-row:2; }
	.property-single .report-detail__icons li:nth-child(4){ grid-column:2; grid-row:1; }
	.property-single .report-detail__icons a,.property-single .report-detail__icons span{ height:40px; padding:0 12px; font-size:14px; }
	.property-single .report-detail__icons i{ flex-basis:18px; width:18px; height:18px; }
	.property-single .report-detail__staff{ flex-direction:column; align-items:center; margin-bottom:56px; padding:20px 16px; text-align:center; }
	#page .property-single .report-detail__staff .human{ float:none; width:80px; margin:0; }
	.property-single .report-detail__article{ margin-bottom:56px; font-size:14px; }
	.property-single .report-detail__timeline{ gap:56px; }
	.property-single .report-detail__timeline-item figure{ height:257px; margin-bottom:16px; }
	.property-single .report-detail__timeline-head{ margin-bottom:16px; padding:12px 8px; }
	.property-single .report-detail__timeline-head time{ font-size:16px; }
	#page .property-single .report-detail__timeline-head h2{ font-size:18px; }
	.property-single .report-detail__timeline-txt{ min-width:0!important; max-width:none!important; margin:0!important; font-size:14px; }
	#page .property-single .ws-detail__prevnext{ width:343px; max-width:calc(100% - 32px); padding:56px 0 72px; grid-template-columns:1fr auto 1fr; gap:24px; font-size:14px; }

	/* ===================================================================
	　Voicy（SP）
	==================================================================== */
	.voicy-list{ padding: 32px 6% 60px; }
	.voicy-list__item{ flex-wrap:wrap; }
	.voicy-list__date{ flex-basis:100%; }
	.voicy-list__ttl{ flex-basis:100%; margin-bottom:8px; }

	/* ===================================================================
	　TOPヒーロー：最新Newsリボン（SP）
	==================================================================== */
	.hero-news{ display:none; }

	/* ===================================================================
	　TOPヒーロー：性能値表示（SP／Figma「性能値掲載検討用」sp-after node 506:9703）
	　DOM順（Ua値/C値/断熱等級/耐震等級）のままflex-wrapで2×2に折り返す
	==================================================================== */
	.hero-spec{
		bottom: 16px;
		left: 50%;
		width: 89.6%;
		max-width: 350px;
		gap: 6px;
		flex-wrap: wrap;
		justify-content: center;
	}
	.hero-spec__item{
		width: calc(50% - 3px);
		box-sizing: border-box;
		height: 60px;
		padding: 8px 16px;
	}
	.hero-spec__item--cvalue,
	.hero-spec__item--grade{
		height: 40px;
	}
	.hero-spec__item--seismic{
		width: calc(50% - 3px);
		padding-top: 8px;
		padding-bottom: 10px;
	}
	.hero-spec__label{ font-size: 14px; }
	.hero-spec__value{ font-size: 18px; }
	.hero-spec__note{ font-size: 12px; white-space: normal; text-align: center; }

	/* ===================================================================
	　固定ページ：フォーム系（SP）
	==================================================================== */
	.form-shell{ padding: 32px 0 60px; }
	.form-shell__catalog-list{ columns:1; }
	.form-shell__telcard a{ font-size:22px; }

	/* ===================================================================
	　会社概要（SP）
	==================================================================== */
	.company-info{ padding: 32px 0; }
	.company-info__table th{ width:110px; font-size:12px; }
	.company-info__table td{ font-size:12px; }
	.company-access__map{ height:280px; }
	.company-access__card{ position:static; max-width:none; margin-top:0; }
	.company-promos{ flex-direction:column; }
	.company-promo{ min-height:220px; align-items:center; text-align:center; padding: 32px 6%; }
	.company-sdgs__inner h2{ font-size:22px; }

	/* ===================================================================
	　SDGsリニューアル（SP／375px基準）
	==================================================================== */
	#page .sdgs-page-renewal .p-head__ttl{font-size:20px;line-height:1.5}
	.sdgs-renewal-intro{padding:40px 16px 48px}
	.sdgs-renewal-intro__lead{font-size:14px;line-height:1.8}
	.sdgs-renewal-brand{gap:10px;margin-top:32px}
	.sdgs-renewal-brand__sdgs{width:142px;height:75px}
	.sdgs-renewal-brand__cross{font-size:22px}
	.sdgs-renewal-brand__opus{width:142px;height:50px}
	.sdgs-renewal-about{display:block;width:343px;max-width:100%;margin-top:32px;padding:24px 20px}
	#page .sdgs-page-renewal .sdgs-renewal-about h2{margin-bottom:12px;font-size:16px}
	.sdgs-renewal-about p{font-size:14px;line-height:1.9}
	.sdgs-renewal-section__visual{height:220px}
	.sdgs-renewal-section__visual::after{background-size:45px 45px}
	.sdgs-renewal-section__content{padding:48px 16px 72px}
	.sdgs-renewal-section__number{top:-58px;left:16px;font-size:112px}
	.sdgs-renewal-section__inner{width:343px}
	.sdgs-renewal-section__heading{display:block;padding-top:24px}
	#page .sdgs-page-renewal .sdgs-renewal-section__heading h2{font-size:24px;line-height:1.6}
	.sdgs-renewal-section__heading>p{margin-top:24px;font-size:14px;line-height:2}
	.sdgs-renewal-section__row{display:block;margin-top:40px}
	#page .sdgs-page-renewal .sdgs-renewal-section__row h3{margin-bottom:16px;font-size:16px;line-height:1.8}
	.sdgs-renewal-section__icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
	.sdgs-renewal-section__icons img{width:100%;height:auto}
	.sdgs-renewal-actions{gap:20px}
	.sdgs-renewal-actions dt{padding:10px 12px;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
	.sdgs-renewal-actions dd{padding:14px 12px;font-size:14px;line-height:1.9}

	/* ===================================================================
	　受賞歴・掲載実績（SP）
	==================================================================== */
	.grandprix-list{padding:32px 0 72px}
	.grandprix-list__inner{width:343px;max-width:calc(100% - 32px)}
	.grandprix-list__head{margin-bottom:40px}
	#page .grandprix .grandprix-list__head h2{margin-bottom:16px;font-size:24px}
	.grandprix-list__head p{font-size:16px;line-height:1.8;text-align:justify}
	.grandprix-list__head p br{display:none}
	.grandprix-list__cards{margin-bottom:72px}
	.grandprix-list__cards li{height:auto;min-height:0;flex-direction:column;margin-bottom:40px}
	.grandprix-list__cards figure{flex:none;width:100%;height:auto;aspect-ratio:343/259}
	.grandprix-list__body{padding:24px;gap:16px}
	#page .grandprix .grandprix-list__body h3{font-size:18px}
	.grandprix-list__body p{font-size:14px}

	.grandprix-list__cards li a{
		display: inline;
	}	
	
	/* ===================================================================
		資料請求（page-contact-2.php / Figma sp-request_v1）
	==================================================================== */
	.request-page .p-head{
		padding-top: 38px;
		padding-bottom: 26px;
	}
	.request-page__bread{
		display: none;
	}
	.request-page__body.form-shell{
		padding: 46px 0 80px;
	}
	.request-page__inner.form-shell__inner{
		max-width: none;
		padding: 0 20px;
	}
	.request-page__intro.form-shell__intro,
	.request-page__intro.form-shell__intro p:first-child{
		font-size: 12px;
		line-height: 2;
		letter-spacing: .08em;
	}
	.request-page__intro.form-shell__intro{
		margin-bottom: 24px;
	}
	.request-page__catalog{
		width: 100%;
		margin: 0 0 40px;
		padding: 0;
		background: #fff;
	}
	.request-page__catalog-summary{
		position: relative;
		min-height: 48px;
		padding: 10px 48px;
		box-sizing: border-box;
		font-size: 13px;
		cursor: pointer;
	}

	
#page.request-page .request-page__catalog-summary{
		cursor: pointer;
		pointer-events: auto;
	}

	#page.request-page .request-page__catalog-summary-pc{
		display: none;
	}

	#page.request-page .request-page__catalog-summary-sp--open{
		display: inline;
	}

	#page.request-page .request-page__catalog-summary-sp--close{
		display: none;
	}

	#page.request-page .request-page__catalog:not([open]) > .request-page__catalog-list{
		display: none;
	}

	#page.request-page .request-page__catalog[open] > .request-page__catalog-list{
		display: grid;
	}

	#page.request-page .request-page__catalog[open]
	.request-page__catalog-summary-sp--open{
		display: none;
	}

	#page.request-page .request-page__catalog[open]
	.request-page__catalog-summary-sp--close{
		display: inline;
	}	
	
	
	.request-page__catalog-icon{
		display: block;
		position: absolute;
		right: 16px;
		top: 50%;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		border-radius: 50%;
		background: #aaa;
	}
	.request-page__catalog-icon::before{
		content: "";
		position: absolute;
		left: 6px;
		top: 5px;
		width: 6px;
		height: 6px;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		transform: rotate(45deg);
	}
	.request-page__catalog[open] .request-page__catalog-icon::before{
		top: 8px;
		transform: rotate(225deg);
	}
	.request-page__catalog-list,
	.request-page .request-page__catalog:not([open]) > .request-page__catalog-list{
		display: none;
	}
	.request-page__catalog[open] > .request-page__catalog-list{
		display: grid;
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 0;
		padding: 8px 28px 24px;
		font-size: 12px;
		line-height: 1.7;
	}
	.request-page__form.form-shell__form{
		padding-top: 40px;
	}
	.request-page__form .mailform .cf{
		display: block;
		padding: 0 0 20px;
	}
	.request-page__form .mailform .title,
	.request-page__form .mailform .text,
	.request-page__form .mailform .radio,
	.request-page__form .mailform > p,
	.request-page__form .mailform .cf > p{
		display: block;
		width: 100%;
		max-width: none;
		padding: 0;
		box-sizing: border-box;
	}
	.request-page__form .mailform .title{
		margin-bottom: 10px;
		font-size: 12px;
	}
	.request-page__form.form-shell__form p{
		margin-bottom: 16px;
	}
	.request-page__form input[type="text"],
	.request-page__form input[type="email"],
	.request-page__form input[type="tel"],
	.request-page__form input[type="url"],
	.request-page__form input[type="number"],
	.request-page__form select,
	.request-page__form textarea{
		width: 100%;
		max-width: none;
		padding: 14px 12px;
		font-size: 12px;
	}
	.request-page__form textarea{ min-height: 180px; }
	.request-page__form input[type="submit"],
	.request-page__form .wpcf7-submit{
		width: 100%;
		max-width: none;
		min-height: 64px;
		margin-top: 24px;
	}
	.aboutus-tabs{margin-bottom:36px}.aboutus-tabs label{padding:14px 4px;font-size:14px}.aboutus-tabs label:after{height:3px}.aboutus-page .company-info__table th,.aboutus-page .company-info__table td{display:block;width:100%;padding:0;border:0;font-size:12px;line-height:1.9}.aboutus-page .company-info__table tr{display:block;padding:18px 4px;border-top:1px solid #d5d5d5}.aboutus-page .company-info__table tr:last-child{border-bottom:1px solid #d5d5d5}.aboutus-page .company-info__table th{margin-bottom:6px}.aboutus-history th{color:#a31717}.faq-admin,.faq-body{width:87.2%}.faq-section{padding:48px 0 64px}.faq-section h2{margin-bottom:36px;font-size:20px}.faq-item summary{grid-template-columns:42px 1fr 24px;min-height:74px;padding:12px 4px}.faq-item summary b,.faq-answer>b{font-size:14px}.faq-item summary span{padding-right:10px;font-size:13px;line-height:1.7}.faq-answer{grid-template-columns:42px 1fr;padding:0 4px 30px}.faq-answer p,.faq-answer li{font-size:12px;line-height:2}
	.aboutus-tabs{margin-bottom:36px}.aboutus-tabs label{padding:14px 4px;font-size:14px}.aboutus-tabs label:after{height:3px}.aboutus-page .company-info__table th,.aboutus-page .company-info__table td{display:block;width:100%;padding:0;border:0;font-size:12px;line-height:1.9}.aboutus-page .company-info__table tr{display:block;padding:18px 4px;border-top:1px solid #d5d5d5}.aboutus-page .company-info__table tr:last-child{border-bottom:1px solid #d5d5d5}.aboutus-page .company-info__table th{margin-bottom:6px}.aboutus-history th{color:#a31717}.faq-admin,.faq-body{width:87.2%}.faq-section{padding:48px 0 64px}.faq-section h2{margin-bottom:36px;font-size:20px}.faq-item summary{grid-template-columns:42px 1fr 24px;min-height:74px;padding:12px 4px}.faq-item summary b,.faq-answer>b{font-size:14px}.faq-item summary span{padding-right:10px;font-size:13px;line-height:1.7}.faq-answer{grid-template-columns:42px 1fr;padding:0 4px 30px}.faq-answer p,.faq-answer li{font-size:12px;line-height:2}.faq-question-static{grid-template-columns:42px 1fr;min-height:74px;padding:12px 4px}.faq-question-static b{font-size:14px}.faq-question-static span{font-size:13px;line-height:1.7}

	/* About us / Request / FAQ finishing pass: Figma SP 375 */
	#page.aboutus-page,#page .request-page,#page.faq-page{overflow:hidden;color:#574d43}
	#page.aboutus-page .company-info{padding:24px 0 48px;background:transparent}
	#page.aboutus-page .company-info__inner{width:343px;max-width:calc(100% - 32px);padding:0 16px 32px;box-sizing:border-box;background:rgba(255,255,255,.82)}
	#page.aboutus-page .aboutus-tabs{width:calc(100% + 32px);height:34px;margin:0 0 32px -16px;border:0}
	#page.aboutus-page .aboutus-tabs label{display:flex;align-items:center;justify-content:center;padding:0;background:#d9d9d9;font-size:14px}
	#page.aboutus-page .aboutus-tabs label:after{top:0;bottom:auto;height:3px}
	#page.aboutus-page #aboutus-profile:checked~.aboutus-tabs label[for=aboutus-profile],#page.aboutus-page #aboutus-history:checked~.aboutus-tabs label[for=aboutus-history]{background:#fff}
	#page.aboutus-page .company-info__table tr{display:grid;grid-template-columns:88px minmax(0,1fr);padding:12px 0}
	#page.aboutus-page .company-info__table th,#page.aboutus-page .company-info__table td{display:block;width:auto;margin:0;padding:0;font-size:11px;line-height:2;overflow-wrap:anywhere}
	#page.aboutus-page .aboutus-history tr{grid-template-columns:116px minmax(0,1fr)}
	#page.aboutus-page .company-access{padding:0 0 48px;background:transparent}
	#page.aboutus-page .company-access__inner{width:100%;max-width:none}
	#page.aboutus-page .company-access__map{height:320px}
	#page.aboutus-page .company-access__card{width:294px;max-width:calc(100% - 48px);margin:-24px 0 0 24px;padding:24px;box-sizing:border-box}
	#page.aboutus-page .company-recruit{padding:0 16px 40px}
	#page.aboutus-page .company-recruit p{font-size:12px}
	#page.aboutus-page .company-promo{min-height:300px;padding:32px 20px;align-items:center}
	#page.aboutus-page .company-promo h2{font-size:28px}
	#page.aboutus-page .company-sdgs{display:flex;flex-direction:column;width:100%;padding:48px 20px 56px;box-sizing:border-box;text-align:left}
	#page.aboutus-page .company-sdgs__visual img{display:block;width:100%;height:auto}
	#page.aboutus-page .company-sdgs__inner{width:100%;max-width:none;margin-top:24px;text-align:left}
	#page.aboutus-page .company-sdgs__inner a{display:flex;width:200px;margin-left:auto;justify-content:space-between;box-sizing:border-box}

	#page .request-page__bread{display:none}
	#page .request-page__body.form-shell{padding:32px 0 80px}
	#page .request-page__inner.form-shell__inner{width:100%;padding:0 16px}
	#page .request-page__intro.form-shell__intro{margin-bottom:16px;font-size:12px;line-height:2}
	#page .request-page__intro.form-shell__intro p:first-child{font-size:12px}
	#page .request-page__catalog{width:100%;margin-bottom:40px;padding:0;background:rgba(255,255,255,.8)}
	#page .request-page__catalog-summary{min-height:54px}
	#page .request-page__catalog-list{padding:0 24px 20px;font-size:12px;line-height:2.4}
	#page .request-page__form.form-shell__form{width:100%;padding-top:40px}
	#page .request-page__form .mailform .cf{display:block;width:100%;margin:0 0 28px;padding:0;background:transparent;border:0}
	#page .request-page__form .mailform .title,#page .request-page__form .mailform .text,#page .request-page__form .mailform .radio,#page .request-page__form .mailform>p,#page .request-page__form .mailform .cf>p{float:none;width:100%;margin:0;padding:0}
	#page .request-page__form .mailform .title{margin-bottom:10px;font-size:12px}
	#page .request-page__form input[type=text],#page .request-page__form input[type=email],#page .request-page__form input[type=tel],#page .request-page__form select{min-height:58px}
	#page .request-page__form textarea{min-height:240px}
	#page .request-page__form input[type=submit],#page .request-page__form .wpcf7-submit{width:100%;max-width:none;min-height:80px}

	#page.faq-page{background-color:#fff;background-image:url('../images/common/bg-texture.png');background-repeat:repeat;background-size:40px 40px}
	#page.faq-page .faq-body{width:auto;margin:0 16px}
	#page.faq-page .faq-section{padding:56px 0;border-bottom:1px solid #d5d5d5}
	#page.faq-page .faq-section:last-child{padding-bottom:72px;border-bottom:0}
	#page.faq-page .faq-section__head{margin:0 0 32px;text-align:center}
	#page.faq-page .faq-section h2{margin:0 0 8px;color:#574d43;font-size:24px;font-weight:400;line-height:1.6;letter-spacing:1.44px}
	#page.faq-page .faq-section__head p{margin:0;color:#574d43;font-size:14px;line-height:2.2;letter-spacing:1.4px;font-feature-settings:"palt" 1}
	#page.faq-page .faq-item{width:100%;margin:0 0 24px;border:0;background:transparent}
	#page.faq-page .faq-item:last-child{margin-bottom:0}
	#page.faq-page .faq-item summary{grid-template-columns:auto minmax(0,1fr) 34px;column-gap:4px;min-height:54px;padding:10px 16px;box-sizing:border-box;border:0;background:#f9f9f5}
	#page.faq-page .faq-item summary b{display:block;width:auto;padding:0;background:transparent;color:#b2191d;font-family:"Europa-Regular",sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.96px;white-space:nowrap}
	#page.faq-page .faq-item summary span{min-width:0;padding:0;color:#574d43;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:1.6px;overflow-wrap:anywhere;font-feature-settings:"palt" 1}
	#page.faq-page .faq-item summary i{display:block;justify-self:end;width:34px;height:34px;margin-left:12px;background:url('../images/common/faq-chevron.svg') center/34px 34px no-repeat;transform:rotate(90deg);transition:transform .2s ease}
	#page.faq-page .faq-item summary i:before,#page.faq-page .faq-item summary i:after{display:none}
	#page.faq-page .faq-item[open] summary i{transform:rotate(-90deg)}
	#page.faq-page .faq-answer{grid-template-columns:auto minmax(0,1fr);gap:4px;padding:16px;box-sizing:border-box;border-top:1px solid #eeebe4;background:#fff}
	#page.faq-page .faq-answer>b{display:block;width:auto;padding:0;background:transparent;color:#515bd4;font-family:"Europa-Regular",sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:.96px;white-space:nowrap}
	#page.faq-page .faq-answer p,#page.faq-page .faq-answer li{margin-bottom:0;color:#574d43;font-size:14px;line-height:2.2;letter-spacing:.56px;overflow-wrap:anywhere;font-feature-settings:"palt" 1}
	#page.faq-page .faq-answer p+p{margin-top:0}
	#page.faq-page .faq-answer ul{margin:0;padding-left:1.4em}
	#page.faq-page .faq-answer strong{font-weight:600}
	#page.faq-page > .p-head{position:relative;inset:auto;z-index:auto;width:100%;height:250px;padding:0 0 32px;gap:8px;background-color:#eeebe4}
	#page.faq-page > .p-head .p-head__ttl{position:static;inset:auto}
	#page.faq-page .faq-section__head{position:static;inset:auto;z-index:auto;display:block;width:auto;padding:0}
	#page.faq-page .faq-answer p:last-child,#page.faq-page .faq-answer li:last-child{margin-bottom:0}
	.house-column-list,.house-column-article,.house-column-prevnext,.consult-page__inner,.consult-page__content{width:87.2%}.house-column-list,.consult-page__content{padding:48px 0 72px}.house-column-filter{display:block;font-size:12px}.house-column-grid{grid-template-columns:repeat(2,1fr);gap:40px 12px}.house-column-card__meta{display:block;font-size:11px}.house-column-grid h2{font-size:12px}.house-column-article{padding:40px 0 64px}.house-column-article>header h1{font-size:22px}.house-column-article__content{font-size:13px}.house-column-prevnext{grid-template-columns:1fr 1fr;gap:24px;padding-bottom:72px;font-size:11px}.house-column-prevnext .back{grid-column:1/-1;grid-row:2;text-align:center}.consult-page__intro{padding:48px 0}.consult-page__inner{display:flex;flex-direction:column;gap:32px}.consult-page__lead{font-size:20px}.consult-page__content img,.consult-page__content iframe{max-width:100%;height:auto}
	#page .pagehead{min-height:160px;padding:32px 6.4%}#page .pagehead h1,#page .pagehead h2{font-size:20px}#page .pagehead h1 span,#page .pagehead h2 span{font-size:12px}#page .page-single>.sec>.inner{width:87.2%}#page .page-single iframe,#page .article iframe{max-width:100%}
}

/* Keep the TOP Figma pass after legacy SP rules so it wins the cascade. */
@media screen and (max-width:1023px){
  #page .archive-head{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    width:100%;
    height:146px;
    min-height:0;
    margin:0;
    padding:0 0 32px;
    box-sizing:border-box;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    visibility:visible;
    opacity:1;
  }
  #page .archive-head .p-head__eyebrow{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    color:#b2191d;
    font-size:16px;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.06em;
    visibility:visible!important;
    opacity:1!important;
  }
  #page .archive-head .p-head__ttl{
    position:static!important;
    inset:auto!important;
    display:block;
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    color:#574d43;
    font-size:24px;
    font-weight:400;
    line-height:1.5;
    letter-spacing:.06em;
    visibility:visible!important;
    opacity:1!important;
  }
  #page .archive-pagenavi{display:flex;width:100%;margin:48px auto 0;padding:0;align-items:center;justify-content:center;text-align:center}
  #page .archive-pagenavi .wp-pagenavi{display:inline-flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px}
  #page .archive-pagenavi .wp-pagenavi a,
  #page .archive-pagenavi .wp-pagenavi span{display:inline-flex!important;min-width:24px!important;min-height:0!important;margin:0!important;padding:0 0 4px!important;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#574d43!important;font-family:"Europa-Regular",sans-serif;font-size:16px!important;font-weight:400!important;line-height:1.5!important}
  #page .archive-pagenavi .wp-pagenavi .current{border-bottom:1px solid #574d43!important}
  #page .archive-pagenavi .wp-pagenavi .pages,
  #page .archive-pagenavi .wp-pagenavi .first,
  #page .archive-pagenavi .wp-pagenavi .last{display:none!important}
  #page .archive-pagenavi .wp-pagenavi .extend{color:#999!important;font-size:14px!important}
  #page .archive-pagenavi .wp-pagenavi .previouspostslink,
  #page .archive-pagenavi .wp-pagenavi .nextpostslink{font-size:0!important}
  #page .archive-pagenavi .wp-pagenavi .previouspostslink::after{content:"‹";font-size:20px}
  #page .archive-pagenavi .wp-pagenavi .nextpostslink::after{content:"›";font-size:20px}
  #page .archive-pagenavi .nav-links{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px}
  #page .archive-pagenavi .page-numbers{padding:0 0 4px;border:0;background:transparent;color:#574d43;font-size:16px;line-height:1.5;text-decoration:none}
  #page .archive-pagenavi .page-numbers.current{border-bottom:1px solid #574d43}

  .idx-topics{max-width:none;padding:32px 16px 0;gap:16px}
  .idx-thinkabout{padding:64px 0 80px}
  .idx-thinkabout__row,.idx-thinkabout__row--reverse{padding:0 16px;gap:32px}
  .idx-thinkabout__row + .idx-thinkabout__row{margin-top:80px}
  .idx-thinkabout__photo{width:calc(100% + 16px)}
  .idx-thinkabout__row:not(.idx-thinkabout__row--reverse) .idx-thinkabout__photo{margin-left:-16px}
  .idx-thinkabout__row--reverse .idx-thinkabout__photo{margin-right:-16px}
  .idx-thinkabout__photo img{aspect-ratio:343/257}
  .idx-thinkabout__text .ttl{font-size:32px}
  .idx-thinkabout__link{align-self:flex-end;width:200px}
  .idx-event{padding:64px 0 80px}
  .idx-event__inner{padding:0 16px;gap:48px}
  .idx-event .ttl,.idx-works .ttl,.idx-sechead .ttl{font-size:32px}
  .idx-event__tabs{align-self:flex-end}.idx-event__tabs a{width:220px}
  .idx-event__consult{padding:40px 16px}
  .idx-works{padding:80px 0}.idx-works__inner{padding:0 16px;gap:40px}.idx-works__grid{gap:40px 16px}
  .idx-promo{height:375px}.idx-promo__inner{padding:0 40px;gap:48px}.idx-promo__title{font-size:32px}
  .idx-info{padding:80px 0}.idx-info__grid{padding:0 16px;gap:64px}
  .idx-about{padding:0 0 80px}.idx-about__visual{width:100%;height:230px;aspect-ratio:auto}
  .idx-about__card{position:relative;left:auto;top:auto;bottom:auto;width:343px;margin:-24px auto 0;padding:56px 24px;box-sizing:border-box}
  .idx-about__card h2{margin:0 0 40px;font-size:32px}.idx-about__links{grid-template-columns:1fr;gap:24px}.idx-about__links a{width:200px;margin-left:auto;padding:16px 12px;box-sizing:border-box}
  .idx-media{width:343px;margin:0 auto 40px}.idx-media-in{display:flex;flex-direction:column;gap:24px}
  .idx-youtube,.idx-voicy{width:343px;padding:40px 15px;box-sizing:border-box}
  .idx-youtube ul{display:flex;flex-direction:column;gap:24px}.idx-youtube ul li{width:312px}.idx-youtube .youtube-wrap,.idx-youtube iframe{width:312px;aspect-ratio:16/9;height:auto}
  .idx-voicy-badge img{display:block;width:312px;height:104px;object-fit:contain}
  .idx-insta-wrap{padding-bottom:80px}.idx-insta{display:flex;flex-direction:column;width:343px;padding:40px 16px;gap:24px;box-sizing:border-box}
  .idx-insta-l{width:100%;height:auto;padding:0;gap:24px}.idx-insta__embed{width:100%;min-width:0;overflow:hidden}
}

/* Voicy / Voicy column finishing pass: Figma SP 375 */
@media screen and (max-width:1023px){
  #page .voicy-archive,#page.house-column-page{overflow:hidden;color:#574d43}
  #page .voicy-archive .p-head,#page.house-column-page .p-head{padding:0 0 32px;box-sizing:border-box;justify-content:flex-end}
  #page .voicy-archive .voicy-list{width:343px;max-width:calc(100% - 32px);margin:auto;padding:40px 0 72px}
  #page .voicy-archive .voicy-list__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;min-height:96px;padding:14px 8px;box-sizing:border-box;border-top:0;border-bottom:1px solid #d9d9d9}
  #page .voicy-archive .voicy-list__item:first-child{border-top:1px solid #d9d9d9}
  #page .voicy-archive .voicy-list__date{grid-column:1/-1;font-size:11px;line-height:1.5}
  #page .voicy-archive .voicy-list__ttl{grid-column:1;min-width:0;margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
  #page .voicy-archive .voicy-list__btns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
  #page .voicy-archive .voicy-list__btn{display:flex;align-items:center;justify-content:space-between;width:140px;height:32px;padding:0 10px;box-sizing:border-box;font-size:11px;line-height:1.6;color:#fff;text-decoration:none}
  #page .voicy-archive .voicy-list__btn i{width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
  #page .voicy-archive .voicy-list__btn--column{background:#b2191d}
  #page .voicy-archive .voicy-list__btn--voicy{background:#ff8d22}
  #page .voicy-archive .p-pagenavi{margin-top:40px}
  #page .voicy-archive .voicy-list__official,#page.house-column-page .house-column-voicy{margin-top:48px;text-align:center}
  #page .voicy-archive .voicy-list__official p,#page.house-column-page .house-column-voicy p{margin:0 0 12px;color:#b2191d;font-size:11px;line-height:1.6}
  #page .voicy-archive .voicy-list__official img,#page.house-column-page .house-column-voicy img{display:block;width:280px;height:93px;margin:auto;object-fit:contain}

  #page.house-column-page .house-column-list{width:343px;max-width:calc(100% - 32px);padding:40px 0 72px}
  #page.house-column-page .house-column-filter{display:grid;grid-template-columns:1fr 64px;gap:8px;margin:0 0 40px;font-size:11px}
  #page.house-column-page .house-column-filter label{grid-column:1/-1}
  #page.house-column-page .house-column-filter select{width:100%;height:40px;padding:0 10px;border:1px solid #d9d9d9;background:#fff;color:#574d43;font:inherit}
  #page.house-column-page .house-column-filter button{width:64px;height:40px;padding:0;border:0;background:#7f7060;color:#fff;font:inherit}
  #page.house-column-page .house-column-grid{display:grid;grid-template-columns:1fr;gap:40px;margin:0;padding:0}
  #page.house-column-page .house-column-grid>li{width:100%;margin:0;padding:0;list-style:none}
  #page.house-column-page .house-column-grid figure{width:100%;height:auto;aspect-ratio:343/229;margin:0 0 12px}
  #page.house-column-page .house-column-grid img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}
  #page.house-column-page .house-column-card__meta{display:flex;justify-content:space-between;margin:0;padding:0 0 10px;border-bottom:1px solid #d9d9d9;font-size:11px;line-height:1.6}
  #page.house-column-page .house-column-card__terms,#page.house-column-single .house-column-article__terms{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}
  #page.house-column-page .house-column-grid h2{margin:10px 0 0;padding:0;border:0;background:transparent;color:#574d43;font-size:12px;font-weight:400;line-height:1.8;text-align:left}
  #page.house-column-page .house-column-voicy a{display:block;padding:0;background:transparent}

  #page.house-column-single{--ez-toc-margin:0 0 32px;--ez-toc-padding:24px;--ez-toc-width:100%;--ez-toc-max-width:none;--ez-toc-font-size:14px;--ez-toc-line-height:1.8;--page-h3-line-height:1.7}
  #page.house-column-single .house-column-breadcrumb{height:28px;background:#ece6dd}
  #page.house-column-single .house-column-breadcrumb__inner{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);height:28px;margin:0 auto;color:#574d43;font-size:14px;line-height:28px;letter-spacing:1.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #page.house-column-single .house-column-breadcrumb__inner a{color:inherit;text-decoration:none}
  #page.house-column-single .house-column-article{display:flex;width:343px;max-width:calc(100% - 32px);padding:32px 0 32px;flex-direction:column}
  #page.house-column-single .house-column-article__header{order:1;margin:0 0 32px;padding:0;border:0}
  #page.house-column-single .house-column-article__meta{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin:0 0 8px;color:#7f7060;font-family:"Europa-Regular",sans-serif;font-size:16px;line-height:1.5;letter-spacing:.96px}
  #page.house-column-single .house-column-article__terms{justify-content:flex-start;gap:8px}
  #page.house-column-single .house-column-article__terms>span{height:28px;padding:0 8px;background:#e3a935;color:#fff;line-height:28px;white-space:nowrap}
  #page.house-column-single .house-column-article__header h1{margin:0;padding:0;color:#574d43;font-family:YakuHanMP, "ShipporiMincho-Regular","NotoSerifJP-Regular",serif;font-size:24px;font-weight:400;line-height:1.5;letter-spacing:1.44px;font-feature-settings:"palt" 1;overflow-wrap:anywhere}
  #page.house-column-single .house-column-article__content{display:contents;color:#574d43;font-size:14px;line-height:1.8;letter-spacing:1.4px;overflow-wrap:anywhere}
  #page.house-column-single .house-column-article__content #ez-toc-container{order:2;width:100%}
  #page.house-column-single .house-column-article__thumb{order:3;width:100%;margin:0 0 16px}
  #page.house-column-single .house-column-article__voicy{order:4}
  #page.house-column-single .house-column-article__content>*:not(#ez-toc-container){order:5}
  #page.house-column-single .house-column-article__thumb img{display:block;width:100%;height:auto;aspect-ratio:343/229;object-fit:cover;border-radius:0}
  #page.house-column-single .house-column-article__content p{width:100%;max-width:none;margin:0 0 20px;color:#574d43;font-size:14px;line-height:1.8;letter-spacing:1.4px}
  #page.house-column-single .house-column-article__content strong{font-weight:700}
  #page.house-column-single .house-column-article__content em{font-style:italic}
  #page.house-column-single .house-column-article__content u,#page.house-column-single .house-column-article__content ins{text-decoration:underline;text-underline-offset:3px}
  #page.house-column-single .house-column-article__content a{color:#b2191d;text-underline-offset:3px}
  #page.house-column-single .house-column-article__content mark{padding:0 .15em;background:#fff19d;color:inherit}
  #page.house-column-single .house-column-article__content ul,#page.house-column-single .house-column-article__content ol{margin:0 0 20px;padding-left:1.5em}
  #page.house-column-single .house-column-article__content li{margin:0 0 8px;line-height:1.8}
  #page.house-column-single .house-column-article__content blockquote{margin:20px 0;padding:20px 16px;border-left:3px solid #b2191d;background:rgba(255,255,255,.6)}
  #page.house-column-single .house-column-article__content h2{box-sizing:border-box;width:100%;margin:32px 0 16px;padding:12px 8px;border:0;background:#ece6dd;color:#574d43;font-size:18px;font-weight:400;line-height:1.4;letter-spacing:1.8px;text-align:left}
  #page.house-column-single .house-column-article__content h3{margin:32px 0 16px;padding:0 0 8px;border:0;border-bottom:1px solid #d9d9d9;background:transparent;color:#b2191d;font-size:16px;font-weight:400;line-height:1.7;letter-spacing:.96px;text-align:left}
  #page.house-column-single .house-column-article__content h4{margin:28px 0 12px;padding:0;border:0;background:transparent;color:#574d43;font-size:14px;font-weight:600;line-height:1.7;letter-spacing:.84px;text-align:left}
  #page.house-column-single .house-column-article__content figure{max-width:100%;margin:20px auto}
  #page.house-column-single .house-column-article__content img{display:block;width:auto;max-width:100%;height:auto;margin:20px auto;object-fit:contain}
  #page.house-column-single .house-column-article__content figure img{margin:0 auto}
  #page.house-column-single .house-column-article__content figcaption{margin-top:8px;color:#7f7060;font-size:12px;line-height:1.8;text-align:center}
  #page.house-column-single .house-column-article__content iframe{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9;margin:20px 0}
  #page.house-column-single div#ez-toc-container{box-sizing:border-box;border:0;background:rgba(255,255,255,.6)}
  #page.house-column-single div#ez-toc-container .ez-toc-title{margin:0 0 16px;color:#7f7060;font-size:0;font-weight:400;line-height:1.5;text-align:left}
  #page.house-column-single div#ez-toc-container .ez-toc-title:before{content:"Contents";font-family:"Europa-Regular",sans-serif;font-size:16px;letter-spacing:.96px}
  #page.house-column-single #ez-toc-container .ez-toc-title-toggle,#page.house-column-single #ez-toc-container .ez-toc-toggle{display:none}
  #page.house-column-single div#ez-toc-container nav{display:block;width:100%;max-width:none;max-height:52px;margin:0;padding:0;font-size:inherit;font-weight:inherit}
  #page.house-column-single div#ez-toc-container.expanded nav{max-height:2000px}
  #page.house-column-single div#ez-toc-container nav>ul,#page.house-column-single div#ez-toc-container nav ul{display:block;box-sizing:border-box;grid-template-columns:none;column-count:auto;width:100%;max-width:none;margin:0;padding:0;gap:0}
  #page.house-column-single div#ez-toc-container nav ul ul{padding-left:1.5em}
  #page.house-column-single div#ez-toc-container nav li{display:block;box-sizing:border-box;float:none;clear:both;width:100%;min-width:0;max-width:none;margin:0;padding:0;color:#574d43;font-size:14px;line-height:1.8;letter-spacing:1.4px}
  #page.house-column-single div#ez-toc-container nav li a{display:block;box-sizing:border-box;width:100%;max-width:100%;margin:0;color:#574d43;font-size:14px;line-height:1.8;letter-spacing:1.4px;white-space:normal;word-break:normal;overflow-wrap:normal}
  #page.house-column-single div#ez-toc-container .show-more{display:flex;width:fit-content;min-width:160px;min-height:48px;margin:16px auto 0;padding:0 32px;box-shadow:none;align-items:center;justify-content:center;border:1px solid #d9d9d9;border-radius:0;background:#f9f9f5;color:#574d43;font-size:14px;line-height:1;letter-spacing:1.4px}
  #page.house-column-single .house-column-article__voicy{margin:0 auto 32px}
  #page.house-column-single .house-column-article__content .wp-block-buttons{display:flex;width:100%;margin:0 auto 20px;justify-content:center}
  #page.house-column-single .house-column-article__voicy a,#page.house-column-single .house-column-article__content .btnlink a,#page.house-column-single .house-column-article__content .wp-block-button__link{display:flex;box-sizing:border-box;width:300px;max-width:100%;min-width:0;min-height:56px;margin:0 auto;padding:10px 16px;align-items:center;justify-content:center;border:0;border-radius:4px;background:#b2191d;color:#fff;text-align:center;text-decoration:none;font-size:14px;line-height:1.8;letter-spacing:1.4px}
  #page.house-column-single .house-column-article__voicy a{background:#ff8d22}
  #page.house-column-single .house-column-article__content>.btnlink:first-of-type{margin:0 auto 32px}
  #page.house-column-single .house-column-article__content>.btnlink:first-of-type a{background:#ff8d22}
  #page.house-column-single .house-column-article__content .btnlink a:after,#page.house-column-single .house-column-article__content .wp-block-button__link:after{display:none}

  #page.house-column-single .house-column-related{width:343px;max-width:calc(100% - 32px);margin:0 auto}
  #page.house-column-single .house-column-related>h2{box-sizing:border-box;width:100%;margin:0 0 16px;padding:12px 8px;border:0;background:#ece6dd;color:#574d43;font-size:18px;font-weight:400;line-height:1.4;letter-spacing:1.8px;text-align:left}
  #page.house-column-single .house-column-related__list{display:flex;margin:0;padding:0;flex-direction:column;gap:16px;list-style:none}
  #page.house-column-single .house-column-related__item{box-sizing:border-box;width:100%;padding:16px;background:rgba(255,255,255,.6)}
  #page.house-column-single .house-column-related__main{display:flex;min-width:0;flex-direction:column;gap:16px;color:#574d43;text-decoration:none}
  #page.house-column-single .house-column-related__main figure{width:100%;height:auto;aspect-ratio:1024/683;margin:0;overflow:hidden;background:#d9d9d9}
  #page.house-column-single .house-column-related__main img{display:block;width:100%;height:100%;object-fit:cover}
  #page.house-column-single .house-column-related__body{width:100%;min-width:0}
  #page.house-column-single .house-column-related .house-column-card__meta{display:flex;margin:0 0 8px;padding:0;align-items:center;justify-content:flex-start;gap:16px;border:0;color:#7f7060;font-family:"Europa-Regular",sans-serif;font-size:16px;line-height:1.5;letter-spacing:.96px}
  #page.house-column-single .house-column-related .house-column-card__terms{justify-content:flex-start;gap:8px}
  #page.house-column-single .house-column-related .house-column-card__terms>span{padding:0 8px;background:#e3a935;color:#fff;white-space:nowrap}
  #page.house-column-single .house-column-related__body h3{margin:0;padding:0;border:0;background:transparent;color:#574d43;font-size:14px;font-weight:400;line-height:1.8;letter-spacing:1.4px;text-align:left}
  #page.house-column-single .house-column-related__actions{display:flex;width:100%;margin-top:16px;gap:16px}
  #page.house-column-single .house-column-related__button{display:flex;box-sizing:border-box;min-width:0;height:40px;padding:0 12px;flex:1;align-items:center;justify-content:space-between;color:#fff;text-decoration:none;font-size:14px;line-height:1.6;letter-spacing:1.4px}
  #page.house-column-single .house-column-related__button:after{width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;content:"";transform:rotate(45deg)}
  #page.house-column-single .house-column-related__button--column{background:#b2191d}
  #page.house-column-single .house-column-related__button--voicy{background:#ff8d22}

  body.site-base #page.house-column-single .house-column-prevnext{display:grid;box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:40px auto 0;padding:0 0 72px;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;color:#574d43;font-size:18px;line-height:1.8;letter-spacing:1.8px}
  #page.house-column-single .house-column-prevnext a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:#574d43;text-decoration:none;white-space:nowrap}
  #page.house-column-single .house-column-prevnext__prev a:before,#page.house-column-single .house-column-prevnext__next a:after{width:14px;height:14px;border-top:1px solid currentColor;border-right:1px solid currentColor;content:""}
  #page.house-column-single .house-column-prevnext__prev a:before{transform:rotate(-135deg)}
  #page.house-column-single .house-column-prevnext__next{justify-self:end}
  #page.house-column-single .house-column-prevnext__next a:after{transform:rotate(45deg)}
  #page.house-column-single .house-column-prevnext .back{grid-column:2;grid-row:1;justify-content:center;border:0;text-align:center}
}

/* Works rules are repeated after legacy overrides intentionally. */
@media screen and (max-width:1023px){
  .works-archive .p-head{padding:40px 0 32px;box-sizing:border-box;justify-content:flex-end}.works-archive .p-head__eyebrow{font-size:14px}.works-archive .p-head__ttl{font-size:22px}
  .works-archive .works-grid{padding:64px 16px 80px}.works-grid__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 16px}.works-grid__thumb{margin-bottom:12px;aspect-ratio:334/250}.works-grid__meta{gap:10px}.works-grid__city{padding-bottom:10px;font-size:12px;line-height:1.6}.works-grid__ttl{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.p-pagenavi{margin-top:48px}.p-pagenavi .wp-pagenavi{gap:12px}
  .ws-detail__bread-bar{padding:10px 16px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-detail{width:auto;max-width:none;margin:0;padding:40px 16px 72px}.ws-detail__mainimg{margin:0 -16px 40px;aspect-ratio:375/279}.ws-detail__head{margin-bottom:32px;padding:0;border:0}.ws-detail__eyebrow{margin-bottom:8px;font-size:14px}.ws-detail__ttl{font-size:24px;line-height:1.55;overflow-wrap:anywhere}
  .ws-detail__information{margin-bottom:40px}.ws-detail__info{grid-template-columns:1fr;gap:0;font-size:12px;line-height:1.8}.ws-detail__info-col + .ws-detail__info-col{border-top:0}.ws-detail__info-row{grid-template-columns:72px 1fr;gap:16px;padding:10px 8px}.works-single .name{font-size:12px;line-height:1.8}.ws-detail__article{margin-bottom:56px;font-size:13px;line-height:1.9;letter-spacing:.08em}.ws-detail__article img,.ws-detail__article iframe{margin:24px 0}
  .ws-detail__gallery h2{margin-bottom:20px;font-size:14px}.ws-detail__gallery .col4 ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ws-detail__gallery .col4 ul li img{aspect-ratio:4/3}.ws-detail__other{left:50%;width:100vw;margin:64px 0 0 -50vw;padding:56px 16px}.ws-detail__other .eyebrow{margin-bottom:32px}.ws-detail__other .works-grid__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 12px}.ws-detail__other .works-grid__item:nth-child(3){display:none}
  .ws-detail__prevnext{max-width:none;padding:32px 16px 72px;grid-template-columns:1fr 1fr;gap:24px;font-size:11px}.ws-detail__prevnext .back{grid-column:1/-1;grid-row:2;text-align:center}.ws-detail__prevnext .next{text-align:right}.works-image-modal{width:calc(100vw - 32px);max-height:calc(100vh - 32px)}.works-image-modal__stage{grid-template-columns:24px minmax(0,1fr) 24px;gap:4px}.works-image-modal__image{aspect-ratio:auto;max-height:70vh}.works-image-modal__close{top:-32px;right:0}.works-image-modal__thumbs{justify-content:flex-start;margin-top:16px;padding-bottom:4px}.works-image-modal__thumbs button{flex-basis:56px;width:56px;height:42px}
}

/* News / Staff Blog: Figma SP 375, after all legacy theme rules. */
@media screen and (max-width:1023px){
  #page .news-archive .p-head,#page .blog-archive .p-head{padding:0 0 32px;box-sizing:border-box;justify-content:flex-end;gap:8px}
  #page .news-archive .p-head__eyebrow,#page .blog-archive .p-head__eyebrow{font-size:16px;line-height:1.5}
  #page .news-archive .p-head__ttl,#page .blog-archive .p-head__ttl{font-size:24px;line-height:1.5}

  #page .news-archive .news-list{width:343px;max-width:none;margin:0 auto;padding:32px 0 72px}
  #page .news-archive .news-list__item{width:auto;min-width:0;margin:0;padding:0;border-right:0;border-left:0}
  #page .news-archive .news-list__item>a{display:grid;grid-template-columns:72px minmax(0,180px) 24px;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;width:100%;height:100px;padding:14px 16px;box-sizing:border-box}
  #page .news-archive .news-list__thumb{grid-column:1;grid-row:1/3;width:72px;height:72px}
  #page .news-archive .news-list__date{grid-column:2;grid-row:1;width:auto;font-size:15px;line-height:1.5}
  #page .news-archive .news-list__ttl{grid-column:2;grid-row:2;display:-webkit-box;height:46px;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;line-height:1.6}
  #page .news-archive .news-list__arrow{grid-column:3;grid-row:1/3;width:24px;height:24px}

  #page .blog-archive .blog-grid{width:343px;max-width:none;margin:0 auto;padding:40px 0 72px}
  #page .blog-archive .blog-grid__list{grid-template-columns:repeat(2,160px);gap:40px 23px}
  #page .blog-archive .blog-grid .blog-grid__list>.blog-grid__item{width:160px;min-width:0;margin:0;padding:0;border:0}
  #page .blog-archive .blog-grid__thumb{width:160px;height:160px;margin:0 0 12px;aspect-ratio:1}
  #page .blog-archive .blog-grid__meta{gap:12px}
  #page .blog-archive .blog-grid__date{margin:0;padding-bottom:12px;font-size:14px;line-height:1.6}
  #page .blog-archive .blog-grid .blog-grid__ttl{margin:0;font-size:14px;line-height:1.6;font-weight:400;text-align:left;background:transparent;color:#574d43;overflow-wrap:anywhere}
  #page .blog-archive .p-head__eyebrow{display:block;position:static;width:auto;height:auto;margin:0;padding:0;font-size:16px;line-height:1.5;visibility:visible;opacity:1}

  .blog-staff-float{top:auto;right:16px;bottom:66px;width:144px;height:84px;padding:16px 16px 16px 12px}

  #page .news-archive .p-pagenavi,#page .blog-archive .p-pagenavi{margin-top:48px}
  #page .news-archive .p-pagenavi .wp-pagenavi,#page .blog-archive .p-pagenavi .wp-pagenavi{display:inline-flex;gap:16px}
  #page .news-archive .p-pagenavi .wp-pagenavi a,#page .news-archive .p-pagenavi .wp-pagenavi span,#page .blog-archive .p-pagenavi .wp-pagenavi a,#page .blog-archive .p-pagenavi .wp-pagenavi span{min-width:24px;margin:0;padding:0 0 4px;border:0;background:transparent;box-shadow:none;font-size:24px;line-height:1.5}
  #page .news-archive .p-pagenavi .wp-pagenavi .extend,#page .blog-archive .p-pagenavi .wp-pagenavi .extend{font-size:16px;color:#999}
  #page .news-archive .p-pagenavi .wp-pagenavi .pages,#page .news-archive .p-pagenavi .wp-pagenavi .first,#page .news-archive .p-pagenavi .wp-pagenavi .last,#page .blog-archive .p-pagenavi .wp-pagenavi .pages,#page .blog-archive .p-pagenavi .wp-pagenavi .first,#page .blog-archive .p-pagenavi .wp-pagenavi .last{display:none}

  #page .news-single .ws-detail--narrow,#page .blog-single .ws-detail--narrow{width:343px;max-width:none;margin:0 auto;padding:32px 0 0}
  #page .news-single .ws-detail__bread,#page .blog-single .ws-detail__bread{left:50%;width:100vw;height:32px;margin:-32px 0 32px -50vw;padding:3px 16px;box-sizing:border-box;background:#ece6dd;font-size:14px;line-height:1.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #page .news-single .ws-detail__head,#page .blog-single .ws-detail__head{margin:0 0 32px;padding:0;border:0}
  #page .news-single .ws-detail__area,#page .blog-single .ws-detail__area{margin:0 0 8px;font-size:16px;line-height:1.5}
  #page .news-single .ws-detail__ttl,#page .blog-single .ws-detail__ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:1.44px;overflow-wrap:anywhere}
  #page .news-single .ws-detail__article,#page .blog-single .ws-detail__article{margin:0;font-size:14px;line-height:1.8;letter-spacing:1.4px;overflow-wrap:anywhere}
  #page .news-single .ws-detail__article img,#page .blog-single .ws-detail__article img{max-width:100%;height:auto;margin:24px 0}
  #page .news-single .ws-detail__article iframe,#page .blog-single .ws-detail__article iframe{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:343/274;margin:24px 0}
  #page .news-single .ws-detail__prevnext,#page .blog-single .ws-detail__prevnext{max-width:343px;margin:0 auto;padding:56px 0 72px;grid-template-columns:1fr auto 1fr;gap:24px;font-size:14px;line-height:1.8;letter-spacing:1.4px}
  #page .news-single .ws-detail__prevnext .back,#page .blog-single .ws-detail__prevnext .back{grid-column:2;grid-row:1;text-align:center}
  #page .news-single .ws-detail__prevnext .prev,#page .news-single .ws-detail__prevnext .next,#page .blog-single .ws-detail__prevnext .prev,#page .blog-single .ws-detail__prevnext .next{float:none}
  #page .news-single .ws-detail__prevnext .back,#page .blog-single .ws-detail__prevnext .back{position:static;top:auto;left:auto}
  #page .news-single .ws-detail__prevnext span,#page .blog-single .ws-detail__prevnext span{padding:0;background:transparent;color:#574d43!important}
  #page .news-single .ws-detail__prevnext a,#page .blog-single .ws-detail__prevnext a{color:#574d43!important}
}

/* TOP SP lower-half final cascade guard (Figma node 566:2086). */
@media screen and (max-width:1023px){
	body.site-base .idx-event__inner{padding:0}
	body.site-base .idx-event__consult{padding:40px 20px;display: none;}
	body.site-base .idx-event__consultgrid{gap:24px}
	body.site-base .idx-build__link{grid-template-columns:112px minmax(0,1fr) 24px;gap:0;height:80px;min-height:80px;padding:0 16px 0 0}
	body.site-base .idx-build__link .thumb{width:70px;height:60px}
	body.site-base .idx-info__col{display:flex;flex-direction:column;align-items:center;gap:24px}
	body.site-base .idx-sechead{display:contents}
	body.site-base .idx-sechead__text{order:1}
	body.site-base .idx-news__list,
	body.site-base .idx-build__list{order:2;width:100%}
	body.site-base .idx-sechead .more{order:3}
	body.site-base .idx-about{padding:56px 0 160vw;}
	body.site-base .idx-about__card{margin:-55px auto 0;padding:56px 0}
	body.site-base .idx-media{margin:0 auto 32px}
	body.site-base .idx-media-in{gap:40px}
}

/* ===================================================================
	SP shared UI finish: header / drawer / page navigation / footer
	Shared components only. Page-specific layouts keep their own rules.
==================================================================== */
@media screen and (max-width:1023px){
	/* Common SP header */
	body.site-base{max-width:100%;padding-bottom:56px;overflow-x:hidden}
	.opus-header__inner,
	body.site-base .opus-header--overlay .opus-header__inner{box-sizing:border-box;min-height:103px;padding:10px 88px 16px 10px}
	.opus-header__logo,
	body.site-base .opus-header--overlay .opus-header__logo{width:126px;max-width:100%}
	.opus-header__tel{display:none!important}
	.opus-header__toggle,
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay{top:31px;right:16px;width:56px;height:40px}
	.opus-header__toggle span:nth-child(1),
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay span:nth-child(1){top:8px;background: #000;}
	.opus-header__toggle span:nth-child(2),
	body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay span:nth-child(2){top:22px;background: #000;}
	.opus-header__toggle.is-open span:nth-child(1){top:15px}
	.opus-header__toggle.is-open span:nth-child(2){top:15px!important;} /* 開いた時は2本とも中央（15px）で交差させる。8px だと×が右に偏ってはみ出す */

	/* SP drawer: retain the existing accordion and make its hierarchy explicit. */
	.opus-drawer__panel{box-sizing:border-box;width:min(100%,480px);max-width:none;padding:0;overflow-x:hidden;-webkit-overflow-scrolling:touch}
	.opus-drawer__close{display:none}
	.opus-drawer__content{box-sizing:border-box;width:100%;min-height:100%;padding:88px 16px calc(40px + env(safe-area-inset-bottom))}
	.opus-drawer__nav{display:block;width:100%;margin:0;padding:0;justify-content:normal}
	.opus-drawer__nav>ul{display:block;width:100%;margin:0;padding:0;gap:0}
	.opus-drawer__nav>ul>li{position:relative;width:100%;margin:0;border-bottom:1px solid rgba(87,77,67,.18)}
	.opus-drawer__nav>ul>li:first-child{border-top:1px solid rgba(87,77,67,.18)}
	.opus-drawer__nav>ul>li>a,
	.opus-drawer__nav>ul>li>.opus-drawer__parent-label{display:flex;box-sizing:border-box;width:100%;min-height:52px;margin:0;padding:14px 52px 14px 8px;align-items:center;color:#383333;font-size:15px;font-weight:500;line-height:1.6;letter-spacing:.9px;text-decoration:none;word-break:normal;overflow-wrap:anywhere}
	.opus-drawer__nav>ul>li:not(.has-children)>a{padding-right:8px}
	.opus-drawer__expand{top:0;right:0;width:52px;height:52px;padding:0;border-left:1px solid rgba(87,77,67,.12)}
	.opus-drawer__expand::before{width:14px;height:1px;transition:transform .35s ease,opacity .35s ease}
	.opus-drawer__expand::after{width:1px;height:14px;transition:transform .35s ease,opacity .35s ease}
	.opus-drawer__sub{display:block;box-sizing:border-box;width:100%;max-height:0;margin:0;padding:4px 8px 12px 24px;overflow:hidden;border-left:0;background:rgba(236,230,221,.42);opacity:0;visibility:hidden;pointer-events:none;transition:max-height .35s ease,opacity .3s ease,visibility 0s linear .35s;will-change:max-height,opacity}
	.opus-drawer__sub.is-accordion-open{max-height:var(--opus-sub-height,100vh);opacity:1;visibility:visible;pointer-events:auto;transition:max-height .35s ease,opacity .3s ease,visibility 0s}
	.opus-drawer__expand[aria-expanded="true"]+.opus-drawer__sub:not([hidden]){max-height:var(--opus-sub-height,100vh);opacity:1;visibility:visible;pointer-events:auto}
	.opus-drawer__sub[hidden]{display:none}
	.opus-drawer__sub li{width:100%;margin:0;padding:0;border:0}
	.opus-drawer__sub li+li{margin:0}
	.opus-drawer__sub li a{display:flex;box-sizing:border-box;width:100%;min-height:44px;padding:10px 8px 10px 16px;align-items:center;border-bottom:1px solid rgba(87,77,67,.1);color:#5e5a56;font-size:13px;line-height:1.7;letter-spacing:.78px;text-decoration:none;word-break:normal;overflow-wrap:anywhere}
	.opus-drawer__sub li:last-child a{border-bottom:0}
	.opus-drawer__sub li a::before{content:"";width:8px;height:1px;margin-right:10px;flex:0 0 auto;background:#9a8f84}
	.opus-drawer__cta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 0}
	.opus-drawer__btn{box-sizing:border-box;min-width:0;min-height:52px;padding:12px 8px;border-radius:0;font-size:13px;line-height:1.5;letter-spacing:.78px;white-space:nowrap}
	.opus-drawer__btn svg{width:20px;height:20px}
	.opus-drawer__brand{margin-top:28px;padding-top:20px;font-size:12px;line-height:1.8;letter-spacing:.72px}
	.opus-drawer__address,.opus-drawer__hours{margin:0 0 8px;line-height:1.8;letter-spacing:.72px}
	.opus-drawer__sns{gap:8px;margin-top:16px}
	.opus-drawer__sns a{display:flex;width:44px;height:44px;align-items:center;justify-content:center}
	.opus-drawer__sns svg{width:24px;height:24px}

	/* Fixed bottom CTA: equal tap targets and safe-area support. */
	.opus-sidetab{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}
	.opus-sidetab__item{box-sizing:border-box;min-width:0;min-height:56px;padding:10px 12px;gap:10px}
	.opus-sidetab__label{font-size:13px !important;line-height:1.5;letter-spacing:1.3px}
	.opus-sidetab__icon{display:flex;width:24px;height:24px;align-items:center;justify-content:center}
	.is-menu-open .opus-sidetab{visibility:hidden;opacity:0;pointer-events:none}

	/* Shared lower-page heads. More specific Figma page rules continue to win. */
	#page .p-head{box-sizing:border-box;height:146px;padding:0 16px 32px;justify-content:flex-end;gap:8px;text-align:center}
	#page .works-archive .p-head{height:160px}
	#page .p-head__eyebrow{margin:0;font-size:16px;line-height:1.5;letter-spacing:.96px}
	#page .p-head__ttl{margin:0;font-size:24px;line-height:1.5;letter-spacing:1.44px;overflow-wrap:anywhere}
	#page .pagehead{box-sizing:border-box;min-height:160px;margin:0;padding:32px 16px;border-top:0;display:flex;align-items:center;justify-content:center}
	#page .pagehead h1,
	#page .pagehead h2{margin:0;padding:0!important;font-size:20px;line-height:1.6;letter-spacing:1.2px}
	#page .pagehead h1 span,
	#page .pagehead h2 span{display:inline-block;margin-bottom:8px;font-size:13px;line-height:1.5;letter-spacing:.78px}

	/* Breadcrumbs: shared one-line rail without forcing page-specific markup changes. */
	#page .bread{box-sizing:border-box;width:100%;min-height:32px;margin:0;padding:0 16px;background:#ece6dd}
	#page .bread .inner,
	#page .bread .breadcrumbs{box-sizing:border-box;width:100%;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}
	#page .breadcrumbs{font-size:10px;line-height:32px;letter-spacing:.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	#page .breadcrumbs a{text-decoration:none}

	/* Shared pagination and previous/back/next navigation. */
	#page .pagenavi,
	#page .p-pagenavi,
	#page .archive-pagenavi{box-sizing:border-box;width:100%;margin:48px auto 0;padding:0;text-align:center}
	#page .archive-pagenavi{display:flex;align-items:center;justify-content:center}
	#page .wp-pagenavi,
	#page .archive-pagenavi .nav-links{display:inline-flex!important;max-width:100%;padding:0!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px}
	#page .wp-pagenavi a,
	#page .wp-pagenavi span:not(.pages),
	#page .archive-pagenavi .page-numbers{display:inline-flex!important;box-sizing:border-box;min-width:36px!important;min-height:44px!important;margin:0!important;padding:8px 4px 6px!important;align-items:center;justify-content:center;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#574d43!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important;text-decoration:none}
	#page .wp-pagenavi .current,
	#page .archive-pagenavi .page-numbers.current{border-bottom:1px solid #574d43!important}
	#page .wp-pagenavi .pages,
	#page .wp-pagenavi .first,
	#page .wp-pagenavi .last{display:none!important}
	#page .prevnext,
	#page .ws-detail__prevnext,
	#page .house-column-prevnext{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin-right:auto;margin-left:auto;align-items:center;color:#574d43;font-size:13px;line-height:1.6;letter-spacing:.78px}
	#page .prevnext a,
	#page .ws-detail__prevnext a,
	#page .house-column-prevnext a{display:inline-flex;min-height:44px;align-items:center;color:#574d43!important;text-decoration:none}
	#page .prevnext .next a,
	#page .ws-detail__prevnext .next a{justify-content:flex-end}
	#page .prevnext .back a,
	#page .ws-detail__prevnext .back a,
	#page .house-column-prevnext .back{justify-content:center;border-bottom:1px solid #574d43}

	/* Shared arrow-link/button tap area; page-specific colors and widths are retained. */
	#page .default-btn a,
	#page .btn2 a,
	#page .btnlink a{box-sizing:border-box;min-height:52px;padding-top:12px;padding-bottom:12px;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	#page .btn__arrow,
	#page .more-arrow{display:inline-flex;width:33px;height:8px;align-items:center;justify-content:flex-end;flex:0 0 auto}

	/* Shared SP footer. */
	.site-footer .ftr-inner{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin-right:auto;margin-left:auto;padding:0}
	.site-footer .ftr-cta{margin:0 0 24px;padding:72px 0}
	.site-footer .ftr-cta .ftr-inner{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
	.site-footer .ftr-cta__top{display:flex;flex-direction:column;align-items:center;gap:40px;width:100%}
	.site-footer .ftr-cta__left{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}
	.site-footer h2.ftr-cta__title{gap:8px;margin:0;font-size:32px;line-height:1.5;letter-spacing:0}
	.site-footer h2.ftr-cta__title span.accent-font{display:block;margin:0;font-size:16px;line-height:1.5;letter-spacing:.96px}
	.site-footer p.ftr-cta__desc{margin:0;font-size:14px;line-height:1.6;letter-spacing:1.4px}
	.site-footer .ftr-cta__right{display:flex;flex-direction:column;align-items:center;gap:6px;width:268px;margin:0;}
	/* 電話番号が「Te/l.」「0120-181-/661」と折り返さないよう1行に収める */
	.site-footer p.ftr-cta__tel{margin:0;font-size:20px;line-height:1.6;letter-spacing:1.2px;color: #fff;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:6px}
	.site-footer .ftr-cta__tel .num{font-size:28px;line-height:1.6;letter-spacing:1.6px;white-space:nowrap}
	.site-footer p.ftr-cta__time{margin:0;font-size:16px;line-height:1.6;letter-spacing:1.6px;color: #fff;}
	.site-footer .ftr-cta__btns{display:flex;flex-direction:column;gap:24px;align-items:center;width:200px}
	.site-footer a.ftr-btn{box-sizing:border-box;width:200px;min-height:0;padding:16px 12px;gap:12px;font-size:14px;line-height:1.6;letter-spacing:1.4px;color: #fff;}
	.site-footer .ftr-btn__main{gap:8px}
	.site-footer .ftr-company{padding:56px 0 0}
	.site-footer .ftr-company__wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px}
	/* SP: ロゴ・住所・SNS・バナー類を中央揃え */
	.site-footer .ftr-company-l,.site-footer .ftr-company-r{width:100%;text-align:center}
	.site-footer .ftr-logo img{display:inline-block}
	.site-footer .ftr-sns{justify-content:center}
	.site-footer .ftr-sns__list{justify-content:center}
	.site-footer .ftr-badge{text-align:center}
	.site-footer .ftr-badge img,.site-footer .chilchinbito_sp_footer img{display:inline-block;margin:0 auto}
	.site-footer .chilchinbito_sp_footer{text-align:center}
	.site-footer .ftr-logo{margin:0 0 16px}
	.site-footer .ftr-logo img{width:186px;height:auto}
	.site-footer .ftr-address p{margin:0 0 16px;font-size:13px;line-height:1.8;letter-spacing:.78px}
	.site-footer .ftr-sns{gap:16px;margin:0 0 24px;align-items:center}
	.site-footer .ftr-sns__label{font-size:16px;line-height:1.5;letter-spacing:.96px}
	.site-footer .ftr-sns__list{gap:8px}
	.site-footer .ftr-sns__list a{display:flex;width:40px;height:40px;align-items:center;justify-content:center}
	
	
	
.ftr-company-r{
  text-align:center;
}
.ftr-badge img{ 
  width: 280px; /* 旧 223px */
  height: 93px;
  aspect-ratio: 223/74;
}
	.chilchinbito_sp_footer{
		margin-top: 25px;
	}
	.chilchinbito_sp_footer	img{
width: 137px;
height: 97px;
		
	}
	
	.site-footer .ftr-banners{margin:0;padding:40px 0 56px}
	.site-footer .ftr-banners__wrap{grid-template-columns:1fr;gap:16px}
	.site-footer #footer-copy{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
	.site-footer #footer-copy p{font-size:10px;line-height:1.6;letter-spacing:1px}
}

@media screen and (max-width:1023px) and (prefers-reduced-motion:reduce){
	.opus-drawer__sub,
	.opus-drawer__expand::before,
	.opus-drawer__expand::after{transition-duration:.01ms!important}
}

/* House Column single: final visual polish (SP) */
@media screen and (max-width:1023px){
  #page.house-column-single .house-column-article{padding-top:40px;padding-bottom:40px}
  #page.house-column-single .house-column-article__header{margin-bottom:40px}
  #page.house-column-single .house-column-article__meta{margin-bottom:12px}
  #page.house-column-single .house-column-article__content #ez-toc-container{order:2;width:100%;margin-bottom:40px}
  #page.house-column-single .house-column-article__thumb{order:3;margin-bottom:24px}
  #page.house-column-single .house-column-article__voicy{order:4;margin-bottom:40px}
  #page.house-column-single .house-column-article__content>*:not(#ez-toc-container){order:5}
  #page.house-column-single div#ez-toc-container{padding:24px 20px}
  #page.house-column-single div#ez-toc-container .ez-toc-title{margin-bottom:18px}
  #page.house-column-single div#ez-toc-container nav li,#page.house-column-single div#ez-toc-container nav li a{line-height:1.8}
  #page.house-column-single .house-column-article__content p{margin-bottom:24px;line-height:1.9}
  #page.house-column-single .house-column-article__content u,#page.house-column-single .house-column-article__content ins{text-decoration:underline;text-underline-offset:3px}
  #page.house-column-single .house-column-article__content h2{margin-top:40px;margin-bottom:20px;padding:12px 10px}
  #page.house-column-single .house-column-article__content h3{margin-top:36px;margin-bottom:18px}
  #page.house-column-single .house-column-article__content h4{margin-top:32px;margin-bottom:14px}
  #page.house-column-single .house-column-article__content figure,#page.house-column-single .house-column-article__content img{margin-top:24px;margin-bottom:24px}
  #page.house-column-single .house-column-article__content figure img{margin:0 auto}
  #page.house-column-single .house-column-article__content ul,#page.house-column-single .house-column-article__content ol{margin-bottom:24px}
  #page.house-column-single .house-column-article__content .wp-block-buttons{display:flex;width:100%;margin:24px auto;justify-content:center}
  #page.house-column-single .house-column-article__content .wp-block-button{width:100%}
  #page.house-column-single .house-column-article__content .wp-block-button__link{display:flex;box-sizing:border-box;width:300px;max-width:100%;min-height:56px;margin:0 auto;padding:10px 16px;align-items:center;justify-content:center;border-radius:4px;background:#b2191d;color:#fff;font-size:14px;line-height:1.8;letter-spacing:1.4px;text-align:center;text-decoration:none}
  #page.house-column-single .house-column-related{margin-top:48px}
  #page.house-column-single .house-column-related>h2{margin-bottom:20px;padding:12px 10px}
  #page.house-column-single .house-column-related__list{gap:20px}
  #page.house-column-single .house-column-related__item{padding:18px}
  #page.house-column-single .house-column-related__main{gap:18px}
  #page.house-column-single .house-column-related .house-column-card__meta{margin-bottom:10px;gap:10px;font-size:13px}
  #page.house-column-single .house-column-related__body h3{font-size:14px;line-height:1.8}
  #page.house-column-single .house-column-related__actions{margin-top:18px;gap:10px}
  #page.house-column-single .house-column-related__button{height:44px;padding:0 10px;font-size:12px}
  body.site-base #page.house-column-single .house-column-prevnext{margin-top:48px;padding-bottom:80px;font-size:14px;line-height:1.8}
}

/* ===================================================================
　Reason：オーパススタイルを選ぶ理由（SP）
==================================================================== */
@media screen and (max-width:1023px){
  .idx-reason{display:block;margin:56px 0;padding:0}
  .idx-reason__photo--left,.idx-reason__photo--right{width:100%;aspect-ratio:4/3;margin:0}
  .idx-reason__panel{margin:0;padding:48px 16px 56px}
  .idx-reason__body{max-width:none}
  /* 英字・見出しは Think About / Concept の SP 指定と同じ値 */
  .idx-reason .eyebrow{margin:0 0 16px;font-size:14px;line-height:1.5;letter-spacing:.84px}
  .idx-reason .ttl{margin:0 0 24px;font-size:24px;line-height:1.5;letter-spacing:.08em}
  body.site-base .idx-reason__link{margin-left:auto;width:fit-content;min-width:200px;max-width:100%;gap:24px;white-space:nowrap} /* Think About / Concept と同じ右寄せ。文言が長いため幅は内容に合わせる（body.site-base の width:200px より優先） */
  .idx-reason .lead{margin-bottom:28px}
}

/* Think About 末尾の中央揃えブロック（建てる理由への導線）SP。上の行との間隔・幅は行と同値 */
@media screen and (max-width:1023px){
  body.site-base .idx-thinkabout__text.idx-thinkabout__closing{width:343px;max-width:calc(100% - 32px);margin:56px auto 0;padding:28px 12px;gap:24px}
  body.site-base .idx-thinkabout__closing .idx-reason__link{margin-left:auto;margin-right:auto}
  .idx-br-sp{display:inline} /* 見出し2行目が 24px で枠（343px）ぎりぎりのため、SP は3行に分ける */
}

/* ===================================================================
　帯（p-head）SP: 家づくりへの想い／オーパススタイルを選ぶ理由
　テーマ共通の h1 上下 padding（60px/50px）で見出しが帯からはみ出し、
　英字（eyebrow）が上に押し出されてヘッダーに隠れていたのを解消
==================================================================== */
@media screen and (max-width:1023px){
  #page .thinkabout .p-head,
  #page .home-building .p-head,
  #page .p-head--rw{height:auto;min-height:0;padding:32px 16px 32px;gap:8px;justify-content:flex-end;box-sizing:border-box}
  /* sp-page.css の body.site-base #page .p-head__ttl{24px} より優先させるため body.site-base を付ける */
  body.site-base #page .thinkabout .p-head__eyebrow,
  body.site-base #page .home-building .p-head__eyebrow,
  body.site-base #page .p-head--rw .p-head__eyebrow{margin:0;font-size:14px;line-height:1.5;letter-spacing:.84px}
  body.site-base #page .thinkabout .p-head__ttl,
  body.site-base #page .home-building .p-head__ttl,
  body.site-base #page .p-head--rw .p-head__ttl{margin:0;padding:0;font-size:20px;line-height:1.5;letter-spacing:.08em}
}

/* トップ 見学会・相談会：2列側の slick（SP 1枚表示） */
@media screen and (max-width:1023px){
  body.site-base .idx-event__grid--slider{display:block}
  body.site-base .idx-event__grid--slider .slick-list{margin:0}
  body.site-base .idx-event__grid--slider .slick-slide{margin:0}
  body.site-base .idx-event__grid--slider .slick-dots{position:static;margin-top:16px}
}

/* 右側固定タブの SNS アイコンは SP（下部固定バー）では非表示 */
@media screen and (max-width:1023px){
  body.site-base .opus-sidetab__sns{display:none}
}

/* ドロワー：Voicy バナーは SNS の下に配置 */
@media screen and (max-width:1023px){
  .opus-drawer__banner{margin:20px 0 0}
  .opus-drawer__banner img{display:block;width:280px;max-width:100%;height:auto}
}

/* フッター：チルチンびと＋Voicy を横並び（343px に収まる高さ 73px に統一） */
@media screen and (max-width:1023px){
  .site-footer .ftr-badge{display:flex;justify-content:center;align-items:center;gap:12px}
  .site-footer .ftr-badge img{margin:0}
  .site-footer .ftr-badge img.ftr-badge__voicy{width:220px;height:73px}
  .site-footer .ftr-badge img.ftr-badge__chilchin{width:auto;height:73px;aspect-ratio:274/194}
}

/* Voicy 一覧：カテゴリー・タグの絞り込み（SP） */
@media screen and (max-width:1023px){
  #page .voicy-archive .voicy-filter{display:flex;flex-direction:column;gap:8px;margin:0 0 20px;color:#574d43;font-size:11px;line-height:1.6}
  #page .voicy-archive .voicy-filter__field{display:flex;flex-direction:column;gap:4px}
  #page .voicy-archive .voicy-filter select,
  #page .voicy-archive .voicy-filter input{box-sizing:border-box;width:100%;height:40px;padding:0 10px;-webkit-appearance:none;appearance:none;border:1px solid #d9d9d9;border-radius:0;background:#fff;color:#574d43;font:inherit;font-size:13px}
  #page .voicy-archive .voicy-filter select{background:#fff url('../images/common/select-chevron-down.svg') calc(100% - 10px) center/18px 18px no-repeat;padding-right:36px}
  #page .voicy-archive .voicy-filter button{align-self:flex-end;width:64px;height:40px;padding:0;border:0;border-radius:0;background:#7f7060;color:#fff;font:inherit;font-size:12px}
  #page .voicy-archive .voicy-tags{margin:0 0 20px;color:#574d43;font-size:12px;line-height:1.6}
  #page .voicy-archive .voicy-tags summary{color:#7f7060;text-decoration:underline;text-underline-offset:3px}
  #page .voicy-archive .voicy-tags__list{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;margin:12px 0 0;padding:0 0 4px;overflow:auto;list-style:none}
  #page .voicy-archive .voicy-tags__list a{display:inline-block;padding:4px 10px;border:1px solid #d9d9d9;border-radius:14px;color:#574d43;font-size:11px;line-height:1.6;text-decoration:none}
  #page .voicy-archive .voicy-tags__list a[aria-current="true"]{border-color:#b2191d;color:#b2191d}
  #page .voicy-archive .voicy-list__result{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0 0 8px;color:#574d43;font-size:11px;line-height:1.6}
  #page .voicy-archive .voicy-list__result p{margin:0}
  #page .voicy-archive .voicy-list__result strong{margin:0 2px;font-size:16px;font-weight:400}
  #page .voicy-archive .voicy-list__reset{color:#b2191d;text-decoration:underline;text-underline-offset:3px}
  #page .voicy-archive .voicy-list__main{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;min-width:0}
  #page .voicy-archive .voicy-list__ttl{display:block}
  #page .voicy-archive .voicy-list__pinned{display:inline-block;margin-right:6px;padding:0 6px;border:1px solid #b2191d;border-radius:2px;color:#b2191d;font-style:normal;font-size:10px;line-height:1.6;vertical-align:middle}
  #page .voicy-archive .voicy-list__topics{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:11px;line-height:1.6}
  #page .voicy-archive .voicy-list__topics a{color:#7f7060;text-decoration:none}
  #page .voicy-archive .voicy-list__topics a.voicy-list__cat{padding:1px 6px;border-radius:2px;background:#ece6dd;color:#574d43}
  #page .voicy-archive .voicy-list__empty{padding:32px 8px;color:#574d43;text-align:center;font-size:12px;line-height:1.9}
}

/* トップ Think About 末尾のバナーは SP では縦積み */
@media screen and (max-width:1023px){
  body.site-base .idx-thinkabout__banners{grid-template-columns:1fr;gap:16px;width:300px;max-width:calc(100% - 32px);margin:40px auto 0} /* 旧 343px */
}

/* Think About 末尾バナー：SP も上下の余白を 56px に揃える */
@media screen and (max-width:1023px){
  body.site-base .idx-thinkabout__banners{margin-top:56px}
  body.site-base .idx-thinkabout{padding-bottom:56px}
}

/* Think About 末尾バナーの見出し（SP） */
@media screen and (max-width:1023px){
  body.site-base .idx-thinkabout__banners-ttl{width:343px;max-width:calc(100% - 32px);margin:56px auto 0;font-size:18px;line-height:1.5;letter-spacing:.08em}
  body.site-base .idx-thinkabout__banners{margin-top:24px} /* 旧 16px */
}

/* SP ドロワー：「0」のこと 配下（入れ子）。中項目は＋付き開閉、末端リンクは従来の子メニュー表示 */
@media screen and (max-width:1023px){
  .opus-drawer__sub--group{padding:0 0 0 12px;background:transparent}
  .opus-drawer__sub--group>li{position:relative;border-bottom:1px solid rgba(87,77,67,.1)}
  .opus-drawer__sub--group>li:last-child{border-bottom:0}
  .opus-drawer__sub--group>li>a,
  .opus-drawer__sub--group>li>.opus-drawer__parent-label{display:flex;box-sizing:border-box;width:100%;min-height:48px;margin:0;padding:12px 52px 12px 8px;align-items:center;border-bottom:0;color:#383333;font-size:14px;font-weight:500;line-height:1.6;letter-spacing:.84px;text-decoration:none}
  .opus-drawer__sub--group>li>a::before{display:none}
  .opus-drawer__sub--group>li:not(.has-children)>a{padding-right:8px}
  .opus-drawer__sub--group .opus-drawer__expand{height:48px}
  .opus-drawer__sub--group .opus-drawer__sub{margin:0} /* margin は開閉の高さ計算（scrollHeight）に含まれないため 0 にする */
}

/* ===== トップページ SP 調整（2026-09-25 指摘分） ===== */
@media screen and (max-width:1023px){
  /* ヒーローの文字を少し小さく（実機 #mobile は 32px、PC ブラウザ縮小時は 30px → 27px） */
  body.site-base #splash_logo .catch,
  body.site-base #splash_logo .catch span,
  body.site-base #mobile.slide .catch{font-size:27px;line-height:1.4}
  /* 明朝見出しの「、。？」も明朝にする（約物は明朝版の YakuHanMP で半角詰め） */
  body.site-base section[class^="idx-"] .ttl,
  body.site-base .idx-promo__title,
  body.site-base .idx-about__card h2,
  body.site-base .site-footer h2.ftr-cta__title{font-family:YakuHanMP,"ShipporiMincho-Regular","NotoSerifJP-Regular",serif}
  /* イベント：SP は回転させず開催中を全件縦に表示（slick は index.php 側で PC のみ初期化） */
  body.site-base .idx-event__grid--slider{display:grid;overflow:visible}
  /* イベント → 施工事例の余白を詰める（72+72 → 24+48） */
  body.site-base .idx-event{padding-bottom:24px}
  body.site-base .idx-works{padding-top:48px}
  /* 主要リンク（お客様の声）→ お知らせの余白を詰める（104 → 56） */
  body.site-base .idx-info{padding-top:56px}
  /* About us の見出しを他セクションの見出しと同じ 14px / 24px に */
  body.site-base .idx-about__card h2{font-size:24px;line-height:1.5;letter-spacing:.08em}
  body.site-base .idx-about__card h2 span{margin-bottom:16px;font-size:14px;line-height:1.5;letter-spacing:.84px}
  /* About us → YouTube/Voicy の余白（カード下 108px → 約60px）。カードが写真からはみ出す構造のため下パディングで確保 */
  body.site-base .idx-about{padding-bottom:699px}
  /* 「まずはvoicyで…」と「家づくりの最新情報をSNSでも発信」を同じ書体・サイズに（明朝 16px） */
  body.site-base .idx-thinkabout__banners-ttl,
  body.site-base .idx-media>p{font-family:YakuHanMP,"ShipporiMincho-Regular","NotoSerifJP-Regular",serif;font-size:16px;line-height:1.5;letter-spacing:.08em}
  /* フッター CTA の「お問い合わせ」と電話番号を少し小さく（32/20/28 → 26/16/24） */
  body.site-base .site-footer h2.ftr-cta__title{font-size:26px}
  body.site-base .site-footer p.ftr-cta__tel{font-size:16px}
  body.site-base .site-footer .ftr-cta__tel .num{font-size:24px}
}

/* ===== 下層ページ SP：ロゴ付きヘッダーを細く（121px → 約83px。ロゴ 126→112px、上下 10px） ===== */
@media screen and (max-width:1023px){
  body.site-base .opus-header:not(.opus-header--overlay){padding-top:0;padding-bottom:0}
  body.site-base .opus-header:not(.opus-header--overlay) .opus-header__inner{min-height:0;padding:10px 88px 10px 12px}
  body.site-base .opus-header:not(.opus-header--overlay) .opus-header__logo{width:112px}
  body.site-base .opus-header:not(.opus-header--overlay) ~ .opus-header__toggle:not(.opus-header__toggle--overlay){top:22px}
}

/* ===== 時間に強い家 SP：ヒーロー下の余白（45→20px）、「0のことを詳しく見る」前後の余白（32/65 → 20/40px） ===== */
@media screen and (max-width:760px){
  #page .rw .rw-six--center{padding-top:20px}
  #page .rw .rw__textlink{margin-top:20px}
  #page .rw .rw-band{padding-bottom:40px}
}


/* ===== 見学会一覧 SP：帯を他ページ（thinkabout 等）と同じ 32px 16px / 英字 14px / 見出し 20px に、冒頭の赤字注記は非表示 ===== */
@media screen and (max-width:1023px){
  #page .event-archive .p-head{height:auto;min-height:0;padding:32px 16px;gap:8px;justify-content:flex-end;box-sizing:border-box}
  body.site-base #page .event-archive .p-head__eyebrow{margin:0;font-size:14px;line-height:1.5;letter-spacing:.84px}
  body.site-base #page .event-archive .p-head__ttl{margin:0;padding:0;font-size:20px;line-height:1.5;letter-spacing:.08em}
  body.site-base .event-archive .event-list__notice{display:none}
}

/* ===== SP：横方向のはみ出し対策 =====
   フッターのリンク列が flex の横一列のままで内容幅が 718px になり、iOS Safari で固定配置の×ボタン等が画面外に出ていた。
   2列グリッドに直し、html 側でも横スクロールを抑止する */
@media screen and (max-width:1023px){
  html{overflow-x:hidden}
  body.site-base .ftr-links__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;width:343px;max-width:calc(100% - 32px);margin:0 auto}
  body.site-base .ftr-links__grid-in{min-width:0;width:auto}
}

/* ===== 家づくりコラム個別 SP：タイトルのヘッダーが absolute 配置のまま（PC は 4615 行で static に戻している）で画面上部に隠れていたのを、PC と同じく通常配置に戻す ===== */
@media screen and (max-width:1023px){
  #page.house-column-single .house-column-article__header{position:static;inset:auto;z-index:auto;width:auto;height:auto}
  #page.house-column-single .house-column-article__header h1{position:static;inset:auto}
  #page.house-column-single .house-column-article__meta{position:static;inset:auto}
}

/* ===== SP：本文内の .btn a（pc.css の固定幅 604px が SP にも効いて画面を突き抜けていた）を画面内に収める ===== */
@media screen and (max-width:1023px){
  body.site-base .btn a{box-sizing:border-box;width:auto;max-width:100%;height:auto;min-height:52px;white-space:normal}
  /* 家づくりコラム個別：記事内の「Voicy◯◯回放送を聴く」ボタンは既存の Voicy ボタン（.btnlink）と同じ 300px 幅に揃える */
  #page.house-column-single .house-column-article__content .btn a{display:flex;width:300px;max-width:100%;min-height:56px;margin:0 auto;padding:10px 16px;align-items:center;justify-content:center;border-radius:4px;font-size:14px;line-height:1.8;letter-spacing:1.4px;text-align:center}
}

/* 会社概要ページ：代表メッセージ（SP） */
@media screen and (max-width:1023px){
  #page.aboutus-page .company-message{padding:40px 16px 0;background:transparent}
  #page.aboutus-page .company-message .thinkabout-message__box{width:343px;max-width:100%;margin:0 auto}
  #page.aboutus-page .company-message .thinkabout-message__text{font-size:14px;line-height:2;letter-spacing:.06em}
  #page.aboutus-page .company-message .thinkabout-message__sign{margin-top:40px;text-align:center} /* 旧 24px */
}

/* 会社概要ページの代表メッセージは SP も全て中央揃え（thinkabout-message の SP 左揃え指定より優先） */
@media screen and (max-width:1023px){
  #page.aboutus-page .company-message .thinkabout-message__box,
  #page.aboutus-page .company-message .thinkabout-message__title,
  #page.aboutus-page .company-message .thinkabout-message__text,
  #page.aboutus-page .company-message .thinkabout-message__sign{text-align:center}
}

/* 会社概要ページ：代表メッセージの見出し（SP は 20px → 22px） */
@media screen and (max-width:1023px){
  #page.aboutus-page .company-message .thinkabout-message__title{margin-bottom:40px;font-size:22px;line-height:1.5;letter-spacing:.08em} /* 見出し下の余白 */
}

/* 代表メッセージページ（SP）：背景を白に、署名の下に余白 */
@media screen and (max-width:1023px){
  #page.message-page{background-color:#fff;background-image:none}
  #page.message-page .company-message{padding-bottom:64px;background:#fff}
}

/* SP トップ：本文 p を PC 基本設定と同じ書式（Zen Kaku Gothic New・行送り1.8・字間.06em）でサイズのみ 14px に */
@media screen and (max-width:1023px){
  body.site-base .idx-thinkabout__text .lead,
  body.site-base .idx-reason .lead,
  body.site-base .idx-event .lead,
  body.site-base .idx-event__fvcard .meta .title,
  body.site-base .idx-event__card .meta .title,
  body.site-base .idx-works__title,
  body.site-base p.idx-promo__lead,
  body.site-base .idx-youtube > p,
  body.site-base .idx-voicy > p{font-family:"ZenKakuGothicNew-Regular",sans-serif;font-size:14px;font-weight:400;line-height:1.8;letter-spacing:.06em}
  body.site-base .idx-thinkabout__text .lead,
  body.site-base .idx-reason .lead,
  body.site-base .idx-event .lead,
  body.site-base .idx-event__fvcard .meta .title,
  body.site-base .idx-event__card .meta .title,
  body.site-base .idx-works__title,
  body.site-base .idx-youtube > p,
  body.site-base .idx-voicy > p{color:#574d43}
}

/* SP：明朝以外の文字（リンク・ラベル・日付・英字見出し・ヘッダー・サイドタブ・フッター）を本文と同じ Zen Kaku Gothic New に。
   :where で優先度 0 にし、明朝を明示している見出しはそのまま残す */
@media screen and (max-width:1023px){
  :where(body.site-base) :where([class*="idx-"], .site-footer, .ftr-cta, .opus-sidetab, .opus-header, .opus-drawer){font-family:"ZenKakuGothicNew-Regular",sans-serif}
  body.site-base [class*="idx-"] .eyebrow,
  body.site-base .idx-promo__eyebrow,
  body.site-base .idx-news__link .date,
  body.site-base .idx-build__link .date,
  body.site-base .idx-about__card h2 .accent-font,
  body.site-base .idx-media .en,
  body.site-base .idx-insta-l .en,
  body.site-base .ftr-cta__title .accent-font,
  body.site-base .ftr-cta__tel,
  body.site-base .ftr-cta__tel .num,
  body.site-base .ftr-sns__label,
  body.site-base .ftr-acc__toggle,
  body.site-base .opus-sidetab__label{font-family:"ZenKakuGothicNew-Regular",sans-serif}
}

/* SP トップ：施工事例カードの地域名を見学会カードの地域名（14px）に合わせる */
@media screen and (max-width:1023px){
  body.site-base .idx-works__meta .idx-works__city{font-size:14px}
}

/* SP 各ページ：本文 p を PC と同じ範囲・同じ書式（Zen Kaku Gothic New・行送り1.8・字間.06em）でサイズのみ 14px に。
   ページ内 CSS や max-width:760px の指定に勝たせるため !important。写真の上（ヒーロー）の文字は対象外 */
@media screen and (max-width:1023px){
  body.site-base .ftr-cta p.ftr-cta__desc,
  body.site-base p.thinkabout-message__text,
  body.site-base .thinkabout-el__lead-inner p,
  body.site-base .thinkabout-el__card p,
  body.site-base .rw p.rw-six__lead,
  body.site-base .rw .rw__copy p,
  body.site-base .rw p.rw-summary__text,
  body.site-base .hb-page p.hb-numbers__lead,
  body.site-base .hb-page p.hb-numbers__desc,
  body.site-base .hb-page p.lead,
  body.site-base .company-recruit p,
  body.site-base .company-sdgs__inner p.lead,
  body.site-base p.works-grid__ttl,
  body.site-base .faq-section__head p,
  body.site-base .faq-answer p,
  body.site-base .faq-answer li,
  body.site-base .opr .opr-lead p,
  body.site-base .ws-detail__article p,
  body.site-base .ws-detail__article li,
  body.site-base .event-detail__article p,
  body.site-base .event-detail__article li,
  body.site-base .report-detail__article p,
  body.site-base .report-detail__article li,
  body.site-base .house-column-article__content p,
  body.site-base .house-column-article__content li,
  body.site-base .staff-detail__hobby p,
  body.site-base .staff-detail__article p,
  body.site-base .request-page__intro p,
  body.site-base .form-shell__intro p.form-shell__intro-sub,
  body.site-base .grandprix-list__head p,
  body.site-base .grandprix-list__body p,
  body.site-base .sdgs-renewal-intro p.sdgs-renewal-intro__lead,
  body.site-base .sdgs-renewal-about p,
  body.site-base .sdgs-renewal-section__heading p,
  body.site-base p.report-grid__lead{font-family:"ZenKakuGothicNew-Regular",sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.8!important;letter-spacing:.06em!important}
  /* 文字色：写真の上は白、フッター上 CTA（赤背景）は現状維持、それ以外は #574d43 */
  body.site-base .rw p.rw-six__lead,
  body.site-base .rw .rw__copy p,
  body.site-base .rw p.rw-summary__text,
  body.site-base .hb-page p.hb-numbers__lead,
  body.site-base .hb-page p.hb-numbers__desc,
  body.site-base .hb-page p.lead,
  body.site-base .opr .opr-lead p{color:#574d43!important}
  body.site-base .hb-page .photo-hero__inner p.lead{color:#fff!important}
}

/* SP 全ページ：明朝以外の文字（リンクボタン・ラベル・日付等）を Zen Kaku Gothic New に。:where で優先度 0 にして明朝の明示指定は残す */
@media screen and (max-width:1023px){
  :where(body.site-base) :where(#page, main, .site-footer, .ftr-cta, .opus-sidetab, .opus-header, .opus-drawer){font-family:"ZenKakuGothicNew-Regular",sans-serif}
  :where(body.site-base) :where(#page, main) :where(button){font-family:"ZenKakuGothicNew-Regular",sans-serif}
}

/* SP 全ページ：書体を個別に指定している英字ラベル・日付・ページ送り等も Zen Kaku Gothic New に（装飾用の大きな数字・記号は除く） */
@media screen and (max-width:1023px){
  body.site-base .p-head__eyebrow,
  body.site-base .ws-detail__eyebrow,
  body.site-base .ws-detail__area,
  body.site-base .wp-pagenavi,
  body.site-base .wp-pagenavi a,
  body.site-base .wp-pagenavi span,
  body.site-base .house-column-article__terms span,
  body.site-base .house-column-article__meta time,
  body.site-base .house-column-card__terms span,
  body.site-base .house-column-card__meta time,
  body.site-base .faq-item summary b,
  body.site-base .faq-answer > b,
  body.site-base .opr-eyebrow,
  body.site-base .voice-list__label,
  body.site-base .voice-detail__information-title,
  body.site-base .news-list__date,
  body.site-base .blog-staff-float__text,
  body.site-base .staff-grid__name-en,
  body.site-base .staff-detail__name-en,
  body.site-base .staff-detail__hobby h4,
  body.site-base .staff-detail__main h3.interview-ttl,
  body.site-base .report-detail__timeline-head time,
  body.site-base .form-shell__tel-label,
  body.site-base .form-shell__tel-number{font-family:"ZenKakuGothicNew-Regular",sans-serif!important}
}

/* SP Voicy 一覧：カテゴリーのセレクトと検索ボタンを1行に（ラベルは上）、「タグ一覧から選ぶ」を本文と同じ 14px に */
@media screen and (max-width:1023px){
  #page .voicy-archive .voicy-filter{flex-direction:row;flex-wrap:nowrap;align-items:flex-end}
  #page .voicy-archive .voicy-filter__field{flex:1 1 auto;min-width:0}
  #page .voicy-archive .voicy-filter button{flex:0 0 64px;align-self:flex-end}
  #page .voicy-archive .voicy-tags summary{font-size:14px;line-height:1.8;letter-spacing:.06em}
}

/* SP 施工事例一覧（アーカイブ・カテゴリー）：トップの施工事例と同じ 1 カラム、写真は画面幅いっぱい（375:281）、地域名の下に罫線 */
@media screen and (max-width:1023px){
  #page .works-archive .works-grid{width:auto;max-width:none;padding-right:16px;padding-left:16px}
  #page .works-archive .works-grid__list{grid-template-columns:minmax(0,1fr);gap:32px}
  #page .works-archive .works-grid__thumb{width:100vw;margin:0 0 12px calc(50% - 50vw);aspect-ratio:375/281}
  #page .works-archive .works-grid__meta{gap:9px}
  #page .works-archive .works-grid__city{padding-bottom:12px;border-bottom:1px solid #d9d9d9;color:#7f7060;font-size:14px;line-height:1.65;letter-spacing:.09em}
}

/* SP 下層ページの帯（p-head）を全ページ「0」のこと（/home-building/）と同じ寸法に統一：高さは内容なり、上下 32px、英字 14px と見出し 20px の間 8px。
   ページ別の固定高さ（160px 等）や #page h1 の padding 60/50px を打ち消すため !important */
@media screen and (max-width:1023px){
  body.site-base .p-head{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;height:auto!important;min-height:0!important;margin-top:0;padding:32px 16px!important;box-sizing:border-box!important;text-align:center}
  body.site-base .p-head .p-head__eyebrow{margin:0!important;padding:0!important;font-size:14px!important;line-height:1.5!important;letter-spacing:.84px!important}
  body.site-base #page .p-head .p-head__ttl,
  body.site-base .p-head .p-head__ttl{margin:0!important;padding:0!important;font-size:20px!important;line-height:1.5!important;letter-spacing:.08em!important}
}

/* ===== SP 個別修正（2026-09-28） ===== */
@media screen and (max-width:1023px){
  /* /price-renewal/ の帯：sp-page.css の #page .page-single p（3px auto 10px!important）が英字に当たるのを打ち消す */
  body.site-base #page .p-head .p-head__eyebrow{width:auto!important;margin:0!important}

  /* /reason-renewal/・/timeless-house/ 写真上の縦書き：番号（01 等）と文言の間を詰める（14px→6px、文言の行送り 2.25→1.5） */
  body.site-base .rw .rw-band__message{gap:6px}
  body.site-base .rw .rw-band__message-txt{line-height:1.5}

  /* /aboutus/ 会社概要テーブル：旧指定の黒い枠線を消し、PC と同じく行の上の細線（#d9d9d9）だけにする */
  body.site-base .company-info__table,
  body.site-base .company-info__table th,
  body.site-base .company-info__table td{border:0!important}
  body.site-base .company-info__table tr{border-top-color:#d9d9d9!important}

  /* /aboutus/ スタッフ紹介・スタッフブログのボタン：写真の上なので見出しと「詳しく見る」を白に */
  body.site-base .company-promo h2,
  body.site-base .company-promo span{color:#fff!important}

  /* /aboutus/ SDGs：中央揃え、見出しを SP のセクション見出しと同じ 24px に */
  body.site-base .company-sdgs__inner,
  body.site-base .company-sdgs__inner .eyebrow,
  body.site-base .company-sdgs__inner p.lead{text-align:center!important}
  body.site-base #page .company-sdgs__inner h2{font-size:24px!important;line-height:1.5!important;letter-spacing:.08em!important;text-align:center!important}
  body.site-base .company-sdgs__inner > a{margin-right:auto!important;margin-left:auto!important}

  /* スタッフブログ詳細：「前へ／一覧へ戻る／次へ」を1行に。前へ・次へは既存指定で左右端に absolute 配置、一覧へ戻るは全幅ブロックで中央。translateX(-50%) の残りを解除し、下に余白 */
  body.site-base .blog-single .ws-detail__prevnext{display:block!important;position:relative;padding-bottom:72px;text-align:center}
  body.site-base .blog-single .ws-detail__prevnext .back{display:block!important;float:none;width:100%!important;margin:0!important;transform:none!important;text-align:center}
}

/* SP スタッフブログ一覧：1 カラムのリスト（左に正方形の写真、右にタイトル→日付） */
@media screen and (max-width:1023px){
  body.site-base #page .blog-archive .blog-grid{width:auto;max-width:none;padding:40px 16px 72px}
  body.site-base #page .blog-archive .blog-grid__list{grid-template-columns:minmax(0,1fr);gap:32px}
  body.site-base #page .blog-archive .blog-grid .blog-grid__list>.blog-grid__item{width:auto}
  body.site-base #page .blog-archive .blog-grid__item > a{display:flex;align-items:flex-start;gap:16px}
  body.site-base #page .blog-archive .blog-grid__thumb{flex:0 0 96px;width:96px;height:96px;margin:0;aspect-ratio:1;overflow:hidden}
  body.site-base #page .blog-archive .blog-grid__thumb img{width:100%;height:100%;object-fit:cover}
  body.site-base #page .blog-archive .blog-grid__meta{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:8px}
  body.site-base #page .blog-archive .blog-grid .blog-grid__ttl{order:1;font-size:14px;line-height:1.8;letter-spacing:.06em}
  body.site-base #page .blog-archive .blog-grid__date{order:2;padding-bottom:0;border:0;color:#7f7060;font-size:12px;line-height:1.6;letter-spacing:.06em}
}

/* SP スタッフ紹介一覧：部署名 14→12px、名前 20→17px、英字名 12→10px、写真に重なる白帯を下寄せで低く（上下余白 16→10px） */
@media screen and (max-width:1023px){
  body.site-base #page .people-archive .staff-grid__meta{top:auto!important;bottom:0!important;height:auto!important;min-height:0!important;padding:6px 6px!important}
  body.site-base #page .people-archive .staff-grid__position{font-size:10px!important;line-height:1.5!important}
  body.site-base #page .people-archive .staff-grid__name{font-size:15px!important;line-height:1.4!important}
  body.site-base #page .people-archive .staff-grid__name-en{font-size:9px!important;line-height:1.4!important;margin-top:2px!important}
}

/* SP ハンバーガー：開いた時は全ページ（トップのオーバーレイ版を含む）で2本とも 15px に揃え、中央で交差させる */
@media screen and (max-width:1023px){
  body.site-base .opus-header__toggle.is-open span:nth-child(1),
  body.site-base .opus-header__toggle.is-open span:nth-child(2),
  body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay.is-open span:nth-child(1),
  body.site-base .opus-header--overlay ~ .opus-header__toggle--overlay.is-open span:nth-child(2){top:15px!important}
}

/* SP 目次（Easy Table of Contents）：pc.css の nav{font-size:1.04167vw} で 375px 幅だと約 4px になるのを打ち消し、本文と同じ 14px・行送り1.8 に */
@media screen and (max-width:1023px){
  body.site-base #ez-toc-container nav{font-size:14px!important}
  body.site-base #ez-toc-container nav li,
  body.site-base #ez-toc-container nav li a{font-size:14px!important;line-height:1.8!important}
}

/* SP 施工事例詳細：Thema のタイトルの行送りを広げる（32px≒1.19 → 1.6）、Information は各項目を「項目名／内容」の2段に */
@media screen and (max-width:1023px){
  body.site-base #page .ws-detail__head .ws-detail__ttl{line-height:1.6!important}
  body.site-base #page .ws-detail__info-row{display:flex!important;flex-direction:column;gap:2px;align-items:flex-start}
  body.site-base #page .ws-detail__info-row > span{width:auto!important;line-height:1.6!important}
  body.site-base #page .ws-detail__info-row > p{width:auto!important;margin:0!important;line-height:1.65!important}
}

/* SP 施工事例詳細：パンくずとメイン写真の間の余白（.ws-detail の上 40px）を無くす */
@media screen and (max-width:1023px){
  body.site-base #page .works-single .ws-detail{padding-top:0!important}
  body.site-base #page .works-single .ws-detail__mainimg{margin-top:0!important}
}

/* SP 施工事例詳細：Thema とタイトルの間を詰める（8px＋上20px → 8px＋上4px）、タイトル 27px → 24px */
@media screen and (max-width:1023px){
  body.site-base #page .works-single .ws-detail__head .ws-detail__ttl{padding-top:4px!important;font-size:24px!important}
}

/* SP 施工事例一覧：写真が 250px に固定され枠（375:281）の下に背景色が見えていたのを、枠いっぱいに表示 */
@media screen and (max-width:1023px){
  body.site-base #page .works-archive .works-grid__thumb{background:none}
  body.site-base #page .works-archive .works-grid__thumb img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover}
}

/* SP 家づくりコラム一覧：記事タイトルを明朝から本文と同じゴシックに。SP の本文設定 14px・行送り1.8・字間.06em */
@media screen and (max-width:1023px){
  body.site-base #page .house-column-list h2{font-family:"ZenKakuGothicNew-Regular",sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.8!important;letter-spacing:.06em!important}
}

/* SP /price-renewal/：帯の直下に見えていたページ背景（.sec の上 25px）を無くし、PC と同じく帯の下からクリーム地に。
   建坪の家型バッジを PC と同じ比率（157:165）で数字に合う大きさ（120×126px）に。#page .page-single p の 3px auto 10px!important を打ち消す */
@media screen and (max-width:1023px){
  body.site-base #page .page-single .sec:has(> .opr){padding-top:0!important}
  body.site-base #page .opr .opr-price__badge{box-sizing:border-box!important;width:120px!important;min-width:0!important;max-width:none!important;height:126px!important;margin:0 auto!important;padding:28px 0 0!important}
}

/* SP /faq/：各セクション見出しの上に付いていたテーマ共通 #page h2 の padding-top 60px を無くし、見出しの上の余白を 116px → 56px に（下側は現状維持） */
@media screen and (max-width:1023px){
  body.site-base #page.faq-page .faq-section__head h2{padding-top:0!important}
}

/* SP フッター：SNS アイコンを高さ 26px → 32px に（横幅は各アイコンの比率なり、タップ領域 40px は維持） */
@media screen and (max-width:1023px){
  .site-footer .ftr-sns__list svg{width:auto;height:32px}
}

/* SP /reason-renewal/：導入と 01〜05 のテキストの上下の余白を 48px に統一（写真→テキスト、テキスト→次の写真／フッター） */
@media screen and (max-width:760px){
  #page .rw--reason .rw-hero{padding-bottom:0}
  #page .rw--reason .rw-six{padding-top:48px;padding-bottom:48px}
  #page .rw--reason .rw-band{padding-top:0;padding-bottom:48px}
  #page .rw--reason .rw-band__bottom{padding-top:48px}
}

/* SP 詳細ページ下部ナビ：clearfix と旧絶対配置の干渉だけを解消 */
@media screen and (max-width:1023px){
  body.site-base #page .prevnext.cf::before,
  body.site-base #page .prevnext.cf::after{display:none!important;content:none!important}

  body.site-base #page .people-single .prevnext,
  body.site-base #page .voice-single .prevnext,
  body.site-base #page .news-single .prevnext,
  body.site-base #page .blog-single .prevnext{display:grid!important;position:relative;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}

  body.site-base #page .prevnext .prev,
  body.site-base #page .prevnext .next,
  body.site-base #page .prevnext .back{position:static;float:none;margin-right:0;margin-left:0;transform:none}
  body.site-base #page .prevnext .prev{grid-column:1;grid-row:1;justify-self:start}
  body.site-base #page .prevnext .back{grid-column:2;grid-row:1;justify-self:center}
  body.site-base #page .prevnext .next{grid-column:3;grid-row:1;justify-self:end;text-align:right}

  body.site-base #page .works-single .prevnext,
  body.site-base #page .property-single .prevnext,
  body.site-base #page .perth-single .prevnext,
  body.site-base #page .interview-archive .prevnext,
  body.site-base #page .gallery-single .prevnext,
  body.site-base #page .event-single .prevnext,
  body.site-base #page .voicy-single .prevnext{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body.site-base #page .works-single .prevnext .back,
  body.site-base #page .property-single .prevnext .back,
  body.site-base #page .perth-single .prevnext .back,
  body.site-base #page .interview-archive .prevnext .back,
  body.site-base #page .gallery-single .prevnext .back,
  body.site-base #page .event-single .prevnext .back,
  body.site-base #page .voicy-single .prevnext .back{grid-column:1/-1;grid-row:1}
  body.site-base #page .works-single .prevnext .next,
  body.site-base #page .property-single .prevnext .next,
  body.site-base #page .perth-single .prevnext .next,
  body.site-base #page .interview-archive .prevnext .next,
  body.site-base #page .gallery-single .prevnext .next,
  body.site-base #page .event-single .prevnext .next,
  body.site-base #page .voicy-single .prevnext .next{grid-column:2}
}

/* 代表メッセージページ（/message/）の SP：本文は段落内の改行をなくして左揃えで流し込み、見出しは左揃え、署名は右揃え */
@media screen and (max-width:1023px){
  #page.message-page .company-message .thinkabout-message__box,
  #page.message-page .company-message .thinkabout-message__title,
  #page.message-page .company-message .thinkabout-message__text{text-align:left}
  #page.message-page .company-message .thinkabout-message__text br{display:none}
  #page.message-page .company-message .thinkabout-message__sign{text-align:right}
}

/* サンクスページ（/thanks/）の SP：本文は SP 基準（14px／行送り2）、1行目は明朝の見出し */
@media screen and (max-width:1023px){
  body.site-base #page .thanks-page .sec .inner{box-sizing:border-box;width:343px;max-width:calc(100% - 32px);margin:0 auto;padding:48px 0 64px;text-align:center}
  body.site-base #page .thanks-page .sec .inner p{margin:0 0 1.6em!important;font-family:inherit;font-size:14px;line-height:2;letter-spacing:.06em;color:#574d43;text-align:center}
  body.site-base #page .thanks-page .sec .inner p:first-child,
  body.site-base #page .thanks-page .sec .inner p:nth-child(2){margin-bottom:32px!important} /* sp-page.css の #page .page-single p{margin:…!important} に勝たせる */
  body.site-base #page .thanks-page .sec .inner p img{display:block;width:100%;height:auto;margin:0 auto}
}

/* メールフォーム共通の SP：注記・同意文は最低 14px、見出し下の余白 16px。電話番号枠の営業時間は1行の行送りを詰めて上下余白をそろえる */
@media screen and (max-width:1023px){
  #page:not(#z) .wpcf7-form .cf > p,
  #page:not(#z) .wpcf7-form .radio > p,
  #page:not(#z) .wpcf7-form p.privacy-doui,
  #page:not(#z) .wpcf7-form p.privacy-doui a{font-size:14px!important}
  #page:not(#z) .form-shell__intro > p:first-child{margin-bottom:16px!important}
  body #page.contact-3-page .form-shell__telcard p{line-height:1.2}
}

/* お問い合わせ：「メールからのお問い合わせ」見出しの下を広げる（SP） */
@media screen and (max-width:1023px){
  #page:not(#z) .form-shell__intro--mail{margin-bottom:32px}
}

/* 施工事例一覧の style リンクカード（SP） */
@media screen and (max-width:1023px){
  body.site-base .works-grid__style-txt{font-size:17px;line-height:1.6;letter-spacing:.06em}
  body.site-base .works-grid__style-arrow{margin-top:12px}
}

/* style リンクカードの SP：/works/・トップ Works は1列（写真枠 約375×281px）なので PC と同じく背景色＋文字＋写真3枚を表示。
   sp.css の works-archive 写真枠の background:none／img の高さ100%!important を上書き */
@media screen and (max-width:1023px){
  #page:not(#z) .works-grid__thumb--style{display:flex;flex-direction:column;box-sizing:border-box;padding:20px;background:#ece6dd}
  #page:not(#z) .works-grid__style-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
  #page:not(#z) .works-grid__style-photos img{width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover}
}

/* /reason-renewal/ SP：ヒーローの2段落目を「…建ててほしいと思うのには、／理由があります。」で改行する。1行目（24文字）が画面幅に収まるよう、この段落だけ字間を .02em にし、幅の狭い端末では文字を少し縮める */
@media screen and (max-width:760px){
  .rw--reason .rw-hero__copy p:last-child{font-size:min(13.5px,calc((100vw - 40px) / 24.6));letter-spacing:.02em}
  .rw--reason .rw-hero__copy p:last-child .rw-br-pc{display:inline}
}

/* SP スタッフ個別：英字名も一覧に合わせて小さく（白い帯を狭くする） */
@media screen and (max-width:1023px){
  #page .people-single .staff-detail__name-en{font-size:10px;line-height:1.5}
}

/* ページ送り（SP）：最初・最後の番号を足した分、1行に収まるよう間隔と最小幅を詰める */
@media(max-width:560px){
  #page:not(#z) .wp-pagenavi{flex-wrap:nowrap!important;gap:4px!important}
  #page:not(#z) .wp-pagenavi a,
  #page:not(#z) .wp-pagenavi span{min-width:28px!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
}
