@charset "UTF-8";


/* HACK
==========================================================*/

.sp-hide{ display: block;}
.sp-show{ display:none;}

.break-word {word-wrap: break-word;}

/* OVERWRITE
==========================================================*/

.resp { display: none;}

@media screen and (max-width: 648px) {
	
body { font-size: 14px; line-height: 1.6em;} 
	
.sp-hide{ display: none;}
.sp-show{ display:inline-block;}
.sp-br-none br{display: none;}

img{ max-width:100%; height:auto;}

.col-l{ float: none; width: auto;}
.col-r{ float: none; width: auto; }
.inner { width: auto !important; padding: 0 3%;}

/* main-layout
==========================================================*/

html,body,.contwrap,.cont { width: 100%; height: 100%; box-sizing: border-box; }
html:before,body:before,.contwrap:before,.cont:before { content: ""; box-sizing: border-box; position: fixed; background: #fff; border: 5px solid #0092DA; z-index: 99; }

html:before { width: 100%; height: 15px; border-bottom: none; top: 0; }
body:before { width: 100%; height: 15px; border-top: none; bottom: 0; }
.contwrap:before { width: 15px; height: 100%; border-left: none; right: 0; }
.cont:before { width: 15px; height: 100%; border-right: none; left: 0;  }

body {}

.sec { width: 100%; padding: 15% 35px; box-sizing: border-box;  }

.inner { width: auto; margin: 0 auto; }


/* common
==========================================================*/

.ttl { text-align: center; font-weight: bold; line-height: 40px; font-size: 40px; }
.ttlsub { font-size: 14px; margin-bottom: 5%; }

.rotate { width: 200%; margin-left: -50%; }
	
.norota { width: 100%; }

.mail { position: fixed; width: 35px; top: 30px; right: 30px; z-index: 999; }
.triggerBtn { position: fixed; top: 30px; left: 30px; z-index: 999; }
.pgt { width: 40px; position: absolute; bottom: -3%; left: 47%; z-index: 999; }

/* sec01
==========================================================*/


.sec01 { }
.sec01 .c { width: 50%; margin-top: -10%; }
.sec01 .logo { width: 70%; margin-top: -10%; }
.sec01 .logo a { display: block; }
.sec01 .rec { width: 70%; bottom: 8%; left: 0; padding: 0 20%; }
.sec01 .rec:hover { cursor: pointer;}

.modal { }
.modal > label { }
.modal-overlay { }
.modal-wrap { position: relative; margin: 0 auto; box-sizing: border-box; padding: 0 4%; width: 100%; height: 100%; }
.modal-in { position: inherit; }
	.modal-in .ttlsub { margin-bottom: 8%; }
	.modal-in .txtwrap { margin-bottom: 6%; }
	.modal-in .mid { font-size: 20px; font-weight: bold; margin-bottom: 6%; }
	.modal-in .txt { font-size: 14px; margin-bottom: 10px; }
	.modal-in .border { font-size: 16px; width: 96%; height: 70px; line-height: 70px; margin: 0 auto; }
.modal-wrap label { width: 25px; position: absolute; top: 30px; right: 30px;  cursor: pointer; }
.modal input { position: absolute; -index: -9999; visibility: hidden; }

.modal-overlay {
opacity:0;
	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	-ms-transform: scale(0.5);
	-o-transform: scale(0.5);
	transform: scale(0.5);
	-webkit-transition: all 0.75s cubic-bezier(0.65, -0.55, 0.265, 1.55);
	-moz-transition: all 0.75s cubic-bezier(0.65, -0.55, 0.265, 1.55);
	-ms-transition: all 0.75s cubic-bezier(0.65, -0.55, 0.265, 1.55);
	-o-transition: all 0.75s cubic-bezier(0.65, -0.55, 0.265, 1.55);
	transition: all 0.75s cubic-bezier(0.65, -0.55, 0.265, 1.55);
z-index: -999;
}

.modal input:checked ~ .modal-overlay {
opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-0-transform: scale(1);
	transform: scale(1);
z-index: 999;
}

/* sec02
==========================================================*/

.sec02 {}
.sec02 .ttl { font-size: 40px; margin-bottom: 10%; }
.sec02 .ttlsub { line-height: 1.8em;}
.sec02 .cut { position: inherit; width: 35%; margin: 0 auto; }

/* sec03
==========================================================*/

.sec03 {  }
.sec03 .midwide { width: 50%; margin: 0 auto; height: 50px; line-height: 50px; text-align: center; font-size: 20px; margin-bottom: 20px; }
.sec03 .works {  margin-left: 5px; margin-bottom: 6%; display: block;}
.sec03 .works li {width: 50%; margin: 0 auto 5px;}
	.sec03 .works .log { height: 150px; }
	.sec03 .works .log img { width: 90%; }
	.sec03 .works .txtwrap { box-sizing: border-box; width: 100%; min-height: auto !important; padding: 6%; padding-right: 4%;}
.sec03 .works li.r2 .txtwrap { min-height: auto !important; }
	.sec03 .works .txtwrap .mid { font-size: 16px; margin-bottom: 4%; }
	.sec03 .works .txtwrap .txt { line-height: 1.4em;}
	.sec03 .works .txtwrap .txt span { font-size: 12px;}
.sec03 .past { width: 50%; margin: 0 auto; }
.sec03 .past li { font-size: 1em; margin-bottom: 4%; }
.sec03 .past li span { font-weight: normal;  }

/* sec04
==========================================================*/


/* sec05
==========================================================*/

/*.sec05 {background: #98D3F0; }*/
.sec05 { padding: 15% 20px; }
.sec05 .inner { max-width: 400px; width: auto; margin: 0 auto; padding: 0; }
.sec05 .member { margin-left: 0; display: block;}
.sec05 .member li {width: auto; margin-left: 0; margin-bottom: 6%; }
	.sec05 .member .mem { width: 50%; margin: 0 auto 20px; }
	.sec05 .member .name { font-size: 20px; }
	.sec05 .member .kat {  margin-bottom: 15px; }
	.sec05 .member .txjus { }
		
/* sec06
==========================================================*/

.sec06 {margin-bottom: -10%; padding-bottom: 30%; }
.sec06 .ttlsub { margin-bottom: 6%; }
 
.sec06 .col-r { width: 50%; margin: 0 auto 8%; padding-left: 2%;}
	.contab { width: 100%; margin: 0 auto; }
	.contab tr {}
	.contab th { display: block; padding-right: 10px; font-weight: bold;}
	.contab td { display: block;  padding:5px 0; }
	.contab td input { padding:8px; width: 96%; }
	.contab td textarea { padding:8px; width: 96%; }
	.submitOuter {  }

	.error_box {
		display:none;
		margin:10px 0px 20px;
		padding:15px 14px 15px;
		border: 1px solid #fff;
		text-align:left;
		color:#fff;
		line-height:1.5;
	}
.sec06 .col-l { width: 50%; margin: auto; padding-left: 2%;}
.tel { font-size: 25px; }
.sec06 .col-l .tel { margin: 0 auto 6%;}
.tel a { }
.tel span { font-size: 20px; }
	.comtab { }
	.comtab tr { }
	.comtab th { display: block; padding: 0; font-weight: bold; }
	.comtab td { display: block; padding: 0; padding-bottom: 4%; }
	


#Maps{ width: calc(100% - 30px); margin: -12% auto 20px; height: 45%; box-sizing: border-box; padding: 0; }


/* error-ok
==========================================================*/

.error-ok { }
.error-ok .sec { height: 100%; position: relative; padding-top: 40%; overflow: scroll; }
.error-ok.error .sec { padding-top: 0;}
.error-ok .ttlsub { margin-bottom: 8%;}
.error-ok .wrap { position: inherit; width: 110%;  }
.error-ok .wrap .mid { font-size: 1.2em; margin-bottom: 8%;}
.error-ok .wrap .txc { margin: 8% 0 !important; text-align: left; }
}


