@charset "UTF-8";

/**
 * ヘッダーと余白の設定
**/
/* ログイン前 */
/* layout.header.user.css */
/* ログイン後 */
/* layout.header.member.css */

/**
 * ヘッダーラッパー
**/
header .wrap {
	width: 100%;
	height: 100%;
	position: relative;
	font-family: 'Kosugi Maru', sans-serif;
}

header.logo-area {
	background: #fff;
	padding: 0.25rem;
	height: auto;
	margin: 0 0 1rem;
	position: static;
}
header.logo-area img {
	width: auto;
	height: 2rem;
}

/**
 * ヘッダーロゴ
**/

#logo {
	max-width: 11.25rem;
	position: absolute;
	top: 50%;
	left: 1.25rem;
	z-index: 1;
	transform: translate(0,-50%);
	transition: all 0.6s ease 0.2s;
}
@media only screen and (max-width: 1343px){
	header.user #logo {max-width: 10rem;}
	header.member #logo {width: calc( 100% - 925px - 5.75rem );}
}
@media only screen and (max-width: 1200px){
	header.member #logo {
		max-width: none;
		width: auto;
		position: static;
		transform: none;
		text-align: center;
		padding: 1rem 0;
	}
	header.member #logo img {
		width: auto;
		height: 2rem;
	}
}
@media only screen and (max-width: 768px){
	header.user #logo,
	header.member #logo {
		max-width: 10rem;
		position: absolute;
		top: 50%;
		left: 1rem;
		z-index: 1;
		transform: translate(0,-50%);
		padding: 0;
	}
	header.user #logo img,
	header.member #logo img {
		width: 100%;
		height: auto;
	}
}

