@charset "utf-8";

.page-really-turf{
    .titlewrap {
        background:url(../img/products/really-turf/mv.jpg) no-repeat center center/cover;
    }
}

.page-vistafolia{
    .titlewrap {
        background:url(../img/products/vistafolia/mv.jpg) no-repeat center center/cover;
    }
}

.page-bouquetpot{
    .titlewrap {
        background:url(../img/products/bouquetpot/mv.jpg) no-repeat center center/cover;
    }
}

section {
    .wrap {
        .contents {
                h3 {
                    font-size:2.6rem;
                    color:#3C6172;
                    line-height:1.5;
                    position:relative;
                    margin-bottom:1.5em;
                    padding-left:1.5em;
                    &::before {
                        content:'';
                        display:block;
                        width:2.6em;
                        height:2.6em;
                        background-color:#E3EFDB;
                        border-radius:50%;
                        position:absolute;
                        left:0;
                        top:-.66em;
                        z-index:-1;
                    }
                }
        }
    }
}

#page_link {
    .wrap {
        .contents {
            p {
                text-align:center;
                font-size:2.0rem;
                font-weight:600;
                margin-bottom:2em;
            }
            ul {
                display:flex;
                flex-wrap:wrap;
                column-gap:2%;
                row-gap:.5em;
                li {
                    flex-grow:1;
                    a {
                        border:1px solid #707070;
                        display:grid;
                        grid-template-columns:1fr 1em;
                        align-items:center;
                        height:3em;
                        grid-column-gap:.5em;
                        text-align:center;
                        padding:.5em 1em;
                        font-size:min(1.6vw,1.6rem);
                    }
                }
				&.links {
					max-width:720px;
					margin:0 auto;
				}
            }
        }
    }
}

#info {
    .wrap {
        .contents {
            .item {
                .tit {
                    font-size:2.8rem;
                    line-height:1.5;
                    font-weight:600;
                    color:#FFFFFF;
                    padding:.33em;
                    text-shadow:0 3px 6px rgba(0,0,0,.15);
                    margin-bottom:.66em;
                    &.tit1 {
                        background: #C4A64C;
                        background: linear-gradient(90deg, rgba(196, 166, 76, 1) 0%, rgba(196, 166, 76, 0) 66%);
                    }
                    &.tit2 {
                        background: #B2B0B0;
                        background: linear-gradient(90deg, rgba(176, 176, 176, 1) 0%, rgba(176, 176, 176, 0) 66%);
                    }
                }
                padding:0 30px;
                & > p {
                    font-size:1.8rem;
                    color:#3C6172;
                    margin-bottom:1em;
                    &.caption {
                        color:#000000;
                        font-size:1.4rem;
                        line-height:1.5;
                        padding-top:1.5em;
                    }
                }
                &:not(:last-child) {
                    margin-bottom:60px;
                }
                .product_info {
                    background-color:#FFFFFF;
                    padding:30px;
                    display:grid;
                    grid-template-columns:40% 1fr;
                    grid-column-gap: 5%;
                    .detail {
                        h4 {
                            font-size:2.4rem;
                            color:#3C6172;
                            line-height:1.5;
                            margin-bottom:.5em;
                        }
                        p {
                            line-height:1.5;
                            &:not(:last-child) {
                                margin-bottom:1em;
                            }
                        }
                        ul {
                            margin-bottom:1em;
                            li {
                                line-height:1.5;
                            }
                        }
                        dl {
                            display:grid;
                            padding:.5em 0;
                            grid-template-columns:4em 1fr;
                            align-items:center;
                            border-top:1px solid #707070;
                            &:last-child {
                                border-bottom:1px solid #707070;
                            }
                            dt,dd {
                                line-height:1.5;
                            }
                        }
                    }
                }
                .related {
                    display:grid;
                    grid-template-columns:repeat(2,1fr);
                    grid-column-gap:5%;
                    & > img {
                        display:block;
                        aspect-ratio:3/2;
                        object-fit:cofer;
                    }
                    h4 {
                        font-size:2.0rem;
                        line-height:1.5;
                        padding:.66em 0;
                    }
                    p {
                        font-weight:400;
                        line-height:1.5;
                    }
                    ul {
                        display:flex;
                        flex-wrap:wrap;
                        padding-top:1em;
                        font-size:min(1.1vw,1.1rem);
                        li {
                            text-align:center;
                            display:grid;
                            justify-items:center;
                            grid-row-gap:.5em;
                            width:25%;
                            img {
                                width:50%;
                            }
                        }
                    }
                }
                .contents_inner {
                    display:grid;
                    grid-template-columns:repeat(3,1fr);
                    grid-column-gap:5%;
                    .img {
                        img {
                            margin-bottom:15px;
                        }
                        h5 {
                            font-size:1.6rem;
                            color:#3C6172;
                            line-height:1.5;
                            margin-bottom:.33em;
                        }
                        p {
                            font-size:1.4rem;
                            color:#3C6172;
                            line-height:1.5;
                            margin-bottom:.5em;
                        }
                        dl {
                            font-size:1.2rem;
                            display:grid;
                            padding:.5em 0;
                            grid-template-columns:4em 1fr;
                            align-items:center;
                            border-top:1px solid #707070;
                            &:last-child {
                                border-bottom:1px solid #707070;
                            }
                            dt,dd {
                                line-height:1.5;
                                color:#3C6172;
                            }
                        }
                    }
                    &.customize {
                        grid-row-gap:20px;
                        .img {
                            background-color:#FFFFFF;
                            h4 {
                                font-size:2.0rem;
                                color:#3C6172;
                                line-height:1.5;
                                padding:.5em .5em 0;
                            }
                            img {
                                margin-bottom:0;
                            }
                            p {
                                text-align:center;
                                color:#000000;
								padding-top:.5em;
                            }
                        }
                    }
                }
                .imgbox {
                    display:grid;
                    grid-template-columns:repeat(2,1fr);
                    grid-column-gap:1%;
                }
            }
        }
    }
}

