@charset "UTF-8";
/* CSS Document */

html {
	font-size: 62.5%;
}

body {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	color: #3f3c3c;
	-webkit-text-size-adjust: 100%;
	line-height: 1.5;
}

/* ＝＝＝＝＝＝＝共通スタイル＝＝＝＝＝＝＝＝ */

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}

a {
	text-decoration: none;
}

a img:hover {
	opacity: 0.9;
}

.clear {
	clear: both;
}

.align-left {
	text-align: left;
}

.align-right {
	text-align: right;
}

.align-center {
	text-align: center;
}

.bold {
	font-weight: bold;
}

.mt-10 {
	margin-top: 10px!important;
}

.mt-15 {
	margin-top: 15px!important;
}

.mt-20 {
	margin-top: 20px!important;
}

.mt-30 {
	margin-top: 30px!important;
}

.mb-10 {
	margin-bottom: 10px!important;
}

.mb-15 {
	margin-bottom: 15px!important;
}

.mb-20 {
	margin-bottom: 20px!important;
}

.mb-25 {
	margin-bottom: 25px!important;
}

.mb-30 {
	margin-bottom: 30px!important;
}

.mb-35 {
	margin-bottom: 35px!important;
}

.mb-40 {
	margin-bottom: 40px!important;
}

.br-pc{
	display: block;
}

.br-sp{
	display: none;
}

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

	.br-sp{
		display: block;
	}

	.br-pc{
		display: none;
	}

}

.ani {
	animation: ani 2s infinite;
}
@keyframes ani {
	0% {
		transform: translate(0px, 2px);
	}
	5% {
		transform: translate(0px, -2px);
	}
	10% {
		transform: translate(0px, 2px);
	}
	15% {
		transform: translate(0px, -2px);
	}
	20% {
		transform: translate(0px, 2px);
	}
	25% {
		transform: translate(0px, -2px);
	}
	30% {
		transform: translate(0px, 0px);
	}
}


.fadeIn {
	transform: translate3d(0, 50px, 0);
	transition: 1s;
	opacity: 0;
}

.fadeIn.animated {
	transform: translate3d(0, 0, 0);
	opacity: 1;
}

/*================ヘッダー================*/

#hl .hl-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	display: table;
}

#hl .hl-content h1{
	display: table-cell;
	vertical-align: middle;
	padding: 1.0rem 0;
}

#hl .hl-content .hl-txt{
	display: table-cell;
	vertical-align: middle;
	font-size: 1.6rem;
	font-weight: bold;
}

#hl .hl-content .hl-tel{
	font-weight: bold;
	color: #122a88;
	background-image: url("../img/ico-hl-btn.png");
	background-repeat: no-repeat;
	background-position: left 0.5rem center;
	padding: 0 0.5rem 0 2.5rem;
}

#hl .hl-content .hl-time{
	font-weight: bold;
	font-size: 1.4rem;
}

#hl .hl-content .hl-red{
	color: #cc0000;
	font-weight: bold;
	font-size: 1.4rem;
}


#hl .hl-content .hl-btn{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}


#kv{
	background-image: url("../img/bg.jpg");
	background-repeat: no-repeat;
	background-position: center top 0;
}

.kv-content{
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 1.5rem 0 4.5rem;

}

.smt{
	display: none;
}

.kv-btn{
	width: 750px;
	margin: 0 auto;
	max-width: 100%;
}

.kv-btn .btn-blue{
	float: left;
	margin-right: 3.0rem;
}

.kv-btn .btn-orange{
	float: left;
}

.btn-box ul{
	width: 750px;
	margin: 5.0rem auto 0;
	max-width: 100%;
}

.btn-box .btn-blue{
	float: left;
	margin-right: 3.0rem;
}

.btn-box .btn-orange{
	float: left;
}



