@charset "UTF-8";
/* Scss Document */
/*=============================================
 * body
 *=============================================*/
body {
  color: #fff;
  background: url(../img/shared/bg_on.jpg);
  font-family: 'Noto Serif JP', serif;
  font-size: 15px;
  line-height: 2.2;
  letter-spacing: 0.05em;
  min-width: inherit;
  min-height: inherit;
  max-height: 100%;
}

.txt {
  text-align: justify;
}

.fwm {
  font-weight: 5800;
}

.fwb {
  font-weight: 700;
}

.fws {
  font-weight: 600;
}

.fwbl {
  font-weight: 900;
}

/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/
.fnt-mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.fnt-meiryo {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fnt-gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.fnt-serif {
  font-family: 'Noto Serif JP', serif;
}

.fnt-aleo {
  font-family: 'Aleo', serif;
}

main {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.wrap {
  margin: 0 auto;
  width: 1000px;
  position: relative;
}

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

.toggle .toggle-link {
  pointer-events: none;
}

.toggle .toggle-main {
  display: block;
}

.tac {
  text-align: center;
}

.taj {
  text-align: justify;
}

.tar {
  text-align: right;
}

.ta {
  text-align: left;
}

.db {
  display: block;
}

.dib {
  display: inline-block;
}

.txt-br {
  word-break: break-all;
}

.txt-nowrap {
  white-space: nowrap;
}

.txt-underline {
  text-decoration: none;
}

.txt-underline:hover {
  text-decoration: underline;
}

.flex-box {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.jcc {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.jcsb {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.btn-link a,
.btn-link span {
  display: inline-block;
  background: url(../img/shared/arr_btn.png) no-repeat center right 26px;
  color: #fff;
  width: 290px;
  padding: 11px 0 11px 31px;
  -webkit-transition: all .3s;
  transition: all .3s;
  position: relative;
  letter-spacing: 0.35em;
  border: 1px solid;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .btn-link a:hover,
  .btn-link span:hover {
    opacity: 0.8;
    text-decoration: none;
  }
}

.copy.copied {
  opacity: 1 !important;
  pointer-events: none !important;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .btn-over img,
  .over-img img,
  img.over,
  img:not(.btn):not(.non-over),
  button img {
    opacity: 1;
    transform: translateX(0) translateZ(0);
    -moz-transform: translateX(0) translateZ(0);
    -webkit-transform: translateX(0) translateZ(0);
    transition: none;
    -moz-transition: none;
    -webkit-transition: none;
  }
  .img-parallax {
    z-index: 1;
  }
  .img-parallax img {
    height: auto !important;
  }
  body::after {
    content: '';
    height: 1px;
    bottom: 0;
    display: block;
    width: 100%;
    background-color: #000;
    position: fixed;
  }
}

@supports (-ms-accelerator: true) {
  .btn-over img,
  .over-img img,
  img.over,
  img:not(.btn):not(.non-over),
  button img {
    opacity: 1;
    transform: translateX(0) translateZ(0);
    -moz-transform: translateX(0) translateZ(0);
    -webkit-transform: translateX(0) translateZ(0);
    transition: none;
    -moz-transition: none;
    -webkit-transition: none;
  }
}

/*--------------------------------slick--------------------------------*/
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.slick-dots li {
  line-height: 0;
}

.slick-dots button {
  border: none;
  border-radius: 50%;
  background: transparent;
  background-position: center top;
  background-repeat: repeat;
  width: 14px;
  height: 14px;
  text-indent: -9999px;
  cursor: pointer;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.slick-dots .slick-active button {
  background: #000;
}

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

.slick-arrow {
  top: 198px;
  position: absolute;
  width: 60px;
  height: 60px;
  text-indent: -9999px;
  border: 0;
  z-index: 5;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}

.slick-arrow.slick-prev {
  left: -30px;
  background: url("../img/shared/prev.png") no-repeat center/100%;
}

.slick-arrow.slick-next {
  right: -30px;
  background: url("../img/shared/next.png") no-repeat center/100%;
}

@media screen and (max-width: 767px) {
  .slick-arrow {
    top: 44vw;
    width: 11%;
  }
  .slick-arrow.slick-prev {
    left: 0;
  }
  .slick-arrow.slick-next {
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .slick-arrow:hover {
    opacity: 0.8;
  }
}

/*--------------------------------slick--------------------------------*/
.parallax {
  position: relative;
  padding-top: 500px;
}

.img-parallax {
  clip: rect(0, auto, auto, 0);
  margin-bottom: 0;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.img-parallax img {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  -o-object-fit: cover;
  object-fit: cover;
  z-index: 0;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

@media screen and (min-width: 768px) {
  .rss_img:hover {
    opacity: .8;
  }
}

.sp {
  display: none !important;
}

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  html {
    min-width: auto;
  }
  html a:hover {
    text-decoration: none;
  }
  body {
    font-size: 14px;
  }
  img {
    width: 100%;
  }
  .wrap {
    padding: 0 4%;
    width: auto;
    max-width: 100%;
  }
  /*====================*__order__*====================*/
  .btn-link a,
  .btn-link span {
    min-width: 0;
    width: 100%;
    padding: 9px 0 9px 13px;
    background-size: 60px;
  }
  /* prr */
  .parallax {
    padding-top: 70%;
  }
}

/*--------------------------------HEADER--------------------------------*/
header {
  position: relative;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  header {
    padding: 0 50px;
  }
}

header::before {
  content: '';
  left: 0;
  top: 0;
  width: 100%;
  position: absolute;
  background: url(../img/shared/hd-line1_on.jpg) repeat-x center top;
  height: 41px;
  -webkit-box-shadow: 0px 3px 16px 0px rgba(11, 3, 5, 0.35);
          box-shadow: 0px 3px 16px 0px rgba(11, 3, 5, 0.35);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  header::before {
    height: 21px;
    background-size: auto 21px;
  }
}

@media screen and (min-width: 768px) {
  header::after {
    content: '';
    left: 0;
    bottom: 0;
    width: 100%;
    position: absolute;
    background: url(../img/shared/hd-lineB_on.jpg) repeat-x center top;
    height: 27px;
    -webkit-box-shadow: 0px 3px 16px 0px rgba(11, 3, 5, 0.35);
            box-shadow: 0px 3px 16px 0px rgba(11, 3, 5, 0.35);
    z-index: 1;
  }
}

header .light1 {
  width: 431px;
  height: 367px;
  left: 56px;
  position: absolute;
  top: -180px;
  z-index: 3;
  opacity: .5;
  pointer-events: none;
}

header h1 {
  position: absolute;
  left: 70px;
  z-index: 4;
  top: 67px;
  white-space: nowrap;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  header h1 {
    -webkit-writing-mode: inherit !important;
    -ms-writing-mode: inherit !important;
    writing-mode: inherit !important;
    text-orientation: inherit !important;
    word-wrap: wrap inherit !important;
    width: auto !important;
    height: auto !important;
    text-align: justify;
    white-space: wrap;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 2.4vw;
    top: auto;
    bottom: 6vw;
  }
}

header #key {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

header .hd-btn {
  position: absolute;
  top: 102px;
  right: 51px;
  z-index: 3;
  width: 356px;
}

header .hd-btn li:first-child {
  margin-bottom: 12px;
}

header .hd-btn li:last-child {
  margin-right: -30px;
}

header .img {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  z-index: 3;
  width: 1300px;
  pointer-events: none;
}

header .dc {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  z-index: 2;
  width: 1800px;
}

header .sidebar {
  padding-top: 41px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 431px;
  height: 1420px;
  background: #231814;
  position: relative;
  z-index: 1;
}

header .sidebar nav {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding-top: 36px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

header .sidebar nav a + a {
  margin-right: 12px;
}

header .sidebar .pc ul {
  margin-top: -49px;
}

@media screen and (max-width: 767px) {
  header {
    padding-bottom: 27vw;
  }
  header .sidebar {
    padding-top: 13vw;
    background: transparent;
    width: 45%;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    height: auto;
  }
  header .img {
    left: 46%;
    width: 172%;
  }
  header .hd-btn {
    top: 62vw;
    right: 32%;
    width: 44%;
  }
  header .light1 {
    width: 47%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -12vw;
  }
}

#popup2 h2 {
  margin-bottom: 60px;
}

#popup2 h2 .t1 {
  font-size: 19px;
  line-height: 1.3;
  padding-bottom: 20px;
  letter-spacing: 0.4em;
}

#popup2 h2 .t2 {
  font-size: 17px;
  line-height: 1.3;
  letter-spacing: 0.075em;
}

@media screen and (min-width: 768px) {
  #popup2 .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#popup2 .wrap p {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  #popup2 .wrap p {
    width: 500px;
  }
}

#popup2 .wrap .txt-box {
  border: 1px solid;
  padding: 45px 0 45px 75px;
}

@media screen and (min-width: 768px) {
  #popup2 .wrap .txt-box {
    width: 451px;
  }
}

@media screen and (max-width: 767px) {
  #popup2 .wrap p {
    font-size: 2.5vw;
  }
  #popup2 .wrap .txt-box {
    padding: 6vw 12%;
    margin-top: 8vw;
  }
  #popup2 h2 .t1 {
    font-size: 3vw;
    padding-bottom: 3vw;
  }
  #popup2 h2 .t2 {
    font-size: 3vw;
  }
  #popup2 h2 {
    margin-bottom: 7vw;
  }
}

