body{
	width:100%;
	overflow-x:hidden;
	margin:0;
	padding:30px 0 0 0;
	background-color:#000046;
}

body *{
	color:#FFF;
	font-variant-ligatures: none;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.nobr{
	display:inline-block;
}

h3,
#policy .main > dl dd,
.main .inner dt,
{
	/*font-family: "Gothic MB101 Medium";*/
}

#main_wrapper{
	width:100%;
	overflow-x:hidden;
}

a{
	text-decoration:none;
}

br.sp_only{
	display:none;	
}
@media screen and (max-width: 767px) {
	br.sp_only{
		display:block;	
	}
}

h1,
#policy dt,
#service dt
{
	/*font-family: "NeueFrutigerWorld-Light" !important;*/
}

#navi ul li a,
h2
{
	/*font-family: "NeueFrutigerWorld-Bold" !important;*/
}


/* INTRO */
#intro{
	margin-top:0;
}
#intro .bg{
	top:0;
	right:-130px;;
	width:800px;
	height:476px;
	background-image:url("../image/intro_bg.png");
	background-repeat:no-repeat;
	background-size:800px auto;
}
#intro_astaria_icon{
	margin-top:30px;
	width:220px;	
}
#intro h1{
	margin-top:20px;
	font-size:20px;
	color:#00C8C8;
	letter-spacing:0.5em;
}
@media screen and (max-width: 767px) {
	#intro{
		margin-top:20px;
	}
}



/* MISSION */
#mission{
	margin-top:50px;
}
#mission .bg{
	z-index:10;
	top:200px;
	left:-630px;
	width:1265px;
	height:1150px;
	background-image:url("../image/mission_bg.png");
	background-repeat:no-repeat;
	background-size:auto 1150px;
}

@media screen and (max-width: 767px) {
	#mission .bg{
		left:-730px;
	}
}

/* POLICY */
#policy{
	margin-top:250px;
}
#policy .bg{
	z-index:1;
	top:-80px;
	right:-45%;
	width:100%;
	height:820px;
	background-image:url("../image/policy_bg.png");
	background-repeat:no-repeat;
	background-size:auto 820px;
}
@media screen and (max-width: 767px) {
	#policy .bg{
			right:-30%;
	}
}


/* SERVICE */
#service{
	margin-top:250px;
}
#service .bg{
	top:340px;
	right:-360px;
	width:1000px;
	height:535px;
	background-image:url("../image/service_bg.png");
	background-repeat:no-repeat;
	background-size:1000px auto;
}
@media screen and (max-width: 767px) {
	#service{
		margin-top:100px;
	}
}



/* ETHICS */
#ethics{
	margin-top:400px;
}
#ethics .inner{
	margin-top:50px;
}
@media screen and (max-width: 767px) {
	#ethics{
		margin-top:100px;
	}
}


/* ABOUT US */
#aboutus{
	margin-top:250px;
}
#aboutus .bg{
	top:-70px;
	right:-230px;
	width:600px;
	height:433px;
	background-image:url("../image/aboutus_bg.png");
	background-repeat:no-repeat;
	background-size:600px auto;
}
@media screen and (max-width: 767px) {
	#aboutus{
		margin-top:100px;
	}
}

#aboutus .dl_table{
	margin-top:10px;
}

#aboutus #email dt{
	font-size:12px;
	color:#FFF;
}

#aboutus #email dd{
	color:#00C8C8;
	text-decoration:none;
	font-size:20px;
	letter-spacing:0.2em;
	margin:0;
}

#aboutus #email dd a{
	color:#00C8C8;
}

#aboutus #info #company_name img{
	width:180px;
	margin:40px 0 5px 0;
}

#aboutus #info{
	font-size:12px;
	line-height:1.8em;
}

#aboutus #info #access{
	margin-top:1em;
}

