@charset "UTF-8";
/*Common*/



.inner{
	width: 96%;
	margin-right: auto;
	margin-left: auto;
}
@media (max-width: 575px) {
.inner {
  }
}
@media (min-width: 576px) {
.inner {
  }
}
@media (max-width: 767px) {
.inner {
		max-width: 540px;
  }
}
@media (min-width: 768px) {
.inner {
  }
}
@media (min-width: 992px) {
.inner {
		max-width: 960px;
  }
}
@media (min-width: 1200px) {
.inner {
		max-width: 1200px;
  }
}



@media (max-width: 767px) {/*スマホ向け*/
}
@media (min-width: 768px) and (max-width: 992px) {/*タブレット向け*/
}
@media (min-width: 768px) {
}

p{
	margin:0 0 1em 0;
}
h1,h2{
}

#main h1{
	font-size:2.4rem;
	letter-spacing:1px;
	text-align:left;
	padding:2em 0 2em 10%;
}
#main h1 small{
	display:block;
	font-weight:normal;
	font-size:1.2rem;
}






@media screen and (max-width: 991px){
	#main h1{
		padding:1em 0 1em 5%;
		font-size:2rem;
	}
}



#maincol h2{
	font-size:2rem;
	margin:-15px 0 1em -15px;
	padding:20px 0 80px 20px;
	letter-spacing:2px;
	text-align:left;
	font-weight:bold;
	position:relative;
	background:url(../img/h2.svg) no-repeat 0px 0px;
	background-size:180px;
}
#maincol h2 small{
	display:block;
	font-size:1.1rem;
	font-weight:normal;
}
#maincol h3{
	font-size:1.4rem;
	margin:40px 0 20px;
	position: relative;
	padding: 0 0 8px 12px;
	border-bottom:solid 2px rgba(0,140,214,1);
}
#maincol h3:after{
	display:block;
	position:absolute;
	bottom:-5px;
	left:0;
	content:"";
	height:8px;
	width:8px;
	background:rgba(0,140,214,1);
	border-radius:10px;
}
#maincol h4{
	font-size:1.2em;
	margin:0.5em 0;
	position:relative;
}
#maincol h4:before{
	content:'';
	width:0.8em;
	height:0.8em;
	background-color:rgba(0,140,214,1);
	display:inline-block;
	margin:0em 0.25em 0 0;
}

@media screen and (max-width: 767px) {
	#maincol h2{
		font-size:1.4rem;
		letter-spacing:1px;
	}
	#maincol h3{
		font-size:1.15rem;
	}
	#maincol  h4{
		font-size:1.1em;
	}

}




em,.red{
	font-style:normal;
	color:rgba(250,45,100,1);
}
.gray{
	color:rgba(150,150,150,1);
}
a{
	text-decoration: none;
	color:rgba(12,89,161,1);
    transition: all .4s;
}
a:hover{
	color:rgba(181,181,181,1);
}
a:after,
a.before{
    transition: all .4s;
}

a.blank:after{
	content:'　';
	display:inline-block;
	margin:0 0 0 3px;
	width:14px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M14.22%2C14.22H1.78V1.78H8V0H1.78A1.78%2C1.78%2C0%2C0%2C0%2C0%2C1.78H0V14.22A1.78%2C1.78%2C0%2C0%2C0%2C1.78%2C16H14.22A1.78%2C1.78%2C0%2C0%2C0%2C16%2C14.22V8H14.22ZM9.78%2C0V1.78H13L4.23%2C10.52l1.25%2C1.25L14.22%2C3V6.22H16V0Z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat:no-repeat;
	background-size:14px;
	background-position:center;
	opacity : .3;
}
a.pdf:after{
	content:'PDF';
	display:inline-block;
	margin:0 0 0 5px;
	background-color:rgba(255,255,255,1);
	color:rgba(250,45,100);
	border:solid 1px rgba(250,45,100);
	border-radius:20px;
	font-size:80%;
	padding:2px 5px;
	line-height:1;
}