#case {
    .wrap {
        .contents {
            ul {
                display:flex;
                flex-wrap:wrap;
                column-gap:2%;
                row-gap:.5em;
                max-width:800px;
                margin:0 auto 50px;
                li {
                    flex-grow:1;
                    a {
                        border:1px solid #707070;
                        background-color:#FFFFFF;
                        color:#3C6172;
                        display:grid;
                        align-items:center;
                        height:3em;
                        grid-column-gap:.5em;
                        text-align:center;
                        padding:.5em 1em;
                        font-size:min(1.6vw, 1.6rem);
                    }
                }
            }
            .imgbox {
                display:grid;
                grid-template-columns:repeat(3,1fr);
                grid-column-gap:3%;
                margin-bottom:30px;
                .img {
					img {
						width:100%;
					}
                    h4 {
                        text-align:center;
                        color:#3C6172;
                        font-size:2.0rem;
                        line-height:1.5;
                        padding-top:.5em;
                    }
                }
            }
            .link {
                display:grid;
                justify-content:end;
                a {
                    color:#3C6172;
                }
            }
        }
    }
}

#point {
    .wrap {
        .contents {
            .worry {
                margin-bottom:60px;
                dt {
                    font-size:2.8rem;
                    color:#3C6172;
                    font-weight:600;
                    text-align:center;
                    margin-bottom:1em;
                }
				dd {
					text-align:center;
					img {
						max-width:70%;
					}
				}
            }
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-gap:50px 5%;
                padding:0 30px;
                margin-bottom:60px;
                .detail {
                    .ttl {
                        font-size:2.0rem;
                        display:grid;
                        grid-template-columns:auto 1fr;
                        align-items:center;
                        grid-column-gap:.33em;
                        margin-bottom:20px;
                        .point {
                            background-color:var(--color_sub2);
                            color:#FFFFFF;
                            font-size:1.2rem;
                            width:5em;
                            height:5em;
                            border-radius:50%;
                            display:grid;
                            align-content:center;
                            justify-items:center;
                            grid-row-gap:.33em;
                            padding-top:.2em;
                            line-height:1;
                            span {
                                font-size:1.7rem;
                            }
                        }
                        h4 {
                            line-height:1.5;
                            color:#3C6172;
                        }
                    }
                    p {
                        color:#3C6172;
                    }
                }
            }
            .contbox {
                padding:0 30px;
                & > p {
                    font-size:2.0rem;
                    color:#3C6172;
                    margin-bottom:1em;
                }
                &:not(:last-child) {
                    margin-bottom:60px;
                }
                .series {
                    grid-gap:30px 2%;
                    display:flex;
                    flex-wrap:wrap;
                    align-items:center;
                    justify-content:center;
                    li {
                        width:calc((100% / 6) - 2%);
                        a {
                            display:grid;
                            justify-items:center;
                            grid-row-gap:15px;
                            img {
                                display:block;
                                width:80%;
                            }
                            span {
                                font-size:1.8rem;
                                line-height: 1.5;
                                text-align: center;
                            }
                        }
                    }
                }
                &.verification {
                    .product_slider {
    					margin-bottom:0;
    					.slide {
    						padding:0 5px;
    						a {
    							display:grid;
    							.img {
    								position:relative;
                                    margin-bottom:10px;
    								img {
    									display:block;
    									width:100%;
    									aspect-ratio:3/2;
    									object-fit:cover;
    								}
    							}
                                .cat {
                                    background-color:var(--color_main);
                                    color:#FFFFFF;
                                    font-size:1.3rem;
                                    padding:.33em .5em;
                                    justify-self:start;
                                    margin:0 10px 10px;
                                }
                                h3 {
                                    padding:0;
                                    color:#000000;
                                    font-size:1.6rem;
                                    margin:0 10px .33em;
                                    &::before {
                                        content:none;
                                    }
                                }
    							.date {
    								font-size:1.3rem;
                                    margin:0 10px 10px;
    							}
    							p {
    								font-size:1.6rem;
    								line-height:1.5;
    								font-weight:400;
                                    margin:0 10px;
    							}
    						}
    					}
        				.slick-arrow {
        					width:30px;
        					height:30px;
                            z-index:5;
        					&::before {
        						content:none;
        					}
        					&.slick-next {
        						background:url(../img/common/arrow-box-green-right.svg) no-repeat center center/contain;
        						right:-35px;
        					}
        					&.slick-prev {
        						background:url(../img/common/arrow-box-green-left.svg) no-repeat center center/contain;
        						left:-35px;
        					}
        				}
        				.slick-dots {
        					position:relative;
        					bottom:auto;
        					margin-top:20px;
        					li {
        						margin:0 5px;
        						padding:5px 0;
        						width:auto;
        						height:auto;
        						button {
        							height:3px;
        							width:50px;
        							padding:0;
        							background-color:#999999;
        							&::before {
        								content:none;
        							}
        						}
        						&.slick-active {
        							button {
        								background-color:var(--color_main);
        							}
        						}
        					}
        				}
    				}
                    .btn {
                        width:300px;
                        padding-left:1em;
                        grid-column-gap:1em;
                        margin-left:auto;
                        margin-top:30px;
                    }
                }
            }
        }
    }
}

