/* ******************************************************************
 *	File name		: style.css
 *	Summary			: css base
 * ******************************************************************
 */
/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

/* --- responsive --- */
@media screen and (max-width:1000px){
	#wrapper{
		padding-top:90px !important;
	}
}

/* ------------------------------------------------
   main_contents
------------------------------------------------- */

#main_contents{
	position:relative;
	width:1000px;
	max-width:100%;
	margin:0 auto;
	padding:30px 40px;
	background:#FFF;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#main_contents{ 
		padding:20px 20px;
	}
}

/* ------------------------------------------------
   h
------------------------------------------------- */

#main_contents h2{
	position:relative;
	margin:0 0 13px 0;
}
#main_contents h2 span{ 
	display:inline-block;
	position:relative;
	margin:0 0 5px -40px;
	padding:3px 30px 4px 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight:600;
	font-size:1.35rem;
	text-align:left;
	border-bottom:1px solid #00438F;
	line-height:1.35;
	color:#00438F;
	}
	#main_contents h2::before,
	#main_contents h2::after{
		content:" ";
		position:absolute;
		left:-15px;
		width:6px;
		}
		#main_contents h2::before{
			top:0px;
			height:100%;
			background:#00438F;
		}
		#main_contents h2::after{
			top:4px;
			height:6px;
			background:#D1DC00;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#main_contents h2{
		width:100%;
	}
	#main_contents h2 span{
		display:block;
		font-size:1.00rem;
		margin:0 0 5px -20px;
		padding:3px 30px 4px 25px;
	}
	#main_contents h2::before,
	#main_contents h2::after{
		left:-10px;
	}
}

/* -----------------------------------------------------------------
   iroiro
----------------------------------------------------------------- */

main p{
	margin:0 0 7px;
	font-size:0.94rem;
	line-height:1.75;
}

main section{
	margin:0 0 70px;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	main p{
		font-size:0.84rem;
		line-height:1.45;
	}

	main section{
		margin:0 0 50px;
	}
}

/* -----------------------------------------------------------------
   boxline
----------------------------------------------------------------- */

.boxline{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	padding:20px;
	border:1px solid #00438F;
	}
	.boxline p:last-child{
		margin-bottom:0px;
}


/* ------------------------------------------------
   photo
-------------------------------------------------*/

ul.photo{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	width:100%;
	list-style:none;
}
ul.photo li,
ul.photo.co2 li{
	width:49%;/* 343px w686px x h386px */
	max-width:450px;
	margin:0 0 15px;
}
ul.photo li.wide,
ul.photo.co2 li.wide{
	width:100%;/* 343px w686px x h386px */
	margin:0 0 15px;
}
ul.photo.co3 li{
	width:226px;/* 32.4% 226px 452px */
	margin:0 0 10px;
	}
	ul.photo.co3 li:nth-child(3n+2):last-child{
		margin:0 33.8% 10px 0;
}

/* --- responsive --- */
@media only screen and (max-width:1000px){
	ul.photo.co3 li{
		width:49% !important;
		margin:0 0 10px;
	}
}


/* -----------------------------------------------------------------
   contact
----------------------------------------------------------------- */

#contact{
	margin:0 0 0px;
}
#contact h2 + p{
	width:780px;
	max-width:100%;
	margin:0 auto 7px;
}

#form_box{
	position:relative;
}

#form_box table{
	position:relative;
	width:100%;
	max-width:100%;
	margin:0 auto 10px;
	padding:0px;
	border-collapse:separate;
	border-spacing:10px;
	border-top:none !important;
	border-left:none !important;
	vertical-align:text-top;
}
#form_box table tr{
	position:relative;
}
#form_box table::after,
#form_box table tr::after{
	content:" ";
	position:absolute;
	top:-5px;
	left:-5px;
	width:100%;
	height:1px;
	background:#8291C2;
	}
	#form_box table::after{
		width:calc(100% - 20px);
		top:auto;
		bottom:13px;
		left:10px;
}
#form_box table th{
	position:relative;
	width:250px;
	padding:10px 10px 10px 10px;
	border-bottom:none !important;
	border-right:none !important;
	text-align:left;
	font-weight:bold;
	font-size:0.9rem;
	background:#8291C2;
	vertical-align:text-top;
	color:#FFF;
	line-height:1.5;
	}
	#form_box table th span{
		display:inline-block;
		position:relative;
		top:-2px;
		margin:0 0 0 5px;
		font-weight:bold;
		font-size:0.85rem;
		text-align:center;
		color:#F08200;
		line-height:1.5;
}
#form_box table td{
	position:relative;
	width: calc(100% - 250px);
	padding:10px 15px 9px;
	font-size:0.9rem;
	background:none;
	border-left:none !important;
	border-right:none !important;
	border-bottom:none !important;
	line-height:1.2;
	word-break:break-all;
	}
	#form_box table p.app_point{
		font-size:0.77rem;
		margin:7px 0 0 0px;
		line-height:1.35;
	}
	#form_box table td .ex{
		font-size:0.77rem;
		color:#777;
}

