@charset "utf-8";
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img * {
	max-width:100%;
}

:root {
	--blue: #132e3d;
	--red: #d90b1f;
	--orange: #d4523f;
	--paddingPC:0 15vw;
	--paddingSP:0 9vw;
}



@media only screen and (max-width: 599px) {
	.sp_only {
		display: block;
	}
	.sp_tablet_only {
		display: block;
	}
	.tablet_only {
		display: none;
	}
	.pc_only {
		display: none !important;
	}
	.pc_tablet_only {
		display:none !important;
	}
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: block !important;
	}
	.tablet_only {
		display: block;
	}
	.pc_only {
		display: none;
	}
	.pc_tablet_only {
		display:block;
	}
}
@media only screen and (min-width: 1025px) {
	.sp_only {
		display: none !important;
	}
	.sp_tablet_only {
		display: none !important;
	}
	.tablet_only {
		display: none;
	}
	.pc_only {
		display: block;
	}
	.pc_tablet_only {
		display:block;
	}
}



/* ------------------------------------------ 
	
 - MV

------------------------------------------ */
.top_mv {
	width:100%;
	position: relative;
	top: 0;
	margin: 0 auto;
}

.mv {
	animation-name: mvAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
	position:relative;
	height: auto;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

@keyframes mvAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


@media only screen and (max-width: 599px) {
	.mv_img {
		position: relative;
	    background: url(/fair/comforter/images/main_summer-sp.jpg);
	    background-repeat: no-repeat;
	    background-size: cover;
	    width: 100%;
	    max-width: 599px;
	    height: 160vmin;
	}
	.mv_img > img{
		position: absolute;
        right: 2%;
        top: initial;
        bottom: 30%;
        max-width: 120px;
	}
}


@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.mv_img {
		position: relative;
	    background: url(/fair/comforter/images/main_summer-pc.jpg);
	    background-position: top center;
	    background-repeat: no-repeat;
	    background-size: cover;
	    width: 100%;
	    max-width: 1024px;
	    height: 56vmin;
	    margin:0 auto;
	}
	.mv_img > img{
		position: absolute;
		right: 2%;
	    top: 3%;
		max-width: 170px;
	}
}

@media only screen and (min-width: 1025px) {
	.mv_img {
		position: relative;
	    background: url(/fair/comforter/images/main_summer-pc.jpg);
	    background-position: center top;
	    background-repeat: no-repeat;
	    background-size: cover;
	    width: 100%;
	    /*max-width: 1340px;*/
	    height: 83vh;
	    margin:0 auto;
	    position: relative;
	}
	.mv_img > img{
		position: absolute;
		right: 2%;
	    top: 3%;
		width: 14vw;
		max-width: 240px;
	}
}






