/*================
	reset
================*/

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,a{
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
font-family: 'noto';
box-sizing: border-box;
}

body {
line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}

nav ul,li {
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;
}

p{
	font: 300 13px/1em 'noto';
	line-height: 1.7;
}

a:link,a:visited{
	color: initial;
	text-decoration: none;
}

/ 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;
}

input, select {
vertical-align:middle;
}

/*================
	font
================*/

@font-face {
	font-family: 'noto';
	src: url('../font/NotoSansCJKjp-Thin.otf'); 
	font-weight: 100;
}
@font-face {
	font-family: 'noto';
	src: url('../font/NotoSansCJKjp-Medium.otf'); 
	font-weight: normal;
}

@font-face {
	font-family: 'noto';
	src: url('../font/NotoSansCJKjp-Regular.otf'); 
	font-weight: 300;
}

@font-face {
	font-family: 'noto';
	src: url('../font/NotoSansCJKjp-Bold.otf'); 
	font-weight: bold;
}


@font-face {
	font-family: 'genshin';
	src: url('../font/GenShinGothic-Medium.ttf'); 
	font-weight: normal;
}

@font-face {
	font-family: 'genshin';
	src: url('../font/GenShinGothic-Bold.ttf'); 
	font-weight: bold;
}


h1,.h1{
	font-size: 20px;
}

h2,.h2{
	font-size: 20px;
}

/*================
	background
================*/

.bg-gray{
	background: #f8f8f8;
}
.bg-black{
	background: #313131;
}

.bg-wall{
	background: #f6f6f6 url('../img/wall.png')repeat;
	background-blend-mode: multiply;
}

.red{
	background: #a31e1e;
	color: white;
}

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

.fl{
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}

.fl.ce{
	-webkit-align-items: center; align-items: center;
	-webkit-justify-content: space-evenly; justify-content: space-evenly;
}


.btn{
	padding: 15px 40px;
	background: #f5f5f5;
	border: solid 2px #666;
	color: #666 !important;
	position: relative;
	display: table;
	border-radius: 3px;
	margin: auto;
	font: normal 14px/1em 'noto';
	cursor: pointer;
/* 	padding-right: 50px; */
	-webkit-appearance: none;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
}

.btn:before,.btn.red:before{
	content: "\f105";
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
	right: 15px;
	color: #666;
	font-family: 'FontAwesome';
	opacity: .5;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
}
.btn.red:before {
	color: white !important;
}

.btn:hover{
	border-color:  #a31e1e;
	color:  #a31e1e !important;
	background: white;
}
.btn:hover:before{
	opacity: 1;
	color:  #a31e1e;
}

.btn.red{
	background: #a31e1e;
	color: white !important;
	border: solid 2px #a31e1e;
	font-weight: normal;
}

.border{
	background: #aaa;
	width: 100%;
	display: table;
	height: 1px;
}
.border.red{
	background: #a31e1e;
}

section > h1,.container > h1{
	text-align: center;
	font: normal 24px/1em 'noto';
}
section > h1 small,.container > h1 small{
	display: block;
	font: normal 13px/1em 'noto';
	color: rgba(0,0,0,.5);
	margin-top: 12px;
}

.wp-pagenavi {
	text-align: center;
	display: table;
	margin: auto !important;
}

.wp-pagenavi span , .wp-pagenavi a {
	display: inline-block;
	height: 30px;
	width: 30px;
	line-height: 29px;
	color: white;
	text-align: center;
	border-radius: 3px;
	border: none;
	background: #dcdcdc;
	margin: 0 10px;
	padding: 0 !important;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
}

.wp-pagenavi .pages {
	width: 100px;
}

.wp-pagenavi span.current , .wp-pagenavi a:hover {
	background: #a31e1e;
}


/*================
	container
================*/
.container{
	max-width: 980px;
	width: 100%;
	margin: auto;
	display: block;
}

@media screen and (max-width: 980px){
	.container{
		width: 95%;
	}
}

/*================
	header
================*/
header{
	display: table;
	width: 100%;
	position: relative;
	padding-right: 170px;
}
header.sub{
	border-bottom: solid thin #eee;
	-webkit-box-shadow: 0px 4px 5px rgba(0,0,0,.02);
		  box-shadow: 0px 4px 5px rgba(0,0,0,.02);
}
header h1{
	float: left;
	margin-left: 20px;
}
header h1 img{
	height: 50px;
    margin-top: 10px;
}

header ul{
	float: right;
	display: -webkit-flex; display: flex;
	-webkit-flex-wrap: wrap; flex-wrap: wrap;
	width: 70%;
	max-width: 550px;
}
header ul li{
	width: calc(100% / 5);
	width: -webkit-calc(100% / 5);
}

header ul li a,.announce span{
	padding: 18px 10px;
	display: block;
	text-align: center;
	font: normal 14px/1em 'noto';
	letter-spacing: 1px;
	position: relative;
}
header ul li a:before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 4px;
	background: #a31e1e;
	bottom: 0;
	transition: all .4s ease;
	-webkit-transition: all .4s ease;
	left: 50%;
    transform: translate(-50%,0);
}
header ul li a:hover:before{
	width: 62%;
}
header ul li a small,.announce span small{
	display: block;
    width: 100%;
    text-align: center;
    font: 300 10px/1em 'noto';
    color: rgba(0,0,0,.5);
    margin-top: 10px;
}

