@charset "UTF-8";

/* icon用font */
@font-face {
   font-family: "fontello";
   src: url(../font/fontello9e13.eot?63314776);
   src: url(../font/fontello9e13.eot?63314776#iefix) format("embedded-opentype"), url(../font/fontello9e13.woff?63314776) format("woff"), url(../font/fontello9e13.ttf?63314776) format("truetype"), url(../font/fontello9e13.svg?63314776#fontello) format("svg");
   font-weight: normal;
   font-style: normal;
}

.icon-popup:before {
   content: '\73';
}

/* 's' */
.icon-right-open:before {
   content: '\6d';
}

/* 'm' */
.icon-twitter:before {
   content: '\77';
}

/* 'w' */
.icon-facebook-squared:before {
   content: '\66';
}

/* 'f' */
.icon-monitor:before {
   content: '\70';
}

/* 'p' */
.icon-phone:before {
   content: '\74';
}

/* 't' */
/* icon用font */
@font-face {
   font-family: 'fontello';
   src: url("../font/fontello.eot?83678375");
   src: url("../font/fontello.eot?83678375#iefix") format("embedded-opentype"), url("../font/fontello.woff?83678375") format("woff"), url("../font/fontello.ttf?83678375") format("truetype"), url("../font/fontello.svg?83678375#fontello") format("svg");
   font-weight: normal;
   font-style: normal;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
   font-family: "fontello";
   font-style: normal;
   font-weight: normal;
   speak: none;
   display: inline-block;
   text-decoration: inherit;
   width: 1em;
   text-align: center;
   font-variant: normal;
   text-transform: none;
   line-height: 1em;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   margin-right: 0.4em;
}

.icon-menu:before {
   content: '\E800';
}

.icon-globe:before {
   content: '\E801';
}

.icon-phone:before {
   content: "";
}

.icon-pc:before {
   content: '\E802';
}

img {
   border: 0;
   vertical-align: middle;
}

ul,
ol {
   list-style: none;
}

table {
   border-spacing: 5;
   empty-cells: show;
}

/*=============================================*/
/*                 マージン            */
/*=============================================*/
.m_b0 {
   margin-bottom: 0;
}

.m_b05 {
   margin-bottom: 5px;
}

.m_b10 {
   margin-bottom: 10px;
}

.m_b15 {
   margin-bottom: 15px;
}

.m_b20 {
   margin-bottom: 20px;
}

.m_b25 {
   margin-bottom: 25px;
}

.m_b30 {
   margin-bottom: 30px;
}

.m_t05 {
   margin-top: 5px;
}

.m_t10 {
   margin-top: 10px;
}

.m_t15 {
   margin-top: 15px;
}

.m_t20 {
   margin-top: 20px;
}

.m_t25 {
   margin-top: 25px;
}

.m_t30 {
   margin-top: 30px;
}

.m_l20 {
   margin-left: 20px;
}

.m_r20 {
   margin-right: 20px;
}

.p_l05 {
   padding-left: 5px;
}

.p_l10 {
   padding-left: 10px;
}

.p_l15 {
   padding-left: 15px;
}

.p_l20 {
   padding-left: 20px;
}

.p_l25 {
   padding-left: 25px;
}

.p_l30 {
   padding-left: 30px;
}

.p_l40 {
   padding-left: 30px;
}

.p_l50 {
   padding-left: 50px;
}

.p_l65 {
   padding-left: 65px;
}

.p_r05 {
   padding-right: 5px;
}

.p_r10 {
   padding-right: 10px;
}

.p_r15 {
   padding-right: 15px;
}

.p_r20 {
   padding-right: 20px;
}

.p_r25 {
   padding-right: 25px;
}

.p_r30 {
   padding-right: 30px;
}

.p_r40 {
   padding-right: 40px;
}

.p_r50 {
   padding-right: 50px;
}

.p_t10 {
   padding-top: 10px;
}

.p_t20 {
   padding-top: 20px;
}

.p_t30 {
   padding-top: 30px;
}

.p_40 {
   padding-top: 40px;
}

.p_t50 {
   padding-top: 50px;
}

.pa_box5 {
   padding: 5px;
}

.pa_box10 {
   padding: 10px;
}

.pa_box15 {
   padding: 15px;
}

.pa_box20 {
   padding: 20px;
}

.p_txt {
   padding-left: 10px;
   padding-right: 10px;
}

.txt_red {
   color: #990000;
}

.txt_white {
   color: #fff;
}

.box_center {
   text-align: center;
}

.t_pickup {
   font-size: 20px;
   font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
   font-weight: bold;
   color: #333;
   text-shadow: 0px 1px 3px #999;
   border-bottom: 1px solid #3e210d;
}

p.txt_c {
   text-align: center;
   margin-top: 5px;
   margin-bottom: 5px;
   padding: 0px 3px 0px 3px;
}

p.txt_c2 {
   text-align: center;
   padding: 0px 3px 0px 3px;
}

/*=================================================
 * サイト全体の基本スタイル
 * ================================================= */
body {
   text-align: left;
   letter-spacing: 0px;
   word-spacing: normal;
   background: url("../img/shared/body_bg.jpg") repeat center top;
   color: #fff;
   font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
   font-weight: normal;
   font-size: 13px;
   line-height: 25px;
   letter-spacing: 0.1em;
   cursor: auto;
}

.font-mincho {
   font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

a {
   text-decoration: none;
}

a:hover {
   color: #FFF;
   text-decoration: none;
}

img {
   width: 100%;
   height: auto;
}


.global-header {
   width: 100%;
   background: url(../img/shared/header_bg.jpg) repeat center top;
   box-sizing: border-box;
   padding: 0 2%;
   position: relative;
}

header .logo {
   width: 127px;
   padding-left: 3%;
}

.global-header h1 {
   width: 60%;
   color: #afafaf;
   font-size: 12px;
   line-height: 20px;
   letter-spacing: 0.15em;
   position: absolute;
   top: 70px;
   left: 8%;
   z-index: 1;
}

.block {
   clear: both;
}

.block:after {
   content: '';
   display: block;
   clear: both;
}

.key {
   position: relative;
}

section p {
   margin-bottom: 20px;
}

section p:last-child {
   margin-bottom: 0;
}

section .txt {
   text-align: justify;
}

.block * {
   box-sizing: border-box;
}

.block h2 {
   margin-bottom: 20px;
}

.block h2.m_b0 {
   margin-bottom: 0;
}

.box {
   padding: 0 10px;
}

.line01 {
   border: none;
   height: 2px;
   background-color: rgba(190, 151, 98, 0.3);
}

.rotate01 {
   transform: rotate(-10deg);
   -webkit-transform: rotate(-10deg);
   -moz-transform: rotate(-10deg);
   -o-transform: rotate(-10deg);
   -ms-transform: rotate(-10deg);
}

/*=============================================*/
/*           　フッター箇所　　　　　          */
/*=============================================*/
.global-footer {
   background: url("../img/shared/footer_bg.jpg") repeat center top;
   padding: 70px 0 100px;
}

.global-footer .sub-nav {
   font-weight: bold;
   font-size: 13px;
   line-height: 15px;
   letter-spacing: 0;
   text-align: center;
   padding-top: 60px;
}

.global-footer .sub-nav li {
   display: inline-block;
   padding: 0 15px;
}

.global-footer .sub-nav li+li {
   border-left: 2px solid #acacac;
}

.global-footer .sub-nav a {
   text-decoration: none;
}

.global-footer .tel {
   padding: 20px 0;
}

.global-footer .sns {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 30px;
}

.global-footer .sns li {
   width: 32px;
   padding: 0 20px;
}

.global-footer .info {
   font-size: 13px;
   line-height: 22px;
   padding-top: 20px;
}

.global-footer .info dl {
   display: table;
   width: 100%;
   border-bottom: 1px solid #999692;
   letter-spacing: 0;
   padding: 12px 0;
}

.global-footer .info dl>* {
   display: table-cell;
   vertical-align: top;
}

.global-footer .info dl dt {
   width: 100px;
}

.global-footer .btn_recruit {
   padding: 30px 0;
}

.global-footer address {
   text-align: center;
   padding-top: 20px;
}

.global-footer .cookies-link {
   text-align: center;
   padding-top: 10px;
}

.global-footer .rss {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   background: url("../img/shared/rss-bg.jpg") repeat center top;
   padding: 20px 5%;
}

.global-footer .rss h3 {
   width: 70px;
   font-weight: bold;
   font-size: 21px;
   line-height: 30px;
   letter-spacing: 0.075em;
   color: #be0f0f;
}

.global-footer #feed {
   width: calc(100% - 80px);
   font-size: 12px;
   line-height: 20px;
   color: #21272a;
   margin-left: 10px;
}

.global-footer #feed p+p {
   padding-top: 10px;
}

