@charset "utf-8";

@import url("reset.css");
@import url('https://fonts.googleapis.com/css?family=Clicker+Script|Josefin+Sans:700|Kosugi+Maru|Noto+Sans+TC:400,900|Noto+Serif+SC:200,300,400,500,600,700,900');

/* -------------------------------
   BASE
------------------------------- */

/* margin */
.mt-60 {margin-top:-60px!important;}
.mt-50 {margin-top:-50px!important;}
.mt-40 {margin-top:-40px!important;}
.mt-30 {margin-top:-30px!important;}
.mt-20 {margin-top:-20px!important;}
.mt-10 {margin-top:-10px!important;}
.mt0 {margin-top:0!important;}
.mt5 {margin-top:5px!important;}
.mt10 {margin-top:10px!important;}
.mt15 {margin-top:15px!important;}
.mt20 {margin-top:20px!important;}
.mt25 {margin-top:25px!important;}
.mt30 {margin-top:30px!important;}
.mt40 {margin-top:40px!important;}
.mt50 {margin-top:50px!important;}
.mt60 {margin-top:60px!important;}
.mt70 {margin-top:70px!important;}

/* float */
.left { float:left;}
.right { float:right;}
.fNone { float:none!important;}
.clear { clear:both; }

/* align */
.tLeft { text-align:left!important;}
.tCenter { text-align:center!important;}
.tRight { text-align:right!important;}
.vTop { vertical-align:top!important;}
.vMiddle { vertical-align:middle!important;}
.vBottom { vertical-align:bottom!important;}

.nowrap { white-space:nowrap; }

/* color */
.blue { color:#144398;}
.red { color:#A30035;}
.green { color:#AEC533;}
.pink { color:#EA609E;}

/* text */
.normal { font-weight:normal; }
.bold { font-weight:bold; }
.f10 { font-size:10px!important;}
.f11 { font-size:11px!important;}
.f12 { font-size:12px!important;}
.f13 { font-size:13px!important;}
.f15 { font-size:15px!important;}
.f16 { font-size:16px!important;}
.f18 { font-size:18px!important;}
.lh10 { line-height:1!important;}
.lh12 { line-height:1.2!important;}
.lh15 { line-height:1.5!important;}
.lh18 { line-height:1.8!important;}
.lh20 { line-height:2!important;}
.gothic { font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'游ゴシック','Yu Gothic',sans-serif;}
.serif { font-family:'Noto Serif SC','ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ヒラギノ明朝 Pro','Hiragino Mincho Pro','游明朝','Yu Mincho',HG明朝B,'ＭＳ Ｐ明朝','ＭＳ 明朝',serif;}

/* color */
.block { display:block!important;}
.inline { display:inline!important;}
.inlineBlock { display:inline-block!important;}

/* link */
a {color: #333;text-decoration:underline;}
a:hover {color: #333;text-decoration:none;}

/* transition */
.transition05 {
	-moz-transition-duration:0.5s;
	-o-transition-duration:0.5s;
	-ms-transition-duration:0.5s;
	transition-duration:0.5s;
}


/* -------------------------------
   common
------------------------------- */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	background:#FFF;
}
body {
	font-size:14px;
	line-height:1.5;
	background:#FFF;
	font-family:'Kosugi Maru', 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'游ゴシック','Yu Gothic',sans-serif;
}
#wrap {
	overflow: hidden;
}
@media all and (min-width: 1025px) {
	.sp {
		display: none;
	}
}
@media all and (max-width: 1024px) {
	.pc {
		display: none;
	}
}


/* -------------------------------
   header
------------------------------- */


#home #header {
	position: relative;
	background: url(../img/main03.jpg) center bottom no-repeat;
	background-size: cover;
	overflow: hidden;
}
@media all and (min-width: 1025px) {
	#home #header {
		height: 100vh;
		max-height: 1080px;
		min-height: 640px;
	}
}
@media all and (max-width: 1024px) {
	#home #header {
		height: 144vw;
		max-height: 80vh;
	}
}

#hTop {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#logo {
	position: relative;
	line-height: 1.2;
	font-family: 'Noto Sans TC';
	font-weight: 900;
}
#logo span {
	display: block;
	font-size: 35%;
	font-weight: normal;
}
#conNav {
	display: flex;
	position: relative;
	line-height: 1.2;
}
@media all and (min-width: 1025px) {
	#hTop {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%,0);
		width: 1200px;
		max-width: 100%;
		height: 100px;
	}
	#hTop:before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 99999px;
		height: 100%;
		transform: translate(-50%,-50%);
		background: rgba(255,255,255,0.9);
	}
	#logo {
		flex: 1;
		font-size: 40px;
		width: 50%;
	}
	#conNav {
		flex: 1;
		white-space: nowrap;
	}
	#conNav li {
		margin-left: 20px;
	}
	#conNav .tel a {
		font-size: 30px;
		cursor: default;
	}
	#conNav .tel a i {
		margin-right: 10px;
		font-size: 90%;
	}
	#conNav .form a {
		font-size: 18px;
		padding: 15px 30px 15px 60px;
		line-height: 20px;
	}
	#conNav .tel {
		text-align: center;
	}
	#conNav .tel a {
		display: block;
		text-decoration: none;
		font-weight: 700;
		color: #00344C;
	}
	#conNav .tel a i {
		transform: scale(-1, 1);
	}
	#conNav .form a {
		position: relative;
		display: block;
		text-decoration: none;
		background: #00344C;
		color: #FFF;
		border-radius: 100px;
	}
	#conNav .form a i {
		position: absolute;
		top: 50%;
		left: 10px;
		transform: translate(0,-50%);
		font-size: 30px;
		vertical-align:text-top;
		transition-duration: 0.1s;
	}
	#conNav .form a:hover i {
		left: 5px;
		font-size: 40px;
	}
}
@media all and (max-width: 1024px) {
	#hTop {
		position: relative;
		background: rgba(255,255,255,0.9);
		padding: 10px;
		z-index: 1;
	}
	#logo {
		font-size: 24px;
	}
	#conNav li,
	#conNav li a {
		font-size: 0!important;
	}
	#conNav li.tel a i {
		background: #00344C;
		color: #FFF;
		font-size: 20px!important;
		width: 50px;
		height: 50px;
		line-height: 50px;
		text-align: center;
		border-radius: 50px;
	}
	#conNav li.form {
		margin-left: 5px;
	}
	#conNav li.form a i {
		color: #FF6600;
		font-size: 50px!important;
	}
}

