/*【全体】*/
.container{
	width:100%;
	max-width:1088px;
	margin-left:auto;
	margin-right:auto;
}

/*##大きさ##*/
.max-w-904{
	max-width:904px!important;
}
.max-w-768{
	max-width:768px!important;
}
.max-w-375{
	max-width:375px!important;
}


/*##padding##*/
.pad-t-0{
	padding-top:0;
}
.pad-b-0{
	padding-bottom:0;
}
.pad-l-16{
	padding-left:16px;
}
.pad-r-16{
	padding-right:16px;
}
/*##margin##*/
.mar-l-a{
	margin-left:auto;
}
.mar-r-a{
	margin-right:auto;
}
.mar-t-24{
	margin-top:24px;
}
.mar-b-24{
	margin-bottom:24px;
}
/*##text##*/
.tex-a-c{
	text-align:center;
}
.tex-a-l{
	text-align:left;
}
.tex-a-r{
	text-align:right;
}
.tex-d-u{
	text-decoration:underline;
}
.tex-d-n{
	text-decoration:none;
}
/*##font##*/
.fon-w-b{
	font-weight:bold;
}
.fon-w-n{
	font-weight:normal;
}
.fon-s-16{
	font-size:16px;
}
.fon-s-20{
	font-size:20px;
}
.fon-s-24{
	font-size:24px;
}


/*【フォント】*/
@font-face {
	font-family: "mincho"; 
	src: local("游明朝"), 
	local(YuMincho), 
	local("Hiragino Mincho ProN W3"), 
	local("ヒラギノ明朝 ProN W3"), 
	local("Hiragino Mincho ProN"), 
	local("HG明朝E"), 
	local("ＭＳ Ｐ明朝"), 
	local("ＭＳ 明朝"), 
	local(serif);
}

@font-face {
	font-family: "gothic"; 
	src: local(YuGothic), 
	local("Yu Gothic Medium"), 
	local("Yu Gothic"),  
	local(-apple-system), 
	local(BlinkMacSystemFont), 
	local(Roboto), 
	local("Segoe UI"), 
	local("Helvetica Neue"), 
	local(HelveticaNeue), 
	local(Verdana), 
	local(Meiryo), 
	local(sans-serif);
}

small{
	display:inline-block;
}

strong{
	color:#E57923;
}
.underline{
	font-weight:bold;
	background:linear-gradient(to bottom, rgba(255,255,255,0) 80%, rgba(229,121,35,0.5) 0);
	display:inline;
}


/*【レイアウト】*/
html{
	font-size:62.5%;
}
*{
	box-sizing:border-box;
}
body{
	font-family:"gothic";
	background:#FFFFFF;
	margin:0;
	color:#3E2E20;
	font-size:1.6rem;
	line-height:1.5;
}
section{
	padding:72px 16px;
}
.container{
	width:100%;
	max-width:1088px;
	margin:0 auto;
}
@media screen and (max-width:768px){
	section{
		padding:40px 16px;
	}	
}
@media screen and (max-width:375px){
	section{
		padding:24px 8px;
	}	
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  background:rgba(255,255,255,0.8);
}

.mincho{
	font-family: "mincho" ;
}

a{
	text-decoration:none;
	color:inherit;
}
.link{
	display:block;
	max-width:240px;
	padding:8px;
	text-align:center;
	background:#E57923;
	color:#ffffff;
}

.link img{
	vertical-align:middle;
	height:0.9em;
	margin-right:0.5em;
}
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;
	}
}
/*## H1～5 ##*/
h1{
	padding:8px 16px;
	font-size:1.6rem;
	color:#FFFFFF;
	margin:0;
	font-weight:normal;
	text-align:center;
	width:90%;
}
@media screen and (max-width:768px){
	h1{
		font-size:1.4rem;
	}
}
h1 p{
	width:100%;
	max-width:1088px;
	margin:0 auto;
}
h2{
	padding:16px 0px;
	font-size:4rem;
	letter-spacing:0.1rem;
	font-weight:bold;
	margin:0px;
	margin-bottom:24px;
	text-align:center;
}

@media screen and (max-width:768px){
	h2{
		font-size:3.2rem;
		margin-bottom:16px;
	}	
}
@media screen and (max-width:400px){
	h2{
		font-size:6vw;
	}	
}