/* ------------------------------------------ 
	
 - lead_area

------------------------------------------ */
@media only screen and (max-width: 599px) {
	 .lead_area {
		margin: 3rem auto;
		padding: 0 5%;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
    .lead_area_text {
        width: 100%;
        margin-top:1rem;
    }
    .lead_area_text h2 {
        text-align: center;
        font-size: 1.2rem;
        font-weight: bold;
        font-style: normal;
        line-height: 1.6;
        letter-spacing: 1px;
        margin-bottom: 2rem;
    }
	.lead_area_text p {
		font-size: 1rem;
		text-align:left;
		margin-bottom:1.5rem;
		line-height: 2.2;
		font-weight: 500;
		font-style: normal;
	}
    .lead_area_text p span:first-child {
        font-size: 1.3rem;
        letter-spacing: -0.5px;
    }
    .lead_area_text p span:last-child {
        font-size: 1rem;
    }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
    .lead_area {
		margin: 5rem auto;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
    .lead_area_text {
        width: 100%;
        margin-top:1rem;
    }
    .lead_area_text h2 {
		text-align: center;
        font-size: 1.8rem;
        font-weight: bold;
        font-style: normal;
        line-height: 1.6;
        letter-spacing: 1px;
        margin-bottom: 2rem;
    }
	.lead_area_text p {
		font-size:1.2rem;
		margin-bottom:2rem;
		line-height: 2.3;
        font-weight: 500;
        font-style: normal;
	}
    .lead_area_text p span:first-child {
        font-size: 1.3rem;
        letter-spacing: -0.5px;
    }
    .lead_area_text p span:last-child {
        font-size: 1rem;
    }
}
@media only screen and (min-width: 1025px) {
	.lead_area {
		max-width: 980px;
		margin: 5rem auto;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: flex-start;
	}
    .lead_area_text {
        width: 100%;
        margin-top:1rem;
        margin-left:4rem;
    }
    .lead_area_text h2 {
		text-align: center;
        font-size: 1.8rem;
        font-weight: bold;
        font-style: normal;
        line-height: 1.6;
        letter-spacing: 1px;
        margin-bottom: 2rem;
    }
	.lead_area_text p {
		font-size:1.2rem;
		text-align: left;
		margin-bottom:2rem;
		line-height: 2;
        font-weight: 500;
        font-style: normal;
		text-align: center;
	}
    .lead_area_text p span:first-child {
        font-size: 1.3rem;
        letter-spacing: -0.5px;
    }
    .lead_area_text p span:last-child {
        font-size: 1rem;
    }
}   

/* ------------------------------------------ 
	
 - showroom_area

------------------------------------------ */
@media only screen and (max-width: 599px) {
	.showroom_area {
		padding: var(--paddingSP);
		padding-top: 3rem;
		padding-bottom: 3rem;
		background: #eef5fb;
	}
	.showroom_title {
		text-align:center;
		margin-bottom:0.5rem;
		font-size:1.2rem;
		font-weight:bold;
	}
	.showroom_list_col {
		display:flex;
		flex-flow:column wrap;
		text-align:justify;
		padding: 0 0.5rem;
	}
	.showroom_list_col li {
		width: 100%;
	    margin-top: 20px;
	    padding-bottom: 8px;
	    border-bottom: solid 1px #06060A;
	}
	.showroom_list_col li a {
		position: relative;
	    display: block;
	    font-size: 15px;
	    transition: all 0.3s ease-in-out;
	}
	.showroom_list_col li a::after {
		content: "";
	    position: absolute;
	    right: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 12px;
	    height: 12px;
	    background: url(/fair/comforter/images/arrow.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	}
}
	
@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.showroom_area {
		padding:var(--paddingSP);
		padding-top: 3rem;
		padding-bottom: 1rem;
		background: #eef5fb;
	}
	.showroom_title {
		text-align:left;
		font-size: 1.3rem;
		font-weight:bold;
	}
	.showroom_list_col {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
		text-align:justify;
	}
	.showroom_list_col li {
		width: 48.5%;
		margin-top: 25px;
		padding-bottom: 8px;
		border-bottom: solid 1px #06060A;
	}
	.showroom_list_col li a {
		position: relative;
	    display: block;
	    font-size: 15px;
	    transition: all 0.3s ease-in-out;
	}

	.showroom_list_col li a::after {
		content: "";
	    position: absolute;
	    right: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 12px;
	    height: 12px;
	    background: url(/fair/comforter/images/arrow.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	}
}
@media only screen and (min-width: 1025px) {
	.showroom_area {
		padding: var(--paddingPC);
		padding-top: 5rem;
		padding-bottom: 5rem;
		background: #eef5fb;
	}
	.showroom_title {
		text-align:left;
		font-size:1.5rem;
		font-weight:bold;
	}
	.showroom_list_col {
		display:flex;
		flex-flow:row wrap;
		justify-content:space-between;
		text-align:justify;
	}
	.showroom_list_col li {
		width: 49%;
		margin-top: 33px;
		padding-bottom: 8px;
		border-bottom: solid 1px #06060A;
	}
	.showroom_list_col li a {
		position: relative;
	    display: block;
	    font-size: 15px;
	    transition: all 0.3s ease-in-out;
	}

	.showroom_list_col li a::after {
		content: "";
	    position: absolute;
	    right: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 12px;
	    height: 12px;
	    background: url(/fair/comforter/images/arrow.svg);
	    background-repeat: no-repeat;
	    background-position: center;
	}
}


/* ------------------------------------------ 
	
 - interior_soudan_area

------------------------------------------ */
@media only screen and (max-width: 599px) {
	.interior_soudan_area {
		margin-bottom: 2rem;
		padding-top: 3rem;
		padding-bottom: 3rem;
		background: #eef5fb;
	}
	.btn_interior_soudan {
		width: 85vw;
		margin:0 auto;
		background: #ffffff;
	}
	.btn_interior_soudan a {
		position: relative;
		display: block;
		padding: 0.8rem 0;
		font-size: 12px;
		margin-right:10px;
		letter-spacing: 1px;
		transition: all 0.3s ease-in-out;
	}
	.btn_interior_soudan a::after {
		content: "";
		position: absolute;
		right: 1%;
		top: 50%;
		transform: translateY(-50%);
		width: 12px;
		height: 12px;
		background: url(/fair/comforter/images/arrow.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.interior_soudan_area {
		margin-bottom: 3rem;
		padding: var(--paddingPC);
		padding-top: 3rem;
		padding-bottom: 4rem;
		background: #eef5fb;
	}
	.btn_interior_soudan {
		width: 70vw;
		margin:0 auto;
		background: #ffffff;
	}
	.btn_interior_soudan a {
		position: relative;
		display: block;
		padding:0.8rem;
		font-size: 15px;
		letter-spacing: 1px;
		transition: all 0.3s ease-in-out;
	}
	.btn_interior_soudan a::after {
		content: "";
		position: absolute;
		right: 3%;
		top: 50%;
		transform: translateY(-50%);
		width: 12px;
		height: 12px;
		background: url(/fair/comforter/images/arrow.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
}
@media only screen and (min-width: 1025px) {
	.interior_soudan_area {
		margin-bottom: 5rem;
		padding: var(--paddingPC);
		padding-top: 3rem;
		padding-bottom: 5rem;
		background: #eef5fb;
	}
	.btn_interior_soudan {
		width: 37vw;
		margin:0 auto;
		background: #ffffff;
	}
	.btn_interior_soudan a {
		position: relative;
		display: block;
		padding:1rem;
		font-size: 15px;
		letter-spacing: 1px;
		transition: all 0.3s ease-in-out;
	}
	.btn_interior_soudan a::after {
		content: "";
		position: absolute;
		right: 3%;
		top: 50%;
		transform: translateY(-50%);
		width: 12px;
		height: 12px;
		background: url(/fair/comforter/images/arrow.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
}


/* ********** WRAP ********** */
main{
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#333;
}


@media only screen and (min-width: 1100px) {
    footer {
        width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* ------------------------------------------ 
	
 - process

------------------------------------------ */
.ls_container{
	width: 100%;
	height: 180vh;
	display: flex;
	/*flex-direction: column;*/
	justify-content: center;
	align-items: center;
	background: #eee;
}
.ls_container .ls_wrap{
	width: 50%;
	height: 100%;
	padding: 0 5%;
	background: url(/fair/comforter/images/mv_fixed.jpg);
	background-position: right;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #1f84c8;
}
.ls_container .ls_wrap h2{
	width: 100%;
	padding-bottom: 2em;
	font-size: 1.5vw !important;
	text-align: center;
}
.ls_container .ls_wrap p{
	width: 100%;
	text-align: left;
	font-size: 20px !important;
	line-height: 2;
	font-weight: 500;
	padding-bottom: 1.5em;
}
.ls_container .process{
	width: 50%;
    object-fit: contain;
    padding: 1em 3% 8em;
    display: flex;
    flex-direction: column;
	justify-content: center;
    align-items: center;
}
.ls_container .process .p_text{
	padding: 1em 1em 2em;
    font-size: 18px;
    font-size: 1.5vw;
}
.ls_container .process .p_note{
	padding: 5% 0 0;
    font-size: 14px;
    width: 100%;
}
.process img{
	width: 100%;
	max-width: 550px;
}
.process .triangle{
	width: 60px;
	padding: 3% 0;
}

@media screen and (min-width: 1080px) and (max-width: 1499px) {
	.ls_container{
		height: 160vh;
	}
}
@media screen and (min-width: 600px) and (max-width: 1079px) {
	.ls_container{
		height: 140vh;
	}
}
@media only screen and (max-width: 599px){
	.ls_container {
		position: relative;
		height: auto;
		overflow: hidden;
		clip-path: initial;
		display: flex;
		flex-direction: column;
		padding: 1em 0;
	}
	.ls_container img{
		padding: 1em;
	}
	.ls_container .ls_wrap{
		background: url(/fair/comforter/images/mv_fix.jpg);
	}
	.ls_container .ls_wrap h2 {
		width: 100%;
		padding-bottom: 2em;
		font-size: 18px !important;
		text-align: center;
	}
	.ls_container > img {
		position: initial;
		width: 100%;
		height: 100%;
		min-height: initial;
		object-fit: initial;
		height: auto;
		left: 0;
		top: 0;
		pointer-events: none;
	}
	.ls_container .ls_wrap {
		position: initial;
		width: 100%;
		background-attachment: initial;
		background: initial;
	}
	.ls_container .ls_wrap h2 {
		width: 100%;
		padding-bottom: 1em;
		font-size: 18px !important;
		text-align: center;
	}
	.ls_container .ls_wrap p {
		width: 100%;
        text-align: left;
        font-size: 1rem !important;
        line-height: 1.8;
        font-weight: 500;
	}
	.ls_container .process{
		width: 100%;
		padding: 1em 3% 4em;
	}
	.ls_container .process .p_text{
		padding: 1em;
		font-size: 1rem;
	}
	.process .triangle{
		width: 50px;
		padding: 3% 0;
	}
	.ls_container .process .p_note{
		font-size: 12px;
	}
}

/* ------------------------------------------ 
	
 - price

------------------------------------------ */
.price{
	width: 100%;
	padding: 5% 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.price .price_head{
	width: 100%;
	max-width: 1280px;
	background: #e72828;
}
.price .price_head h2{
	padding: 1%;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.price > h3{
	padding: 2em 0 0;
    font-size: 18px;
    font-weight: bold;
}
.price .price_detail{
	width: 100%;
    max-width: 1280px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.price .price_detail:first-of-type{
	border-bottom: 1px solid #ccc;
}
.price .price_detail li{
	width: 580px;
    margin: 3% 2%;
    padding: 0 1%;
    border-left: 5px solid;
}
.price .price_detail li p{
	font-size: 16px;
	text-align: left;
}
.price .price_detail li .detail_wrap{
	width: 100%;
	padding: 2% 0 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.price .price_detail li .detail_wrap .first_wrap{
	width: 40%;
}
.price .price_detail li .detail_wrap .first_wrap p{
	font-size: 18px;
	font-weight: bold;
}
.price .price_detail li .detail_wrap .first_wrap p span{
	font-size: 0.8em;
}

.price .price_detail li .detail_wrap .second_wrap{
	width: 60%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.price .price_detail li .detail_wrap .second_wrap p:first-child{
	width: 25%;
	margin: 2%;
	padding: 1%;
	background: #e72828;
	color: #fff;
	font-size: 16px;
	text-align: center;
	border-radius: 3px;
}
.price .price_detail li .detail_wrap .second_wrap p:last-child{
	width: 75%;
    color: #e72828;
    font-size: 28px;
    font-weight: bold;
}
.price .price_detail li .detail_wrap .second_wrap p span{
	font-size: 0.8em;
}
.price .price_note{
	min-width: 520px;
	padding: 0 3% !important;
	font-size: 14px;
    padding: 0;
    text-align: left;
}
.price .price_note span{
	min-width: 520px;
	font-size: 14px;
    padding: 1em 0 0;
    text-align: left;
	color: #e72828;
}

@media only screen and (max-width: 599px){
	.price{
		max-width: 90%;
		margin: 0 auto;
		padding: 10% 0;
	}
	.price .price_head h2{
		padding: 3% 1%;
	}
	.price .price_detail li {
		margin: 3% 2%;
		padding: 3% 1%;
		border-left: none;
	}
	.price .price_detail li .detail_wrap {
		flex-direction: column;
	}
	.price .price_detail li .detail_wrap .first_wrap {
		width: 100%;
	}
	.price .price_detail li .detail_wrap .second_wrap {
		width: 100%;
	}
	.price .price_note{
		min-width: initial;
	}
	.price .other_note{
		min-width: initial;
	}
}

/* ------------------------------------------ 
	
 - item_container

------------------------------------------ */
.item_container{
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	overflow: hidden;
}
.item_container h2{
	width: 100%;
	padding: 5% 0 3%;
	font-size: 26px;
	text-align: center;
}
.item_container .item_name{
	position: relative;
    display: inline;
    margin: 0 auto;
    padding: 3%;
    font-size: 20px;
}
.item_container .item_name::before{
	position: absolute;
    content: "";
    width: 1200px;
    left: 100%;
    top: 50%;
    height: 1px;
    background: #222;
}
.item_container .item_name::after{
	position: absolute;
    content: "";
    width: 1200px;
    right: 100%;
    top: 50%;
    height: 1px;
    background: #222;
}
.item_container ul{
	width: 100%;
    max-width: 1240px;
    margin: 0 auto;
	padding: 0 0 5%;
    display: flex;
	flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}
.item_container ul li{
	position: relative;
	width: 30%;
	margin: 1em;
	padding: 1em;
	background: #eee;
}
.item_container ul li .circle{
	position: absolute;
	top: 5%;
	right: 6%;
	width: 90px;
}
.item_container ul li img{
	width: 100%;
}
.item_container ul li h3{
	font-size: 16px;
	text-align: center;
    padding: 1em 0;
}
.item_container ul li p{
	font-size: 14px;
    text-align: left;
    padding: 0 1em 1em;
}
.item_container ul li a{
	text-align: center;
	font-size: 14px;
    background: #6e87be;
    color: #fff;
	margin: 1em 0 0.5em;
    padding: 0.5em;
    display: inline-block;
    width: 100%;
}
@media only screen and (max-width: 599px) {
	.item_container ul {
		flex-direction: column;
		max-width: 90%;
	}
	.item_container ul li{
		width: 100%;
		margin: 1em 0;
	}
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
	.item_container ul li{
		width: 45%;
		margin: 1em auto;
	}
}

.reservation{
	width: 100%;
	padding: .5em;
	background: #e72828;
}
.reservation a{
	font-size: 18px;
	color: #fff;
	text-align: center;
}
.item_container ul li h3{
	text-align: center;
}
footer p:first-child {
	text-align: center;
}
footer p:last-child{
	text-align: center;
}