@charset "UTF-8";

/*---------------------------------------------

Top Page CSS

for domain
coded by d-spica at 2018-06-20

---------------------------------------------*/


@import url(default.css);
@import url(https://fonts.googleapis.com/css?family=Anton);
@import url(https://use.fontawesome.com/releases/v5.0.13/css/all.css);
@import url(base.css);


section h2 {
	margin-bottom: 1.2em;
	text-align: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: #007F66;
}

section h2 em {
	margin-right: 0.4em;
	font-family: "Anton", sans-serif;
	font-size: 260%;
	font-weight: 400;
}

section .nav-index {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 0.7rem;
	color: #007F66;
}

section .nav-index a::after {
	content: '';
	display: inline-block;
	margin-left: 0.4em;
	width: 0;
	height: 0;
	border: solid 5px;
	border-color: transparent transparent transparent #007F66;
}


section.eyecatch {
	position: relative;
	overflow: hidden;
}

section.eyecatch h2 {
	position: absolute;
	top: 2.5em;
	left: 50%;
	z-index: 1;
	margin-bottom: 0;
	margin-left: -24.5rem;
	box-sizing: border-box;
	border-radius: 6.25em;
	background: rgba(0,127,102,0.7);
	padding-top: 3em;
	width: 12.5em;
	height: 12.5em;
	line-height: 1.6;
	font-size: 1rem;
	font-weight: 400;
	color: #FFF;
}

section.eyecatch .box {
	position: relative;
	overflow: hidden;
	height: 36rem;
}

section.eyecatch .box::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 1;
	background: url(../img/bg-wave.png) no-repeat 50% 0;
	background-size: 100% 5.95rem;
	width: 100%;
	height: 5.95rem;
}

section.eyecatch .images {
	width: 400%; /* jsで調整 */
}

section.eyecatch .images li {
	float: left;
	width: 25%; /* jsで調整 */
}

section.eyecatch .images li i {
	display: block;
	background-position: 50% 50%;
	background-size: cover;
	height: 36rem;
}

section.eyecatch figure {
	position: relative;
	margin: 0 auto;
	max-width: 60rem;
}

section.eyecatch figure::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 1;
	background: url(../img/bg-wave.png) no-repeat 50% 0;
	background-size: 100% 5.95rem;
	width: 100%;
	height: 5.95rem;
}

section.eyecatch figure video {
	width: 100%;
	height: auto;
}

section.eyecatch figure .loader {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFF url("../img/ajax-loader.gif") no-repeat 50% 50%;
	background-size: 1.6rem auto;
}

section.eyecatch figure .nav-movie {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
}

section.eyecatch figure .nav-movie a,
section.eyecatch figure .nav-movie span {
	display: inline-block;
	background: rgba(211,45,38,0.8);
	padding: 0.1em 0.5em;
	font-size: 0.8rem;
	color: #FFF;
	cursor: pointer;
}

section.eyecatch figure .nav-movie a::after {
	content: '';
	display: inline-block;
	margin-left: 0.3em;
	border-style: solid;
	border-width: 0.3em 0 0.3em 0.4em;
	border-color: transparent transparent transparent #FFF;
	vertical-align: 0.1em;
	width: 0;
	height: 0;
}

section.eyecatch .nav {
	position: absolute;
	bottom: 1.2rem;
	right: 50%;
	z-index: 1;
	margin-right: -24rem;
	font-size: 0.55rem;
	color: #007F66;
}

section.eyecatch .nav li {
	display: inline-block;
	margin: 0 0.3em;
}

section.eyecatch .nav li a {
	display: block;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 3.6em auto;
	padding-top: 3.6em;
	width: 5.5em;
	text-align: center;
}

section.eyecatch .nav li:nth-child(1) a {
	background-image: url(../img/ic-top.png);
}

section.eyecatch .nav li:nth-child(2) a {
	background-image: url(../img/ic-news.png);
}

section.eyecatch .nav li:nth-child(3) a {
	background-image: url(../img/ic-shops.png);
}

section.eyecatch .nav li:nth-child(4) a {
	background-image: url(../img/ic-campany.png);
}

section.eyecatch .nav li:nth-child(5) a {
	background-image: url(../img/ic-recruit.png);
}


section.news {
	background: url(../img/bg-bicrise.png) no-repeat 50% 1rem;
	padding: 2rem 0 0;
	font-size: 0.7rem;
}

section.news section {
	padding: 1.5rem 0 2rem;
}

