@charset "utf-8";



/* --------------------------------------------------------------------------------
	html & body
-------------------------------------------------------------------------------- */
html{
	
}
body {
	margin: 0 auto;
	padding: 0;
	max-width: 800px;
	line-height: 1.5;
	text-size-adjust: 100%;
	font-family: futura-pt, 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #1e1e1e;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 4vw;
}

.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: none;
}

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;
}

/********** プレースホルダー **********/
::-webkit-input-placeholder,
::placeholder{
	color:#000;
}




/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp{
	display:block;
}
.device-sp-inline{
	display:inline;
}
.device-pc{
	display:none;
}
.device-pc-inline{
	display:none;
}

/* ----------------------------------------
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;
}




/* --------------------------------------------------------------------------------
	container
-------------------------------------------------------------------------------- */
#container{
}




/* --------------------------------------------------------------------------------
	header-sp
-------------------------------------------------------------------------------- */
/********** ヘッダー固定部分 **********/
#header-sp .h-fix.fixed{
	position: fixed;
	z-index: 10;
	top: 0;
	
	width: 100%;
	background: rgba(38,38,38,0.8);
}

#header-sp .h-txt {
	background: #96141e;
	text-align: center;
	padding: 2vw 0;
}
#header-sp .h-txt a{
	color: #ffffff !important;
	font-size: 3.4vw;
}
#header-sp .h-txt .mark{
	font-size: 3.6vw;
	font-weight: bold;
}


#header-sp .h-header{
	padding: 4vw 2.5vw 4.7vw;
}
#header-sp .h-header h1 a{
	display: block;
}
#header-sp .h-header h1 img{
	width: 57.1vw;
	display: block;
}


#header-sp .header-outer{
}

/* ----------------------------------------
inner-header
---------------------------------------- */
#header-sp .header-inner{
	display: flex;
	align-items: center;
	
	width: 100%;
	height: 14vw;
}
/********** h-catch **********/
#header-sp .h-catch{
	padding: 0 0 2vw;
	font-size: 2.6vw;
}


/********** h-btn-menu **********/
#header-sp .h-btn-menu{
	margin: 0 0 0 5vw;
}
#header-sp .h-btn-menu img{
	display: block;
	width: 6vw;
	height: auto;
}


/********** h-logo **********/
#header-sp .h-logo{
	margin: 0 18vw 0 27vw;
}
#header-sp .h-logo a{
	display: block;
}
#header-sp .h-logo img{
	display: block;
	width: 24vw;
}

/********** h-help **********/
#header-sp .h-help ul{
	display: flex;
	
	width: 15vw;
}
#header-sp .h-help ul li:nth-of-type(1){
	margin: 0 6vw 0 0;
}
#header-sp .h-help ul li:nth-of-type(1) img{
	display: block;
	width: 4vw;
}
#header-sp .h-help ul li:nth-of-type(2) img{
	display: block;
	width: 4.8vw;
}


/* --------------------------------------------------------------------------------
h-menu
-------------------------------------------------------------------------------- */
#header-sp .h-menu{

	display: none;
	
	position: fixed;
	z-index: 200;
	
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	color: #fff;
	background: #262626;
	padding: 4.5vw 5vw;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
body.menu-active #header-sp .h-menu{
	display: block;
}
body.menu-active #header-sp .h-menu a {
	color: #fff;
}




/********** h-icon-close **********/
#header-sp .h-icon-close{
	display: flex;
	justify-content: center;
	align-items: center;
	
	margin: 0 0 4vw 0;
	width: 5vw;
	height: 5vw;
}
#header-sp .h-icon-close img{
	display: block;
	width: 5vw;
	height: 5vw;
}


/********** h-menu-list **********/
#header-sp .h-menu-list .h-menu-list-box{
	margin: 0 0 7.5vw;
	padding: 0 0 5vw;
	border-bottom: solid 1px #744c6c;
}
#header-sp .h-menu-list .h-menu-list-box:last-child{
	border-bottom: none;
}
#header-sp .h-menu-list .heading{
	padding: 1vw 0 1vw;
	text-align: center;
	font-size: 4.6vw;
}
#header-sp .h-menu-list .heading a{
	display: block;
	text-align: center;
}
#header-sp .h-menu-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .h-menu-list ul li{
	width: 50%;
	padding: 1vw 0;
}
#header-sp .h-menu-list ul li a{
	display: block;
	
	padding: 2.3vw 0;
	text-align: center;
	color: #fff;
	line-height: 1.4;
	font-size: 3.6vw;
	background: url("images/common-device/sp-menu-arrow.svg") no-repeat calc(100% - 5.2vw) 50%;
	background-size: 2vw auto;
}





/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
	padding: 8vw 0 0;
}

/********** フッターコンテンツ **********/
#footer-sp .footer-outer {
	background: #1e1e1e;
}
#footer-sp .footer-inner {
	padding: 10vw 0 5vw;
}
#footer-sp .footer-inner a {
	color: #fff;
}

/********** ロゴ **********/
#footer-sp .f-logo {
	display: flex;
	justify-content: center;
	margin: 0 auto 6vw;
}
#footer-sp .f-logo a {
	display: block;
}
#footer-sp .f-logo img {
	display: block;
	width: 30vw;
	height: auto;
}

/********** f-info **********/
#footer-sp .f-info {
	text-align: center;
	font-size: 2.8vw;
	color: #fff;
}
#footer-sp .f-info .f-hojo {
	padding: 0 0 1vw;
	line-height: 1.3;
}
#footer-sp .copyright small {
	font-size: 1em;
}

/********** fix-btn-pagetop **********/
#footer-sp .fix-btn-pagetop{
	position: fixed;
	z-index: 100;
	right: 0;
	bottom: 0;
}
#footer-sp .fix-btn-pagetop a{
	display: block;
}
#footer-sp .fix-btn-pagetop img{
	display: block;
	width: 10vw;
	height: 10vw;
}