#mv h2 span {
	display: inline-block;
	line-height: 1.2;
}
@media all and (min-width: 1025px) {
	#mv {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 1200px;
		max-width: 100%;
	}
	#mv h2 {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
		margin: 0 auto;
		text-align: center;
	}
	#mv h2 .txt01 {
		font-size: 16px;
		background: #00344C;
		color: #FFF;
		padding: 5px 20px;
		border-radius: 50px;
	}
	#mv h2 .txt02 {
		font-size: 100px;
		color: #00344C;
		font-weight: 700;
		margin-top: 10px;
	}
	#mv h2 .txt03 {
		font-size: 28px;
		margin-top: 20px;
	}
	#mv h2 .txt03:after {
		content: '';
		display: inline-block;
		vertical-align: middle;
		width: 3em;
		height: 2px;
		background: #333;
	}
	#mv p {
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(0,-50%);
		width: 400px;
		height: 400px;
		border-radius: 200px;
		text-align: center;
		background: #FF6600;
		color: #FFF;
		line-height: 0.8;
	}
	#mv p .txt01 {
		font-size: 48px;
	}
	#mv p .txt02 {
		font-size: 200px;
	}
	#mv p .txt03 {
		height: 0;
		margin-top: 10px;
		margin-bottom: -10px;
	}
}
@media all and (max-width: 1024px) {
	#mv {
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding-top: 60px;
	}
	#mv h2 {
		text-align: center;
	}
	#mv h2 .txt01 {
		font-size: 12px;
		background: #00344C;
		color: #FFF;
		padding: 5px 20px;
		border-radius: 50px;
	}
	#mv h2 .txt02 {
		font-size: 36px;
		color: #00344C;
		font-weight: 700;
		margin-top: 10px;
	}
	#mv h2 .txt03 {
		font-size: 12px;
		margin-top: 10px;
	}
	#mv h2 .txt03:after {
		content: '';
		display: inline-block;
		vertical-align: middle;
		width: 3em;
		height: 2px;
		background: #333;
	}
	#mv p {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 160px;
		height: 160px;
		border-radius: 160px;
		text-align: center;
		background: #FF6600;
		color: #FFF;
		line-height: 0.8;
		margin: 20px auto 0 auto;
	}
	#mv p .txt01 {
		font-size: 16px;
	}
	#mv p .txt02 {
		font-size: 72px;
	}
	#mv p .txt03 {
		height: 0;
		margin-top: 5px;
		margin-bottom: -5px;
	}
}