#aboutus #info #map img{
	width:500px;
	margin:30px 0 0 0;
}
@media screen and (max-width: 767px) {

	#aboutus .dl_table dt div span{
		/*font-family: "Gothic MB101 Medium";*/
	}

	#aboutus #email dd{
		font-size:18px;
	}


	#aboutus #info #company_name img{
		width:90%;
		max-width:180px;
		margin:40px 0 5px 0;
	}

	#aboutus #info #map{
		padding:0 10px;
	}
	#aboutus #info #map img{
		width:100%;
		max-width:500px;
		margin:30px auto 0 auto;
	}

}


/* ORIGIN */
#origin{
	padding-top:70px;
	background-image:url("../image/origin_bg.png");
	background-repeat:no-repeat;
	background-size:700px auto;
	background-position:center -110px;
}

#origin h2 img{
	width:100px;
	margin:0 0 20px 0;
}

#origin h3{
	font-size:14px;
	letter-spacing:0.3em;
}

#origin .inner{
	width:400px;
	padding:0;
	margin:20px auto 0;
}
#origin .inner p{
	font-size:11px;
	text-align:justify;
	line-height:2.5em;
}
@media screen and (max-width: 767px) {
	#origin .inner{
		max-width:400px;
		width:100%;
		padding:0 10px;
		margin:20px auto 0;
	}
}


/* HEADER */

header{
	z-index:99999;
	position:fixed;
	display:block;
	top:0px;
	left:0px;
	width:100%;
	background-color:#00C8C8;
}

header div#navi{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:center;
	height:100%;
}

header #navi_logo{
	height:25px;
	margin:10px 0;
}

header div#navi ul li{
	display:inline-block;
	margin:0 0 0 30px;
	font-size:0;
	padding-bottom:3px;
}

header div#navi ul li a{
	font-size:12px;
}

@media screen and (max-width: 850px) {
	header{
		height:auto;
		padding:5px auto;
	}

	header #navi_logo{
		height:19px;
		margin:0;
	}

	header div#navi{
		display:block;
		text-align:center
	}

	header div#navi img{
		margin:10px 0 5px 0;
	}
	header div#navi ul li{
		margin:0 8px;
	}
}


/* FOOTER */
footer{
	margin-top:100px;
	width:100%;
	height:34px;
	background-color:#00C8C8;
	display:flex;
	justify-content:center;
	align-items:center;
}

footer #copyright{
	font-size:10px;
	color:#000046;
}


/* COMMON */
.box{
	width:95%;
	max-width:900px;
	margin:0 auto;
	position:relative;
}

.box .main{
	width:100%;
	position:relative;
}

.content{
	text-align:center;
	padding-top:50px;
}

.content .bg{
	position:absolute;
}

.content .main{
	z-index:100;
	position:relative;
}

.content .inner{
	padding:0 12%;
	font-size:14px;
	line-height:2.2em;
	text-align:left;

}
.content .inner .indent{
	text-indent:1em;
}

@media screen and (max-width: 767px) {
	.content .inner{
		padding:0 10px;
		line-height:2.0em;
	}
}

.mt10{
	margin-top:10px;
}
.mt20{
	margin-top:20px;
}
.mt30{
	margin-top:30px;
}

.ta-r{
	text-align:right;
}

.ref{
	font-size:80%;
}

h2{
	font-size:65px;
	color:rgba(0,200,198,0.25);
	padding-bottom:8px;
}

h3{
	font-size:28px;
	line-height:1.6em;
}

@media screen and (max-width: 767px) {
	h2{
		font-size:calc(20px + ((1vw)*5.9));
	}
	h3{
		font-size:calc(10px + ((1vw)*1.7));
	}
}

hr{
	height:1px;
	background-color:#00C8C8;
	border:none;
	margin:15px 0;
}

.main dt{
	margin-top:25px;
	color:#00C8C8;
	font-size:50px;
	line-height:1.2em;
}

.main .inner dt{
	margin:1.2em 0 0 0;
	color:#FFF;
	font-size:14px;
	text-decoration:underline;
	line-height:2.0em;
}

.main dd{
	margin-top:17px;
	font-size:15px;
	line-height:2.2em;
}

