html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-family: sans-serif;}  body { line-height:1; }  article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; }  nav ul { list-style:none; }  blockquote, q { quotes:none; }  blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }  a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }  / change colours to suit your needs / ins { background-color:#ff9; color:#000; text-decoration:none; }  / change colours to suit your needs / mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }  del { text-decoration: line-through; }  abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }  table { border-collapse:collapse; border-spacing:0; }  /* change border colour to suit your needs  */ hr { display:block; height:1px; border:0;  border-top:1px solid #cccccc; margin:1em 0; padding:0; }  input, select { vertical-align:middle; } 

*	{
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo UI" , "メイリオ" , Meiryo, "ＭＳ ゴシック", sans-serif;
	box-sizing: border-box;
}

.pconly	{
	display: inline-block;
}
.mobileonly	{
	display: none;
}

img	{
	max-width: 100%;
}
header	{
	height: 63px;
	position: fixed;
	background-color: white;
	width: 100%;
	z-index: 1000;
}

header .inner	{
	max-width: 1200px;
	display: block;
	margin: 0 auto;
	position: relative;
	padding: 11px 14px;
}

header .inner .h_navi	{
	position: absolute;
	text-align: right;
	right: 14px;
	top: 11px;
	height: 60px;
}

header .inner .h_navi img	{
	display: inline-block;
	margin: 0 7px 0 0;
	padding: 0;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

.key img	{
	width: 100%;
}
.work	{
	background-image: url('images/work_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.work .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.work .inner .work_content	{
	width: 47.43vw;
}
.work .inner .row	{
	display: table;
	width: 100%;
}

.work .inner .row:first-of-type	{
	margin-bottom: 2.0833vw;
}
.work .inner .row .col	{
	display: table-cell;
	vertical-align: bottom;
}

.work .inner .row .col.left	{
	text-align: left;
}

.work .inner .row .col.right	{
	text-align: right;
}

.work .inner .row .col .work_merit	{
	max-height: 8.75vw;
	
}

.place	{
	background-image: url('images/place_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.place .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.place .inner .place_title	{
	margin-bottom: 1.319vw;
}

.place .inner .row	{
	display: table;
	width: 100%;
	table-layout: fixed;
}

.place .inner .row:first-of-type	{
	margin-bottom: 2.0833vw;
}
.place .inner .row .col	{
	display: table-cell;
	vertical-align: bottom;
}

.place .inner .row .col.left	{
	text-align: left;
}

.place .inner .row .col.right	{
	text-align: right;
}
.place .inner .row .col.right.photos	{
	width: 50vw;
}
.place .inner .row .col.right.photos img	{
	width:  45%;
	display: inline-block;
	margin: 0.5555vw 0 0 0.5555vw;
}

.ryo	{
	background-image: url('images/ryo_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.ryo .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.ryo .inner .ryo_title	{
	margin-bottom: 1.319vw;
}

.ryo .inner .row	{
	display: table;
	width: 100%;
	table-layout: fixed;
}

.ryo .inner .row .col.right	{
	text-align: right;
}
.ryo .inner .row .col.right.ryomerit	{
	max-width: 41,111vw;
}
.ryo .inner .row .col.right.ryomerit img	{
	display: inline-block;
	margin-bottom: 38px;
}

.ryo .inner .row .col.right.ryomerit img:last-of-type	{
	margin-bottom: 0;
}
.merit	{
	background-image: url('images/merit_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.merit .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.merit .inner .merits	{
	max-width: 1220px;
	padding: 0 10px;
	margin: 0 auto;
	text-align: center;
}
.merit .inner .merits .single_merit	{
	display: inline-block;
	width: 49%;
	margin-right: 1%;
	margin-bottom: 1.2vw;
}

.merit .inner .merits .single_merit:nth-of-type(2n)	{
	margin-right: 0;
	vertical-align: top;
}

.merit .inner .merits .single_merit img	{
	width: 100%;
}
.merit .inner p	{
	display: block;
	height: 4.2vw;
	color: white;
	font-size: 1.2vw;
	padding: 0.8vw 1.4vw;
	line-height: 130%;
	text-align: left;
	
}

.merit .inner p strong	{
	color: #d70051;
	font-size: 150%;
}

.merit .inner .merit_foot	{
	max-width: 1170px;
	margin: 0 auto;
	background-color: white;
	text-align: center;
	padding: 1.5vw 0;
}

.merit .inner .merit_foot	{
	width: auto;
}

.voice	{
	background-color: white;
	padding: 60px 75px;
}

.voice .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.voice .inner .titlearea	{
	text-align: right;
}

.voice .inner .row	{
	display: table;
	width: 100%;
	margin-top: 2.7vw;
}

.voice .inner .row .col	{
	display: table-cell;
	vertical-align: top;
}

.voice .inner .row .col.left	{
	text-align: left;
}

.voice .inner .row .col.left img	{
	width: 45vw;
}

.voice .inner .row .col.right	{
	text-align: left;
}
.voice .inner .row .col h2	{
	color: #595757;
	font-size: 1.8vw;
	margin-bottom: 1.1vw;
}

.voice .inner .row .col p	{
	color: #036eb8;
	font-size: 1.3vw;
	font-weight: bold;
	line-height: 150%;
	margin-bottom: 4.5vw;
}
.voice .inner .row .col p:last-of-type	{
	margin-bottom: 0;
}
.voice .inner .row .col.right h2	{
	text-align: right;
	margin-left: 5vw;
}
.voice .inner .row .col.right p	{
	margin-left: 5vw;
}


.voice .inner .row .col.right img	{
	width: 50vw;
}

.voice .inner .row .col.left h2	{
	margin-right: 5vw;
}
.voice .inner .row .col.left p	{
	margin-right: 5vw;
}

.yoko	{
	background-color: #f7f8f8;
	padding: 60px 75px;
}

.yoko .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.yoko .inner .titlearea	{
	text-align: right;
}

.yoko .inner table	{
	max-width: 1100px;
	width: 100%;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 0 3.2vw;
}

.yoko .inner table th	{
	background-color: #036eb8;
	color: white;
	font-size: 1.8vw;
	font-weight: normal;
	width: 2.5vw;
	line-height: 3vw;
	padding: 1.5vw;
	vertical-align: middle;
}

.yoko .inner table td	{
	padding: 50px 60px;
	background-color: white;
	color: #595757;
}
.yoko .inner table td .float	{
	float: left;
	margin-right: 15px;
	line-height: 150%;
}

.yoko .inner table td.salary img	{
	margin-bottom: 1vw;
}
.yoko .inner table td span.floated	{
	display: block;
	padding-top: 2vw;
	font-size: 1.5vw;
	font-weight: bold;
}

.yoko .inner table td.salary p	{
	clear: both;
	font-size: 1.5vw;
	font-weight: bold;
}
.yoko .inner table td.salary p span	{
	font-size: 1.2vw;
	margin-left: 1vw;
}
.yoko .inner table td.time img	{
	margin-bottom: 1.5vw;
}
.yoko .inner table td.time span.floated	{
	padding-top: 1.7vw;
	font-size: 2.2vw;
}

.yoko .inner table td.time p	{
	clear: both;
	font-size: 1.5vw;
	font-weight: bold;
}

.yoko .inner table td.holiday strong	{
	font-size: 3vw;
}

.yoko .inner table td.holiday strong span	{
	font-size: 1.5vw;
	margin: 0 1vw;
}

.yoko .inner table td.holiday img	{
	margin-top: 1.2vw;
}

.yoko .inner table td.taigu img	{
	width: 48.5%;
	margin-right: 1%;
	margin-bottom: 1%;
}

.yoko .inner table td.ryo strong	{
	font-size: 3vw;
}

.yoko .inner table td.ryo strong span.free	{
	font-size: 4vw;
	color: #d70051;
	margin: 0 1vw;
}

.yoko .inner table td.ryo strong span.term	{
	color: white;
	background-color: #d70051;
	font-size: 2vw;
	padding: 0.7vw;
	position: relative;
	top: -0.5vw;
}

.yoko .inner table td.ryo span.sub	{
	display: block;
	margin: 0.5vw 0.5vw 0.5vw 30%;
	font-weight: bold;
}

.yoko .inner table td.ryo p	{
	color: #d70051;
	font-size: 2vw;
	font-weight: bold;
	line-height: 120%;
}

.campaign	{
	background-image: url('images/merit_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.campaign .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.flow	{
	background-color: white;
	padding: 60px 75px;
}

.flow .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.flow .inner ol li	{
	list-style-type: none;
	font-size: 27px;
	padding: 33px 0 33px 137px;
	background-repeat: no-repeat;
	background-position: left center;
	color: white;
	font-weight: bold;
	margin-bottom: 10px;
}

.flow .inner ol li:nth-of-type(1){
	 background-image: url('images/flow1.png');
}

.flow .inner ol li:nth-of-type(2){
	 background-image: url('images/flow2.png');
}

.flow .inner ol li:nth-of-type(3){
	 background-image: url('images/flow3.png');
}

.flow .inner ol li:nth-of-type(4){
	 background-image: url('images/flow4.png');
}

.flow .inner ol li:nth-of-type(5){
	 background-image: url('images/flow5.png');
}

.flow .inner ol li:nth-of-type(6){
	 background-image: url('images/flow6.png');
}

.flow .inner ol li:nth-of-type(7){
	 background-image: url('images/flow7.png');
	margin-bottom: 0;
}

.entry	{
	background-image: url('images/merit_back.jpg');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 60px 75px;
}

.entry .inner	{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.entry .inner .titlearea	{
	padding-top: 30px;
}
.entry .inner table	{
	width: 100%;
}

.wrapTable th	{
	width: 11.6%;
	text-align: right;
	color: white;
	font-size: 21px;
	vertical-align: top;
	padding-right: 15px;
}
.entry .inner table tr td	{
	width: 55%;
}
.entry .inner table tr td:first-of-type	{
	width: 45%;
}

.entry .inner table tr td table	{
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing:15px 45px;
}

.entry .inner table tr td table tr th,.confirm th	{
	width: 15%;
	text-align: right;
	color: white;
	font-size: 21px;
	vertical-align: top;
	padding-right: 0;
}

.entry .inner table tr td:first-child table tr th	{
	width: 13%;
}
.entry .inner table th label	{
	display: block;
	margin-bottom: 5px;
}
.entry .inner table tr td table th span,.entry .inner .checkconfirm span	{
	display: inline-block;
	background-color: #d70051;
	font-size: 14px;
	padding: 5px 15px;
	letter-spacing: 1px;
	color: white;
	font-weight: bold;
}

.entry .inner table tr td table td,.confirm td	{
	width: 35%;
	color: white;
	font-size: 21px;
}
.entry .inner table tr td table td.middle	{
	vertical-align: middle;
}
.entry .inner table tr td table table td label	{
	display: inline;
	font-weight: bold;
}
.entry .inner table table td input[type="text"],.entry .inner table table td input[type="email"]	{
	display: inline-block;
	height: 50px;
	vertical-align: top;
	width: calc(100% - 15px);
	font-size: 16pt;
}

.entry .inner table table td input[type="text"].half	{
	width: calc(50% - 15px);
}

.entry .inner table tr td table td input[type="text"].half:first-of-type	{
	margin-right: 10px;
}
.entry .inner textarea	{
	width: calc(100% - 30px);
	padding: 15px;
	font-weight: bold;
	height: 15vh;
}

.entry .inner input[type="radio"]{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	border: 0;
}
.entry .inner input[type="radio"]+label{
	margin-bottom: 15px;
	display: inline-block;
	padding-left: 35px;
	position:relative;
	margin-right: 70px;
}
.entry .inner input[type="radio"]+label::before{
	content: "";
	display: block;
	vertical-align: top;
	position: absolute;
	top: -2px;
	left: 0;
	margin: auto;
	width: 25px;
	height: 25px;
	border: 1px solid #999;
	background-color: white;
	border-radius: 50%;
}
.entry .inner input[type="radio"]:checked + label{
  color: white;
}

.eighth table td.radiotd input[type="radio"]+label{
	padding-left: 35px;
	position:relative;
	margin-right: 50px;
}

.entry .inner input[type="radio"] + label:last-of-type{
	margin-right: -30px;
}
.entry .inner input[type="radio"]:checked + label::after{
	content: "";
	display: block;
	position: absolute;
	top: 2px;
	left: 4px;
	width: 19px;
	height: 19px;
	background: #d70051;
	border-radius: 50%;
	margin: auto;
}

.confirm th	{
	text-align: left!important;
}

.confirm	{
	border-collapse: separate;
	border-spacing: 15px 45px;
}
.checkconfirm	{
	margin-top: 45px;
	text-align: center;
}

.checkconfirm label	{
	color: white;
	font-size: 21px;
}
.checkconfirm span	{
	margin-right: 10px;
}
.ouboarea	{
	background-color: #d70051;
	text-align: center;
	padding: 1.5vw;
}
.ouboarea input[type="image"]	{
	max-width: 100%;
}
p.thankspage	{
	font-size: 21px;
	color: white;
	padding: 2vw 0;
}
p.thankspage a	{
	color: white;
}
footer	{
	width: 100%;
	padding: 1.5vw;
	text-align: center;
	color: #595454;
}
@media screen and (max-width:1200px)	{
	.entry .inner table tr td table tr th	{
		font-size: 18px;
	}
	.wrapTable th	{
		width: 11.6%;
		font-size: 18px;
	}
	img.merit_title	{
		width: 90%;
	}
}
@media screen and (max-width:1024px)	{
	.entry .inner table tr td table tr th	{
		font-size: 16px;
	}
	.entry .inner table tr td table tr th	{
		width: 16%;
	}
	.entry .inner table tr td:first-child table tr th	{
		width: 14%;
	}
	.wrapTable th	{
		width: 12.7%;
		font-size: 18px;
	}
	section	{
		padding: 40px!important;
	}
}
@media screen and (max-width:992px)	{
	.entry .inner table tr td table tr th	{
		width: 18%;
		font-size: 1.6vw;
	}

	.entry .inner table tr td table tr th span	{
		font-size: 1.2vw;
		padding: 0.5vw 1.6vw;
	}
	.entry .inner table tr td:first-child table tr th	{
		width: 16%;
	}
	.wrapTable th	{
		width: 14%;
		font-size: 1.6vw;
	}

	.flow .inner ol li	{
		font-size: 20px;
	}
	.entry .inner input[type="radio"]+label	{
		margin-right: 10px;
	}
	.yoko .inner table td.taigu img	{
		width: 47.5%;
	}
	img.logo	{
		width: 40%;
	}
	header .inner .h_navi	{
		top: 2vw;
		width: 60%;
	}
	header .inner .h_navi img	{
		width: 40%;
	}
}

@media screen and (max-width:768px)	{
	.pconly	{
		display: none;
	}
	
	.mobileonly	{
		display: inline-block;
	}
	header .inner .h_navi	{
		top: 2vw;
		width: 60%;
	}
	footer	{
		font-size: 12px;
	}
	.ryo .inner .row .col.right.ryomerit img	{
		margin-bottom: 15px;
	}

	.flow .inner .flow_title	{
		margin-bottom: 5.319vw;
	}
}

@media screen and (max-width:540px)	{
	header .inner .logo	{
		width: 15%;
		margin-top: 1.5vw;
	}
	header .inner .h_navi	{
		top: 4.6vw;
		width: 92.5%;
		right: 2vw;
	}
	.place .inner .place_title	{
		height: 20vw;
		margin-bottom: 10px;
	}
	header .inner .h_navi img	{
		width: 41%;
	}
	header .inner .h_navi img:first-of-type	{
		margin-right: 0;
	}
	.work .inner .work_content	{
		width: 100%;
	}

	.work .inner .row	{
		display: block;
		width: 100%;
	}
	
	.work .inner .row:first-of-type	{
		margin-bottom: 2.0833vw;
	}
	.work .inner .row .col	{
		display: block;
		vertical-align: top;
	}
	
	.work .inner .row .col.left	{
		text-align: left;
	}
	
	.work .inner .row .col.right	{
		text-align: left;
	}
	
	.work .inner .row .col .work_merit	{
		max-height: 20vw;
		margin-bottom: 15px;
	}
	.place .inner .row .col.right.photos	{
		width: 100%;
	}
	.place .inner .row .col.right.photos img	{
		width:  48.5%;
		display: inline-block;
		margin: 15px 0 0;
	}
	.merit .inner .merits .single_merit	{
		display: inline-block;
		width: 100%;
		margin-right: 1%;
		margin-bottom: 1.2vw;
	}
	img.merit_title	{
		width: 100%;
		margin-bottom: 10px;
	}
	.merit .inner .merits .single_merit	p	{
		font-size: 12pt;
		height: auto;
		padding: 20px;
	}
	.voice .inner .titlearea img	{
		margin-bottom: 10px;
	}
	.voice .inner .row	{
		display: block;
		width: 100%;
		margin-top: 2.7vw;
	}
	
	.voice .inner .row .col	{
		display: block;
		vertical-align: top;
	}
	
	.voice .inner .row .col.left	{
		text-align: left;
	}
	
	.voice .inner .row .col img	{
		width: 100%!important;
	}
	
	.voice .inner .row .col.right	{
		text-align: left;
	}
	.voice .inner .row .col h2	{
		font-size: 16px;
		text-align: left!important;
		margin: 15px 0!important;
		padding: 0;
	}

	.voice .inner .row .col p	{
		font-size: 14px;
		text-align: left!important;
		margin: 15px 0!important;
		padding: 0;
	}

	.yoko .inner .titlearea img	{
		margin-bottom: 10px;
		height: 22vw;
	}
	.yoko .inner table,.yoko .inner table th,.yoko .inner table td	{
		display: block;
		width: 100%!important;
	}
	.yoko .inner table th	{
		font-size: 18px!important;
		padding: 20px 0;
	}


	.yoko .inner table td	{
		padding: 20px 10px;
	}
	.flow .inner ol li	{
		background-size: cover;
		font-size: 10px;
		padding: 10px 0 10px 40px;
	}
	.yoko .inner table td .float,.yoko .inner table td .floated	{
		float: none!important;
		display: block;
		margin-bottom: 10px;
	}
	.yoko .inner table td.salary img,.yoko .inner table td.time img	{
		height: 10vw;
	}
	
	.yoko .inner table td.salary p,	.yoko .inner table td.salary span	{
		font-size: 12px;
	}

	.yoko .inner table td.salary p span	{
		font-size: 10px;
		display: block;
		margin: 10px 0;
	}
	.yoko .inner table td.time .floated,.yoko .inner table td.time p	{
		font-size: 12px!important;
	}
	.yoko .inner table td.holiday strong	{
		display: block;
		font-size: 25px;
	}
	.yoko .inner table td.holiday strong span	{
		display: block;
		font-size: 12px;
		margin: 10px 0;
	}
	.yoko .inner table td.taigu .taiguimg	{
		width: 100%;
		display: block;
		margin: 0 0 10px;
	}
	.yoko .inner table td.ryo strong	{
		display: block;
		font-size: 25px;
	}
	.yoko .inner table td.ryo strong span.free	{
		display: inline-block;
		font-size:  30px;
		margin: 10px;
	}

	.yoko .inner table td.ryo strong span.term	{
		display: block;
		padding: 10px;
		font-size: 11px;
	}
	
	.yoko .inner table td.ryo span.sub	{
		margin: 10px 0;
		font-size: 10px;
	}

	.yoko .inner table td.ryo p	{
		font-size: 10px;
	}

	.entry .inner .titlearea img	{
		height: 10vw;
	}

	.entry .inner table,.entry .inner table tbody	{
		display: block;
		width: 100%!important;
	}

	.wrapTable	{
		margin-top: 20px;
	}
	.wrapTable th	{
		font-size: 18px;
	}
	.wrapTable th br	{
		display: none;
	}

	.entry .inner table tr td table tr th	{
		font-size: 18px;
	}
	.entry .inner table tr td table tr th label,.entry .inner table tr td table tr th span	{
		display: inline-block;
	}
	.entry .inner table tr td table tr th span	{
		font-size: 12px!important;
		margin-left: 10px;
	}
	.entry .inner table tr,.entry .inner table th,.entry .inner table td	{
		display: block;
		width: 100%!important;
		text-align: left!important;
		margin-bottom: 10px;
	}
	.entry .inner table td input[type="text"],.entry .inner table td input[type="email"]	{
		width: 100%!important;
	}
	.entry .inner table td input[type="text"].half	{
		width: 47%!important;
	}
	.entry .inner table td textarea	{
		width: 100%;
	}
	.entry .inner .checkconfirm span	{
		margin-left: -30px;
	}
	section	{
		padding: 25px 15px!important;
	}

	.ouboarea	{
		padding: 15px 30px;
	}
}

@media screen and (max-width:400px)	{
	header .inner .logo	{
		width: 15%;
		margin-top: 1.5vw;
	}
	header .inner .h_navi	{
		top: 5vw;
		width: 92.5%;
		right: 2vw;
	}
	.entry .inner table tr,.entry .inner table th,.entry .inner table td	{
		display: block;
		width: 100%!important;
		text-align: left!important;
		margin-bottom: 20px;
	}
	footer	{
		font-size: 10px;
	}
}

@media screen and (max-width:370px)	{
	header .inner .logo	{
		width: 15%;
		margin-top: 2vw;
	}
	header .inner .h_navi	{
		top: 6vw;
		width: 92.5%;
		right: 2vw;
	}
	.entry .inner table td input[type="text"].half	{
	}
	.entry .inner table tr,.entry .inner table th,.entry .inner table td	{
		display: block;
		width: 100%!important;
		text-align: left!important;
		margin-bottom: 20px;
	}
}