@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: 'Roboto', 'Noto Sans CJK JP', sans-serif;
	font-weight: 400;
	
	color: #333;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

address{
	font-style: normal;
}


/* --------------------------------------------------------------------------------
	共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common {
	text-align: left;
	font-size: 3.2vw;
}

.common * {
	margin: 0;
	padding: 0;
}

.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: #333;
	-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;
	/**/
}

/********** プレースホルダー **********/
::-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{
	box-shadow: 0 0 1vw rgba(0,0,0,0.3);
}

/********** ヘッダー固定部分 **********/
#header-sp .h-fix.fixed{
	position: fixed;
	z-index: 10;
	top: 0;
	
	width: 100%;
	background: #fff;
	box-shadow: 0 0 1vw rgba(0,0,0,0.3);
}

/********** メニュー・ロゴ・ヘルプ **********/
#header-sp .h-menu-logo-help {
	display: flex;
	width: 100%;
	
	background: #000;
}

/********** メニューボタン **********/
#header-sp .h-menu-logo-help .btn-menu-open{
	display: flex;
	align-items: center;
	
	width: 25.5vw;
	padding: 0 0 0 4vw;
}
#header-sp .h-menu-logo-help .btn-menu-open img {
	display: block;
	filter: invert(1);
	
	width: 6vw;
	height: 6vw;
}

/********** ロゴ **********/
#header-sp .h-catch-logo {
	width: 49vw;
	padding: 2vw 0;
}

/* h1 */
#header-sp .h-catch-logo h1 {
	padding: 0 0 1vw;
	text-align: center;
	font-size: 2.6vw;
	color: #fff;
}

/********** h-help **********/
#header-sp .h-help{
	margin: 0 0 0 auto;
	padding: 5vw 2.5vw 0 0;
}
#header-sp .h-help ul{
	display: flex;
	
	align-items: center;
}
#header-sp .h-help ul li {
	margin: 0 4vw 0 0;
}
#header-sp .h-help ul li:last-child {
	margin-right: 0;
}
#header-sp .h-help ul li a{
	display: flex;
}
#header-sp .h-help ul li a img{
	display: block;
	filter: invert(1);
	
	width: 6vw;
	height: 6vw;
}
#header-sp .h-help ul li a span{
	display: block;
}

/* --------------------------------------------------------------------------------
h-menu
-------------------------------------------------------------------------------- */
#header-sp .h-menu {
	display: none;
	
	position: absolute;
	z-index: 200;
	
	top: 0;
	right: 0;
	left: 0;
	
	background: #fff;
	
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

/********** 閉じる・名前 **********/
#header-sp .btn-close-name{
	padding: 5.5vw 4vw;
	
	background: #1e1e1e;
}

/* 名前 */
#header-sp .h-name{
	font-size: 3.6vw;
	color: #fff;
}
#header-sp .h-name .lastname{
	margin: 0 0 0 1em;
}
#header-sp .h-name .my-false .lastname{
	margin-left: 0;
}

/********** 閉じる：h-btn-close **********/
#header-sp .btn-close-name .h-btn-close{
	width: 5vw;
	padding: 0 0 4.5vw;
}
#header-sp .btn-close-name .h-btn-close img{
	display: block;
	width: 5vw;
	height: 5vw;
}

/* --------
overlay
ハンバーガーメニューのオーバーレイ
-------- */
#header-sp .overlay {
	display: none;
	
	position: fixed;
	z-index: 99;
	top: 0;
	right: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
}


/* --------------------------------------------------------------------------------
ボタン
-------------------------------------------------------------------------------- */
#header-sp .btn-member {
	padding: 4vw 4vw;
}
#header-sp .btn-member ul {
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .btn-member ul li {
	width: 44vw;
}
#header-sp .btn-member ul li a {
	display: flex;
	align-items: center;
	
	width: 100%;
	height: 14vw;
	border-radius: 1.6vw;
	border: solid 0.6vw #00838f;
	text-decoration: none;
	font-weight: bold;
	font-size: 4vw;
	color: #00838f;
}

