@charset "utf-8";

/*------------------------------
	index
------------------------------*/
/* catch */
#catch{
	height:500px;
	border-top:10px solid #1141a4;
	border-bottom:10px solid #1141a4;
	background:url(../img/bg_catch.jpg) center top no-repeat;
}
#catch .inner{
	width:1110px;
	margin:0 auto;
	padding-top:34px;
}
#catch .fig{
	margin-top:-4px;
	padding-left:58px;
	font-size:0;
}
#catch .fig li{
	display:inline-block;
	margin-right:5px;
}
@media only screen and (max-width:767px){
	#catch{
		height:auto;
		border-top-width:5px;
		border-bottom-width:5px;
		-webkit-background-size:cover;
		background-size:cover;
	}
	#catch .inner{
		width:100%;
		padding:8px 30% 10px 5px;
	}
}
.font_red {
color:#D80003;
}
/* table */
table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table tr {
  background-color: #fff;
  border: 1px solid #bbb;
  padding: .35em;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
  border-right: 1px solid #bbb;
}
table th {
  font-size: .85em;
}
table thead tr{
  background-color: #eee;
}
  table td:first-child {
    width: 10em;
	background-color: #ededed;
  }
@media screen and (max-width: 600px) {
  table {
    border: 0;
    width:100%
  }
  table th{
    background-color: #eee;
    display: block;
    border-right: none;
  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  table tr {
    display: block;
    margin-bottom: .625em;
  }
  
  table td {
    font-size: .8em;
    position: relative;
    border-right: none;
  }
  
  table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }

  table td:last-child {
    border-bottom: 0;
  }
}

/* intro */
#intro .inner{
	width:1070px;
	margin:0 auto;
	padding:60px 0;
}
#intro .top{
	margin-bottom:30px;
	color:#ee2a2b;
	font-weight:bold;
	font-size:20px;
	text-align:center;
}
#intro .tit{
	width:784px;
	height:104px;
	margin:0 auto 27px;
	background:url(../img/txt_intro.png) center center no-repeat;
	line-height:100px;
}
#intro .price{
	width:100%;
	height:390px;
	padding:62px 182px 34px;
	background:url(../img/bg_intro.jpg) center top no-repeat;
}
#intro .initial{
	float:left;
	width:300px;
}
#intro .monthly{
	float:right;
	width:358px;
}
#intro .monthly dt{
	margin-bottom:5px;
	font-weight:bold;
}
#intro .monthly dd{
	margin-bottom:15px;
	padding:14px 16px;
	background-color:#fff000;
	font-weight:bold;
	font-size:17px;
}
#intro .monthly dd img{
	margin-left:14px;
	vertical-align:middle;
}
@media only screen and (max-width:767px){
	#intro .inner{
		width:100%;
		padding:20px 4.6875% 40px;
	}
	#intro .top{
		margin-bottom:15px;
		font-size:16px;
		line-height:1.4;
	}
	#intro .tit{
		font-size:17px;
		text-align:center;
	}
	#intro .price{
		max-width:400px;
		height:auto;
		margin:0 auto;
		padding:0;
		background-position:center 20px;
		-webkit-background-size:contain;
		background-size:contain;
	}
	#intro .initial{
		float:none;
		width:150px;
		margin:0 auto;
	}
	#intro .monthly{
		float:none;
		width:100%;
		padding-top:20px;
	}
	#intro .monthly dd{
		padding:10px;
		font-size:14px;
	}
	#intro .monthly dd img{
		width:auto;
		max-height:25px;
	}
}


/* about */
#about .top{
	padding:20px 0 650px;
	background:url(../img/bg_photo.jpg) center bottom no-repeat;
	text-align:center;
}
#about .lead{
	font-weight:bold;
	font-size:20px;
	line-height:1.8;
}
#about .middle{
	width:1100px;
	margin:0 auto;
	padding:100px 0;
}
#about .list{
	font-size:0;
}
#about .list li{
	display:inline-block;
	width:340px;
	margin-right:40px;
	font-size:15px;
	vertical-align:top;
}
#about .list li:last-child{
	margin-right:0;
}
#about .list .pho{
	margin-bottom:30px;
}
#about .list .txt{
	font-size:15px;
	line-height:1.6;
}

