@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Shippori+Mincho:wght@400;500;600;700&display=swap");
/* スマホ用フォントサイズ PCのフォントサイズを数字で指定して同じ比率で縮小表示する
*/
/* for bootstrap */
@media print { a[href]:after { content: ""; }
  abbr[title]:after { content: ""; } }
/* for IE scrollbar */
@-ms-viewport { width: auto; initial-scale: 1; }
/* rem control */
html { font-size: 16px; background-color: #fff; font-feature-settings: "palt", "kern"; word-wrap: break-word; overflow-wrap: break-word; }
@media screen and (max-width: 767px) { html { font-size: 14px; } }

body { font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; font-feature-settings: "palt"; color: #000; font-size: 1.0rem; font-weight: 400; line-height: 1.6875; letter-spacing: 0.2em; background: #281a14; /*background: linear-gradient(180deg, rgba(178,195,150,1) 0%, rgba(40,26,20,1) 25%, rgba(178,195,150,1) 50%, rgba(40,26,20,1) 75%, rgba(178,195,150,1) 100%);*/ }

.font-mincho { font-family: "Shippori Mincho", serif; }

img { max-width: 100%; }

ul, li, dl, dt, dd { list-style-type: none; margin: 0px; padding: 0px; display: block; }

h1, h2, h3, h4, h5, h6 { font-weight: bold; }

a { outline: 0px none; -webkit-touch-callout: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); transition: opacity 0.3s; }

a:not(.btn) { outline: 0px none; font-weight: 500; text-decoration: none; -webkit-touch-callout: none; color: #000; transition: color 0.4s, opacity 0.3s; }
a:not(.btn):visited, a:not(.btn):active { color: #000; }
a:not(.btn):hover { color: #000; }

a.btn-link { text-decoration: underline; }

.icon-arrow { position: relative; }
.icon-arrow:after { content: ''; display: inline-block; width: 0.5em; height: 0.5em; border-top: 2px solid #000; border-right: 2px solid #000; margin-left: 0.15em; position: relative; top: -0.00em; transform: rotate(45deg); }
@media screen and (max-width: 767px) { .icon-arrow:after { border-width: 1px; } }

.icon-arrow-circle:after { content: ""; display: inline-block; width: 27px; height: 27px; background-image: url("../img/icon-arrow-right.svg"); background-size: contain; background-position: center; background-repeat: no-repeat; margin-left: 1.5em; vertical-align: top; }
@media screen and (max-width: 767px) { .icon-arrow-circle:after { width: 0.8em; height: 0.8em; margin-left: 0.5em; } }

.icon-exlink:after { content: "❐"; display: inline-block; margin-left: 0.3em; font-size: 113%; }

.btn { position: relative; letter-spacing: 0.02em; font-weight: 400; border-radius: 0; }
.btn.center { display: flex; justify-content: center; align-items: center; }
.btn.icon-arrow { padding-right: 2em; }
.btn.icon-arrow:after { position: absolute; right: 6%; top: 50%; transform: translateY(-50%) rotate(45deg); }
.btn.icon-exlink { padding-right: 2em; }
.btn.icon-exlink:after { position: absolute; right: 3%; top: 50%; transform: translateY(-50%); }

.btn-pill { border-radius: 200em; }

.strong { font-weight: 700; }

.break { display: inline-block; white-space: normal; word-break: break-all; hyphens: auto; overflow-wrap: break-word; word-wrap: break-word; }

.nowrap { white-space: nowrap; }

.ellipsis { width: auto; white-space: nowrap; overflow: hidden; -ms-text-overflow: ellipsis; /* Required for IE8 */ -o-text-overflow: ellipsis; /* Required for Opera */ text-overflow: ellipsis; }

.clear { clear: both; float: none; }

@media screen and (max-width: 767px) { .lead { font-size: 13px; } }

.indent { text-indent: -1em; padding-left: 1em; }
.indent.i5 { text-indent: -0.5em; padding-left: 0.5em; }
.indent.i11 { text-indent: -1.1em; padding-left: 1.1em; }
.indent.i13 { text-indent: -1.3em; padding-left: 1.3em; }
.indent.i15 { text-indent: -1.5em; padding-left: 1.5em; }

.indent-childs > * { text-indent: -1.2em; padding-left: 1.2em; }
.indent-childs.i5 > * { text-indent: -0.5em; padding-left: 0.5em; }
.indent-childs.i11 > * { text-indent: -1.1em; padding-left: 1.1em; }
.indent-childs.i13 > * { text-indent: -1.3em; padding-left: 1.3em; }
.indent-childs.i15 > * { text-indent: -1.5em; padding-left: 1.5em; }

.w100 { width: 100%; }

.mt5 { margin-top: 5px; }

.mt10 { margin-top: 10px; }

.mt15 { margin-top: 15px; }

.mt20 { margin-top: 20px; }

.mt25 { margin-top: 25px; }

.mt30 { margin-top: 30px; }

.mt40 { margin-top: 40px; }

.mt50 { margin-top: 50px; }

.mt60 { margin-top: 60px; }

.mt70 { margin-top: 70px; }

.mt80 { margin-top: 80px; }

.ml5 { margin-left: 3px; }

.ml10 { margin-left: 8px; }

.mr10 { margin-right: 10px; }

.mr15 { margin-right: 15px; }

.mb5 { margin-bottom: 5px; }

.mb10 { margin-bottom: 10px; }

.mb20 { margin-bottom: 20px; }

.mb30 { margin-bottom: 30px; }

.mb40 { margin-bottom: 40px; }

.mb50 { margin-bottom: 50px; }

.mb60 { margin-bottom: 60px; }

.mb70 { margin-bottom: 70px; }

.mb80 { margin-bottom: 80px; }

.mb90 { margin-bottom: 90px; }

.mb100 { margin-bottom: 100px; }

.mlr5 { margin-right: 5px; margin-left: 5px; }

.mlr10 { margin-right: 10px; margin-left: 10px; }

.mlr15 { margin-right: 15px; margin-left: 15px; }

.mlr20 { margin-right: 20px; margin-left: 20px; }

.mlr30 { margin-right: 30px; margin-left: 30px; }

.mlr40 { margin-right: 40px; margin-left: 40px; }

.form-control.inline { display: inline-block; width: auto; }
.form-control.inline[type=text], .form-control.inline[type=tel] { width: 200px; }
.form-control.inline[type=number] { width: 90px; }
.form-control.inline-s { width: 90px; }
@media screen and (max-width: 767px) { .form-control.inline[type=text] { width: 80px; }
  .form-control.inline[type=tel], .form-control.inline[type=number] { width: 80px; }
  .form-control.inline-s { width: 80px; } }

label { font-weight: normal; margin-right: 20px; cursor: pointer; }

.row.row-narrow { margin-left: -5px; margin-right: -5px; }
.row.row-narrow > * { padding-left: 5px; padding-right: 5px; }
.row.row-collapse { margin-left: 0; margin-right: 0; }
.row.row-collapse > * { padding-left: 0; padding-right: 0; }

.inner { position: relative; margin-left: auto; margin-right: auto; padding: 0 45px; max-width: 1090px; }
.inner .inner { position: relative; margin-left: 60px; margin-right: 60px; max-width: initial; min-width: initial; }
@media screen and (max-width: 1090px) { .inner .inner { margin-left: 30px; margin-right: 30px; } }
@media screen and (max-width: 767px) { .inner { padding: 0; margin-left: 15px; margin-right: 15px; }
  .inner .inner { margin-left: 15px; margin-right: 15px; } }

/* -------------------------------------------------------------------------------------------------------------------------------- ヘッダ
-------------------------------------------------------------------------------------------------------------------------------- */
header { position: sticky; z-index: 999; left: 0px; top: 0px; width: 100%; height: 100px; }
@media screen and (max-width: 767px) { header { height: 50px; } }
header #header a.logo { display: block; position: relative; left: 35px; top: 30px; width: 142px; }
header #header a.logo img { display: block; width: 100%; }
@media screen and (max-width: 767px) { header #header a.logo { width: 107px; left: 15px; top: 15px; } }
header #header .menu-trigger { position: absolute; width: 30px; height: 20px; right: 35px; top: 35px; z-index: 999; font-size: 10px; font-weight: 300; display: inline-block; text-align: center; }
@media screen and (max-width: 767px) { header #header .menu-trigger { right: 15px; top: 15px; } }
header #header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; left: 0; width: 100%; height: 2px; background-color: #fff; }
header #header .menu-trigger span:nth-of-type(1) { top: 0%; }
header #header .menu-trigger span:nth-of-type(2) { top: 50%; }
header #header .menu-trigger span:nth-of-type(3) { top: 100%; }
header #header .menu-trigger.open span:nth-of-type(1) { top: 50%; transform: rotate(-45deg); background-color: #000; }
header #header .menu-trigger.open span:nth-of-type(2) { opacity: 0; }
header #header .menu-trigger.open span:nth-of-type(3) { top: 50%; transform: rotate(45deg); background-color: #000; }
header #header .naviBox { display: none; overflow-y: auto; position: sticky; width: 250px; top: 0; right: 0; margin-top: -50px; margin-left: auto; padding: 90px 0; background-color: rgba(255, 255, 255, 0.9); }
@media screen and (max-width: 767px) { header #header .naviBox { width: 100%; min-height: 100vh; min-height: 100svh; margin-top: -32px; padding: 60px 0 0; } }
header #header .naviBox .header-navi a { display: flex; justify-content: space-between; align-items: center; padding: 0 45px; height: 57px; font-size: 19px; font-weight: 400; position: relative; }
header #header .naviBox .header-navi a span { position: relative; }
header #header .naviBox .header-navi a:before { content: ""; display: block; z-index: 0; position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0; background: #281a14; background: -webkit-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: -o-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: linear-gradient(to right, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background-repeat: no-repeat; transition: all .4s; }
header #header .naviBox .header-navi a:hover:before { opacity: 1; }
header #header .naviBox a.btn-news { display: flex; justify-content: center; align-items: center; height: 46px; font-size: 18px; font-weight: 400; margin: 0 15px; position: relative; }
header #header .naviBox a.btn-news span { position: relative; color: #fff !important; }
header #header .naviBox a.btn-news:before { content: ""; display: block; z-index: 0; position: absolute; left: 0; top: 0; width: 100%; height: 100%; /*@include color_green_grad;*/ background-color: #281a14 !important; transition: opacity .4s; }
header #header .naviBox a.btn-news:hover:before { opacity: 0.7; }
header #header .naviBox .jp_en { width: 160px; height: 30px; display: flex; justify-content: center; align-items: center; font-size: 12px; letter-spacing: 1px; margin: 0 auto; position: absolute; bottom: 20px; left: calc(50% - 75px); }
header #header .naviBox .jp_en > a { width: 50%; height: 30px; background-color: #d8d8d8; border: 1px solid #a6a6a6; display: inline-flex; justify-content: center; align-items: center; }
header #header .naviBox .jp_en > a:first-child { border: 1px solid #a6a6a6; border-right: 0; }
header #header .naviBox .jp_en > a:last-child { background-color: #fff; }
header #header .naviBox .jp_en > a:hover { background-color: #a6a6a6; }
header #header .naviBox .jp_en > a:last-child:hover { background-color: #fff; }
@media screen and (max-width: 767px) { header #header .naviBox .jp_en { width: 220px; height: 40px; font-size: 14px; position: static; margin: 30px auto 0; }
  header #header .naviBox .jp_en > a { height: 40px; text-align: center; background-color: #d8d8d8; border: 1px solid #a6a6a6; display: inline-flex; justify-content: center; align-items: center; } }

/* -------------------------------------------------------------------------------------------------------------------------------- コンテンツ
-------------------------------------------------------------------------------------------------------------------------------- */
.bg-white { position: relative; background-color: #fff; /* 画像下タイトル */ }
@media screen and (min-width: 1340px) { .bg-white { margin-left: auto; margin-right: auto; max-width: 1190px; } }
@media screen and (min-width: 768px) and (max-width: 1339px) { .bg-white { margin-left: 75px; margin-right: 75px; } }
.bg-white.full-width { margin-left: auto; margin-right: auto; max-width: initial; padding-top: 150px; }
@media screen and (max-width: 767px) { .bg-white.full-width { padding-top: 35px; } }
.bg-white .shift-left { transform: translateX(-75px); }
.bg-white .shift-right { transform: translateX(75px); }
.bg-white .shift-inner { width: calc( 100% - 30px); }
@media screen and (max-width: 767px) { .bg-white { margin-left: 25px; margin-right: 25px; }
  .bg-white .shift-left { width: calc(100% + 40px); transform: translateX(-25px); }
  .bg-white .shift-right { width: calc(100% + 40px); transform: translateX(-15px); } }
.bg-white .shift-left .img + p, .bg-white .shift-left .slides + p, .bg-white .shift-right .img + p, .bg-white .shift-right .slides + p { font-family: "Shippori Mincho", serif; font-size: 50px; font-weight: 500; margin-bottom: calc(120 * 100vw / 1280); }
@media screen and (max-width: 767px) { .bg-white .shift-left .img + p, .bg-white .shift-left .slides + p, .bg-white .shift-right .img + p, .bg-white .shift-right .slides + p { font-size: 22px; text-align: center; } }
.bg-white .shift-left .img + p, .bg-white .shift-left .slides + p { text-align: right; }
@media screen and (max-width: 767px) { .bg-white .shift-left .img + p, .bg-white .shift-left .slides + p { text-align: center; } }
.bg-white .section-title { padding: 110px 0 0; text-align: center; margin-bottom: 30px; font-family: "Shippori Mincho", serif; font-weight: 700; font-size: 40px; }
.bg-white .section-title small { font-size: 25px; }
.bg-white .section-title + p { padding-bottom: 100px; text-align: center; font-family: "Shippori Mincho", serif; font-weight: 500; font-size: 20px; }
@media screen and (max-width: 767px) { .bg-white .section-title { padding: 35px 0 0; font-size: 21px; }
  .bg-white .section-title small { font-size: 14px; }
  .bg-white .section-title + p { padding-bottom: 30px; font-size: 12.6px; margin-left: 1em; margin-right: 1em; } }
.bg-white h4.title { border-left: 1px solid #000; font-size: 24px; font-family: "Shippori Mincho", serif; margin: 0 0 20px; padding: 0 0.3em; }
@media screen and (max-width: 767px) { .bg-white h4.title { font-size: 16.8px; } }

.btn-reserve-fixed { position: fixed; z-index: 9; right: 0; bottom: 100px; background-color: #cacaca; color: #fff; transition: background-color 1s; display: flex; justify-content: center; align-items: center; border-radius: 10px 0 0 10px; }
.btn-reserve-fixed.bg-color-alpha { background-color: rgba(255, 255, 255, 0.3); }
.btn-reserve-fixed span { font-size: 24px; font-weight: 700; line-height: 1.1; display: flex; justify-content: center; align-items: center; padding-left: 0.3em; width: 80px; height: 80px; cursor: pointer; opacity: 0.9; transition: opacity 0.3s; }
.btn-reserve-fixed:hover span { opacity: 1; }
.btn-reserve-fixed form { display: flex; justify-content: center; align-items: center; align-items: stretch; position: relative; width: 0px; overflow: hidden; opacity: 0; transition: opacity 0.6s; }
.btn-reserve-fixed.active form { opacity: 1; width: auto; }
.btn-reserve-fixed.active form div { margin-left: 1em; background-image: url("../img/icon-calendar.svg"); background-size: auto 60%; background-repeat: no-repeat; background-position: 10px center; padding-left: 40px; background-color: #fff; }
.btn-reserve-fixed.active form div small { display: block; font-size: 10px; line-height: 1; padding: 0.2em 0.2em 0 0.5em; color: #7f7f7f; }
.btn-reserve-fixed.active form div input.datepicker { border: none; padding: 0 0.2em 0 0.2em; }
.btn-reserve-fixed.active form input[type="submit"] { border: none; background-color: #7f7f7f; color: #fff; margin-left: 1em; margin-right: 1em; padding: 0.2em 0.5em; }
@media screen and (max-width: 767px) { .btn-reserve-fixed { display: none; } }

.page-header { margin: 0; padding-top: calc( (120 * 100vw / 1280) - 100px ); padding-bottom: calc(80 * 100vw / 1280); width: 100%; display: flex; justify-content: center; align-items: center; font-family: "Shippori Mincho", serif; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 55px; color: #fff; font-weight: 500; letter-spacing: 0.38em; }
@media screen and (max-width: 767px) { .page-header { padding-top: calc(128 * 100vw / 750); padding-bottom: calc(113 * 100vw / 750); font-size: 31.5px; } }

.box-caution { display: flex; border: 1px solid #c1272d; }
.box-caution > div:nth-of-type(1) { display: flex; justify-content: center; align-items: center; padding: 0.75rem; background-color: #c1272d; color: #fff; }
.box-caution > div:nth-of-type(1) .white { background-color: #fff; color: #c1272d; }
.box-caution > div:nth-of-type(2) { padding: 0.75rem; color: #c1272d; }
@media screen and (max-width: 767px) { .box-caution { flex-direction: column; }
  .box-caution > div { width: 100%; } }

.table th { background: #281a14; background: -webkit-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: -o-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: linear-gradient(to right, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background-repeat: no-repeat; font-weight: 400; border: 1px solid #000; }
.table td { border: 1px solid #000; }

@media screen and (max-width: 767px) { .table.tbl-responsive thead, .table.tbl-responsive tbody, .table.tbl-responsive tr { display: block; }
  .table.tbl-responsive th, .table.tbl-responsive td { display: block; width: auto; text-align: left; }
  .table.tbl-responsive td { border: none; padding-top: 0; } }
.inner-links { display: flex; gap: 10px; width: calc( 100% + 90px ); transform: translateX(-45px); }
.inner-links a { opacity: 1; transition: opacity 0.4s; }
.inner-links a:hover { opacity: 0.8; }
@media screen and (max-width: 767px) { .inner-links { flex-direction: column; gap: 5px; width: calc( 100% + 50px ); transform: translateX(-25px); } }

.pagination { display: block; text-align: center; margin: 20px; }
.pagination a { display: flex; justify-content: center; align-items: center; display: inline-flex; width: 40px; height: 40px; border: 1px solid #c1c1c1; color: #000; margin: 0 5px; padding: 0; text-align: center; line-height: 1; font-weight: 400; text-decoration: none; overflow: hidden; }
.pagination a.active, .pagination a:hover, .pagination a.nav:hover { color: #fff; border-color: #000; background-color: #000; }
@media screen and (max-width: 767px) { .pagination { margin: 20px 10px; }
  .pagination a { width: 30px; height: 30px; } }

.fade-in { opacity: 0; transition: opacity 1s; }
.fade-in.inview { opacity: 1; }

.fade-up { opacity: 0; transform: translateY(25px); transition: opacity 1s, transform 1s; }
.fade-up.inview { opacity: 1; transform: translateY(0); }

/* -------------------------------------------------------------------------------------------------------------------------------- フッタ
-------------------------------------------------------------------------------------------------------------------------------- */
footer .footer-logo { position: relative; text-align: center; padding: 50px 0 40px; }
footer .footer-logo .logo { width: 297px; }
@media screen and (max-width: 767px) { footer .footer-logo { padding: 55px 0 27px; }
  footer .footer-logo .logo { width: calc(336 * 100vw / 750); } }
footer .address { text-align: center; font-size: 20px; }
@media screen and (max-width: 767px) { footer .address { font-size: 10px; } }
footer .sns { padding-top: 50px; padding-bottom: 55px; display: flex; justify-content: center; align-items: center; gap: 35px; }
footer .sns a img { width: 40px; }
footer .sns a:hover { opacity: 0.7; }
@media screen and (max-width: 767px) { footer .sns { gap: 30px; }
  footer .sns a img { width: 36px; } }
footer .footer-bn { margin-bottom: 85px; width: calc( 100% + 90px ); transform: translateX(-45px); display: flex; justify-content: center; align-items: center; gap: 10px; }
footer .footer-bn a { position: relative; width: 50%; height: 155px; background-size: cover; background-position: center; display: flex; justify-content: center; align-items: center; }
footer .footer-bn a.shinmeikan { background-image: url("../../common/img/bn-shinmeikan-bg.jpg"); }
footer .footer-bn a.yamamizuki { background-image: url("../../common/img/bn-yamamizuki-bg.jpg"); }
footer .footer-bn a.miyamasansou { background-image: url("../../common/img/bn-miyamasansou-bg.jpg"); }
footer .footer-bn a img { position: relative; width: auto; height: 109px; }
footer .footer-bn a:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-color: rgba(0, 0, 0, 0.2); transition: opacity 0.4s; }
footer .footer-bn a:hover:before { opacity: 0; }
@media screen and (max-width: 767px) { footer .footer-bn { width: calc( 100% + 50px ); transform: translateX(-25px); flex-direction: column; gap: 5px; }
  footer .footer-bn a { width: 100%; height: auto; aspect-ratio: 750/180; }
  footer .footer-bn a img { height: 54px; } }
footer .bg-white.full-width .inner-links { width: 100%; transform: none; }
footer .bg-white.full-width .inner-links a { width: 33%; }
footer .bg-white.full-width .inner-links a img { width: 100%; }
footer .bg-white.full-width .footer-bn { width: 100%; transform: none; }
@media screen and (max-width: 767px) { footer .bg-white.full-width .inner-links a { width: auto; } }
footer .footer-navs.inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; padding-bottom: 150px; }
@media screen and (max-width: 767px) { footer .footer-navs.inner { flex-direction: column; padding-bottom: 30px; } }
footer .footer-navs.inner .navs { width: 316px; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .navs { order: 2; width: auto; margin-top: 25px; } }
footer .footer-navs.inner .navs > div:nth-of-type(1) { border-left: 1px solid #000; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .navs > div:nth-of-type(1) { border-left: none; } }
footer .footer-navs.inner .navs > div:nth-of-type(1) .logo { display: block; width: 243px; margin: 0 auto 20px; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .navs > div:nth-of-type(1) .logo { width: calc(154 * 100vw / 750); margin: 0; padding: 0 0 10px 8px; border-left: 1px solid #000; } }
footer .footer-navs.inner .navs > div:nth-of-type(1) ul { font-size: 23px; margin-bottom: 45px; }
footer .footer-navs.inner .navs > div:nth-of-type(1) ul a { display: flex; justify-content: flex-start; align-items: center; height: 65px; padding-left: 55px; font-weight: 400; position: relative; }
footer .footer-navs.inner .navs > div:nth-of-type(1) ul a span { position: relative; margin-right: 0.5em; }
footer .footer-navs.inner .navs > div:nth-of-type(1) ul a:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #281a14; background: -webkit-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: -o-linear-gradient(left, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background: linear-gradient(to right, rgba(40, 26, 20, 0.5) 0%, rgba(40, 26, 20, 0.5) 100%); background-repeat: no-repeat; transition: opacity 0.4s; opacity: 0; }
footer .footer-navs.inner .navs > div:nth-of-type(1) ul a:hover:before { opacity: 1; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .navs > div:nth-of-type(1) ul { font-size: 8px; margin-bottom: 25px; display: flex; flex-wrap: wrap; }
  footer .footer-navs.inner .navs > div:nth-of-type(1) ul li { width: calc( 100% / 3 ); border-left: 1px solid #000; }
  footer .footer-navs.inner .navs > div:nth-of-type(1) ul li a { height: 21px; padding-left: 17px; } }
footer .footer-navs.inner .navs .btn { display: block; text-align: left; font-size: 18px; padding: 0.4em 1.5em; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .navs > div:nth-of-type(2) { display: flex; gap: 13px; }
  footer .footer-navs.inner .navs > div:nth-of-type(2) p { width: 50%; }
  footer .footer-navs.inner .navs > div:nth-of-type(2) p .btn { font-size: 10px; } }
footer .footer-navs.inner .fb-plugin { width: 500px; position: relative; overflow-x: hidden; }
@media screen and (max-width: 767px) { footer .footer-navs.inner .fb-plugin { width: 100%; } }
footer .group-nav { display: flex; justify-content: space-between; align-items: center; padding: 30px 50px 60px 50px; }
footer .group-nav > div { padding: 15px 0; }
footer .group-nav > div a:not(.btn) { display: inline-block; font-size: 20px; color: #fff; font-weight: 400; padding-right: 1em; margin-right: 1em; line-height: 1; border-right: 1px solid #fff; }
footer .group-nav > div a:not(.btn):last-child { border-right: none; }
footer .group-nav > div a:not(.btn):hover { color: #000; }
footer .group-nav .copyright { font-size: 15px; color: #fff; }
@media screen and (max-width: 767px) { footer .group-nav { flex-direction: column; padding: 0 25px 80px 25px; }
  footer .group-nav > div a:not(.btn) { font-size: 10px; padding-right: 0.5em; margin-right: 0.5em; }
  footer .group-nav .copyright { font-size: 10px; } }

header #header .naviBox .header-navi a:hover span { color: #fff; }

header #header .naviBox .header-navi a.icon-arrow:hover:after { border-top: 2px solid #fff; border-right: 2px solid #fff; }

footer .footer-navs.inner .navs > div:nth-of-type(1) ul a:hover { color: #fff; }

footer .footer-navs.inner .navs > div:nth-of-type(1) ul a.icon-arrow:hover:after { border-top: 2px solid #fff; border-right: 2px solid #fff; }

.btn-reserve-fixed_sp { display: none; }

@media screen and (max-width: 767px) { .btn-reserve-fixed_sp { position: fixed; display: flex; justify-content: center; align-items: center; right: 0; bottom: 20px; width: 70px; height: 70px; background-color: #cacaca; border-radius: 10px 0 0 10px; font-size: 18px; line-height: 1.2; }
  .btn-reserve-fixed_sp.bg-color-alpha { background-color: rgba(255, 255, 255, 0.3); }
  .btn-reserve-fixed_sp a { color: #fff !important; } }
/* 20231221追加 */
.btn-pro_box { z-index: 2; position: fixed; bottom: 0; right: 0; display: flex; height: 60px; letter-spacing: 0; text-align: center; }

.btn-pro_box > a { display: flex; justify-content: center; align-items: center; position: relative; color: #fff !important; font-weight: bold; line-height: 1.4; }

.btn-pro_box .cancel_btn { background-color: rgba(0, 0, 0, 0.7); width: 260px; border-right: 1px solid #c5c5c5; font-size: 14px; flex-direction: column; }

.btn-pro_box .cancel_btn::before { content: ""; width: 50px; height: 2px; bottom: 0; left: calc(50% - 25px); position: absolute; background-color: #cb3120; }

.btn-pro_box .reserve_btn { background-color: rgba(0, 0, 0, 0.7); width: 200px; font-size: 18px; }

.btn-pro_box .reserve_btn::before { content: ""; width: 50px; height: 2px; bottom: 0; left: calc(50% - 25px); position: absolute; background-color: #fff; }

@media (min-width: 768px) { .pcnone { display: none !important; }
  .btn-pro_box .cancel_btn:hover { opacity: 0.8; }
  .btn-pro_box .reserve_btn:hover { opacity: 0.8; } }
@media screen and (max-width: 767px) { .btn-pro_box { width: 100%; }
  .btn-pro_box .cancel_btn { width: 50%; font-size: 11px; }
  .btn-pro_box .cancel_btn span { font-size: 14px; }
  .btn-pro_box .reserve_btn { width: 50%; font-size: 18px; }
  .spnone { display: none !important; } }