header > a{
	background: #a31e1e;
	color: white !important;
	width: 170px;
	display: table;
    margin-left: auto;
    position: absolute;
    right: 0;
    height: 70px;
    line-height: 70px;
    text-align: center;
    padding-left: 35px;
    cursor: pointer;
}
header > a:before,ul.open li:last-of-type a:before{
	content: '';
	position: absolute;
	top: 51%;
	transform: translate(0,-50%);
	right: 100px;
	width: 60px;
	height: 30px;
	background: url('../img/mail.png')no-repeat center;
	background-size: 25px;
    filter: brightness(20);
    -moz-filter: brightness(20);
    
}
.menu{
	display: none;
	cursor: pointer;
}

header ul li:last-of-type{
	display: none;
}

@media screen and (max-width: 880px){
	header{
		padding-right: 0;
		-webkit-box-shadow: 0px 5px 8px rgba(0,0,0,.08);
		box-shadow: 0px 5px 8px rgba(0,0,0,.08);
	}
	header ul{
		display: block;
		position: fixed;
		right: -270px;
		width: 270px;
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
		height: 100%;
		background: rgba(0, 0, 0, 0.8);
		top: 62px;
		z-index: 999;
	}
	header ul li:last-of-type{
		display: block;
	}
	header.fixed{
		position: fixed;
		background: white;
		z-index: 9999;
	}
	.menu {
		width: 50px;
		height: 40px;
		margin-left: auto;
		margin-right: 10px;
		text-align: center;
		font: bold 11px/1em 'noto';
		display: block;
		padding: 4px 0 0px;
		line-height: 34px;
	}
	.menu p,.menu p:before,.menu p:after{
		content: '';
		height: 4px;
		width: 30px;
		background: #a31e1e;
		margin-left: auto;
		display: block;
		position: relative;
		margin: auto;
		margin-top: 20px;
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
	}
	.menu p:before,.menu p:after{
		width: 100%;
		position: absolute;
		top: 10px;
		left: 50%;
		transform: translate(-50%,0);
	}
	.menu p:after{
		top: -30px;
	}
	.menu p:before{
		top: -10px;
	}
	.menu.open p{
		background: white;
	}
	.menu.open p:before,.menu.open p:after{
		transform: rotate(225deg);
		top: -20px;
		left: 0px;
	}
	.menu.open p:before{
		transform: rotate(-225deg);
	}
	header ul.open {
		display: block;
		right: 0;
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
	}
	header ul li:last-of-type a{
		height: auto;
		border: solid 2px white;
		display: block;
		padding: 29px 0;
		background: #a31e1e;
		padding-left: 30px;
		background: #a31e1e;
		color: white;
		font: bold 15px/1em 'noto';
	}
	header ul.open li:last-of-type a{
		/*
		height: auto;
		border: solid 2px white;
		display: block;
		padding: 29px 0;
		background: #a31e1e;
		padding-left: 30px;
		background: #a31e1e;
		color: white;
		font: bold 15px/1em 'noto';
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
		*/
	}
	header ul.open li:last-of-type a:before{
		right: auto;
		left: 65px;
		width: 30px;
	}
	header ul li{
		width: 100%;
	}
	header > a{
		display: none;
	}
	header ul li a{
		background: white;
		margin: 3px;
		border-radius: 1px;
	}
	header ul li a small,.announce span small{
		margin-top: 7px;
	}
}

/*================
	footer
================*/

footer{
	background: rgba(48, 48, 48, 0.1);
	padding: 50px 0 0;
}

footer .corpo{
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
	  margin: auto;
	  max-width: 510px;
	  -webkit-align-items: center; align-items: center;
	  -webkit-justify-content: space-between; justify-content: space-between;
}
footer .corpo img{
	margin-right: 20px;
}
footer .corpo p{
	font: 300 13px/1em 'noto';
	color: rgba(71, 71, 71, 0.7);
	line-height: 1.4;
}

footer > .container > ul{
	margin: 40px auto 50px;
	max-width: 430px;
}

footer > .container > ul li{
	width: calc((100% - 40px) / 2);
	width: -webkit-calc((100% - 40px) / 2);
}
footer > .container > ul li a{
	padding: 35px 10px;
	background: white url(../img/sumanavi.jpg)no-repeat center;
	background-size: 100px;
	border-radius: 5px;
	border: solid 3px #aaa;
	display: block;
	text-align: center;
}
footer > .container > ul li:nth-of-type(2) a{
	background: white url(../img/nanyo.png)no-repeat center;
	background-size: 145px;
}

footer .bg-black ul{
	text-align: center;
	padding: 30px 0 50px;
}
footer .bg-black li{
	display: inline-block;
}
footer .bg-black ul li a{
	display: block;
	color: white;
	display: block;
	padding: 0 20px;
	opacity: .5;
	font: 300 11px/1em 'noto';
}
footer .bg-black ul li + li a{
	border-left: solid thin white;
}
footer .bg-black p{
	font: 300 11px/1em 'noto';
	color: white;
	text-align: center;
	opacity: .8;
	padding-bottom: 20px;
}
main.sub + footer{
	margin-top: 120px;
}

