/*----------------------------
Common all
----------------------------*/
/******** font *********/
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html {
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
	height: 100%;
}
body {
	font-family: Lato, 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック',
		'MS PGothic', sans-serif;
	color: #222;
	font-size: 1.6rem;
	line-height: 1.6;
	background-color: #fff;
	height: 100%;
}
@media all and (-ms-high-contrast: none) {
	body {
		font-family: Lato, 'メイリオ', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', Meiryo, 'ＭＳ Ｐゴシック',
			'MS PGothic';
	}
}

.wrap {
	margin: 0 auto;
	position: relative;
}

/* font-face 
------------------------------------------ */
@font-face {
	font-family: 'GENJ-b';
	font-style: normal;
	font-weight: 700;
	src: url('_fonts/GenJyuu-bold.woff2') format('woff2'), url('_fonts/GenJyuu-bold.woff') format('woff'), url('_fonts/GenJyuu-bold.ttf') format('truetype');
}
@font-face {
	font-family: 'GENJ-n';
	font-style: normal;
	font-weight: 400;
	src: url('_fonts/GenJyuu-regular.woff2') format('woff2'), url('_fonts/GenJyuu-regular.woff') format('woff'), url('_fonts/GenJyuu-regular.ttf') format('truetype');
}
/* font-family 
------------------------------------------ */
.genjyuu-b {
	font-family: GENJ-b !important;
}

@media only screen and (max-width: 800px) {
	.wrap {
		width: 100%;
		padding: 0 15px;
	}
}

/*----------------------------
Common Header
----------------------------*/
.header {
	height: 110px;
	padding: 30px 10px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.header.index {
	background-color: rgba(255, 255, 255, 0.5);
}
.header .wrap {
	width: 1070px;
}
.header__sitelogo {
	float: left;
	position: relative;
	top: 0;
}
.header__tel {
	position: absolute;
	right: 110px;
}
.header__tel a:hover {
	cursor: default;
}
.header__fb {
	position: absolute;
	width: 40px;
	top: 4px;
	right: 48px;
}

.header__instagram {
	position: absolute;
	width: 40px;
	top: 4px;
	right: 0;
}

@media only screen and (max-width: 800px) {
	.header {
		width: 100%;
		height: 65px;
		padding: 0;
		background: #fff;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99999;
		box-shadow: 0px 0px 6px 0px #dcdcdc;
		-moz-box-shadow: 0px 0px 6px 0px #dcdcdc;
		-webkit-box-shadow: 0px 0px 6px 0px #dcdcdc;
		overflow: visible;
	}
	.header.index {
		background-color: rgba(255, 255, 255, 1);
	}
	.header .wrap {
		width: auto;
		height: 100%;
		padding: 0;
		position: relative;
	}
	.header__sitelogo {
		float: none;
		width: 115px;
		height: 46px;
		margin: auto 0;
		position: absolute;
		top: 0;
		bottom: 0;
	}
	.header__tel {
		width: 20px;
		height: 26px;
		right: 3.5em;
		top: 0;
		bottom: 0;
		margin: auto 0;
	}
	.header__fb {
		position: absolute;
		width: 25px;
		margin: auto 0;
		top: 0;
		bottom: 0;
		right: 9em;
	}

	.header__instagram {
		position: absolute;
		width: 25px;
		top: 0;
		bottom: 0;
		right: 6.5em;
		margin: auto 0;
	}
}

/*----------------------------
Common gnav
----------------------------*/
.gnav {
	float: right;
	margin: 10px 290px 0 0;
}
.gnav li {
	float: left;
	margin: 0 0 0 4px;
}
.gnav li:first-child {
	margin: 0;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}
.gnav li a {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4rem;
	letter-spacing: 0.02em;
	padding: 8px 13px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	display: block;
}
.gnav li a:hover,
.gnav li a.current {
	color: #fff;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}
.gnav li:nth-child(1) a {
	width: 44px;
	background: url(../images/cmn_home.png) 13px 5px no-repeat;
}
.gnav li:nth-child(1) a span {
	display: inline-block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.gnav li:nth-child(1) a:hover,
.gnav li:nth-child(5) a:hover,
.gnav li:nth-child(5) a.current {
	background: #f4b4d0;
}
.gnav li:nth-child(1) a:hover {
	background: url(../images/cmn_home_on.png) 13px 5px no-repeat #f4b4d0;
}
.gnav li:nth-child(2) a:hover,
.gnav li:nth-child(2) a.current,
.gnav li:nth-child(6) a:hover,
.gnav li:nth-child(6) a.current {
	background: #f8be81;
}
.gnav li:nth-child(3) a:hover,
.gnav li:nth-child(3) a.current,
.gnav li:nth-child(7) a:hover,
.gnav li:nth-child(7) a.current {
	background: #9fd9f6;
}
.gnav li:nth-child(4) a:hover,
.gnav li:nth-child(4) a.current,
.gnav li:nth-child(8) a:hover,
.gnav li:nth-child(8) a.current {
	background: #8dc661;
}

@media only screen and (max-width: 800px) {
	.gnav {
		width: 100%;
		height: 100%;
		float: none;
		margin: 0;
		background: #fff;
		position: fixed;
		top: 65px;
		right: -100%;
		z-index: 99999;
		-webkit-transition: all 0.4s ease-in-out;
		-moz-transition: all 0.4s ease-in-out;
		-o-transition: all 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}
	.gnav li,
	.gnav li:first-child {
		float: none;
		margin: 0 0 0;
		white-space: normal;
		text-indent: 0;
		overflow: auto;
	}
	.gnav li:last-child {
		margin: 0;
	}
	.gnav li a {
		padding: 15px;
	}
	.gnav li:nth-child(1) a {
		width: auto;
		background: none;
	}
	.gnav li:nth-child(1) a:hover,
	.gnav li:nth-child(1) a.current {
		background-image: none;
		background-color: #f4b4d0;
	}
	.gnav li:nth-child(1) a span {
		display: inline;
	}
	.gnav.open {
		right: 0;
		-webkit-transition: all 0.4s ease-in-out;
		-moz-transition: all 0.4s ease-in-out;
		-o-transition: all 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		width: 1.5em;
		height: 16px;
		margin: auto 0;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 15px;
		z-index: 100000;
	}
	.menu-trigger span {
		position: absolute;
		right: 0;
		width: 100%;
		height: 2px;
		background-color: #000;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 50%;
	}
	.menu-trigger span:nth-of-type(3) {
		top: 100%;
	}
	.menu-trigger span:nth-of-type(2)::after {
		position: absolute;
		top: 0;
		right: 0;
		content: '';
		width: 100%;
		height: 2px;
		background-color: #000;
		border-radius: 4px;
		transition: all 0.4s;
	}
	.menu-trigger.active span:nth-of-type(1) {
		transform: translateY(20px) scale(0);
	}
	.menu-trigger.active span:nth-of-type(2) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2)::after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-20px) scale(0);
	}
	.menu-trigger .menu {
		font-size: 1.2rem;
		font-weight: 700;
		line-height: 1;
		width: 6em;
		margin: 4px 0 0;
		/* display: block; */
	}
}