.global-footer #feed strong {
   display: block;
}

.global-footer #feed a {
   color: #21272a;
}

.ft_fixed {
   width: 100%;
   background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
   position: fixed;
   bottom: 0;
   left: 0;
   z-index: 90;
   opacity: 0;
   visibility: hidden;
   transition: all 0.3s;
}

.has_nav .ft_fixed {
   opacity: 1;
   visibility: visible;
}

.ft_fixed ul {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-evenly;
   text-align: center;
}

.ft_fixed ul li img {
   width: auto;
   height: 50px;
}

.ft_fixed ul li {
   position: relative;
	width: 50%;
}

.ft_fixed ul li+li:before {
   content: '';
   width: 0;
   border-left: 1px solid #fff;
   position: absolute;
   top: 10px;
   bottom: 10px;
   left: 0;
}

/* iPhone X */
@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
   .has_nav footer:after {
      background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
      content: '';
      position: fixed;
      bottom: 0px;
      left: 0;
      right: 0;
      height: 35px;
      z-index: 1;
   }

   .ft_fixed {
      padding-bottom: calc(env(safe-area-inset-bottom) - 0px);
   }

   #pagetop {
      bottom: calc(env(safe-area-inset-bottom) + 50px);
   }
}

/* iPhone XR */
@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
   .has_nav footer:after {
      background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
      content: '';
      position: fixed;
      bottom: 0px;
      left: 0;
      right: 0;
      height: 35px;
      z-index: 1;
   }

   .ft_fixed {
      padding-bottom: calc(env(safe-area-inset-bottom) - 0px);
   }

   #pagetop {
      bottom: calc(env(safe-area-inset-bottom) + 50px);
   }
}