section.news section.news-shop {
	background: #F4EFE4;
}

section.news section > div {
	position: relative;
	margin: 0 auto;
	padding: 0 2.5rem;
	max-width: 44rem;
}

section.news h3 {
	margin-bottom: 0.4em;
	text-align: center;
	font-size: 1.5rem;
	color: #007F66;
}

section.news section.news-company li a {
	display: block;
	box-sizing: border-box;
	padding: 0 1rem;
}

section.news section.news-company li i {
	display: block;
	position: relative;
	margin-bottom: 1rem;
	border-radius: 50%;
	background-position: 50% 50%;
	background-size: cover;
	padding-bottom: 100%;
	width: 100%;
}

section.news section.news-company li i b {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	border-radius: 2em;
	background: #007F66;
	padding-top: 1.3em;
	width: 4em;
	height: 2.7em;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: "Anton", sans-serif;
	font-size: 130%;
	color: #FFF;
}

section.news section.news-company li span {
	display: block;
	margin-bottom: 0.5em;
}

section.news section.news-company li em {
	display: block;
	line-height: 1.6;
	height: 3.2em;
}

section.news section.news-shop.new div {
	padding: 0 1rem;
}

section.news section.news-shop .favorite.none {
	margin: 0 auto;
	background: #FFF;
	padding: 1rem;
	max-width: 35rem;
}

section.news section.news-shop .favorite.none .has {
	display: none;
}

section.news section.news-shop .favorite.none dt {
	margin-bottom: 0.5em;
	font-size: 1.2rem;
	color: #DA0101;
	text-align: center;
}

section.news section.news-shop .favorite.none p {
	line-height: 1.6;
	text-align: center;
}

section.news section.news-shop .favorite.none .nav-add {
	margin: 1rem 0;
	text-align: center;
}

section.news section.news-shop .favorite.none .nav-add span {
	display: inline-block;
	box-sizing: border-box;
	border-radius: 0.5rem;
	background: #007F66;
	padding: 0.3em 0.5em;
	width: 18em;
	font-size: 1.2rem;
	color: #FFF;
	cursor: pointer;
}

section.news section.news-shop .favorite.none .nav-add span:hover {
	opacity: 0.7;
}

section.news section.news-shop .favorite.none .nav-add span::after {
	content: '';
	display: inline-block;
	margin-left: 0.3em;
	border-style: solid;
	border-width: 0.3em 0 0.3em 0.4em;
	border-color: transparent transparent transparent #FFF;
	vertical-align: 0.1em;
	width: 0;
	height: 0;
}

section.news section.news-shop .favorite.none .note {
	text-align: center;
	font-size: 0.6rem;
}

section.news section.news-shop .favorite.has {
	margin: 0 auto;
	background: #E3ECE7;
	padding: 1rem;
	max-width: 35rem;
}

section.news section.news-shop .favorite.has .none {
	display: none;
}

section.news section.news-shop .favorite.has dt {
	margin-bottom: 0.5em;
	font-size: 1.2rem;
	color: #007F66;
	text-align: center;
}

section.news section.news-shop .favorite.has .name {
	margin-bottom: 0.5em;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 700;
}

section.news section.news-shop .favorite.has ul {
	margin: 0 auto;
	max-width: 100%;
	width: 24rem;
	font-size: 0.7rem;
}

section.news section.news-shop .favorite.has li {
	position: relative;
	margin-bottom: 1em;
}

section.news section.news-shop .favorite.has li a {
	display: block;
	box-sizing: content-box;
	background: #FFF;
	padding: 0.5em 0.5em 0.5em 8.5em;
	min-height: 7em;
}

section.news section.news-shop .favorite.has li a i {
	display: block;
	position: absolute;
	top: 0.5em;
	left: 0.5em;
	width: 7em;
	height: 7em;
	background-position: 50% 50%;
	background-size: cover;
	padding-bottom: 0;
}

section.news section.news-shop .favorite.has li a i b {
	display: inline-block;
	position: absolute;
	top: 0;
	left: -0.5rem;
	background: #007F66;
	padding: 0.2em 0.5em;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: "Anton", sans-serif;
	font-size: 90%;
	color: #FFF;
}

section.news section.news-shop .favorite.has li a span {
	display: block;
	margin-top: 0.5em;
}

section.news section.news-shop .favorite.has li a em {
	display: block;
}

section.news section.news-shop .favorite.has .nav-delete {
	text-align: center;
}

section.news section.news-shop .favorite.has .nav-delete span {
	cursor: pointer;
}