a.arrow{
	display:block;
	position:relative;
}
a.arrow:after{
	display:block;
	content:"";
	border-top: solid 2px rgba(0,140,214,1);
	border-right: solid 2px rgba(0,140,214,1);
	width: 10px;
	height: 10px;
	position:absolute;
	right:0.5em;
	top: 50%;
	transform: translate(0, -50%) rotate(45deg);
}
a img{
	opacity : 1;
    transition: all .4s;
}
a:hover img{
	opacity : .70;
}
.linkbtn a{
	background-color:rgba(255,255,255,1);
	border:solid 1px rgba(0,140,214,1);
	padding:0.25em 1.5em;
	border-radius:30px;
	display:inline-block;
	margin-bottom:0.25em;
	overflow: hidden;
	position: relative;
	z-index: 2;
	background: linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(0,140,214,1) 50%,rgba(0,140,214,1) 100%);
	background-position: 100% 50%;
	background-size: 200% auto;
	color:#FFF;
	vertical-align:middle;
}
.linkbtn a:hover{
	background-position: 0% 50%;
	color:rgba(0,140,214,1);
}

.txtright{
	text-align:right;
}
.txtleft{
	text-align:left;
}
.center{
	text-align:center;
}
.small{
	font-size:80%;
}
.large{
	font-size:120%;
}

.none{
display:none;
}

.border{
	border:solid 1px #DDD;
	padding:10px;
}

.u_line{
	background: linear-gradient(transparent 60%, rgba(255,251,78,0.5) 0%);
	padding-left:0.25em;
	padding-right:0.25em;
}

.norwrap{
	white-space:nowrap;
}
.flex_box{
	margin-bottom:1em;
}

@media screen and (min-width: 768px){
	.flex_box{
		display:flex;
		justify-content:space-around;
	}
	.half{
		justify-content:space-between;
	}
	.half div{
		width:48%;
	}
}




table.widthmax{
	width:100% !important;
}
table.default{
	border-collapse:collapse;
	width:auto;
	margin:0 auto 1em;
	border-top:1px solid rgba(181,181,181,1); 
	background-color:rgba(255,255,255,1);
}
table.default tr{
	border-bottom:1px solid rgba(181,181,181,1); 
	border-left:1px solid rgba(181,181,181,1); 
}
table.default th,
table.default td{
	padding:10px 15px;
	vertical-align:top;
	border-right:1px solid rgba(181,181,181,1); 
}
table.default th{
	background-color:rgba(240,240,240,1);
	min-width:20%;
	text-align:center;
	font-weight:bold;
}
.nowrap{
	white-space:nowrap;
}

@media screen and (max-width: 767px){
	.table_block{
	}
	.table_block tr{
	}
	.table_block th,
	.table_block td{
		display:block;
	}
	table.default.table_block th{
		text-align:left;
	}
	table.hyo.table_block td{
	}
}



dl.dl_default{
	margin:0 0 0;
}
dl.dl_default div{
}
dl.dl_default dt{
	margin:0 0 0.5em;
	font-weight:bold;
}
dl.dl_default dd{
	margin:0 0 1em 2em;
}


dl.oshirase{
	margin:0 0 0;
}
dl.oshirase{
	padding:0px 0 0px 0;
	overflow:hidden;
	margin:0 0;
	list-style:none;
}
dl.oshirase div{
	position:relative;
	margin:0 0 2em;
}
dl.oshirase dt{
	margin:0 0 0.75em;
	padding:0 0 0.5em 0;
	border-bottom:1px #333 solid;
}
dl.oshirase dd{
	margin:0 0 0.75em;
}

dl.oshirase dd a{
	display:block;
}

dl.qa{
	margin:0 0 0;
}
dl.qa div{
	background-color:rgba(255,255,255,1);
	padding:15px;
	margin:0 0 15px;
}
dl.qa dt,
dl.qa dd{
	margin:0 0 0.5em;
	display:flex;
	justify-content:flex-start;
	/*align-items:flex-start;*/
	padding:5px;
}
dl.qa dt:before,
dl.qa dd:before{
	display:block;
	font-size:1.5em;
	line-height:1;
	width:1.2em;
	text-align:center;
	margin-right:10px;
	flex-shrink: 0;
}
dl.qa dt{
	border-bottom:2px dotted rgba(181,181,181,1);
}
dl.qa dt:before{
	content:'Q';
	color:rgba(0,140,214,1);
}
dl.qa dd{
}
dl.qa dd:before{
	content:'A';
	color:rgba(250,45,100,1);
}