/* 新規会員登録 */
#header-sp .btn-member ul li.btn-member-add a{
	padding: 0 0 0 14.5vw;
	background: url("../images/index/icon-beginner.svg") no-repeat 5vw 50%;
	background-size: 7vw auto;
}
#header-sp .btn-member ul li.btn-member-login a{
	padding: 0 0 0 18.8vw;
	background: url("../images/index/icon-login.svg") no-repeat 8.8vw 50%;
	background-size: 7vw auto;
}


/********** スマホヘッダーカテゴリー **********/
#header-sp .h-category{
	background: #f0f0f0;
}
#header-sp .h-category .btn-h-category {
	padding: 4vw 0 4vw 4.5vw;
	
	border-bottom: solid 0.5vw #fff;
	
	font-size: 4.8vw;
	font-weight: bold;
	
	color: #fff;
	background: #00838f url("../images/common/h-icon-cat.svg") no-repeat calc(100% - 4vw) 50%;
	background-size: 3vw auto;
}
#header-sp .h-category .btn-h-category.active {
	border-bottom: none;
}
#header-sp .h-category .h-category-box{
	display: none;
	
	padding: 2vw 2vw;
}
#header-sp .h-category ul {
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	margin: 0 auto;
	border-radius: 3vw;
	
	padding: 4vw 0 4vw 2vw;
	background: #fff;
}
#header-sp .h-category ul li {
	display: flex;
	
	width: 16vw;
	margin: 0 3vw 3vw 0;
	border-radius: 1.6vw;
	text-align: center;
	line-height: 1.3;
	font-size: 3.2vw;
}
#header-sp .h-category ul li:nth-of-type(5n) {
	margin-right: 0;
}
#header-sp .h-category ul li a {
	display: block;
}
#header-sp .h-category ul li a .icon {
	padding: 0 0 0.5vw;
}
#header-sp .h-category ul li a img{
	display: block;
}
#header-sp .h-category ul li a .label {
	padding: 0 0;
}


/********** スマホヘッダーメーカー **********/
#header-sp .h-maker{
	background: #f0f0f0;
}
#header-sp .h-maker .btn-h-maker {
	padding: 4vw 0 4vw 4.5vw;
	font-size: 4.8vw;
	font-weight: bold;
	
	color: #fff;
	background: #00838f url("../images/common/h-icon-cat.svg") no-repeat calc(100% - 4vw) 50%;
	background-size: 3vw auto;
}
#header-sp .h-maker .heading::after{
	content: '';
	position: absolute;
	bottom: 0;
	
	width: 60px;
	height: 5px;
	background: #00838f;
}
#header-sp .h-maker .h-maker-box{
	display: none;
	
	padding: 2vw 2vw;
}
#header-sp .h-maker ul {
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	margin: 0 auto;
	border-radius: 3vw;
	
	padding: 4vw 0 4vw 2vw;
	background: #fff;
}
#header-sp .h-maker ul li {
	display: flex;
	
	width: 20vw;
	margin: 0 4vw 3vw 0;
	border-radius: 1.6vw;
	text-align: center;
	line-height: 1.3;
	font-size: 3.2vw;
}
#header-sp .h-maker ul li:nth-of-type(4n) {
	margin-right: 0;
}
#header-sp .h-maker ul li a {
	display: block;
}
#header-sp .h-maker ul li a .icon {
	padding: 0 0 0.5vw;
}
#header-sp .h-maker ul li a img{
	display: block;
}
#header-sp .h-maker ul li a .label {
	padding: 0 0;
}

/********** お問い合わせボタン **********/
#header-sp .h-menu-btns{
	padding: 4vw 4vw;
}
#header-sp .h-menu-btns ul{
	display: flex;
	justify-content: space-between;
	
	width: 100%;
}
#header-sp .h-menu-btns ul li{
	width: 44vw;
}
#header-sp .h-menu-btns ul li a{
	display: block;
}
#header-sp .h-menu-btns ul li img{
	display: block;
}