section.news section.news-shop .favorite.has .nav-delete span:hover {
	opacity: 0.7;
}

section.news section.news-shop .favorite.has .nav-delete span::after {
	content: '';
	display: inline-block;
	margin-left: 0.2em;
	border: solid #000;
	border-width: 1px 1px 0 0;
	width: 0.4em;
	height: 0.4em;
	vertical-align: 0.2em;
	transform: rotate(45deg);
}

/*
section.news section.news-shop ul {
	overflow: hidden;
	width: 125%;
}

section.news section.news-shop li {
	float: left;
	box-sizing: border-box;
	padding: 0 0.75rem;
	width: 20%;
}
*/

section.news section.news-shop li a {
	display: block;
	box-sizing: border-box;
	padding: 0 0.75rem;
}

section.news section.news-shop li i {
	display: block;
	position: relative;
	margin-bottom: 0.5rem;
	background-position: 50% 50%;
	background-size: cover;
	padding-bottom: 75%;
	width: 100%;
}

section.news section.news-shop li i b {
	display: inline-block;
	position: absolute;
	top: 0;
	left: -0.5rem;
	background: #007F66;
	padding: 0.2em 0.5em;
	letter-spacing: 0.05em;
	text-align: center;
	font-family: "Anton", sans-serif;
	font-size: 90%;
	color: #FFF;
}


section.news section.news-shop li span {
	display: block;
	margin-bottom: 0.5em;
}

section.news section.news-shop li em {
	display: block;
	height: 4.2em;
}


section.news section .sp-arrows {
	top: 20%;
	margin-top: 0;
}

section.news section .sp-previous-arrow,
section.news section .sp-next-arrow {
	position: absolute;
	width: 32px;
	height: 5rem; /* jsで調整  iのheight*/
	cursor: pointer;
}

section.news section .sp-previous-arrow {
	left: -2rem;
}

section.news section .sp-next-arrow {
	right: -2rem;
	transform: rotate(0);
}

section.news section .sp-previous-arrow::before,
section.news section .sp-next-arrow::before {
	display: none;
}

section.news section .sp-previous-arrow::after,
section.news section .sp-next-arrow::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -16px;
	border: solid #007F66;
	background: none;
	width: 20px;
	height: 20px;
}

section.news section .sp-previous-arrow::after {
	left: 5px;
	border-width: 2px 0 0 2px;
	transform: rotate(-45deg);	
}

section.news section .sp-next-arrow::after {
	left: auto;
	right: 5px;
	border-width: 2px 2px 0 0;
	transform: rotate(45deg);
}


section.shops {
	padding: 3rem 1rem;
	font-size: 0.9rem;
}

section.shops > div {
	display: table;
	margin: 0 auto;
	max-width: 44rem;
}

section.shops header {
	display: table-cell;
	padding-right: 2rem;
	width: 17rem;
	vertical-align: middle;
}

section.shops p {
	line-height: 1.6;
}

section.shops .icons {
	margin-top: 1em;
	text-align: center;
}

section.shops .icons a {
	margin: 0 0.2em;
	display: inline-block;
	max-width: 30%;
	width: 4.5rem;
}

section.shops .icons img {
}

section.shops .photo {
	display: table-cell;
	vertical-align: middle;
}

section.shops .photo img {
	max-width: 25rem;
}

section.recruit {
	background-position: 50% 50%;
	background-size: cover;
	padding: 3rem 1rem;
	font-size: 0.9rem;
}

/*
section.recruit > div {
	overflow: hidden;
	margin: 0 auto;
	max-width: 44rem;
}

section.recruit header {
	float: right;
	background: #FFF;
	padding: 2em;
	width: 36%;
}

section.recruit .copy {
	float: left;
	background: rgba(255,255,255,0.8);
	padding: 1.5em 2em;
	line-height: 1.6;
	font-size: 1.2em;
	color: #007F66;
}
*/

section.recruit > div {
	display: grid;
	grid-template-columns: auto 45%;
	grid-template-rows: auto auto;
	gap: 1rem;
	margin: 0 auto;
	max-width: 44rem;
}

section.recruit header {
	grid-column: 2/3;
	grid-row: 1/2;
	background: #FFF;
	padding: 2em;
}

section.recruit .copy {
	grid-column: 1/2;
	grid-row: 1/3;
	background: rgba(255,255,255,0.8);
	padding: 1.5em 2em;
	width: fit-content;
	line-height: 1.6;
	font-size: 1.2em;
	color: #007F66;
	display: flex;
	align-items: center;
}