#gNav {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #00344C;
}
#gNav ul {
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 0;
	font-size: 16px;
}
#gNav li {
	flex: 1;
	text-align: center;
	border-left: 1px solid rgba(255,255,255,0.05);
}
#gNav li:last-child {
	border-right: 1px solid rgba(255,255,255,0.05);
}
#gNav a {
	display: block;
	color: #FFF;
	padding: 10px 0;
	line-height: 20px;
	text-decoration: none;
}
#gNav a i {
	display: block;
	font-size: 10px;
	margin-top: 5px;
	transition-duration: 0.1s;
}
#gNav a:hover i {
	margin-top: 10px;
	margin-bottom: -5px;
}
@media all and (max-width: 1024px) {
	#gNav {
		display: none;
	}
}



/* -------------------------------
   footer
------------------------------- */

#footer {
	background: #222;
	color: #777;
	text-align: center;
	padding: 15px;
	font-size: 14px;
}
#footer small {
	font-style: normal;
}
#pagetop {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 10;
}
#pagetop a {
	display: block;
	color: #FF6600;
	font-size: 60px;
	padding: 0 10px;
}


/* -------------------------------
   side
------------------------------- */



/* -------------------------------
   contents
------------------------------- */

#about {
	position: relative;
	z-index: 1;
	background: #F5F5F5;
}
#about h3 {
	line-height: 1;
	background: rgba(255,255,255,0.8);
}
#about h3:before {
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'ABOUT';
}
#about .in {
	background: rgba(255,255,255,0.8);
}
#about h4 {
	position: relative;
	color: #00344C;
	z-index: 1;
	margin: 20px 0 10px 0;
}
#about h4 span {
	display: inline;
	background:linear-gradient(transparent 60%, #FFFF00 0%) ;
}
#about .bg {
	position: absolute;
	z-index: -1;
	overflow: hidden;
}
#about .bg img {
	position: absolute;
}

@media all and (min-width: 1025px) {
	#about {
		padding: 160px 40px;
	}
	#about .con {
		width: 1200px;
		max-width: 100%;
		margin: 0 auto;
	}
	#about h3 {
		font-size: 24px;
		width: 500px;
		min-width: 50%;
		padding: 50px;
	}
	#about h3:before {
		font-size: 48px;
	}
	#about .in {
		width: 500px;
		min-width: 50%;
		padding: 0 50px 50px 50px;
	}
	#about h4 {
		font-size: 18px;
	}
	#about .bg {
		top: 50%;
		left: 40%;
		width: 60%;
		transform: translate(0,-50%);
		height: calc(100% - 160px);
	}
	#about .bg img {
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		max-width: none;
		min-width: 100%;
		width: auto;
		max-height: none;
		min-height: 100%;
		height: auto;
	}
}
@media all and (max-width: 1024px) {
	#about {
		padding: 56.25% 10px 40px 10px;
	}
	#about h3 {
		position: absolute;
		top: 20px;
		left: 20px;
		width: calc(100% - 40px);
		font-size: 16px;
		padding: 20px;
		text-align: center;
	}
	#about h3:before {
		font-size: 32px;
	}
	#about .in {
		width: 100%;
		padding: 20px;
	}
	#about h4 {
		font-size: 16px;
	}
	#about .bg {
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	#about .bg img {
		max-width: none;
		width: 125%;
		margin-left: -10%;
	}
}

#merit h3 {
	line-height: 1;
}
#merit h3:before {
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'MERIT';
}
#merit ul {
	counter-reset: merit;
}
#merit li {
	position: relative;
	background: rgba(0,0,0,0.05);
	z-index: 2;
}
#merit li:before {
	position: absolute;
	top: -5px;
	left: -20px;
	counter-increment: merit;
	content: 'merit0' counter(merit);
	font-family: 'Josefin Sans', sans-serif;
	background: #00344C;
	color: #FFF;
	transform: rotate(-15deg);
}
#merit li:after {
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.05);
	z-index: -1;
}