footer nav > a + a:before,
.nav-fixed nav > a + a:before {
  content: url(../img/shared/nav-line_on.png);
  margin: 0 15px;
  line-height: 1;
}

header .nav-fixed nav a,
footer nav a {
  font-size: 16x;
  -webkit-transition: all .3s;
  transition: all .3s;
  line-height: 1;
  position: relative;
  font-weight: bold;
}

header .nav-fixed nav a::after,
footer nav a::after {
  content: url(../img/shared/nav-active.png);
  left: calc(50% + 21px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -15px;
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

header .nav-fixed nav a:first-child::after,
footer nav a:first-child::after {
  left: 50%;
}

header .nav-fixed nav a:hover::after, header .nav-fixed nav a.active::after,
footer nav a:hover::after,
footer nav a.active::after {
  opacity: 1;
  visibility: visible;
}

header nav {
  margin-bottom: 19px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header nav a:hover,
footer nav a:hover {
  text-decoration: none;
}

header .nav-fixed {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
  background: rgba(54, 46, 43, 0.91);
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 10;
  padding: 13px 0 17px;
}

header .nav-fixed.fixed {
  opacity: 1;
  visibility: visible;
  pointer-events: visible;
}

header .nav-fixed .wrap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

header .tel-box {
  font-size: 14px;
  line-height: 1.3;
}

header .tel-box > span:nth-child(2) > span {
  font-size: 20px;
}

header .tel-box > span:nth-child(2) {
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  header #key .slick-key .slick-slide {
    background: none !important;
    height: auto !important;
  }
  header .hamburger {
    background-color: #150f09;
    position: fixed;
    top: 0;
    z-index: 9999;
    right: 0;
    line-height: 1;
    padding: 14px;
  }
  body.navOpen .hamburger {
    top: 22px;
    padding-bottom: 29px;
    background-color: #231815;
  }
  .hamburger-inner,
  .hamburger-inner:before,
  .hamburger-inner:after {
    background: #fff;
    border-radius: 0;
    height: 1px;
  }
  .hamburger-inner:before {
    top: -7px;
  }
  .hamburger-inner:after {
    bottom: -7px;
  }
  .hamburger-box {
    height: 17px;
  }
  .hamburger-box,
  .hamburger-inner,
  .hamburger-inner:after,
  .hamburger-inner:before {
    width: 34px;
  }
  .hamburger:hover {
    opacity: 1;
  }
  body.navOpen .hamburger,
  body.navOpen #menu_toggle,
  body.navOpen #menu_toggle * {
    -ms-touch-action: auto !important;
        touch-action: auto !important;
    pointer-events: visible !important;
  }
  /*--------------------------------NAV-MENU_TEXT--------------------------------*/
  .hamburger:after {
    font-size: 9px;
    content: 'MENU';
    position: absolute;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    letter-spacing: 0.1em;
  }
  .navOpen .hamburger:after {
    content: 'Close';
  }
  header .hamburger {
    padding-bottom: 24px;
  }
  /*--------------------------------END-NAV-MENU-TEXT--------------------------------*/
  #menu_toggle .sub_scroll_box li {
    margin: 0 20px;
    border: none;
  }
  #menu_toggle .sub_scroll_box li a {
    padding: 5px 0;
  }
  #menu_toggle .sub_scroll_box li:last-child {
    border-bottom: none;
  }
  .navOpen.mn_tyle_a li {
    text-align: left !important;
  }
  .navOpen .menu_toggle {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    right: 0;
  }
  /*====================*Hambuger-Open*====================*/
  header .menu_toggle {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    width: 100% !important;
    top: 0px;
    left: -100%;
    height: 100%;
    overflow-y: auto;
    z-index: 100;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #231815;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .navOpen #menu_toggle {
    left: 0;
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
  }
  header .nav-fixed {
    height: 0;
  }
  header .menu_toggle nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    padding: 0 15% 12vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  header .menu_toggle nav a + a {
    margin-right: 12px;
  }
  header .menu_toggle .logo {
    padding: 0 21%;
  }
  header .menu_toggle .btn2 {
    padding: 0 24% 7vw;
  }
  header .menu_toggle .btn2 li {
    margin: 0 2%;
  }
  header .menu_toggle .btn1 {
    padding: 0 23% 3vw;
    margin-top: -6vw;
  }
  header .menu_toggle .btn1 li:nth-child(1) {
    margin: 0 -3%;
  }
}