#about .list2 li{
	display:inline-block;
	width:100%;
	margin-right:40px;
	font-size:15px;
	vertical-align:top;
}
#about .bottom{
	padding:40px 0 50px;
	background:#242424;
	color:#fff;
	text-align:center;
}
#about .bottom .tit{
	margin-bottom:20px;
	font-size:25px;
}
@media only screen and (max-width:767px){
	#about .top{
		padding:20px 4.6875% 60%;
		background-image: url(../img/bg_photo_sp.jpg);
		-webkit-background-size:contain;
		background-size:contain;
	}
	#about .lead{
		margin-bottom:20px;
		font-size:15px;
		line-height:1.6;
	}
	#about .middle{
		width:100%;
		padding:40px 4.6875% 20px;
	}
	#about .list li{
		width:100%;
		margin:0 0 20px;
	}
	#about .list2 li{
		width:100%;
		margin:0 0 20px;
	}
	#about .list .pho{
		margin-bottom:10px;
	}
	#about .list .txt{
		font-size:13px;
	}
	#about .bottom{
		padding:30px 4.6875%;
	}
	#about .bottom .tit{
		margin-bottom:15px;
		font-size:16px;
	}
	#about .youtube{
		position:relative;
		height:0;
		padding-top:65%;
	}
	#about .youtube iframe{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
	}
}

/* action */
.action{
	border-top:5px solid #ee2a2b;
	background-color:#eee;
}
.action .inner{
	position:relative;
	padding:20px 0 22px;
	background-color:#fff;
}
.action .inner.bg{
	width:1000px;
	margin:0 auto;
	padding:46px 0 42px;
	background-color:transparent;
}
.action h2.tit{
	width:1000px;
	height:36px;
	margin:0 auto;
	background:url(../img/txt_action_01.png) left top no-repeat;
}
.action .inner .inner{
	position:absolute;
	top:-106px;
	left:50%;
	width:1000px;
	height:400px;
	margin-left:-500px;
	padding:0;
	background-color:transparent;
}
.action .box{
	position:relative;
	float:right;
	width:323px;
	height:380px;
}
.action .balloon{
	display:inline-block;
	width:170px;
	height:138px;
}
.action .woman{
	display:inline-block;
	position:absolute;
	right:6px;
	bottom:0;
	width:236px;
	height:334px;
}
.action h3.img{
	width:1000px;
	margin:0 auto 50px;
}
.action a.btn.pc {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}
.action a.btn.pc:hover{
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.action a.btn.pc:hover,
.action a.btn.pc:hover img{
	opacity:1;  
	filter:alpha(opacity=100);  
}
@media only screen and (max-width:767px){
	.action{
		border-top-width:3px;
	}
	.action .inner{
		padding:10px 4.6875% 12px;
	}
	.action .inner .inner{
		top:inherit;
		bottom:0;
		width:100%;
		height:auto;
		margin-left:-50%;
	}
	.action .box{
		width:204px;
		height:120px;
	}
	.action .inner.bg{
		width:100%;
		padding:20px 4.6875%;
	}
	.action h2.tit{
		color:#ee2a2b;
		font-size:16px;
		line-height:1.4;
	}
	.action .balloon{
		width:100px;
		height:auto;
	}
	.action .woman{
		width:100px;
		height:auto;
	}
	.action h3.img{
		width:100%;
		margin-bottom:20px;
	}
	.action .btn{
		max-width:300px;
		margin:0 auto;
	}
}

/* support */
#support .inner{
	width:1100px;
	margin:0 auto;
	padding:82px 0 78px;
}
#support h2.tit{
	width:800px;
	height:104px;
	margin:0 auto 72px;
	background:url(../img/tit_support.png) center center no-repeat;
	line-height:104px;
	text-align:center;
}
#support .list{
	font-size:0;
}
#support .list li{
	display:inline-block;
	width:340px;
	margin-right:40px;
	font-size:15px;
	vertical-align:top;
}
#support .list li:last-child{
	margin-right:0;
}
#support .list h3.img{
	margin-bottom:30px;
	text-align:center;
}
#support .list .pho{
	margin-bottom:18px;
}
#support .list li:last-child .txt{
	float:left;
	width:220px;
}
#support .list li:last-child a{
	display:block;
	position:relative;
	float:right;
	width:110px;
}
#support .list li:last-child a:after{
	position:absolute;
	right:0;
	bottom:0;
	width:25px;
	height:25px;
	background:#ee2a2b url(../img/icn_zoom.png) center center no-repeat;
	background-size:25px 25px;
	content:"";
}
@media only screen and (max-width:767px){
	#support .inner{
		width:100%;
		padding:40px 4.6875%;
	}
	#support h2.tit{
		margin-bottom:30px;
		color:#ee2a2b;
		font-size:18px;
		text-align:center;
	}
	#support .list{
		max-width:340px;
		margin:0 auto;
	}
	#support .list li{
		float:none;
		width:100%;
		margin:0 0 30px;
		font-size:14px;
	}
	#support .list li:last-child{
		margin-bottom:0;
	}
	#support .list h3.img img{
		width:auto;
		height:20px;
	}
	#support .list .pho{
		margin-bottom:10px;
	}
	#support .list li:last-child .txt{
		float:none;
		width:100%;
		margin-bottom:20px;
	}
	#support .list li:last-child a{
		float:none;
		width:80%;
		max-width:220px;
		margin:0 auto;
	}
	#support .list li:last-child a img{
		width:100%;
	}
}