/********** メニューリスト **********/
#header-sp .h-menu-list {
	padding: 0 0 4vw;
}
#header-sp .h-menu-list ul{
	display: flex;
	flex-wrap: wrap;
}
#header-sp .h-menu-list ul li{
	display: flex;
	width: 50%;
	border-top: solid 1px #ccc;
}
#header-sp .h-menu-list ul li:nth-of-type(2n){
	border-left: solid 1px #ccc;
}
#header-sp .h-menu-list ul li a{
	display: block;
	width: 100%;
	padding: 3.6vw 3vw 3.6vw 4.2vw;
	
	color: #333;
	background: #f0f0f0;
}
#header-sp .h-menu-list ul li:nth-of-type(2n) a{
	padding-left: 2vw;
	padding-right: 2vw;
}


/* ----------------------------------------
コンテンツ
---------------------------------------- */
#header-sp .h-contents{
	display: flex;
	
	width: 100%;
	border-top: solid 5px #00838f;
	border-bottom: solid 5px #00838f;
}


#header-sp .h-search{
	width: 83vw;
}
#header-sp .h-search form{
	display: flex;
	
	width: 100%;
}


/* ----------------------------------------
スマホヘッダー検索カテゴリー
---------------------------------------- */
#header-sp .h-cat{
	width: 35vw;
	
	position: relative;
	z-index: 10;
	
	color: #fff;
	background: #00838f;
}
#header-sp .h-cat .h-btn-cat{
	height: 12vw;
	background: #00838f url("../images/common/h-icon-cat.svg") no-repeat calc(100% - 10px) 50%;
	background-size: 3vw auto;
}
#header-sp .h-cat .h-cat-box{
	width: 35vw;
}

#header-sp .custom-select-wrapper {
	position: relative;
	display: inline-block;
	user-select: none;
}
#header-sp .custom-select-wrapper select {
	display: none;
}
#header-sp .custom-select {
	position: relative;
	display: inline-block;
}
#header-sp .custom-select-trigger {
	position: relative;
	display: flex;
	align-items: center;
	
	width: 35vw;
	padding: 0 0 0 1.7vw;
	font-size: 3.2vw;
	font-weight: bold;
	color: #fff;
	height: 12vw;
	cursor: pointer;
	
	white-space: nowrap;
	
	background: #00838f url("../images/common/h-icon-cat.svg") no-repeat calc(100% - 10px) 50%;
	background-size: 3vw auto;
}
#header-sp .custom-options {
	position: absolute;
	display: block;
	top: 100%;
	left: 0;
	right: 0;
	min-width: 100%;
	margin: 0 0;
	border: solid 3px #00838f;
	box-sizing: border-box;
	background: #fff;
	transition: all 0s ease-in-out;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-15px);
}
#header-sp .custom-select.opened .custom-options {
	height: 50vh;
	overflow: auto;
	
	opacity: 1;
	visibility: visible;
	pointer-events: all;
	transform: translateY(0);
}
#header-sp .option-hover:before {
	background: #f9f9f9;
}
#header-sp .custom-option {
	position: relative;
	display: block;
	padding: 1vw 2vw 1vw;
	font-size: 3.2vw;
	color: #333;
	cursor: pointer;
	transition: all 0s ease-in-out;
	
	font-weight: normal;
}

/* 選択されている項目 */
#header-sp .custom-option:hover,
#header-sp .custom-option.selection {
	background: #eee;
}


/* ----------------------------------------
スマホヘッダー検索窓
---------------------------------------- */
#header-sp .h-search .search-box {
	position: relative;
	
	display: flex;
	
	width: calc(100% - 35vw);
}
#header-sp .h-search .search-box input.h-search-text {
	width: 100%;
	padding: 0 9vw 0 2vw;
	border: none;
	background: #f0f0f0;
	font-size: 3vw;
}
#header-sp .h-search .search-box input.h-btn-search {
	position: absolute;
	top: 50%;
	right: 2vw;
	z-index: 2;
	
	width: 5vw;
	height: auto;
	margin: -2.5vw 0 0;
	background: transparent;
}


/* ----------------------------------------
詳細検索
---------------------------------------- */
#header-sp .h-btn-search-details{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: calc(100% - 83vw);
	border-left: solid 2px #00838f;
}
#header-sp .h-btn-search-details span{
	display: inline-block;
	padding: 0 0 1.5vw;
	border-bottom: solid 1px #333;
}