/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	#kv{
		background-image: none;
	}

	.kv-content{
		padding: 0px;;
	}

	.pc{
		display: none;
	}

	.smt{
		display: block;
		margin: 0 auto;
	}

	#hl .hl-content{
		padding: 1.0rem 0;
		box-sizing: border-box;
		width: 750px;
	}

	#hl .hl-content .hl-btn{
		display: none;
	}

	#hl .hl-content .hl-txt{
		font-size: 1.4rem;
		font-weight: bold;
	}

	#hl .hl-content .hl-time{
		font-size: 1.2rem;
	}

	#hl .hl-content .hl-red{
		color: #cc0000;
		font-weight: bold;
		font-size: 1.2rem;
	}

	#hl .hl-content .hl-tel{
		background-size: contain;
	}

	.kv-btn{
		width: 750px;
		padding: 2.0rem 1.0rem;
		max-width: 100%;
	}

	.kv-btn .btn-blue{
		float: left;
		width: 49%;
		margin-right: 2%;
	}

	.kv-btn .btn-orange{
		float: left;
		width: 49%;
	}

	.btn-box{
		padding: 2.0rem 1.0rem;
		max-width: 100%;
	}

	.btn-box ul{
		width: 750px;
		margin: 3.0rem auto 0;
		max-width: 100%;
	}

	.btn-box .btn-blue{
		float: left;
		width: 49%;
		margin-right: 2%;
	}

	.btn-box .btn-orange{
		float: left;
		width: 49%;
	}


}

/*スマホ用*/
@media screen and (max-width: 750px) {

	#kv{
		background-image: none;
	}

	.kv-content{
		padding: 0px;;
	}

	.pc{
		display: none;
	}

	.smt{
		display: block;
	}

	#hl .hl-content{
		display: table;
		padding: 0.5rem;
		box-sizing: border-box;
		text-align: center;
		width: 100%;
	}

	#hl .hl-content h1{
		display: table-cell;
		padding: 0;
		width: 20%;
		line-height: 1;
	}

	#hl .hl-content h1 img{
		width: 200px;
	}


	#hl .hl-content .hl-btn{
		display: none;
	}

	#hl .hl-content .hl-txt{
		font-size: .8rem;
		width: 78%;
		padding-left: 2%;
		display: table-cell;
		text-align: left;
	}

	#hl .hl-content .hl-tel{
		font-size: 1.4rem;
		background-size: contain;
	}

	#hl .hl-content .hl-time{
		font-size: 1rem;
	}

	#hl .hl-content .hl-red{
		font-size: .8rem;
		display: block;
	}

	.kv-btn{
		width: 750px;
		padding: 1.0rem 1.0rem;
		max-width: 100%;
		box-sizing: border-box;
	}

	.kv-btn .btn-blue{
		float: left;
		width: 49%;
		margin-right: 2%;
	}

	.kv-btn .btn-orange{
		float: left;
		width: 49%;
	}

	.btn-box ul{
		width: 750px;
		padding: 0rem;
		margin: 2.0rem 0 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.btn-box .btn-blue{
		float: left;
		width: 49%;
		margin-right: 2%;
	}

	.btn-box .btn-orange{
		float: left;
		width: 49%;
	}

}

/*================モットー================*/

.motto-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 0;
}

.motto-voice{
	width: 860px;
	margin: 0 auto;
	max-width: 100%;
	position: relative;
}

.motto-voice li{
	width: 50%;
	float: left;
}

.motto-voice .motto-voice02{
	margin-top: 10%;
}

.motto-voice .motto-voice04{
	margin-top: 10%;
}

/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.motto-voice{
		padding: 0 1.0rem;
		box-sizing: border-box;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.motto-content{
		padding: 2.0rem 0;
	}

	.motto-voice{
		padding: 0 1.0rem;
		box-sizing: border-box;
	}

	.motto-voice .motto-voice02{
		margin-top: 5%;
	}

	.motto-voice .motto-voice04{
		margin-top: 5%;
	}
}

/*================悩み================*/

#nayami{
	background-image: url("../img/bg-nayami.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.nayami-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem;
	box-sizing: border-box;
}

.nayami-content h2{
	margin-bottom: 5.0rem;
	font-weight: bold;
	font-size: 3.8rem;
	color: #fff;
}

.nayami-content h2 span{
	font-weight: bold;
	font-size: 6.6rem;
	color: #fff;
}

.nayami-content h2 span.nayami-yel{
	color: #ffe400;
	font-weight: bold;
}