/* iPhone 11 */
@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) {
   .has_nav footer:after {
      background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
      content: '';
      position: fixed;
      bottom: 0px;
      left: 0;
      right: 0;
      height: 35px;
      z-index: 1;
   }

   .ft_fixed {
      padding-bottom: calc(env(safe-area-inset-bottom) - 0px);
   }

   #pagetop {
      bottom: calc(env(safe-area-inset-bottom) + 50px);
   }
}

@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) {
   .has_nav footer:after {
      background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
      content: '';
      position: fixed;
      bottom: 0px;
      left: 0;
      right: 0;
      height: 35px;
      z-index: 1;
   }

   .ft_fixed {
      padding-bottom: calc(env(safe-area-inset-bottom) - 0px);
   }

   #pagetop {
      bottom: calc(env(safe-area-inset-bottom) + 50px);
   }
}

@media only screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) {
   .has_nav footer:after {
      background: url("../img/shared/ft_fixed-bg.jpg") no-repeat center/cover;
      content: '';
      position: fixed;
      bottom: 0px;
      left: 0;
      right: 0;
      height: 35px;
      z-index: 1;
   }

   .ft_fixed {
      padding-bottom: calc(env(safe-area-inset-bottom) - 0px);
   }

   #pagetop {
      bottom: calc(env(safe-area-inset-bottom) + 50px);
   }
}


.modal-content {
   color: #211d19;
   padding: 50px 5% 30px;
}

.modal-content h2 {
   font-weight: bold;
   font-size: 15px;
   line-height: 45px;
}

.modal-content .txt {
   text-align: justify;
   padding-top: 10px;
}

.modal-content ul {
   border: 1px solid #000;
   margin-top: 20px;
   padding: 20px;
}

.modal-content ul li {
   text-align: left;
   padding-left: 20px;
   position: relative;
}

.modal-content ul li:before {
   content: '□';
   position: absolute;
   top: 0;
   left: 0;
}

button.remodal-close {
   width: 30px;
   height: 30px;
}

button.remodal-close:before {
   display: none;
}

/*----------------------under---------------------------------*/
.menuList {
   display: block;
   width: 100%;
}

.menuList h3 {
   border-bottom: 1px solid #3a352e;
   border-top: 1px solid #3a352e;
   font-size: 16px;
   font-weight: bold;
   line-height: 18px;
   margin-top: 20px;
   margin-bottom: 10px;
   padding: 12px 0 7px;
   text-align: center;
}

.menuList h3:first-of-type {
   margin-top: 0;
}

.menuList dl {
   display: table;
   width: 100%;
   padding: 10px 0;
}

.menuList dt {
   display: table-cell;
}

.menuList dd {
   text-align: right;
}

.fl {
   float: left;
}

.fr {
   float: right;
}

/*  -------------- su dung accordion ------------------  */
.btn-acc {
   position: relative;
   cursor: pointer;
   display: block;
}

.btn-acc span {
   font-size: 80%;
}

.btn-acc::after {
   font-family: "fontello";
   font-style: normal;
   font-weight: normal;
   speak: none;
   display: inline-block;
   text-decoration: inherit;
   width: 1em;
   text-align: center;
   font-variant: normal;
   text-transform: none;
   line-height: 1em;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   position: absolute;
   top: 50%;
   margin-top: -0.5em;
   color: #FF0000;
   right: 10px;
}

.btn-acc.close:after {
   content: '\e82b';
}

.btn-acc.open:after {
   content: '\e82a';
}

.lead {
   border-top: solid 10px #000;
}

/*----------------------index---------------------------------*/
.index-lead {
   padding: 30px 10px;
}

/*----------------------beginner---------------------------------*/
.beginner01 {
   background: url(../img/beginner/bg.png) no-repeat center bottom;
   background-size: cover;
   padding: 30px 10px;
   min-height: 680px;
}

.bnr {
   display: table;
   width: 100%;
   table-layout: fixed;
}

.bnr li {
   display: table-cell;
}

.begin-js {
   background: url(../img/beginner/bg1.jpg) repeat 0 0;
   padding: 10px;
   margin-bottom: 20px;
   text-align: center;
}