/* --------
詳細検索の中身
-------- */
#header-sp .h-search-details .h-search-popup{
	display: none;
	
	
	position: absolute;
	top: 27vw;
	left: 0;
	right: 0;
	z-index: 301;
	
	width: 100%;
	margin: 0 auto;
	padding: 6vw 4vw 10vw;
	background: #e6f0f0;
	
	box-shadow: 0 0 1vw rgba(0,0,0,0.5);
	
	
	font-size: 4vw;
}

/********** 閉じるボタン **********/
#header-sp .h-search-details .h-search-popup .h-btn-close img{
	position: absolute;
	top: 6vw;
	right: 4vw;
	
	display: block;
	width: 5vw;
	height: 5vw;
}

/* ポップアップ詳細検索見出し */
#header-sp .h-search-details .h-search-popup .heading{
	padding: 0 0 4vw;
	text-align: center;
	font-weight: bold;
	font-size: 4.8vw;
}

/* unit */
#header-sp .search-details-unit{
	padding: 0 0 6vw;
}


/* table */
#header-sp .h-search-details .search-tbl table {
	width: 100%;
}
#header-sp .h-search-details .search-tbl table th,
#header-sp .h-search-details .search-tbl table td{
	padding: 1vw 0;
}
#header-sp .h-search-details .search-tbl table th{
	width: 30vw;
	
	white-space: nowrap;
	font-weight: normal;
}
#header-sp .h-search-details .search-tbl table td{
	width: calc(100% - 30vw);
}
#header-sp .h-search-details .search-tbl table td input[type="text"]{
	width: 100%;
	padding: 0 1vw;
}
#header-sp .h-search-details .search-tbl table td select{
	width: 100%;
	padding: 0 1vw;
}



/* チェックボックス */
#header-sp .h-search-details .checkbox ul{
	display: flex;
	flex-wrap: wrap;
}
#header-sp .h-search-details .checkbox ul li {
	display: flex;
	align-items: center;
	
	width: 19vw;
}
#header-sp .h-search-details .checkbox ul li:nth-of-type(3n) {
	width: auto;
}
#header-sp .h-search-details .checkbox ul li .check-input {
	padding: 0 5px 0 0;
}
#header-sp .h-search-details .checkbox ul li .check-input input{
	display: block;
	width: 4vw;
	height: 4vw;
}

/* 検索ボタン */
#header-sp .h-btn-details{
	display: flex;
	
	justify-content: center;
}
#header-sp .h-btn-details input{
	display: block;
	
	padding: 3vw 7.5vw;
	border: none;
	border-radius: 0.8vw;
	color: #fff;
	background: #00838f;
}




/* --------
overlay
詳細検索のオーバーレイ
-------- */
#header-sp .overlay-search-details {
	display: none;
	
	position: fixed;
	z-index: 99;
	top: 0;
	right: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
}
#header-sp .overlay-search-details .h-search-popup {
	position: relative;
	z-index: 300;
}


/* 閉じるボタン */
#header-sp .overlay-search-details .h-btn-close {
	cursor: pointer;
}
#header-sp .overlay-search-details .h-btn-close img{
	position: absolute;
	top: 6vw;
	right: 4vw;
	
	display: block;
	width: 4.8vw;
	height: 4.8vw;
}



/* --------------------------------------------------------------------------------
	footer-sp
-------------------------------------------------------------------------------- */
#footer-sp{
}

