@charset "utf-8";

/* ****************************************************

layout.css
-----------------------------------
1: common parts for PC
	1-1: header
	1-2: main
	1-3: footer
-----------------------------------
2: common parts for Smartphone
	2-1: header
	2-2: main
	2-3: footer
-----------------------------------
3: print for PC
-----------------------------------
ex: clearfix

***************************************************** */


/*=================================

	1: common parts for PC

================================ */

@media print, screen and (min-width: 736px) {


/* 1-1: header
================================ */
.gnav {
	position: relative;
	z-index: 1100;
}
.gnav__wrap {
	border-top: 2px solid #d3ab5d;
	position: relative;
	z-index: 500;
	background: #fff9f6;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.gnav__wrap:before {
	position: absolute;
	z-index: 1200;
	top: 0;
	left: 0;
	height: 5px;
	width: 100%;
	content: "";
	background: url(/sp/tepra_ribon/common/img/com_bg06.png) 0 0 repeat-x;
}
.gnav__inner {
	width: 980px;
	margin: 0 auto;
}
.gnav__head {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -149px;
	z-index: 1000;
}
.gnav__trgger {
	display: table;
	width: 100%;
	height: 72px;
}
.gnav__trgger > a {
	width: 50%;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.gnav__trgger > a > span {
	display: inline-block;
	padding-right: 30px;
	background: url(/sp/tepra_ribon/common/img/com_ic10.png) 100% 50% no-repeat;
}
.gnav__trgger > a.isCurrent {
	-webkit-transition: all ease 0.4s;
	transition: all ease 0.4s;
	background-color: #fde3d5;
}
.gnav__trgger > a.isCurrent > span {
	background-image: url(/sp/tepra_ribon/common/img/com_ic10_on.png);
}
.gnav__content {
	width: 980px;
	position: absolute;
	z-index: 900;
	top: 74px;
	left: 50%;
	margin-left: -490px;
}

.gnavLink {
	position: relative;
	padding: 40px 20px 30px;
	background: #faf0ea;
	box-shadow: 1px 0 1px rgba(230, 231, 232, 0.5);
	display: none;
}
.gnavLink > *:first-child {
	margin-top: 0 !important;
}
.gnavLink__section {
	margin-top: 30px;
}
.gnavLink__head {
	text-align: center;
}
.gnavLink__head + * {
	margin-top: 20px;
}
.gnavLink__list__elem {
	float: left;
	width: 220px;
	margin-left: 20px;
	background: #fff;
	color: #735a44;
}
.gnavLink__list__elem:first-child,
.gnavLink__list__elem:nth-child(4n+1) {
	margin-left: 0;
	clear: left;
}
.gnavLink__list__elem:nth-child(n+5) {
	margin-top: 20px;
}
.gnavLink__list__elem:hover .gnavLink__list__detail,
.gnavLink__list__elem.isCurrent .gnavLink__list__detail {
	background-color: #f1a26e;
	background-repeat: no-repeat;
	background-image: url(/sp/tepra_ribon/common/img/com_ic07_on.png);
	color: #fff;
}
.gnavLink__list__elem:hover .gnavLink__list__img,
.gnavLink__list__elem.isCurrent .gnavLink__list__img {
	opacity: 0.9;
}
.gnavLink__list__elem > a {
	display: table;
	width: 100%;
	color: inherit;
	text-decoration: none !important;
	table-layout: fixed;
}
.gnavLink__list__img {
	display: table-cell;
	width: 100px;
}
.gnavLink__list__detail {
	padding-left: 30px;
	background-image: url(/sp/tepra_ribon/common/img/com_ic07.png);
	background-position: 8px 50%;
	background-repeat: no-repeat;
	display: table-cell;
	vertical-align: middle;
	line-height: 1.2;
}

/* 1-2: main
================================ */
.contents {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}

#page {
	padding: 15px 0 100px;
	background-color: #fff;
	background: url(/sp/tepra_ribon/common/img/com_bg01_01.png) 50% 0 no-repeat,
	url(/sp/tepra_ribon/common/img/com_bg01.gif) 50% 0 repeat-y;
}
#page.isBg02 {
	background-color: #fff;
	background: url(/sp/tepra_ribon/common/img/com_bg09_01.png)50% 0 no-repeat,
	url(/sp/tepra_ribon/common/img/com_bg09.png) 50% 0 repeat;
}


/* 1-3: footer
================================ */
.footer__sns {
	margin-top: 35px;
	text-align: center;
}
.footer__sns > ul {
	display: inline-block;
}
.footer__sns > ul > li {
	float: left;
}
.footer__sns > ul > li + li {
	margin-left: 10px;
}
.footer__sns > ul > li img {
	width: 37px;
	height: 37px;
}
.footer__sns > ul > li a img {
	transition:all ease 0.3s;
}
.footer__sns > ul > li a:hover img {
	transition:all ease 0.3s;
	opacity: 0.7;
}
.footer__logo {
	margin-top: 40px;
	text-align: center;
}

.copyright {
	margin-top: 30px;
	padding: 10px;
	background: #c8b479;
}
.copyright__txt {
	text-align: center;
	color: #fff;
	font-size: 12px;
}
}