.begin-js h3 {
   font-size: 22px;
   margin-bottom: 15px;
   border-bottom: solid 1px rgba(255, 255, 255, 0.2);
   padding-bottom: 5px;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1.5;
   font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.begin-js h3 span {
   display: block;
   color: #d20402;
}

.beginner05 {
   padding-bottom: 50px;
}

/*----------------------menu---------------------------------*/
.menu01 {
   padding: 30px 10px;
}

.dl_df {
   font-size: 22px;
   margin-top: 10px;
}

.dl_df dt {
   font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
   font-weight: normal;
   margin-bottom: 4px;
}

.dl_df dd {
   font-weight: bold;
}

.dl_df dd span {
   font-size: 80%;
   font-weight: normal;
}

.btn {
   text-align: center;
}

.btn img {
   width: 80%;
}

.menu05 .bxslider .dl_df:last-of-type {
   margin-top: 0;
}

.block .menu-pr h2.btn-acc {
   border: solid 1px #ff0000;
   text-align: center;
   padding: 8px;
   margin-bottom: 15px;
   font-size: 16px;
}

.menu-pr {
   margin-bottom: 30px;
}

.color_01 {
   color: #ff9b9b;
}

/*----------------------private---------------------------------*/
.private01 {
   padding: 30px 10px;
   background: url(../img/private/bg1.jpg) #000 no-repeat bottom center;
   background-size: 100%;
}

.private03 {
   padding: 0 10px 30px;
}

.private03 .dl_df {
   background: url(../img/private/icon1.png) no-repeat 0 0;
   background-size: 30px;
   padding: 0 0 0 30px;
}

.private03 .dl_df dd {
   text-align: right;
}

.privatelist {
   border: double 4px rgba(255, 255, 255, 0.2);
   padding: 10px 10px 0;
   text-align: center;
}

.privatelist h3 {
   font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
   font-size: 18px;
   margin-bottom: 10px;
}

.privatelist h4 {
   font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
   font-size: 16px;
   border-bottom: solid 1px rgba(255, 255, 255, 0.2);
   border-top: solid 1px rgba(255, 255, 255, 0.2);
   padding: 10px 0;
   margin-bottom: 10px;
}

.privatelist h4 span {
   font-weight: normal;
}

.privatelist dl {
   margin-bottom: 10px;
}

.private04 {
   text-align: center;
   padding-bottom: 20px;
   border-bottom: solid 2px;
   border-image: url(../img/private/bg2.jpg) 2 2 2 2 repeat;
   margin-bottom: 20px;
}

.private04 h2 {
   background: url(../img/private/bg2.jpg) repeat 0 0;
   font-size: 18px;
   margin: 0;
   font-weight: bold;
   padding: 5px 10px;
}

.private04 h2 span {
   font-size: 22px;
}

.private04 h3 {
   font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
   font-size: 18px;
}

.private04 h3 span {
   color: #e30302;
   font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
   font-size: 30px;
   font-weight: bold;
}

.private05 {
   padding: 0 10px;
   margin-bottom: 30px;
}

.private05 .dl_df {
   background: url(../img/private/icon1.png) no-repeat 0 0;
   background-size: 30px;
   padding: 25px 0 0 25px;
   margin-bottom: 20px;
}

/*----------------------party---------------------------------*/
.party01 {
   padding: 30px 10px;
}

.sp01 {
   color: #e30302;
   font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif !important;
}

.party02 .privatelist dl {
   text-align: left;
}

.bg-1 {
   background: url(../img/party/icon1.png) no-repeat top right;
   background-size: 30px;
}

.party03 {
   padding: 10px;
   border-bottom: solid 1px;
   border-top: solid 1px;
   border-image: url(../img/private/bg2.jpg) 1 1 1 1 repeat;
   margin-bottom: 20px;
}

.party04 {
   padding: 0px 10px 20px;
}

/*----------------------access---------------------------------*/
.access01 {
   padding: 0 10px 20px;
}

.access01 table {
   width: 100%;
   border-collapse: collapse;
}

.access01 th {
   border-bottom: 1px dotted #fff;
   padding: 13px 0;
   vertical-align: top;
   width: 90px;
   font-weight: normal;
   text-align: center;
}

.access01 td {
   border-bottom: 1px dotted #fff;
   padding: 13px 0 13px 10px;
   vertical-align: top;
}

.access01 a {
   color: #e30302;
   font-size: 24px;
   text-decoration: none;
}

#gmap {
   min-height: 400px;
}

.s-title {
   font-family: "ヒラギノ明朝 Pro W4", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
   font-size: 20px;
   text-align: center;
   display: block;
   padding: 10px 0 0 0;
}

.access02 {
   padding-bottom: 30px;
}

/*----------------------ene---------------------------------*/
.catch {
   background: url(../img/ene/bg1.jpg) repeat 0 0;
   padding: 20px 10px 10px;
}

.ene-btn {
   background: url(../img/ene/bg2.jpg) no-repeat center center;
   background-size: 100%;
   padding: 50px 10px;
}

.ene02 {
   padding: 20px 10px;
}

.h3title {
   text-align: center;
   border: solid 1px #d00000;
   padding: 10px;
   font-size: 20px;
   font-weight: bold;
   margin-bottom: 20px;
}

.tit01 {
   font-size: 30px;
   font-weight: bold;
   text-align: center;
}

.incatch {
   background: url(../img/ene/bg1.jpg) repeat 0 0;
   padding: 10px;
   text-align: center;
   font-weight: bold;
}

.ene05 {
   padding: 20px 10px;
}

.ene05 .m-ttl {
   font-size: 18px;
   font-weight: bold;
   display: block;
   padding: 10px 0 0 0;
   text-align: center;
   font-family: "Lucida Grande", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif !important;
}

#gmap1 {
   min-height: 400px;
}

.rssbox {
   padding-top: 20px;
}

.rssbox h3 {
   font-size: 18px;
   text-align: center;
   margin-bottom: 15px;
   padding-bottom: 3px;
   border-bottom: 1px rgba(255, 255, 255, 0.23) solid;
}

.rssbox #feed .feedbox {
   margin-bottom: 30px;
}

.rssbox #feed .feedbox dl {
   margin-bottom: 10px;
   padding-bottom: 5px;
   border-bottom: 1px #4f4f4f dotted;
}

#footer .rssbox #feed .feedbox dl dt {
   font-size: 13px;
}

#footer .rssbox #feed .feedbox dl dd.name {
   padding: 2px 0;
   font-size: 15px;
   font-weight: bold;
}