@media screen and (max-width: 640px){
	footer .bg-black ul{
		display: none !important;
	}
	footer .bg-black p{
	    font: 300 10px/1em 'noto';
	    padding-bottom: 0;
	    padding: 7px 0;
	}
	main.sub + footer {
	    margin-top: 70px;
	}
	footer .corpo p {
	    text-align: center;
	    margin: auto;
    }
    footer .corpo{
	    display: table;
    }
    footer .corpo img {
	    margin-right: auto;
	    margin: auto;
	    display: block;
	    margin-bottom: 10px;
	}
	footer{
		padding: 30px 0 0;
	}
}

@media screen and (max-width: 400px){
	footer > .container > ul li a{
		background-size: 65%;
	}
	footer > .container > ul li:nth-of-type(2) a{
	background-size: 80%;
	}
	
}

/*================================================================================================
											TOP
================================================================================================*/

.top .border{
	margin-bottom: 60px;
    opacity: .5;
}

.mainvisual{
	height: 520px;
	/*background: url('../img/mainVisual2.jpg') no-repeat center left;*/
	background: url('../img/s-yushima.jpg') no-repeat center right;
	background-size: cover;
	position: relative;
}
@media screen and (min-width: 2000px){
	.mainvisual{
		height: 700px !important;
		background-size: cover;
	}
	.mainvisual h1{
		font-size: 50px !important;
	}
	.mainvisual h1 b{
		font-size: 60px !important;
	}
}
.mainvisual:before{
	content: '';
	display: block;
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	width: 100%; height: 100%;
	background: rgba(0, 0, 0, 0.1);
}
.mainvisual h1{
	text-align: left;
    font-size: 30px;
    color: white;
    font-weight: 600;
    line-height: 45px;
    position: absolute;
    right: 0;
    width: 100%;
    text-align: center;
    top: 50%;
    transform: translate(0,-50%);
    letter-spacing: 3px;
    -webkit-text-shadow: 0px 0px 8px rgba(0,0,0,.6);
    	  text-shadow: 0px 0px 8px rgba(0,0,0,.6);
}
.mainvisual h1 b{
	font-size: 36px;
	display: inline-block;
	margin: 0 3px;
}
.mainvisual h1 br{
	display: none;
}

.announce{
	display: table;
	margin: 40px 30px;
	width: calc(100% - 60px);
	width: -webkit-calc(100% - 60px);
}
.announce span{
	float: left;
	border-right: solid thin #aaa;
    padding-right: 30px;
    margin-right: 30px;
    font: normal 15px/1em 'noto';
}
.announce span small{
    font: normal 12px/1em 'noto';
}
.announce ul{
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
	  -webkit-align-items: center; align-items: center;
	  -webkit-justify-content: space-evenly; justify-content: space-evenly;
}
.announce ul li{
	/*
	width: calc((100% - 30px) / 3);
	width: -webkit-calc((100% - 30px) / 3);
	*/
	width: calc((100% - 60px) / 2);
	width: -webkit-calc((100% - 60px) / 2);
}
.announce ul li a{
	padding: 10px;
	border: solid thin #aaa;
    display: block;
    text-align: center;
    border-radius: 3px;
    min-height: 75px;
    position: relative;
    -webkit-box-shadow: 0px 2px 8px rgba(0,0,0,.1);
    	  box-shadow: 0px 2px 8px rgba(0,0,0,.1);
}
.announce ul li a img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 70%;
    height: auto;
    max-width: 320px;
}
.announce ul li:nth-of-type(2) a img {
    max-width: 200px;
}

.oneshop + .oneshop{
	margin-top: 50px;
}

.oneshop .info{
	min-height: 390px;
	width: 100%;
	background: url('../img/info1.jpg')no-repeat center top;
	background-size: cover;
	position: relative;
	margin-bottom: 40px;
	border-radius: 3px;
    border: solid 1px #aaa;
}
.oneshop:nth-of-type(2) .info{
	background: url('../img/amanoya.png')no-repeat center top;
	background-size: cover;
}
.oneshop:nth-of-type(3) .info{
	background: url('../img/info3.jpg')no-repeat center bottom -80px;
	background-size: cover;
}

.oneshop .frame{
	background: rgba(255,255,255,.7);
	border: solid thin white;
	padding: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	min-width: 570px;
}
.oneshop .frame img{
	height: 60px;
	margin: auto;
	display: block;
}
.oneshop:nth-of-type(1) .frame img{
	height: 60px;
}
.oneshop:nth-of-type(2) .frame img{
	height: 120px;
}
.oneshop .frame p{
	text-align: left;
	display: table;
	margin: auto;
	margin-top: 25px;
	font: 300 13px/1em 'noto';
	line-height: 1.7;
}

.oneshop .fl.ce {
    width: 100%;
    display: -webkit-flex; display: flex;
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-align-items: center; align-items: center;
    -webkit-justify-content: baseline; justify-content: baseline;
}

.oneshop ul li {
    width: calc((100% - 80px ) / 3 );
    width: -webkit-calc((100% - 80px ) / 3 );
    min-height: 180px;
    margin: 0 0 30px 40px;
}

.oneshop ul li:nth-of-type(3n + 1){
    margin: 0 0 30px 0;
}