#form_box table label{
	display:inline-block;
	margin:0 30px 7px 0;
	cursor: pointer;
}

/* --- responsive --- */
@media only screen and (max-width:767px){
	#form_box table{
		border-collapse:collapse;
		border-spacing:0px;
	}
	#form_box table::after,
	#form_box table tr::after{
		display:none;
	}
	#form_box table td{
		margin:4px 0 12px;
		padding:0px;
	}
}
/* ------------------------- input ------------------------- */

#form_box table td input,
#form_box table td select,
#form_box table td textarea{
	padding:5px 10px;
	border:1px solid #CCC;
	background:#FFFFFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#form_box table td input,
	#form_box table td select,
	#form_box table td textarea{
		font-size:0.7rem;
	}
}
#form_box table td select{
	padding:2px 5px 5px 5px;
	background:#FFFFFF;
	border:1px solid #999999;
	cursor:pointer;
}
#form_box table td textarea{
	width:100%;
	min-height:190px;
	resize:none;
}
#form_box table td input[type="text"] {
}
#form_box table td input[type="radio"] {
	position:relative;
	top:-1px;
	display:inline-block;
	margin-right:5px;
	cursor:pointer;
}
#form_box table td input[type="checkbox"] {
	position:relative;
	top:-1px;
	margin-right:5px;
}

/* ------------------------- input selector ------------------------- */

#form_box table td input[name="name"]{
	min-width:50%;
}
#form_box table td input[name="kana"]{
	min-width:50%;
}
#form_box table td input[name="office_name"]{
	min-width:50%;
}

#form_box table td input[name="zip"],
#form_box table td input[name="zip2"]{
	width:auto !important;
}

#form_box table td select[name="pref"]{
	margin:10px 0 10px;
}
#form_box table td input[name="addr"]{
	min-width:100%;
}
#form_box table td input[name="email"],
#form_box table td input[name="email2"]{
	min-width:50%;
}
#form_box table td input[name="tel"],
#form_box table td input[name="fax"]{
	min-width:50%;
}


/* --- responsive --- */
@media only screen and (max-width:767px){
	#form_box table td input[type="text"],
	#form_box table td input[type="tel"],
	#form_box table td textarea{
		width:100%;
		max-width:100%;
	}
	#form_box table td input[type="text"],
	#form_box table td input[type="tel"],
	#form_box table td textarea{
		width:100%;
		max-width:100%;
	}
	#form_box table th{
		display:block;
		width:100%;
		padding:5px 10px 5px 10px;
	    font-weight:bold;
		}
		#form_box table th span{
			top:5px;
		}
		#form_box table th br{
			display:none;
	}
	#form_box table td{
		display:block;
		width:100%;
	}
	#form_box table td.mail_form input{
		width:100%;
	}
}


/* ---------------------------------------- confirm_btn */

#confirm_btn{
	display:block;
	width:100%;
	margin:0 0 10px !important;
	text-align:center;
	margin:0 auto;
}
.form_button{
	display:inline-block;
	position:relative;
	margin:0 auto;
	text-indent:0px !important;
	background:#00438F;
	text-align:center;
	z-index:0;
	}
	.form_button button{
		position:relative;
		padding:15px 50px !important;
		font-size:1.1rem;
		background:none !important;
		border:none !important;
		color:#FFF;
		cursor:pointer;
		z-index:10;
	}
	
	.form_button button[disabled]{
		background:rgba(255,255,255,0.5) !important;
		cursor:not-allowed;
	}
	.form_button button:hover{
			background:rgba(0,0,0,0.1) !important;
	}