#oshirase1 {
   margin: 10px auto;
   background-color: rgba(255, 255, 255, 0.7);
   font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E";
   width: 90%;
   font-size: 18px;
   border: #000000 double 3px;
   padding: 13px;
   line-height: 35px;
   color: #000000;
}

#oshirase1 h3 {
   font-weight: 500;
   text-align: center;
}

#oshirase1 a {
   color: #000000;
}

/* === === */
.button a {
   display: block;
   width: 92%;
   background-color: #171717;
   font-weight: bold;
   font-size: 18px;
   line-height: 36px;
   letter-spacing: 0;
   color: #fff;
   text-decoration: none;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 22px 0 22px 60px;
   position: relative;
}

.button a:before {
   content: '';
   width: 6px;
   height: 92%;
   background-color: #ff0000;
   position: absolute;
   top: 0;
   left: 7px;
}

.button a:after {
   content: '';
   width: 26px;
   height: 16px;
   background: url("../img/shared/button-arrow.png") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 15px;
   transform: translateY(-50%);
}

.button.red a {
   background-color: #ff0000;
}

.button.red a:after {
   background-image: url("../img/shared/button-arrow-white.png");
}

.btn_new a {
   display: block;
   width: 92%;
   background-color: #ff0000;
   font-weight: bold;
   font-size: 18px;
   line-height: 36px;
   letter-spacing: 0;
   color: #fff;
   text-decoration: none;
   box-sizing: border-box;
   margin: 0 auto;
   padding: 22px 0 22px 60px;
   position: relative;
}

.btn_new a:before {
   content: '';
   width: 6px;
   height: 100%;
   background-color: #fff;
   position: absolute;
   top: 0;
   left: 7px;
}

.btn_new a:after {
   content: '';
   width: 26px;
   height: 17px;
   background: url("../img/shared/button-arrow-white.png") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 16px;
   transform: translateY(-50%);
}

.btn_new a .line {
   display: block;
   border-bottom: 2px solid #fff;
   position: absolute;
   right: 100%;
   bottom: 0;
   left: 0;
   transition: all 0.3s;
}

.cl-red {
   color: #ff0000;
}

.slick-dots {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
}

.slick-dots li {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background-color: #fff;
   position: relative;
}

.slick-dots li+li {
   margin-left: 15px;
}

.slick-dots li button {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   cursor: pointer;
   opacity: 0;
}

.slick-dots li.slick-active,
.slick-dots li:hover {
   background-color: #ff0000;
}

/* === index === */
#index section {
   overflow: hidden;
}

#index section h2 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#index #sec1 {
   padding-bottom: 20vw;
}

#index #sec1 h2 {
   font-size: 5.867vw;
   margin-top: -20px;
   position: relative;
}

#index #sec1 h2:before {
   content: '';
   width: 12%;
   height: 0;
   border-top: 1px solid #fff;
   position: absolute;
   top: 20%;
   right: 0;
}

#index #sec1 h2 span {
   font-size: 7.467vw;
}

#index #sec1 h2 strong {
   font-weight: inherit;
   font-size: 12.533vw;
   border-bottom: 2px solid;
}

#index #sec2 {
   background: url("../img/index/sec2-photo1.png") no-repeat center top/100% auto;
   padding-bottom: 20vw;
}

#index #sec2 .deco {
   margin: 0 -5%;
}

#index #sec2 h2 {
   font-size: 10vw;
   margin-bottom: 0;
   margin-left: -6%;
}

#index #sec2 h2 small {
   font-size: 6.667vw;
}

#index #sec2 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
   font-size: 12vw;
   text-align: center;
}

#index #sec2 h3 small {
   font-size: 9.333vw;
}

#index #sec2 h3 span {
   font-size: 13.333vw;
   position: relative;
   z-index: 1;
}

#index #sec2 h3 span:before {
   content: '';
   width: 100%;
   height: 0;
   border-bottom: 10px solid #ff0000;
   position: absolute;
   bottom: 8%;
   left: 0;
   z-index: -1;
}

#index #sec2 .sub-title {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
   font-size: 4vw;
   text-align: right;
   margin-bottom: 50%;
   padding-top: 10px;
   padding-right: 13%;
}

#index #sec2 .photo {
   margin: 0 -6% 20px;
}

#index #sec2 .button {
   padding-top: 20px;
}

#index #sec3 {
   background: url("../img/shared/bg01.jpg") repeat center top;
   padding: 20vw 0;
   position: relative;
}

#index #sec3:before {
   content: '';
   width: 40%;
   height: 100%;
   background: url("../img/shared/bg02.jpg") repeat center top;
   position: absolute;
   top: 0;
   left: 0;
}

#index #sec3 h2 {
   font-size: 7.733vw;
   position: relative;
   z-index: 1;
   margin-bottom: -8%;
}

#index #sec3 h2 small {
   display: block;
   font-size: 5.333vw;
   margin-bottom: 10px;
   padding-left: 5px;
}

#index #sec3 h2 span {
   display: inline-block;
   background-color: #fff;
   margin-bottom: 5px;
   padding: 5px 5px;
}

#index #sec3 .txt {
   padding-top: 10px;
}

#index #sec3 .button {
   padding-top: 20px;
}

#index #sec4 {
   background: url('../img/index/sec4-deco.png') no-repeat center bottom / 100% auto;
   padding-bottom: 30vw;
}

