@charset "UTF-8";


:root { 
    --green03: #d3e7b6;
}

/* 【767px】PSDがこのサイズ 16px = 1.6rem */
@media only screen and (max-width: 767px) {
    html {
        width: 100%;
        font-size: calc(100vw / 767 * 10);
    }
    .sp-only {
        display: block !important;
    }
    .pc-only {
        display: none !important;
    }

    .wrapper-top {
        max-width: 100%;
    }

    /* header
    -------------------------------------------------------------------------------*/
    .header {
        height: 6.2rem;
    }

    .header-logo {
        max-width: 41.6rem;
    }

    /* fv
    -------------------------------------------------------------------------------*/
    .fv {
        height: 54rem;
    }

    .fv-ttl {
        font-size: 5.2rem;
    }

    .fv-read {
        padding: 1.2rem 2.6rem;
        font-size: 2.7rem;
    }

    .fv-readM {
        font-size: 3.4rem;
    }

    .fv-att {
        font-size: 1.4rem;
    }

    /* 共通（component）
    -------------------------------------------------------------------------------*/
    .com-link {
        margin-top: 0;
        padding-top: 0;
    }

    .com-cta {
        margin: 3rem 0 1rem;
    }

    .com-pri {
        gap: 0.8rem;
        font-size: 4.2rem;
        font-weight: 700;
    }

    .com-ttl {
        margin-bottom: 1.5rem;
        padding-bottom: 1rem;
        font-size: 3.6rem;
        font-weight: 700;
        font-feature-settings: "palt";
    }

    .com-catch {
        margin-bottom: 1rem;
        font-size: 3rem;
        font-weight: 700;
        letter-spacing: 0.03em;
        white-space: nowrap;
        line-height: 1.5;
        letter-spacing: -0.03rem;
    }

    .com-txt {
        margin-bottom: 0.6rem;
        font-weight: 700;
    }

    .com-origin {
        padding: 0.7rem 2.5rem 0.6rem;
        border: 0.2rem solid var(--red01);
        font-size: 3rem;
    }

    .com-new {
        width: 10rem;
        height: 4.7rem;
        font-size: 3rem;
    }

    .com-pri02 {
        height: 15.6rem;
        font-weight: 600;
        line-height: 1.2;
    }

    .com-ttl02 {
        font-weight: 600;
    }

    /* price,equipment-nav,option-nav,style-navのみ */
    .frame{
        padding: 0;
    }
    .frame-sp{
        padding: 0 2rem;
    }

    /* price（レイアウトは PC 共通／SP はサイズ調整）
    -------------------------------------------------------------------------------*/
    .price {
        padding: 0 0 2rem;
    }

    .price-container {
        gap: 2rem;
    }

    .price-priceSingle {
        gap: 0.8rem;
    }

    .price-priceSingle-info {
        flex: 0 1 35%;
        min-width: 0;
    }

    .price-priceSingle-info .price-ttl {
        margin: 3rem 0 2.2rem;
        padding: 1.3rem;
        font-size: 4.8rem;
    }

    .price-priceSingle .priceList-ttl {
        font-size: 2.5rem;
    }

    .price-priceSingle .priceList-ttl-line-plan {
        font-size: 3.3rem;
    }

    .price-priceSingle-price {
        flex: 1 1 60%;
        min-width: 0;
        margin-top: 1rem;
    }

    .price-priceSingle-price .taxout {
        margin-bottom: 0.4rem;
        font-size: 12.4rem;
        white-space: nowrap;
    }

    .price-priceSingle-price .taxout-num {
        margin-right: -0.2rem;
    }

    .price-priceSingle-price .taxout-comma {
        font-size: 8rem;
    }

    .price-priceSingle-price .taxout-yen {
        font-size: 6rem;
    }

    .price-priceSingle-price .taxin {
        flex-wrap: nowrap;
    }

    .price-priceSingle-price .taxin-paren {
        font-size: 6.8rem;
    }

    .price-priceSingle-price .taxin-num {
        margin-left: 0.3rem;
        margin-right: -1.4rem;
        font-size: 8rem;
    }

    .price-priceSingle-price .taxin-comma {
        font-size: 6.4rem;
    }

    .price-priceSingle-price .taxin-set {
        margin-bottom: 0;
        gap: 0;
    }

    .price-priceSingle-price .taxin-label {
        font-size: 2.8rem;
        margin-bottom: 0.5rem;
    }

    .price-priceSingle-price .taxin-yen {
        font-size: 3.4rem;
    }

    .price-priceList > li {
        padding: 0 1.2rem;
        border-right: 1px solid var(--black02);
    }

    .price-priceList .priceList-ttl {
        margin-bottom: 0.5rem;
        font-size: 1.6rem;
        line-height: 1.3;
        letter-spacing: -0.04em;
    }

    .price-priceList .taxout {
        margin-bottom: 0.3rem;
        font-size: 6rem;
        white-space: nowrap;
    }

    .price-priceList .taxout-num {
        margin-right: -0.2rem;
    }

    .price-priceList .taxout-comma {
        font-size: 4.8rem;
    }

    .price-priceList .taxout-yen {
        font-size: 2.5rem;
    }

    .price-priceList .taxin {
        flex-wrap: nowrap;
    }

    .price-priceList .taxin-paren {
        font-size: 4.2rem;
    }

    .price-priceList .taxin-num {
        margin-left: 0.2rem;
        margin-right: -0.5rem;
        font-size: 4.6rem;
    }

    .price-priceList .taxin-comma {
        font-size: 4.6rem;
    }

    .price-priceList .taxin-sub {
        font-size: 3.5rem;
    }

    .price-priceList .taxin-set {
        margin-bottom: 0;
        gap: 0;
    }

    .price-priceList .taxin-label {
        font-size: 1.4rem;
        margin-bottom: 0.2rem;
    }

    .price-priceList .taxin-yen {
        font-size: 1.9rem;
    }

    /* option-nav
    -------------------------------------------------------------------------------*/
    .option-nav-productLink {
        gap: 0;
    }

    .option-nav-productInner {
        min-width: 16rem;
        gap: 0.5rem;
    }

    .option-nav-productImg {
        max-width: 18.8rem;
    }

    .productInner-new {
        padding: 0.4rem 0.5rem;
        font-size: 1.6rem;
    }

    .productInner-origin {
        width: 11.2rem;
        height: 2.6rem;
        padding-top: 0.2rem;
        border: 0.2rem solid var(--red01);
        font-size: 1.6rem;
    }

    .productInner-ttl {
        font-size: 3rem;
        white-space: nowrap;
    }

    .productInner-hikari {
        font-size: 2rem;
    }

    .productInner-x {
        font-size: 5rem;
    }

    /* style-nav
    -------------------------------------------------------------------------------*/
    .style-nav {
        gap: 2.5rem;
        padding: 1rem 0.6rem 1.6rem;
    }

    .style-nav-ttl {
        height: 7.8rem;
        font-size: 2.3rem;
        line-height: 1.35;
        font-feature-settings: "palt";
    }

    .style-nav-img {
        height: 16.2rem;
    }

    /* equipment
    -------------------------------------------------------------------------------*/
    .equipment {
        padding: 1.2rem 1.2rem 0;
    }

    /* キッチン */
    .icon-watow {
        margin: 0 0 -2.6rem 0;
        max-width: 10.9rem;
    }

    /* カップボード */
    .cupboard-flex-ttl {
        padding: 0.4rem 0 0.4rem 1rem;
        font-size: 2.3rem;
        letter-spacing: -0.2rem;
    }
    .cupboard-flex{
        padding: 0 1rem;
    }

    .equipment-pri {
        font-weight: 600;
        gap: 0;
    }

    .equipment-priSP {
        /* 文字圧縮（細長にする） */
        transform: scaleX(0.85);
        transform-origin: left center;
        margin-right: -9rem;
        font-size: 5rem;
    }

    /* カウンター洗面 */
    .counter {
        padding: 0 1.2rem 0 0;
    }

    .counter-ttl {
        font-weight: 600;
        font-feature-settings: "palt" 0;
        gap: 1.6rem;
        padding-bottom: 1.6rem;
    }

    .counter-txt {
        white-space: nowrap;
        letter-spacing: 0.03em;
    }

    .counter-inner {
        display: grid;
        justify-content: start;
        align-items: start;
        grid-template-columns: 24.2rem auto;
        grid-template-rows: 35rem 31rem;
        gap: 1.2rem 3rem;
    }

    .counter-catch {
        margin-bottom: 0.4rem;
    }

    .counter-list {
        margin-left: 0.2rem;
        min-width: 26rem;
        font-weight: 700;
    }

    .counter-list > li:nth-of-type(2),
    .counter-list > li:nth-of-type(3),
    .counter-list > li:nth-of-type(5),
    .counter-list > li:nth-of-type(6),
    .counter-list > li:nth-of-type(7) {
        letter-spacing: 0.15rem;
    }

    .counter-att {
        margin-top: -7rem;
        margin-bottom: 7rem;
        font-weight: 700;
    }

    /* バスルーム */
    .equipment-ttl-bath {
        padding-bottom: 1.8rem;
    }

    .equipment-catch-bath01 {
        margin-bottom: 2rem;
    }

    .equipment-catch-bath02 {
        margin-top: 1rem;
        margin-bottom: 1.2rem;
    }

    .equipment-bathList {
        margin-bottom: 2rem;
    }

    .equipment-bathList-grid {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
    }

    .equipment-bathList-item {
        flex-direction: row;
        align-items: flex-start;
    }

    .equipment-bathList-img {
        flex: 0 0 33.333%;
        width: 33.333%;
        max-width: 33.333%;
    }

    .equipment-bathList-body {
        flex: 1;
        min-width: 0;
    }

    .equipment-bathList-img picture {
        display: block;
    }

    .equipment-bathList-img img {
        width: 100%;
        height: auto;
    }

    .equipment-bathList-ttl {
        font-size: 2.8rem;
    }

    .equipment-bathList-ttl .equipment-bathList-mark {
        font-size: 1.1rem;
    }

    .equipment-bathList-txt {
        font-size: 2rem;
        line-height: 1.5;
        font-weight: 700;
    }

    .equipment-bathList-att {
        margin-top: 1rem;
        font-size: 1.5rem;
        line-height: 1.5;
    }

    .equipment-catch-bath03 {
        margin-left: 0.4rem;
    }

    .equipment-txt-bath {
        margin-left: 0.4rem;
    }

    /* siding
    -------------------------------------------------------------------------------*/
    .siding {
        padding: 2.4rem 2.1rem 0;
    }

    .siding-pri-sub {
        margin-left: -0.8rem;
        font-size: 3rem;
    }

    .siding-txt {
        margin-bottom: 2rem;
    }

    /* enekari    -------------------------------------------------------------------------------*/
    .enekari {
        padding: 0.9rem 2rem 0;
    }

    .enekari-pri {
        padding-left: 1.5rem;
        font-size: 5rem;
    }

    .enekari-lead {
        width: 100vw;
        margin-bottom: 2rem;
        font-size: 2.8rem;

        /* 中央に */
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    .enekari-leadS {
        font-size: 2.3rem;
    }

    .enekari-leadX {
        font-size: 3.3rem;
    }

    .enekari-img01 {
        max-width: 49.1rem;
        margin-inline: auto;
    }

    .enekari-txt {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }

    .enekari-list {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 1.3rem;
    }

    .enekari-list > li {
        padding-left: 1rem;
        font-size: 1.6rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .enekari-listTxt > b {
        font-size: 2.2rem;
    }

    .enekari-list > li:nth-of-type(-n+6) {
        grid-column: span 1;
        min-height: 7rem;
    }

    .enekari-list > li:nth-of-type(n+7) {
        grid-column: span 1;
        min-height: 10rem;
    }

    .enekari-list > li:nth-of-type(n+9) {
        min-height: 7rem;
    }

    .enekari-listTxt > sup {
        font-size: 2rem;
    }

    .enekari-att01 {
        margin-bottom: 3rem;
        font-size: 1.58rem;
    }

    .enekari-wrap {
        flex-direction: column;
    }

    .enekari-innerTtl {
        font-size: 2.4rem;
        font-weight: 700;
    }

    .enekari-innerTxt {
        font-size: 1.67rem;
        font-weight: 600;
        line-height: 1.5;
    }

    .enekari-img02 {
        max-width: 57.3rem;
        margin-inline: auto;
    }

    .enekari-innerAtt {
        margin: 2rem 0 2rem auto;
        font-size: 1.2rem;
        font-weight: 600;
        line-height: 1.5;
    }

    .enekari-att02 {
        margin: 2rem 0 3rem;
        font-size: 1.4rem;
    }

    .enekari-att03 {
        font-size: 1.4rem;
        font-weight: 600;
        margin-bottom: 5.5rem;
    }

    /* zeh
    -------------------------------------------------------------------------------*/
    .zeh {
        padding: 2.6rem 1.6rem 0;
    }

    .zeh-pri {
        justify-content: left;
        padding-left: 2rem;
        font-size: 5rem;
        line-height: 1.2;
    }

    .zeh-pri > span {
        transform: none;
        transform-origin: initial;
        margin-right: 0;
    }

    .zeh-lead {
        margin-bottom: 1.5rem;
        letter-spacing: 0.05em;
        line-height: 1.4;
    }

    .zeh-att {
        margin-top: 3rem;
        margin-bottom: 3rem;
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .zeh-img02-plusSP {
        padding-inline: 0;
    }

    .zeh-ttl {
        font-size: 5rem;
    }

    .zeh-catch {
        margin-left: 0;
        margin-bottom: 2rem;
        font-size: 2.6rem;
        line-height: 1.4;
        white-space: wrap;
    }

    .zeh-inner {
        margin-left: 0;
        margin-bottom: 0;
        flex-direction: column;
        gap: 3.3rem;
    }

    .zeh-img03 {
        max-width: 100%;
    }

    .zeh-txt {
        line-height: 1.8;
        letter-spacing: 0.02em;
    }

    .zeh-list > li {
        padding-block: 1.7rem;
        padding-left: 0;
        gap: 1.8rem 2rem;
    }

    .zeh-list > li:nth-of-type(1) {
        grid-template-columns: 31rem auto;
        grid-template-rows: 5.4rem 19rem;
    }

    .zeh-listTtl {
        color: var(--black);
        background-color: var(--green03);
        font-weight: 700;
        z-index: 2;
    }

    .zeh-listTxt {
        font-size: 2rem;
        line-height: 1.4;
    }

    .zeh-img04 {
        max-width: 40rem;
    }

    .zeh-list > li:nth-of-type(2) {
        position: relative;
        grid-template-columns: 48rem;
        grid-template-rows: 5.4rem auto;
        z-index: 1;
    }

    .zeh-img05 {
        position: absolute;
        top: 3.2rem;
        right: 0;
        grid-column: 1 / 3 !important;
        max-width: 39.2rem;
        z-index: 0;
    }

    .zeh-list > li:nth-of-type(2) .zeh-listTxt-L {
        font-size: 2.2rem;
        font-weight: 900;
        letter-spacing: 0.1rem;
    }

    .zeh-list > li:nth-of-type(2) .zeh-listTxt-M {
        margin: 0 0 1.5rem 0.4rem;
        line-height: 1.5;
    }

    .zeh-list > li:nth-of-type(3) {
        grid-template-columns: 45.1rem auto;
        grid-template-rows: 5.4rem auto;
        gap: 2.2rem 3.4rem;
    }

    .zeh-img06 {
        max-width: 28.8rem;
        margin: -0.5rem -2.4rem 0 auto;
    }

    /* exterior
    -------------------------------------------------------------------------------*/
    .exterior {
        padding: 1.5rem 2.1rem 0 0.7rem;
    }

    .exterior-ttl {
        margin-bottom: 2.2rem;
        font-weight: 600;
    }

    /* interior
    -------------------------------------------------------------------------------*/
    .interior {
        padding: 1.5rem 1rem 0;
    }

    .interior-pri {
        height: 14.4rem;
    }

    .interior-ttl {
        margin-left: 0.8rem;
    }

    /* note
    -------------------------------------------------------------------------------*/
    .note-txt {
        padding-bottom: 0;
    }

    /* ctaFollow（手前追従ボタン）
    -------------------------------------------------------------------------------*/
    #ctaFollow {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 999;
    }

    /* floatBnr（右上追従ボタン）
    -------------------------------------------------------------------------------*/
    #floatBnr {
        display: none;
    }

    /* Microsoft Edgeのみ
    -------------------------------------------------------------------------------*/
    .isEdge .price-priceSingle-price .taxout-num {
        margin-right: -0.2rem;
    }
    .isEdge .price-priceSingle-price .taxin-num {
        margin-right: -0.7rem;
    }
    .isEdge .price-priceList .taxout-num {
        margin-right: -0.65rem;
    }
    .isEdge .price-priceList .taxin-num {
        margin-right: -0.45rem;
    }

    /* Androidのみ
    -------------------------------------------------------------------------------*/
    .isAndroid .price-priceSingle-price .taxout-num {
        margin-right: -0.2rem;
    }
    .isAndroid .price-priceSingle-price .taxin-num {
        margin-right: -0.2rem;
    }
    .isAndroid .price-priceList .taxout-num {
        margin-right: -0.2rem;
    }
    .isAndroid .price-priceList .taxin-num {
        margin-right: 0;
    }
    .isAndroid .price-priceList .taxin-sub {
        margin-right: -0.3rem;
    }
    .isAndroid .productInner-x {
        margin-top: -1.2rem;
        margin-bottom: -1rem;
    }
    .isAndroid .siding-pri-sub {
        margin-bottom: 0;
    }
    .isAndroid .siding-leadX {
        line-height: 0.8;
    }
}