.oneshop ul li h3{
	border-bottom: solid 2px #a31e1e;
	padding-bottom: 20px;
	margin-bottom: 20px;
	padding-left: 5px;
}

.oneshop ul li p{
	font: 300 13px/1em 'noto';
	line-height: 1.6;
	position: relative;
	padding-left: 30px;
}
.oneshop ul li p:before{
	content: '';
	display: block;
	height: 20px;
	width: 20px;
	background: url('../img/map.png')no-repeat center center;
	background-size: 13px;
    float: left;
    position: absolute;
    left: 0;
    top: 0;
    transform: translate(0,-2px);
}
.oneshop ul li p:nth-of-type(2):before{
	background: url('../img/call.png')no-repeat center center;
	background-size: 13px;
}
.oneshop ul li p:nth-of-type(3):before{
	background: url('../img/clock.png')no-repeat center center;
	background-size: 13px;
}
.oneshop ul li p + p{
	margin-top: 12px;
}

.oneshop .btn{
	margin-top: 50px;
}

.staff .red,.sub .recruit h1.red{
	padding: 30px 0;
	text-align: center;
	font: bold 30px/1em 'noto';
	margin-top: 80px;
}
.staff .red small,.sub .recruit h1.red small{
	color: white;
	display: inline-block;
	font: bold 24px/1em 'noto';
}
.staff .red img,.sub .recruit h1.red img{
	margin: auto;
	display: table;
	width: 55px;
	margin-bottom: 20px;
}
.staff ul {
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}
.staff ul li{
	width: calc(100% / 1);
	width: -webkit-calc(100% / 1);
	background: black;
	position: relative;
}

.staff ul li a{
	background: black url('../img/oshima_main.jpg') no-repeat top 30% left !important;
	background-blend-mode: screen;
/* 	opacity: .25; */
	background-size: 200% !important;
	display: block;
	width: 100%;
	height: 450px;
	color: white;
	text-align: center;
	position: relative;
}
/*
.staff ul li:nth-of-type(2) a{
	background: black url('../img/jitokko_main.jpg')no-repeat center !important;
	background-blend-mode: screen;
	background-size: 200% !important;
}
*/

.staff ul li:nth-of-type(2) a{
	background: black url('../img/amanoya.png.jpg')no-repeat center !important;
	background-blend-mode: screen;
	background-size: 200% !important;
}
.staff ul li:nth-of-type(3) a{
	background: black url('../img/taizo_main.jpg')no-repeat center !important;
	background-blend-mode: screen;
	background-size: 200% !important;
}
.staff ul li a .shadow:before{
	content: '';
	display: block;
	left: 0;top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	box-sizing: border-box;
	transition: all .4s ease;
	-webkit-transition: all .4s ease;
	border: solid 13px transparent;
}
.staff ul li a .shadow:after{
	content: 'Click';
    display: block;
    left: 50%;
    bottom: 30px;
    z-index: 10;
    position: absolute;
    background: url('../img/tri.png')no-repeat top 6px right;
    background-size: 13px;
    width: 90px;
    transform: translate(-50%,0);
    opacity: 0;
    z-index: -1;
}
.staff ul li a:hover .shadow:after{
    opacity: 1;
    z-index: 1;
}
.staff ul li a:hover .shadow:before{
	border: solid 13px rgba(255, 0, 0,.52);
}

.detail_recruit,.staff .logo{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    padding: 0px 20px;
    opacity: 0;
    transition: all .4s ease;
    -webkit-transition: all .4s ease;
}

.staff .logo{
	opacity: 1;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
/* 	filter: brightness(100); */
}
.staff .logo img{
    height: 30px;
	filter: invert(100%) brightness(100);
	-webkit-filter: invert(100%) brightness(100);
}

.staff ul li:nth-of-type(1) img{
	height: 35px;
}

.staff ul li a .shadow{
    opacity: 1;
    z-index: 0;
    transition: all .3s linear; -webkit-transition: all .3s linear;
    background: rgba(0, 0, 0, .8);
    position: absolute;
    width: 100%; height: 100%;
    top: 0; left: 0;
}
.staff ul li a .shadow2{
    opacity: 1;
    z-index: 0;
    transition: all .3s linear; -webkit-transition: all .3s linear;
    background: rgba(0, 0, 0, .8);
    position: absolute;
    width: 100%; height: 100%;
    top: 0; left: 0;
}
.staff ul li a:hover .shadow{
    opacity: 1;
    z-index: 1;
}
.staff ul li a:hover .shadow2 {
    opacity: 0;
    z-index: -1;
}
.staff ul li a:hover .detail_recruit{
	opacity: 1;
	z-index: 2;
}
.staff ul li a:hover .logo{
	opacity: 0;
	transform: translate(-50%,-20%)
}

.detail_recruit h2{
	font: normal 18px/1em 'noto';
	text-align: center;
}
.detail_recruit h2:after{
	content: '';
	display: block;
	width: 45%;
	margin: auto;
	margin-top: 20px;
	height: 1px;
	background: white;
}
.detail_recruit table{
	max-width: 620px;
	margin: 0px auto;
}

