/*【レイアウト】*/
html{
	font-size:62.5%;
	overflow-x:hidden;
}
*{
	box-sizing:border-box;
}
body{
	background:#FFFFF;
	margin:0;
	color:#333333;
	font-size:1.6rem;
	line-height:1.5;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	overflow-x:hidden;
}
section{
	padding:72px 16px;
}
.container{
	width:100%;
	max-width:1088px;
	margin:0 auto;
}
.container_s{
	width:100%;
	max-width:960px;
	margin:0 auto;
}
.container_xs{
	width:100%;
	max-width:720px;
	margin:0 auto;
}
@media screen and (max-width:768px){
	section{
		padding:calc(100vw / 768 * 40) 16px;
	}	
}
@media screen and (max-width:375x){
	section{
		padding-right:calc(100vw / 375 * 16);
		padding-left:calc(100vw / 375 * 16);
	}	
}

header.is-fixed nav{
  position: fixed;
  top: 0px;
  right: 0;
  z-index: 2;
 	/*background:rgba(255,255,255,0.8);*/
}

/*##リンク##*/
a{
	text-decoration:none;
	color:#0084C8;
}
p{
	margin:0px;
}
span{
	display:inline-block;
}
@media screen and (min-width:769px){
	.sp-768{
		display:none !important;
	}
}
@media screen and (max-width:768px){
	.pc-768{
		display:none !important;
	}
}

@media screen and (min-width:576px){
	.sp-576{
		display:none !important;
	}
}
@media screen and (max-width:575px){
	.pc-576{
		display:none !important;
	}
}

/*## H1～5 ##*/
h1{
	padding:8px 16px;
	font-size:1.4rem;
	margin:0;
	text-align:left;
	width:100%;
	font-weight:normal;
	background:#ffffff;
}
@media screen and (max-width:375px){
	h1{
		font-size:calc(100vw / 375 * 14);
	}
}
h1 p{
	width:100%;
	max-width:1088px;
	margin:0 auto;
}
h2{
	padding:16px 16px;
	font-size:4rem;
	font-weight:normal;
	margin:0px;
	text-align:center;
	font-weight:bold;
}


@media screen and (max-width:640px){
	h2{
		font-size:calc(100vw / 640 * 40);
	}	
}

h3{
	font-size:2.0rem;
	margin-bottom:0;
	text-align:center;
	font-weight:normal;
	position:relative;
}

@media screen and (max-width:768px){
	h3{
		font-size:2.0rem;
	}
}
@media screen and (max-width:375px){
	h3{
		font-size:1.6rem;
	}
}

h4{
	font-size:3.2rem;
	padding:4px;
	margin:16px 0px;
	font-weight:normal;
	text-align:left;
}
@media screen and (max-width:768px){
	h4{
		font-size:2.0rem;
		margin:8px 0px;
		font-weight:bold;
	}
}

h5{
	font-size:1.6rem;
	padding:4px;
	border:1px solid #12295C;
	margin:4px 0px;
}

h1 span, h2 span, h3 span, h4 span, h5 span{
	display:inline-block;
}

strong{
	background:linear-gradient(to bottom, rgba(255,255,255,0) 80%, rgba(255,189,3,0.4) 80%);
}

ul{
	padding-left: 16px;
}

/*##margi##*/
.mar-t-24{
	margin-top:24px;
}
.mar-b-24{
	margin-top:24px;
}

/*【FLEXBOX】*/
	.flex-two-wrap,
	.flex-two-nowrap,
	.flex-three-wrap,
	.flex-four-wrap{
		display:-webkit-box;/*--- Android旧ブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
		flex-wrap:wrap;
		align-content: flex-start;
	}
	.flex-two-wrap > *,
	.flex-two-nowrap > *{
		margin-bottom:48px;
		-webkit-flex:0 1 calc(100% / 2 - 24px);/*--- safari（PC）用 ---*/
		-ms-flex:0 1  calc(100% / 2  - 24px);/*--- IE10用 ---*/
		flex : 0 1  calc(100% / 2  - 24px);
	}
	
	.flex-three-wrap > *{
		margin-bottom:48px;
		-webkit-flex:0 1 calc(100% / 3 - 32px);/*--- safari（PC）用 ---*/
		-ms-flex:0 1  calc(100% / 3 - 32px);/*--- IE10用 ---*/
		flex : 0 1  calc(100% / 3 - 32px);
	}
	
	.flex-four-wrap > *{
		-webkit-flex:0 1 calc(100% / 4 - 24px);/*--- safari（PC）用 ---*/
		-ms-flex:0 1  calc(100% / 4 - 24px);/*--- IE10用 ---*/
		flex : 0 1  calc(100% / 4 - 24px);
		margin-bottom:32px;
	}
	.flex-two-wrap > *:nth-child(2n),
	.flex-two-nowrap > *+*:nth-child(2n),
	.flex-three-wrap > *{
		margin-left:48px;
	}
	.flex-two-wrap > *:nth-child(2n+1),
	.flex-three-wrap > *:nth-child(3n+1){
		margin-left:0px;
	}
	
	.flex-four-wrap > *+*:nth-child(4n+3),
	.flex-four-wrap > *+*:nth-child(4n+2),
	.flex-four-wrap > *+*:nth-child(4n){
		margin-left:32px;
	}
	@media screen and (max-width:768px){
		.flex-two-wrap > *{
			-webkit-flex:0 1 calc(100%);/*--- safari（PC）用 ---*/
			-ms-flex:0 1  calc(100%);/*--- IE10用 ---*/
			flex : 0 1  calc(100%);
		}
		.flex-two-wrap > *,
		.flex-two-nowrap > *{
			margin-bottom:16px;
		}

		.flex-three-wrap > *{
			margin-bottom:32px;
			margin-left:24px;
			margin-bottom:48px;
			-webkit-flex:0 1 calc(100% / 3 - 16px);/*--- safari（PC）用 ---*/
			-ms-flex:0 1  calc(100% / 3 - 16px);/*--- IE10用 ---*/
			flex : 0 1  calc(100% / 3 - 16px);
		}
		.flex-four-wrap > *{
			-webkit-flex:0 1 calc(100% / 2 - 16px);/*--- safari（PC）用 ---*/
			-ms-flex:0 1 calc(100% / 2 - 16px);/*--- IE10用 ---*/
			flex : 0 1 calc(100% / 2 - 16px);
			margin-bottom:32px;
		}
		.flex-two-wrap > *+*:nth-child(2n),
		.flex-four-wrap > *+*:nth-child(4n+3){
			margin-left:0px;
		}
	}



	
	.flex-two-wrap img,
	.flex-two-nowrap img,
	.flex-three-wrap img,
	.flex-four-wrap img{
		width:100%;
		height:auto;
	}
	
