@charset "utf-8";

/*********************/
/***** reset.css *****/
/*********************/

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	font-family: 'Noto Sans JP', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/*************************/
/***** reset.css END *****/
/*************************/



/*** base.css ***/
h1{
	line-height: 1.3;
	font-size: 48px;
	font-weight: 700;
}
h2{
	line-height: 1.3;
	font-size: 36px;
	font-weight: 700;
}
h3{
	line-height: 1.3;
	font-size: 24px;
	font-weight: 700;
}
h4{
	line-height: 1.5;
	font-size: 20px;
	font-weight: 700;
}

p{
	letter-spacing: .05em;
	line-height: 1.5;
	font-weight: 400;
}

section{
	padding: 60px 0;
}

.clear{
	clear: both;
}

.clearfix::after{
	clear: both;
	content: "";
	display: block;
}

.section--color-transparent{
	background: transparent;
	color: #FFF;
}

.section--color-white{
	background: #FFF;
	color: #333;
}

.section--color-black{
	background: #222;
	color: #FFF;
}

.section--color-yellow{
	background: #FFED6A;
	color: #333;
}

.section--color-lightblue{
	background: #eef0fc;
	color: #333;
}

.section--color-blue{
	background: #16369d;
	color: #FFF;
}

.container{
	margin: 0 auto;
	width: 1120px;
}

.container--small{
	width: 760px;
}

.col-2 .col-2__item{
	float: left;
	margin: 0 6% 2% 0;
	width: 47%;
}

.col-2 .col-2__item:nth-of-type(2n){margin: 0 0 2% 0;}

.col-3 .col-3__item{
	float: left;
	margin: 0 2% 2% 0;
	width: 32%;
}

.col-3 .col-3__item:nth-of-type(3n){margin: 0 0 2% 0;}

.col-4 .col-4__item{
	float: left;
	margin: 0 3% 3% 0;
	width: 22.75%;
}

.col-4 .col-4__item:nth-of-type(4n){margin: 0 0 3% 0;}

.col-5 .col-5__item{
	float: left;
	margin: 0 2% 2% 0;
	width: 18.4%;
}

.col-5 .col-5__item:nth-of-type(5n){margin: 0 0 2% 0;}

.col-6 .col-6__item{
	float: left;
	margin: 0 2% 2% 0;
	width: 15%;
}

.col-6 .col-6__item:nth-of-type(6n){margin: 0 0 2% 0;}


.col-2::after,
.col-3::after,
.col-4::after,
.col-5::after,
.col-6::after{
	clear: both;
	content: "";
	display: block;
}

.img-position--left,
.img-position--right{
	margin: 0 0 30px;
}

.block--left{
	float: left;
	width: 48%;
}

.block--right{
	float: right;
	width: 48%;
}

.tal{text-align: left;}
.tac{text-align: center;}
.tar{text-align: right;}

.text-link a:hover{
	text-decoration: none;
}

.text-link i{
	margin: 0 0 0 5px;
}

.pc-none{display: none;}
.sp-none{display: block;}
br.pc-none{display: none;}
br.sp-none{display: inline-block;}


/*** form ***/
form table {
  width: 85%;
  margin: 0 auto 30px;
  border-collapse: separate;
  border-spacing: 0px 5px;
  font-size: 16px;
}

form table th,
form table td {
  padding: 10px;
}

form table th {
  background: #16369d;
  vertical-align: middle;
  text-align: left;
  width: 25%;
  overflow: visible;
  position: relative;
  color: #fff;
  font-weight: normal;
  font-size: 16px;
}

form table th:after {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(22, 54, 157, 0);
  border-left-color: #16369d;
  border-width: 10px;
  margin-top: -10px;
}

form table th .required{
	background: #E43D3D;
	color: #FFF;
	display: inline-block;
	font-size: 12px;
	padding: 3px 5px;
	margin: 0 0 0 10px;
}

form table td {
  background: #f8f8f8;
  width: 75%;
  padding-left: 20px;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
  border: 1px solid #CCC;
  border-radius: 3px;
  font-size: 16px;
  padding: 8px;
  width: 80%;
}