h2 big{
	font-size:1.5em;
	background:linear-gradient(to bottom, rgba(255,255,255,0) 60%, #94E2E3 0%);
	display:inline-block;
}
h2 small{
	font-size:0.5em;
}
h3{
	font-size:2.4rem;
	margin:32px 0px;
	font-weight:bold;
	text-align:left;
}

@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:2.0rem;
	padding:4px;
	color:#9F815E;
	margin:16px 0px;
}
@media screen and (max-width:768px){
	h4{
		font-size:1.6rem;
		margin:8px 0px;
	}
}

h5{
	font-size:1.6rem;
	padding:4px;
	margin:4px 0px;
}

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


ul{
	padding-left: 16px;
}
/*【FLEXBOX】*/
	.flex-two-wrap,
	.flex-two-nowrap,
	.flex-three-wrap,
	.flex-three-nowrap,
	.flex-four-wrap,
	.flex-four-nowrap{
		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:1 1 calc(100% / 2 - 24px);/*--- safari（PC）用 ---*/
		-ms-flex:1 1  calc(100% / 2  - 24px);/*--- IE10用 ---*/
		flex : 1 1  calc(100% / 2  - 24px);
	}
	.flex-three-wrap > *,
	.flex-three-nowrap > *{
		-webkit-flex:1 1 calc(100% / 3 - 48px);/*--- safari（PC）用 ---*/
		-ms-flex:1 1  calc(100% / 3 - 48px);/*--- IE10用 ---*/
		flex : 1 1  calc(100% / 3 - 48px);
		margin-bottom:48px;
	}
	.flex-four-wrap > *,
	.flex-four-nowrap > *{
		-webkit-flex:1 1 calc(100% / 4 - 32px);/*--- safari（PC）用 ---*/
		-ms-flex:1 1  calc(100% / 4 - 32px);/*--- IE10用 ---*/
		flex : 1 1  calc(100% / 4 - 32px);
		margin-bottom:32px;
	}
	.flex-two-wrap > *+*:nth-child(2n),
	.flex-two-nowrap > *+*:nth-child(2n),
	.flex-three-wrap > *+*:nth-child(3n),
	.flex-three-wrap > *+*:nth-child(3n+2),
	.flex-three-nowrap > *+*:nth-child(3n),
	.flex-three-nowrap > *+*:nth-child(3n+2){
		margin-left:48px;
	}
	
	.flex-four-wrap > *+*:nth-child(4n+3),
	.flex-four-wrap > *+*:nth-child(4n+2),
	.flex-four-wrap > *+*:nth-child(4n),
	.flex-four-nowrap > *+*:nth-child(4n+3),
	.flex-four-nowrap > *+*:nth-child(4n+2),
	.flex-four-nowrap > *+*:nth-child(4n){
		margin-left:32px;
	}
	
	@media screen and (max-width:768px){
		.flex-three-wrap{
			max-width:375px;
			margin:0 auto;
		}

		.flex-two-wrap > *,
		.flex-two-nowrap > *{
			margin-bottom:24px;
		}
		.flex-two-wrap > *,
		.flex-three-wrap > *{
			-webkit-flex:0 1 calc(100%);/*--- safari（PC）用 ---*/
			-ms-flex:0 1  calc(100%);/*--- IE10用 ---*/
			flex : 0 1  calc(100%);
		}
		.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-three-wrap > *+*:nth-child(3n),
		.flex-three-wrap > *+*:nth-child(3n+2),
		.flex-four-wrap > *+*:nth-child(4n+3){
			margin-left:0px;
		}
	
}
		.flex-two-wrap img,
		.flex-two-nowrap img,
		.flex-three-wrap img,
		.flex-three-nowrap img,
		.flex-four-wrap img,
		.flex-four-nowrap img{
			width:100%;
			height:auto;
			display:block;
		}
	

/*【 テーブル 】*/
table{
  border-collapse: collapse;
  border-spacing: 0;
  margin:24px 0;
  width:100%;
	border-top:1px solid;
}
th,td{
	font-size:1.6rem;
	padding:8px;
	border-bottom:1px solid;
	text-align:left;
}

/* 料金説明 */
.CalculationFormula {
	width:90%;
	max-width:1088px;
	margin-top:50px;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:25px;
	display: flex;
	flex-direction: column;
  }

.fit-image{
  max-width: 100%;
  height: auto;
  border: 2px solid #806859;
  padding: 16px;
  background-color: #FCF8F5;
}