.nayami-content h2 em{
	font-style: normal;
	text-decoration: underline;
	text-underline-offset: 0.8rem;
	font-size: 5.2rem;
	font-weight: bold;
}

.graph-box{
	background-color: #fff;
	margin-top: 2.0rem;
	box-sizing: border-box;
	padding: 3.0rem 1.0rem;
	border-radius: 1.0rem;
	z-index: 1;
}

.graph-box h3{
	font-size: 5.4rem;
	font-weight: bold;
	color: #122a88;
	line-height: 1;
	margin-bottom: 2.0rem;
}

.graph-box h3 span{
	font-size: 4.4rem;
	font-weight: bold;
	font-style: normal;
	color: #222;
}

.graph-box .graph-box-em{
	background-color: #ffddc2;
	width: 750px;
	margin: 0 auto 2.0rem;
	max-width: 100%;
	font-size: 2.2rem;
	padding: 2.0rem;
	box-sizing: border-box;
	border-radius: 1.0rem;
	text-align: left;

}

.graph-box .graph-box-em span{
	font-size: 3.8rem;
	color: #cc0000;
	font-weight: bold;
}

.graph-box .graph-box-em sup{
	font-size: 1.0rem;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}

.graph-box-txt{
	text-align: left;
	font-size: 1.8rem;
	margin-top: 4.0rem;
}

.graph-box-txt span{
	font-weight: bold;
	color: #122a88;
}

.graph-box-notes{
	text-align: right;
	margin-top: 2.0rem;
}


