@charset "UTF-8";
/*******************************
 
STYLE Css
 
*******************************/
/*-----------------------------
Common
-----------------------------*/
section{
	margin-bottom: 0;
	padding: 140px 0 0;
}
section h3{
	margin-bottom: 50px;
}
.btn-search:nth-of-type(1){
	display: none;
}
.flex.align-items-end{
	align-items: flex-end;
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px) {
	section{
		padding: 100px 0 0;
	}
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
	section{
		padding: 50px 0 0;
	}
	section h3{
		margin-bottom: 20px;
	}
}

/*-----------------------------
mainimg
-----------------------------*/
.page .mainimg {
    padding: 230px 0 280px;
}
.page .mainimg h2 {
    width: 90%;
    max-width: 988px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}
.page .mainimg.sub .bg-img {
    height: 562px;
}
/*==== tablet タブレット用css ===*/
@media screen and (max-width: 1024px) {
    .page .mainimg {
        padding: 150px 0;
    }
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px) {
	.page .mainimg {
		padding: 100px 0;
	}
	.page .mainimg.sub .bg-img {
		height: 243px;
	}
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
    .page .mainimg {
        padding: 70px 0;
	}
}

/*-----------------------------
Subnavi
-----------------------------*/
.subnavi{
	margin-bottom: 0;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
	.subnavi{
		margin-bottom: 15px;
	}
}

/*-----------------------------
feature
-----------------------------*/
.feature .flex{
	align-items: center;
}
.feature .img{
	width: 50%;
}
.feature p{
	width: 50%;
    padding: 0 0 0 45px;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
	.feature .img,
	.feature p{
		width: 100%;
		padding: 0;
	}
	.feature p{
		margin-top: 10px;
	}
}

/*-----------------------------
osusume
-----------------------------*/
.osusume .flex .item{
	width: 80%;
    text-align: center;
    margin: 0 auto 20px;
}
.osusume .flex .item figcaption{
	display: block;
	background-color: #EAEAEA;
    padding: 10px;
    font-size: 110%;
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px) {
    .osusume .flex .item{
        margin: 0 auto 5px;
    }
	.osusume .col-pc-3 .item{
		width: 100%;
	}
}

/*-----------------------------
style-list
-----------------------------*/
.style-list{
	margin: 150px 0;
}
.style-list .item{
	margin-bottom: 30px;
}
.style-list .item .txt{
	margin-bottom: 15px;
}
.style-list .item .ttl{
	font-size: 125%;
    font-weight: 600;
    text-align: center;
    letter-spacing: .03em;
    margin: 10px 0;
}
.style-list .item .ttl span{
	display: block;
    font-size: 70%;
    font-weight: normal;
    color: #929292;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
	.style-list{
		margin: 30px 0 70px;
	}
}

/*-----------------------------
video-product
-----------------------------*/
#video-product{
    margin-bottom: 140px;
}
.iframe-youtube{
    width:100%;
    padding-bottom: 56.25%;
    height:0px;
    position: relative;
    margin: 50px auto;
}
.iframe-youtube iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*==== mobile スマフォ横〜用css ===*/
@media screen and (max-width: 896px) {
    .iframe-youtube{
        margin: 20px auto 30px;
    }
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
    #video-product {
        margin-bottom: 80px;
    }
}


/*-----------------------------
simulation
-----------------------------*/
#simulation{
	margin-bottom: 80px;
}
#simulation .intro{
	text-align: center;
	margin-bottom: 40px;
}
#simulation .ttl{
	font-size: 120%;
	font-weight: bold;
	margin-top: 40px;
}
#simulation .none{
	display: none;
}
.wrap-img{
	width: 60%;
}
.wrap-radio{
	width: 40%;
	padding-left: 50px;
}
.wrap-radio .icon{
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
}
.wrap-radio .icon img{
	width: 100%;
}
.wrap-radio .none:checked + .icon{
    border: solid 3px #0175ff;
}
ul.floor-icon{
    margin-right: -15px;
}
ul.floor-icon li{
    margin-bottom: 15px;
    padding-right: 15px;
}
/*==== mobile スマフォ縦用css ===*/
@media screen and (max-width: 480px) {
	#simulation .intro{
		margin-bottom: 20px;
	}
	.wrap-img{
		order: 2;
		width: 100%;
		margin: 30px auto;
	}
	.wrap-radio{
		order: 1;
		width: 100%;
		margin: auto;
		padding: 0;
	}
    .wrap-radio .icon{
        width: 44px;
        height: 44px;
    }
	#simulation .ttl{
		margin-top: 20px;
	}
	.wrap-radio .col-pc-2 .item{
		width: 50%;
	}
    ul.floor-icon{
        justify-content: center;
    }
}