/*
Title: cozy
Last Updated: 2024-12-
Author: Ryu
*/
@charset "utf-8";

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family: "Noto Sans JP";;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}
body{ font-size:1.4rem; font-size: 1.4em; }
img{
	vertical-align: bottom;
	image-rendering: -webkit-optimize-contrast;
}


/*----------------------------------------
	layout
----------------------------------------*/

#container{
	overflow: hidden;
}
.main_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
#bk{
	background-color: #e6e6e6;
	position: relative;
}
#frame{
	position: relative;
	z-index: 2;
	background: #fff;
	box-shadow: 0 0 30px 0px rgb(0 0 0 / 30%);
}

@media screen and (min-width: 750px){

	.lp_frame{
		width: 84%;
		margin-right: auto;
		margin-left: auto;
	}
	#frame{
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}

}/*END*/


/*----------------------------------------
	faq
----------------------------------------*/

.faq_frame{
	margin-bottom: 30px;
	width: 88%;
	margin-right: auto;
	margin-left: auto;
}
.faq_q{
	cursor: pointer;
	position: relative;
	color: #fff;
	background: #3d6887;
	font-size: 1.8rem;
	line-height: 1.5;
	box-sizing: border-box;
	padding: 18px 60px 18px 60px;
}
.faq_q img{
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	width: 28px;
}
.faq_q span{
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 34px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}
.faq_q span:before,
.faq_q span:after{
	content: "";
	background: #fff;
	width: 100%;
	height: 2px;
	top: 50%;
	left: 50%;
	position: absolute;
	transition: all 0.4s;
}
.faq_q span:before{
	transform: rotate(90deg);
}
.faq_q.open span:before{
	transform: rotate(-0);
	opacity: 0;
}
.a_frame{
	display: none;
	background: #e6e6e6;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 28px 30px 40px 30px;
	margin-bottom: 40px;
}
.faq_a{
	position: relative;
	border-bottom: 1px solid #a6937c;
	padding-left: 30px;
	padding-bottom: 25px;
	margin-bottom: 15px;
}
.faq_a.faq_no_line{
	border-bottom: none;
}
.faq_a img{
	position: absolute;
	left: -12px;
	display: block;
	width: 28px;
	top: 20px;
}
.faq_a.line1 img{
	top: 0;
}


/*----------------------------------------
	text
----------------------------------------*/

.text_frame{
	position: relative;
	padding-left: 6%;
	padding-right: 6%;
}
.text_14{
	font-size: clamp(12px,1.875vw,14px)
}

.text_16{
	font-size: 1.6rem;
}
.text_18{
	font-size: clamp(16px,2.125vw,18px)
}
.text_26{
	font-size: 2.6rem;
}
.lh_14{
	line-height: 1.4;
}
.lh_15{
	line-height: 1.5;
}
.lh_18{
	line-height: 1.8;
}
.lh_20{
	line-height: 2;
}
.ls_2{
	letter-spacing: 2px;
}
.bg_gray{
	background: #eee;
}
.text_red{
	color: #9f5252;
}
.center{
	text-align: center;
}
.voice{
	position: relative;
	background: #c8deef;
	padding:  50px 35px;
	overflow: inherit;
}
.voice:before,
.voice:after{
	content: "";
	position: absolute;
	width: 80px;
	height: 1px;
	background: #000;
	transform: rotate(-45deg);
}
.voice:before{
	top: 20px;
	left: -20px;
}
.voice:after{
	right: -20px;
	bottom: 20px;
}
.voice_fukidashi{
	width: 24%;
	position: absolute;
	top: 0;
	right: 3%;
}
.tsumari_frame{
	position: relative;
	color: #fff;
	text-align: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-color: #7c7c7b;
	background-image: url(../images/tsumari_bg.jpg);
	background-position: top left;
}
.tsumari_text{
	padding-left: 6%;
	padding-right: 6%;
	box-sizing: border-box;
	padding-bottom: 30px;
	/* position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 5%; */
	width: 100%;
}