@charset "utf-8";

:root {
    --ink: #000;
    --sub: #a0a0a0;
    --line: #bbb;
    --sapeli: #ed8e25;
    --sapeli-bg: #f7f1ea;
    --sapeli-deep: #414b3c;
    --heat: #ff6b3d;
    --heat-bg: #f0e6d4;
    --cool: #449792;
    --cool-bg: #f2f1e1;
    --cool-deep: #000;
    --paper: #fff;
    --bg: #f7f1ea;
    --kari: #e99b1b;
    --kari-bg: #f2f1e1;
    --doubt: #333;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3",
        "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo,
        sans-serif;
    color: var(--ink);
    background: var(--bg);
    line-height: 2;
    letter-spacing: .03em;
    font-size: 15px;
}

.site-header {
    background: var(--paper);
    border-bottom: 1px solid var(--line);
}

.site-header .inner {
    width: min(100%, 1100px);
    margin: 0 auto;
    padding: 14px 20px;
    display: flex;
    align-items: baseline;
    gap: 14px;
}

.site-logo {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--sapeli-deep);
}

.breadcrumb {
    width: min(100%, 1100px);
    margin: 0 auto;
    padding: 10px 20px 0;
    font-size: 12px;
    color: var(--sub);
}
.breadcrumb a{
	color: var(--sub);
}
.wrap {
    width: min(100%, 1100px);
    margin: 0 auto;
    padding: 8px 20px 60px;
}

.kari,
.fix {
    display: inline-block;
    font-size: 11.5px;
    padding: 2px 9px;
    border-radius: 3px;
    vertical-align: 2px;
}

.kari {
    background: var(--kari-bg);
    color: var(--kari);
    font-weight: 500;
}

.fix {
    background: var(--cool-bg);
    color: var(--cool);
    font-weight: 700;
}

.ref-banner {
    background: var(--sapeli-bg);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 14px 16px;
    margin-top: 14px;
}

.ref-banner .label {
    font-size: 11.5px;
    color: var(--doubt);
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 8px;
}

.ref-banner .bnr {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 6px;
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 12px 14px;
}

.ref-banner .ph {
    flex: 0 0 96px;
    height: 68px;
    border-radius: 6px;
    overflow: hidden;
    background: #f6f2ee;
}

.ref-banner .ph img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ref-banner .t1 {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 15.5px;
    line-height: 1.5;
}

.ref-banner .t2 {
    font-size: 12px;
    color: var(--sub);
    margin-top: 2px;
}

article {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 38px 42px 48px;
    margin-top: 14px;
}

.eyebrow {
    font-size: 12.5px;
    letter-spacing: .16em;
    color: var(--sapeli);
    font-weight: 700;
    margin-bottom: 12px;
}

h1 {
    font-family: 'Noto Serif JP', serif;
    font-size: 33px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 14px;
}

.meta {
    font-size: 12.5px;
    color: var(--sub);
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 26px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
}

.photo {
    border: 2px dashed #c4b6ab;
    background: #f6f2ee;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #8d7f74;
    font-size: 13px;
    text-align: center;
    padding: 12px;
    overflow: hidden;
}

.photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.photo small {
    font-size: 11.5px;
    color: #a89a8e;
}

.photo.main {
    height: 290px;
    margin-bottom: 24px;
    padding: 0;
}

.photo.mid {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: 16px auto;
    padding: 0;
}

.photo.mid img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.photo.sq {
    width: 100%;
    max-width: 600px;
    height: auto;
    margin: 0 auto;
    padding: 0;
}

.photo.sq img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.doubt-lead {
    font-family: 'Noto Serif JP', serif;
    font-size: 18px;
    line-height: 2;
    color: var(--doubt);
    border-left: 4px solid var(--sapeli);
    padding: 4px 0 4px 18px;
    margin-bottom: 20px;
}

p {
    margin-bottom: 14px;
}

h2 {
    font-family: 'Noto Serif JP', serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
    margin: 52px 0 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--sapeli);
	background-color: #fff0dc;
}

h2 .no {
    font-size: 12px;
    color: var(--sapeli);
    display: block;
    letter-spacing: .18em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    margin-bottom: 4px;
}

h3 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    margin: 28px 0 10px;
    color: var(--sapeli-deep);
}

.tmap {
    background: var(--cool-bg);
    border-radius: 8px;
    padding: 20px;
    margin: 18px 0 6px;
}

.tmap .out {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 14px;
    background: var(--heat-bg);
    border-radius: 6px;
    padding: 10px 20px;
    margin: 0 auto 12px;
}

.tmap .out .l {
    font-size: 13px;
    font-weight: 700;
    color: var(--heat);
}

.tmap .out .v {
    font-size: 24px;
    font-weight: 700;
    color: #8f3a1c;
    font-family: 'Noto Serif JP', serif;
}

.tgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.tcell {
    background: #fff;
    border-radius: 6px;
    padding: 10px 8px;
    text-align: center;
}

.tcell .l {
    font-size: 12px;
    color: var(--cool);
}

.tcell .v {
    font-size: 16px;
    font-weight: 700;
    color: var(--cool-deep);
    line-height: 1.45;
}

.tmap .cond {
    font-size: 12px;
    color: var(--cool-deep);
    margin-top: 10px;
}

.note {
    font-size: 12px;
    color: var(--kari);
    margin-bottom: 14px;
}

.early-cta {
    font-size: 13.5px;
    margin: 14px 0 0;
    padding: 10px 14px;
    background: #faf7f3;
    border-radius: 6px;
}

.early-cta a {
    color: var(--sapeli);
    font-weight: 700;
}

.v-step {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px 20px;
    margin: 14px 0;
}

.v-step .vs-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 8px;
}

.v-step .vs-no {
    flex: 0 0 auto;
    font-family: 'Noto Serif JP', serif;
    font-weight: 900;
    font-size: 23px;
    color: var(--sapeli);
}

.v-step .vs-title {
    font-weight: 700;
    font-size: 18px;
}

.v-step .vs-doubt {
    font-size: 13.5px;
    color: var(--doubt);
    background: #f1edea;
    display: inline-block;
    padding: 2px 12px;
    border-radius: 999px;
    margin-bottom: 8px;
    font-weight: bold;
}

.v-step .vs-result {
    font-size: 14px;
}

.v-step .vs-result b {
    color: var(--cool-deep);
}

.qa {
    background: #f8f5f1;
    border-radius: 8px;
    padding: 16px 18px;
    margin: 14px 0;
}

.qa--real {
    background: #efece7;
}

.qa .q {
    font-weight: 700;
    font-size: 14.5px;
    margin-bottom: 6px;
}

.qa .q::before {
    content: "Q";
    display: inline-block;
    background: var(--sapeli);
    color: #fff;
    font-size: 12px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 4px;
    margin-right: 8px;
    font-family: 'Noto Serif JP', serif;
}

.qa .a {
    font-size: 14.5px;
    color: #4b433d;
    margin: 0;
}

.qa .a::before {
    content: "A";
    display: inline-block;
    background: var(--cool);
    color: #fff;
    font-size: 12px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 4px;
    margin-right: 8px;
    font-family: 'Noto Serif JP', serif;
}

.qa .a b {
    color: var(--sapeli-deep);
}

.person {
    display: flex;
    gap: 14px;
    align-items: center;
    background: var(--sapeli-bg);
    border-radius: 8px;
    padding: 14px 16px;
    margin: 16px 0;
}

.person .ph2 {
    flex: 0 0 130px;
    height: 130px;
    border-radius: 8px;
    overflow: hidden;
    background: #fdf6f3;
}

.person .ph2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.person .pt b {
    color: var(--sapeli-deep);
}

.person .pt {
    font-size: 13.5px;
    color: #5d4438;
}

.duo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 16px 0;
}

.duo .d-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.duo .d-body {
    padding: 12px 14px;
}

.duo .d-tag {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .1em;
}

.duo .d1 .d-tag {
    color: var(--cool-deep);
}

.duo .d2 .d-tag {
    color: var(--sapeli);
}

.duo .d-name {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 15.5px;
    margin: 2px 0 4px;
}

.duo .d-desc {
    font-size: 13px;
    color: var(--sub);
}

ul.faq {
    list-style: none;
    margin: 12px 0 6px;
}

ul.faq li {
    background: var(--cool-bg);
    border-radius: 8px;
    padding: 16px 18px;
    margin: 14px 0;
    font-size: 14.5px;
}

ul.faq li .fq {
    font-weight: 700;
    font-size: 14.5px;
    display: block;
    margin-bottom: 6px;
}

ul.faq li .fq::before {
    content: "Q";
    display: inline-block;
    background: var(--sapeli);
    color: #fff;
    font-size: 12px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 4px;
    margin-right: 8px;
    font-family: 'Noto Serif JP', serif;
}

ul.faq li .fa {
    font-size: 14.5px;
    color: #4b433d;
    display: block;
    margin-top: 3px;
}

ul.faq li .fa::before {
    content: "A";
    display: inline-block;
    background: var(--cool);
    color: #fff;
    font-size: 12px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 4px;
    margin-right: 8px;
    font-family: 'Noto Serif JP', serif;
}

ul.faq li.hl {
    background: var(--sapeli-bg);
}

.cta3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 20px 0 8px;
}

.cta3 .c-card {
    min-width: 0;
    border-radius: 8px;
    padding: 18px 20px;
}