.main .inner dd{
	margin:0;
	font-size:12px;
	line-height:2.0em;
}

.main .dl_set{
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:space-between;
	align-items:flex-start;
}

.main .dl_set dl{
	width:32%;
}

.main .dl_set dt{
	font-size:30px;
}

.main .dl_set dd{
	font-size:13px;
}

.main .dl_set dd p{
	text-align:left;
}

.main .dl_table{
	display:inline-table;
}
.main .dl_table dl{
	display:table-row;
}
.main .dl_table dt{
	display:table-cell;
	font-size:14px;
	width:8em;
	color:#FFF;
}
.main .dl_table dt div{
	display: flex;
	justify-content: space-between;
	margin-right:1.5em;
}
.main .dl_table dd{
	display:table-cell;
	font-size:14px;
	color:#FFF;
	text-align:left;
}

@media screen and (max-width: 767px) {

	.main .dl_set{
		flex-direction:column;
		align-items:flex-start;
	}

	.main .dl_set dl{
		margin:0 10px;
		width:100%;
	}
	.main dt{
		font-size:30px;
	}

	.main .dl_set dt{
		font-size:26px;
	}

	.main .dl_set dd{
		font-size:15px;
	}

	.main .dl_table{
		display:block;
		margin:0 10px;
	}

	.main .dl_table dl{
		display:block;
		font-weight:bold;
		text-align:left;
	}
	.main .dl_table dt{
		display:block;
		font-size:15px;
		width:auto;
		color:#FFF;
		margin-top:14px;
}
	.main .dl_table dt div{
		display: block;
		margin-right:0;

	}
	.main .dl_table dd{
		display:block;
		padding-left:1em;
		margin-top:3px;
		font-size:14px;
		text-align:left;
		font-weight:normal;
		line-height:1.2em;
	}
}

#star1{
	position:absolute;
	top:20px;
	right:20%;
	width:20px;
	height:6px;
	background-image:url("../image/star1.png");
	background-repeat:no-repeat;
	background-size:auto 6px;
	background-position:right center;
}
#star2{
	position:absolute;
	top:200px;
	left:20%;
	width:20px;
	height:6px;
	background-image:url("../image/star2.png");
	background-repeat:no-repeat;
	background-size:auto 6px;
	background-position:left center;
}

@media screen and (max-width: 767px) {
	#star1{
		right:10%;
	}
	#star2{
		left:10%;
	}
}


#recruitment{
	margin-top:200px;
}
#recruitment h2{
	padding-bottom:0;
}
#recruitment h3{
	padding-bottom:10px;
	font-size:16px;
}

#recruitment .inner{
	padding:0;
}

#recruitment .job_line{
	display:flex;
	justify-content:space-between;
}


#recruitment .job_line .job_block:nth-child(1){
	margin-right:8px;
}
#recruitment .job_line .job_block:nth-child(2){
	margin-left:8px;
}

#recruitment .job_block{
	flex-grow:1;
	flex-basis: 50%;
}

#recruitment .job_block .job_button{
	display:flex;
	justify-content :space-between;
	margin:5px auto;;
}

#recruitment .job_block .job_button .job_left,
#recruitment .job_block .job_button .job_right{
	width:23px;
	height:56px;
	white-space:nowrap;
	background-size:100% 100%;
}

#recruitment .job_block .job_button .job_left{
	background-image:url(../image/job_left.png);
}
#recruitment .job_block .job_button .job_right{
	background-image:url(../image/job_right.png);
}

#recruitment .job_block .job_button .job_main{
	display:flex;
	align-items:center;
	width:100%;
	vertical-align:middle;
	text-align:left;
	font-size:13px;
	line-height:100%;
	height:56px;
	background-image:url(../image/job_main.png);
	background-size:100% 100%;
}

#recruitment .job_block .job_button .job_main p{
	display:flex;
}
#recruitment .job_block .job_button .job_main  span{
	/*font-family: "Gothic MB101 Medium";*/
}
#recruitment .job_block .job_button .job_main  span:nth-child(1){
	margin-right:5px;
}