.detail_recruit table,.detail_recruit tr,.detail_recruit td,.detail_recruit th,.sub .recruit table,.sub .contact table tr,.sub .contact table th,.sub .contact table td{
	display: block;
}
.detail_recruit table,.sub .recruit table{
	margin-top: 30px;
    padding: 0 25px;
}
.detail_recruit  tr,.sub .recruit tr{
	padding: 10px 0 10px 20px;
    overflow: hidden;
}
.detail_recruit  th,.sub .recruit th{
	display: table;
	float: left;
}
.detail_recruit th p,.sub .recruit th p{
	width: 70px;
	font: normal 15px/1em 'noto';
	float: left;
	text-align: left;
	position: relative;
}
.detail_recruit th p:before,.sub .recruit th p:before{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 3px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 50%;
	left: -15px;
	transform: translate(0,-50%);
}
.detail_recruit td,.sub .recruit td{
	/*width: calc(100% - 100px);
	width: -webkit-calc(100% - 100px);*/
	width: 300px;
	font: normal 13px/1em 'noto';
    float: right;
    text-align: left;
    line-height: 1.7;
}

.top .news{
	padding: 60px 0;
}

.news ul{
	margin: 40px 0;
}

.news li a{
	padding: 20px;
	border-bottom: solid thin rgba(71, 71, 71, 0.2);
	display: table;
	width: 100%;
}
.news li a span,.news li a p{
	display: table-cell;
	vertical-align: middle;
	font: 300 13px/1em 'noto';
	color: rgba(0,0,0,.8);
	padding-right: 30px;
	line-height: 1.7;
}
.news li a span{
	width: 120px;
}
.news li a p{
	color: #484848;
	width: calc(100% - 200px);
	width: -webkit-calc(100% - 200px);
}

@media screen and (max-width: 1000px){
	.staff ul li a{
	background: black url('../img/oshima_main.jpg') no-repeat top 30% left 5% !important;
	background-size: 250% !important;
	}
	/*
	.staff ul li:nth-of-type(2) a{
		background: black url('../img/jitokko_main.jpg')no-repeat center !important;
		background-size: 250% !important;
	}
	*/
	.staff ul li:nth-of-type(2) a{
		background: black url('../img/amanoya.png')no-repeat center !important;
		background-size: 250% !important;
	}
	.staff ul li:nth-of-type(3) a{
		background: black url('../img/taizo_main.jpg')no-repeat center !important;
		background-size: 250% !important;
	}

}

@media screen and (max-width: 765px){
	.mainvisual h1{
		right: 50%;
		top: 50%;
		transform: translate(50%,-50%);
		width: auto;
		width: 363px;
	}
	.staff ul li a{
	background: black url('../img/oshima_main.jpg')no-repeat top 30% left 10% !important;
	background-size: 300% !important;
	}
	/*
	.staff ul li:nth-of-type(2) a{
		background: black url('../img/jitokko_main.jpg')no-repeat center !important;
		background-size: 300% !important;
	}
	*/
	.staff ul li:nth-of-type(2) a{
		background: black url('../img/amanoya.jpg')no-repeat center !important;
		background-size: 300% !important;
	}
	.staff ul li:nth-of-type(3) a{
		background: black url('../img/taizo_main.jpg')no-repeat center !important;
		background-size: 300% !important;
	}
	.mainvisual{
		height: auto;
		padding-top: 60%;
		width: 100%;
	}
	.announce span{
		display: none;
	}
	.announce{
		width: 95%;
		margin: 40px auto;
	}
	.announce ul{
		margin: auto;
	}
	.staff ul li a.scrollin .logo{
		opacity: 0;
	}
	.staff ul li a.scrollin .detail_recruit{
		opacity: 1;
	}
	.staff .logo,.detail_recruit{
		transition: all .2s ease;
		-webkit-transition: all .2s ease;
	}
    .oneshop ul li {
        width: calc((100% - 20px ) / 3 );
        width: -webkit-calc((100% - 20px ) / 3 );
        margin: 0 0 30px 10px;
    }
}
@media screen and (max-width: 640px){
	html{
		overflow-x: hidden;
	}
	.mainvisual h1{
		text-align: left;
		width: auto;
    min-width: 240px;
	}
	.staff ul li a{
	background: black url('../img/oshima_main.jpg')no-repeat top 30% left 12% !important;
	background-size: 300% !important;
	}
	.oneshop .frame{
		width: 90%;
		min-width: auto;
	}
	.oneshop:nth-of-type(3) .info{
	    background: url('../img/info3.jpg')no-repeat center bottom 0px;
	}
	.staff ul li{
		width: 100%;
	}
	.oneshop ul li{
		width: 100%;
		padding: 0 20px;
	}
	.oneshop ul li + li{
		margin-top: 20px;
	}
	.oneshop ul li br{
		display: none;
	}
	.top .border.red + .container{
		width: 100%;
	}
	.oneshop .btn{
		margin-top: 25px;
	}
	footer > .container > ul li{
	    width: -webkit-calc((100% - 20px) / 2);
	}
	footer > .container > ul li:nth-of-type(n + 3){
		margin-top: 10px;
	}
	footer > .container > ul{
	    width: 90%;
	}
    .oneshop ul li {
        margin: 0;
    }
    .oneshop .frame img{
	    height: auto !important;
	    width: 100%;
    }
}
@media screen and (max-width: 480px){
	.mainvisual:before{
		content: '';
		display: block;
		position: absolute;
		top: 50%; left: 50%;
		transform: translate(-50%,-50%);
		width: 100%; height: 100%;
		background: rgba(0, 0, 0, 0.5);
	}
	.staff ul li + li a .shadow:before{
		border-top: solid 2px rgba(255, 0, 0,.52);
	}
	.news li a span, .news li a p{
    width: 100%;
    display: block;
    padding: 0;
	}
	.news li a p {
    padding: 5px 0 0;
	}
}
@media screen and (max-width: 450px){
	.announce ul li{
		width: 95%;
	    max-width: 330px;
	    margin: auto;
	}
	.announce ul li + li{
		margin-top: 10px;
	}
}
@media screen and (max-width: 388px){
	.mainvisual h1{
	    font-size: 18px;
	    line-height: 30px;
	    transform: translate(0,-50%);
	    left: 20px;
	    right: auto;
	    text-align: left;
	}
	.mainvisual h1 b{
	  font-size: 20px;	
	}
	.mainvisual h1 br{
		display: block;	
	}
}
/*================================================================================================
											SUB
================================================================================================*/
main.sub{
	padding-top: 90px;
	position: relative;
}
main.sub > section > h1,main.sub > h1,main.sub > .container > h1{
	margin-bottom: 64px;
	position: relative;
	padding-bottom: 30px;
}
main.sub > section > h1:before,main.sub > h1:before,main.sub > .container > h1:before{
	content: '';
	position: absolute;
	bottom: -4px;
	height: 4px;
	width: 60px;
	display: block;
	background: #a31e1e;
	left: 50%;
	transform: translate(-50%,0);
}
.pan{
	opacity: .5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 7px 0;
    background: #ededed;
    padding-left: 30px;
}
.pan a{
	font: 300 12px/1em 'noto';
    margin-top: 2px;
    display: block;
    float: left;
}