section.recruit .banner {
	grid-column: 2/3;
	grid-row: 2/3;
	width: 100%;
}

section.recruit .banner img {
	width: 100%;
}


aside.mailmaga {
	background: #F4EFE4;
	padding: 3rem 1rem;
	font-size: 0.75rem;
}

aside.mailmaga > div {
	margin: 0 auto;
	max-width: 25rem;
}

aside.mailmaga h2 {
	margin-bottom: 3em;
	font-size: 0.7rem;
}

aside.mailmaga h2 img {
	float: left;
	margin-top: -0.3em;
	margin-right: 2em;
	width: 8.2em;
}

aside.mailmaga h2 em {
	display: block;
	font-size: 220%;
	color: #007F66;
}

aside.mailmaga p {
	line-height: 2;
	text-align: center;
}

aside.mailmaga .nav-button {
	margin-top: 3em;
	text-align: center;
	line-height: 1.4;
	font-size: 0.7rem;
	color: #007F66;
}

aside.mailmaga .nav-button a {
	display: inline-block;
	border: solid 1px #007F66;
	background: #FFF;
	padding: 1em 1.2em;
}

aside.mailmaga .nav-button a::after {
	content: '';
	display: inline-block;
	margin-left: 0.4em;
	width: 0;
	height: 0;
	border: solid 5px;
	border-color: transparent transparent transparent #007F66;
}

#layer {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9;
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	display: none;
}

#layer .lightbox {
	position: absolute;
	left: 50%;
	margin-left: -15.5rem;
	box-sizing: border-box;
	background: #F3EFE5;
	padding: 2rem 1.5rem;
	width: 31rem;
}

#layer .lightbox .close {
	position: absolute;
	top: 0.2rem;
	right: 0.2rem;
	width: 1.5rem;
	height: 1.5rem;
}

#layer .lightbox .close::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.7rem;
	left: 0;
	width: 1.4rem;
	height: 0.1rem;
	background: #777;
	transform: rotate(45deg);
}

#layer .lightbox .close::after {
	content: '';
	display: block;
	position: absolute;
	top: 0.7rem;
	left: 0;
	width: 1.4rem;
	height: 0.1rem;
	background: #777;
	transform: rotate(-45deg);
}

#layer .lightbox dl {
	display: none;
	box-sizing: border-box;
	font-size: 0.8rem;
}

#layer .lightbox p.movie {
	display: none;
}

#layer .lightbox.shops {
	top: 5%;
	height: 90%;
}
	
#layer .lightbox.shops .shops {
	display: block;
	overflow: auto;
	background: #FFF;
	padding: 1rem;
	height: 100%;
}

#layer .lightbox.shops .shops dt {
	margin-bottom: 1em;
	color: #007F66;
}

#layer .lightbox.shops .shops dd {
	margin-bottom: 1.5em;
}

#layer .lightbox.shops .shops li {
	border-bottom: solid 1px #DCEAE8;
	padding-bottom: 0.5em;
}

#layer .lightbox.shops .shops li em {
	display: inline-block;
	margin-top: 0.5em;
	width: 15em;
}

#layer .lightbox.shops .shops li span {
	display: inline-block;
	margin-top: 0.5em;
	border-radius: 0.9em;
	background: #007F66;
	padding: 0.2em 1em;
	font-size: 0.75rem;
	color: #FFF;
	cursor: pointer;
}
	
#layer .lightbox.shops .shops li span:hover {
	opacity: 0.7;
}

#layer .lightbox.add,
#layer .lightbox.delete {
	top: 50%;
	margin-top: -6rem;
}

#layer .lightbox.add .add,
#layer .lightbox.delete .delete {
	display: block;
	text-align: center;
}

#layer .lightbox .add dt {
	margin-bottom: 1.5em;
}

#layer .lightbox .delete dt {
	margin-bottom: 3em;
}

#layer .lightbox .add dt em {
	display: block;
	margin-top: 0.7em;
	font-size: 1rem;
	font-weight: 700;
	color: #007F66;
}

#layer .lightbox .add dd span,
#layer .lightbox .delete dd span {
	display: inline-block;
	margin: 0 0.3rem;
	box-sizing: border-box;
	border-radius: 0.4rem;
	background: #8D8D8D;
	padding: 0.5em;
	max-width: 45%;
	width: 8em;
	font-size: 1rem;
	color: #FFF;
}