@media all and (min-width: 1025px) {
	#merit {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 120px 0;
	}
	#merit h3 {
		font-size: 24px;
		padding: 0 50px;
		width: 300px;
	}
	#merit h3:before {
		font-size: 48px;
	}
	#merit .in {
		width: calc(1200px - 300px);
		max-width: calc(100% - 300px);
	}
	#merit ul {
		display: flex;
	}
	#merit li {
		display: flex;
		align-items: center;
		flex: 1;
		padding: 40px;
		font-size: 16px;
	}
	#merit li:nth-child(2) {
		margin: 20px 0 -20px 30px;
	}
	#merit li:nth-child(3) {
		margin: -20px 0 20px 30px;
	}
	#merit li:nth-child(2) {
		margin: 20px 0 -20px 30px;
	}
	#merit li:nth-child(3) {
		margin: -20px 0 20px 30px;
	}
	#merit li:before {
		font-size: 20px;
		padding: 5px 20px;
	}
}
@media all and (max-width: 1024px) {
	#merit {
		padding: 40px 30px;
	}
	#merit h3 {
		font-size: 16px;
		text-align: center;
	}
	#merit h3:before {
		font-size: 32px;
	}
	#merit ul {
		margin-right: -10px;
	}
	#merit li {
		margin-top: 30px;
		padding: 30px 20px 20px 20px;
	}
	#merit li:before {
		font-size: 16px;
		padding: 5px 10px;
	}
}

#reason {
	counter-reset: reason;
	background: #F5F5F5;
}
#reason section figure {
	position: relative;
	margin-bottom: 20px;
}
#reason section figure:before {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,50%);
	counter-increment: reason;
	content: '0' counter(reason);
	font-family: 'Josefin Sans', sans-serif;
	background: #00344C;
	color: #FFF;
	font-size: 20px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
}
#reason section figure img {
	width: 100%;
	height: auto;
}
#reason h3 {
	line-height: 1;
	text-align: center;
	margin-bottom: 40px;
}
#reason h3 span {
	color: #FF6600;
}
#reason h3:before {
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'REASON';
}
#reason section {
	background: #FFF;
}
#reason section h4 {
	text-align: center;
	line-height: 1.35;
	color: #00344C;
}
#reason section .inner {
	padding: 0 20px 20px 20px;
	margin-top: 10px;
}
@media all and (min-width: 1025px) {
	#reason {
		padding: 120px 0;
	}
	#reason h3 {
		font-size: 24px;
	}
	#reason h3:before {
		font-size: 48px;
	}
	#reason .in {
		display: flex;
		justify-content: center;
	}
	#reason section {
		width: calc(100% / 3);
		max-width: 390px;
	}
	#reason section:nth-child(n+2) {
		margin-left: 20px;
	}
	#reason section h4 {
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 5em;
		font-size: 18px;
	}
}
@media all and (max-width: 1024px) {
	#reason {
		padding: 40px 20px;
	}
	#reason h3 {
		font-size: 16px;
	}
	#reason h3:before {
		font-size: 32px;
	}
	#reason section h4 {
		font-size: 16px;
		padding: 10px 10px 0 10px;
	}
	
}


.cta {
	background: #00344C;
	text-align: center;
}
.cta h3 {
	display: inline-block;
	font-weight: 400;
	border-bottom: 2px solid #FFF;
	color: #FFF;
}
.cta ul {
	border-radius: 10px;
	overflow: hidden;
}
.cta li {
	background: #FFF;
	margin: 1px;
}
.cta ul.half li {
	width: 100%;
}
.cta li.tel {
	text-align: center;
	padding: 20px;
}
.cta li.tel > a:nth-of-type(1) {
	display: block;
	text-decoration: none;
	font-weight: 700;
	color: #00344C;
	cursor: default;
}
.cta li.tel a i {
	margin-right: 10px;
	font-size: 90%;
	transform: scale(-1, 1);
}
.cta li.form a {
	text-decoration: none;
	color: #00344C;
	width: 100%;
	height: 100%;
}
.cta li.form a span {
	position: relative;
}
.cta li.form a i {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translate(0,-50%);
	vertical-align:text-top;
	transition-duration: 0.1s;
}
@media all and (min-width: 1025px) {
	.cta {
		padding: 120px 0;
	}
	.cta h3 {
		font-size: 24px;
		padding: 0 40px 20px 40px;
	}
	.cta ul {
		display: flex;
		width: 1200px;
		max-width: 100%;
		margin: 40px auto 0 auto;
	}
	.cta ul.half {
		width: 600px;
	}
	.cta li {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		width: 50%;
	}
	.cta ul.half li {
		width: 100%;
	}
	.cta li.tel > a:nth-of-type(1) {
		font-size: 42px;
	}
	.cta li.form a {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 24px;
	}
	.cta li.form a span {
		padding: 40px 30px 40px 70px;
	}
	.cta li.form a i {
		font-size: 50px;
	}
	.cta li.form a:hover i {
		left: 5px;
		font-size: 60px;
	}
}
@media all and (max-width: 1024px) {
	.cta {
		padding: 40px 20px;
	}
	.cta h3 {
		font-size: 16px;
		padding: 0 20px 10px 20px;
		margin-bottom: 20px;
	}
	.cta li.tel {
		font-size: 12px;
	}
	.cta li.tel > a:nth-of-type(1) {
		font-size: 24px;
	}
	.cta li.form a span {
		padding: 40px 30px 40px 50px;
	}
	.cta li.form a i {
		font-size: 32px;
	}
	.cta li.form a {
		display: block;
		padding: 40px 20px;
		font-size: 16px;
	}
}