/*【 テーブル 】*/
table{
  border-collapse: collapse;
  border-spacing: 0;
  margin:24px 0;
  width:100%;
}
th,td{
	font-size:1.6rem;
	padding:8px;
	border-top:1px solid #aaaaaa;
	text-align:left;
}

/*【 フォーム 】*/
form{
	width:100%;
	max-width:720px;
	margin:0 auto;
		line-height:1.5;
}
input{
  font-size:1.6rem;
 }
input[type="text"],
input[type="tel"],
input[type="email"]{
	width:100%;
	max-width:100%;
}

select{
	padding:16px;
	background:#fff;
	border:1px solid #CDD6DD;
	width:100%;
	font-size:1.6rem;
}

textarea{
	border:none;
	width:100%;
	height:240px;
}

input[type="text"],
input[type="tel"],
input[type="date"],
input[type="time"],
input[type="email"],
select,
textarea{
	padding:8px;
	border:none;
	background:#fff;
	font-size:16px;
	/*border:1px solid #71BA2A;*/
	border-radius:4px;
}

.form__submit{
	display:-webkit-box;/*--- Android旧ブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
	align-content: flex-start;
	margin:56px auto ;
}

.form__submit > div{
	-webkit-flex:1 1 50%;/*--- safari（PC）用 ---*/
	-ms-flex:1 1 50%;/*--- IE10用 ---*/
	flex : 1 1 50%;
	margin:8px;
}
/* ##iOSでのデフォルトスタイルをリセット## */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
/* ここまで　iOSでのデフォルトスタイルをリセット */

.form__submit input[type="submit"]{
	width:100%;
	padding:16px 0px;
	text-align:center;
	color:#fff;
	background:#aaaaaa;
	border-radius:10000px;
	border:none;
	display:block;
	font-size:1.6rem;
	font-weight:bold;
}

.form__submit > div:nth-last-of-type(1) input[type="submit"]{
	background:#e887a8;
}


input[name="zip1"],
input[name="zip2"]{
	width:100px;
}


input[type="radio"]{
	display:none;
}
label{
	font-size:1.6rem;
	display:inline-block;
	margin-bottom:8px;
}
form label span{
	display:block;
	
}
form table{
	width:100%;
}
form th{
	text-align:left;
	width:320px;
	vertical-align:top;
	font-weight:normal;
}
form td{
	padding-bottom:24px;
}
form th:nth-of-type(n),
form td:nth-of-type(n){
	background:transparent;
}
form th:before{
	content:"任意";
	background:#aaaaaa;
	text-align:center;
	font-size:1.2rem;
	padding:4px 8px;
	font-weight:bold;
	margin-right:8px;
	color:#fff;
}
/*##必須##*/
form th.required:before{
	content:"必須";
	background:#e887a8;
	border-radius:2px;
}

form input[type="radio"]{
	display:inline-block;
}

form table th{
	font-weight:bold;
}
form table th,
form table td{
	border:none;
}
@media screen and (max-width:768px){
	form table th,
	form table td{
		display:block;
		width:100%;
	}
}



/*【リスト】*/
dt,dd{
	font-size:16px;
	margin:0px;
	padding:8px;
}
dt{
	position:relative;
	padding-right:40px;

}
dt:after{
	content:"＋";	
	font-weight:bold;
	position:absolute;
	right:16px;
	top:50%;
	transform:translateY(-50%);
	color:#aaa;
}
/*【ヘッダー】*/
header{
}
/*【FV】*/
#fv{
	background-color:#daf2f8;
}
#fv img{
	width:100%;
	vertical-align:top;
}
#fv div.pc{
	/*background-size:auto 100%;
	height:500px;
	background-position:center center;
	background-repeat:no-repeat;*/
}
@media screen and (max-width:1088px){
	#fv div.pc{
		/*height:calc(100vw / 1088 * 500);*/
	}
}
/*【コピーライト】*/
#copy{
	text-align:center;
	color:#ffffff;
	background:#08c1d1;
	padding-top:40px;
}

/*【ドロワー】*/
	dd{
		display:none;
	}

/*【サンクスページ】*/
#thanks h2{
	text-align:center;
}
#thanks p{
	text-align:center;
}
#thanks a{
	display:block;
	color:#ffffff;
	background:#d4d4d4;
	padding:8px;
	max-width:240px;
	margin:24px auto;
}

/*【Swiper】*/
.swiper-button-prev,
.swiper-button-next{
	color:#452010 !important;
}