.pan small{
	display: block;
    float: left;
    margin: 0 12px;
    font-weight: 300;
    font-size: 13px;
    margin-top: 2px;
}


/*================================================================================================
											SUB-NEWS
================================================================================================*/

.sub .news li{
	padding: 30px 20px;
	position: relative;
	border-bottom: solid 1px rgba(71, 71, 71, 0.2);
	cursor: pointer;
}
.sub .news li span{
	width: 70px;
	font: 300 13px/1em 'noto';
	color: #000;
	opacity: .8;
}
.sub .news li h2{
	font: bold 15px/1em 'noto';
	color: #484848;
	margin: 10px 0 0;
}
.sub .news li p {
    font: 300 13px/1em 'noto';
    margin-top: 30px;
    width: calc(100% - 110px);
    width: -webkit-calc(100% - 120px);
    clear: both;
    margin-right: 10px;
    display: none;
    margin-bottom: 10px;
    color: #484848;
    line-height: 1.5;
}
.sub .news li a,.sub .news li a:before{
	padding: 0;
	position: absolute;
	right: 10px;
	top: 40px;
	width: 15px;
	height: 3px;
	background: #a31e1e;
	opacity: .5;
	transition: all .2s ease;
	-webkit-transition: all .2s ease;
}
.sub .news li a:before{
	content: '';
	transform: translate(-50%,0) rotate(90deg);
	transform-origin: center;
  margin-top: -0.25px;
  top: 0;
  left: 50%;
  opacity: 1;
  transition: all .4s ease;
  -webkit-transition: all .4s ease;
}
.sub .news li:hover a{
	opacity: 1;
}
.sub .news li a.close:before{
	transform: translate(-50%,0) rotate(360deg);
	margin-top: -1px;
  right: 0px;
  opacity: 0;
}
.sub .news li p.close{
	display: block;
}


@media screen and (max-width: 640px){
	.sub .news li h2{
		clear: both;
	    margin-top: 30px;
	}
	.sub .news li p{
	    width: 100%;
        margin-top: 20px;
	}
	.sub .news li {
	    padding: 30px 30px 30px 10px;
	}
/*
	.sub .news li a:before{
		right: 0;
	}
*/
}
/*================================================================================================
											SUB-RECRUIT
================================================================================================*/


.sub .recruit h1.red:before{
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 50px 0 50px;
	border-color: #ffffff transparent transparent transparent;
}
.sub .recruit h1.red img{
	margin-top: 15px;
}

section > h1 + p{
	font: 300 13px/1em 'noto';
	text-align: center;
	display: table;
	width: 95%;
	max-width: 550px;
	margin: auto;
	line-height: 1.7;
}
.sub .recruit .oneshop{
	width: 100%;
	background: url('../img/s-oshima.jpg')no-repeat top 30% left !important;
	background-size: 127% !important;
	position: relative;
	min-height: 420px;
}

/*
.sub .recruit li:nth-of-type(2) .oneshop{
	background: url('../img/jitokko.jpg')no-repeat center left !important;
	background-size: 130% !important;
}
*/
.sub .recruit li:nth-of-type(2) .oneshop{
	background: url('../img/amanoya.png')no-repeat top 30% left !important;
	background-size: 182% !important;
}

.sub .recruit li:nth-of-type(3) .oneshop{
	background: url('../img/taizo.jpg')no-repeat top 30% left !important;
	background-size: 182% !important;
}

.sub .recruit table{
	padding: 0;
	max-width: 370px;
	margin-top: 20px;
}