/*----------------------------
Common Footer
----------------------------*/
.footer {
	text-align: center;
	margin: 0;
	position: relative;
	z-index: 60;
}
.footer__nav {
	padding: 22px 0;
	background: #dbdbdb;
}
.footer__nav li {
	font-weight: 700;
	line-height: 1;
	padding: 0 10px;
	display: inline-block;
	border-right: solid 2px #000;
}
.footer__nav li:first-child {
	border-left: solid 2px #000;
}
.footer__nav li a {
	font-size: 1.6rem;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.footer__nav li a:hover {
	opacity: 0.8;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.footer__tel {
	font-size: 1.8rem;
	line-height: 1;
	padding: 40px 10px 22px;
	background: #fff9b1;
}
.footer__tel a:hover {
	cursor: default;
}
.footer__tel .tel {
	width: 210px;
	margin: -20px 20px 0 5px;
}
.footer__tel .fb {
	width: 44px;
	margin: -5px 10px 0 0;
}
.footer__tel .instagram {
	width: 44px;
	margin: -5px 0 0 0;
}

@media only screen and (max-width: 800px) {
	.footer {
		padding: 15px 0 0;
	}
	.footer__nav li a {
		font-size: 1.4rem;
	}
	.footer__tel {
		font-size: 1.4rem;
		padding: 20px 0;
	}
	.footer__tel .tel {
		width: 160px;
		margin: 0 auto;
		padding: 10px 0 0;
		display: block;
	}
	.footer__tel .fb {
		width: 30px;
		margin: 10px 10px 0 0;
	}
	.footer__tel .instagram {
		width: 30px;
		margin: 10px 0 0 0;
	}
}

/*----------------------------
contents
----------------------------*/
.index.content {
	margin: -110px 0 0;
}
@media only screen and (max-width: 800px) {
	.index.content {
		margin: 65px 0 0;
	}
	.content {
		margin: 65px 0 0;
	}
}

/*----------------------------
mainvisual
----------------------------*/

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

/*----------------------------
common style
----------------------------*/
a.btn_content {
	font-weight: bold;
	text-align: left;
	margin: 0 auto;
	padding: 10px 150px 10px 30px;
	border: solid 1px #000;
	display: block;
	position: relative;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.btn_content:before {
	content: '';
	width: 1px;
	height: 100%;
	border-left: dashed 1px #000;
	position: absolute;
	left: 10px;
	top: 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.btn_content:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 15px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.btn_content:hover {
	color: #fff;
	background: #999;
	border: solid 1px #999;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.btn_content:hover:before {
	border-left: dashed 1px #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
a.btn_content:hover:after {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

@media only screen and (max-width: 800px) {
	a.btn_content {
		padding: 10px 100px 10px 30px;
	}
}

/*----------------------------
movedeco
----------------------------*/
.container {
	position: relative;
}
.movedeco {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	overflow: hidden;
}
.movedeco .wrap {
	width: 1140px;
	height: 100%;
}
@media only screen and (max-width: 800px) {
	.movedeco {
		display: none;
	}
	.movedeco .wrap {
		width: auto;
	}
}

/*----------------------------
pagetop
----------------------------*/
.pagetop {
	position: fixed;
	right: 3%;
	bottom: 3%;
	z-index: 99999;
	opacity: 0.7;
}
.pagetop.off {
	opacity: 0;
}
.pagetop:hover {
	cursor: pointer;
}
@media only screen and (max-width: 800px) {
	.pagetop {
		width: 40px;
		height: 40px;
		right: 15px;
		bottom: 15px;
	}
}

/*----------------------------
Ipad
----------------------------*/
/*@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
html {
  min-width: 1340px;
  margin: 0 auto;
}
}
*/
