@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);
	}
}
/* icon check */
.iconCheck::before {
	font-family: 'Material Symbols Outlined';
	content: "\e834";
	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;
}
/* icon 1-5 */
.no01::before {
	font-family: 'Material Symbols Outlined';
	content: "\f784";
	vertical-align: -27%;
	margin-right: 0.2em;
}
.no02::before {
	font-family: 'Material Symbols Outlined';
	content: "\f783";
	vertical-align: -27%;
	margin-right: 0.2em;
}
.no03::before {
	font-family: 'Material Symbols Outlined';
	content: "\f782";
	vertical-align: -27%;
	margin-right: 0.2em;
}
.no04::before {
	font-family: 'Material Symbols Outlined';
	content: "\f781";
	vertical-align: -27%;
	margin-right: 0.2em;
}
.no05::before {
	font-family: 'Material Symbols Outlined';
	content: "\f780";
	vertical-align: -27%;
	margin-right: 0.2em;
}
/* headContact
================================================== */
.headContact {
	position: fixed;
	z-index: 110;
	top: 0;
	right: 0;
}
.headContact p{
	padding: 0;
	margin: 0;
	width: 260px;
	font-size: 100%;
	line-height: 59px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	background: linear-gradient(-45deg,#c7000b 25%, #c7000b 25%,#dd4554 50%, #c7000b 50%,#c7000b 75%, #c7000b 75%,#dd4554);
	background-size: 200px 200px;
	animation: anime_stripe_1 8s infinite linear;
}
.headContact p:hover{
	background: linear-gradient(-45deg,#c7000b 25%, #c7000b 25%,#dd4554 50%, #c7000b 50%,#c7000b 75%, #c7000b 75%,#dd4554);
	background-size: 200px 200px;
	animation: anime_stripe_1 0.8s infinite linear;
}
@keyframes anime_stripe_1 {
	0% {  background-position-x: 0;}
	100% {  background-position-x: -200px;}
}
@media screen and (max-width: 1000px) {
	.headContact p{
		width:  180px;
	}
}
@media screen and (max-width: 639px) {
	.headContact p{
		width:  140px;
		line-height: 49px;
		font-size: 80%;
	}
}
@media screen and (max-width: 320px) {
	.headContact p{
		width: 110px;
		line-height: 49px;
		letter-spacing: 0;
	}
}
.headContact p a{
	color: #fff;
	display: block;
}
/* headTel
================================================== */
.headTel {
	position: fixed;
	z-index: 110;
	top: 0;
	right: 270px;
}
.headTel p{
	padding: 0;
	margin: 0;
	line-height: 59px;
	text-align: right;
}
@media screen and (max-width: 1000px) {
	.headTel {
		right: 190px;
	}
}
@media screen and (max-width: 639px) {
	.headTel {
		display: none;
	}
	.headContact p{
		line-height: 58.5px;
	}
}
/* telNo
================================================== */
.telNo {
	padding: 8% 0 6%;
	text-align: center;
	font-size: 200%;
}
@media screen and (max-width: 1000px) {
	.telNo {
		font-size: 3vw;
	}
}
@media screen and (max-width: 850px) {
	.telNo {
		font-size: 4vw;
	}
}
@media screen and (max-width: 639px) {
	.telNo {
		padding-top: 8%;
		font-size: 100%;
	}
}
/* wrapper
================================================== */
#wrapper {
	padding-top: 60px;
}
/* mainArea
================================================== */
#mainArea {
	position: relative;
	width: 100%;
}
/* mainTit
================================================== */
#mainTit {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 4%;
	left: 0;
}
#mainTit h1 {
	width: 71%;
	margin: 0 auto;
}
@media screen and (max-width: 639px) {
	#mainTit {
		bottom: 45%;
		left: 0;
	}
	#mainTit h1 {
		width: 90%;
	}
}
/* mainBg
================================================== */
#mainBg{
	position: relative;
	z-index: 0;
}
/* contentArea
================================================== */
.contentArea {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 5% 0;
}
/* topArea
================================================== */
#topArea {
	padding: 60px 0 0;
}
@media screen and (max-width: 639px) {
	#topArea {
		padding: 20px 0 0;
	}
}
/* titArea
================================================== */
.titArea {
	position: relative;
}
.titArea h2 {
	font-size: 280%;
	text-align: center;
	font-weight: 300;
	line-height: 130%;
	padding: 3% 0;
	margin: 0;
}
@media screen and (max-width: 1100px) {
	.titArea h2 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 480px) {
	.titArea h2 {
		font-size: 5vw;
	}
}
.titAreaP {
	padding-bottom: 3%;
	width: 74%;
	margin: 0 auto;
	font-size: 140%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.titAreaP {
		width: 100%;
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 600px) {
	.titAreaP {
		font-size: 100%;
	}
}
.titImg {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 2%;
}
.titImg p {
	float: left;
	width: 44%;
	padding: 0 3%;
}
@media screen and (max-width: 900px) {
	.titImg {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.titImg p {
		float: none;
		width: 75%;
		margin: 0 auto;
		padding: 0 0 3%;
	}
}
/* topAreaBlock
================================================== */
#topAreaBlock {
	background-color: #fff;
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
	border-radius: 2px; 
	padding: 5%;
}
@media screen and (max-width: 480px) {
	#topAreaBlock {
		padding: 8% 5%;
	}
}
#topAreaBlock h2 {
	color: #cc0000;
	font-size: 280%;
	text-align: center;
	font-weight: 700;
	line-height: 130%;
	padding: 0 0 3% 0;
}
@media screen and (max-width: 1100px) {
	#topAreaBlock h2 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 480px) {
	#topAreaBlock h2 {
		font-size: 5.5vw;
	}
}
#topAreaBlock .topAreaBox {
	padding: 15px 0;
}
#topAreaBlock .topAreaBox dt {
	width: 10%;
	max-width: 60px;
	font-size: 380%;
	text-align: center;
	color: #cc0000;
	line-height: 100%;
	float: left;
}
#topAreaBlock .topAreaBox dd {
	font-size: 150%;
	line-height: 160%;
	padding: 10px 0 0 80px;
}
#topAreaBlock .topAreaBox dd span {
	font-size: 120%;
	color: #cc0000;
	font-weight: 500;
	background: linear-gradient(transparent 70%, #ffe400 30%);
    margin: 0 0.2em;
}
@media screen and (max-width: 1100px) {
	#topAreaBlock .topAreaBox dt {
		font-size: 5vw;
	}
	#topAreaBlock .topAreaBox dd {
		font-size: 2.5vw;
		padding: 0 0 0 60px;
	}
}
@media screen and (max-width: 639px) {
	#topAreaBlock .topAreaBox dt {
		font-size: 5vw;
	}
	#topAreaBlock .topAreaBox dd {
		font-size: 3vw;
		padding: 0 0 0 50px;
	}
}
@media screen and (max-width: 480px) {
	#topAreaBlock .topAreaBox dt {
		font-size: 9.5vw;
	}
	#topAreaBlock .topAreaBox dd {
		font-size: 110%;
	}
}
/* bgB
================================================== */
#bgB {
	background: url("../images/bg01.jpg") no-repeat top #007fe8;
	background-size: contain;
}
/* bg01
================================================== */
#bg01 {
	margin-top: 60px;
	padding-bottom: 3%;
}
@media screen and (max-width: 639px) {
	#bg01 {
		margin-top: 10%;
		padding-bottom: 6%;
	}
}
/* titLogo
================================================== */
.titLogo {
	width: 60%;
	max-width: 400px;
	margin: 0 auto;
	padding: 8% 0 5%;
}
@media screen and (max-width: 480px) {
	.titLogo {
		padding: 12% 0 5%;
	}
}
/* titArea1
================================================== */
.titArea1 {
	background-size: 10%;
	padding: 0 0 5%;
	color: #fff;
}
@media screen and (max-width: 639px) {
	.titArea1 {
		padding: 0 0 10%;
	}
}
.titArea1 h2 {
	font-weight: 300;
	font-size: 280%;
	line-height: 180%;
	padding-bottom: 3%;
	text-align: center;
	text-shadow: #007fe8 1px 0 10px;
}
.titArea1 h2 span.txtL {
	font-size: 140%;
	font-weight: 500;
}
.titArea1 h2 span.txtL span.webfontL {
	font-size: 140%;
}
.fullLine {
	display: flex;
	align-items: center;
}
.fullLine:before, .fullLine:after {
	content: "";
	height: 2px;
	flex-grow: 1;
	background-color: #fff;
}
.fullLine:before {
	margin-right: 1rem;
}
.fullLine:after {
	margin-left: 1rem;
}
@media screen and (max-width: 1100px) {
	.titArea1 h2 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 480px) {
	.titArea1 h2 {
		font-size: 4.6vw;
	}
}
.titArea1 h3 {
	font-weight: 300;
	font-size: 180%;
	line-height: 140%;
	padding-bottom: 15px;
	text-align: center;
	text-shadow: #007fe8 1px 0 10px;
}
@media screen and (max-width: 1100px) {
	.titArea1 h3 {
		font-size: 3vw;
	}
}
@media screen and (max-width: 480px) {
	.titArea1 h3 {
		font-size: 4vw;
	}
}
.titArea1 p {
	padding-bottom: 3%;
	width: 80%;
	margin: 0 auto;
	font-size: 140%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.titArea1 p {
		width: 100%;
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 600px) {
	.titArea1 p {
		font-size: 100%;
	}
}
/* systemArea
================================================== */
.systemArea {
	padding: 60px 0;
}
@media screen and (max-width: 639px) {
	.systemArea {
		padding: 10% 0 0;
	}
}
/* system
================================================== */
.system {
	background-color: #fff;
	padding: 3% 5%;
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.30);
	border-radius: 2px; 
	color: #222;
	margin-bottom: 3%;
}
@media screen and (max-width: 639px) {
	.system {
		padding: 5%;
	}
}
/* systemTit
================================================== */
.systemTit {
	padding: 0 0 20px;
	border-bottom: solid 2px #cc0000;
	position: relative;
}
.systemTit h3 {
	padding-left: 70px;
	font-size: 150%;
	font-weight: 700;
	line-height: 160%;
}
.systemTit h3 span.point {
	font-size: 140%;
	font-weight: 700;
	color: #cc0000;
	background: linear-gradient(transparent 70%, #ffe400 30%);
    margin: 0 0.2em;
}
.systemTit p.webfontL {
	position: absolute;
	top: -10px;
	left: 0;
	width: 70px;
	text-align: center;
	font-size: 410%;
	line-height: 100%;
	color: #cc0000;
	padding: 0;
	margin: 0;
}
@media screen and (max-width: 1100px) {
	.systemTit h3 {
		font-size: 2.5vw;
	}
	.systemTit p.webfontL {
		font-size: 7vw;
	}
}
@media screen and (max-width: 639px) {
	.systemTit h3 {
		font-size: 3vw;
		padding-left: 10%;
	}
	.systemTit p.webfontL {
		font-size: 8.5vw;
		width: 10%;
	}
}
@media screen and (max-width: 480px) {
	.systemTit h3 {
		font-size: 110%;
		font-weight: 500;
		padding-left: 13%;
		padding-top: 3px;
	}
	.systemTit p.webfontL {
		font-size: 11.5vw;
		width: 10%;
		top: 0;
	}
	.systemTit h3 span.point {
		font-size: 120%;
}
}
.systemTxt p {
	padding: 20px 0 0;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.systemTxt p {
		padding-top: 15px;
		font-size: 100%;
		line-height: 160%;
	}
}
.systemTxt h4 {
	text-align: center;
	font-size: 150%;
	font-weight: 300;
	line-height: 160%;
	padding: 3% 0;
}
@media screen and (max-width: 1100px) {
	.systemTxt h4 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.systemTxt h4 {
		font-size: 3vw;
		padding: 5% 0;
	}
}
@media screen and (max-width: 480px) {
	.systemTxt h4 {
		font-size: 110%;
		font-weight: 500;
	}
}
.systemTxt p span {
	color: #cc0000;
	font-weight: 700;
}
.systemImg .imgL {
	float: left;
	width: 48%;
	padding-bottom: 3%;
}
.systemImg .imgR {
	float: right;
	width: 48%;
	padding-bottom: 3%;
}
@media screen and (max-width: 639px) {
	.systemImg .imgL {
		float: none;
		width: 80%;
		margin: 0 auto;
	}
	.systemImg .imgR {
		float: none;
		width: 80%;
		margin: 0 auto;
	}
}
/* bg02
================================================== */
#bg02 {
	padding: 0 0 3%;
}
@media screen and (max-width: 639px) {
	#bg02 {
		padding: 0 0 6%;
	}
}
/* planTxt
================================================== */
.planTxt {
	background-color: #fff;
	padding: 5%;
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.30);
	border-radius: 2px; 
	color: #222;
	margin-bottom: 5%;
}
@media screen and (max-width: 639px) {
	.planTxt {
		padding: 10% 5% 5%;
		margin-bottom: 12%;
	}
}
/* planTit
================================================== */
.planTit {
	padding: 0 0 3%;
	position: relative;
}
@media screen and (max-width: 639px) {
	.planTit {
		padding: 0 0 5%;
	}
}
.planTit h5 {
	position: absolute;
	top: -8%;
	left: 0;
	background-color: #fff;
	line-height: 160%;
	color: #cc0000;
	font-size: 220%;
	padding-right: 1%;
}
.planTit h5 span {
	font-size: 280%;
}
.planTit h3 {
	width: 77%;
	padding: 5px 5% 5px 18%;
	font-size: 170%;
	font-weight: 300;
	line-height: 160%;
	color: #fff;
	background-color: #cc0000;
}
.planTit h3 span {
	font-size: 120%;
	font-weight: 500;
}
@media screen and (max-width: 1100px) {
	.planTit h5 {
		font-size: 3.2vw;
		top: -6%;
	}
	.planTit h3 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.planTit h5 {
		font-size: 5.5vw;
		padding: 0 0 0 3%;
		line-height: 100%;
		position: relative;
		top: inherit;
		left: inherit;
	}
	.planTit h3 {
		font-size: 5.5vw;
		font-weight: 500;
		width: 92%;
		padding: 2px 5% 2px 3%;
	}
}
.planTxt h4 {
	font-size: 150%;
	font-weight: 300;
	line-height: 160%;
	padding: 3% 0 0;
	border-bottom: solid #222 2px;
}
.planTxt h4::before {
	color: #cc0000;
}
.planTxt h6 {
	font-size: 70%;
}
@media screen and (max-width: 1100px) {
	.planTxt h4 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.planTxt h4 {
		font-size: 3vw;
		padding-top: 5%;
	}
}
@media screen and (max-width: 480px) {
	.planTxt h4 {
		font-size: 110%;
		font-weight: 500;
	}
}
.planTxt p {
	padding: 1em 0 0;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.planTxt p {
		padding-top: 15px;
		font-size: 100%;
		line-height: 160%;
	}
}
.planTxt p.txtB {
	font-weight: 500;
}
.planTxt p span {
	color: #cc0000;
}
.planImg {
	padding-top: 3%;
}
.planImg .imgL {
	float: left;
	width: 48%;
	padding-bottom: 3%;
}
.planImg .imgR {
	float: right;
	width: 48%;
	padding-bottom: 3%;
}
@media screen and (max-width: 639px) {
	.planImg .imgL {
		float: none;
		width: 100%;
	}
	.planImg .imgR {
		float: none;
		width: 100%;
		padding-bottom: 5%;
	}
}
.planImgL {
	padding-top: 3%;
}
@media screen and (max-width: 639px) {
	.planImgL {
		padding-bottom: 5%;
	}
}
/* titArea2
================================================== */
.titArea2 {
	background-size: 10%;
	padding: 0 0 5%;
}
.titArea2 h2 {
	font-weight: 700;
	font-size: 280%;
	line-height: 140%;
	text-align: center;
}
@media screen and (max-width: 1100px) {
	.titArea2 h2 {
		font-size: 4vw;
	}
}
@media screen and (max-width: 639px) {
	.titArea2 h2 {
		font-size: 5.5vw;
	}
}
.titArea2 h2 span {
	color: #cc0000;
}
.titArea2 p {
	padding: 1em 0 0;
	font-size: 150%;
	line-height: 160%;
	text-align: center;
	font-weight: 500;
}
@media screen and (max-width: 639px) {
	.titArea2 p {
		font-size: 100%;
		line-height: 160%;
		text-align: left;
	}
	.titArea2 p br {
		display: none;
	}
}
/* titArea3
================================================== */
.titArea3 {
}
@media screen and (max-width: 639px) {
	.titArea3 h2 {
		padding: 3.5% 0;
		font-weight: 700;
		line-height: 140%;
		text-align: center;
		font-size: 6vw;
	}
	.titArea3 h2 span {
		color: #cc0000;
	}
}
@media screen and (max-width: 639px) {
	.titArea3 p {
		padding: 1em 0;
		font-weight: 500;
		font-size: 100%;
		line-height: 160%;
		text-align: left;
	}
}
/* voiceArea
================================================== */
.voiceArea {
	background-color: #fff;
	border-radius: 2px; 
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
	border: solid 2px #007fe8;
	padding: 5% 5% 0;
	margin-bottom: 5%;
}
@media screen and (max-width: 639px) {
	.voiceArea {
		padding: 7% 5% 0;
		margin-bottom: 8%;
	}
}
.voiceTop {
	padding: 2% 0 1%;
}
@media screen and (max-width: 639px) {
	.voiceTop {
		padding: 2% 0 5%;
	}
}
.voiceBlock {
	padding: 0 0 5%;
}
.voiceLine {
	border-top: solid 2px #007fe8;
}
/* arrowArea
================================================== */
.arrowArea {
	display: flex;
	align-items: center;
}
.arrowArea:before, .arrowArea:after {
	content: "";
	height: 2px;
	flex-grow: 1;
	background-color: #cc0000;
}
.arrowArea:before {
	margin-right: 1rem;
}
.arrowArea:after {
	margin-left: 1rem;
}
.arrowArea figure {
	width: 10%;
	max-width: 40px;
}
/* systemTit
================================================== */
.voiceArea h3 {
	font-size: 150%;
	font-weight: 500;
	line-height: 160%;
	border-left: solid 10px #007fe8;
    padding-left: 15px;
}
@media screen and (max-width: 1100px) {
	.voiceArea h3 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.voiceArea h3 {
		font-size: 3vw;
		padding-left: 10px;
	}
}
@media screen and (max-width: 480px) {
	.voiceArea h3 {
		font-size: 110%;
		font-weight: 500;
	}
}
.voiceArea h4 {
	color: #cc0000;
	font-size: 150%;
	font-weight: 300;
	line-height: 160%;
	padding: 2% 0 0;
}
.voiceArea h4 span {
	font-size: 70%;
}
@media screen and (max-width: 1100px) {
	.voiceArea h4 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.voiceArea h4 {
		font-size: 3vw;
		padding: 5% 0 0;
	}
}
@media screen and (max-width: 480px) {
	.voiceArea h4 {
		font-size: 110%;
		font-weight: 500;
	}
}
.voiceArea ol {
	position: relative;
	margin: 0;
	padding: 10px 0 3%;
}
.voiceArea ol li {
	list-style: none;
	list-style-position: outside;
	margin: 0;
	padding-left: 1.25em;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.voiceArea ol li {
		font-size: 100%;
		line-height: 160%;
	}
}
.voiceArea ol li span {
	position: absolute;
	left: 0;
	margin: 0
}