/*【 フォーム 】*/
form{
	width:100%;
	max-width:720px;
	margin:0 auto;
}
input{
  font-size:1.6rem;
 }
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="company"]{
	padding:16px;
	background:#fff;
	border:none;
	width:100%;
	max-width:100%;
}
select{
	padding:16px;
	background:#fff;
	border:1px solid #CDD6DD;
	width:100%;
	font-size:1.6rem;
}

textarea{
	padding:16px;
	background:#fff;
	border:1px solid #CDD6DD;
	width:100%;
	font-size:16px;
	height:120px;
}

#form_submit{
	text-align:center;
}

input[type="submit"]{
	margin:56px auto;
	width:40%;
	max-width:320px;
	padding:16px 0px;
	text-align:center;
	color:#fff;
	background:#aaaaaa;
	border-radius:1000px;
	border:none;
	display:inline-block;
	font-size:1.6rem;
}

@media screen and (max-width:768px){
	input[type="submit"]{
		margin:0px auto 24px auto;
	}
}

input[type="submit"]:nth-last-of-type(1){
	background:#F8AD00;
}

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

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

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

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

}
dt:after{
	content:"＋";	
	font-weight:bold;
	position:absolute;
	right:16px;
	top:50%;
	transform:translateY(-50%);
	color:#aaa;
}
dd p{
	display:inline-block;
}
/*【ヘッダー】*/
header{
	height:80px;
}

header.is-fixed {
	box-shadow:0px 0px 6px rgba(0,0,0,0.3);
}

@media screen and (max-width:640px){
	header{
		height:calc(100vw / 640 * 80 );
	}
}

#copy{
	text-align:center;
	color:#ffffff;
	background:#E57923;
}

#sub_copy{
	float: right;
	margin: 40px;
}

/*##スマホメニュー##*/
header .sp-nav{
	/*height:100vh;*/
	top:0;
	right:0;
	margin:0px;
	z-index:1000;
	height:80px;
	width:100%;
	pointer-events: none;
	position:absolute;
}

header .sp-nav dt,
header .sp-nav dd{
	pointer-events: all;
}

header .sp-nav hr{
	border:1px solid #333333;
	width:100%;	
	transition:0.3s ease;
	margin:0px;
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
	z-index:100;
	width:100%;
}

header .sp-nav hr:nth-of-type(1){
	transform:translateY(-12px);
}
header .sp-nav hr:nth-of-type(3){
	transform:translateY(12px);
}
header .sp-nav dt{
	right:16px;
	top:50%;	
	position:absolute;
	transform:translateY(-50%);
	height:100%;
	width:32px;
}


@media screen and (max-width:640px){
	header .sp-nav {
		height:calc(100vw / 640 * 80);
	}
	header .sp-nav dt{
		right:calc(100vw / 640 * 16);
	}
	header dd{
		padding:calc(100vw / 640 * 8);
	}
	header .sp-nav dt{
		width: calc(100vw / 640 * 32);
	}
	header .sp-nav hr:nth-of-type(1) {
    transform: translateY(calc(100vw / 640 * -12));
	}
	header .sp-nav hr:nth-of-type(3) {
    transform: translateY(calc(100vw / 640 * 12));
	}
}

header .sp-nav dt:after{
	content:"";
}

header .sp-nav dt.active hr:nth-of-type(1){
	transform:rotate(-45deg);
}
header .sp-nav dt.active hr:nth-of-type(2){
	opacity:0;
}
header .sp-nav dt.active hr:nth-of-type(3){
	transform:rotate(45deg);
}
header .sp-nav dd{
	background:rgba(229,121,35,0.9);
	height:200vw;
}
header .sp-nav dd a{
	display:block;
	text-align:center;
	color:#ffffff;
}

		/*【フッター】*/
		footer{
			border-top:2px solid #DBD7D6;
		}
footer nav{
	padding:16px;
	display:table;
	width:100%;
}
@media screen and (max-width:768px){
	footer nav{
		padding:8px;
	}
}

footer nav > div{
	display:table-cell;
	vertical-align:middle;
}
footer nav > div#footer_links{
	text-align:right;
}
footer nav > div#footer_links a{
	display:inline-block!important;	
}
@media screen and (max-width:425px){
	footer nav > div{
		display:block;
	}
	footer nav > div#footer_links{
		text-align:left;
	}
}