/*
  作成日: 20190227
  作成者: FOIS01
*/
/* 調整用ベーススタイル
   ========================================================================== */
html,
body { margin: 0; padding: 0; }
body,
button,
input,
select,
textarea { color: #333;font-family: 'Noto Sans JP', sans-serif; /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */font-size: 1.5rem; line-height: 1.6; }
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
*:after,
*:before { box-sizing: border-box; margin: 0; padding: 0; }
figure,
dl,
dt,
dd,
ol,
ul,
li { margin: 0; padding: 0; }
ol,
ul { list-style: none; }
p,
li,
dl,
table { line-break: strict; /* word-break: break-all;*/ word-wrap: break-word; }
img { border: 0; height: auto; line-height: 1; max-width: 100%; /*vertical-align: bottom;*/ vertical-align: middle; }
a { background: transparent; color: #0033cc; outline: 0 none; text-decoration: none; }
a:hover { color: #fa7d1d; text-decoration: none; }
a,
input,
textarea,
button { outline: none; }
::placeholder {
 color: #ccc;
}
body { display: flex; flex-direction: column; min-height: 100vh; min-width: 320px; }
table { border-collapse: collapse; border-spacing: 0; }
html { font-size: 62.5%; height: 100%; }
body { -webkit-print-color-adjust: exact !important; }
#wrap_all { display: flex; flex-direction: column; min-height: 100vh; overflow: hidden; width: 100%; }
.wrap { margin: 0 auto; max-width: 1180px; min-width: 320px; width: 100%; }
#main { position: relative; z-index: 2; flex: 1 1 auto; overflow: hidden; padding-top: 116px; }
aside,
section,
article,
header,
footer { display: block; min-width: 320px; }
.boxlink { cursor: pointer; }
.clear { clear: both; }
.no-padding { padding: 0 !important; }
.no-pd-bottom { padding-bottom: 0 !important; }
.no-pd-top { padding-top: 0 !important; }
.no-pd-left { padding-left: 0 !important; }
.no-pd-right { padding-right: 0 !important; }
.no-mg-bottom { margin-bottom: 0 !important; }
.no-mg-top { margin-top: 0 !important; }
.no-mg-left { margin-left: 0 !important; }
.no-mg-right { margin-right: 0 !important; }
.no-border { border: none !important; }
.no-border-left { border-left: none !important; }
.no-border-bott { border-bottom: none !important; }
.no-bg { background: none !important; }
.no-shadow { box-shadow: none !important; }
.mg-bt5 { margin-bottom: 5px !important; }
.mg-bt10 { margin-bottom: 10px !important; }
.mg-bt15 { margin-bottom: 15px !important; }
.mg-bt20 { margin-bottom: 20px !important; }
.mg-bt25 { margin-bottom: 25px !important; }
.mg-bt30 { margin-bottom: 30px !important; }
.mg-bt35 { margin-bottom: 35px !important; }
.mg-bt40 { margin-bottom: 40px !important; }
.mg-bt50 { margin-bottom: 50px !important; }
.mg-bt55 { margin-bottom: 55px !important; }
.mg-bt60 { margin-bottom: 60px !important; }
.mg-bt65 { margin-bottom: 65px !important; }
.mg-bt70 { margin-bottom: 70px !important; }
.mg-center { margin: 0 auto; }
.txt-left { text-align: left; }
.txt-right { text-align: right; }
.txt-center { text-align: center; }
/*.fnt_ex { font-family: "Yu Mincho"; }*/
.fnt_ex {font-family:"Noto Serif JP", serif; font-weight:500; }
.wf-hannari { font-family: "HannariMincho"; }
.dark_txt { color: #000;/* font-weight: bold;*/ }
.red_txt { color: #cc0000; font-weight: bold; }
.fullwidth { width: 100% !important; }
input:-ms-input-placeholder {
 color: #ccc;
}
@font-face { font-family: "HannariMincho"; src: url("../fonts/Hannari.eot"); /* IE9 Compat Modes */ src: url("../fonts/Hannari.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */  url("../fonts/Hannari.otf") format("opentype"), /* Open Type Font */  url("../fonts/Hannari.svg") format("svg"), /* Legacy iOS */  url("../fonts/Hannari.ttf") format("truetype"), /* Safari, Android, iOS */  url("../fonts/Hannari.woff") format("woff"), /* Modern Browsers */  url("../fonts/Hannari.woff2") format("woff2"); /* Modern Browsers */ font-weight: normal; font-style: normal; }
.flex_box { display: flex; flex-wrap: wrap; justify-content: space-between; }
/*ボタン*/
.btn_com { /* 基本の緑のボタン */ align-items: center; background: #a17a44; border-radius: 8px; box-shadow: 0 4px 6px 0 rgba(0,0,0,0.3); color: #fff; cursor: pointer; display: flex;font-family:"Noto Serif JP", serif;justify-content: center; position: relative; text-align: center; margin: 0 0 2px;  }
.btn_com:hover,
.btn_com:active,
.btn_com:active { background: #a17a44; color: #fff; box-shadow: none; margin: 2px 0 0; }
.btn_com::before { content: "→"; height: 10px; position: absolute; top: 50%; transform: translateY(-50%); width: 6px; right: 20px; font-size: 1.4rem; line-height: 0.8; }
.btn_outlink::after { background: url(../image/home/ico-outlink1.png) no-repeat; content: ""; display: inline-block; height: 24px; vertical-align: bottom; margin-left: 8px; width: 24px; }
/*Button*/
.btn_common { max-width: 350px; padding: 0 0 2px; }
.btn_common a { border-radius: 100px; box-shadow: 0px 4px 6px 0px rgba(0,0,0,0.3); display: block; padding: 15px 20px; position: relative; text-align: center; }
.btn_common a { color: #fff; }
.btn_common a { background: #a17a44; }
.btn_common a::before { background-repeat: no-repeat; background-size: contain; content: ""; height: 10px; right: 20px; position: absolute; top: calc(50% - 6px); width: 7px; }
.btn_common a::before { background-image: url(../image-cmn/ico-arrow-02-right-white.png); }
.btn_common a:hover { box-shadow: none; }
.btn_common:hover { padding: 2px 0 0; }
.btn_common a:hover { color: #fff !important; }
.btn_common_center { max-width: 500px; margin: 0 auto; padding: 40px 10px 20px;}
/* Common element*/
.section_ttl { text-align: center; }
.subpage { background: #fff; }
#content { position: relative; z-index: 1; }
.default_padding { padding-bottom: 60px; padding-top: 30px; }
.feature { background: url(../image-cmn/bg-feature.jpg) center no-repeat; background-size: cover; position: relative; }
.feature::before { background: linear-gradient(to bottom, rgba(255,255,255,.2) 0%, rgba(0,0,0,.2) 100%); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.feature_in { background: url(../image-cmn/bg-feature-havand02.png) top center repeat-x; position: relative; z-index: 1; }
.page_ttl { position: relative; }
.page_ttl::before { background: #fff; content: ""; left: 0; margin: 0 auto; position: absolute; right: 0; transform: rotate(45deg); }
.page_ttl span { align-items: center; background: url(../image-cmn/bg-hovane-light.png) center no-repeat; color: #3f2c26; display: flex; justify-content: center; line-height: 1.2; position: relative; text-align: center; z-index: 2; height: 116px; }
.subpage_brownbg { background: #f5f0e5; }
.subpage_intro { background: #fff; border-bottom: 1px solid #d7c29c; }
.subpage_introtxt { text-align: center; }
.pagesub_ttl { align-items: flex-end; border-bottom: 1px solid #3f2e26; display: flex; justify-content: space-between; width: 100%; }
.pagesub_ttlin { color: #3f2d26; font-weight: bold; position: relative; }
.pagesub_ttlin::before { content: ""; display: inline-block; background: #3f2e26; border-radius: 10px; height: 100%; position: absolute; top: 0; left: 0; }
.pagesub_subttl { background: #ebe2ce; font-weight: bold; }
.cmn_note_lst li { margin-top: 5px; position: relative; padding-left: 16px; }
.cmn_note_lst li:first-child { margin-top: 0; }
.cmn_note_lst li::before { content: "※"; font-family: "メイリオ"; display: inline-block; position: absolute; top: 2px; left: 0; }
.searchbox { background-color: #ebe2ce; display: flex; justify-content: center; width: 100%; }
.searchbox .search_input { background: #fff; border: none;border-radius:0 !important; box-shadow: none; display: block; margin-bottom: 2px; max-width: 760px; width: calc(100% - 130px); }
.searchbox .search_submit { background: #3f2e26; border: none;border-radius:0 !important;  box-shadow: 0px 4px 6px 0px rgba(0,0,0,0.3); color: #fff; cursor: pointer; display: block; margin: 0 0 2px 10px; text-align: center; }
.searchbox .search_submit:hover { box-shadow: none; margin: 2px 0 0 10px; }
/***Slideshow***/
.hm_slide { background: #fff; position: relative; z-index: 8; }
.slider_for { display: none; }
.slider_for.slick-initialized { display: block !important; }
.hm_slide .slick-slider { margin-bottom: 0 !important; }
.hm_slide .slick-slide { opacity: .2; }
.hm_slide .slick-slide img { width: 100%; }
.hm_slide .slick-current,
.hm_slide .slick-active { opacity: 1; }
.slick-arrow { background-color: transparent !important; background-image: url(../image/home/ico-slide-nav.png) !important; background-repeat: no-repeat !important; background-size: auto 100% !important; opacity: .7; z-index: 5; }
.slick-arrow::before { display: none; }
.slick-arrow.slick-prev { background-position: left !important; }
.slick-arrow.slick-next { background-position: right !important; }
.slick-arrow:hover { opacity: 1; }
.slick-dots { text-align: right !important; }
.slick-dots li { height: 16px !important; width: 16px !important; text-align: right; right: 14%; }
.slick-dots li button { /*background: #fff !important;*/ height: 15px !important; width: 15px !important; }
.slick-dots li button::before { content: '■' !important; color: #fff !important; opacity: 1 !important; width: 15px !important; height: 15px !important; }
.slick-dots .slick-active button::before {/* background: #a17a44; */ color: #a17a44 !important; }
.reserve_url { position: fixed; bottom: 10px; right: 10px; z-index: 10; width: 18%; max-width: 200px; transition: .3s all ease-in-out; }
.reserve_url:hover { transform: scale(1.1, 1.1); }
.reserve_url a { display: block; height: 100%; position: relative; width: 100%; }
.reserve_url a::before { animation: rotating 5s linear infinite; background: url(../image-cmn/img-web-reserve02-round.png) no-repeat; background-size: contain; content: ""; display: block; height: 77.5%; position: absolute; right: 0; top: 0; width: 77.5%; }
.reserve_url a img { position: relative; width: 100%; height: auto; z-index: 1; }
.reserve_url:hover a::before { animation: none; transform: none; }
.tooltip:active .tooltiptext { opacity: 1; visibility: visible; }
/*** Pagenavi***/
.wp-pagenavi { text-align: center; }
/*.wp-pagenavi .previouspostslink { background: #78192d; border-radius: 4px; color: #fff; }*/
.wp-pagenavi a,
.wp-pagenavi span { background: #ebe2ce; border-radius: 4px; color: #333; display: inline-block; font-size: 1.6rem; height: 43px; line-height: 35px; margin: 0 5px; min-width: 43px; padding: 5px 13px 3px; text-align: center; width: auto; }
.wp-pagenavi a:hover,
.wp-pagenavi span.current { background: #78192d; color: #fff; }
.wp-pagenavi .extend { background: none; border: none; }
/*** Table***/
.cmn_tbl_wrapbg { background: #fff; }
.cmn_tbl01 { background: linear-gradient(to left, hsla(0,0%,100%,0), white 15px) 0 0 / 50px 100%, linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.15)) 0 0/30px 100%, linear-gradient(to right, hsla(0,0%,100%,0), white 15px) right / 50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.15)) right/30px 100%; background-repeat: no-repeat; background-attachment: local, scroll, local, scroll; border: 1px solid #ccc; min-width: 800px; width: 100%; }
.cmn_tbl01 th,
.cmn_tbl01 td { font-weight: normal; text-align: left; vertical-align: top; width: 20%; }
.cmn_tbl01 th { background: #b5945f; border-left: 1px solid #ccc; color: #fff; padding: 5px 10px; }
.cmn_tbl01 td { padding: 15px 10px; border-left: 1px solid #ccc; }
.cmn_tbl01 tbody tr { border-top: 1px dotted #ccc; }
.cmn_tbl01 tr th:first-child,
.cmn_tbl01 tr td:first-child { border: none; }
.cmn_tbl01 tbody tr:first-child { border-top: none; }
.storelst_tbl th,
.storelst_tbl td { /* width: 14%; */ min-width: 110px; }
.storelst_tbl .store_equip { margin: 0 auto; }
.storelst_storename a { color: #0033cc; }
.storelst_storename a:hover { color: #fa7d1d; }
.storelst_storename a[target="_blank"]::after { background: url(../image-cmn/ico-extendlink-sitemap.png) no-repeat; background-size: contain; content: ""; display: inline-block; height: 14px; margin-left: 5px; vertical-align: middle; width: 16px; }
.storelst_storename a[target="_blank"]:hover::after { background-image: url(../image-cmn/ico-extendlink-orange.png); }
.cmn_tbl_wrapbg { background: #fff; }
.zipcode { word-break: keep-all; }
.cmn_tbl01 tr .zipcode a[href^="tel:"] { color:#333 !important;pointer-events:none;}
/*** Subpage ***/
.pagesub_wrap { background: #f5f0e5; margin-bottom: 0; padding: 30px 0; }
.pagesub_intro { margin: 30px 10px; text-align: center; }
.pagesub_nav_wrap { display: flex; justify-content: flex-start; flex-wrap: wrap; }
.pagesub_nav_wrap li a { display: block; color: #3f2d26; padding: 12px 50px 12px 30px; position: relative; }
.pagesub_nav_wrap li a::before { content: ""; background: url(../image-cmn/ico-arrow-03-down-brown.png) no-repeat; background-size: auto; background-size: contain; display: inline-block; position: absolute; top: calc(50% - 10px); left: 0; width: 20px; height: 20px; }
.pagesub_nav_wrap li a:hover::before { background-image: url(../image-cmn/ico-arrow-03-down-orange.png); }
.pagesub_nav_border { background: #fff; border-bottom: 1px solid #d7c29c; border-top: 1px solid #d7c29c; }
.btn_yoyaku {margin-top:10px; max-width: 150px; min-width: 100px; padding: 0 0 2px; width: 100%; }
.btn_yoyaku a { background: #6cb0c7; border-radius: 50px; box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.2); color: #fff; display: block; padding: 3px 10px; text-align: center; }
.btn_yoyaku_pay a { background: #fe8814; }
.btn_yoyaku_line a { background: #00b800; }
.btn_yoyaku_linefriend a { background: #31bda8; }
.btn_yoyaku a[target="_blank"]::after {background: url(../image-cmn/ico-extendlink-white.png) no-repeat; background-size: contain; content: ""; display: inline-block; height: 14px; margin-left: 5px; vertical-align: middle; width: 16px; }
.btn_yoyaku:hover { padding: 2px 0 0; }
.btn_yoyaku:hover a { background: #3f2e26; box-shadow: none;color:#fff; }

 @media screen and (max-width:479px) {
.btn_common a { font-size: 1.6rem; }

.pagesub_nav_wrap { padding: 0 !important; }
.pagesub_nav_wrap li { border-top: 1px dotted #ccc; padding-left: 10px; width: 100%; }
.pagesub_nav_wrap li:first-child { border: none; }
.pagesub_nav_wrap li a {align-items:center;display:flex !important; height:50px; line-height:1.2;padding-right:10px !important;}
}
@media screen and (min-width:480px) {
.btn_common a { font-size: 1.8rem; }
}
@media screen and (max-width:767px) {
body,
td,
th { font-size: 1.4rem; }
.sphide { display: none !important; }
.wrap { padding-left: 10px; padding-right: 10px; }
#wrap_all.shortwrap { height: 100vh !important; overflow: hidden !important; }
	#main { padding-top: 65px;}
/*ボタン*/
.btn_com { padding: 15px 3px; font-size: 1.8rem; }
/* Common element*/
.feature { min-height: 100px; padding-top: 55px; }
.feature_in { background-size: auto 100%; height: 140px; padding-top: 30px; }
.page_ttl { max-width: 300px; }
.page_ttl::before { height: 160px; left: 0; top: -10px; width: 160px; }
.page_ttl span { background-size: auto 100px; font-size: 2.8rem; height: 120px; min-height: 120px; }
.default_padding { padding-bottom: 40px; padding-top: 20px; }
.subpage_intro { padding-bottom: 20px; padding-top: 10px; }
.pagesub_ttl { margin-bottom: 15px; padding-bottom: 7px; }
.pagesub_ttlin { font-size: 1.7rem; line-height: 1.3; padding-left: 11px; }
.pagesub_ttlin::before { width: 5px; }
.insub_wrap { padding: 0 10px 20px; }
.pagesub_subttl { font-size: 1.6rem; margin-bottom: 10px; padding: 5px 10px; }
.searchbox { padding: 10px 0px 8px; }
.searchbox .search_input { padding: 8px 10px; }
.searchbox .search_submit { font-size: 1.6rem; width: 80px; padding: 6px 10px; }
/***Others***/
.slick-dots { bottom: 10px !important; }
.slick-dots li button::before { font-size: 2rem !important; }
.slick-arrow { height:40px !important; width: 19px !important; }
.slick-arrow.slick-prev { left: 0; }
.slick-arrow.slick-next { right: 0; }
.showmoretxt { cursor: pointer; display: block; position: relative; text-decoration: underline; }
.showmoretxt::after { content: ""; background: url(../image-cmn/ico-arrow-01-down-black.png) no-repeat; background-size: contain; display: inline-block; margin-left: 4px; vertical-align: middle; width: 7px; height: 4px; }
.js_showlesstxt.showmoretxt::after { background-image: url(../image-cmn/ico-arrow-01-up-black.png); }
.hm_intro .showmoretxt,
.intro .showmoretxt { color: #0033cc; }
.hm_intro .showmoretxt::after,
.intro .showmoretxt::after { background-image: url(../image-cmn/ico-arrow-01-down-blue.png); }
.ajimingei_smile_txt .showmoretxt::after  { background-image: url(../image-cmn/ico-arrow-01-down-white.png); }
.hm_intro .js_showlesstxt.showmoretxt::after,
.intro .js_showlesstxt.showmoretxt::after { background-image: url(../image-cmn/ico-arrow-01-up-blue.png); }
.ajimingei_smile_txt .showlesstxt::after  { background-image: url(../image-cmn/ico-arrow-01-up-white.png); }

/***Table***/
.cmn_tbl_wrapbg {position:relative;}
.cmn_tbl_wrapbg::before {background:url(../image-cmn/swipe.png)  no-repeat;background-position:center 10%; background-size:80px auto; content:''; display:block; height:100%; left:0; position:absolute; top:0; width:100%; pointer-events:none; z-index:5;}
.hidebefore::before {display:none;}
}
@media screen and (min-width:768px), print {
body,
td,
th { font-size: 1.5rem; }
#wrap_all { /*overflow: visible !important; */ height: auto !important; }
.wrap { padding-left: 30px; padding-right: 30px; }
.pchide { display: none !important; }
a[href^="tel:"] { pointer-events: none; }
/*ボタン*/
.btn_com { padding: 24px 3px; font-size: 2rem; }
/* Common element*/
.breakcrumd { background: #f5f0e5; font-size: 1.2rem; padding-bottom: 5px; padding-top: 5px; text-align: right; }
.feature { min-height: 150px; padding-top: 125px; }
.feature_in { height: 200px; padding-top: 60px; }
.page_ttl { max-width: 360px; }
.page_ttl::before { height: 220px; left: 0; top: -30px; width: 220px; }
.page_ttl span { background-size: auto 116px; font-size: 3rem; height: 161px; min-height: 161px; }
.default_padding { padding-bottom: 60px; padding-top: 30px; }
.subpage_intro { padding-bottom: 30px; padding-top: 20px; }
.pagesub_ttl { margin-bottom: 20px; padding-bottom: 10px; }
.pagesub_ttlin { font-size: 2.4rem; padding-left: 18px; }
.pagesub_ttlin::before { width: 8px; }
.insub_wrap { padding: 0 20px 25px; }
.pagesub_subttl { font-size: 1.8rem; margin-bottom: 15px; padding: 6px 20px; }
.searchbox { padding: 20px 20px 18px; }
.searchbox .search_input { padding: 18px 20px; }
.searchbox .search_submit { font-size: 1.8rem; margin: 0 0 2px 10px; width: 120px; padding: 16px 20px; }
/* Slideshow*/
.slick-arrow { height: 86px !important; width: 40px !important; }
.slick-arrow.slick-prev { left: 0; }
.slick-arrow.slick-next { right: 0; }
.slick-dots { bottom: 20px !important; }
.slick-dots li button::before { font-size: 2.4rem !important; }
}
@media screen and (max-width:1024px), print {
.cmn_tbl_wrap { overflow-x: auto; background: linear-gradient(to left, rgba(255, 255, 255, 0), white 15px) 0 0/50px 100%, linear-gradient(to left, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.15)) 0 0/30px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), white 15px) right/50px 100%, linear-gradient(to right, rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.15)) right/30px 100%; background-repeat: no-repeat; background-attachment: local, scroll, local, scroll; }
}
 @media screen and (min-width:1030px) {
/*.feature { background-attachment: fixed; }*/
}
 @media all and (-ms-high-contrast:none) {
body { font-family: "メイリオ", Meiryo, sans-serif; }
.fnt_ex,
.wf-hannari,
.btn_com { font-family: a-otf-ryumin-pr6n, serif; }
}
#wpadminbar { position: fixed !important; }
br[data-mce-bogus="1"] { display: none !important; }
@keyframes rotating { from {
 transform: rotate(0deg);
}
to { transform: rotate(360deg); }
}