ul.chui{
	margin:0;
}
ul.chui li{
	list-style:none;
	text-indent:-1em;
}
ul.chui li:before{
	content:'※';
	padding-right:0.4em;
}


.gmap{
	width:100%;
	height:360px;
	border:0;
}
.youtube {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	width: 100%;
	overflow: hidden;
	margin-bottom:20px;

}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 768px){
	.youtube_wrap {
		max-width:640px;
		margin:auto;
	}
}

/*about
-------------------------------------------------------------*/

.office{
}
.office .flex_box{
	justify-content:space-between;
}
.office dl dt{
	font-weight:bold;
}
.office dl dt:before{
	content:'';
	width:0.8em;
	height:0.8em;
	background-color:rgba(181,181,181,1);
	display:inline-block;
	margin:0em 0.3em 0 0;
}
.office dl dd{
	margin:0 0 1em 1em;
}
.office_photo{
	max-width:480px;
}

@media screen and (min-width: 768px){
	.office dl{
		width:48%;
		max-width:480px;
	}
	.office_photo{
		width:48%;
	}
}
#history table.default th{
	white-space:nowrap;
	text-align:left;
}
@media screen and (min-width: 768px){
	#history table.default th{
		width:17%;
		white-space:nowrap;
	}
}
@media screen and (max-width: 767px){
}

.plan_taisaku{
	text-align:left;
	margin:0 0 1em;
}
.plan_taisaku caption{
	text-align:left;
}
.plan_taisaku th{
	white-space:nowrap;
}
.plan_taisaku th:before{
	content:'● ';
}
.plan_taisaku th,
.plan_taisaku td{
	text-align:left;
	font-weight:normal;
	vertical-align: top;
}
.plan_taisaku tr td:nth-child(2){
	text-align:right;
	padding-left:0em;
}
@media screen and (max-width: 767px){
	.plan_taisaku tr td:nth-child(2){
		text-align:left;
		display:inline-block;
		padding-left:0.2em;
	}
	.plan_taisaku th{
		display:inline-block;
	}
}

.plan_taisaku td{
	padding-left:1em;
}

ol.policy li{
	margin-bottom:1em;
}




/*business
-------------------------------------------------------------*/

.index{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.index a{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	justify-content:flex-start;
	flex-flow: column;
	width:48%;
	position:relative;
	padding:0 0px;
	margin:0 0 1.5em;
	color:#333;
}
.index h4{
	order:2;
	position:relative;
	width:100%;
}
.index h4:before{
}
.index h4:after{
	display:block;
	content:"";
	border-top: solid 2px rgba(0,140,214,1);
	border-right: solid 2px rgba(0,140,214,1);
	width: 10px;
	height: 10px;
	position:absolute;
	right:0.5em;
	top: 0.3em;
	transform:/* translate(0, -50%)*/ rotate(45deg);
    transition: all .4s;
}
.index a:hover h4:after{
	right:0;
}
.index p{
	order:3;
}
.index p.image{
	overflow:hidden;
	line-height:0;
	order:1;
	margin:0;
}
.index p.image img{
    transition:0.2s linear;
}
.index a:hover img{
    opacity: 1 !important;
    filter: /*blur(2px)*/ opacity(80%) brightness(60%);
    transform: scale(1.05);

}
@media screen and (max-width: 767px){
	.index p{
		font-size:0.7rem;
	}
}
/*recruit
-------------------------------------------------------------*/
.fukidashi img{
	width:120px;
	margin:auto;
	display:block;
}
.fukidashi span{
	display:block;
	border-radius:20px;
	padding:1em;
	background-color:rgba(240,240,240,1);
	position: relative;
	margin:20px 0 0 0;
}

@media screen and (max-width: 767px){
	.fukidashi{
		display:flex;
		justify-content:space-between;
	}
	.fukidashi img{
		width:120px;
		margin:auto;
		display:block;
	}
	.fukidashi span:before{
		content: "";
		position: absolute;
		top: 50%;
		left: -30px;
		margin-top: -15px;
		border: 15px solid transparent;
		border-right: 15px solid rgba(240,240,240,1);
	}
}
@media screen and (min-width: 768px){
	.voice{
		display:flex;
		justify-content:space-between;
		column-gap:20px;
	}
	.fukidashi{
		width:320px;
}
	.fukidashi span{
		min-height:60%;
	}
	.fukidashi span:before{
		content: "";
		position: absolute;
		top: -30px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid rgba(240,240,240,1);
	}
}




/*form
-------------------------------------------------------------*/
input[type=text] , button, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input,
textarea{
	font-size:16px;
}
input::placeholder{
	font-size:80%;
}
#contact_form{
	margin:2% 0;
	/*background-color:rgba(181,181,181,.2);*/
	padding:5% 5%;
}
.dl_form{
	margin:0 auto 1em;
}