form select{
  border: 1px solid #CCC;
  border-radius: 3px;
  font-size: 16px;
  padding: 8px;
  width: 60%;
}

form .form__submit-button{
	text-align: center;
}

form button[type="submit"]{
	background: #C00;
	border: solid 3px #C00;
	border-radius: 5px;
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	font-family: "Noto Sans Japanese", Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 10px;
	padding: 0.5em 4em;
	text-decoration: none;
	transition: .3s;
}

form button[type="submit"]:hover {
	background: #FFF;
	color: #C00;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	color: #CCC;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #CCC;
}

::placeholder{ /* Others */
	color: #CCC;
}

.history-back{
	display: block;
	text-align: center;
}

.imgbox{
	line-height: 0;
	margin: 0 0 10px;
}

.imgbox img{
	width: 100%;
}

/*** loader ***/
.loader {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 9999;
}

.loader-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #222;
  -webkit-animation: loadingAnimation 1500ms ease-out forwards infinite;
  animation: loadingAnimation 1500ms ease-out forwards infinite;
}

@keyframes loadingAnimation {
  from,to {
		opacity: 0;
  }
  50% {
		opacity: .5;
  }
}


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

	h1{
		font-size: calc(2rem + ((1vw - 3.2px) * 2.5));
	}

	h2{
		font-size: calc(1.5rem + ((1vw - 3.2px) * 2.5));
	}

	h3{
		font-size: calc(1.125rem + ((1vw - 3.2px) * 2.5));
	}

	h4{
		font-size: calc(1rem + ((1vw - 3.2px) * 2.5));
	}

	p{
		font-size: calc(0.75rem + ((1vw - 3.2px) * 2.5));
	}

	section{
		padding: 10% 5%;
	}

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

	form table{
		width: 100%;
	}

	form table th, form table td {
		box-sizing: border-box;
		display: block;
		padding: 10px;
		width: 100%;
	}

	form table th:after {
		content: " ";
		display: none;
	}

	form input[type="text"],
	form input[type="email"],
	form input[type="tel"],
	form textarea {
		box-sizing: border-box;
	  width: 100%;
	}

	form button[type="submit"]{
		font-size: calc(1.125rem + ((1vw - 3.2px) * 3.75));
		padding: 0.5em 1.5em;
	}

	form button[type="submit"]:hover {
		background: #FFF;
		color: #C00;
	}

	.block--left{
		float: none;
		width: 100%;
	}

	.block--right{
		float: none;
		width: 100%;
	}

	.pc-none{display: block;}
	.sp-none{display: none;}
	br.pc-none{display: inline-block;}
	br.sp-none{display: none;}

	.container,
	.container--small{
		width: 100%;
	}

	.col-2 .col-2__item{
		float: none;
		margin: 0 0 4% 0;
		width: 100%;
	}

	.col-2 .col-2__item:nth-of-type(2n){margin: 0 0 4% 0;}

	.col-3 .col-3__item{
		margin: 0 0 4% 0;
		width: 100%;
	}

	.col-3 .col-3__item:nth-of-type(3n){margin: 0 0 4% 0;}
	.col-3 .col-3__item:nth-of-type(2n){margin: 0 0 4% 0;}


	.col-4 .col-4__item{
		margin: 0 2% 4% 0;
		width: 49%;
	}

	.col-4 .col-4__item:nth-of-type(2n){margin: 0 0 4% 0;}

	.col-5 .col-5__item{
		margin: 0 2% 4% 0;
		width: 49%;
	}

	.col-5 .col-5__item:nth-of-type(5n){margin: 0 0 4% 0;}
	.col-5 .col-5__item:nth-of-type(2n){margin: 0 0 4% 0;}

	.col-6 .col-6__item{
		margin: 0 2% 4% 0;
		width: 49%;
	}

	.col-6 .col-6__item:nth-of-type(2n){margin: 0 0 4% 0;}

}