#faq {
    .wrap {
        .contents {
            display:grid;
            grid-row-gap:15px;
            dl {
                border-top:1px solid #707070;
                border-bottom:1px solid #707070;
                padding:1em 0;
                dt {
                    display:grid;
                    grid-template-columns:2em 1fr 1em;
                    grid-column-gap:1em;
                    line-height:1.5;
                    font-weight:700;
                    cursor: pointer;
                    .qa {
                        background-color:var(--color_main);
                        color:#FFFFFF;
                        height:2em;
                        display:grid;
                        align-items:center;
                        justify-content:center;
                    }
                    .icon {
                        height:1em;
                        position:relative;
                        transform:translateY(.5em);
                        &::before,&::after {
                            content:'';
                            display:grid;
                            width:80%;
                            height:1px;
                            background-color:#000000;
                            position:absolute;
                            top:50%;
                            left:50%;
                            transform:translate(-50%,-50%) rotate(0deg);
                            transition:.3s;
                        }
                        &::after {
                            transform:translate(-50%,-50%) rotate(90deg);
                        }
                    }
                    &.open {
                        .icon {
                            &::before {
                                transform:translate(-50%,-50%) rotate(90deg);
                                opacity: 0;
                            }
                            &::after {
                                transform:translate(-50%,-50%) rotate(180deg);
                            }
                        }
                    }
                }
                dd {
                    display:none;
                    .answer {
                        display:grid;
                        grid-template-columns:2em 1fr;
                        grid-column-gap:1em;
                        padding-top:1em;
                        .qa {
                            color:var(--color_sub);
                            height:2em;
                            display:grid;
                            align-items:center;
                            justify-content:center;
                        }
                    }
                }
            }
        }
    }
}