.dl_form div{
	margin:0px 0;
	padding:20px 1em;
	border-bottom: 1px dotted rgba(181,181,181,.8);
}
.dl_form div:nth-child(2n){
	background-color:rgba(181,181,181,.1);
}
.dl_form dt{
	font-weight:bold;
	margin:0 0 10px;
}
.dl_form dd{
	margin:0 0 10px;
}
.dl_form.check dd{
}
@media screen and (min-width: 768px) {
.dl_form div{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	position:relative;
}
.dl_form dt{
	width:25%;
}
.dl_form dd{
	width:73%;
}
}


.dl_form dt.any:before,
.dl_form dt.req:before{
	content:'';
	font-weight:normal;
	font-size:75%;
	border-radius:3px;
	padding:3px 5px;
	display:inline-block;
	line-height:1;
	width:3em;
	text-align:center;
	margin-right:0.5em;
}
@media screen and (min-width: 768px) {
}

.dl_form dt.any:before{
	content:'任意';
	border: 1px solid rgba(30,60,90,1);
}
.dl_form dt.req:before{
	content:'必須';
	color: rgba(250,45,100,1); 
	border:solid 1px rgba(250,45,100,1); 
}
.dl_form label{
	display:inline-block;
	padding:0 20px;
}
.dl_form input[type=text] ,
.dl_form textarea{
	box-sizing:border-box;
	padding:8px;
	margin:0 0 10px;
	border:1px solid #999;
	border-radius:5px;
	background-color: rgba(255,255,255,1); 
}
.dl_form input.hiragana,
.dl_form textarea{
	width:100%;
}
.dl_form textarea{
	height:10em;
}

.dl_form input.numeric{
	width:10em;
}
.dl_form input.alpha{
	width:70%;
}
.dl_form input[type=text]:focus,
.dl_form textarea:focus{
	box-shadow: 0 0 3px rgba(244,0,129,1.00);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.dl_form input[type="radio"]{
}
.dl_form input:required ,
.dl_form textarea:required {
	background-color:rgba(255,240,250,1.00);
}
.mail_error{
	display:block;
	color:#C00;
	font-size:90%;
}
.mail_error:before{
	content:"* ";
}


label.checkbox {
	cursor       : pointer;
	position     : relative;
	padding-left : 25px;
	margin-right : 20px;
	overflow     : hidden;
	position     : relative;
	padding-left : 25px;
	display      : inline-block;
	box-sizing   : border-box;
}
label.checkbox:before {
	content  : '';
	position : absolute;
	width    : 20px;
	height   : 20px;
	left     : 0px;
	top      : 0;
	border   : 1px solid #999;
	border-radius:3px;
	z-index  : 3;
}
label.checkbox:after {
	content           : '';
	position          : absolute;
	top               : 10px;
	left              : 6px;
	display           : block;
	margin-top        : -8px;
	width             : 8px;
	height            : 12px;
	border-right      : 3px solid rgba(250,45,100,1);
	border-bottom     : 3px solid rgba(250,45,100,1);
	transform         : rotate(45deg);
	-webkit-transform : rotate(45deg);
	-moz-transform    : rotate(45deg);
	z-index           : 1;
}
label input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	left       : -40px;
	width      : 20px;
	height     : 20px;
	display    : block;
	box-shadow : 41px 0px #FFF;
	z-index    : 2;
	margin     : 0px;
	padding    : 0px;
}
label input[type="checkbox"]:checked {
	box-shadow : none;
}
/*
label input[type="checkbox"]:checked:focus {
	box-shadow : 40px 0px #666;
	opacity    : 0.1;
}
label input[type="checkbox"]:focus {
	box-shadow : 41px 0px #EEE;
}*/
label.radio {
	cursor       : pointer;
	position     : relative;
	padding-left : 5px;
	margin-right : 20px;
	overflow     : hidden;
	padding-left : 20px;
	display      : inline-block;
}
label.radio:before {
	position      : absolute;
	width         : 15px;
	height        : 15px;
	border        : 1px solid #999;
	border-radius : 50%;
	left          : 0px;
	top           : 4px;
	content       : '';
	z-index       : 3;
}
label.radio:after {
	content          : '';
	position         : absolute;
	width            : 11px;
	height           : 11px;
	border-radius    : 100%;
	left             : 3px;
	top              : 7px;
	background-color : rgba(250,45,100,1);
	z-index          : 1;
}
label.radio input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position   : absolute;
	z-index    : 2;
	width      : 18px;
	height     : 18px;
	left       : -23px;
	top        : 3px;
	margin     : 0px;
	box-shadow : 22px 0px #FFF;
	border-radius : 50%;
}
label.radio input[type="radio"]:required {
	box-shadow : 22px 0px rgba(255,240,250,1);
}