@media only screen and (max-width: 735px) {

/*=================================

	2: common parts for Smartphone

================================ */
body {
	overflow: hidden;
}
body.isMenuOpen {
	height: 100vh;
	overflow: hidden;
}

/* 2-1: header
================================ */
/* gnav */
#gnav h1 {
	width: 215px;
}
.gnav__wrap {
	border-top: 2px solid #f9d7c5;
	position: relative;
	z-index: 9999;
	padding: 10px;
	background: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.gnav__trgger {
	display: none;
}
.gnav__content {
	display: none;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100vh;
	overflow-y: scroll;
	background: rgba(250, 250, 250, 0.9);
}
.gnavLink {
	position: relative;
	margin: 30px 0 80px;
	box-shadow: 1px 0 1px rgba(230, 231, 232, 0.5);
}
.gnavLink:first-child {
	margin: 80px 0 30px;
}
.gnavLink__section + .gnavLink__section {
	border-top: 1px solid #fff;
}
.gnavLink__head {
	text-align: center;
	padding: 15px;
	background: url(/sp/tepra_ribon/common/img/com_ic10_sp_on.png) 95% 50% no-repeat;
	background-size: 20px auto;
	cursor: pointer;
}
.gnavLink__head > img {
	width: 31%;
}
.gnavLink__head.isCurrent {
	background: url(/sp/tepra_ribon/common/img/com_ic10_sp.png) 95% 50% no-repeat;
	background-size: 20px auto;
}
.gnavLink__list {
	margin-top: 20px;
	display: -webkit-flex;
	/* Safari */
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
	border-top: 1px solid #fff;
}
.gnavLink__list__elem {
	-webkit-flex-basis: 48%;
	flex-basis: 48%;
	background: #fff;
	color: #735a44;
	border-bottom: 1px solid #fff;
}
.gnavLink__list__elem:nth-child(n+3) {
	margin-top: 10px;
}
.gnavLink__list__elem.isCurrent .gnavLink__list__detail {
	background-color: #f1a26e;
	background-image: url(/sp/tepra_ribon/common/img/com_ic07_on.png);
	color: #fff;
}
.gnavLink__list__elem > a {
	display: block;
	width: 100%;
	color: inherit;
}
.gnavLink__list__detail {
	padding: 10px 10px 10px 30px;
	background-image: url(/sp/tepra_ribon/common/img/com_ic07.png);
	background-position: 8px 50%;
	background-repeat: no-repeat;
	background-size: 15px;
	background-color: #fff;
}
/* js__spSwitch */
.js__spSwitch {
	z-index: 10000;
	position: absolute;
	top: 10px;
	right: 10px;
	height: 50px;
	width: 50px;
}
.js__spSwitch > a {
	height: 100%;
	width: 100%;
	display: block;
	position: relative;
	background-color: #fff;
	border-radius: 50%;
}
.js__spSwitch > a > span {
	display: inline-block;
	position: absolute;
	left: 50%;
	width: 26px;
	height: 3px;
	border-radius: 3px;
	margin-left: -13px;
	background-color: #c8b479;
	-webkit-transition: all ease 0.4s;
	transition: all ease 0.4s;
}
.js__spSwitch > a > span:nth-of-type(1) {
	top: 14px;
}
.js__spSwitch > a > span:nth-of-type(2) {
	top: 22px;
}
.js__spSwitch > a > span:nth-of-type(3) {
	top: 30px;
}
.js__spSwitch.isCurrent > a > span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.js__spSwitch.isCurrent > a > span:nth-of-type(2) {
	left: 50%;
	opacity: 0;
}
.js__spSwitch.isCurrent > a > span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}


/* 2-2: main
================================ */
#page {
	background-color: #f9f3f1;
	background: url(/sp/tepra_ribon/common/img/com_bg01_01_sp.png) 50% 0 no-repeat,
		url(/sp/tepra_ribon/common/img/com_bg01.gif) 0% 0 repeat-y;
	background-size: 100% auto;
}
#page.isBg02 {
	background-color: #fff;
	background: url(/sp/tepra_ribon/common/img/com_bg09_01_sp.png) 50% 0 no-repeat,
	url(/sp/tepra_ribon/common/img/com_bg09.png) 50% 0 repeat;
	background-size: 100% auto,320px auto;
}

/* 2-3: footer
================================ */
.footer__sns {
	margin-top: 25px;
	text-align: center;
}
.footer__sns > ul {
	display: inline-block;
}
.footer__sns > ul > li {
	float: left;
}
.footer__sns > ul > li + li {
	margin-left: 10px;
}
.footer__sns > ul > li img {
	width: 46px;
}
.footer__logo {
	margin-top: 30px;
	text-align: center;
}
.footer__logo img {
	width: 125px;
}
.copyright {
	margin-top: 15px;
	padding: 8px;
	background: #c8b479;
}
.copyright__txt {
	text-align: center;
	color: #fff;
	font-size: 10px;
}
}


/*=================================

	3: Print

================================ */
@media print {
}


/*=================================

	clearfix

=================================*/
.cliarfix:after {
	content: "";
	display: block;
	clear: both;
}