#index #sec4 h2 {
   text-align: center;
   font-size: 7.333vw;
   line-height: 1.5;
   margin-top: 40px;
   padding: 10px 0 10px;
   position: relative;
}

#index #sec4 h2:before {
   content: '';
   width: 30px;
   height: 30px;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   top: 0;
   left: 2%;
}

#index #sec4 h2:after {
   content: '';
   width: 30px;
   height: 30px;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   bottom: 0;
   right: 2%;
}

#index #sec4 h2 small {
   display: block;
   font-size: 4.267vw;
}

/* === menu === */
#menu h1 {
   color: #fff;
   text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#menu section {
   overflow: hidden;
}

#menu section h2 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#menu #sec1 {
   padding: 10vw 0 20vw;
   position: relative;
   z-index: 1;
}

#menu #sec1:before {
   content: '';
   width: 60%;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 22%;
   bottom: 0;
   left: 0;
}

#menu #sec1 h2 {
   font-size: 8.667vw;
   padding-bottom: 20px;
   position: relative;
}

#menu #sec1 h2:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/menu/sec1-deco1.png") no-repeat center top/100% auto;
   position: absolute;
   top: 0;
   left: 0;
}

#menu #sec1 h2:after {
   content: '';
   width: 20%;
   height: 0;
   border-top: 1px solid #fff;
   position: absolute;
   bottom: 18%;
   left: 58%;
}

#menu #sec1 h2 span {
   font-size: 17.333vw;
}

#menu #sec1 h2 strong {
   font-size: 13.067vw;
}

#menu #sec1 h2 .udl {
   position: relative;
   z-index: 1;
}

#menu #sec1 h2 .udl:before {
   content: '';
   width: 100%;
   height: 0;
   border-bottom: 10px solid #ff0000;
   position: absolute;
   bottom: 12%;
   left: 0;
   z-index: -1;
}

#menu #sec1 .txt {
   padding-top: 10px;
}

#menu #sec2 {
   background: url("../img/shared/bg01.jpg") repeat center top;
   padding: 20vw 0;
   position: relative;
}

#menu #sec2:before {
   content: '';
   width: 100%;
   padding-top: 100%;
   background: url("../img/menu/sec2-deco.png") no-repeat center top/cover;
   position: absolute;
   top: -11%;
   left: 0;
}

#menu #sec2 h2 {
   font-size: 8.667vw;
   text-align: center;
}

#menu #sec2 h2 span {
   font-size: 14.667vw;
   border-bottom: 4px solid;
}

#menu #sec2 .box {
   padding: 30px 0 0;
}

#menu #sec2 .box+.box {
   padding-top: 50px;
}

#menu #sec2 .box .photo {
   position: relative;
}

#menu #sec2 .box .photo:before {
   content: '';
   width: 50px;
   height: 50px;
   background: url("../img/shared/bg03.jpg") repeat center top;
   position: absolute;
   bottom: -10px;
   right: -10px;
}

#menu #sec2 .box .photo img {
   position: relative;
   z-index: 1;
}

#menu #sec2 .box h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   font-size: 8vw;
   line-height: 1.2;
   letter-spacing: 0.1em;
   color: #dc0000;
   padding-top: 15px;
}

#menu #sec2 .box h3 span {
   display: inline-block;
   background-color: #fff;
   padding: 5px 10px;
   margin-bottom: 10px;
}

#menu #sec2 .box .txt {
   padding-top: 10px;
}

#menu #sec3 {
   padding-bottom: 20vw;
   position: relative;
}

#menu #sec3 h2 {
   font-size: 8.667vw;
   text-align: center;
   margin-bottom: 0;
   position: absolute;
   top: 4%;
   right: 0;
   left: 0;
}

#menu #sec3 h2 small {
   font-size: 6.667vw;
}

#menu #sec3 h2 span {
   font-size: 14.667vw;
   border-bottom: 4px solid;
}

#menu #sec3 dl {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   margin: -15% 0 20px;
}


#menu #sec3 dl dt {
   width: 45%;
   font-weight: bold;
   font-size: 6.6vw;
   line-height: 1.2;
   letter-spacing: 0.1em;
   padding-left: 5%;
}

#menu #sec3 dl dd {
   width: 55%;
   font-weight: bold;
   font-size: 5vw;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#menu #sec3 dl dd small {
   font-size: 4vw;
}

#menu #sec4 h2 {
   font-size: 8.667vw;
   text-align: center;
   line-height: 1.5;
   margin: 0 5% 30px;
   padding: 10px 0 10px;
   position: relative;
}

#menu #sec4 h2:before {
   content: '';
   width: 30px;
   height: 30px;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   top: 0;
   left: 2%;
}

#menu #sec4 h2:after {
   content: '';
   width: 30px;
   height: 30px;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   bottom: 0;
   right: 2%;
}

#menu #sec4 h2 span {
   font-size: 10.4vw;
}

#menu #sec4 .slider-fade {
   margin-top: -10%;
   position: relative;
}

#menu #sec4 .slider-fade:before {
   content: '';
   width: 50px;
   height: 50px;
   background: url("../img/shared/bg03.jpg") repeat center top;
   position: absolute;
   bottom: 30px;
   right: -10px;
}
#menu #sec4 .slider-fade .slick-dots {
   padding-top: 10px;
}
#menu #sec4 .txt {
   padding-top: 20px;
}

#menu .menu-list .col+.col {
   padding-top: 30px;
}