.sub .recruit .frame{
	left: 30px;
	transform: translate(0,-50%);
    min-width: auto;
    padding: 20px;
    background: rgba(255, 255, 255, 0.9);
}
.sub .recruit tbody{
	display: block;
}
.sub .recruit tr{
	display: block;
	padding: 20px 10px 20px 30px;
}
.sub .recruit tr + tr{
	border-top: solid 1px rgba(0, 0, 0, 0.2);
}
.sub .recruit th p{
	margin-top: 0;
}
.sub .recruit th p:before{
	border-color: transparent transparent transparent #000;
	opacity: .5;
}
.sub .recruit td,.sub .recruit li > p{
	font: 300 13px/1em 'noto';
	line-height: 1.7;
}

.sub .recruit li img{
	height: 35px !important;
	margin-top: 10px;
}

.sub .recruit li:nth-of-type(2) img{
	height: 50px !important;
}

.sub .recruit li:nth-of-type(3) img{
	height: 45px !important;
}

.sub .recruit li > h1{
	text-align: center;
	position: relative;
	padding-bottom: 20px;
	margin: 50px 0;
	font: 300 18px/1em 'noto';
}
.sub .recruit li > h1:before{
	content: '';
	display: block;
	position: absolute;
	width: 170px;
	height: 1px;
	background: #a31e1e;
	left: 50%;
	transform: translate(-50%,0);
	bottom: 0;
}
.sub .recruit li > .btn{
	margin-top: 50px;
}
.sub .recruit li + li{
	margin-top: 80px;
}

@media screen and (max-width: 800px){
	.sub .recruit .oneshop{
	width: 100%;
	background: url('../img/oshima.jpg')no-repeat center left !important;
	background-size: 135% !important;
	position: relative;
	min-height: 420px;
}
/*
.sub .recruit li:nth-of-type(2) .oneshop{
	background: url('../img/jitokko.jpg')no-repeat center left !important;
	background-size: 130% !important;
}
*/
.sub .recruit li:nth-of-type(2) .oneshop{
	background: url('../img/amanoya.png')no-repeat top -210px left !important;
	background-size: 207% !important;
}
.sub .recruit li:nth-of-type(3) .oneshop{
	background: url('../img/taizo.jpg')no-repeat top -210px left !important;
	background-size: 207% !important;
}

}

@media screen and (max-width: 640px){
	.sub .recruit .frame{
		width: 90%;
	    left: 50%;
	    transform: translate(-50%,-50%);
	}
	.sub .recruit table{
		max-width: initial;
	}
	.sub .recruit h1.red{
		margin-bottom: 0;
	}
	.sub .recruit h1.red + .container{
		width: 100%;
	}
	.sub .recruit li > p{
	    padding: 0 25px;
	    text-align: justify;
	}
	section > h1 + p{
		width: 90%;
	}
	section > h1 + p br{
		display: none;
	}
	.sub .recruit li img,.sub .recruit li:nth-of-type(2) img,.sub .recruit li:nth-of-type(3) img{
		height: auto !important;
		width: 70%;
	}
}

@media screen and (max-width: 500px){
	.sub .recruit .oneshop{
		background: url('../img/oshima.jpg')no-repeat center !important;
	background-size: 200% !important;
	}
	/*
	.sub .recruit li:nth-of-type(2) .oneshop{
		background: url('../img/jitokko.jpg')no-repeat center !important;
		background-size: 200% !important;
	}
	*/
	.sub .recruit li:nth-of-type(2) .oneshop{
		background: url('../img/amanoya.png')no-repeat center !important;
		background-size: 200% !important;
	}
	.sub .recruit li:nth-of-type(3) .oneshop{
		background: url('../img/taizo.jpg')no-repeat center !important;
		background-size: 200% !important;
	}
}
/*================================================================================================
											SUB-CONTACT
================================================================================================*/

.sub .contact table{
	width: 630px;
	margin: auto;
}

.sub .contact table textarea,.sub .contact table input{
	width: 100%;
	-webkit-appearance: none;
	background: #f9f9f9;
	border: solid 1px #dcdcdc;
	-webkit-box-shadow: 0px 0px 5px rgba(0,0,0,.1) inset;
	box-shadow: 0px 0px 5px rgba(0,0,0,.1) inset;
	padding: 14px;
	box-sizing: border-box;
	font: normal 13px/1em 'noto';
	/*font: normal 14px/1em 'genshin';*/
	color: rgba(0, 0, 0, 0.8);
	max-height: 40px;
	letter-spacing: 1px;
	outline: 0;
}
.sub .contact table input[type='checkbox']{
	width: 15px;
	height: 15px;
	margin-right: 10px;
	padding: 0;
	display: inline-block;
	outline: 0;
}
.sub .contact table input[type='checkbox']:checked{
	background: #a31e1e;
	outline: 0;
	border: solid 1px #a31e1e;
}
.sub .contact table tr:nth-of-type(1) td{
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
	  -webkit-align-items: center; align-items: center;
	  -webkit-justify-content: space-between; justify-content: space-between;
}
.sub .contact table tr:nth-of-type(1) input{
	width: calc((100% - 30px) / 2);
	width: -webkit-calc((100% - 30px) / 2);
}
.sub .contact table tr + tr{
	margin-top: 30px;
}
.sub .contact table textarea{
	margin-bottom: 40px;
	min-height: 150px;
	resize: none;
}
.sub .contact table th{
	display: inline-block;
	padding-left: 14px;
	float: left;
	font: normal 15px/1em 'noto';
	margin-right: 40px;
}
.sub .contact table label{
	font: normal 13px/1em 'noto';
	display: inline-block;
	margin-right: 30px;
}
.sub .contact table tr:nth-of-type(4){
	margin: 40px 0;
}