/**
 * ナビゲーション
**/
header nav {
	max-width: 925px;
	width: 100%;
	height: 100%;
	margin: 0 5rem 0 auto;
	font-size: 0.875rem;
	font-weight: 700;
}
@media only screen and (max-width: 1343px){
	header nav {
		margin: 0 4rem 0 auto;
		font-size: 0.75rem;
	}
}
@media only screen and (max-width: 1200px){
	header.member nav {
		max-width: none;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 768px){
	header nav,
	header.user nav {display: none;}
	header.member nav {
		padding: 2.5rem 0 0;
		display: block;
		height: auto;
	}
}

/**
 * ナビゲーション リスト
**/
header nav > ul {
	height: 100%;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	background: #fff;
}
@media only screen and (max-width: 768px){
	header.member nav > ul {
		height: 4rem;
		background: #e2f3f6;
	}
}

header nav > ul > li {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 0 2.5rem;
	text-align: center;
}
header.user nav > ul > li {min-width: 7rem;}
header.member nav > ul > li {width: 100%;}
@media only screen and (max-width: 1343px){
	header.user nav > ul > li {padding: 0 1.25rem;}
}
/*@media only screen and (max-width: 1200px){}*/
/*@media only screen and (max-width: 768px){}*/

header nav > ul > li.h-btn,
header nav > ul > li.h-btn-nolink {padding: 0;}

header nav > ul > li > a,
header nav > ul > li > span {color: #313131;}

header nav > ul > li.h-btn > a,
header nav > ul > li.h-btn-nolink > a,
header nav > ul > li.h-btn > span,
header nav > ul > li.h-btn-nolink > span {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0 0.75rem;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	line-height: 1.75rem;
	border: solid 1px #f00;
	background: #f00;
	color: #fff;
	position: relative;
	cursor: pointer;
}
header nav > ul > li.h-btn > a:hover,
header nav > ul > li.h-btn-nolink > a:hover,
header nav > ul > li.h-btn > a:focus,
header nav > ul > li.h-btn-nolink > a:focus {opacity: 0.8;}

/* h-btn color setting border01 */
header nav > ul > li.h-btn.border01 > a,
header nav > ul > li.h-btn-nolink.border01 > a,
header nav > ul > li.h-btn.border01 > span,
header nav > ul > li.h-btn-nolink.border01 > span {
	border-style: solid;
	border-width: 1px;
	border-color: transparent transparent #d9d9d8 #d9d9d8;
	background: transparent;
	color: inherit;
}
header nav > ul > li.h-btn.border01:last-child > a,
header nav > ul > li.h-btn-nolink.border01:last-child > a,
header nav > ul > li.h-btn.border01:last-child > span,
header nav > ul > li.h-btn-nolink.border01:last-child > span {border-right: solid 1px #d9d9d8;}
header nav > ul > li.h-btn.border01 > a:hover,
header nav > ul > li.h-btn-nolink.border01 > a:hover,
header nav > ul > li.h-btn.border01 > a:focus,
header nav > ul > li.h-btn-nolink.border01 > a:focus {background-color: #f2f2f1;}

/* h-btn color setting color01 */
header nav > ul > li.h-btn.color01 > a,
header nav > ul > li.h-btn-nolink.color01 > a,
header nav > ul > li.h-btn.color01 > span,
header nav > ul > li.h-btn-nolink.color01 > span {
	border: solid 1px #16b6cd;
	background: #16b6cd;
	color: #fff;
}
/* h-btn colo color02 */
header nav > ul > li.h-btn.color02 > a,
header nav > ul > li.h-btn-nolink.color02 > a,
header nav > ul > li.h-btn.color02 > span,
header nav > ul > li.h-btn-nolink.color02 > span {
	border: solid 1px #e61e19;
	background: #e61e19;
	color: #fff;
}
/* h-btn color setting color03 */
header nav > ul > li.h-btn.color03 > a,
header nav > ul > li.h-btn-nolink.color03 > a,
header nav > ul > li.h-btn.color03 > span,
header nav > ul > li.h-btn-nolink.color03 > span {
	border: solid 1px #f8b62b;
	background: #f8b62b;
	color: #fff;
}

header nav > ul > li.h-btn > a > i,
header nav > ul > li.h-btn-nolink > a > i,
header nav > ul > li.h-btn > span > i,
header nav > ul > li.h-btn-nolink > span > i {
	display: block;
	max-width: 5rem;
	margin: 0 auto;
	width: 100%;
	text-align: center;
}

header nav > ul > li.h-btn > a > .badge + i,
header nav > ul > li.h-btn-nolink > a > .badge + i,
header nav > ul > li.h-btn > span > .badge + i,
header nav > ul > li.h-btn-nolink > span > .badge + i {text-align: left;}

header nav > ul > li.h-btn > a > i img,
header nav > ul > li.h-btn-nolink > a > i img,
header nav > ul > li.h-btn > span > i img,
header nav > ul > li.h-btn-nolink > span > i img {
	max-width: 3.5rem;
	width: 100%;
	height: auto;
}
@media only screen and (max-width: 1343px){
	header nav > ul > li.h-btn > a > i img,
	header nav > ul > li.h-btn-nolink > a > i img,
	header nav > ul > li.h-btn > span > i img,
	header nav > ul > li.h-btn-nolink > span > i img {max-width: 3rem;}
}

header nav > ul > li.h-btn > a > span,
header nav > ul > li.h-btn-nolink > a > span,
header nav > ul > li.h-btn > span > span,
header nav > ul > li.h-btn-nolink > span > span {
	display: block;
	width: 100%;
	text-align: center;
	line-height: 1.25;
}

header nav > ul > li.h-btn > a > .badge,
header nav > ul > li.h-btn-nolink > a > .badge,
header nav > ul > li.h-btn > span > .badge,
header nav > ul > li.h-btn-nolink > span > .badge {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	min-width: 2rem;
	width: auto;
	height: 2rem;
	border-radius: 2rem;
	background: #f00;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	position: absolute;
	right: 1rem;
	top: 1rem;
	z-index: 1;
	transition: all 0.6s ease 0.2s;
}
@media only screen and (max-width: 1343px){
	header nav > ul > li.h-btn > a > .badge,
	header nav > ul > li.h-btn-nolink > a > .badge,
	header nav > ul > li.h-btn > span > .badge,
	header nav > ul > li.h-btn-nolink > span > .badge {
		right: 1rem;
		top: 0.5rem;
	}
}

header nav > ul > li .no-info {
	content: "";
	position: absolute;
	top: -0.25rem;
	right: 0.5rem;
	width: 1.125rem;
	height: 1.125rem;
	line-height: 1.125rem;
	background: #fffc20;
	border-radius: 1.875rem;
	font-size: 70%;
}

/**
 * 下部固定ボタン
**/
@media only screen and (min-width: 569px){
	.bottom-btn {display: none;}
}
.bottom-btn {
	width: 100%;
	position: fixed;
	bottom: 0;
	text-align: center;
	padding: 5pt;
	background: rgba(255, 255, 255, .85);
	box-sizing: border-box;
	box-shadow: 0 -2px 0.625rem 0 rgba(0, 0, 0, .08);
	z-index: 2;
}
.bottom-btn > div {margin: 0 auto;}
.bottom-btn .btn-box2 {max-width: 100%;}
.bottom-btn .btn-box2 .btn {
	flex-basis: 49%;
	max-width: none;
}

/**
 * ハンバーガー
**/
#nav-drawer {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
}
header.member #nav-drawer {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #000;
	width: 5.625rem;
	height: 100%;
}
@media only screen and (max-width: 1343px){
	header.member #nav-drawer {
		width: 4rem;
		height: 100%;
	}
}
@media only screen and (max-width: 768px){
	header.member #nav-drawer,
	#nav-drawer {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: nowrap;
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-align-content: center;
		-ms-flex-line-pack: center;
		align-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		background: #e71f1a;
		width: 2.5rem;
		height: 2.5rem;
	}
}