/********** スマホヘッダーカテゴリー **********/
#footer-sp .f-category{
	padding: 6vw 0 0;
	background: #f0f0f0;
}
#footer-sp .f-category .heading {
	display: flex;
	justify-content: center;
	
	position: relative;
	margin: 0 0 2vw;
	padding: 0 0 2.5vw;
	font-size: 5.6vw;
	font-weight: bold;
}
#footer-sp .f-category .heading::after{
	content: '';
	position: absolute;
	bottom: 0;
	
	width: 12vw;
	height: 1vw;
	background: #00838f;
}
#footer-sp .f-category .btn-f-category.active {
	border-bottom: none;
}
#footer-sp .f-category .f-category-box{
	padding: 0 2vw 6vw;
}
#footer-sp .f-category ul {
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	margin: 0 auto;
	border-radius: 3vw;
	
	padding: 4vw 0 4vw 2vw;
	background: #fff;
}
#footer-sp .f-category ul li {
	display: flex;
	
	width: 16vw;
	margin: 0 3vw 3vw 0;
	border-radius: 1.6vw;
	text-align: center;
	line-height: 1.3;
	font-size: 3.2vw;
}
#footer-sp .f-category ul li:nth-of-type(5n) {
	margin-right: 0;
}
#footer-sp .f-category ul li a {
	display: block;
}
#footer-sp .f-category ul li a .icon {
	padding: 0 0 0.5vw;
}
#footer-sp .f-category ul li a img{
	display: block;
}
#footer-sp .f-category ul li a .label {
	padding: 0 0;
}


/********** スマホヘッダーメーカー **********/
#footer-sp .f-maker{
	padding: 6vw 0 0;
	border-bottom: solid 2px #ccc;
}
#footer-sp .f-maker .heading {
	display: flex;
	justify-content: center;
	
	position: relative;
	margin: 0 0 5vw;
	padding: 0 0 2.5vw;
	font-size: 5.6vw;
	font-weight: bold;
}
#footer-sp .f-maker .heading::after{
	content: '';
	position: absolute;
	bottom: 0;
	
	width: 12vw;
	height: 1vw;
	background: #00838f;
}
#footer-sp .f-maker .f-maker-box{
	display: none;
	
	padding: 2vw 2vw;
}
#footer-sp .f-maker ul {
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
	margin: 0 auto;
	border-radius: 3vw;
	
	padding: 0 0 10vw 2vw;
}
#footer-sp .f-maker ul li {
	display: flex;
	
	width: 20vw;
	margin: 0 4vw 3vw 0;
	border-radius: 1.6vw;
	text-align: center;
	line-height: 1.3;
	font-size: 3.2vw;
}
#footer-sp .f-maker ul li:nth-of-type(4n) {
	margin-right: 0;
}
#footer-sp .f-maker ul li a {
	display: block;
}
#footer-sp .f-maker ul li a .icon {
	padding: 0 0 0.5vw;
}
#footer-sp .f-maker ul li a img{
	display: block;
}
#footer-sp .f-maker ul li a .label {
	padding: 0 0;
}



/********** f-contents **********/
#footer-sp .f-contents{
	padding: 10vw 0 0;
	color: #fff;
	background: #1e1e1e;
}
#footer-sp .f-contents .f-contents-box{
}

/* ロゴ・会社情報 */
#footer-sp .logo-company{
	
}
#footer-sp .logo-company .f-logo{
	padding: 0 0 23px;
}
#footer-sp .logo-company .f-logo img{
	display: block;
	width: 49vw;
	height: auto;
	margin: 0 auto;
}

/* 会社情報 */
#footer-sp .company{
	padding: 0 0 9vw;
	text-align: center;
	font-size: 3.6vw;
}

/********** お問い合わせ **********/
#footer-sp .f-contact{
	padding: 7vw 4vw 7vw;
}
#footer-sp .f-contact ul{
	width: 100%;
	
	display: flex;
	justify-content: space-between;
}
#footer-sp .f-contact ul li{
	width: 44vw;
}
#footer-sp .f-contact ul li a{
	display: block;
}
#footer-sp .f-contact ul li img{
	display: block;
}




/********** コピーライト **********/
#footer-sp .copyright{
	padding: 0 0 4vw;
	text-align: center;
	font-size: 3vw;
}



/********** ↑ **********/
#footer-sp .f-fix-pagetop{
	position: fixed;
	z-index: 300;
	
	right: 1vw;
	bottom: 4vw;
}
#footer-sp .f-fix-pagetop a{
	display: block;
}
#footer-sp .f-fix-pagetop img{
	width: 12vw;
	height: 12vw;
}