.cta3 .c1 {
    background: #ffdfd9;
}

.cta3 .c2 {
    background: #e5ebe1;
}

.cta3 .c3 {
    background: #f4f1ed;
}

.cta3 .c-label {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .12em;
    opacity: .75;
    margin-bottom: 4px;
}

.cta3 .c-t {
    font-family: 'Noto Serif JP', serif;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 4px;
}

.cta3 .c-d {
    font-size: 13px;
    margin-bottom: 12px;
    opacity: .9;
}

.btn-web {
    max-width: 100%;
    text-align: center;
    margin: 3.5rem auto;
    padding: 0;
    width: 450px;
    position: relative;
    cursor: pointer;
    z-index: 0;
}

.btn-web::after {
    content: "";
    display: block;
    width: calc(100% - 1px);
    height: calc(100% - 1px);
    border: 1px solid #333;
    border-width: 0 1px 1px 0;
    position: absolute;
    right: -5px;
    bottom: -5px;
    transition: 0.2s;
    z-index: -1;
}

.btn-web:hover::after {
    content: "";
    border: 1px solid #fff;
    border-width: 0 1px 1px 0;
}

.btn-web a {
    display: block;
    width: 100%;
    padding: 21px 45px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.74;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: url("img/arrow_white02.png") right 16px center / 19px no-repeat #ed8e25;
    border: 1px solid #333;
    transition: 0.2s;
    transform: translate(0px, 0px) translateZ(0);
    z-index: 10;
    position: relative;
}

.btn-web a:hover {
    opacity: inherit;
}

.btn-web:hover a {
    transform: translate(5px, 5px) translateZ(0);
}

.cta3 .btn-web {
    margin: 0 auto;
}

.badge80 {
    display: inline-block;
    background: var(--kari);
    color: #000;
    font-size: 11.5px;
    font-weight: 700;
    padding: 2px 10px;
    border-radius: 999px;
    margin-left: 6px;
}

.honest {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin: 16px 0;
}

.honest .h-box {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px 16px;
}

.honest h4 {
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 8px;
}

.honest .ok h4 {
    color: var(--cool-deep);
}

.honest .ng h4 {
    color: var(--kari);
}

.honest ul {
    margin-left: 16px;
    font-size: 13.5px;
    color: #4b433d;
}

.honest ul li {
    margin-bottom: 5px;
}

footer {
    width: min(100%, 1100px);
    margin: 0 auto;
    padding: 20px;
    font-size: 11.5px;
    color: #a1968c;
    text-align: center;
}

/*----------------------------------------------------
    PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 600px) {

    /*/////////////PC用のCSSをここに作成してください。/////////////*/
    .sp_br {
        display: none;
    }

}





/* いごこちえ編集部・小林住宅体感取材ページ用の追加CSS */
.site-section-label{font-size:12px;font-weight:400;color:var(--sub)}
.site-location-label{margin-left:auto;font-size:12px;color:var(--sub)}
.photo-edge{border-radius:0;border-left:none;border-right:none;border-top:none}

.interview-lead{display:flex;align-items:center;gap:16px;background:#f8f1ed;border:1px solid #eadbd2;border-radius:8px;padding:14px 18px;margin:0 0 24px;overflow:hidden}
.interview-lead .portrait{flex:0 0 104px;height:126px;display:flex;align-items:flex-end;justify-content:center}
.interview-lead .portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.interview-lead .kicker{font-size:11.5px;color:#8a3b2a;font-weight:700;letter-spacing:.12em;margin-bottom:4px}
.interview-lead .title{font-family:'Noto Serif JP',serif;font-weight:700;font-size:17px;line-height:1.55;margin-bottom:5px}
.interview-lead p{font-size:13.5px;line-height:1.8;color:#5d5049;margin:0}
.interview-lead .credit{font-size:11.5px;color:#6e6660;margin-top:6px}


/*----------------------------------------------------
    SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 599px) {
    .pc_br {
        display: none;
    }

    /*/////////////SP用のCSSをここに作成してください。/////////////*/
    article {
        padding: 26px 18px 36px;
    }

    h1 {
        font-size: 26px;
    }

    .tgrid {
        grid-template-columns: repeat(2, 1fr);
    }

    .duo,
    .honest {
        grid-template-columns: 1fr;
    }

    .ref-banner .bnr {
        align-items: flex-start;
    }

    .ref-banner .ph {
        flex-basis: 80px;
        height: 60px;
    }

    .person {
        flex-direction: column;
        align-items: center;
    }

    .person .pt {
        align-self: stretch;
        margin-top: 10px;
    }

  .interview-lead{align-items:flex-start;padding:12px 14px;gap:10px}
  .interview-lead .portrait{flex-basis:78px;height:105px}
  .interview-lead .title{font-size:15.5px}

}