label.radio input[type="radio"]:checked {
	box-shadow : none;
}
/*
label.radio input[type="radio"]:focus {
	opacity    : 0;
	box-shadow : 20px -1px #FFF;
}
*/







#maincol input.submitbtn,
#maincol input.button{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border: 0;
	display: inline-block;
	margin: 0.5em 0.5em;
	font-size: 1em;
	cursor: pointer;
	background-color:rgba(0,140,214,1);
	padding:15px 10%;
	border-radius:60px;
	text-align:center;
	min-width:240px;
	box-sizing:border-box;
	color: #FFF;
	transition: all .4s;
}
#maincol input#submitshusei{
	background-color: rgba(200,200,200,1.00);
}
#maincol input#submitshusei:hover,
#maincol input.submitbtn:hover,
#maincol input.button:hover{
	background-color:rgba(250,45,100,1);
}
#maincol input.button{
	padding: 0.5em 1em;
	font-size: 0.8em;
}
#maincol input.yubin{
	min-width:0px;
	padding: 0.25em .5em;
	font-size: 0.8em;
}








#step{
	list-style:none;
	margin:20px auto;
	padding:0;
	display:flex;
	position: relative;
	text-align: center;
	counter-reset: counter;
}
#step li{
	font-size: 12px;
	position: relative;
	width: 33.333%;
	line-height:1;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	align-items: center;
	margin:0 0 0 -10px;
	padding:24px 0 0;
}
#step  li:before {
	content: counter(counter);
	counter-increment: counter;
	background:rgba(181,181,181,1.00);
	border-radius: 50%;
	box-sizing: border-box;
	display:block;
	color: #ffffff;
	position: absolute;
	top:-24px;
	left: 30px;
	font-size: 18px;
	font-weight:bold;
	height:36px;
	margin-bottom: 5px;
	line-height: 36px;
	width:36px;
	z-index:2;
	position: relative;

}

#step li:after{
	background:rgba(181,181,181,1.00);
	content: "";
	width: calc(100% - 0px);
	height: 2px;
	position: absolute;
	right: calc(-50% + 0px);
	top: 18px;
	z-index:1;
	display:block;
}
#step li:last-child:after {
	display: none;
}

@media screen and (max-width: 767px) {
}


/* active */
#step li.current{
	color:rgba(250,45,100,1);
}
#step li.current:before,
#step li.current:after{
	background-color: rgba(250,45,100,1);
}

#step li.current {
}
#step li.current:not(:last-child)::after {
}
#step li.past {
	color:rgba(0,140,214,1);
}
#step li.past:before,
#step li.past:after{
	background-color: rgba(0,140,214,1);

}









/* スマホのみ*/
@media screen and (max-width: 767px) {
	.pc{
		display:none !important;
	}
	.sp{
		display:block;
	}
}
/* タブレットとスマホ */
@media screen and (max-width: 991px){}
/* タブレットとPC*/
@media screen and (min-width: 768px){
	.pc{
	}
	.sp{
		display:none !important;
	}
}
/* タブレットのみ */
@media screen and (min-width: 768px) and (max-width: 991px) {}
/* PCのみ */
@media  screen and (min-width: 992px) {}
/* デバイス縦 */
@media (orientation: portrait){}
/* デバイス横 */
@media (orientation: landscape){}