#layer .lightbox .add dd .yes,
#layer .lightbox .delete dd .no {
	background: #007F66;
}

#layer .lightbox.movie {
	position: absolute;
	top: 50%;
	left: 0;
	box-sizing: border-box;
	margin: -21% 15% 0;
	width: 70%;
}

#layer .lightbox.movie p.movie {
	display: block;
}

#layer .lightbox.movie iframe {
	width: 100%;
	height: auto;
}


@media all and (max-width:1520px) {
	
	section.eyecatch .box {
		height: 0;
		padding-bottom: 47.27%;
	}

	section.eyecatch .images li i {
		height: 0;
		padding-bottom: 47.27%;
	}

	
}

@media all and (max-width:1020px) {
	
	section.eyecatch h2 {
		left: 1rem;
		margin-left: 0;
		font-size: 0.9rem;
	}
	
	section.eyecatch .box {
		padding-bottom: 60%;
	}

	section.eyecatch .images li i {
		padding-bottom: 60%;
	}

	section.eyecatch .nav {
		right: 1rem;
		margin-right: 0;
	}

	section.news section > div {
		padding: 0 2rem;
	}

	section.news section .sp-previous-arrow {
		left: -1.5rem;
	}
	
	section.news section .sp-next-arrow {
		right: -1.5rem;
	}
	
}



@media all and (max-width:800px) {

	section.eyecatch .box {
		padding-bottom: 70%;
	}

	section.eyecatch .images li i {
		padding-bottom: 70%;
	}

	section.eyecatch .nav {
		bottom: 0;
	}

	section.eyecatch .nav li {
		margin: 0;
	}

	section.news {
		background-size: 80% auto;
	}
	
	section.news section.news-company li {
		padding: 0 0.75rem;
	}
	
	section.news section.news-company li i::after {
		font-size: 100%;
	}
	
	section.shops > div {
		display: block;
		max-width: 28rem;
	}

	section.shops header {
		display: block;
		padding-right: 0;
		width: auto;
	}

	section.shops .photo {
		display: block;
		margin-top: 2em;
		text-align: center;
	}

/*
	section.recruit > div {
		display: block;
		max-width: 28rem;
	}

	section.recruit header {
		float: none;
		margin-top: 14rem;
		width: auto;
	}

	section.recruit .copy {
		float: none;
		margin-top: 2em;
		display: none;
	}
*/
	
	section.recruit > div {
		display: block;
		max-width: 28rem;
	}

	section.recruit header {
		margin: 14rem 0 1rem;
		width: auto;
	}

	section.recruit .copy {
		display: none;
	}

	#layer .lightbox.movie {
		margin: -26% 10% 0;
		width: 80%;
	}

}


@media all and (max-width:580px) {
	
	section.eyecatch h2 {
		top: -2em;
		left: 0;
		font-size: 0.8rem;
	}

	section.eyecatch .box::after {
		background-size: 100% auto;
		padding-bottom: 10.81%;
		height: 0;
	}

	section.eyecatch figure::after {
		background-size: 100% auto;
		padding-bottom: 10.81%;
		height: 0;
	}

	section.eyecatch figure .nav-movie {
		top: 0.5rem;
		right: 0.5rem;
	}

	section.eyecatch .nav {
		position: static;
		text-align: center;
	}

	section.news h3 {
		font-size: 1.2rem;
	}
	
	section.news section.news-company li i::after {
		font-size: 80%;
	}
	
	section.news section.news-shop .favorite.none dt {
		font-size: 1rem;
	}
	
	section.news section.news-shop .favorite.none p {
		text-align: left;
	}

	section.news section.news-shop .favorite.none .nav-add span {
		max-width: 100%;
		width: 18em;
		font-size: 1rem;
	}

	section.shops .photo img {
		max-width: 100%;
	}

	aside.mailmaga h2 {
		text-align: center;
	}

	aside.mailmaga h2 img {
		float: none;
		display: block;
		margin: 0 auto 1em;
	}

	aside.mailmaga h2 em {
		font-size: 180%;
	}

	aside.mailmaga p {
		text-align: left;
	}

	#layer .lightbox {
		left: 0;
		margin: 0 5%;
		width: 90%;
	}

	#layer .lightbox.shops .shops li {
		overflow: hidden;
	}

	#layer .lightbox.shops .shops li span {
		float: right;
	}

}


@media all and (max-width:420px) {
	
	#layer .lightbox.movie {
		margin: -30% 5% 0;
		width: 90%;
	}

}