@media screen and (max-width: 850px) {
	#recruitment .job_line{
		flex-direction:column;
	}
	#recruitment .job_line .job_block{
		width:100%;
		max-width:450px;
		margin-left:auto;
		margin-right:auto;
	}
	#recruitment .job_line .job_block:nth-child(1){
		margin-left:auto;
		margin-right:auto;
	}
	#recruitment .job_line .job_block:nth-child(2){
		margin-left:auto;
		margin-right:auto;
	}

}


#recruitment .inner > *{
	text-align:center;
	font-size:13px;
}

.recruitment_button{
	color:#444;
	/*font-family: "Gothic MB101 Medium" !important;*/
	background-image:url('../image/btn2.png');
	background-repeat:no-repeat;
	width:260px;
	height:50px;
	margin:10px;
	background-size:260px auto;
	border:none;
	background-color:#000046;
	font-size:15px;
	font-weight:bold;
}

.button_container{
	display:flex;
	justify-content:center;
	width:100%;
}
@media screen and (max-width: 767px) {
	.button_container{
		flex-direction:column;
	}
	.recruitment_button{
		margin:10px auto;
	}
}

#entry_form span.confirm{
	display:none;
	text-align:left;
}
#entry_form p.m_error{
	color:red;
	/*font-family: "Gothic MB101 Medium" !important;*/
}
#entry_form p.m_error:1st-child{
	margin-top:1em;
}
#entry_form span.confirm.align-center{
	text-align:center;
}
#entry_form span.confirm p{
	white-space: pre-wrap;
	font-size:14px;
}

#entry_form #main_wrapper{
	max-width:820px;
	width:100%;
	margin:50px auto;
	padding:0 20px;
}

#entry_form select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}

#entry_form ol{
	padding:0;
}

#entry_form ol li{
	list-style-type:none;
	padding:0;
}

#entry_form h4{
	color:#00b5b0;
	font-size:13px;
	margin:25px 0 0 0;
	text-align:left;
}

#entry_form h4 > span{
	display:inline-flex;
	justify-content:space-between;
	width:5em;
}
#entry_form h4 span span{
	color:#00b5b0;
	font-size:13px;
	font-weight:normal;
	white-space:nowrap;
}

#entry_form h4.latest.required:after{
	content:'（直近、必須）';
	color:#00b5b0;
	font-size:13px;
	font-weight:normal;
	display:inline-block;
	margin-left:1em;
}
#entry_form h4.required:after{
	content:'（必須）';
	color:#00b5b0;
	font-size:13px;
	font-weight:normal;
	display:inline-block;
	margin-left:1em;
}

#entry_form div.line{
	display:flex;
	align-items:flex-start;
	margin:3px 0;
}

@media screen and (max-width: 767px) {
	#entry_form div.line{
		flex-direction:column;
	}
}

#entry_form div.input{
	border:1px solid #FFF;
	display:inline-flex;
	margin:10px 15px 0 0;
	align-items:center;
	min-height:2.2em;;
	padding:0 0.5em;
}

#entry_form div.arrow{
	/*font-family: "Gothic MB101 Light" !important;*/
	color:#FFF;
	font-size:13px;
	padding:0 1em 0 0;
	min-height:2.2em;
	line-height:2.2em;
}

#entry_form div.to_wrap{
	display:inline-flex;
	align-items:flex-end;
}

#entry_form input[type=checkbox] + div{
	position:relative;
	margin-right: 20px;
	display:flex;
	align-items:center;
	padding:5px 0;
	font-size:13px;
}

#entry_form input[type=checkbox] + div::before{
	content: "";
	display: block;
	width: 1.0em;
	height: 1.0em;
	border: 1px solid #FFF;
	margin-right:5px;
}

#entry_form input[type=checkbox].error + div::before{
	border-color:red;
}