#menu .menu-list h3 {
   font-weight: bold;
   font-size: 5vw;
   letter-spacing: 0.1em;
   line-height: 1.2;
   color: #ff0000;
   margin-bottom: 15px;
}

#menu .menu-list h3:not(:first-of-type) {
   padding-top: 40px;
}
#menu .menu-list h4 {
   font-weight: bold;
   font-size: 4vw;
 
   color: #000;
   margin-bottom: 15px;
}
#menu .menu-list h4:not(:first-of-type) {
   padding-top: 20px;
}
#menu .menu-list .sub {
   font-weight: bold;
   font-size: 4.5vw;
   letter-spacing: 0.1em;
   line-height: 1.2;
   margin-bottom: 15px;
}

#menu .menu-list dl {
   display: table;
   width: 100%;
   border-bottom: 1px solid #8d8785;
   padding-bottom: 10px;
}

#menu .menu-list dl+dl {
   padding-top: 10px;
}

#menu .menu-list dl>* {
   display: table-cell;
   vertical-align: bottom;
}

#menu .menu-list dl dd {
   text-align: right;
}

#menu #sec5 {
   padding: 15vw 0;
}

#menu #sec5 .wrap {
   padding: 0 2.5%;
}

#menu #sec5 .toggle-link {
   background-color: #ff0000;
   color: #fff;
   text-align: center;
   padding: 24px 20px 10px;
   position: relative;
}

#menu #sec5 .toggle-link:before {
   content: '';
   width: 0;
   height: 100%;
   border-left: 4px solid #fff;
   position: absolute;
   top: 0;
   left: 5px;
}

#menu #sec5 .toggle-link:after {
   content: '';
   width: 26px;
   height: 16px;
   background: url("../img/shared/button-arrow-white.png") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%) rotate(90deg);
   transition: all 0.3s;
   margin: 0;
}

#menu #sec5 .toggle-link h2 {
   font-size: 4.667vw;
   margin-bottom: 0;
}

#menu #sec5 .toggle-main {
   padding-top: 30px;
}

#menu #sec5 .toggle-main .note {
   text-align: center;
}

#menu #sec5 .toggle-main .menu-list {
   width: 82%;
   margin: 0 auto;
}

#menu #sec5 .toggle.active .toggle-link:after {
   transform: translateY(-50%) rotate(-90deg);
}

#menu #sec6 {
   background: url("../img/shared/bg03.jpg") repeat center top;
   color: #000;
   padding: 20vw 0;
   position: relative;
}

#menu #sec6:before {
   content: '';
   width: 100%;
   height: 10px;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 20px;
   left: 0;
}

#menu #sec6:after {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/menu/sec6-deco.png") no-repeat center top/100% auto;
   position: absolute;
   top: 20px;
   left: 0;
}

#menu #sec6 .title {
   text-align: center;
}

#menu #sec6 h2 {
   font-size: 6.667vw;
   margin-bottom: 0;
}

#menu #sec6 dl {
   display: inline-block;
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#menu #sec6 dl dt {
   font-size: 6.667vw;
}

#menu #sec6 dl dt strong {
   font-size: 13.333vw;
   position: relative;
   z-index: 1;
}

#menu #sec6 dl dt strong:before {
   content: '';
   width: 100%;
   height: 0;
   border-bottom: 10px solid #ff0000;
   position: absolute;
   bottom: 10%;
   left: 0;
   z-index: -1;
}

#menu #sec6 dl dd {
   text-align: right;
   font-size: 4vw;
   padding-top: 10px;
}

#menu #sec6 .slider-fade {
   padding-top: 30px;
}

#menu #sec6 .txt {
   padding-top: 20px;
}

#menu #sec6 .box {
   margin-top: 30px;
   padding: 50px 0 0;
   position: relative;
   z-index: 1;
}

#menu #sec6 .box:before {
   content: '';
   width: 60%;
   height: 65%;
   background-color: rgba(255, 255, 255, 0.2);
   position: absolute;
   top: 0;
   left: -10%;
   z-index: -1;
}

#menu #sec6 .box h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
   font-size: 7.733vw;
   position: relative;
   z-index: 1;
   margin-bottom: -8%;
}

#menu #sec6 .box h3 small {
   display: block;
   font-size: 5.333vw;
   margin-bottom: 5px;
   padding-left: 5px;
}

#menu #sec6 .box h3 span {
   display: inline-block;
   background-color: #fff;
   color: #dc0000;
   margin-bottom: 5px;
   padding: 5px 5px;
}

#menu #sec7 {
   background: url("../img/shared/bg03.jpg") repeat center top;
   padding: 0 0 20vw;
}

#menu #sec7 .wrap {
   padding: 0 2.5%;
}

#menu #sec7 .toggle-link {
   background-color: #000;
   color: #fff;
   text-align: center;
   padding: 24px 20px 10px;
   position: relative;
}

#menu #sec7 .toggle-link:before {
   content: '';
   width: 0;
   height: 100%;
   border-left: 4px solid #ff0000;
   position: absolute;
   top: 0;
   left: 5px;
}

#menu #sec7 .toggle-link:after {
   content: '';
   width: 26px;
   height: 16px;
   background: url("../img/shared/button-arrow.png") no-repeat center top/cover;
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%) rotate(90deg);
   transition: all 0.3s;
   margin: 0;
}