/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {


	.nayami-content h2{
		margin-bottom: 3.0rem;
	}

	.nayami-content{
		padding: 2.0rem 1.0rem;
		box-sizing: border-box;
	}

	.nayami-content h2{
		font-size: 2.6rem;
	}

	.nayami-content h2 span{
		font-size: 4.2rem;
	}

	.nayami-content h2 em{
		font-size: 3.2rem;
	}

	.graph-box h3{
		font-size: 3.8rem;
	}

	.graph-box h3 span{
		font-size: 2.8rem;
	}

	.graph-box .graph-box-em{
		padding: 1.0rem;
		font-size: 1.8rem;
	}

	.graph-box .graph-box-em span{
		font-size: 2.8rem;
	}

	.graph-box-txt{
		margin-top: 2.0rem;
		font-size: 1.4rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {


	.nayami-content h2{
		margin-bottom: 2.0rem;
	}

	.nayami-content{
		padding: 2.0rem 1.0rem;
		box-sizing: border-box;
	}

	.nayami-content h2{
		font-size: 1.4rem;
	}

	.nayami-content h2 span{
		font-size: 2.4rem;
	}

	.nayami-content h2 em{
		font-size: 2.0rem;
	}

	.graph-box{
		padding: 2.0rem 1.0rem;
	}

	.graph-box h3{
		font-size: 2.0rem;
		line-height: 1.2;
		margin-bottom: 1.0rem;
	}

	.graph-box h3 span{
		font-size: 1.8rem;
	}

	.graph-box .graph-box-em{
		padding: 1.0rem;
		font-size: 1.4rem;
	}

	.graph-box .graph-box-em span{
		font-size: 2.0rem;
	}

	.graph-box-txt{
		margin-top: 2.0rem;
		font-size: 1.4rem;
	}

	.graph-box-notes{
		margin-top: 1.0rem;
	}

}


/*================タウンライフ================*/

#townlife{
	background-image: url("../img/bg-townlife.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

.triangle{
	width: 0;
	height: 0;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 50px solid #295168;
	margin: 0 auto;
}

.townlife-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

.townlife-content h2{
	margin-bottom: 5.0rem;
	font-weight: bold;
	font-size: 3.8rem;
	color: #fff;
}

.townlife-box01{
	background-image: url("../img/ico-townlife01.png");
	background-repeat: no-repeat;
	margin-bottom: 1.0rem;
	padding-top: 11.0rem;
}

.townlife-box01 h3{
	font-size: 4.2rem;
	font-weight: bold;
	text-align: left;
	background-image: url("../img/h3-townlife01.png");
	background-repeat: no-repeat;
	background-position: left center;
}

.townlife-box02{
	background-image: url("../img/ico-townlife02.png");
	background-repeat: no-repeat;
	margin-bottom: 1.0rem;
	padding-top: 11.0rem;
}

.townlife-box02 h3{
	font-size: 4.2rem;
	font-weight: bold;
	text-align: left;
	background-image: url("../img/h3-townlife02.png");
	background-repeat: no-repeat;
	background-position: left center;
}

.townlife-box03{
	background-image: url("../img/ico-townlife03.png");
	background-repeat: no-repeat;
	margin-bottom: 1.0rem;
	padding-top: 11.0rem;
}

.townlife-box03 h3{
	font-size: 4.2rem;
	font-weight: bold;
	text-align: left;
	background-image: url("../img/h3-townlife03.png");
	background-repeat: no-repeat;
	background-position: left center;
}

.townlife-clum{
	background-color: #fff;
	border-radius: 1.0rem;
	padding: 2.0rem;
	display: table;
	width: 100%;
	font-size: 1.8rem;
	box-sizing: border-box;
}

.townlife-txt{
	display: table-cell;
	text-align: left;
	vertical-align:top;
	width: 69%;
	padding-right: 1%;
}

.townlife-img{
	display: table-cell;
	vertical-align:top;
	width: 30%;
}

.townlife-clum h3{
	padding-left: 6.0rem;
	margin-bottom: 1.0rem;
}

.townlife-clum h3 span{
	font-weight: bold;
	color: #0080cc;
}




/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.townlife-content{
		padding: 2.0rem 1.0rem 2.0rem;
		box-sizing: border-box;
	}

	.townlife-clum{
		background-color: #fff;
		border-radius: 1.0rem;
		padding: 2.0rem;
		display: table;
		width: 100%;
		box-sizing: border-box;
	}

	.townlife-txt{
		display: table-cell;
		text-align: left;
		vertical-align:top;
		width: 69%;
		padding-right: 1%;
		font-size: 1.6rem;
	}

	.townlife-img{
		display: table-cell;
		vertical-align:top;
		width: 30%;
	}

	.townlife-clum h3{
		padding-left: 6.0rem;
		margin-bottom: 1.0rem;
		font-size: 3.2rem;
	}



}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.townlife-content h2{
		margin-bottom: 2.0rem;
	}

	.townlife-content{
		padding: 2.0rem 1.0rem 2.0rem;
		box-sizing: border-box;
	}

	.triangle{
		width: 0;
		height: 0;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 30px solid #295168;
		margin: 0 auto;
	}

	.townlife-clum{
		padding: 1.0rem;
		display: block;
	}

	.townlife-txt{
		display: block;
		text-align: left;
		vertical-align:top;
		width: 100%;
		font-size: 1.4rem;
		margin-bottom: 1.0rem;
	}

	.townlife-img{
		display: block;
		vertical-align:top;
		width: 100%;
	}

	.townlife-clum h3{
		padding-left: 3.5rem;
		margin-bottom: 1.0rem;
		font-size: 2.0rem;
		background-size: 3rem;
	}

	.townlife-box01{
		background-size: auto 8rem;
		padding-top: 8rem;
	}

	.townlife-box02{
		background-size: auto 8rem;
		padding-top: 8rem;
	}

	.townlife-box03{
		background-size: auto 8rem;
		padding-top: 8rem;
	}

}

/*================ひみつ================*/

#secret{
}

.secret-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

.secret-content h2{
	font-size: 5.2rem;
	font-weight: bold;
	text-align: center;
	color: #0080cc;
}

.secret-title{
	font-size: 4.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2.0rem;
}

.secret-title .secret-orange{
	font-size: 6.8rem;
	color: #cb3c00;
	font-weight: bold;
}

.secret-title .secret-orange span{
	font-weight: bold;
	font-size: 3.8rem;
}

.secret-title em{
	color: #122a88;
	font-weight: bold;
	font-style: normal;
}

