@charset "UTF-8";
/*-----------------------------------------------------
  Quality
----------------------------------------------------- */
#Quality .head_area h3 { text-align: center; }
.head_area p.cp { color: var(--main-font-color); }
.anchor_menu_wrap { background:#d7e0d6; padding:clamp(30px,6vw,50px) 0; }
.anchor_menu_wrap .ttl { font-family: var(--lutes-font); color: #77513b; font-size:clamp(20px,2.5vw,25px); text-align:center; margin-bottom:clamp(10px,3vw,20px); line-height:1; }
.anchor_menu_wrap ul.menu { display:grid; grid-template-columns:repeat(20,minmax(0,1fr)); grid-auto-rows:minmax(148px,auto); gap:5px; }
.anchor_menu_wrap ul.menu > li:nth-child(-n+4) { grid-column:span 5; }
.anchor_menu_wrap ul.menu > li:nth-child(n+5) { grid-column:span 4; }
.anchor_item { position:relative; display:flex; width:100%; height:100%; padding:30px 10px 40px; align-items:center; justify-content:center; text-decoration:none; text-align:center; background:#ffffff; color:#77513b!important; box-sizing:border-box; transition:background-color .3s ease, color .3s ease, box-shadow .3s ease; }
.anchor_item__label { display:block; font-size:clamp(12px,2.5vw,25px); line-height:1.4; }
.anchor_item__arrow { position:absolute; left:50%; bottom:25px; width:16px; height:10px; transform:translateX(-50%); }
.anchor_item__arrow::before { content:""; position:absolute; left:50%; top:0; width:8px; height:8px; transform:translateX(-50%) rotate(315deg); border-left:1px solid #b0a282; border-bottom:1px solid #b0a282;}
.anchor_item:hover,
.anchor_item:focus-visible { background:#77513b; color: #fff!important;}
.anchor_item.is-current { background:#745039; color:#fff!important; }

.sec_ttl { text-align: center; font-size: clamp(16px, 4vw, 23px); margin-bottom: 10px; }
.sec_txt { text-align: center; font-size: clamp(13px, 2vw, 15px); line-height: 1.8; }
.sec_cp { text-align: center; font-size: clamp(10px, 2vw, 13px); margin-bottom: clamp(15px, 3vw, 30px);; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(10px, 4vw, 30px); }
.grid.col-3 { grid-template-columns: 1fr 1fr 1fr; }

.woods { background: url("../img/quality/woods_bg.png")no-repeat; padding: clamp(60px, 3vw, 80px) 0; background-size: 100%; position: relative; }
.woods .lead_wrap { margin-bottom: 95px; }
.woods > .cp { position: absolute; right: 1%; top: 1%; }
.woods .woods_ttl { text-align: center; }
.woods .woods_ttl img { max-width: 32px; margin: 0 auto 25px; }
.woods .grid { display:grid; grid-template-columns: 1fr 1fr; }
.woods .grid img { margin: 20px 0 5px; }
.anchor_ttl { font-size: clamp(21px, 5vw, 25px); }
.woods .anchor_ttl { position: relative; color: #fff; background: #77513b; padding: 8px 10px; box-sizing: border-box; text-align: center;  margin-bottom: clamp(15px, 4vw, 35px); margin-top: 40px;height: 50px; display: flex; align-items: center; justify-content: center; }
.woods .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_floor.png")no-repeat; width: 250px; height: 100px; left: 0; top: -50px; background-size: contain; }
.beam .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_beam.png")no-repeat; width: 270px; height: 100px; left: 0; top: -50px; background-size: contain; }
.woods .txt_area { background: url("../img/quality/flooring_bg.png")no-repeat; background-size: cover; background-position: right; padding: 40px; box-sizing: border-box; margin-top: 25px; position: relative; margin-bottom: clamp(70px, 10vw, 80px); }
.woods .txt_area .ttl { color: #b0a282; font-size: clamp(19px, 3vw, 23px); margin-bottom: clamp(5px, 2vw, 13px); }
.woods .txt_area .txt { font-size: 13px; color: #fff; line-height: 1.8; }
.woods .txt_area .cp { position: absolute; bottom: 10px; right:10px; color: #fff;; }
.woods .beam picture.beam_ph { margin-top: 30px; }
.woods .beam picture.beam_ph + .cp { text-align: right; margin-top: 5px; }

.anchor_ttl { position: relative; color: #fff; background: #8e8778; padding: 8px 10px; box-sizing: border-box; text-align: center; font-size: clamp(21px, 4vw, 25px); margin-bottom: clamp(15px, 4vw, 35px); margin-top: 40px;height: 50px; display: flex; align-items: center; justify-content: center; }
.kitchen .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_kitchen.png")no-repeat; width: 300px; height: 100px; left: 0; top: -50px; background-size: contain; }
.laundry .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_laundry.png")no-repeat; width: 370px; height: 100px; left: 0; top: -50px; background-size: contain; }
.bath .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_bath.png")no-repeat; width: 370px; height: 100px; left: 0; top: -50px; background-size: contain; }
.toilet .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_toilet.png")no-repeat; width: 250px; height: 100px; left: 0; top: -50px; background-size: contain; }
.window .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_window.png")no-repeat; width: 310px; height: 100px; left: 0; top: -50px; background-size: contain; }
.others .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_others.png")no-repeat; width: 310px; height: 100px; left: 0; top: -50px; background-size: contain; }
.entrance .anchor_ttl::before { position: absolute; content: ''; display: block; background: url("../img/quality/en_entrance.png")no-repeat; width: 400px; height: 120px; left: 0; top: -70px; background-size: contain; }
.entrance .sec_ttl { color: #897462; }
.security .anchor_ttl::before { position:absolute; content:""; display:block; background:url("../img/quality/en_security.png") no-repeat; width:270px; height:100px; left:0; top:-50px; background-size:contain; }

/*キッチン*/
.kitchen { padding: clamp(30px, 3vw, 80px) 0; }
.kitchen .head { display: grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap: 20px; margin-bottom: 20px; }
.kitchen .head .anchor_subttl { color: var(--mossgreen-color); margin-bottom: 20px; font-size: clamp(17px, 3vw, 23px); }
.kitchen .head .anchor_txt { font-size: clamp(13px, 3vw, 15px); }
.kitchen .main { margin-bottom: 5px; }
.kitchen .main + .cp { text-align: right; }
.kitchen .kitchen90 { background: #f3ede3; padding: clamp(25px, 3vw, 30px) clamp(15px, 5vw, 50px); box-sizing: border-box; margin: 30px 0; }
.kitchen .kitchen90 .kitchen90_txt { width: 100%; margin-bottom: 20px; }
.kitchen .kitchen90 .grid { grid-template-columns: 1fr 1fr; }
.kitchen .kitchen90 .grid .txt { font-feature-settings: "palt"; font-size: clamp(13px, 3vw, 15px); margin: 10px 0 0;}

.kitchen .box { position: relative; width: 48%; }
.kitchen .box:first-child::after { position: absolute; content: ''; display: inline-block; height: 100%; width: 1px; background: #3c3c3c; right: -19px; top: 0; }
.kitchen p.obi { text-align: center; background: #fff; font-size: clamp(0.875rem, 0.813rem + 0.31vw, 1.125rem); font-family: var(--font-gothic-bold); padding: 10px; margin-bottom: 10px; }
.kitchen p.obi span { font-size: 80%; }
.kitchen .img { width:min(100% , 220px); }

.worktop { padding: 40px 35px 35px; background: url("../img/quality/worktop_bg.png")no-repeat; background-size: cover; width: 100%; height: 100%; position: relative; box-sizing: border-box; margin-bottom: clamp(30px, 3vw, 40px); }
.worktop__title { font-size: clamp(18px, 3vw, 23px); line-height: 1.6; text-align: center; margin-bottom: clamp(10px, 3vw, 16px); }
.worktop__lead { font-size: clamp(13px, 3vw, 15px); text-align: center; margin-bottom: clamp(20px, 3vw, 30px); }
.worktop__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; position: relative; }
.worktop__cols::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: #3c3c3c; transform: translateX(-50%); }
.worktop__col { font-size: clamp(12px, 3vw, 14px); }

.worktop-block__title { background: #726f6b; color: #fff; padding: 10px; font-size:clamp(14px, 3vw, 16px); margin-bottom: 12px; text-align: center; }
.worktop-block__image { margin-bottom: 5px; }
.worktop-block__image img { width: 100%; height: auto; display: block; }
.worktop-block__text { font-size: clamp(13px, 3vw, 15px); line-height: 1.5; font-feature-settings: "palt"; margin-bottom: 10px; }
.worktop-block__sub { margin-top: 12px; }
.worktop-block__sub-title { font-size: clamp(12px, 3vw, 14px); font-weight: 700; margin-bottom: 4px; font-feature-settings: "palt"; }
.worktop-block__sub-text { font-size: 12px; line-height: 1.5; font-feature-settings: "palt";  }
.worktop-block .flex { display: flex; justify-content: space-between; gap: 15px; margin: 10px 0 15px; }
.worktop-block .flex .flexbox{ width: 50%; }
.worktop-block_blk { margin-bottom: 20px; }
.worktop__col--left .worktop-block .grid { display: grid; grid-template-columns: 3fr 5fr; gap: 12px; margin-bottom: 10px; }

.worktop-feature-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: clamp(8px, 3vw, 15px); }
.worktop-feature { display: flex; gap: 12px; }
.worktop-feature__image { flex: 0 0 50%; }
.worktop-feature__image img { width: 100%; height: auto; display: block; }
.worktop-feature__body { flex: 1; }
.worktop-feature__title { font-weight: 700; margin-bottom: 4px; border-bottom: 1px solid #3c3c3c; padding-bottom: 3px; }
.worktop-feature__text { font-size: 12px; line-height: 1.7; font-feature-settings: "palt"; }

.worktop-sink__catch { margin-bottom: 8px; background: #726f6b; color:#fff; padding: 5px 10px; font-size: clamp(12px, 3vw, 14px); text-align: center; }
.worktop-sink__color { margin-left: auto; }
.worktop-sink__main-image { margin-bottom: 12px; }
.worktop-sink__main-image img { width: 100%; height: auto; display: block; }
.worktop-sink__sub-text { font-size: 12px; line-height: 1.5; }
.worktop__col--right .cp { text-align: right; margin-top: 5px;}

.equipment { padding: clamp(0, 3vw, 40px) 0; }
.equipment__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.equipment__grid .cp { text-align: right; margin-top: 5px; }

.equipment-card { font-size: clamp(12px, 3vw, 14px); }
.equipment-card__head { background: #dddbd6; padding: 8px 12px; margin-bottom: 10px; }
.equipment-card__title { font-size: clamp(14px, 3vw, 16px);}

.equipment-card__body--horizontal { display: flex; gap: 16px; align-items: flex-start; }
.equipment-card__body--horizontal .equipment-card__text-block , .equipment-card__body--horizontal .equipment-capacity-img { flex: 1; }

.equipment-card__lead { font-size: 12px; margin-bottom: 10px; }
.equipment-card__text--bold { font-weight: 700; }

.equipment-card__image { text-align: center; }
.equipment-card__image img { display: block; width: 100%; height: auto; }

.equipment-capacity { margin: 0; }

/* サブ画像付きテキスト（レンジフード） */
.equipment-sub-figure { margin-bottom: 8px; }
.equipment-sub-figure img { display: block; width: 100%; height: auto; }

/* グリッド内での配置（PC） */
.equipment-card--dishwasher { grid-column: 1 / span 2; }
.equipment-card--stove { grid-column: 3 / span 2; }
.equipment-card--cabinet { grid-column: 1 / span 2; }
.equipment-card--hood { grid-column: 3 / span 2; }
.equipment-card--handle { grid-column: 1 / span 1; }
.equipment-card--softclose { grid-column: 2 / span 1; }
.equipment-card--ebcoat { grid-column: 3 / span 1; }
.equipment-card--shower { grid-column: 4 / span 1; }

/* 取っ手〜タッチレスハンドシャワー＋カップボード */
.equipment__grid--bottom { display:grid; grid-template-columns:repeat(4, 1fr); gap:24px; }
.equipment__grid--bottom .equipment-card--handle { grid-column:1 / span 1; grid-row:1; }
.equipment__grid--bottom .equipment-card--softclose { grid-column:2 / span 1; grid-row:1; }
.equipment__grid--bottom .equipment-card--ebcoat { grid-column:1 / span 1; grid-row:2; }
.equipment__grid--bottom .equipment-card--shower { grid-column:2 / span 1; grid-row:2; }
.equipment__grid--bottom .equipment-card--cupboard { grid-column:3 / span 2; grid-row:1 / span 2; }

.laundry { padding: clamp(40px, 3vw, 80px) 0; }
.laundry .anchor_ttl { background: #77a3a2; }
.laundry__header { text-align: center; margin-bottom: clamp(20px, 3vw, 40px); }
.laundry__icon img { width:230px; height: auto; display: block; margin: 0 auto 8px; }
.laundry__lead { margin-bottom:clamp(0, 3vw, 40px); }
.laundry__catch { font-size: clamp(16px, 3vw, 22px); color: #77a3a2; line-height: 1.6; margin-bottom: 12px; }
.laundry__text { font-size: clamp(13px, 3vw, 15px); }
.laundry__contents { display: grid; grid-template-columns: 1.1fr 0.9fr; align-items: start; gap: clamp(20px, 3vw, 40px); }
.laundry__img--main { position: relative;}
.laundry__img--main img { width: 100%; height: auto; display: block; border-radius: 8px; }
.laundry__caption { font-size: 11px; text-align: right; margin-top: 4px; position: absolute; top: 0; right: 0; }
.laundry__madori img { width: 100%; height: auto; display: block; }
.laundry__info { display: flex; justify-content: space-between; gap: 50px; }
.laundry__info .laundry__hosu__title { background: #d6e3e3; padding: 8px 12px; margin-bottom: 10px; font-size: clamp(16px, 3vw, 20px); }
.laundry__info .laundry__hosu__body { font-size: clamp(13px, 3vw, 15px); }
.laundry__info .laundry__hosu { margin-top: 20px; }
.laundry__info picture { margin-bottom: 5px; }
.laundry__info .laundry__hosu__head .cp { text-align: right; }

.washstand { background: #f0f6f5; margin-bottom: clamp(60px, 3vw, 100px); }
.washstand__inner { padding: clamp(15px, 3vw, 35px); box-sizing: border-box; }
.washstand__header { text-align: center; margin-bottom: 20px; }
.washstand__title { font-size: clamp(16px, 3vw, 20px); line-height: 1.4; color: #77a3a2; margin-bottom: 8px; }
.washstand__lead { font-size: clamp(12px, 3vw, 14px); line-height: 1.8;  }
.washstand__body { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: flex-start; }
.washstand__main figcaption { text-align: right; }
.washstand__main img { display: block; width: 100%; height: auto; margin-bottom: 5px; }
.washstand__features { display: flex; flex-direction: column; gap: 16px; }
.washstand-box__head { background: #77a3a2; color: #fff; font-size: 15px; padding: 8px 14px; margin-bottom: 5px; }
.washstand-box__body { display: flex; gap: 12px; align-items: flex-start; }
.washstand-box__text { flex: 1; font-size: 13px; line-height: 1.7; }
.washstand-box__text p { margin-bottom: 6px; }
.washstand-box__text p:last-child { margin-bottom: 0; }
.washstand-box__text > .washstand-box__image { width: 100%; margin-top: 5px; }
.washstand-box__image { flex: 0 0 120px; text-align: right; }
.washstand-box__image img { display: block; width: 100%; height: auto; margin-bottom: 4px; }

.bath { padding: clamp(40px, 3vw, 80px) 0; }
.bath .anchor_ttl { background: #de9862; }
.bath .sec_ttl { color: #de9862; }
.bath__header { text-align: center; margin-bottom:clamp(20px, 3vw, 30px); }
.bath__icon img { display: block; width: 160px; height: auto; margin: 0 auto 50px; }
.bath__main-image { position: relative; margin-bottom: clamp(20px, 7vw, 55px); }
.bath__main-image img { display: block; width: 100%; height: auto; }
.bath__caption--main { position: absolute; left: 16px; bottom: 12px; }
.bath__blow { text-align: center; }
.bath__blow-title { font-size: clamp(15px, 3vw, 25px); color: #de9862; margin-bottom: 10px; letter-spacing: 0.05em; }
.bath__blow-text { font-size: clamp(12px, 3vw, 14px); margin-bottom: clamp(10px, 2vw, 25px); }
.bath__blow-image { position: relative; }
.bath__blow-image img { display: block; width: 100%; height: auto; }
.bath__caption--blow { position: absolute;}

/* --- 浴室設備ブロック --- */
.bath-feature { margin-top: 50px; }
.bath-feature__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 60px; }
.bath-feature__grid--bottom { grid-template-columns: repeat(2, 1fr); justify-content: center; }
.bath-feature__grid .item__flex { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.bath-feature__grid .item__flex .logo { max-width: 130px; margin: 0 0 0 auto; }

.bath-feature__title { font-size: 16px; background: #f8e8dc; padding: 8px 12px; margin-bottom: 10px; }
.bath-feature__text { font-size: 12px; margin-bottom: 12px; }

.bath-feature .cp { text-align: right; }
.cp img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.bath-feature__image--logo img { display: block; width: 100%; max-width: 420px; margin: 0 auto 4px; }

.toilet .anchor_ttl { background: #8ba8a8; } 
.toilet .sec_ttl { color:#8ba8a8 }
.toilet { padding: clamp(40px, 3vw, 80px) 0; }
.toilet__header { text-align: center; margin-bottom: clamp(20px, 3vw, 40px); }
.toilet__icon img { width: 92px; margin: 0 auto 30px; display: block; }

.toilet__body { display: flex; align-items: flex-start; gap: clamp(20px, 3vw, 40px); margin-bottom: clamp(0, 5vw, 100px);}

.toilet__main { flex: 1; }
.toilet__main img { width: 100%; height: auto; display: block; }
.toilet__main .cp { font-size: 11px; text-align: right; color: #777; margin-top: 4px; }

.toilet__features { flex: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.toilet__features .toilet__kirei { grid-column: 1 / -1; text-align: center; }
.toilet__kirei img { width: 100%; height: auto; max-width: 800px; margin: 0 auto; display: block; }

.toilet-box__head { background: #dce5e5; font-size: clamp(12px, 3vw, 14px); padding: 8px 12px; margin-bottom: 5px; }
.toilet-box__body { display: flex; flex-direction: column; gap: 10px; }
.toilet-box__text { font-size: 13px; }
.toilet-box__image { text-align: center; }
.toilet-box__image img { width: 100%; height: auto; margin-bottom: 4px; }
.toilet-box__image .cp { text-align: right; }

.toilet__kirei { text-align: center; }
.toilet__kirei img { width: 100%; height: auto; max-width: 800px; margin: 0 auto; display: block; }

.window { padding: clamp(60px, 3vw, 80px) 0; }
.window .anchor_ttl { background: #77b2c0; }

.glass_wrap { background: url("../img/quality/glass_bg.png")no-repeat; background-size: cover; padding: 50px 30px; box-sizing: border-box; margin-bottom: clamp(30px , 3vw , 50px); }
.glass_wrap p.glass_ttl { text-align: center; color: #3894a0; font-size: clamp(17px, 3vw, 23px); line-height: 1.4; margin-bottom: 20px; font-family: var(--font-gothic-bold);}
.glass_wrap .blk { background: #fff; padding: 30px; margin-bottom: 30px; }
.glass_wrap .blk p.blk_ttl { font-size: clamp(15px, 3vw, 20px); background: #7ab8c0; color: #fff; text-align: center; padding: 10px; line-height: 1.4; margin-bottom: clamp(15px , 2vw ,  30px); border-radius: clamp(10px, 2vw, 20px); font-family: var(--a1gothic-font); font-feature-settings: "palt"; }
.glass_wrap .blk:nth-of-type(2) p.blk_ttl { background: #6da383; }
.glass_wrap .blk:nth-of-type(2) { margin-bottom: 0; }
.glass_wrap .blk p.sub_ttl { font-size:clamp(15px, 3vw, 20px); color: #3894a0; text-align: center; line-height: 1.4; margin-bottom: clamp(5px, 2vw, 30px); }
.glass_wrap .blk p.txt { font-size: clamp(12px, 3vw, 15px); line-height: 1.5; text-align: center; margin-bottom: 20px; }
.glass_wrap .blk .blk_img picture { max-width: min(100%,220px); width: 100%; margin-right: 30px; }
.glass_wrap .blk .txt_wrap { max-width: min(100% , 577px); width: 100%; }
.glass_wrap p.low_ttl { background: #e8f3eb; color: #7ab8c0; display: flex; align-items: center; justify-content: center; padding: 10px; max-width: min(100% , 160px); width: 100%; font-size: 15px; text-align: center; margin-right:10px; line-height: 1.5; font-family: var(--a1gothic-font); box-sizing: border-box; }
.glass_wrap p.low_txt { font-size: 13px; line-height: 1.5; width: calc(100% - 160px); }
.glass_wrap .blk_flex { display: flex; justify-content: space-between; margin-bottom: 20px;}
.glass_wrap .blk_flex picture.blk_img { max-width: 220px; width: 100%; }
.glass_wrap .blk_flex .inner_flex { display: flex; align-items: stretch; margin-bottom: 10px; }
.glass_wrap .blk_flex p.low_bg_txt { background: #7ab8c0; color: #fff; font-size: 13px; padding: 10px 30px; line-height: 1.5; margin-bottom: 20px; font-family: var(--a1gothic-font); }
.glass_wrap .blk_flex .blk01_img02 picture { max-width: min(100% , 215px); margin-right: 10px; }
.glass_wrap .blk02 .blk_flex .cp { text-align: right; }
.glass_wrap .blk p.ttl { text-align: center; font-size: clamp(18px, 3vw, 20px); color: #6da383; margin-bottom: clamp(15px , 2vw ,  30px); }
.glass_wrap p.blk02_img02_ttl { color: #6da383; margin-bottom: 10px; }
.glass_wrap picture.blk02_img01 + p.small { text-align: right;}
.glass_wrap picture.blk02_img02 { margin-bottom: 10px; }
.glass_wrap picture.blk02_img02 + p.small { text-align: right; }
.glass_wrap .point_wrap { background: #f5fcf0; padding: clamp(15px, 5vw, 30px); border: 1px solid #6da383; }
.glass_wrap .point_wrap p.point_ttl { font-size: clamp(18px, 3vw, 28px); position: relative; display: inline-block; color: #6da383; margin-bottom: clamp(5px, 3vw, 30px); font-family: var(--a1gothic-font); font-weight: 700; }
.glass_wrap .point_wrap p.point_ttl::before { position: absolute; content: ''; display: inline-block; left: -20px; top: -5px; width: 3px; height: 150%; background: #6da383; border-radius: 3px; transform: rotate(-25deg); }
.glass_wrap .point_wrap p.point_ttl::after { position: absolute; content: ''; display: inline-block; right: -15px; top: -5px; width: 3px; height: 150%; background: #6da383; border-radius: 3px; transform: rotate(25deg); }
.glass_wrap .point_wrap .grid p.point_sec_ttl { line-height: 1.3; margin-bottom: 10px; color: #fff; background: #6da383; font-family: var(--a1gothic-font); padding: 5px 10px; box-sizing: border-box; font-size: clamp(13px, 3vw, 15px); }
.glass_wrap .point_wrap .grid picture.others_img04_gas , .glass_wrap .point_wrap .grid picture.others_img05_gas { margin-bottom: 10px; }
.glass_wrap .point_wrap .grid picture.others_img05_gas { width: 75%; }
.glass_wrap .point_wrap .grid picture.others_img05_gas + p.small { text-align: right; }
.glass_wrap .point_wrap .grid p.txt { font-size: 13px; text-align: left; }
.glass_wrap .point_wrap .harf { position: relative; }
.glass_wrap .point_wrap .harf:first-child::after { position: absolute; content: ''; background: url("../img/quality/bouhan_arrow.svg")no-repeat; width: 35px; height: 44px; display: inline-block; background-size: contain; top:50%; right: -55px; }
.glass_wrap .point_wrap span.orange { font-size: clamp(0.688rem, 0.625rem + 0.31vw, 0.938rem); color: #f17e1c; text-decoration: underline; }
.glass_wrap .point_wrap + .point_last { width: 100%; }
.glass_wrap p.mark_ttl { font-family: var(--a1gothic-font); line-height: 1.4; background: #6da383; color: #fff; text-align: center; font-size:clamp(15px, 3vw, 19px); padding: 10px; margin-bottom: 20px; }
.glass_wrap .point_wrap p.txt_ttl { font-size: clamp(0.813rem, 0.755rem + 0.24vw, 1rem); }
.glass_wrap .point_wrap .mark { max-width: 100px; width: 100%; margin-right: 20px; }
.glass_wrap .cpmark_wrap .flex { align-items: center; max-width: 660px; margin: 0 auto 20px; }
.glass_wrap .cpmark_wrap .txt_wrap { width: 100%; }
.glass_wrap .cpmark_wrap .txt_ttl { font-weight: 500; line-height: 1.5; font-size: clamp(0.813rem, 0.703rem + 0.55vw, 1.25rem); color: #6da383; margin-bottom: 10px; font-family: var(--a1gothic-font); }
.glass_wrap .cpmark_wrap .con_txt_wrap .txt { font-size: clamp(0.688rem, 0.625rem + 0.31vw, 0.938rem); text-align: left; margin-bottom: 0; }
.glass_wrap .cpmark_wrap .mark { max-width: 100px; margin-right: 20px; }
.glass_wrap .cpmark_wrap .con_txt_wrap .txt span.orange { color: #f1491c; border-bottom: 1px solid #f1491c; }
.glass_wrap .cpmark_wrap .last { font-size: clamp(13px , 4vw, 20px); color: #6da383; text-align: center; line-height: 1.4; font-family: var(--a1gothic-font); }
.glass_wrap .blk_flex .flex p.small { text-align: right; }

.window-sash__head { margin-bottom: 25px; }
.window-sash__label { background: #d6e8ec; text-align: center; padding: 3px 0; font-size: clamp(18px, 3vw, 23px); margin-bottom: 10px; }
.window-sash__lead { font-size: clamp(16px, 3vw, 20px); text-align: center; line-height: 1.6; }

.window-sash__grid { display: flex; gap: 40px; justify-content: space-between; }
.window-sash__item { flex: 1; }
.window-sash__sub { font-size: 15px; color: #637070; margin-bottom: 10px; }
.window-sash__text { font-size: 13px; line-height: 1.7; margin-bottom: 15px; }
.window-sash__image img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.window-sash__image .cp { font-size: 11px; text-align: right; color: #777; }

.security { padding:clamp(60px,10vw,100px) 0 clamp(40px,10vw,55px); }
.security .anchor_ttl { position:relative; background:#3a5b8c; margin-top:0; margin-bottom:clamp(25px,3vw,35px); }

.security__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(20px,4vw,40px); margin-bottom:clamp(25px,4vw,35px); }
.security__intro-text { font-size:clamp(13px,2.4vw,15px); line-height:1.8; }
.security__lead { font-size:clamp(15px,3vw,18px); margin-bottom:5px; color: #3a5b8c; }
.security__title { font-size:clamp(20px,4vw,26px); margin-bottom:10px; color: #3a5b8c; font-feature-settings: "palt";}
.security__desc { margin-bottom:clamp(0px , 1vw , 15px); }
.security__badge img { display:block; max-width:100%; height:auto; }
.security__visual { text-align:right; }
.security__visual img { max-width:100%; height:auto; display:block; }

.security-system { background: #e7ebf1; padding:clamp(20px,4vw,25px) clamp(20px,3vw,30px); margin-bottom:clamp(25px,3vw,40px); }
.security-system__title { font-family: var(--a1gothic-font); padding: 10px 0; text-align:center; border-top: 1px solid #264f9e; border-bottom: 1px solid #264f9e; font-size:18px; font-weight:600; color:#475f88; margin-bottom:clamp(15px,3vw,25px); }
.security-system__image img { width:100%; height:auto; display:block; }

.security-town { border: 1px solid #3a5b8c; padding:clamp(15px,4vw,30px) clamp(15px,3vw,30px); }
.security-town__label { font-size:clamp(16px,2.5vw,20px); margin-bottom:clamp(10px,2.5vw,20px); background:#3a5b8c; color:#fff; padding:10px 16px; text-align: center; }
.security-town__title { color: #3a5b8c; font-size:clamp(16px,3vw,19px); line-height:1.6; }
.security-town__title span { display: block; font-size: 12px; }

.security-town__body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr); gap:clamp(20px,4vw,35px); }
.security-town__image img { width:100%; height:auto; display:block; }
.security-town__image .cp { text-align:left; margin-top:4px; }
.security-town__text { font-size:clamp(12px,2.4vw,14px); line-height:1.9; }
.security-town__text p + p { margin-top:10px; line-height: 1.6; }

.entrance .anchor_ttl { background: #897462; }
.entrance { padding: clamp(60px, 3vw, 80px) 0; }
.entrance__main-image { max-width: 785px; width: 100%; margin: 0 auto  clamp(25px, 3vw, 55px); }
.entrance__main-image img { display: block; width: 100%; height: auto; margin-bottom: 10px; }
.entrance__caption { font-size: 11px; }

.familock__head { margin-bottom: 20px; }
.familock__label { display: inline-block; background: #d0c7c0; padding: 8px 18px; font-size:clamp(16px, 3vw, 20px); letter-spacing: 0.06em; margin-bottom: 10px; width: 100%; box-sizing: border-box; }
.familock__lead { font-size: clamp(16px, 3vw, 20px); }
.familock__top { display: flex; gap: 32px; align-items: flex-start; margin-bottom: 20px; justify-content: space-between; }
.familock__devices { flex: 0 0 360px; max-width: 360px; }
.familock__devices img { width: 100%; height: auto; display: block; }
.familock__devices .cp { font-size: 11px; text-align: left; margin-top: 6px; }
.familock__text { flex: 1; font-size: 13px; line-height: 1.9; }
.familock__family { text-align: center; margin: 10px 0 0; }
.familock__family img { max-width: 440px; width: 100%; height: auto; display: inline-block; }
.familock__myapp img { margin-bottom: 4px; }
.familock__myapp .cp { font-size: 11px; text-align: right; }

.tenkey_block { margin-top: 40px; }
.tenkey_head { margin-bottom: clamp(10px, 3vw, 25px); }
.tenkey_head_ttl { background: #d0c7c0; font-size: clamp(16px, 3vw, 18px); padding: 10px 18px; letter-spacing: 0.06em; }
.tenkey_head_lead { font-size: clamp(12px, 3vw, 14px); margin-top: 14px; }

.tenkey_cols { display: flex; justify-content: space-between; gap: 40px; }
.tenkey_col { flex: 1; font-size: 13px; line-height: 1.8; }
.tenkey_img img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.tenkey_txt { font-size: 12px; line-height: 1.6; margin-bottom: 10px; }

.lock_block { padding: clamp(30px, 3vw, 50px) 0 0; }
.lock_title { text-align: center; color: #897462; font-size: clamp(18px, 3vw, 25px); letter-spacing: 0.06em; margin-bottom: clamp(10px, 3vw, 20px); }
.lock_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 28px; }
.lock_card { font-size: clamp(12px, 3vw, 14px); line-height: 1.8; display: flex; flex-direction: column; justify-content: space-between; }
.lock_card_head { display: inline-block; background: #d0c7c0; padding: 8px 14px; font-size: clamp(16px, 3vw, 18px); margin-bottom: 10px; width: 100%; box-sizing: border-box; }
.lock_card_lead { font-size: 13px; margin-bottom: 12px; }
.lock_img img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.lock_img .cp { text-align: right; }

.lock_feature_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.lock_feature { display: flex; flex-direction: column; background: transparent; height: 100%; }
.lock_feature_head { background: #d0c7c0; font-size: clamp(16px, 3vw, 18px); line-height: 1.3; padding: 12px 18px; letter-spacing: 0.06em; }
.lock_feature_body { background: #edeae7; padding: 18px; flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
.lock_feature_txt { font-size: 15px; line-height: 1.6; color: #3a3a3a; }
.lock_feature_note { font-size: 12px;  margin-top: 10px; }

.careful_block { padding: clamp(40px, 3vw, 60px) 0; }
.careful_title { line-height: 1.4; text-align: center; color: #897462; font-size: clamp(19px, 3vw, 25px); letter-spacing: 0.06em; margin-bottom: clamp(15px, 3vw, 25px); }
.careful_grid { display: grid; gap: 30px; }
.careful_grid--3 { grid-template-columns: repeat(3, 1fr); margin-bottom: 28px; }
.careful_grid--2 { grid-template-columns: repeat(2, 1fr); }
.careful_card { display: flex; flex-direction: column; font-size: clamp(12px, 3vw, 14px); line-height: 1.8; }
.careful_txt span { display: block; color: #897462; font-size: 15px; }
.careful_txt span:last-of-type { margin-top: 10px; }
.careful_head { display: inline-block; background: #d0c7c0; padding: 8px 14px; font-size: 16px; margin-bottom: 10px; }
.careful_txt { font-size: 13px; margin-bottom: 12px; }
.careful_img img { width: 100%; height: auto; display: block; margin-bottom: 10px; }
.careful_img .cp { text-align: right; }

.comfort_title { text-align: center; color: #897462; font-size: clamp(19px, 3vw, 25px); letter-spacing: 0.06em; margin-bottom: clamp(10px, 3vw, 25px); }
.comfort_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; align-items: start; }
.comfort_col { font-size: clamp(12px, 3vw, 14px); line-height: 1.8; }
.comfort_head { display: inline-block; background: #d0c7c0; padding: 10px 16px; font-size: clamp(16px, 3vw, 18px); margin-bottom: 10px; box-sizing: border-box; width: 100%; }
.comfort_lead { font-size: 13px; margin-bottom: 12px; }
.comfort_img img { width: 100%; height: auto; display: block; margin-bottom: 4px; }
.comfort_img .cp { text-align: right; }

.others .anchor_ttl { background: #5f825a; }
.others { padding: clamp(60px, 3vw, 80px) 0 clamp(30px, 3vw, 80px); }
.others__icon img { width: 110px; margin: 0 auto 30px; display: block; }
.others__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap:30px; }
.others-card__head { background: #e7ece6; padding: 8px 12px; margin-bottom: 10px; }
.others-card__title { font-size: 16px; color: var(--mossgreen-color); }
.others-card__lead { font-size: 12px; }
.others-card picture { margin: 15px 0 5px;; }
.others-card:last-child .cp { text-align: right; }

@media only screen and (max-width: 980px){
  #main { padding-bottom: 80px; }
  .glass_wrap .blk_flex .inner_flex { flex-direction: column; }
  .glass_wrap p.low_ttl { max-width: initial; margin-right: 0; margin-bottom: 10px;}
  .glass_wrap p.low_txt { width: 100%; }
}

@media only screen and (max-width: 600px) {
  #main { padding-bottom: 100px; }
  #Quality .head_area h3 { text-align: left; }
  .head_area { background: url("../img/quality/head_sp.png") no-repeat; background-size: 100%; }
  .pages .intro p.intro_ttl { line-height: 1.7; }
  .pages .intro p.intro_txt { line-height: 1.6; }
  .pages .intro .intro_inner { grid-template-columns: 1fr; }
  .anchor_menu_wrap ul.menu { grid-auto-rows:minmax(90px,auto); gap:6px; }
  .anchor_item { padding:20px 6px 25px; }
  .anchor_item__arrow { bottom: 10px; }
  .anchor_ttl { margin-top: 20px; height: 40px; }
  .woods .anchor_ttl::before { width: 125px; height: 80px; top: -25px; }
  .beam .anchor_ttl::before { width: 135px; height: 80px; top: -25px; }
  .woods .woods_ttl img { max-width: 25px; }
  .woods .txt_area { background: url(../img/quality/flooring_bg_sp.png) no-repeat; padding: 25px 15px 40px; }
  .woods .txt_area .txt { line-height: 1.5; }
  .kitchen .head { display: grid; grid-template-columns: 1fr; }
  .kitchen .kitchen90 .grid { grid-template-columns: 1fr; }
  .kitchen .anchor_ttl::before { width: 135px; height: 80px; top: -25px; }
  .worktop { background: url(../img/quality/worktop_bg_sp.png) no-repeat; background-size:cover; padding: 35px 15px; }
  .worktop__inner { padding: 0 16px; }
  .worktop__cols { grid-template-columns: 1fr; gap:25px; }
  .worktop__cols::before { display: none; }
  .worktop-feature { flex-direction: row; }
  .worktop-sink__color { margin-left: 0; }
  .worktop-feature__image { flex: 0 0 30%; }
  .worktop__col--left .worktop-block .grid { grid-template-columns: 3fr 3fr; }
  .equipment__grid { grid-template-columns: 1fr; gap: 16px; }
  .equipment-card--dishwasher { grid-column: auto; }
  .equipment-card--stove { grid-column: auto; }
  .equipment-card--cabinet { grid-column: auto; }
  .equipment-card--hood { grid-column: auto; }
  .equipment-card--handle { grid-column: auto; }
  .equipment-card--softclose { grid-column: auto; }
  .equipment-card--ebcoat { grid-column: auto; }
  .equipment-card--shower { grid-column: auto; }

  .equipment__grid--bottom { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 10px; }
  .equipment__grid--bottom .equipment-card--handle,
  .equipment__grid--bottom .equipment-card--softclose,
  .equipment__grid--bottom .equipment-card--ebcoat,
  .equipment__grid--bottom .equipment-card--shower,
  .equipment__grid--bottom .equipment-card--cupboard { grid-column:auto; grid-row:auto; }
  .equipment__grid--bottom .equipment-card--cupboard { grid-column: 1 / -1; }

  .laundry { padding-bottom: 30px; }
  .laundry__contents { grid-template-columns: 1fr; }
  .laundry .anchor_ttl::before { width: 185px; height: 80px; top: -25px; }
  .laundry__info { flex-direction: column; }
  .washstand__body { grid-template-columns: 1fr; gap: 24px; }
  .washstand-box__image { flex: 0 0 auto; width: 40%; margin-left: auto; }
  .laundry__info { flex-direction: column; }

  .bath__inner { padding: 0 16px; }
  .bath .anchor_ttl::before { width: 125px; height: 80px; top: -25px;}
  .bath__title { text-align: left; }
  .bath__lead { text-align: left; }
  .bath__header { text-align: left; }
  .bath__icon img { width: 130px; margin-bottom: 8px; }
  .bath-feature__grid { grid-template-columns: 1fr; gap: clamp(15px, 3vw, 32px); margin-bottom: 40px; }
  .bath-feature__grid--bottom { grid-template-columns: 1fr; margin-bottom: 0; }
  .bath .sec_ttl , .bath__blow-text , .bath__header .sec_txt { text-align: left; }
  .pc__flex { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px;}

  .toilet .anchor_ttl::before { width: 125px; height: 80px; top: -25px; }
  .toilet-box__head { padding: 8px; }
  .toilet__header .sec_ttl , .toilet__header .sec_txt { text-align: left; }
  .toilet__body { flex-direction: column; gap: 32px; }
  .toilet__features { gap: 15px; }
  .window .anchor_ttl::before { width: 155px; height: 80px; top: -25px; }
  .glass_wrap { padding: 30px 10px 10px; }
  .glass_wrap .point_wrap p.point_ttl::before , .glass_wrap .point_wrap p.point_ttl::after { top: 0px; height: 100%; }
  .glass_wrap .point_wrap .harf { width: 100%; }
  .glass_wrap .point_wrap .harf:first-child { margin-bottom: 60px; }
  .glass_wrap .point_wrap .harf:first-child::after { top: inherit; right: 45%; bottom: -50px; transform: rotate(90deg); }
  .glass_wrap .point_wrap .flex picture.others_img05_gas { width: 90%; margin: 0 auto 10px; }
  .glass_wrap .point_wrap .grid { grid-template-columns: 1fr; }
  .glass_wrap .point_wrap .grid p.point_sec_ttl { text-align: center; }
  .glass_wrap .sassi .flex, .glass_wrap .shutter .flex { display:block; margin-bottom:10px; }
  .glass_wrap .sassi .flex_box { display:block; }
  .glass_wrap .point_wrap .flex { display: block; }
  .glass_wrap p.mark_ttl { text-align: left; }
  .glass_wrap .blk { padding: 30px 15px 20px; }
  .glass_wrap .blk_flex { display: block; }
  .glass_wrap .blk p.txt { text-align: left; }
  .glass_wrap .blk .blk_img { margin-bottom: 20px; }
  .glass_wrap .blk .blk_img picture { width: 50%; margin: 0 auto 10px; }
  .glass_wrap .blk_flex .blk01_img02 picture { margin: 0 auto 10px; }
  .glass_wrap .blk .txt_wrap .flex { flex-direction: column; }
  .glass_wrap .txt_wrap { width: 100%; }
  .glass_wrap .blk_flex .blk01_img02 { margin-bottom: 20px; }
  .glass_wrap .blk_flex .inner_flex { display: block; }
  .glass_wrap p.low_ttl { max-width: inherit; width: 100%; padding: 5px 10px; margin-bottom: 10px; }
  .glass_wrap .blk_flex p.low_bg_txt { padding: 10px; }
  .glass_wrap .blk02 .blk_flex .cp { text-align: left; }
  .glass_wrap p.low_txt { width: 100%; }
  .glass_wrap .point_wrap .grid picture.others_img05_gas { margin: 0 auto 10px; }
  .window-sash__lead { text-align: left; }
  .window-sash__grid { flex-direction: column; gap: 30px; }
  .entrance .anchor_ttl::before { width: 200px; height: 75px; top: -35px; }
  .security .anchor_ttl { font-size:clamp(18px,4.5vw,22px); padding:10px; }
  .security .anchor_ttl::before { width: 135px; height: 80px; left: -10px; top: -25px; }
  .security__intro { grid-template-columns:1fr; }
  .security__visual { text-align:center; }
  .security-town__body { grid-template-columns:1fr; }
  .security-town__image .cp { text-align:right; }
  .entrance .anchor_ttl::before
  .familock__label { display: block; width: 100%; text-align: center; }
  .familock__top { flex-direction: column; gap: 20px; }
  .familock__devices { flex: none; max-width: 260px; margin: 0 auto; }
  .familock__family { margin: 10px 0; }

  .tenkey_block { margin-top: 30px; }
  .tenkey_cols { flex-direction: column; gap: 30px; }
  .others .anchor_ttl::before
  .lock_grid { grid-template-columns: 1fr; gap: 25px; }
  .lock_feature_grid { grid-template-columns: 1fr; gap: 16px; }
  .lock_feature_head { padding: 5px 15px; text-align: center; }
  .lock_feature_body { padding: 15px; }
  .lock_grid { grid-template-columns: 1fr; }
  .careful_grid--3 { grid-template-columns: 1fr; gap: 22px; }
  .careful_grid--2 { grid-template-columns: 1fr; gap: 22px; }
  .careful_card .sp_flex { display: flex; }
  .others .anchor_ttl::before { width: 138px; height: 80px; left: -10px; top: -25px; }
  .comfort_grid { grid-template-columns: 1fr; gap: 26px; }
  .comfort_head { padding: 8px 14px; }
  .others__icon img { width: 113px; }
  .others__grid { grid-template-columns: 1fr; }  
}