/*チェックボックス等は非表示に*/
.nav-unshown {display: none;}

#nav-open {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	cursor: pointer;
	position: relative;
	z-index: 100;
}
#nav-open span,
#nav-open span::before,
#nav-open span::after {
	display: block;
	height: 3px;
	width: 1.375rem;
	background: #fff;
	transition: all 0.2s ease;
}
header.member #nav-open span,
header.member #nav-open span::before,
header.member #nav-open span::after {
	height: 5px;
	width: 2.25rem;
	background: #fff;
}
@media only screen and (max-width: 1343px){
	header.member #nav-open span,
	header.member #nav-open span::before,
	header.member #nav-open span::after {
		height: 3px;
		width: 2rem;
	}
}
@media only screen and (max-width: 768px){
	header.member #nav-open span,
	header.member #nav-open span::before,
	header.member #nav-open span::after {
		height: 3px;
		width: 1.375rem;
		background: #fff;
	}
}

#nav-open span {
	position: relative;
	margin: 0 auto;
}
#nav-open span::before,
#nav-open span::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
}
#nav-open span::before {transform: translate(-50%,-300%);}
#nav-open span::after {transform: translate(-50%,300%);}

:checked + #nav-open span {width: 0% !important;}
:checked + #nav-open span::before {transform: translate(-50%,0) rotate(135deg);}
:checked + #nav-open span::after {transform: translate(-50%,0) rotate(-135deg);}

/**
 * ナビゲーション サイド オーバーレイ
**/
#nav-close {
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #e71f1a;
	opacity: 0;
	transition: all 0.3s ease;
	pointer-events: none;
}
#nav-input:checked ~ #nav-close {
	opacity: 0.75;
	pointer-events: auto;
	transition: all 0.3s ease;
}

/**
 * ナビゲーション サイド
**/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	width: 90%;
	height: 100vh;
	max-width: 21.875rem;
	background: #fff;
	border-left: 0.25rem solid;
	transition: 0.3s ease-in-out;
	transform: translateX(105%);
}
header.member #nav-content {
	top: 5.625rem;
	height: calc( 100vh - 5.625rem );
}
@media only screen and (max-width: 1343px){
	header.member #nav-content {
		top: 4rem;
		height: calc( 100vh - 4rem );
	}
}
@media only screen and (max-width: 1200px){
	header.member #nav-content {
		top: 8rem;
		height: calc( 100vh - 8rem );
	}
}
@media only screen and (max-width: 768px){
	#nav-content,
	header.user #nav-content,
	header.member #nav-content {
		top: 2.5rem;
		height: calc( 100vh - 2.5rem );
	}
}