/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.secret-content{
		padding: 2.0rem 1.0rem 2.0rem;
		box-sizing: border-box;
	}

	.secret-content h2{
		font-size: 4.2rem;
	}

	.secret-title{
		font-size: 3.0rem;
	}

	.secret-title .secret-orange{
		font-size: 4.6rem;
	}

	.secret-title .secret-orange span{
		font-size: 3.0rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.secret-content{
		padding: 2.0rem 1.0rem 2.0rem;
		box-sizing: border-box;
	}

	.secret-content h2{
		font-size: 2.4rem;
	}

	.secret-title{
		font-size: 2.4rem;
	}

	.secret-title .secret-orange{
		font-size: 3.0rem;
	}

	.secret-title .secret-orange span{
		font-size: 2.0rem;
	}
}

/*================実際に利用した方の声================*/

#review{
	background-color: #e1f2fa;
}

#review h2{
	font-size: 5.8rem;
	font-weight: bold;
	color: #122a88;
	margin-bottom: 2.0rem;
}

#review h2 em{
	font-size: 3.4rem;
	font-style: normal;
	font-weight: bold;
}

.review-content{
	width: 930px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;

}

.review-content ul{
	display: flex;
	justify-content: space-around;
}

.review-content li{
	background-color: #fff;
	float: left;
	width: 48%;
	margin-right: 4%;
	padding: 1.0rem;
	box-sizing: border-box;
	border-radius: 1.0rem;
	box-shadow: 0 0.5rem #ced9e1;
}

.review-content li:last-child{
	margin-right: 0%;
}

.review-img{
	margin-bottom: 2.0rem;
}

.review-content li p{
	text-align: left;
	font-size: 1.6rem;
	line-height: 1.5;
}

.review-content li p span{
    font-weight: 600;
	font-size: 1.8rem;
}


/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.review-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

	#review h2{
		font-size: 4.2rem;
	}

	#review h2 em{
		font-size: 3.0rem;
	}

	.review-content ul{
		display: block;
	}

	.review-content li{
		width: 100%;
		margin-right: 0;
		margin-bottom: 2.0rem;
		display: table;
	}

	.review-content li .review-img{
		display: table-cell;
		vertical-align: middle;
		width: 30%;
	}

	.review-content li .review-txt{
		display: table-cell;
		vertical-align: top;
		width: 69%;
		padding-left: 1%;
	}

	.review-content li:last-child{
		margin-right: 0%;
	}

	.review-content li p{
		font-size: 1.4rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.review-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

	#review h2{
		font-size: 3.0rem;
		margin-bottom: 1.0rem;
	}

	#review h2 em{
		font-size: 2.0rem;
	}

	.review-content ul{
		display: block;
	}

	.review-content li{
		width: 100%;
		margin-right: 0;
		margin-bottom: 1.0rem;
	}

	.review-content li .review-img{
		vertical-align: top;
		width: 100%;
        margin-bottom: 1.0rem;
	}

	.review-content li .review-txt{
		vertical-align: top;
		width: 100%;
	}

	.review-content li p{
		font-size: 1.4rem;
	}

}

/*================サービスの流れ================*/

#flow{
	background-image: url("../img/bg-townlife.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

.flow-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

#flow h2{
	font-size: 5.8rem;
	font-weight: bold;
	color: #fff;
	margin-bottom: 2.0rem;
}

#flow h2 em{
	font-size: 3.4rem;
	font-style: normal;
	font-weight: bold;
}

/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.flow-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

	#flow h2{
		font-size: 4.2rem;
	}

	#flow h2 em{
		font-size: 3.0rem;
	}


}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.flow-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

	#flow h2{
		font-size: 3.0rem;
		margin-bottom: 1.0rem;
	}

	#flow h2 em{
		font-size: 2.0rem;
	}



}

/*================よくあるご質問================*/


#qa{
}

.qa-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

#qa h2{
	font-size: 5.8rem;
	font-weight: bold;
	margin-top: 5.0rem;
	margin-bottom: 2.0rem;
}

.qa-list{
	background-color: #e1f2fa;
}