/* manage */
#manage{
	height:500px;
	background:url(../img/bg_manage.jpg) center top no-repeat;
}
#manage .inner{
	width:1100px;
	margin:0 auto;
	padding:44px 0;
	background:url(../img/img_map.png) right bottom no-repeat;
}
#manage h2.img{
	margin-bottom:36px;
}
#manage .txt{
	margin:0 498px 0 52px;
	font-size:16px;
	line-height:1.8;
}
#manage .txt strong{
	color:#ee2a2b;
	font-weight:bold;
}
@media only screen and (max-width:767px){
	#manage{
		height:auto;
		padding-bottom:20px;
		-webkit-background-size:cover;
		background-size:cover;
	}
	#manage .inner{
		width:100%;
		padding:30px 0 200px;
		background-position:center bottom;
		-webkit-background-size:auto 200px;
		background-size:auto 200px;
	}
	#manage h2.img{
		max-width:324px;
		margin:0 auto 20px;
	}
	#manage .txt{
		margin:0;
		padding:0 4.6875%;
		font-size:14px;
		line-height:1.6;
	}
}

/* bottom */
#bottom .inner{
	width:1100px;
	margin:0 auto;
	padding:54px 0 88px;
	text-align:center;
}
#bottom .bnr{
	margin-bottom:64px;
}
#bottom .txt{
	margin-bottom:46px;
	color:#ee2a2b;
	font-weight:bold;
	font-size:24px;
}
#bottom h2.tit{
	width:776px;
	height:168px;
	margin:0 auto 64px;
	background:url(../img/txt_bottom.png) center center no-repeat;
	line-height:168px;
}
#bottom .note{
	max-width:600px;
	margin:0 auto 58px;
	padding:14px;
	border:2px solid #ee2a2b;
	color:#ee2a2b;
	font-weight:bold;
	font-size:20px;
}
#bottom .contact{
	max-width:600px;
	margin:0 auto;
}
#bottom .contact li:first-child{
	float:left;
	width:215px;
	padding-top:4px;
	font-weight:bold;
	font-size:14px;
}
#bottom .contact li:last-child{
	float:right;
	width:317px;
	font-weight:bold;
	font-size:14px;
}
#bottom .contact li span{
	display:inline-block;
	font-weight:bold;
}
@media only screen and (max-width:767px){
	#bottom .inner{
		width:100%;
		padding:30px 4.6875%;
	}
	#bottom .bnr{
		margin-bottom:30px;
	}
	#bottom .txt{
		margin-bottom:20px;
		font-size:15px;
		line-height:1.4;
	}
	#bottom h2.tit{
		margin-bottom:30px;
		font-size:16px;
		line-height:1.4;
	}
	#bottom .note{
		width:100%;
		margin-bottom:20px;
		padding:10px 4px;
		font-size:13px;
		line-height:1.4;
	}
	#bottom .contact{
		width:100%;
	}
	#bottom .contact li:first-child,
	#bottom .contact li:last-child{
		width:48.5%;
		font-size:11px;
	}
	#bottom .contact li span{
		display:none;
	}
}

