@charset "utf-8";
/* CSS Document */

/*RESET*/
* {
	outline: none;
  -webkit-overflow-scrolling: touch;
}

html {
 overflow: auto;
 height: 100%;
}

body {
	background: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.7;
	color: #222;
 overflow-x: hidden;
 height: 100%;
}

body.open {
 overflow: hidden;
 height: 100%;
}

button {
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
 appearance: none;
 display: block !important;
 width: 100%;
}

.mssbody {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.header-wrap {
 height: 8.875rem;
 /*background: url(../img/top.png) top center no-repeat;
 background-size: cover;*/
 /*background: none;*/
}
header .logo { padding: 1.25rem 0;}
/*.header-wrap header { height: auto;}*/

@media screen and (max-width:768px) {
}

aside {
	display: block;
	background: #f3f1cf;
	padding: 4rem 0;
}

footer {
	background: #e0872c;
	color: #fff;
	padding-top: 4.0rem;
	padding-right: 0;
	padding-bottom: 4.0rem;
	padding-left: 0;
	position: relative;
	margin-top: 1rem;
}
footer.member-bottom-menu {
 padding-top: 0;
 padding-left: 0;
 padding-right: 0;
 padding-bottom: 0!important;
}
body.login footer { padding-bottom: 7.0rem;}

.page-top {
 position: absolute;
 top: -1.25rem;
 display: block;
 text-align: center;
 width: 100%;
}

.page-top-inner {
 width: 100%;
 width: 48px;
 height: 54px;
 margin: 0 auto;
}

@media screen and (max-width:768px) {
 body {
	 background: #fff;
  background-size: auto;
 }
 .header-wrap {
  height: 7.50rem;
  background: url(../img/top.png) bottom center repeat-x;
  background-size: cover;
 }
 header { height: 6.875rem;}
 header .logo { padding: 1.25rem 0;}
 aside {	padding: 2rem 0;}
 footer {	padding: 2rem 0;}
 footer .font-size-14 {	font-size: 0.75rem;}
}

@media screen and (max-width:480px) {}

a {	color: #009bdd;}
.login-forgot a {color: #009bdd;}

a:hover, a:active {	color: #267070;}
a img:hover,a img:active {	opacity: 0.75;}

ul.header-nav {
 display: block;
 overflow: hidden;
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
 float: right;
}

ul.header-nav.open {}
ul.header-nav li {
 margin-left: 0.3125rem;
 float: left;
}

ul.header-nav li img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
}

ul.header-nav li.btn-1 {
 width: 44px;
 height: 44px;
 text-indent: -9998px;
 background: url(../img/icon_head-menu.png) center center no-repeat;
 background-size: cover;
}
ul.header-nav li.btn-1:hover { cursor: pointer;}
ul.header-nav li.btn-1.on { background: url(../img/icon_head-menu_close.png) center center no-repeat;}

.ul_open_h {
 background: rgba(0,0,0,0.3);
 color: #000;
 margin: 0;
 padding: 0;
 list-style: none;
 top: 0;
 height: 100%;
 -webkit-transition: .35s ease-in-out;
 -moz-transition: .35s ease-in-out;
 transition: .35s ease-in-out;
 overflow-y: scroll;
 position: fixed;
 z-index: 2;
}

.ul_open_h li {
 border-bottom: #666 dashed 1px;
 background: rgba(255,255,255,0.95);
}

.ul_open_h li a {
 display: block;
 padding: 0.625rem 1.0rem;
 width: 100%;
 color: #000;
}

.ul_open_h li a:hover {
 background: #fff;
 transition: 0.2s;
}

.ul_open_v {
 position: absolute;
 height: 100%;
}

.ul_open_v li {
 padding: 10px;
 width: 150px;
}

.btn.btn-1:hover { cursor: pointer;}
.open-1 {
 right : -100%;
 margin-top: 4.0rem;
}

.open-1.active {
 right : 0px;
 width: 100%;
}
.open-1.active li:first-child { border-top: #666 dashed 1px;}

.move-1.on.btn {
 position: relative;
 z-index: 10;
}

body.login .header-nav .header-login {
 display: none!important;
}

@media screen and (max-width:480px) {
 .header-wrap { height: 4.25rem;}
 header { height: 4.25rem;}
 header .logo { padding: 0 0;}
 .header-nav { margin-top: 0.625rem!important;}
 .header-nav li {
  width: 44px;
  height: 44px;
 }
 aside .link-list li { font-size: 0.875rem;}
 footer dl { margin-top: 1.25rem;}
}


/**/
@font-face {
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
 font-weight: 100;
}
@font-face {
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
 font-weight: 200;
}
@font-face {
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
 font-weight: 300;
}
@font-face {
 font-family: "Yu Gothic";
 src: local("Yu Gothic Medium");
 font-weight: 400;
}
@font-face {
 font-family: "Yu Gothic";
 src: local("Yu Gothic Bold");
 font-weight: bold;
}

/*HEADER*/
/*FOOTER*/
footer {
 background: #e0872c;
 color: #fff;
}
/*---------------------
 *Form
 *---------------------*/
/*input, button, textarea, select {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}*/
form h3 {
 margin-bottom: 1em;
 color: #000;
}
/*select*/
select.select {
 -webkit-appearance: button;
 -moz-appearance: button;
 appearance: button;
 background: #f6f7f8 url(../img/icon_arrow_down.png) 90% 50% no-repeat;
 height: 3em;
 width: 100%;
 padding: 0.5em 1em;
 line-height: 1;
 border: 1px solid #e8cd85;
 position: relative;
 border-radius: 7px;
 box-sizing: border-box;
 font-size: 16px;
}
@-moz-document url-prefix() {
 select.select {
 background:none;
 background-color: #FFF;
}
}
input[type="text"] {
 /* ishida 2018.08 width: 100%;*/
 box-sizing: border-box;
 padding: 1em 1em;
 line-height: 1;
 vertical-align: middle;
 border: 1px solid #e8cd85;
 position: relative;
 border-radius: 7px;
 font-size: 16px;
}
/*---------------------
 *PARAGRAPH
 *---------------------*/
.hoge h1 {
 display: block;
 padding: 0.5em 0 0.5em 1em;
 font-size: 1.125em;
 font-weight: bold;
 color: #000;
 background: url(../img/square-arrow.svg) left no-repeat;
}
h2 {
 display: block;
 padding: 0.5em 0;
 font-size: 1em;
 font-weight: bold;
 color: #009bdd;
}
h3 {
 display: block;
 padding: 0.5em 0;
 font-size: 1em;
 font-weight: bold;
 color: #000;
}
.font-size-11 { font-size: 0.6875rem!important;}
.font-size-12 { font-size: 0.75rem!important;}
.font-size-14 { font-size: 0.875rem!important;}
.font-size-16 { font-size: 1rem!important;}
.font-size-18 { font-size: 1.125rem!important;}
.font-size-24 { font-size: 1.5rem!important;}

/*---------------------
 *BUTTON
 *---------------------*/
.hoge .btn {
 display: block !important;
 line-height: 1.2;
 padding: 1.875em 1em;
 background: #fff;
 border-bottom: solid 3px #ccc;
 border-radius: 8px;
 text-align: center;
 font-weight: bold;
 text-decoration: none;
}
.btn:active {
 margin-top: 1px;
 border-bottom: none;
 -webkit-transform: translateY(1px);
 transform: translateY(1px);
 text-decoration: none;
}
.btn:hover { text-decoration: none;}
.btn-outline {
 display: block;
 line-height: 1.2;
 padding: 1.875em 1em;
 background: #fff;
 border: #009bdd solid 1px;
 color: #009bdd !important;
 border-radius: 8px;
 text-align: center;
 font-weight: bold;
}
.btn-outline:active { background-color: #eaf3f7;}
.circle { border-radius: 100em;}

.button:active, .button:hover {	opacity: 1;}

/*
 * Button
 *
***********************/
.button-block {
	overflow: hidden;
	clear: both;
	margin: 0 -5px;
}

.button {
	text-align: center;
	font-weight: 600;
	font-size: 0.875rem;
	display: block !important;
	border-radius: 10px;
	border-bottom: 3px solid #ccc;
	box-sizing: border-box;
	padding: 1.65em 1em;
}

button.button {
	width: 96%;
	font-size:1rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.button:active, .button:hover {	opacity: 1;}

.button.pink {
	background-color: #ff6666!important;
	border-bottom: 3px solid #c2504f!important;
 color: #fff!important;
 font-size: 1.0rem!important;
 transition: color 0s linear 0s;
 -o-transition: color 0s linear 0s;
 -ms-transition: color 0s linear 0s;
 -moz-transition: color 0s linear 0s;
 -webkit-transition: color 0s linear 0s;
}

.button.pink:active, .button.pink:hover {
	background-color: #c2504f;
	border-bottom: none;
	color: #fff;
 transition: color 0s linear 0s;
 -o-transition: color 0s linear 0s;
 -ms-transition: color 0s linear 0s;
 -moz-transition: color 0s linear 0s;
 -webkit-transition: color 0s linear 0s;
}

.button.yellow {
	background-color: #dab315;
	border-bottom: 3px solid #be9c10;
 color: #fff!important;
}

.button.yellow:active, .button.yellow:hover {
	background-color: #be9c10;
	border-bottom: none;
	color: #fff;
}

.button.green {
	background-color: #51b57b;
	border-bottom: 3px solid #419464;
 color: #fff!important;
}

.button.green:active, .button.green:hover {
	background-color: #419464;
	border-bottom: none;
	color: #fff;
}

.button.yg {
	background-color: #a8b317;
	border-bottom: 3px solid #8a9529;
 color: #fff!important;
}

.button.yg:active, .button.yg:hover {
	background-color: #8a9529;
	border-bottom: none;
	color: #fff;
}

.button.bg {
	background-color: #339393;
	border-bottom: 3px solid #267070;
 color: #fff!important;
}

.button.bg:active, .button.bg:hover {
	background-color: #267070;
	border-bottom: none;
	color: #fff;
}

.button.card {
	background-image: url(../img/gnav/icon_btn-card.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;
 font-size: 1.0rem;
}

.button.search-link {
	background-image: url(../img/gnav/icon_btn-search.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;
}

.button.voice {
	background-image: url(../img/gnav/icon_btn-voice.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;
}

.button.about {
	background-image: url(../img/gnav/icon_btn-guide.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;
}

.button.howto {
	background-image: url(../img/gnav/icon_btn-guide2.png);
	background-position: center left 1.125rem;
	background-repeat: no-repeat;
}

.button.search {
	background-image:url(../img/icon_w_search.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;	
}

.button.gps {
	background-image:url(../img/icon_w_map.png);
	background-position: center left 1.125em;
	background-repeat: no-repeat;
}

.button.white {
	background: #fff;
	text-align: center;
	border-radius: 100px;
	display: block;
	box-sizing: border-box;
	padding: 1.0rem 1.25rem;
	border-bottom: #5e7d1f solid 3px;
}

.button.white:active, .button.white:hover {
	background-color: #efefef;
	border-bottom: none;
}

.homelink {
 transition: 0!important;
}

.homelink:hover {
 padding-top: 3px;
 margin-bottom: 0;
 transition: 0!important;
}

.homelink .button {
 background: #a0a0a0;
 color:#fff;
 border-bottom: #6e6e6e solid 3px;
 transition: 0!important;
}

.homelink:hover .button {
 border-bottom: none;
 transition: 0!important;
}

.homelink .button a {
 color: #fff;
 font-size: 1.0rem;
}

.shop-login {
 background: url(../img/bg_shop-login.png) top center no-repeat;
 margin-top: 0.625rem;
 padding: 3.75rem 0 0;
 font-size: 0.875rem;
 box-sizing: border-box;
 border-radius: 7px;
}

.shop-login h2 {
 margin: 0;
 padding: 0;
 margin-bottom: 0.75rem;
 color: #055eae;
 text-align: center;
}

.shop-login-text {
 box-sizing: border-box;
 padding: 0 1.25rem 7.0rem;
}

.shop-login a:hover {
 margin-top: 3px;
 border-bottom: none;
}


@media screen and (max-width:768px) {
 .homelink .button {
  margin-left: -10px;
  margin-right: -10px;
 }
}

@media screen and (max-width:480px) {
 .shop-login {
  box-sizing: border-box;
  border-radius: 0;
  margin-top: 2.50rem;
  margin-left: -0.625rem;
  margin-right: -0.625rem;
 }
}

/*---------------------
 *COLOR
 *---------------------*/

.pink { color: #cc3366 !important;}
.green { color: #52be7f !important;}
.mustard { color: #cc8b0a !important;}
.citron { color: #aeba00 !important;}
.peacock { color: #339999 !important;}
.blue { color: #009bdd !important;}
.darkblue { color: #00529c !important;}
.gray { color: #a0a0a0 !important;}
.bg-pink {
 background-color: #ff6666;
 color: #fff !important;
}
.bg-green {
 background-color: #52be7f;
 color: #fff !important;
}
.bg-mustard {
 background-color: #e3b900;
 color: #fff !important;
}
.bg-citron {
 background-color: #aeba00;
 color: #fff !important;
}
.bg-peacock {
 background-color: #339999;
 color: #fff !important;
}
.bg-blue {
 background-color: #009bdd;
 color: #fff !important;
}
.bg-darkblue {
 background-color: #00529c;
 color: #fff !important;
}
.bg-gray {
 background-color: #a0a0a0;
 color: #fff !important;
}
.btn.bg-pink { border-bottom-color: #cc5252;}
.btn.bg-green { border-bottom-color: #429966;}
.btn.bg-mustard { border-bottom-color: #c4a000;}
.btn.bg-citron { border-bottom-color: #8f9900;}
.btn.bg-peacock { border-bottom-color: #267373;}
.btn.bg-blue { border-bottom-color: #0078ab;}
.btn.bg-darkblue { border-bottom-color: #003869;}
.btn.bg-gray { border-bottom-color: #6e6e6e;}

/*
 * Font
 *
***********************/
h2 {
	font-size: 1.5rem;
	font-weight: 700;
	color: #000;
	margin-bottom:0.5rem;
}
h3, h3 a {
	font-size: 1rem;
	font-weight: 700;
	color: #000;
	padding-bottom: 0;
	margin-bottom: 0.5em;
}

@media screen and (max-width:768px) {
 h2 {	font-size: 1.125rem;}	
}
.font-size-10 {	font-size: 0.625rem;}
.font-size-12 {	font-size: 0.75rem;}
.font-size-14 {	font-size: 0.875rem;}
.font-size-16 {	font-size: 1rem;}
.font-size-20 {	font-size: 1.25rem;}
.txt-pink {	color: #ff6666 !important;}
.txt-red {	color: #e94b58 !important;}
.txt-blue {	color: #009bdd !important;}
.txt-gray {	color: #ccc !important;}
.figure {
	padding: 0 5px;
	font-size: 3.0rem;
}


@media screen and (max-width:768px) {
 .header-wrap, .home-head, .home-search, .home-reviews, .home-contents-bottom, .bottom-link {
  padding-left: 1.875rem;
  padding-right: 1.875rem;
 }
 .side-info { margin-top: 1.25rem;}
 .home-news {
  margin-left: 2.50rem;
  margin-right: 2.50rem;
 }
 .home-reviews { margin-top: 3.0rem;}
}

.bottom-link {
 margin-top: 2.50rem;
 background: #f7f4d2;
 padding-top: 4.0rem;
 padding-bottom: 4.0rem;
}
body.home .bottom-link { margin-top: 0;}

.bottom-link-inner h2 {
 margin: 0;
 padding: 0;
 font-size: 1.25rem;
 color: #002323;
}

.bottom-link-inner h2:before {
 content: url(../img/paragraph/icon_headding-link.png);
 vertical-align: sub;
 margin-right: 0.875rem;
}

.bottom-link-inner ul {
 list-style: none;
 padding-left: 0;
 margin-left: 1.25rem;
 margin-top: 1.50rem;
}

.bottom-link-inner ul li {
 background: url(../img/arrow_yg.png) top 4px left no-repeat;
 padding-left: 1.25rem;
 margin-bottom: 0.625rem;
 font-size: 1.0rem;
}

.bottom-banner figure { margin-bottom: 0.875rem;}

@media screen and (max-width:480px) {
 .header-wrap { width: 100%;}
 .header-wrap, .home-head, .home-search, .home-reviews, .home-contents-bottom, .bottom-link {
  padding-left: 0;
  padding-right: 0;
 }
 .bottom-link {
  padding-top: 1.50rem;
  padding-bottom: 1.50rem;
  margin-top: 1.25rem;
 }
 .bottom-link-inner ul {
  margin-left: 0;
  margin-top: 1.0rem;
 }
 .bottom-link-inner ul li {
  background: url(../img/arrow_yg.png) top 2px left no-repeat;
  padding-left: 1.25rem;
  margin-bottom: 0.625rem;
  font-size: 0.75rem;
 }
 .bottom-banner { margin-top: 0.625rem;}
 .bottom-banner figure { margin-bottom: 0.75rem;}
 
 body.comingsoon .bottom-link {
  padding-top: 6.50rem;
 }
}

#btn-send { transition: 0s!important;}
#btn-send:hover {
 margin-top: 3px;
 /*margin-bottom: -3px;*/
 border-bottom: none!important;
 transition: 0s!important;
}