#nav-input:checked ~ #nav-content {
	transform: translateX(0%);
	box-shadow: 0.375rem 0 1.5625rem rgba(0,0,0,0.15);
}
#nav-content ul {border-top: solid 0.25rem #c1c1c1;}
#nav-content ul:first-child {border-bottom: none;}
#nav-content ul li {margin: 0;}
#nav-content ul li a {
	padding: 0.625rem 0.9375rem;
	border-bottom: solid 1px #c1c1c1;
	font-weight: 700;
	letter-spacing: 1px;
	display: block;
	position: relative;
}
#nav-content ul li a::after {
	content: '';
	top: 50%;
	right: 0.9375rem;
	width: 0.5rem;
	height: 0.5rem;
	display: block;
	position: absolute;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg) translate(-50%,-50%);
}

/**
 * パンくず
**/

/****/
.pan_wrap {
	width: 100%;
	padding: 0 0.9375rem;
	background: #ebe6db;
}
#topics {margin: auto;}
#topics ol {
	width: 100%;
	padding: 0.625rem 0 0.625rem 0;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
#topics li {
	line-height: 1.4em;
	font-size: 0.75rem;
	color: #111;
}
#topics li::before {
	content: '/';
	padding: 0 0.25rem;
}
#topics li:first-child::before {content: none;}
@media screen and (max-width: 768px){
	.pan_wrap #topics ol {
		display: block;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		overflow: auto;
		white-space: nowrap;
	}
	.pan_wrap #topics li {
		display: inline;
		flex: 0 0 40%;
	}
}

/**footer**/
footer {
	background-color: #fff;
	color: inherit;
	margin-top: 3rem;
}
footer > div {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}
#copyright {
	background-color: #ebe6db;
	color: inherit;
}

footer .text {
	text-align: center;
	font-size: 0.875rem;
	font-weight: bold;
	color: inherit;
	padding-top: 0.5rem;
	margin: 0 auto;
}
@media only screen and (min-width: 569px){
	footer {
		padding-top: 1.25rem;
		text-align: center;
	}
	footer .logo {
		width: 16rem;
		padding: 1rem 0 0;
	}
	footer .logo img {
		max-width: 12.5rem;
		width: 100%;
		height: auto;
	}
	footer nav {width: calc( 100% - 16rem );}
	footer .btn-box2 + nav {width: 100%;}
	footer nav > ul {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		-ms-flex-pack: end;
		justify-content: center;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		-webkit-align-items: stretch;
		-ms-flex-align: stretch;
		align-items: stretch;
	}
	footer nav > ul > li {
		margin: 1rem 0 0;
		padding: 0 0.5rem;
		border-right: 1px #000 solid;
	}
	footer nav > ul > li:last-of-type {
		border-right: none;
	}
	footer nav > ul > li a {
		font-size: 0.875rem;
		font-weight: bold;
		color: inherit;
	}

	footer nav > ul > li a:hover {
		text-decoration: underline;
		opacity: 0.8;
	}

	footer .btn-box2 {
		width: calc( 100% - 16rem );
		max-width: none;
		margin: 2.1875rem 0 0;
	}
	#copyright {
		width: 100%;
		font-size: 0.75rem;
		font-weight: 500;
		text-align: center;
		line-height: 1;
		margin: 2rem 0 0;
		padding: 0.5rem 0;
	}
}
@media only screen and (max-width: 568px){
	footer {
        margin-top: 0;
		padding: 1.25rem 0 0;
	}
	footer .container {padding: 0 1.25rem;}
	footer .logo {
		width: 100%;
		text-align: center;
		-webkit-order: 1;
		-ms-flex-order: 1;
		order: 1;
	}
	footer .logo img {
		max-width: 10rem;
		width: 100%;
		height: auto;
	}
	footer .btn-box2 {margin-bottom: 2rem;}
	footer nav {
		-webkit-order: 0;
		-ms-flex-order: 0;
		order: 0;
		min-height: 10rem;
		padding-bottom: 1rem;
	}
	footer nav > ul {
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: flex-start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		-webkit-align-content: stretch;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		-webkit-align-items: flex-start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	footer nav > ul > li {
		width: 50%;
		margin: 0 0 0.5rem;
	}
	footer nav > ul > li a {
		font-size: 0.75rem;
		font-weight: inherit;
		line-height: 1rem;
		color: inherit;
	}
	#copyright {
		width: 100%;
		font-size: 0.625rem;
		line-height: 1;
		text-align: center;
		margin: 1.25rem 0 0;
		padding: 0.5rem 0;
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
	}
}
	