#usage {
	counter-reset: reason;
}
#usage h3 {
	line-height: 1.2;
	text-align: center;
}
#usage h3:before {
	line-height: 1;
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'USAGE';
}
#usage h3 strong {
	color: #FF6600;
	font-size: 120%;
}
#usage ul {
	display: flex;
	flex-wrap: wrap;
}
#usage li {
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.08);
	border-radius: 20px;
	background: linear-gradient(135deg, #FFF, #FAFAFA);
}
@media all and (min-width: 1025px) {
	#usage {
		padding: 120px 0;
	}
	#usage h3 {
		font-size: 24px;
		margin-bottom: 40px;
	}
	#usage h3:before {
		font-size: 48px;
	}
	#usage ul {
		width: 1200px;
		max-width: 100%;
		margin: 0 auto;
	}
	#usage li {
		width: calc(25% - 20px);
		margin-left: 20px;
		padding: 10px 10px 20px 10px;
		font-size: 16px;
	}
	#usage li:nth-child(4n+1) {
		margin-left: 0;
	}
	#usage li:nth-child(n+5) {
		margin-top: 20px;
	}
}
@media all and (max-width: 1024px) {
	#usage {
		padding: 40px 0;
	}
	#usage h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	#usage h3:before {
		font-size: 32px;
	}
	#usage ul {
		width: 100%;
		padding-right: 10px;
	}
	#usage li {
		width: calc(50% - 10px);
		margin-left: 10px;
		padding: 10px 5px 20px 5px;
	}
	#usage li:nth-child(n+3) {
		margin-top: 10px;
	}
	#usage li img {
		max-width: 80px;
	}
}

#flow {
	background: #F5F5F5;
}
#flow h3 {
	line-height: 1.2;
	text-align: center;
}
#flow h3:before {
	line-height: 1;
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'FLOW';
}
@media all and (min-width: 1025px) {
	#flow {
		padding: 120px 0;
	}
	#flow h3 {
		font-size: 24px;
		margin-bottom: 40px;
	}
	#flow h3:before {
		font-size: 48px;
	}
	#flow p {
		text-align: center;
	}
}
@media all and (max-width: 1024px) {
	#flow {
		padding: 40px 0;
	}
	#flow h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	#flow h3:before {
		font-size: 32px;
	}
	#flow p {
		padding: 0 10px;
	}
	#flow p img {
		width: 100%;
		height: auto;
	}
}