.qa-list dl {
    position: relative;
    margin: 0;
    padding: 2.0rem 8.0rem 2.0rem 3.0rem;
    cursor: pointer;
    border-bottom: 2px solid #0080cc;
}
.qa-list dl:first-child {
    border-top: 2px solid #0080cc;
}
.qa-list dl::before {
    position: absolute;
    top: 40%;
    right: 35px;
    display: block;
    width: 10px;
    height: 10px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #222;
    border-right: 2px solid #222;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-size: 2.2rem;
	text-align: left;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #0080cc;
	text-align: left;
	font-weight: bold;
}
.qa-list dl dd::before {
    font-size: 2.2rem;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    color: #cb3c00;
	font-weight: bold;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
	text-align: left;
    font-size: 2.2rem;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.qa-content{
		padding: 0rem 1.0rem 2.0rem;
	}

	#qa h2{
		font-size: 4.2rem;
		margin-top: 3.0rem;
		margin-bottom: 2.0rem;
	}

	.qa-list dl dt {
		font-size: 1.6rem;
		padding: 0 0 0 30px;
	}
	.qa-list dl dt::before {
		font-size: 1.6rem;
	}
	.qa-list dl dd::before {
		font-size: 1.6rem;
	}
	.qa-list dl dd {
		font-size: 1.6rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.qa-content{
		padding: 0rem 1.0rem 2.0rem;
	}

	#qa h2{
		font-size: 3.0rem;
		margin-top: 2.0rem;
		margin-bottom: 1.0rem;
	}

	.qa-list dl {
		position: relative;
		padding: 15px 40px 15px 10px;
	}
	.qa-list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}
	.qa-list dl dt {
		padding: 0 0 0 30px;
		font-size: 1.4rem;
	}
	.qa-list dl dt::before {
		font-size: 1.4rem;
		top: 3px;
		left: 5px;
		content: 'Q.';
	}
	.qa-list dl dd::before {
		font-size: 1.4rem;
		top: 5px;
		left: 5px;
		content: 'A.';
	}
	.qa-list dl dd {
		margin: 10px 0 0;
		padding: 0 0 0 30px;
		font-size: 1.4rem;
	}
	.qa-list dl dd p {
		margin: 30px 0 0;
	}
	.qa-list dl dd p:first-child{
		margin-top: 0;
	}
}


/*================プレゼント================*/

#benefits{
	background-image: url("../img/bg-townlife.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}

.benefits-content{
	width: 1100px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.benefits-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.benefits-content{
		padding: 2.0rem 1.0rem 2.0rem;
	}

}

/*================フォーム================*/

#form{
	background-color: #E1F2FA;
}

.form-content{
	width: 750px;
	margin: 0 auto;
	max-width: 100%;
	text-align: center;
	padding: 5.0rem 1.0rem 5.0rem;
	box-sizing: border-box;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
}

.tab-wrap:after {
  content: '';
  width: 100%;
  display: block;
  order: -1;
}

.tab-label {
	color: #fff;
	background: #0080cc;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
	padding: 1rem .5em;
	order: -1;
	position: relative;
	z-index: 1;
	cursor: pointer;
	border-radius: 1.0rem 1.0rem 0 0;
	flex: 1;
	font-size: 3.2rem;
	margin-right: 2rem;
	margin-left: 1rem;
}

.tab-label:not(:last-of-type) {
	margin-right: 0rem;
	margin-left: 2rem;
}

.tab-content {
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
	border-radius: 1.0rem;
	font-size: 1.8rem;
}

.tab-content h2{
	color: #007dc6;
	font-size: 3.0rem;
	font-weight: bold;
}


/* アクティブなタブ */
.tab-switch:checked+.tab-label {
	background: #fff;
	color: #007dc6;
	margin-top: -1.0rem;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 2.0rem 2.0rem 5.0rem;
  opacity: 1;
  transition: .5s opacity;
  background-color: #fff;
}
/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}

