@charset "UTF-8";

/* wrapper
================================================== */
#wrapper {
	padding-top: 60px;
}
@media screen and (max-width: 639px) {
	#wrapper {
		padding-top: 50px;
	}
}
/* mainArea
================================================== */
#mainArea {
	position: relative;
	width: 100%;
}
@media screen and (max-width: 639px) {
	#mainArea {
		padding-top: 10%;
	}
}
/* mainTit
================================================== */
#mainTit {
	position: absolute;
	z-index: 10;
	width: 100%;
	bottom: 10%;
	left: 0;
}
#mainTit h2 {
	width: 55%;
	margin: 0 auto;
}
@media screen and (max-width: 639px) {
	#mainTit {
		bottom: 35%;
	}
	#mainTit h2 {
		width: 80%;
	}
}
/* mainBg
================================================== */
#mainBg{
	position: relative;
	z-index: 0;
}
/* topArea
================================================== */
#topArea {
	background-color: #e1f0f2;
	padding: 2.5% 5%;
}
#topBox {
	padding: 3% 5% 2.5% 5%;
	max-width: 1000px;
	margin: 0 auto;
	border: solid 1px #ddd;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
    border-radius: 2px;
	background-color: #fff;
	box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, .05);
}
@media screen and (max-width: 639px) {
	#topArea {
		padding: 5%;
	}
	#topBox {
		padding: 10% 5% 5%;
	}
}
#topBox h1 {
	font-size: 120%;
	font-weight: 700;
}
@media screen and (max-width: 900px) {
	#topBox h1 {
		font-size: 100%;
	}
}
@media screen and (max-width: 639px) {
	#topBox h1 {
		padding-bottom: 3%;
	}
}
#topBox p {
	padding: 1em 0 0;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	#topBox p {
		font-size: 100%;
	}
}
/* contentArea
================================================== */
.contentArea {
	max-width: 1000px;
	margin: 0 auto;
	padding: 10% 5% 0;
}
@media screen and (max-width: 639px) {
	.contentArea {
		padding: 15% 5% 0;
	}
}
/* titBox
================================================== */
.titBox {
	padding: 0 0 2%;
}
@media screen and (max-width: 639px) {
	.titBox {
		padding: 0 0 5%;
	}
}
.titBox h2 {
	font-size: 200%;
	padding-bottom: 18px;
	font-weight: 300;
	border-bottom: solid 5px #ddd;
	position: relative;
}
.titBox h2:after {
	position: absolute;
	content: "";
	display: block;
	border-bottom: solid 5px #089eb6;
	bottom: -5px;
	width: 30%;
	transform: translateX(0);
	animation: border_anim 1.5s linear forwards;
}
@keyframes border_anim {
  0%{
    width: 0%;
  }
  100%{
    width: 30%;
  }
}
@media screen and (max-width: 639px) {
	.titBox h2 {
		font-size: 140%;
		padding-bottom: 12px;
	}
}
/* contentArea p
================================================== */
.contentArea p {
	padding: 1em 0 0;
	font-size: 120%;
	line-height: 180%;
}
@media screen and (max-width: 900px) {
	.contentArea p {
		font-size: 100%;
	}
}
/* listUl
================================================== */
.listUl {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.listUl li {
    width: 31.5%;
	margin-top: 1em;
    background: #089eb6;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
    border-radius: 2px;
}
.listUl li span {
    width: 9%;
	color: #fff;
	font-size: 120%;
	font-weight: 500;
	line-height: 130%;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	height: 4em;
}
@media screen and (max-width: 900px) {
	.listUl li span {
		font-size: 100%;
	}
}
@media screen and (max-width: 800px) {
	.listUl li {
		width: 48%;
	}
}
@media screen and (max-width: 639px) {
	.listUl li {
		width: 100%;
	}
	.listUl li span {
		width: 5%;
		height: 3em;
	}
}
/* contentArea h3
================================================== */
.contentArea h3 {
	padding: 1em 0 0;
	font-size: 130%;
	font-weight: 700;
	color: #089eb6;
}
@media screen and (max-width: 900px) {
	.contentArea h3 {
		font-size: 120%;
	}
}
/* aboutArea
================================================== */
#aboutArea {
	background-color: #efefef;
	margin-top: 5%;
}
#aboutBox {
	padding: 5%;
	max-width: 1000px;
	margin: 0 auto;
}
@media screen and (max-width: 639px) {
	#aboutArea {
		margin-top: 15%;
	}
	#aboutBox {
		padding: 10% 5%;
	}
}
#aboutBox h2 {
	font-size: 120%;
	font-weight: 700;
	padding-bottom: 1em;
}
@media screen and (max-width: 900px) {
	#aboutBox h2 {
		font-size: 100%;
	}
}
#aboutBox dl {
	position: relative;
	border-bottom: dotted #ccc 1px;
	padding: 15px 0;
}
#aboutBox dt {
	position: absolute;
	top: 15px;
	left: 0;
	font-size: 80%;
	font-weight: 500;
	width: 160px;
}
#aboutBox dd {
	padding-left: 170px;
}
@media screen and (max-width: 639px) {
	#aboutBox dt {
		position: relative;
		top: inherit;
		left: inherit;
		width: 100%;
	}
	#aboutBox dd {
		padding-left: 0;
	}
}
/* contactArea
================================================== */
#contactArea {
	padding: 60px 0 0;
    margin-top: -60px;
}
@media screen and (max-width: 639px) {
	#contactArea {
		padding: 50px 0 0;
		margin-top: -50px;
	}
}
/* formArea
================================================== */
.formArea {
	background-color: #fff;
	border-radius: 2px; 
	box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
	border: solid 2px #089eb6;
	color: #222;
	padding: 0 5% 5%;
}
.formArea h2 {
	font-size: 120%;
	text-align: center;
	font-weight: 500;
	line-height: 130%;
	width: 100%;
	padding: 30px 0 15px;
	position: relative;
}
.formArea h2:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 160px;
	height: 5px;
	background-color: #089eb6;
	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;
	line-height: 50%;
}
.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: #089eb6!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: 100%;
    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: #089eb6!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: #089eb6!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;
}