#method {
    .wrap {
        .contents {
            .contents_inner {
                display:grid;
                grid-template-columns:repeat(2,1fr);
                grid-template-rows:repeat(3,auto);
                grid-gap:20px;
                & > div {
                    display:grid;
                    grid-template-columns:26% 1fr;
                    grid-gap:3%;
                    padding:10px;
                    border:1px solid #707070;
                    background-color:#FFFFFF;
                    .detail {
                        padding:.5em 0;
                        display:grid;
                        grid-template-rows:auto 1fr auto;
						align-content:start;
                        h4 {
                            font-size:2.0rem;
                            color:#3C6172;
                            margin-bottom:.5em;
                        }
                        p {
                            line-height:1.5;
                            color:#3C6172;
                            font-weight:400;
                            align-content:start;
							&.fontsmall {
								font-size:.8em;
							}
                        }
						.more {
							color:#3C6172;
							display:grid;
							height:3em;
							width:12em;
							border-radius:1.5em;
							align-items:center;
							justify-content:center;
							font-size:1.4rem;
							font-weight:600;
							border:1px solid #707070;
							justify-self:end;
							margin-top:1em;
						}
                    }
                    .img {
                        img {
                            display:block;
                        }
                    }
                    &.flow {
                        grid-area:1/1/4/2;
                        height:100%;
                        padding:0;
                        grid-template-columns:1fr;
                        grid-template-rows:auto 1fr;
                        grid-row-gap:0;
                        .detail {
                            padding:20px;
                        }
                    }
                }
            }
        }
    }
}

