@charset "utf-8";


/* --------------------------------------------------------------------------------
	タグ
-------------------------------------------------------------------------------- */
html{
	
}
body {
	margin: 0;
	padding: 0;
	min-width: 1200px;
	line-height: 1.5;
	text-size-adjust: 100%;
	
	font-family: futura-pt, 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 17px;
	color: #1e1e1e;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 14px;
}

.common * {
	margin: 0;
	padding: 0;
	font-family: futura-pt, 'Noto Sans JP', sans-serif;
}

.common h1,
.common h2,
.common h3,
.common h4,
.common h5,
.common h6 {
	font-size: 1em;
}
.common ol,
.common ul{
	list-style: none;
}
.common table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1em;
}
.common a,
.common a:link,
.common a:visited{
	text-decoration: none;
	color: #1e1e1e;
	-webkit-tap-highlight-color: rgba(0,0,0,0.1);
	tap-highlight-color: rgba(0,0,0,0.8);
}
.common a:hover,
.common a:active{
	text-decoration: underline;
}

input,
select,
textarea{
	outline: none !important;
	box-shadow: none !important;
}


/* --------------------------------------------------------------------------------
	共通クラス
-------------------------------------------------------------------------------- */
.clear{
	clear:both;
}
br.clear{
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	height: 0;
	border: none;
	visibility: hidden;
	font-size: 0;
}
.clearfix::after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix{
	min-height:1%;
}
* html .clearfix{
	height:1%;
	/*\*//*/
	height:auto;
	overflow:hidden;
	/**/
}

.font-mincho,
.font-mincho *{
	font-family: ryo-display-plusn, serif;
	font-weight: 400;
}


/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display: none;
}
.device-sp-inline{
	display: none;
}
.device-pc{
	display: block;
}
.device-pc-inline{
	display: inline;
}

.inner{
	width: 1140px;
	margin: 0 auto;
}


/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}


/* --------------------------------------------------------------------------------
	header
-------------------------------------------------------------------------------- */
#header{
	
}

/* ----------------------------------------
customer表示切り替え
---------------------------------------- */
/********** ログイン・ログアウトの表示切り替え：ログアウト時 **********/
.my-false .logout{
	display: block !important;
}
.my-false .login{
	display: none !important;
}
/********** ログイン・ログアウトの表示切り替え：ログイン時 **********/
.my-true .logout{
	display: none !important;
}
.my-true .login{
	display: block !important;
}

/* ----------------------------------------
ヘッダー固定部分
---------------------------------------- */
#header .h-fix.fixed{
	position: fixed;
	z-index: 100;
	top: 0;
	
	width: 100%;
}

#header .h-txt {
	background: #96141e;
	text-align: center;
	padding: 4px 0;
}
#header .h-txt a{
	color: #ffffff !important;
	font-size: 20px;
	letter-spacing: 0.075em;
}
#header .h-txt .mark{
	font-size: 22px;
	font-weight: bold;
}

/* ----------------------------------------
ヘッダーコンテンツ
---------------------------------------- */
#header .header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	
	width: 100%;
	height: 110px;
	padding: 0 80px;
	background: rgba(38,38,38,0.8);
}

/********** ロゴ **********/
#header .h-logo a{
	display: block;
}
#header .h-logo img{
	display: block;
	width: 187px;
	height: auto;
}

/********** ナビゲーション **********/
#header .h-nav{
}
#header .h-nav ul{
	display: flex;
	justify-content: center;
	
	width: 353px;
	padding: 0 0 0 15px;
}
#header .h-nav ul li{
	position: relative;
	padding: 0 40px;
}
#header .h-nav ul li::after{
	position: absolute;
	right: 0;
	top: 50%;
	margin: -9px 0 0;
	
	content: '';
	width: 2px;
	height: 18px;
	background: rgba(255,255,255,0.5);
}
#header .h-nav ul li:last-child::after{
	display: none;
}
#header .h-nav ul li a{
	display: block;
	font-size: 19px;
	color: #fff;
}

/********** help **********/
#header .h-help ul{
	display: flex;
	
	width: 105px;
	margin: 0 0 0 60px;
}
#header .h-help ul li:nth-of-type(1){
	margin: 0 50px 0 0;
}




/* --------------------------------------------------------------------------------
	footer
-------------------------------------------------------------------------------- */
#footer {
	padding: 100px 0 0;
}

/********** フッターコンテンツ **********/
#footer .footer-outer {
	padding: 0 0 25px;
	background: #1e1e1e;
	font-weight: 300;
}
#footer .footer-inner {
	padding: 50px 0 0;
}
#footer .footer-inner a {
	color: #fff;
}

/********** col **********/
#footer .f-cols{
	display: flex;
	
	width: 100%;
}
#footer .col-logo{
	width: 250px;
}
#footer .col-sitemap{
	width: 550px;
}

/********** ロゴ **********/
#footer .f-logo {
}
#footer .f-logo a {
	display: block;
	width: 180px;
}
#footer .f-logo img {
	display: block;
	width: 100%;
	height: auto;
}

/********** サイトマップ **********/
#footer .sitemap {
	display: flex;
	
	width: 100%;
}
#footer .sitemap .sitemap-box {
	display: flex;
	
	width: 210px;
}
#footer .sitemap .sitemap-box:last-child {
	width: 250px;
}
#footer .sitemap ul {
}
#footer .sitemap ul li {
	padding: 0 10px 9px 0;
}
#footer .sitemap ul li:last-child {
	padding-bottom: 0;
}
#footer .sitemap ul li a {
	display: block;
	padding: 0 0 0 0;
	font-size: 14px;
}

/********** f-info **********/
#footer .f-info {
	text-align: right;
	font-size: 11px;
	color: #fff;
}
#footer .f-info .f-hojo {
	padding: 0 0 5px;
}
#footer .copyright small {
	font-size: 12px;
}

/********** fix-btn-pagetop **********/
#footer .fix-btn-pagetop{
	position: fixed;
	z-index: 100;
	right: 0;
	bottom: 0;
}
#footer .fix-btn-pagetop a{
	display: block;
}
#footer .fix-btn-pagetop img{
	display: block;
}