#entry_form input[type=checkbox]:checked + div::after{
	content: "";
	display: block;
	position: absolute;
	top: 0em;
	left: 0.25em;
	width: 0.5em;
	height: 1.0em;
	transform: rotate(40deg);
	border-bottom: 3px solid #00c8c8;
	border-right: 3px solid #00c8c8;
}

#entry_form input[type=checkbox] + div > div{
	line-height:1.0em;
}


#entry_form input[type=checkbox]{
	display: none;
}

#entry_form div.line div.input:last-child{
	margin-right:0;
}

#entry_form div.input.l-size{
	width:50%;
	max-width:50%;
}

#entry_form div.line div.input.l-size{
	width:46%;
	flex-basis:50%;
	flex-grow:1;
	flex-shrink:1;
}
@media screen and (max-width: 767px) {
	#entry_form div.line div.input.l-size{
		width:100%;
		max-width:100%;
	}
}

#entry_form div.input.max-size{
	width:100%;
}
#entry_form div.input label{
	display:flex;
	align-items:center;
	margin:0;
	padding:0;
}

#entry_form div.input label span{
	display:inline-block;
	/*font-family: "Gothic MB101 Light" !important;*/
	white-space:nowrap;
	color:#FFF;
	font-size:13px;
	line-height:1.2em;
	border-right:1px solid #FFF;
	padding:0 1.0em 0 0;
	margin:0;
	box-sizing:border-box;
}
#entry_form div.input label span.nbsp{
	display:block;
	white-space:normal;
	width:5px;
	padding:0;
	overflow:hidden;
}
input::-webkit-input-placeholder {
    padding-top: 0.2em;
}
#entry_form div.input input{
	display:inline-block;
	background-color:#000046;
	/*font-family: "Gothic MB101 Light" !important;*/
	color:#FFF;
	font-size:13px;
	line-height:1.2em;
	border:none;
	box-sizing:border-box;
	max-width:100%;
	width:100%;
	padding:0 0 0 1em;
	overflow:hidden;
	border-radius:0;
	margin:0;
	vertical-align:middle; 
}
#entry_form div.input.error{
	border-color:red;
}
#entry_form div.input div.select-wrapper{
	display:inline-block;
	position:relative;
	font-size:13px;
	line-height:1.2em;
	padding:0 0 0 1em;
	margin:0;
}

#entry_form div.input select
{
	background-color:#000046;
	/*font-family: "Gothic MB101 Light" !important;*/
	color:#FFF;
	width:6em;
	font-size:13px;
	line-height:1.2em;
	margin:0;
}

#entry_form div.input div.select-wrapper::before{
	position:absolute;
	content:"▼";
	color:#FFF;
	font-size:9px;
	line-height:15px;
	right:5px;
	pointer-events: none;
}

#entry_form div.input div.unit{
	color:#FFF;
	font-size:13px;
	text-align:right;
	line-heighrt:1.2em;
}

#entry_form div.button{
	margin-top:25px;
	text-align:center;
}

#entry_form textarea{
	background-color:#000046;
	/*font-family: "Gothic MB101 Light" !important;*/
	border:none;
	padding:1px 0 0 1em;
	color:#FFF;
	font-size:13px;
	line-height:1.4em;
	overflow:auto;
}

#entry_form div.input.textarea{
	align-items:flex-start;
	font-size:13px;
	padding-top:0.5em;
	padding-bottom:0.5em;
}

#entry_form div.input.textarea label span{
	padding-top:1px;
	line-height:1.4em;
}

#entry_form div.input.max-size textarea{
	width:100%;
}

#entry_form div.input textarea[maxlength="400"]{
	height:9.8em;
}

#entry_form div.input textarea[maxlength="800"]{
	height:18.2em;
}


#entry_form  p{
	font-size:13px;
}

@media screen and (max-width: 767px) {
	#entry_form div.line{
		flex-direction:column;
	}
	#entry_form  p{
		text-align:left;
	}
}


#thankyou div.msg{
	margin:0;
	font-size:13px;
}

#thankyou div.button{
	margin-top:100px;
}