#qa h3 {
	line-height: 1.2;
	text-align: center;
}
#qa h3 span {
	font-family: 'Josefin Sans', sans-serif;
	display: block;
	content: 'USAGE';
}
#qa .in {
	display: flex;
	flex-wrap: wrap;
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}
#qa dl {
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.08);
	background: linear-gradient(135deg, #FFF, #FAFAFA);
	border-radius: 10px;
}
#qa dt {
	display: flex;
	align-items: flex-end;
	position: relative;
	color: #FF6600;
	line-height: 1.2;
	border-bottom: 2px solid #EEE;
}
#qa dt:before {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translate(0,-40%);
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1;
	content: 'Q';
	text-align: center;
}
#qa dd {
	position: relative;
	color: #00344C;
}
#qa dd:before {
	position: absolute;
	top: -0.1em;
	left: 10px;
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1;
	content: 'A';
	text-align: center;
	color: #00344C;
}
@media all and (min-width: 1025px) {
	#qa {
		padding: 120px 0;
	}
	#qa h3 {
		font-size: 36px;
		margin-bottom: 40px;
	}
	#qa h3 span {
		font-size: 48px;
	}
	#qa dl {
		width: calc(50% - 20px);
	}
	#qa dl:nth-child(even) {
		margin-left: 40px;
	}
	#qa dl:nth-child(n+3) {
		margin-top: 40px;
	}
	#qa dt {
		font-size: 24px;
		padding: 40px 20px 20px 120px;
		height: calc(2.4em + 60px);
	}
	#qa dt:before {
		font-size: 100px;
		width: 100px;
	}
	#qa dd {
		padding: 20px 20px 20px 120px;
	}
	#qa dd:before {
		font-size: 100px;
		width: 100px;
	}
}
@media all and (max-width: 1024px) {
	#qa {
		padding: 40px 20px;
	}
	#qa h3 {
		font-size: 24px;
		margin-bottom: 20px;
	}
	#qa h3 span {
		font-size: 36px;
	}
	#qa dl:nth-child(n+2) {
		margin-top: 20px;
	}
	#qa dt {
		font-size: 18px;
		padding: 20px 10px 20px 80px;
	}
	#qa dt:before {
		font-size: 60px;
		width: 60px;
	}
	#qa dd {
		padding: 20px 10px 20px 80px;
	}
	#qa dd:before {
		font-size: 60px;
		width: 60px;
	}
}

#contact h3 {
	text-align: center;
}
#contact h3 i {
	display: block;
	margin: 0 auto;
	color: #FF6600;
}
#contact #mailformpro {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
	background: #F5F5F5;
}
#contact #mailformpro table {
	background: #FFF;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	width: 100%;
}
#contact #mailformpro th {
	white-space: nowrap;
	border-top: 1px solid #EEE;
	vertical-align: middle;
}
#contact #mailformpro th .hissu {
	color: #FFF;
	background: #00344C;
	font-weight: normal;
	font-size: 12px;
	padding: 5px 10px;
	border-radius: 5px;
}
#contact #mailformpro td {
	width: 100%;
	padding: 10px;
	border-top: 1px solid #EEE;
	vertical-align: middle;
}
#contact #mailformpro td input[type=text],
#contact #mailformpro td input[type=email],
#contact #mailformpro td input[type=tel],
#contact #mailformpro td textarea {
	padding: 9px 14px;
	border: 1px solid #EEE;
	line-height: 1;
	font-size: 16px;
	width: 100%;
	border-radius: 40px;
	resize: none;
	background: #F5F5F5;
}
#contact #mailformpro td textarea {
	border-radius: 10px;
}
#contact #mailformpro td input.half {
	width: 120px;
}
#contact #mailformpro td :nth-child(2) {
	margin-top: 10px;
}
#contact #mailformpro button {
	display: block;
	background: #00344C;
	color: #FFF;
	border: none;
	font-size: 18px;
	font-family:'Kosugi Maru', 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','Meiryo UI','メイリオ',Meiryo,'游ゴシック','Yu Gothic',sans-serif;
	padding: 20px 40px;
	border-radius: 100px;
	margin: 20px auto 0 auto;
}

@media all and (min-width: 1025px) {
	#contact {
		padding: 120px 0;
	}
	#contact h3 {
		font-size: 24px;
		margin-bottom: 40px;
	}
	#contact h3 i {
		font-size: 100px;
		margin-bottom: 20px;
	}
	#contact #mailformpro {
		padding: 40px;
	}
	#contact #mailformpro table {
		border: 20px solid #FFF;
	}
	#contact #mailformpro th {
		padding: 20px;
	}
	#contact #mailformpro th .hissu {
		margin-left: 10px;
	}
}
@media all and (max-width: 1024px) {
	#contact {
		padding: 40px 10px;
	}
	#contact h3 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	#contact h3 i {
		font-size: 50px;
		margin-bottom: 20px;
	}
	#contact #mailformpro {
		padding: 10px 10px 20px 10px;
	}
	#contact #mailformpro table {
		border: 10px solid #FFF;
	}
	#contact #mailformpro th {
		padding: 20px 0;
		text-align: center;
		line-height: 1.2;
	}
	#contact #mailformpro th .hissu {
		display: inline-block;
		margin-top: 5px;
	}
}