input:placeholder-shown,textarea:placeholder-shown {
    color: rgba(0, 0, 0, 0.3); }
/* Google Chrome, Safari, Opera 15+, Android, iOS */
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.3); }
/* Firefox 18- */
input:-moz-placeholder,textarea:-moz-placeholder {
    color: rgba(0, 0, 0, 0.3); }
/* Firefox 19+ */
input::-moz-placeholder,textarea::-moz-placeholder {
    color: rgba(0, 0, 0, 0.3);}
/* IE 10+ */
input:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.3); }

.sub .contact form > p{
	display: table;
	margin: 0 auto 50px;
	text-align: center;
}


@media screen and (max-width: 640px){
	.sub .contact table{
	    width: 95%;
	    margin-top: -10px;
	}
	.sub .contact table tr:nth-of-type(1) input {
	    width: 100%;
	    margin-top: 20px;
	}
	.sub .contact table th {
	    padding-left: 0;
	    float: initial;
	    margin-right: 0;
	    margin-bottom: 25px;
	}
}

/*================================================================================================
											SUB-COMPANY
================================================================================================*/

.sub .company table{
	width: 520px;
	margin: 70px auto 80px;
}
.sub .company table tr,.sub .company table td,.sub .company table th{
	display: block;
}
.sub .company table tr{
	padding: 20px 10px;
	 display: -webkit-flex; display: flex;
	  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}
.sub .company table th{
    width: 110px;
    margin-right: 70px;
    font: normal 15px/1.5 'noto';
    text-align: left;
}
.sub .company table tr + tr{
	border-top: dotted 1px #666;
}
.sub .company table td{
	width: calc(100% - 190px);
	width: -webkit-calc(100% - 190px);
	font: 300 13px/1em 'noto';
	line-height: 1.7;
}

.sub .company h1 + p{
	margin-bottom: 70px;
}

iframe{
	width: 100%;
	filter: grayscale(100);
}
.sub .company .fl.ce{
	height: 270px;
}
.sub .company .fl.ce .img{
	background: url('../img/company_img.jpeg')no-repeat center;
	background-size: cover;
	height: 100%;
	position: relative;
}
.sub .company .fl.ce .img:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent url('../img/slash.png');
	background-size: 5px;
	opacity: .05;
}
.sub .company .fl.ce:nth-of-type(2) .img{
	background: url('../img/company_img2.jpeg')no-repeat center;
	background-size: cover;
	height: 100%;
}
.sub .company .fl.ce .textarea{
	padding: 60px 40px;
	background: #f7f7f7;
	height: 100%;
}
.sub .company .fl.ce .textarea h2{
	font: bold 18px/1em 'noto';
	text-align: center;
	margin-bottom: 40px;
}
.sub .company .fl.ce .textarea p{
	font: 300 13px/1em 'noto';
	padding: 0 20px;
	line-height: 1.7;
}
.sub .company .fl.ce .img,.sub .company .fl.ce .textarea{
	width: 50%;
}

.fl.ce.reverse .textarea{
	order: 1;
}
.fl.ce.reverse .img{
	order: 2;
}

@media screen and (max-width: 640px){
	.sub .company .fl.ce {
	    height: auto;
	    display: table;
	    width: 100%;
	}
	.sub .company .fl.ce .img, .sub .company .fl.ce .textarea{
		width: 100%;
	}
	.sub .company .fl.ce .img{
		height: 200px !important;
	}
	.sub .company .fl.ce + .fl.ce{
	}
	.sub .company table {
	    width: auto;
	}
	.sub .company table th {
    margin-bottom: 10px;
    width: 100%;
    }
    .sub .company table td {
    width: 100%;
    }
    iframe{
	    height: 230px;
    }
}


/*================================================================================================
											SUB-SHOP
================================================================================================*/
@media screen and (max-width: 640px){
	.sub .shop > .container {
	    width: 100%;
	}
}


/*================================================================================================
											SUB-PRIVACY
================================================================================================*/
.privacy .container{
	max-width: 800px;
	margin: auto;
	width: 90%;
}

.privacy ul {
    margin: 40px 0;
}
.privacy ul li + li{
	margin-top: 60px;
}
.privacy ul li span{
	font: normal 15px/1.7 'noto';
	border-bottom: solid thin #eee;
	display: block;
	width: 100%;
	margin-bottom: 15px;
	padding: 0 10px 10px;
}
.privacy ul li p{
	font: 300 13px/1.7 'noto';
	padding: 0 10px;
}
.privacy ul li a{
	font: 300 13px/1.7 'noto';
	display: block;
	margin: 5px 0;
	padding: 0 10px;
}
.privacy ul li p + a{
	margin-top: 10px;
}

.privacy .container > p:last-of-type{
    display: block;
    padding: 0 10px;
}