.Form {
  margin-top: 2rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.Form-Item {
  padding-top: 2.0rem;
  padding-bottom: 2.0rem;
  width: 100%;
}

.Form-Item-Label {
	font-weight: bold;
	font-size: 1.8rem;
	text-align: left;
	margin-bottom: 1.0rem;

}

.Form-Item-Label.isMsg {
	margin-bottom: 1.0rem;
}

.Form-Item-Label-Required {
  border-radius: 0.6rem;
  margin-right: 0.6rem;
  padding: 0.5rem 1.0rem;
  display: inline-block;
  text-align: center;
  background: #cb3c00;
  color: #fff;
  font-size: 1.4rem;
}

.Form-Item-Input {
	border: 1px solid #ddd;
	border-radius: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
	height: 48px;
	flex: 1;
	width: 100%;
	background: #eaedf2;
	font-size: 1.8rem;
	box-sizing: border-box;
}

.Form-Item-Textarea {
	border: 1px solid #ddd;
	border-radius: 1.0rem;
	height: 216px;
	flex: 1;
	width: 100%;
	background: #eaedf2;
	font-size: 18px;
	box-sizing: border-box;
}

.Form-Btn {
	border-radius: 1.0rem;
	margin-top: 2.0rem;
	margin-left: auto;
	margin-right: auto;
	padding: 2.0rem;
	display: block;
	letter-spacing: 0.05em;
	background: #cb3c00;
	border: none;
	color: #fff;
	font-weight: bold;
	font-size: 2.0rem;
	box-sizing: border-box;
	width: 100%;
	max-width: 310px;
}

.selectbox{
    display: inline-flex;
    align-items: center;
    position: relative;
	width: 100%;
}

.selectbox::after {
    position: absolute;
    right: 1.5rem;
    width: 1rem;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.selectbox select {
    appearance: none;
    width: 100%;
	height: 48px;
    padding: 1.0rem;
    border: 1px solid #ddd;
    border-radius: 1rem;
    background-color: #eaedf2;
    font-size: 1.6rem;
    cursor: pointer;
}


/*タブレット用*/
@media screen and (min-width:750px) and (max-width:1000px) {

	.tab-label {
		padding: 1rem .5em;
		font-size: 2.4rem;
		margin-right: 2rem;
		margin-left: 1rem;
	}

	.tab-label:not(:last-of-type) {
		margin-right: 0rem;
		margin-left: 2rem;
	}

}

/*スマホ用*/
@media screen and (max-width: 750px) {

	.tab-content {
		font-size: 1.4rem;
	}

	.tab-content h2{
		font-size: 2.0rem;
	}

	.tab-content{
		border-radius: 0;
	}

	.tab-label {
		padding: 1.0rem 0;
		font-size: 1.6rem;
		margin-right: 0;
		margin-left: 0;
	}

	.tab-label:not(:last-of-type) {
		margin-right: 0;
		margin-left: 0;
	}

  .Form {
    margin-top: 0rem;
  }

  .Form-Item {
	padding-top: 1.0rem;
	padding-bottom: 1.0rem;
	flex-wrap: wrap;
  }

  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
  }

  .Form-Item-Label.isMsg {
    margin-top: 0;
	  margin-bottom: 1.0rem;
  }

  .Form-Item-Label-Required {
    border-radius: 0.6rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    font-size: 1.0rem;
  }

	.Form-Item-Input {
		margin-left: 0;
		margin-top: 0rem;
		height: 40px;
		flex: inherit;
		font-size: 1.4rem;
	}

  .Form-Item-Textarea {
    margin-top: 0;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 1.4rem;
  }

	.selectbox select {
		font-size: 1.4rem;
	}

  .Form-Btn {
    margin-top: 2.0rem;
	padding: 2.0rem;
    font-size: 1.6rem;
	  max-width: 250px;
	  width: 100%;
	  box-sizing: border-box;
  }

}

/* ＝＝＝＝＝＝＝「ご利用規約」および「プライバシーポリシー」スタイル＝＝＝＝＝＝＝＝ */

.wrap_agreement {
	margin-top: 2.0rem;
	margin-bottom: 2.0rem;
	box-sizing: border-box;
}

.wrap_agreement .agreetxt {
	font-size: 1.4rem;
	text-align: center;
}

.agreement {
	overflow: auto;
	padding: 2.0rem;
	width: 100%;
	height: 15em;
	font-size: 1.2rem;
	border: solid 1px #ccc;
	margin-top: 2.0rem;
	box-sizing: border-box;
}

.agreement p {
	margin-bottom: 15px;
}

.agreement p.terms_i {
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 5px;
}

.agreement ul li {
	margin: 5px 0 10px;
}

.agreement ul li ul li {
	margin: 0 0 5px;
}

/*タブレット用*/
@media screen and (min-width:641px) and (max-width:1024px) {
	.wrap_agreement .agreetxt {
		font-size: 1.6rem;
		text-align: center;
  	}
}

/*スマホ用*/
@media screen and (max-width: 640px) {
	.wrap_agreement {
		margin-top: 1.0rem;
		margin-bottom: 1.0rem;
	}

	.agreement {
		padding: 10px;
		height: 15em;
		font-size: 1.2rem;
		margin-top: 10px;
	}

  .wrap_agreement .agreetxt {
	font-size: 1.2rem;
  }

}

/* ＝＝＝＝＝＝＝フッター＝＝＝＝＝＝＝＝ */

/* ＝＝＝＝＝＝＝フッター＝＝＝＝＝＝＝＝ */
footer{
	background-color: #122a88;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	padding: 2.0rem 0;
}

.footer__link_wrap{
    width: 100%;
    max-width: 800px;
    margin: auto;
    display: flex;
    margin-bottom: 30px;
}

.footer__link{
    width: 33.3333333%;
    font-size: 1.4rem;
}

.footer__link a{
    color: #fff;
}

.footer__link::before{
    content: "▶";
    width: 10px;
    height: 10px;
    font-size: 8px;
    color: white;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-right: 5px;
}

.copy{
    font-size: 9px;
    margin-bottom: 10px;
}
/*フッターここまで*/

@media (max-width: 650px) {
    :root {
        --margin_L: 30px;
    }

    .body {
        font-size: 1.6rem;
    }

    .all_wrap{
        padding: 30px 10px;
        padding-bottom: 0;
        max-width: 800px;
        background-color: white;
        margin: auto;
    }

    .complete_headline {
        font-size: 3rem;
    }

    .book_cont_wrap {
        flex-wrap: wrap;
        gap: 10px;
    }

    .book_img_wrap {
        width: 55%;
        max-width: 200px;
    }

    .book_txt_wrap {
        width: 100%;
        text-align: center;
    }

    .book_catch {
        font-size: 1.4rem;
    }

    .book_ttl{
        font-size: 2.3rem;
    }

    .yoko_book_img_wrap {
        width: 70%;
    }

    .dl_benefit_book_wrap {
        margin-bottom: 40px;
    }
    .contact_link{
        pointer-events: auto;
        text-decoration: underline;
        color: #0080CC;
    }

    .footer__link_wrap{
        width: 90%;
        flex-wrap: wrap;
    }

    .footer__link{
        width: 100%;
        padding: 10px;
        border-bottom: 1px solid #344fb9;
    }
}


/* ＝＝＝＝＝＝＝送信ボタン新改＝＝＝＝＝＝＝＝ */
.btn {
    position: relative;
    text-align: center;
}

button.submit {
    cursor: pointer;
    color: #FFF;
    box-sizing: border-box;
    width: 100%;
    max-width: 310px;
    padding: 10px;
    background: #cb3c00;
    border: 1px solid #cb3c00;
    border-radius: 10px;
    text-decoration: none;
}

button.submit .button {
    display: block;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.4;
    padding: 20px 10px;
}

button.submit .button .agreetxt{
    display: block;
    font-size: 1.6rem;
    font-weight: 600;
}

@media screen and (max-width: 500px) {
    button.submit {
        max-width: 260px;
    }

    button.submit .button {
        font-size: 1.8rem;
    }

    button.submit .button .agreetxt{
        font-size: 1.4rem;
    }
}

/* ＝＝＝＝＝＝＝TOP-UPボタン＝＝＝＝＝＝＝＝ */
#page-top {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 50px;
    z-index: 99;
}

#page-top a {
    display: block
}

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

    #page-top {
        bottom: 20px;
        right: 15px;
        width: 40px;
    }
}
.footer__licenses {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 1rem 0;
  justify-content: center;
}