/*--------------------------------END_HEADER--------------------------------*/
/*--------------------------------SECTION--------------------------------*/
section {
  min-height: 1000px;
  z-index: 3;
}

/*--------------------------------END_SECTION--------------------------------*/
/*--------------------------------FOOTER--------------------------------*/
footer {
  color: #fff;
  z-index: 10;
  background: url(../img/shared/ft-line_on.jpg) repeat-x bottom center, url(../img/shared/ft-bg_on.jpg);
  padding-bottom: 95px;
}

footer nav {
  margin-bottom: 46px;
  padding: 27px 0 35px;
  background: rgba(0, 0, 0, 0.63);
}

@media screen and (min-width: 768px) {
  footer nav {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

footer address {
  letter-spacing: 0.2em;
  font-size: 11px;
}

footer address span:first-child {
  padding: 24px 0 0;
  font-size: 13px;
}

footer #socialbuttons {
  margin: 0;
}

@media screen and (min-width: 1024px) and (max-width: 1366px) {
  #socialbuttons > .social-facebook {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  footer {
    background-size: 70%;
  }
  footer address span:first-child,
  footer address {
    font-size: 2.5vw;
  }
  footer nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: transparent;
    padding: 0;
    margin-bottom: 13vw;
  }
  footer nav a {
    padding: 12px 25px 13px;
    font-weight: bold;
    font-size: 17px;
    color: #e9e3db;
    font-family: 'Noto Serif JP', serif;
    border-top: 1px solid #343231;
  }
  footer nav a::before {
    margin: 0 !important;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 25px;
    content: '' !important;
    background: url(../img/shared/nav-arr.png) no-repeat top left/100%;
    width: 17px;
    height: 17px;
    position: absolute;
  }
  footer nav a::after {
    display: none !important;
  }
  footer {
    padding-bottom: calc(env(safe-area-inset-bottom) + 90px);
  }
  #pagetop {
    bottom: calc(env(safe-area-inset-bottom) + 170px);
    width: 50px;
    z-index: 98;
  }
  #pagetop img {
    opacity: 1 !important;
  }
  /*====================== ft_fixed ====================== */
  #ft_fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    visibility: hidden;
    font-size: 12px;
    padding-bottom: 20px;
    background: url(../img/shared/ft-line_on.jpg) repeat-x bottom center/auto 20px;
  }
  .navOpen #ft_fixed,
  .navOpen #pagetop {
    z-index: 0;
  }
  .has_nav #ft_fixed {
    opacity: 1;
    visibility: visible;
  }
  .ft_fixed_shared {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
    text-align: center;
    width: 100%;
    z-index: 999;
  }
}

@media screen and (min-width: 700px) and (max-width: 750px) {
  footer {
    padding-bottom: calc(env(safe-area-inset-bottom) + 21vw);
  }
}

/*--------------------------------END_FOOTER--------------------------------*/
@media only screen and (max-width: 320px) {
  html.responsive {
    min-width: 320px !important;
  }
}

.light {
  display: block;
  -webkit-box-shadow: 0px 0px 100px 35px rgba(255, 224, 0, 0.9);
          box-shadow: 0px 0px 100px 35px rgba(255, 224, 0, 0.9);
  border-radius: 50%;
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  footer {
    margin-top: -1px;
  }
  body::after {
    content: '';
    height: 1px;
    bottom: 0;
    display: block;
    width: 100%;
    background-color: #000;
    position: fixed;
  }
}
/*# sourceMappingURL=shared.css.map */