#form_box .h_back{
	cursor:pointer;
}


/* ---------------------------------------- confirm */

#form_box #confirm_h3{
	position:relative;
	width: calc(100% - 8px);
	margin:0 0 0 4px;
	padding:5px 10px;
	background:rgba(77,176,221,1);
	color:#FFF;
}

#form_box table.confirm_table{
	margin:20px 0 ;
	}
	#form_box table.confirm_table th{
		background:rgba(0,0,0,0.2);
		color:#000;
	}
	#form_box table.confirm_table td{
		background:rgba(0,0,0,0.1);
		color:#000;
}

/* ---------------------------------------- comp */

#comp{
	position:relative;
	width:100%;
	padding:0 0 30px 0;
}
#comp h3{
	margin-bottom: 50px !important;
}
#comp .form_button{
	display:inline-block;
	position:relative;
	margin:0 auto;
	text-indent:0px !important;
	background:#4DB0DD;
	text-align:center;
	z-index:0;
	}
	#comp .form_button a{
		display: block;
		position:relative;
		padding:9px 30px 10px 30px !important;
		background:none;
		border:none !important;
		color:#FFF;
		text-decoration:none;
		cursor:pointer;
		z-index:10;
		}
		#comp .form_button a:hover{
			background:rgba(0,0,0,0.1);
	}
	#comp .form_button:before{
		content:" ";
		display:block;
		position:absolute;
		z-index:1;
	}
	#comp .form_button:before{
		top:2px;
		left:2px;
		width:calc(100% - 6px);
		height:calc(100% - 6px);
		border:1px solid #FFF;
	}

/* ---------------------------------------- errm */

#form_box .errm{
	position:relative;
	min-height:300px;
	padding:0 0 20px;
}
#form_box .errm h3{
	margin-bottom:10px;
	padding:5px 15px;
	font-weight:normal;
	font-size:1.1rem;
	background:linear-gradient(275deg, #0032C3, #0070BB);
	color:rgba(0,50,195,1);
	color:#FFF;
}
#form_box .errm #errm_list{
	list-style:none;
}
#form_box .errm #errm_list li{
	position:relative;
	padding:3px 0 2px 30px;
	color:#F00;
	border-bottom:1px dotted rgba(0,0,0,0.3);
	}
	#form_box .errm #errm_list li:before,
	#form_box .errm #errm_list li:after{
		content:" ";
		position:absolute;
	}
	#form_box .errm #errm_list li:before{
		top:6px;
		left:7px;
		width:20px;
		height:20px;
		background:rgba(255,0,0,1);
		-moz-border-radius:10px;
		-webkit-border-radius:10px;
		border-radius:10px;
		z-index:0;
	}
	#form_box .errm #errm_list li:after{
		content:" ";
		position:absolute;
		top:11px;
		left:14px;
		border: 5px solid transparent;
		border-left: 7px solid rgba(255,255,255,1);
		z-index:1;
}

/* ---------------------------------------- complete_box */

#complete_box{
	text-align:left;
}
#complete_box a{
	text-decoration:underline;
	color:#00F;
}
#complete_box .iblock{
	display:inline-block;
	margin-right:15px;
}
/* --- responsive --- */
@media(max-width:767px){
	#complete_box{
		padding:0 20px;
	}
}


/*---------------------
  btn
---------------------*/

.btn{
	position:relative;
	text-align:center;
	line-height:1.75;
	z-index:100;
}
.btn a{
	display:inline-block;
	position:relative;
	width:200px;
	max-width:100%;
	margin:0 auto;
	padding:5px 15px 7px;
	font-size:0.95rem;
	text-decoration:none;
	text-align:center;
	background:rgba(39,94,156,1);
	color:#FFF;
	line-height:1.5;
	transition-duration:0.5s;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	}
	.btn a:hover{
		text-decoration:none;
		background:rgba(39,94,156,0.8);
}

/* --- responsive --- */
@media only screen and (max-width:1000px){
	.btn a{
		width:auto !important;
		height:50px;
		font-size:1.2rem;
		background:#8398CD;
	}
}