.voiceArea h5 {
	padding: 10px 0 0;
	font-size: 120%;
	line-height: 180%;
	font-weight: 500;
}
@media screen and (max-width: 900px) {
	.voiceArea h5 {
		font-size: 100%;
		line-height: 160%;
	}
}
.voiceArea p {
	padding: 10px 0 3%;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.voiceArea p {
		font-size: 100%;
		line-height: 160%;
	}
}
/* arrowBox
================================================== */
.arrowBox {
    background: url(../images/arrow.svg) no-repeat center -2px;
    background-size: 6%;
    padding: 8% 0 5%;
}
@media screen and (max-width: 639px) {
	.arrowBox {
		background-size: 10%;
	}
}
/* contactArea
================================================== */
#contactArea {
	padding: 80px 0 5%;
}
@media screen and (max-width: 639px) {
	#contactArea {
		padding: 80px 0 10%;
	}
}
.contactTit {
	color: #cc0000;
	padding: 60px 0 60px;
}
.contactTit h2 {
	font-size: 200%;
	font-weight: 700;
	line-height: 130%;
	text-align: center;
}
@media screen and (max-width: 639px) {
	.contactTit {
		padding: 30px 0 30px;
	}
	.contactTit h2 {
		font-size: 120%;
	}
}
.contactTit .wLine:before, .contactTit .wLine:after {
	background-color: #cc0000;
}
/* outArea
================================================== */
.outArea {
}
.outArea .outL {
	float: left;
	width: 45%;
	padding-bottom: 5%;
}
.outArea .outR {
	float: right;
	width: 50%;
	padding-bottom: 5%;
}
@media screen and (max-width: 639px) {
	.outArea .outL {
		float: none;
		width: 100%;
		padding-bottom: 0;
	}
	.outArea .outR {
		float: none;
		width: 100%;
		padding-bottom: 10%;
	}
}
.outL .outTit {
	padding: 0 0 1em;
}
.outL .outTit h3 {
	border-top: solid 6px;
	border-bottom: solid 6px;
	padding: 15px 0;
	font-size: 150%;
	font-weight: 500;
	line-height: 160%;
}
.outL .outTit h3 span {
	background: linear-gradient(transparent 70%, #ffe400 30%);
    margin: 0 0.2em;
}
@media screen and (max-width: 1100px) {
	.outL .outTit h3 {
		font-size: 2.5vw;
	}
}
@media screen and (max-width: 639px) {
	.outL .outTit h3 {
		font-size: 3vw;
	}
}
@media screen and (max-width: 480px) {
	.outL .outTit h3 {
		font-size: 110%;
	}
}
.outL p {
	padding: 0 0 1em;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.outL p {
		font-size: 100%;
		line-height: 160%;
	}
}
.outR figure {
	float: left;
	width: 48%;
	padding: 0 1% 2%;
}
/* flowArea
================================================== */
.flowArea {
	padding-bottom: 5%;
}
.flowArea:last-child {
	padding-bottom: 0;
}
.flowArea .flowL {
	float: left;
	width: 48%;
}
.flowArea .flowR {
	float: right;
	width: 50%;
}
@media screen and (max-width: 639px) {
	.flowArea .flowL {
		float: none;
		width: 100%;
	}
	.flowArea .flowR {
		float: none;
		width: 100%;
	}
}
.flowL .flowTit h3 {
    background: #000;
	color: #fff;
	font-size: 130%;
	font-weight: 700;
	line-height: 160%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.flowL .flowTit h3:before {
	font-family: 'Roboto', sans-serif!important;
	font-weight: 900;
	background: #cc0000;
    color: #fff;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 60px;
    height: 60px;
	margin-right: 0.6em;
	border-right: solid #fff 3px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
@media screen and (max-width: 639px) {
	.flowL .flowTit h3:before {
		width: 40px;
		height: 40px;
		border: none;
	}
}
.no1::before {
	content: "1";
}
.no2::before {
	content: "2";
}
.no3::before {
	content: "3";
}
.no4::before {
	content: "4";
}
.no5::before {
	content: "5";
}
.no6::before {
	content: "6";
}
.no7::before {
	content: "7";
}
@media screen and (max-width: 1100px) {
	.flowL .flowTit h3 {
		font-size: 1.8vw;
	}
}
@media screen and (max-width: 639px) {
	.flowL .flowTit h3 {
		font-size: 3vw;
	}
}
@media screen and (max-width: 480px) {
	.flowL .flowTit h3 {
		font-size: 4vw;
	}
}
.flowL p {
	padding: 1em 1em 1em 0;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.flowL p {
		font-size: 100%;
		line-height: 160%;
		padding: 1em 0 5% 0;
	}
}
/* formArea
================================================== */
.formArea {
	background-color: #fff;
	border-radius: 2px; 
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
	border: solid 2px #cc0000;
	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;
}
/* contactArea
================================================== */
.contactImg {
	width: 50%;
	padding: 30px 0;
}
.contactImg figure {
	width: 66%;
	margin: 0 auto;
}
.contactTxt {
	width: 50%;
	padding: 5% 0;
	text-align: center;
}
.contactTxt h3 {
	font-size: 120%;
	font-weight: 500;
	padding-bottom: 15px;
	line-height: 100%;
}
@media screen and (max-width: 800px) {
	.contactImg {
		width: 100%;
		padding: 6% 0 10%;
	}
	.contactImg figure {
		width: 75%;
		margin: 0 auto;
	}
	.contactTxt {
		width: 90%;
		padding: 5%;
	}
	.contactTxt h3 {
		font-size: 4.5vw;
	}
}
.contactTxt .contactTel {
    font-size: 280%;
    text-align: center;
    padding: 0 0 20px;
}
.contactTel span {
	vertical-align: 20%;
}
.contactTxt .contactBtnBox {
    display: grid;
    text-align: center;
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width: 800px) {
	.contactTxt .contactBtnBox {
		width: 100%;
	}
}
.contactTxt .contactBtnBox a {
	background-color: #cc0000;
	border-radius: 2px; 
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.30);
	border: solid 1px #fff;
	color: #fff;
	padding: 15px;
	font-size: 120%;
	font-weight: 500;
}
.contactTxt .contactBtnBox a {
	background-color: #cc0000;
	border-radius: 5px; 
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.30);
	border: solid 1px #fff;
	color: #fff;
	padding: 20px 0;
	font-size: 140%;
	transition: .2s;
}
.contactTxt .contactBtnBox a:hover {
	background-color: #e45151;
	transition: .2s;
}
.contactTxt .contactBtnBox a span {
	vertical-align: 10%;
}
@media screen and (max-width: 800px) {
	.contactTxt .contactTel {
		font-size: 8vw;
	}
	.contactTxt .contactBtnBox a {
		font-size: 4.5vw;
	}
}






