#menu #sec7 .toggle-link h2 {
   font-size: 4.667vw;
   margin-bottom: 0;
}

#menu #sec7 .toggle-main {
   padding-top: 30px;
}
#menu #sec7 .toggle-main dl {
   color: #000;
}
#menu #sec7 .toggle-main .note {
   color: #000;
}
#menu #sec7 .toggle-main .txt {
   color: #000;
}

#menu #sec7 .toggle-main .note {
   text-align: center;
}

#menu #sec7 .toggle-main .menu-list {
   width: 95;
   margin: 0 auto;
}

#menu #sec7 .toggle.active .toggle-link:after {
   transform: translateY(-50%) rotate(-90deg);
}

/* === scene === */
#scene section {
   overflow: hidden;
}

#scene section h2 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#scene #sec1 {
   padding: 15vw 0;
}

#scene #sec2 {
   padding-bottom: 15vw;
}

#scene #sec2 .photo {
   padding: 0 2.5%;
}

#scene #sec2 h2,
#scene #sec2 h3 {
   font-size: 8.667vw;
   line-height: 1.5;
   padding-top: 14%;
   position: relative;
}

#scene #sec2 h2:before,
#scene #sec2 h3:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("../img/scene/sec2-ttl-deco.png") no-repeat center top/100% auto;
   position: absolute;
   top: 0;
   left: 0;
}

#scene #sec2 h2 span,
#scene #sec2 h3 span {
   font-size: 11.333vw;
   border-bottom: 4px solid #ff0000;
}

#scene #sec2 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#scene #sec2 h3 small {
   display: block;
   font-size: 5.333vw;
   padding: 15px 0 0 14%;
}

#scene #sec2 .txt {
   padding-top: 20px;
}

#scene #sec2 .txt span {
   border-bottom: 1px solid #fff;
}

#scene #sec2 .box01 {
   position: relative;
}

#scene #sec2 .box01:before {
   content: '';
   width: 33%;
   height: 85%;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   right: 0;
   z-index: -1;
}

#scene #sec2 .box01:after {
   content: '';
   width: 33%;
   height: 90%;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   right: 38%;
   z-index: -1;
}

#scene #sec2 .box02 {
   margin-top: 50px;
   position: relative;
}

#scene #sec2 .box02:before {
   content: '';
   width: 33%;
   height: 80%;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   left: 0;
   z-index: -1;
}

#scene #sec2 .box02:after {
   content: '';
   width: 33%;
   height: 85%;
   background: url("../img/shared/bg-wood.jpg") repeat center top;
   position: absolute;
   top: 0;
   left: 38%;
   z-index: -1;
}

#scene #sec3 {
   padding-bottom: 20vw;
}

#scene #sec3 h2 span,
#scene #sec3 h3 span {
   display: inline-block;
   color: #dc0000;
   background-color: #fff;
   font-size: 8vw;
   padding: 5px 10px;
   margin-bottom: 5px;
}

#scene #sec3 h2 small,
#scene #sec3 h3 small {
   display: block;
   font-size: 5.333vw;
}

#scene #sec3 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
}

#scene #sec3 .photo {
   padding: 0 2.5%;
}

#scene #sec3 .txt {
   padding-top: 20px;
}

#scene #sec3 .box01 h2 {
   margin: 0 5% -20%;
   position: relative;
   z-index: 1;
}

#scene #sec3 .box01 h2 small {
   text-align: right;
   margin-bottom: 5px;
   padding-right: 7%;
}

#scene #sec3 .box02 {
   margin-top: 50px;
}

#scene #sec3 .box02 h3 {
   margin: 0 5% -7%;
   position: relative;
   z-index: 1;
}

#scene #sec3 .box02 h3 small {
   margin-bottom: 5px;
   padding-left: 10px;
}

#scene #sec3 .button {
   padding-top: 10px;
}

#scene #sec4 {
   background: url("../img/shared/bg01.jpg") repeat center top;
   padding: 20vw 0 0;
   position: relative;
}

#scene #sec4:before {
   content: '';
   width: 75%;
   padding-top: 125%;
   background: url("../img/scene/sec4-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 10%;
   left: 0;
}

#scene #sec4 h2 {
   font-size: 6.667vw;
   line-height: 1.5;
   text-align: center;
   margin: 0 5% 30px;
   padding: 5px 0 20px;
   position: relative;
}

#scene #sec4 h2:before {
   content: '';
   width: 30px;
   height: 30px;
   border-top: 2px solid #ff0000;
   border-left: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   top: 0;
   left: 2%;
}

#scene #sec4 h2:after {
   content: '';
   width: 30px;
   height: 30px;
   border-bottom: 2px solid #ff0000;
   border-right: 2px solid #ff0000;
   box-sizing: border-box;
   position: absolute;
   bottom: 0;
   right: 2%;
}

#scene #sec4 h2 small {
   display: block;
   font-size: 4vw;
}

#scene #sec4 h3 {
   font-family: 'Noto Serif JP', serif;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.1em;
   font-size: 8vw;
}

#scene #sec4 .txt {
   padding-top: 15px;
}

#scene #sec4 .box01 {
   padding-top: 20px;
}

#scene #sec4 .box02 {
   padding-top: 50px;
   padding-bottom: 50px;
}

#scene #sec4 .box02 h3 {
   padding-top: 20px;
}