@charset "UTF-8";
/* loading */
.loading {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	background: #fdfdfd;
}
.loading.hide {
	opacity: 0;
	pointer-events: none;
	transition: opacity 500ms;
}
.loading .circle {
	display: block;
	position: relative;
	top: calc(50% - 20px);
	width: 40px;
	height: 40px;
	margin: 0 auto;
	border: 3px solid #e0e0e0;
	border-top: 2px solid #cc0000;
	border-radius: 100px;
	animation: loading 700ms linear 0ms infinite normal both;
}
@keyframes loading {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* link */
#area01, #area02, #area03, #area04, #contactArea {
	padding-top: 60px;
	margin-top: -60px;
}
/* icon check */
.iconCheck::before {
	font-family: 'Material Symbols Outlined';
	content: "\e52d";
	vertical-align: -10%;
	margin-right: 0.2em;
}
/* icon tel */
.iconTel::before {
	font-family: 'Material Symbols Outlined';
	content: "\e0b0";
	vertical-align: -7%;
	margin-right: 0.2em;
}
/* icon */
.icon01::before {
	font-family: 'Material Symbols Outlined';
	content: "\e887";
	vertical-align: -10%;
	margin-right: 0.2em;
}
.icon02::before {
	font-family: 'Material Symbols Outlined';
	content: "\eaaa";
	vertical-align: -10%;
	margin-right: 0.2em;
}
/* icon mail */
.icon03::before {
	font-family: 'Material Symbols Outlined';
	content: "\e158";
	vertical-align: -2px;
	margin-right: 0.2em;
	font-weight: 300;
}
/* icon man */
.icon04::before {
	font-family: 'Material Symbols Outlined';
	content: "\e87c";
	vertical-align: -2px;
	margin-right: 0.2em;
	font-weight: 300;
}
.icon05::before {
	font-family: 'Material Symbols Outlined';
	content: "\f8db";
	vertical-align: -2px;
	margin-right: 0.2em;
	font-weight: 300;
}
/* icon answer */
.icon06::before {
	font-family: 'Material Symbols Outlined';
	content: "\e94c";
	vertical-align: -2px;
	margin-right: 0.2em;
	font-weight: 300;
}
/* icon question */
.icon07::before {
	font-family: 'Material Symbols Outlined';
	content: "\f0e2";
	vertical-align: -2px;
	margin-right: 0.2em;
	font-weight: 300;
}
.icon08::before {
	content: "◼︎";
	vertical-align: 0;
	margin-right: 0.2em;
}
.icon09::before {
	font-family: 'Material Symbols Outlined';
	content: "\e834";
	vertical-align: -2px;
	margin-right: 0.6em;
	font-weight: 300;
}
.icon10::before {
	font-family: 'Material Symbols Outlined';
	content: "\f181";
	vertical-align: -2px;
	margin-right: 0.6em;
	font-weight: 300;
}
.icon11::before {
	content: "●";
	vertical-align: 0;
	margin-right: 0.2em;
}
.icon12::before {
	content: "・";
	vertical-align: 0;
	margin-right: 0.2em;
}
/* wrapper
================================================== */
#wrapper {
	padding-top: 60px;
	min-width: 1080px;
}
@media screen and (max-width: 639px) {
	#wrapper {
		min-width: inherit;
	}
}
/* slideArea
================================================== */
#slideArea {
	position: relative;
	width: 100%;
	border-top: solid 10px #2438c3;
	border-bottom: solid 10px #2438c3;
}
/* mainBg
================================================== */
#mainBg {
	position: relative;
	z-index: 0;
}
/* mainTitArea
================================================== */
#mainTitArea {
	position: absolute;
	top: 27%;
	left: 10%;
	z-index: 10;
	width: 30%;
}
@media screen and (max-width: 639px) {
	#mainTitArea {
        top: 63%;
		left: 5%;
		width: 60%;
	}
}
/* mainTxt01
================================================== */
#mainTxt01 {
	position: absolute;
	z-index: 9;
	width: 47%;
	top: 2%;
	left: 5%;
	mix-blend-mode: multiply;
}
#mainTxt02 {
	position: absolute;
	z-index: 9;
	width: 47%;
	top: 3%;
	right: 5%;
	mix-blend-mode: multiply;
}
#mainTxt03 {
	position: absolute;
	z-index: 9;
	width: 47%;
	bottom: 2%;
	left: 5%;
	mix-blend-mode: multiply;
}
#mainTxt04 {
	position: absolute;
	z-index: 9;
	width: 47%;
	bottom: 2%;
	right: 5%;
	mix-blend-mode: multiply;
}
@media screen and (max-width: 639px) {
	#mainTxt01 {
		width: 55%;
		top: 4%;
		left: 5%;
	}
	#mainTxt02 {
		width: 43%;
		top: 12.5%;
		left: 5%;
		right: inherit;
	}
	#mainTxt03 {
		width: 55%;
		bottom: inherit;
		top: 21%;
		left: 5%;
	}
	#mainTxt04 {
		width: 55%;
		bottom: inherit;
		top: 29.5%;
		left: 5%;
		right: inherit;
	}
}
/* startArea
================================================== */
#startArea {
	padding: 20px 0 100px;
	width: 90%;
	margin: 0 auto;
	max-width: 700px;
}
#startArea .img01 {
	width: 18%;
	margin: 0 auto 10px;
}
@media screen and (max-width: 639px) {
	#startArea .img01 {
		width: 25%;
	}
}
#startArea h2 {
	text-align: center;
	background-color: #2438c3;
	color: #fff;
	width: 80%;
	margin: 0 auto;
	border-radius: 50px;
	font-size: 160%;
	font-weight: 700;
	padding: 0.4em 1em 0.5em;
	line-height: 100%;
	display: block;
}
@media screen and (max-width: 639px) {
	#startArea h2 {
		width: 100%;
		border-radius: 50px;
		font-size: 100%;
		padding: 0.4em 0.5em 0.5em;
	}
}
#startArea h3 {
	color: #2438c3;
	font-size: 130%;
	font-weight: 700;
	padding-top: 15px;
}
@media screen and (max-width: 639px) {
	#startArea h3 {
		font-size: 100%;
	}
}
#startArea p {
	color: #2438c3;
	padding: 0 0 5px 1em;
	border-bottom: dotted 2px #ccc;
}
/* area01
================================================== */
#area01 {
	background: url("../images/bg01.jpg") no-repeat center top #0088e8;
	background-size: contain;
	position: relative;
	padding-bottom: 100px;
}
@media screen and (max-width: 639px) {
	#area01 {
		padding-bottom: 60px;
	}
}
#area01::before {
	content: "";
	position: absolute;
	height: 60px;
	width: 100%;
	clip-path: polygon(50% 100%, 65% 0%, 35% 0%);
	background-color: #fff;
	left: 0;
	top: -1px;
}
@media screen and (max-width: 639px) {
	#area01::before {
		height: 40px;
	}
}
.wid60 {
	width: 90%;
	margin: 0 auto;
	max-width: 600px;
}
#area01 .area01Tit01 {
	padding: 20px 0;
	font-size: 250%;
	font-weight: 700;
	line-height: 140%;
	color: #fff;
	text-align: center;
	filter: drop-shadow(3px 3px 3px #000);
}
@media screen and (max-width: 639px) {
	#area01 .area01Tit01 {
		font-size: 5.5vw;
	}
}
/* bgY
================================================== */
#area01 .bgY {
	width: 90%;
	margin: 0 auto;
	max-width: 600px;
	background-color: #fff000;
	padding: 1em;
	border-radius: 3px;
	filter: drop-shadow(3px 3px 3px #000);
}
#area01 .bgY h4 {
	text-align: center;
	color: #2438c3;
	font-size: 170%;
	font-weight: 700;
	line-height: 140%;
}
@media screen and (max-width: 639px) {
	#area01 .bgY h4 {
		text-align: left;
		font-size: 110%;
	}
	#area01 .bgY h4 br {
		display: none;
	}
}
#area01Tit {
	padding: 20px 0 0;
	filter: drop-shadow(3px 3px 3px #000);
}
#area01 .txtY {
	padding: 20px 0;
	font-size: 130%;
	font-weight: 700;
	color: #fff000;
	text-align: center;
	filter: drop-shadow(3px 3px 3px #000);
}
@media screen and (max-width: 639px) {
	#area01 .txtY {
		text-align: left;
		font-size: 110%;
	}
	#area01 .txtY br {
		display: none;
	}
}
/* img03Box
================================================== */
#img03Box {
	width: 90%;
	margin: 0 auto;
	max-width: 560px;
	background-color: #fff;
	padding: 1em;
	border-radius: 3px;
	filter: drop-shadow(3px 3px 3px #000);
}
#img03Box h3 {
	width: 60%;
	margin: 0 auto;
	padding-bottom: 20px;
}
#img03Box p {
	text-align: center;
	color: #000050;
	font-size: 110%;
	font-weight: 500;
	line-height: 160%;
}
@media screen and (max-width: 639px) {
	#img03Box h3 {
		width: 90%;
	}
	#img03Box p {
		text-align: left;
		font-size: 100%;
		line-height: 140%;
	}
	#img03Box p br {
		display: none;
	}
}
.wid80 {
	width: 90%;
	margin: 0 auto;
	max-width: 800px;
}
/* img04Box
================================================== */
#img04Box {
	width: 40%;
	margin: 0 auto;
	padding: 20px 0;
}
@media screen and (max-width: 639px) {
	#img04Box {
		width: 60%;
		padding: 40px 0 0;
	}
}
.certificationBox {
	width: 100%;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.certificationBox::before{
  content: "";
  display: block;
  width: 23%;
  order: 1;
}
.certificationBox::after {
	display: block;
	content: "";
	width: 23%;
}
@media screen and (max-width: 639px) {
	.certificationBox {
		padding: 20px 0 0;
	}
}
/* sBox
================================================== */
.sBox {
	display: -webkit-box;
	display: flex;
	flex-direction: column; /* 子要素を縦並べ */
	width: 20%;
	max-width: 300px;
    padding: 0 0 20px;
}
@media screen and (max-width: 639px) {
	.sBox {
		width: 47.5%;
		margin: 0;
	}
	.sBox figure {
		width: 60%;
		margin: 0 auto;
	}
}
.sBox p {
	color: #fff;
	padding-top: 1em;
}
@media screen and (max-width: 639px) {
	.sBox p {
		padding-top: 10px;
	}
	.sBox h3 {
		width: 80%;
		margin: 0 auto;
	}
}
/* bgW
================================================== */
#bgW {
	background-color: #fff;
	padding: 1em;
	border-radius: 3px;
	filter: drop-shadow(3px 3px 3px #000);
}
#bgW h3 {
	width: 40%;
	margin: 0 auto;
	padding-bottom: 20px;
}
@media screen and (max-width: 639px) {
	#bgW h3 {
		width: 90%;
	}
}
#bgW p {
	text-align: center;
	color: #2438c3;
	padding-bottom: 20px;
}
@media screen and (max-width: 639px) {
	#bgW p {
		text-align: left;
	}
	#bgW p br {
		display: none;
	}
}
/* area02
================================================== */
#area02 {
	background: url("../images/bg02.jpg") no-repeat center 60px #0088ec;
	background-size: contain;
	position: relative;
	padding-bottom: 100px;
	margin-bottom: 60px;
}
@media screen and (max-width: 639px) {
	#area02 {
		background-image: none;
		padding-bottom: 60px;
	}
}
#area02 .wid40 {
	width: 37%;
	margin: 0 auto;
	padding: 5% 0 23%;
}
@media screen and (max-width: 639px) {
	#area02 .wid40 {
		width: 100%;
		margin: 0;
		padding: 0 0 1em;
	}
}
#area02 .area02Txt {
	color: #fff000;
	font-weight: 500;
	text-align: center;
	width: 90%;
	margin: 0 auto;
}
@media screen and (max-width: 639px) {
	#area02 .area02Txt {
		text-align: left;
	}
	#area02 .area02Txt br {
		display: none;
	}
}
.wid100 {
	width: 90%;
	margin: 0 auto;
	max-width: 900px;
	padding: 0 0 1em;
}
.flex {
	width: 100%;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex::before{
  content: "";
  display: block;
  width: 30%;
  order: 1;
}
.flex::after {
	display: block;
	content: "";
	width: 30%;
}
.flexBox {
	display: -webkit-box;
	display: flex;
	flex-direction: column; /* 子要素を縦並べ */
	width: 30%;
    padding: 0;
	background-color: #fff000;
	border-radius: 3px;
	margin-top: 20px;
}
@media screen and (max-width: 639px) {
	.flexBox {
		width: 47.5%;
	}
}
.flexBox p {
	padding: 1em;
	color: #243a9e;
	font-weight: 500;
}
@media screen and (max-width: 639px) {
	.flexBox p {
		font-weight: 500;
		padding: 0.5em 1em 1em;
	}
}
#area02 .point {
	width: 90%;
	margin: 0 auto;
	max-width: 900px;
	color: #fff;
	font-size: 80%;
	text-align: right;
}
/* area02blockA
================================================== */
#area02blockA {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#bg03 {
	width: 50%;
	top: 0;
	left: -7%;
	position: absolute;
	z-index: 0;
}
#area02blockA .wid80 {
	position: relative;
	z-index: 1;
}
#area02blockA .wid80 h3 {
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 180%;
	padding: 40px 0 20px;
}
@media screen and (max-width: 639px) {
	#area02blockA .wid80 h3 {
		font-size: 7vw;
	}
}
/* area02box
================================================== */
.area02box {
	background-color: #fff;
	border-radius: 3px;
	margin-top: 20px;
	padding: 3%;
}
@media screen and (max-width: 639px) {
	.area02box {
		padding: 5%;
	}
}
.area02box .area02boxR {
	width: 20%;
	float: left;
}
.area02box .area02boxR figure {
	width: 50%;
	margin: 0 auto;
}
.area02box .area02boxL {
	width: 80%;
	float: right;
}
.area02box .area02boxL h4 {
	color: #2438c3;
	font-weight: 700;
	font-size: 160%;
	padding-bottom: 10px;
}
@media screen and (max-width: 639px) {
	.area02box .area02boxR {
		width: 20%;
	}
	.area02box .area02boxR figure {
		width: 75%;
		margin: 0;
	}
	.area02box .area02boxL h4 {
		font-size: 120%;
	}
}
.area02box .area02boxL .area02boxLTxt {
	background: url("../images/arrow.svg") no-repeat 0 8px;
	background-size: 10px;
	padding-left: 1em;
	color: #2438c3;
	font-weight: 500;
}
/* area03
================================================== */
#area03 {
	position: relative;
	padding-bottom: 100px;
}
#area03::before {
	content: "";
	position: absolute;
	height: 60px;
	width: 100%;
	clip-path: polygon(50% 100%, 65% 0%, 35% 0%);
	background-color: #0088ec;
	left: 0;
	top: -1px;
}
@media screen and (max-width: 639px) {
	#area03::before {
		height: 40px;
	}
}
#area03Tit {
	width: 30%;
	margin: 40px auto;
	background-color: #2438c3;
	border-radius: 100px;
}
#area03Tit h2{
	color: #fff;
	font-weight: 500;
	text-align: center;
	font-size: 160%;
	line-height: 100%;
	padding: 10px 0;
}
@media screen and (max-width: 639px) {
	#area03Tit {
		width: 70%;
		margin: 20px auto 40px;
	}
	#area03Tit h2{
		font-size: 120%;
	}
}
/* messageArea
================================================== */
.messageArea {
	border: 3px solid #0087ea;
	margin-bottom: 4%;
}
.messageImgBox {
	float: left;
	width: 50%;
	overflow: hidden;
}
@media screen and (max-width: 700px) {
	.messageImgBox {
		float: none;
		width: 100%;
	}
}
.messageImgBox:hover img {
	width: 100%;
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.messageImgBox img {
	width: 100%;
	-webkit-transition-duration: 0.4s;
	transition-duration: 0.4s;
	-webkit-transition-property: background, border, color, fill, content, opacity, -webkit-transform;
	transition-property: background, border, color, fill, content, opacity, -webkit-transform;
	transition-property: background, border, color, transform, fill, content, opacity;
	transition-property: background, border, color, transform, fill, content, opacity, -webkit-transform;
}
.messageTxtBox {
	float: right;
	width: 50%;
}
@media screen and (max-width: 639px) {
	.messageTxtBox {
		float: none;
		width: 100%;
	}
}
.messageTxtTitBox {
  padding: 2% 5%;
  border-bottom: 1px solid #0087ea;
}
.messageTxtTitBox h3{
	font-size: 80%;
	color: #0087ea;
	font-weight: 500;
}
.messageLeadBox {
	padding: 2% 5% 5%;
}
.messageLeadBox p{
	padding: 0 0 5%;
	line-height: 200%;
	font-weight: 500;
}
@media screen and (max-width: 639px) {
	.messageLeadBox p br {
		display: none;
	}
}
.messageBtn {
	position: relative;
	display: inline-block;
	border: solid 1px #222;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	line-height: 2px%;
	background-color: #fff;
}
.messageBtn:hover {
	border: solid 1px #0088ec;
	transition: .3S;
	-webkit-transition: .3s;
}
.messageBtn a {
	padding: 5px 25px 5px 35px;
	color: #222;
	display: block;
	font-size: 80%;
	font-weight: 500;
}
.messageBtn:hover a {
	transition: .3S;
	-webkit-transition: .3s;
	color: #fff;
	background-color: #0088ec;
}
.messageBtn .btn-border:before {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: .3s;
	transition: .3s;
	font-family: 'Material Symbols Outlined';
	content: "\eaaa";
	-webkit-transform: translateX(10px) translateY(5px);
	transform: translateX(10px) translateY(5px);
}
.messageBtn:hover .btn-border:before {
	-webkit-transform: translateX(16px) translateY(5px);
	transform: translateX(16px) translateY(5px);
	color: #fff;
}
/* popup
================================================== */
.lock {
	overflow: hidden;
}
.modal-content {
	position: relative;
	display: none;
	width: 60%;
	max-height: 80%;
	margin: 30px;
	padding: 20px;
	background: #fff;
	overflow: auto;
}
.modal-overlay {
	z-index: 10500;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba(0, 0, 0, 0.80);
}
.modal-wrap {
	z-index: 10600;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
}
.modal-open {}
.modal-open:hover {
	cursor: pointer;
}
@media (max-width: 960px) {
	.modal-content {
		width: 90%;
		margin: 0;
	}
}
@media (max-width: 639px) {
	.modal-content {
		width: 80%;
		margin: 0;
	}
}
/* modalBox
================================================== */
.modalBox {
	max-width: 800px;
	margin: 0 auto;
}
.modalBox .modalTit {
	background-color: #00009a;
	padding: 1.5em 5%;
}
.modalBox .modalTit h4 {
	color: #fff;
	font-weight: 500;
	padding-bottom: 0.5em;
}
.modalBox .modalTit h3 {
	color: #fff;
	font-weight: 400;
	font-size: 160%;
	line-height: 140%;
}
@media screen and (max-width: 639px) {
	.modalBox .modalTit h3 {
		font-size: 120%;
	}
	.modalBox .modalTit h3 br {
		display: none;
	}
}
.modalBox .modalTop h4 {
	padding: 2em 0 0;
	color: #0087ea;
	font-weight: 500;
}
.modalBox .modalTop p {
	padding: 1em 0 2em;
	border-bottom: solid 1px;
}
.modalBox .modalTop p span {
	font-weight: 500;
}
.modalBox .modalTxt {
	padding: 2em 0 0;
}
.modalBox .modalTxt h4 {
	padding-bottom: 1em;
	line-height: 140%;
	color: #0087ea;
	font-weight: 500;
}
.modalBox .modalTxt p {
	padding: 0 0 0.5em;
	line-height: 140%;
}
.closeBtn {
	padding-top: 20px;
	float: right;
	width: 100px;
	display: block;
}
.closeBtn img {
	width: 100%;
}
@media (max-width: 800px) {
	.closeBtn {
		width: 60px;
	}
}
@media (max-width: 639px) {
	.modalBox p.closeBtn {
		padding: 20px 0 0;
	}
}
/* area04
================================================== */
#area04 {
	background: url("../images/bg01.jpg") no-repeat center top #0088e8;
	background-size: contain;
	position: relative;
	padding-bottom: 100px;
}
@media screen and (max-width: 639px) {
	#area04 {
		padding-bottom: 60px;
	}
}
#area04::before {
	content: "";
	position: absolute;
	height: 60px;
	width: 100%;
	clip-path: polygon(50% 100%, 65% 0%, 35% 0%);
	background-color: #fff;
	left: 0;
	top: -1px;
}
@media screen and (max-width: 639px) {
	#area04::before {
		height: 40px;
	}
}
#area04Tit {
	text-align: center;
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
}
#area04Tit h2 {
	color: #fff;
	font-weight: 700;
	font-size: 160%;
	line-height: 140%;
	padding: 40px 0 3px;
}
@media screen and (max-width: 639px) {
	#area04Tit h2 {
		padding: 20px 0 3px;
	}
}
#area04Tit h3 {
	color: #fff000;
	font-weight: 500;
	line-height: 100%;
	padding: 10px 0 5px;
}
#area04Tit h3 span {
	font-size: 150%;
}
#area04Tit p {
	color: #fff;
	font-weight: 500;
}
.flex02 {
	width: 100%;
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex02::before{
  content: "";
  display: block;
  width: 30%;
  order: 1;
}
.flex02::after {
	display: block;
	content: "";
	width: 30%;
}
.flexBox02 {
	display: -webkit-box;
	display: flex;
	flex-direction: column; /* 子要素を縦並べ */
	width: 26%;
    padding: 0;
	color: #1c2d51;
	background-color: #fff;
	border-radius: 3px;
	margin-top: 20px;
	padding: 2%;
}
@media screen and (max-width: 639px) {
	.flexBox02 {
		width: 90%;
		display: block;
		padding: 5%;
	}
}
.flexBox02 h3 {
	font-weight: 500;
	text-align: center;
}
.flexBox02 .flex02TitA {
	border-bottom: solid 2px #65a6de;
}
.flexBox02 .flex02TitB {
	border-bottom: solid 2px #c50018;
}
.flexBox02 .flex02TitC {
	border-bottom: solid 2px #a5814c;
}
.flexBox02 h4 {
	font-weight: 700;
	font-size: 110%;
	text-align: center;
	padding: 20px 0;
}
.flexBox02 h4 span {
	font-size: 160%;
	padding-left: 0.1em;
	letter-spacing: -0.1rem;
}
.flexBox02 dl {
	font-size: 80%;
	font-weight: 500;
	min-height: 120px;
	line-height: 140%;
    padding-bottom: 10px;
}
@media screen and (max-width: 639px) {
	.flexBox02 dl {
		font-size: 100%;
		min-height: inherit;
	}
}
.flexBox02 .flexBox02kakomi {
	background-color: #d5ffff;
	padding: 1em;
	font-size: 60%;
}
@media screen and (max-width: 639px) {
	.flexBox02 .flexBox02kakomi {
		font-size: 80%;
	}
}
.flexBox02 .flexBox02kakomi ol {
	padding: 0 0 0 1em;
	margin: 0;
	list-style-position: outside;
	line-height: 130%;
}
.flexBox02 .flexBox02kakomi ol li {
	list-style: disc;
	padding-bottom: 3px;
}
.flexBox02 .kakomiA {
	background-color: #d5ffff;
}
.flexBox02 .kakomiB {
	background-color: #ffd9e5;
}
.flexBox02 .kakomiC {
	background-color: #eee1c5;
}
.longBox {
    padding: 0;
	background-color: #fff;
	color: #1c2d51;
	border-radius: 3px;
	margin-top: 4%;
	padding: 2%;
}
@media screen and (max-width: 639px) {
	.longBox {
		margin-top: 20px;
		width: 90%;
		padding: 5%;
	}
}
.longBox h3 {
	font-weight: 500;
	text-align: center;
	border-bottom: solid 2px #64aa44;
}
.longBox h3 br {
	display: none;
}
@media screen and (max-width: 639px) {
	.longBox h3 br {
		display: block;
	}
}
.longBox h3 span {
	padding-left: 1em;
	font-size: 80%;
	font-weight: 400;
}
@media screen and (max-width: 639px) {
	.longBox h3 span {
		padding-left: 0;
	}
}
.longBox h4 {
	font-weight: 700;
	font-size: 110%;
	text-align: center;
	padding: 20px 0 10px;
}
.longBox h4 span {
	font-size: 160%;
	padding-left: 0.1em;
	letter-spacing: -0.1rem;
}
.longBox p {
	text-align: center;
	font-size: 100%;
	font-weight: 500;
	line-height: 140%;
}
@media screen and (max-width: 639px) {
	.longBox p {
		text-align: left;
		padding-bottom: 1em;
	}
}
/* flowBox
================================================== */
#flowBox {
    width: 90%;
    margin: 0 auto;
    max-width: 600px;
	padding: 40px 0;
}
#flowBox p {
	color: #fff;
	font-size: 80%;
	line-height: 130%;
}
@media screen and (max-width: 639px) {
	#flowBox {
		padding: 20px 0 40px;
	}
	#flowBox p {
		padding-top: 1em;
	}
}
/* qaArea
================================================== */
#qaArea {
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
	background-color: #fff;
	padding: 0 5% 20px;
}
@media screen and (max-width: 639px) {
	#qaArea {
		width: 86%;
	}
}
.qaTit {
	padding: 30px 0;
}
.qaTit h2 {
	text-align: center;
	color: #009fe6;
	font-size: 300%;
	font-weight: 700;
	line-height: 100%;
}
.qaTit h2 span {
	font-weight: 400;
	padding: 0 5px;
}
@media screen and (max-width: 639px) {
	.qaTit h2 {
		font-size: 160%;
	}
}
.qaBox {
	display: flex;
	flex-flow: wrap;
	justify-content: space-around;
	align-items: center;
	padding: 15px 5%;
}
.question {
	background-color: #009fe6;
	color: #fff;
}
.answer {
	margin-bottom: 20px;
}
.qaBox dt {
	width: 10%;
	text-align: center;
	font-weight: 700;
}
.qaBox dt.aBox {
	color: #009fe6;
}
.qaBox dd {
	width: 90%;
	font-weight: 500;
	line-height: 140%;
}
@media screen and (max-width: 639px) {
	.qaBox dt {
		width: 15%;
		text-align: left;
	}
	.qaBox dd {
		width: 85%;
	}
}
/* toolArea
================================================== */
#toolArea {
    width: 90%;
    margin: 0 auto;
    max-width: 900px;
	padding: 40px 5% 120px;
}
#toolArea h2 {
	font-size: 140%;
	font-weight: 500;
	text-align: center;
	line-height: 160%;
}
@media screen and (max-width: 639px) {
	#toolArea h2 {
		font-size: 110%;
		text-align: left;
	}
	#toolArea h2 br {
		display: none;
	}
}
.toolBox {
	margin-top: 30px;
	border: solid 3px;
	padding: 0 5%;
	border-radius: 10px;
}
.toolBox #img28 {
	width: 35%;
	margin: 0 auto;
	padding: 15px 0; 
}
.toolBox #img29 {
	width: 40%;
	margin: 0 auto;
	padding: 15px 0; 
}
.toolBox #img30 {
	width: 16%;
	margin: 0 auto;
	padding: 15px 0; 
}
@media screen and (max-width: 639px) {
	.toolBox #img28 {
		width: 65%;
		padding: 10px 0; 
	}
	.toolBox #img29 {
		width: 80%;
	}
	.toolBox #img30 {
		width: 35%;
		padding: 10px 0; 
	}
}
.toolBox p {
	border-top: solid 3px;
	padding: 15px 0 25px;
}
/* contentArea
================================================== */
.contentArea {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 5% 0;
}
/* contactArea
================================================== */
#contactArea {
	background: url("../images/bg01.jpg") no-repeat center top #0088e8;
	background-size: contain;
	position: relative;
	padding-bottom: 100px;
}
@media screen and (max-width: 639px) {
    #contactArea {
        padding-bottom: 60px;
    }
}
.contactTit {
	padding: 0 0 40px;
}
.contactTit h2 {
	color: #fff;
    font-weight: 700;
    font-size: 160%;
    line-height: 140%;
	text-align: center;
}
@media screen and (max-width: 639px) {
	.contactTit h2 {
		font-size: 110%;
		text-align: left;
	}
	.contactTit h2 br {
		display: none;
	}
}
/* formArea
================================================== */
.formArea {
	background-color: #fff;
	border-radius: 2px;
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
	color: #222;
	padding: 5%;
}
.formArea h2 {
	font-size: 120%;
	text-align: center;
	font-weight: 500;
	line-height: 130%;
	width: 100%;
	padding: 15px 0;
	position: relative;
}
.formArea h2:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 160px;
	height: 5px;
	background-color: #cc0000;
	margin-left: -80px;
}
@media screen and (max-width: 639px) {
	.formArea h2 {
		font-size: 5vw;
	}
}
.formArea .contactTel {
	font-size: 280%;
	text-align: center;
	padding: 20px 0 20px;
}
.formArea .contactTel span {
	vertical-align: 20%;
}
@media screen and (max-width: 800px) {
	.formArea .contactTel {
		font-size: 8vw;
	}
}
/* form
================================================== */
form#mailformpro dl dt {
	float: none !important;
	width: inherit !important;
	clear: both;
	font-size: 100%;
	padding: 0;
	text-align: left !important;
	border-top: none !important;
	margin: 1rem 0 0 0;
}
@media screen and (max-width: 639px) {
	form#mailformpro dl dt {
		font-size: 80%;
	}
}
form#mailformpro dl dd {
	border-top: none !important;
	margin: 0;
	padding: 0 !important;
	font-size: 100 !important;
	line-height: 140% !important;
	text-align: left;
}
.private-info dt {
	margin: 30px 0 5px !important;
	font-weight: 500;
}
.must {
	background-image: none !important;
	display: inline !important;
	border: none !important;
	text-shadow: none !important;
	float: none !important;
	box-shadow: none !important;
	background-size: auto !important;
}
.private-info .must {
	margin: 0 0 0 0.5rem !important;
	color: #fff;
	font-size: 70% !important;
	font-weight: 500;
	background-color: #cc0000 !important;
	padding: 3px 10px 4px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px !important;
}
.private-info [type=submit], .private-info [type=reset], .private-info [type=text], .private-info [type=email], .private-info [type=tel] {
	width: 96% !important;
}
.private-info textarea {
	padding: 12px 2% 11px !important;
	width: 96% !important;
}
.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea {
	border-radius: 0 !important;
	box-shadow: none;
}
option, textarea, [type=text], [type=email], [type=tel], [type=search] {
	color: inherit;
	background: #fff;
	border: 1px solid #ddd;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px !important;
}
[type=submit], [type=reset], [type=text], [type=email], [type=tel], .reply a {
	display: inline;
	line-height: 1;
	vertical-align: middle;
	padding: 12px 2% 11px;
	max-width: 100%;
}
button, select {
	text-transform: none;
}
input, button, select, optgroup, textarea {
	margin: 0;
	font-family: inherit;
	font-size: 130%;
	line-height: 140%;
}
.mfp_buttons {
	margin-top: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mfp_element_submit {
	text-shadow: 0 !important;
	font-size: 100% !important;
	outline: none;
	background: #cc0000 !important;
	color: #fff;
	padding: 20px;
	border-radius: 3px !important;
	cursor: pointer !important;
	transition: all .6s ease;
	text-shadow: none !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
}
.mfp_element_reset {
	text-shadow: 0 !important;
	font-size: 100% !important;
	outline: none;
	background: #ccc !important;
	color: #fff;
	padding: 20px;
	border-radius: 3px !important;
	cursor: pointer !important;
	transition: all .6s ease;
	text-shadow: none !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
}
.mfp_element_submit:hover {
	transition: .3s;
	background: #e23f3f !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
}
.mfp_element_reset:hover {
	transition: .3s;
	background: #aaa !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
}
form#mailformpro label {
	padding: 1% !important;
	border: none !important;
	font-size: 130%;
	font-weight: 500;
}
form#mailformpro .checkbox label {
	padding: 20px 10px !important;
}
@media screen and (max-width: 800px) {
	form#mailformpro .checkbox label {
		font-size: 100% !important;
	}
	form#mailformpro .checkbox label input {
		font-size: 100% !important;
	}
}
form#mailformpro label input {
	margin-right: 1em;
}
/* 送信ボタン
================================================== */
.submit-btn {
	/* buttonタグのリセットCSS */
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	appearance: none;
	/* ボタン有効時のスタイル */
	text-shadow: 0 !important;
	font-size: 100% !important;
	outline: none;
	background: #cc0000 !important;
	color: #fff;
	padding: 20px;
	border-radius: 3px !important;
	cursor: pointer !important;
	transition: all .6s ease;
	text-shadow: none !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
	cursor: pointer !important; /* ポインターカーソルを表示 */
}
/* ボタン無効時のスタイル */
.submit-btn[disabled] {
	text-shadow: 0 !important;
	font-size: 100% !important;
	outline: none;
	background: #ccc !important;
	color: #fff;
	padding: 20px;
	border-radius: 3px !important;
	cursor: pointer !important;
	transition: all .6s ease;
	text-shadow: none !important;
	border: solid 1px #fff;
	box-shadow: 0 0 0 0 #fff, 0.3em 0.3em 1em rgba(0, 0, 0, .2);
	cursor: not-allowed !important; /* クリック不可のカーソルを表示 */
}
/* kakomi
================================================== */
.kakomi {
	max-width: 1080px;
	margin: 0 auto;
	padding: 3% 5%;
	margin: 30px 0;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	background-color: #F6F4F5;
	font-size: 70%;
}
@media screen and (max-width: 639px) {
	.kakomi {
		padding: 5% 5%;
	}
}
.kakomi h3 {
	font-weight: 500;
}
.kakomi h4 {
	font-weight: 500;
	padding-top: 1.5em;
}
.kakomi p {
	padding-top: 1em;
}
.kakomi dl {
	padding-top: 1em;
}
.iframeWrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	border: solid #ccc 1px;
	overflow: hidden;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}
.iframeWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-width: 0;
}
/* thanksArea
================================================== */
#thanksArea {
	background-color: #0088e8;
	position: relative;
	padding: 40px 0;
}
#thanksArea .thanksTxt {
	color: #fff;
	padding-bottom: 1em;
}
