@charset "utf-8";
@import url(https://use.fontawesome.com/releases/v5.12.0/css/all.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/*-----------------------

         変数          

-----------------------*/ :root {
  --baseColor: #f3f3f3;
  --mainColor: #aa9509;
  --subColor: #3c3c3c;
  --lineColor: #39ad36;
  --instaColor: #e07a74;
  --twitterColor: #1d9bf0;
  --blogColor: #2d8c3c;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
html.is-fixed, html.is-fixed body {
  height: 100%;
  overflow-y: scroll;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}
i {
  margin-right: 5px;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
p {
  text-align: justify;
}
.text-c {
  text-align: center;
}
.text-r {
  text-align: right;
}
.text-l {
  text-align: left;
}
.text-j {
  text-align: justify;
}
.flex {
  display: flex;
}
.flex-e {
  display: flex;
  justify-content: flex-end;
}
.flex-b {
  display: flex;
  justify-content: space-between;
}
.flex-c {
  display: flex;
  justify-content: center;
}
.skew {
  transform: skewX(-10deg);
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  font-weight: 500;
  font-feature-settings: "palt";
  line-height: 1.75;
  color: #f3f3f3;
  letter-spacing: 0.15em;
  background-color: #030000;
}
.wrap {
  overflow:clip;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  letter-spacing: 0.1em;
}
h2, h3, h4, h5, h6 {
  transform: skewX(-10deg);
}
.noto {
  font-family: 'Noto Sans JP', sans-serif;
}
.pc {
  display: block;
}
.sp {
  display: none;
}
.bold {
  font-weight: 700;
}
.container {
  width: 128rem;
  padding: 0 2rem;
  margin: 0 auto;
}
article img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.text-box {
  padding-top: 6.5rem;
}
/* -----------------------
  iOSでのデフォルトスタイルをリセット
----------------------- */
input[type="submit"], input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}
input, button, textarea, select, .entry input[type="tel"], input[type="email"], .entry input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  padding: 15px 0;
}
/* -----------------------
  クリックしたら要素が出る
----------------------- */
.hidden_box {
  padding: 0;
}
.hidden_box input {
  display: none;
}
.hidden_box label {
  display: block;
  cursor: pointer;
}
.hidden_box label::after {
  display: inline-block;
  padding-right: 5px;
  margin-left: 1.5rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f0d7';
  transition: 0.2s;
}
.hidden_box input:checked + h2 label::after {
  content: '\f0d8';
}
.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
.hidden_box input:checked ~ .hidden_show {
  height: auto;
  padding: 0 0 0.5rem;
  opacity: 1;
}
/* -----------------------
 タブ切り替えの中身のスタイル
----------------------- */
.tab_content {
  display: none;
  padding: 10px 0 0;
  overflow: hidden;
}
.tab_content#all-area {
  display: block;
}
/* -----------------------
          段組
----------------------- */
.contents2Wrap {
  gap: 6rem;
  flex-wrap: wrap;
}
.contents2Wrap .box {
  width: calc((100% - 6rem) / 2);
}
.contents4Wrap {
  flex-wrap: wrap;
  gap: 4rem;
}
.contents4Wrap li {
  width: calc((100% - 12rem) / 4);
}
/* -----------------------
        見出し
----------------------- */
.sec-ttl {
  font-size: clamp(2.4rem, 2.8vw, 3.6rem);
  font-weight: 700;
  text-align: center;
  position: relative;
  letter-spacing: 0.15em;
  z-index: 1;
}
.sec-ttl::after {
  content: "";
  display: block;
  background: url("../images/common/shine02.webp") no-repeat center center/cover;
  width: 36rem;
  height: 36rem;
  position: absolute;
  right: 14.5vw;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: -1;
}
.sec-ttl span {
  font-weight: 700;
  color: var(--mainColor);
}
.sub-ttl {
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  color: var(--mainColor);
  font-weight: 400;
  text-align: center;
  position: relative;
  letter-spacing: 0.2em;
}
.sub-ttl::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/common/arrow-b.webp") no-repeat center center/cover;
  width: 12rem;
  height: 4.3rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8rem;
}
/* -----------------------
     下層ページCommon
----------------------- */
/* -----------------------
          BTN
----------------------- */
.detail-btn a {
  letter-spacing: 0.1em;
  font-weight: 400;
  font-size: clamp(1.6rem, 1.6vw, 2rem);
  border: solid 1px var(--baseColor);
  padding: 2rem 5rem;
  display: inline-block;
}
.detail-btn2 a {
  font-size: 1.8rem;
  font-weight: 400;
  background: #b2a019;
  position: relative;
  padding: 1.5rem 0;
  display: block;
  width: 100%;
  text-align: center;
  z-index: 1;
  color: var(--baseColor);
}
.detail-btn2 a::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  background: var(--mainColor);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.detail-btn2 p.past {
  background: #ce6b30;
  font-size: 1.8rem;
  font-weight: 400;
  position: relative;
  padding: 1.5rem 0;
  display: block;
  width: 100%;
  text-align: center;
  z-index: 1;
  margin-top: 2rem;
}
.detail-btn2 p.past::after {
  background: #c95b19;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: -1;
}
/* -----------------------
          drawer
----------------------- */
.drawer--right .drawer-nav {
  right: -100%;
  z-index: 500;
  width: 100%;
  padding: 2rem 5rem;
  margin-top: 0;
  background: #d8eaf8;
}
.drawer--top.drawer-open .drawer-nav {
  top: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.drawer--right.drawer-open .drawer-nav {
  right: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  top: 1rem;
  right: 4.5rem;
  padding: 0;
  width: 9rem;
  height: 9rem;
  z-index: 8888;
  background: url("../images/icon-menu.png") no-repeat center center/cover;
}
.drawer--right.drawer-open .drawer-hamburger {
  top: 1rem;
  right: 4.5rem;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  height: 3px;
  width: 2rem;
  margin: 0 auto;
  top: -1rem;
}
.drawer-hamburger-icon {
  background-color: transparent;
}
.drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  background-color: #f69a21;
}
.drawer-hamburger-icon::after {
  top: -0.5rem;
}
.drawer-hamburger-icon::before {
  top: 0.5rem;
}
.drawer--right.drawer-open .drawer-nav {
  width: 100%;
}
.drawer-menu-item {
  padding: 0 0.5rem;
}
/* ------------------slider------------------ */
/* .slick-slider .slick-track {
  margin-left: 0;
  margin-right: 0;
  position: relative;
  overflow: hidden;
}
.slider .slick-slide {
  margin: 0 10px;
}
.slick-slider .bx-controls-direction a {
  background: #fff;
  cursor: pointer;
} */
/* .bx-wrapper .bx-prev, .bx-wrapper .bx-next {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
  z-index: 50;
  top: 50%;
  width: 50px;
  height: 50px;
  background: #fff;
  transform: translateY(-94%);
  cursor: pointer;
  background-image: none;
}
.bx-wrapper .bx-next {
  right: 0;
}
.bx-wrapper .bx-prev {
  left: 0;
}
.bx-wrapper .bx-controls-direction a {
  width: 50px;
  height: 50px;
  z-index: 10;
}
.bx-wrapper .bx-next::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: calc(50% - 8px);
  right: 20px;
  transform: rotate(-45deg);
  border-right: 2px solid #464646;
  border-bottom: 2px solid #464646;
}
.bx-wrapper .bx-prev::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  top: calc(50% - 8px);
  left: 17px;
  transform: rotate(135deg);
  border-right: 2px solid #464646;
  border-bottom: 2px solid #464646;
}
.bx-wrapper {
  max-width: 100% !important;
  background: transparent !important;
  border: 0;
  box-shadow: none;
}
.bx-viewport {
  overflow: visible !important;
} */
/* フローティングバナー */
/* .floatingNav {
  display: none;
  width: 100%;
  height: 100px;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 5px 10px;
}
.floatingNav .tel, .floatingNav .mail {
  margin-right: 5px;
}
.floatingNav .tel, .floatingNav .mail, .floatingNav .web {
  color: #fff;
  padding: 5px 10px;
  text-align: center;
}
.floatingNav .flex {
  justify-content: center;
}
.floatingNav .tel {
  background: #ffb8b8;
  width: 152px;
}
.floatingNav .mail, .floatingNav .web {
  background: #ff9999;
  width: 90px;
}
.floatingNav .tel dt {
  border-bottom: 1px solid;
}
.floatingNav .tel img {
  width: 10px;
  margin-right: 5px;
}
.floatingNav .mail img, .floatingNav .web img {
  width: 25px;
}
.floatingNav .time {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  color: #fff;
  text-align: center;
} */
@media screen and (max-width: 1680px) {}
@media screen and (max-width: 1440px) {}
@media screen and (max-width: 1368px) {}
@media screen and (max-width: 1280px) {
  .container {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  /*見出し*/
  .sub-ttl::after {
    width: 10rem;
    height: 4.3rem;
    bottom: -6rem;
  }
  /*段組*/
  .contents2Wrap {
    gap: 4rem;
  }
  .contents2Wrap .box {
    width: calc((100% - 4rem) / 2);
  }
  .contents4Wrap {
    gap: 2rem;
  }
  .contents4Wrap li {
    width: calc((100% - 6rem) / 4);
  }
}
@media screen and (max-width: 959px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 559px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .gmap {
    position: relative;
    height: 0;
    padding-bottom: 63.25%;
    overflow: hidden;
  }
  .gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .container {
    padding: 0 6%;
  }
  .flex, .flex-c, .flex-b, .flex-e {
    flex-direction: column;
  }
  /* drawer */
  .drawer-hamburger-icon {
    margin-top: 0;
    height: 2px;
  }
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    top: 0.5rem;
    right: 0.5rem;
  }
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    width: 5rem;
    height: 5rem;
  }
  .drawer-hamburger-icon::before {
    top: 0.2rem;
  }
  .drawer-hamburger-icon::after {
    top: 0.8rem;
  }
  .drawer--right .drawer-hamburger p {
    margin-top: 3.5rem;
  }
  .drawer-open .drawer-hamburger-icon {
    top: -0.5rem;
    ;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    height: 2px;
    width: 1.5rem;
  }
  .drawer--right.drawer-open .drawer-nav {
    padding: 2rem 1.5rem 5rem;
  }
  /* 段組 */
  .contents2Wrap .box {
    width: 100%;
  }
  /* 見出し */
  .sec-ttl::after {
    width: 15rem;
    height: 16rem;
    right: 3.5vw;
  }
  .sub-ttl::after {
    width: 6.6rem;
    height: 2.2rem;
    bottom: -4rem;
  }
  /* BT */
  .detail-btn a {
    width: 100%;
    padding: 2rem 0;
    display: inline-block;
  }
  /* 下層mv */
}