.pum-container {
    top:50%!important;
    left:50%!important;
    margin:0!important;
    transform:translate(-50%,-50%);
    width:90%!important;
    max-width:1000px!important;
    .pum-content {
        padding:min(3vw,30px);
        min-height:300px;
        .wp-block-heading {
            text-align:center;
            line-height:1.5;
            font-size:min(4vw,2.4rem);
            color:#FFFFFF;
            background-color:var(--color_main);
            padding:.5em;
            margin-bottom:1em;
        }
        p {
            font-size:min(3.6vw,1.6rem);
            line-height:1.8;
            &:not(:last-child) {
                margin-bottom:1.5em;
            }
        }
        .wp-block-columns {
            row-gap:20px;
        }
        .wp-block-image {
            &::before {
                content:none!important;
            }
            &:has( + p) {
                margin-bottom:min(3vw,30px);
            }
        }
        figcaption {
            display:block!important;
            position:relative!important;
            background:none!important;
            color:#000000!important;
            text-shadow:none!important;
            font-size:min(3.2vw,1.4rem)!important;
            padding:1em 0!important;
            line-height:1.3;
        }
    }
    .pum-close {
        border-radius:50%!important;
        top:-15px!important;
        right:-15px!important;
        background-color:var(--color_sub)!important;
        color:#FFFFFF!important;
    }
}

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

}

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

    #point {
        .wrap {
            .contents {
                .worry {
					dd {
						img {
							max-width:90%;
						}
					}
                }
                .contbox {
                    .series {
                        li {
                            width:calc((100% / 4) - 2%);
                        }
                    }
                }
            }
        }
    }

}

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

    section {
        .wrap {
            .contents {
                    h2 {
                        font-size:2.0rem;
                    }
                    h3 {
                        font-size:1.8rem;
                        padding-left:1em;
                        &::before {
                            left:-.33em;
                        }
                    }
            }
        }
    }
    
    #page_link {
        .wrap {
            .contents {
                p {
                    font-size:1.6rem;
                    text-align:left;
                }
                ul {
                    li {
                        width:48%;
                        a {
                            font-size:min(3.4vw,1.6rem);
                        }
                    }
                }
            }
        }
    }
    
    #info {
        .wrap {
            .contents {
                .item {
                    .tit {
                        font-size:2rem;
                        &.tit1 {
                            background: #C4A64C;
                            background: linear-gradient(90deg, rgba(196, 166, 76, 1) 20%, rgba(196, 166, 76, 0) 100%);
                        }
                        &.tit2 {
                            background: #B2B0B0;
                            background: linear-gradient(90deg, rgba(176, 176, 176, 1)2 0%, rgba(176, 176, 176, 0) 10%);
                        }
                    }
                    padding:0;
                    & > p {
                        font-size:1.4rem;
                        &.caption {
                            font-size:1.3rem;
                        }
                    }
                    &:not(:last-child) {
                        margin-bottom:45px;
                    }
                    .product_info {
                        padding:20px 0 0;
                        display:grid;
                        grid-template-columns:1fr;
                        & > img {
                            width:100%;
                            max-width:400px;
                            margin:0 auto;
                        }
                        .detail {
                            display:contents;
                            h4 {
                                font-size:2.0rem;
                                grid-area:1/1/2/2;
                            }
                            p {
                                line-height:1.5;
                                &:not(:last-child) {
                                    margin-bottom:1em;
                                }
                            }
                            ul {
                                font-size:1.4rem;
                            }
                            dl {
                                font-size:1.4rem;
                            }
                        }
                    }
                    .related {
                        grid-template-columns:1fr;
                        grid-row-gap:30px;
                        max-width:400px;
                        margin:0 auto;
                        h4 {
                            font-size:1.6rem;
                        }
                        ul {
                            font-size:min(2.7vw,1.2rem);
                        }
                    }
                    .contents_inner {
                        grid-template-columns:1fr;
                        grid-row-gap:30px;
                        max-width:400px;
                        margin:0 auto;
                        .img {
                            img {
                                margin-bottom:15px;
                            }
                            h5 {
                                font-size:1.6rem;
                                color:#3C6172;
                                line-height:1.5;
                                margin-bottom:.33em;
                            }
                            p {
                                font-size:1.4rem;
                                color:#3C6172;
                                line-height:1.5;
                                margin-bottom:.5em;
                            }
                            dl {
                                font-size:1.2rem;
                                display:grid;
                                padding:.5em 0;
                                grid-template-columns:4em 1fr;
                                align-items:center;
                                border-top:1px solid #707070;
                                &:last-child {
                                    border-bottom:1px solid #707070;
                                }
                                dt,dd {
                                    line-height:1.5;
                                    color:#3C6172;
                                }
                            }
                        }
                        &.customize {
                            grid-row-gap:20px;
                            .img {
                                background-color:#FFFFFF;
                                h4 {
                                    font-size:2.0rem;
                                    color:#3C6172;
                                    line-height:1.5;
                                    padding:.5em .5em 0;
                                }
                                img {
                                    margin-bottom:0;
                                }
                                p {
                                    text-align:center;
                                    color:#000000;
                                }
                            }
                        }
                    }
                    .imgbox {
                        grid-template-columns:1fr;
                        max-width:600px;
                        margin:0 auto;
                        grid-row-gap:20px;
                    }
                }
            }
        }
    }
    
    #case {
        .wrap {
            .contents {
                ul {
                    margin:0 auto 30px;
                    li {
                        a {
                            font-size:min(3.4vw, 1.6rem);
                        }
                    }
                }
                .imgbox {
                    grid-column-gap:2%;
                    margin-bottom:20px;
                    .img {
                        h4 {
                            font-size:1.5rem;
                            line-height:1.5;
                        }
                    }
                }
                .link {
                    font-size:1.4rem;
                }
            }
        }
    }
    
    #point {
        .wrap {
            .contents {
                .worry {
                    margin-bottom:45px;
                    dt {
                        font-size:2.0rem;
                    }
					dd {
						img {
							max-width:100%;
						}
					}
                }
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-gap:15px 5%;
                    padding:0;
                    margin-bottom:45px;
                    .detail {
                        .ttl {
                            font-size:1.6rem;
                            margin-bottom:10px;
                            .point {
                                width:4.5em;
                                height:4.5em;
                            }
                        }
                    }
                    .img {
                        max-width:500px;
                        margin:0 auto;
                        &:not(:last-child) {
                            margin-bottom:20px;
                        }
                    }
                }
                .contbox {
                    padding:0;
                    & > p {
                        font-size:1.6rem;
                    }
                    &:not(:last-child) {
                        margin-bottom:45px;
                    }
                    .series {
                        grid-gap:20px 2%;
                        li {
                            width:calc((100% / 3) - 2%);
                            a {
                                grid-row-gap:10px;
                                span {
                                    font-size:1.4rem;
                                }
                            }
                        }
                    }
                    &.verification {
                        .product_slider {
        					.slide {
        						a {
        							p {
        								font-size:1.4rem;
        							}
        						}
        					}
            				.slick-arrow {
            					&.slick-next {
            						right:-15px;
            					}
            					&.slick-prev {
            						left:-15px;
            					}
            				}
        				}
                        .btn {
                            width:280px;
                            margin:20px auto 0;
                            font-size:1.4rem;
                        }
                    }
                }
            }
        }
    }
    
    #method {
        .wrap {
            .contents {
                .contents_inner {
                    grid-template-columns:1fr;
                    grid-template-rows:unset;
                    grid-gap:10px;
                    & > div {
                        .detail {
                            padding:.5em 0;
                            display:grid;
                            grid-template-rows:auto 1fr;
                            h4 {
                                font-size:1.6rem;
                            }
							p {
								&.fontsmall {
									font-size:1.4rem;
								}
							}
                        }
                        .img {
                            img {
                                display:block;
                            }
                        }
                        &.flow {
                            .detail {
                                padding:20px 10px;
                                p {
                                    align-content:start;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
}