/* contact */
#contact{
	position:relative;
	padding:72px 0 80px;
	background-color:#878787;
}
#contact:before{
	position:absolute;
	top:0;
	left:50%;
	width:0;
	height:0;
	margin-left:-75px;
	border-top:45px solid #fff;
	border-right:75px solid transparent;
	border-bottom:45px solid transparent;
	border-left:75px solid transparent;
	content:"";
}
#contact .inner{
	width:1000px;
	margin:0 auto;
}
#contact h2.tit{
	width:346px;
	height:34px;
	margin:0 auto 36px;
	background:url(../img/tit_contact.png) center center no-repeat;
}
#contact .form{
	padding:30px 45px;
	background-color:#fff;
}
#contact .form h3{
	margin-bottom:20px;
	color:#ee2a2b;
	font-weight:bold;
	font-size:24px;
	text-align:center;
}
#contact li{
	float:left;
	width:425px;
	margin:0 60px 30px 0;
}
#contact li:nth-child(2n){
	margin-right:0;
}
#contact li:nth-child(n+7){
	clear:left;
	width:100%;
	margin:0 0 30px;
}
form#mailformpro dl dt{
	float:left;
	width:130px;
	border-top:none;
	font-weight:bold;
	font-size:16px;
	text-align:left;
}
#contact dt span{
	display:inline-block;
	margin-left:10px;
	padding:2px 4px;
	background-color:#e90000;
	color:#fff;
	font-size:12px;
}
form#mailformpro dl dd{
	float:left;
	width:295px;
	padding:0;
	border-top:none;
	font-size:16px;
}
#contact li:nth-child(n+7) dd{
	width:780px;
}
form#mailformpro label{
	position:relative;
	margin-right:20px;
	padding:8px 0 8px 30px;
}
form#mailformpro label:before{
	position:absolute;
	top:20px;
	left:0;
	width:18px;
	height:18px;
	margin-top:-10px;
	border:2px solid #cecece;
	content:"";
}
form#mailformpro label span{
	display:inline-block;
}
form#mailformpro .mfp_checked span:before{
	display:block;
	position:absolute;
	top:20px;
	left:8px;
	z-index:100;
	width:7px;
	height:14px;
	margin-top:-12px;
	border-bottom:3px solid #ff8b00;
	border-right:3px solid #ff8b00;
	transform:rotate(40deg);
	content:"";
}
@media only screen and (max-width:767px){
	#contact{
		padding:40px 4.6875% 30px;
	}
	#contact:before{
		margin-left:-50px;
		border-top-width:25px;
		border-right-width:50px;
		border-bottom-width:25px;
		border-left-width:50px;
	}
	#contact .inner{
		width:100%;
	}
	#contact h2.tit{
		margin-bottom:15px;
		color:#fff;
		font-size:18px;
		text-align:center;
	}
	#contact .form{
		padding:20px 20px 10px;
	}
	#contact li,
	#contact li:nth-child(n+7){
		float:none;
		width:100%;
		margin:0 0 10px;
	}
	form#mailformpro dl dt{
		float:none;
		width:auto;
		padding:5px 0;
		font-size:15px;
	}
	#contact dt span{
		font-size:11px;
	}
	form#mailformpro dl dd{
		float:none;
		width:auto;
		padding:0;
		font-size:15px;
	}
	#contact li:nth-child(n+7) dd{
		width:auto;
	}
	form#mailformpro label{
		padding:0 0 0 30px;
	}
	form#mailformpro label:before,
	form#mailformpro .mfp_checked span:before{
		top:10px;
	}
	div.mfp_buttons{
		padding:10px 0 0;
	}
	table#mfp_confirm_table,
	table#mfp_confirm_table tbody,
	table#mfp_confirm_table tr{
		display:block;
		border:none;
	}
	table#mfp_confirm_table tr.mfp_colored{
		background-color:transparent;
	}
	table#mfp_confirm_table tr th{
		display:block;
		width:100%;
		padding:10px 15px;
		border:none;
		background-color:#f6f7f9;
		font-size:14px;
	}
	table#mfp_confirm_table tr td{
		display:block;
		border:none;
		font-size:14px;
	}
	#contact .form h3{
		margin-bottom:10px;
		font-size:20px;
	}
	#contact .form p{
		margin-bottom:15px;
		font-size:14px;
	}
}

