@charset "UTF-8";
/* CSS Document */
body {
  background-color: #000;
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif; }

p, h1, h2, h3, h4, a, span, td {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  color: #fff;
  line-height: 160%; }

img {
  width: 100%; }

a {
  cursor: pointer; }
a:hover {
    color: #FFFFFF;
}
a img:hover {
    opacity: 0.7;
}

ul li {
    list-style-type: none;
}
.pc {
  display: block; }
  @media screen and (max-width: 769px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 769px) {
    .sp {
      display: block; } }

.c-btn {
  font-size: 18px;
  position: relative; }
  @media screen and (max-width: 769px) {
    .c-btn {
      font-size: 14px; } }
  .c-btn::after {
    content: ""; }

.c-title .ja {
  font-size: clamp(24px, 2.9411764706vw, 40px); }
  .c-title .ja span {
    display: block;
    margin-bottom: 32px;
    font-size: clamp(14px, 1.3235294118vw, 18px); }
.c-title .en {
  font-size: clamp(40px, 5.8823529412vw, 80px); }

header {
  z-index: 99;
  width: 100%; }
  header .logo {
    max-width: clamp(120px, 14.7058823529vw, 200px);
    position: fixed;
    z-index: 99;
    padding-left: 32px;
    padding-top: 24px; }
  header .fv-menu {
    top: 64px;
    right: 80px;
    z-index: 99;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif; }
  header .fv-menu.second {
    top: 32px;
    right: 80px;
    z-index: 99;
    font-family: "fot-tsukuaoldmin-pr6n", sans-serif; }
    @media screen and (max-width: 769px) {
      header .fv-menu {
        display: none !important; } 
  header .fv-menu.second {
    display: inherit!important;
} 
          header .fv-menu.second.smpmenu {
    display: inline-flex!important;
}
}
    header .fv-menu li {
      margin-left: 24px; }
    header .fv-menu.second li {
    margin-left: 12px;
    height: 15px;
    line-height: 0px;
}
    header .fv-menu.second li:last-child {
        padding-left: 12px;
    border-left: 1px solid #FFFFFF;
}

.fat-nav {
  top: 0px;
  width: 350px;
  left: 0;
  padding: 24px;
  background-color: #000;
  height: 100vh;
  opacity: 0;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  .fat-nav.active {
    opacity: 1;
    pointer-events: all; }
  @media screen and (max-width: 769px) {
    .fat-nav {
      top: 40px; } }
  .fat-nav .list-wrap .logo {
    margin-bottom: 14px;
    line-height: 1; }
  .fat-nav .list-wrap .main-list li {
    margin-top: 24px; }
    .fat-nav .list-wrap .main-list li a {
      font-weight: 600;
      font-size: clamp(14px, 1.1764705882vw, 16px);
      font-family: "fot-tsukuaoldmin-pr6n",sans-serif; }
    .fat-nav .list-wrap .main-list li .inner-list {
      margin-left: 14px; }
      .fat-nav .list-wrap .main-list li .inner-list li a {
        font-size: 12px; }

.bg-gray {
  background-color: #1b1b1e; }

.swiper-slide {
  height: 0;
  overflow: hidden;
  padding: 66% 0 0;
  position: relative;
  width: 100%; }
  @media screen and (max-width: 769px) {
    .swiper-slide {
      padding: 100% 0 0; } }
  .swiper-slide img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%; }

.fv {
  overflow: hidden; }
  .fv .fv-text {
    bottom: 60px;
    left: 60px;
    z-index: 99; }
    @media screen and (max-width: 769px) {
      .fv .fv-text {
        bottom: 24px;
        left: 24px; } }
    .fv .fv-text .text-main {
      font-size: clamp(24px, 3.9705882353vw, 54px);
      line-height: 120%; }
    .fv .fv-text .text-sub {
      font-size: 12px;
      margin-top: 24px;
      line-height: 120%; }
.size {
    max-height: 100vh;
}
.cta {
    transform: translate(-50%, 0);
    z-index: 99;
    bottom: 0px;
    left: 50%;
}
  .cta .mail {
    width: 70px;
    display: block; }

.concept .content-area {
  padding-bottom: 120px;
  padding-top: 80px;
  overflow: hidden; }
  @media screen and (max-width: 769px) {
    .concept .content-area {
      padding-bottom: 120px; } }
  @media screen and (max-width: 769px) {
    .concept .content-area .text {
      font-size: 14px; } }
  .concept .content-area .detail {
    padding-top: 200px; }
    @media screen and (max-width: 769px) {
      .concept .content-area .detail {
        padding-top: 160px; } }
    @media screen and (max-width: 576px) {
      .concept .content-area .detail {
        padding-top: 140px; } }
  .concept .content-area .c-btn {
    margin-right: auto;
    margin-left: 0;
    margin-top: 40px;
    display: block; }
  .concept .content-area .detail-img01 {
    width: clamp(160px, 32vw, 480px);
    height: auto; }
    @media screen and (max-width: 576px) {
      .concept .content-area .detail-img01 {
        padding-top: 120px; } }
  .concept .content-area .detail-img02 {
    width: clamp(160px, 23.5294117647vw, 320px);
    padding-top: clamp(120px, 22.0588235294vw, 300px); }
    @media screen and (max-width: 576px) {
      .concept .content-area .detail-img02 {
        position: absolute;
        bottom: 24%;
        right: 5%; } }
  .concept .content-area .detail-img03 {
    width: clamp(240px, 35.2941176471vw, 480px);
    padding-top: clamp(60px, 8.8235294118vw, 120px); }

.cuisine {
  padding-top: 80px;
  padding-bottom: 300px; }
  @media screen and (max-width: 769px) {
    .cuisine {
      padding-top: 60px;
      padding-bottom: 120px; } }
  .cuisine .content-area {
    max-width: 1320px;
    margin-top: 60px; }
    .cuisine .content-area .content-left .img-area01 {
      width: clamp(300px, 44.1176470588vw, 600px); }
      @media screen and (max-width: 769px) {
        .cuisine .content-area .content-left .img-area01 {
          width: 100%; } }
    .cuisine .content-area .content-right {
      max-width: 400px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-left: 24px; }
      @media screen and (max-width: 769px) {
        .cuisine .content-area .content-right {
          max-width: initial;
          margin-top: 40px; } }
      .cuisine .content-area .content-right .text {
        margin-top: 40px;
        margin-bottom: 40px; }
      .cuisine .content-area .content-right .cuisine-btn {
        margin-bottom: 40px;
        display: block;
        max-width: 350px;
        border: solid 1px #fff;
        font-size: clamp(18px, 1.6176470588vw, 22px);
        padding: 8px 0;
        text-align: center;
        position: relative; }
        .cuisine .content-area .content-right .cuisine-btn:hover {
          background-color: #fff;
          color: #000; }
          .cuisine .content-area .content-right .cuisine-btn:hover .dli-arrow-right {
            background: #000; }
            .cuisine .content-area .content-right .cuisine-btn:hover .dli-arrow-right::before {
              border: 1px solid #000;
              border-left: 0;
              border-bottom: 0;
              transition: .5s; }
        .cuisine .content-area .content-right .cuisine-btn .dli-arrow-right {
          position: absolute;
          top: 50%;
          right: 0;
          transform: translate(0, -50%);
          display: inline-block;
          vertical-align: middle;
          color: #fff;
          line-height: 1;
          width: 60px;
          height: 1px;
          background: #fff; }
          .cuisine .content-area .content-right .cuisine-btn .dli-arrow-right::before {
            content: '';
            width: 24px;
            height: 24px;
            border: 1px solid #fff;
            border-left: 0;
            border-bottom: 0;
            transform: rotate(45deg);
            transform-origin: top right;
            position: absolute;
            top: 50%;
            right: -0.05em;
            box-sizing: border-box;
            transition: .5s; }

.news {
  padding-top: 120px;
  padding-bottom: 120px; }
  @media screen and (max-width: 769px) {
    .news {
      padding-top: 60px;
      padding-bottom: 120px; } }
  .news .news-child .news-child__top {
    border-top: solid 1px #fff;
    padding-top: 20px;
    font-size: 12px; }
    .news .news-child .news-child__top .day {
      padding-right: 14px;
      border-right: solid 1px #fff;
      margin-right: 14px; }
  .news .news-child .news-title {
    border-bottom: solid 1px #fff;
    padding-bottom: 20px;
    margin-top: 14px;
    font-size: 16px; }
  .news .news-child:nth-child(n+4) .news-child__top {
    border-top: 0; }

.instagram {
  padding-top: 80px;
  padding-bottom: 120px; }
  .instagram .instagram-slide__wrap {
    display: flex;
    align-items: center;
    height: 290px;
    overflow: hidden;
    margin-top: 40px; }
    @media screen and (max-width: 769px) {
      .instagram .instagram-slide__wrap {
        height: 140px; } }
    .instagram .instagram-slide__wrap .instagram-slide {
      display: flex;
      animation: loop-slide 20s infinite linear 1s both; }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
      .instagram .instagram-slide__wrap .instagram-slide .instagram-slide__child {
        width: 290px;
        height: 290px;
        overflow: hidden;
        border: solid 1px #000;
        margin-left: 32px; }
        @media screen and (max-width: 769px) {
          .instagram .instagram-slide__wrap .instagram-slide .instagram-slide__child {
            width: 140px;
            height: 140px;
            margin-left: 14px; } }

.access {
  padding-top: 80px;
  padding-bottom: 120px; }
  .access .c-title {
    text-align: center; }
  .access .map-wrap iframe {
    width: 100%;
    filter: grayscale(100%); }
    @media screen and (max-width: 769px) {
      .access .map-wrap iframe {
        height: 320px; } }
  .access .map-wrap .c-btn {
    text-align: center;
    display: block; }

.footer {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden; }
  .footer .footer-title {
    font-size: 12px; }
  .footer .text {
    font-size: 22px;
    line-height: 140%; }
  .footer .copylights {
    font-size: 12px; }

.fi {
  opacity: 0;
  /* 不透明度の初期値 0（完全透過）*/
  transition: opacity 3s 0.3s;
  /* opacity値に変更が加えられたら0.3秒待って、5秒掛けて変更値へ遷移。*/ }

.concept .content-area {
  padding-bottom: 120px;
  padding-top: 80px;
  overflow: hidden; }

@media screen and (max-width: 769px) {
  .concept .content-area {
    padding-bottom: 120px; } }
@media screen and (max-width: 769px) {
  .concept .content-area .text {
    font-size: 14px; } }
.concept .content-area .detail {
  padding-top: 200px; }

@media screen and (max-width: 769px) {
  .concept .content-area .detail {
    padding-top: 160px; } }
@media screen and (max-width: 576px) {
  .concept .content-area .detail {
    padding-top: 140px; } }
.concept .content-area .c-btn {
  margin-right: auto;
  margin-left: 0;
  margin-top: 40px;
  display: block; }

.concept .content-area .detail-img01 {
  width: clamp(160px, 32vw, 480px);
  height: auto; }

@media screen and (max-width: 576px) {
  .concept .content-area .detail-img01 {
    padding-top: 120px; } }
.concept .content-area .detail-img02 {
  width: clamp(160px, 23.5294117647vw, 320px);
  padding-top: clamp(120px, 22.0588235294vw, 300px); }

@media screen and (max-width: 576px) {
  .concept .content-area .detail-img02 {
    position: absolute;
    bottom: 24%;
    right: 5%; } }
.concept .content-area .detail-img03 {
  width: clamp(240px, 35.2941176471vw, 480px);
  padding-top: clamp(60px, 8.8235294118vw, 120px); }

.cuisine {
  padding-top: 80px;
  padding-bottom: 300px; }

@media screen and (max-width: 769px) {
  .cuisine {
    padding-top: 60px;
    padding-bottom: 120px; } }
.cuisine .content-area {
  max-width: 1320px;
  margin-top: 60px; }

.cuisine .content-area .content-left .img-area01 {
  width: clamp(300px, 44.1176470588vw, 600px); }

.cuisine .content-area .content-left .img-area02 {
  bottom: -100px;
  right: -150px;
  z-index: 9;
  width: clamp(140px, 22.0588235294vw, 300px); }

@media screen and (max-width: 769px) {
  .cuisine .content-area .content-left .img-area02 {
    bottom: -10%;
    right: 0px; } }
.cuisine .content-area .content-right {
  max-width: 400px;
  display: flex;
  flex-direction: column;
  justify-content: center; }

@media screen and (max-width: 769px) {
  .cuisine .content-area .content-right {
    max-width: initial;
    margin-top: 40px; } }
.cuisine .content-area .content-right .text {
  margin-top: 40px;
  margin-bottom: 40px; }

.cuisine .content-area .content-right .cuisine-btn {
  margin-bottom: 40px;
  display: block;
  max-width: 350px;
  border: solid 1px #fff;
  font-size: clamp(18px, 1.6176470588vw, 22px);
  padding: 8px 0;
  text-align: center;
  position: relative; }

.cuisine .content-area .content-right .cuisine-btn:hover {
  background-color: #fff;
  color: #000; }

.cuisine .content-area .content-right .cuisine-btn:hover .dli-arrow-right {
  background: #000; }

.cuisine .content-area .content-right .cuisine-btn:hover .dli-arrow-right::before {
  border: 1px solid #000;
  border-left: 0;
  border-bottom: 0;
  transition: 0.5s; }

.cuisine .content-area .content-right .cuisine-btn .dli-arrow-right {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 60px;
  height: 1px;
  background: #fff; }

.cuisine .content-area .content-right .cuisine-btn .dli-arrow-right::before {
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
  transition: 0.5s; }

.news {
  padding-top: 120px;
  padding-bottom: 120px; }

@media screen and (max-width: 769px) {
  .news {
    padding-top: 60px;
    padding-bottom: 120px; } }
.news .news-child .news-child__top {
  border-top: solid 1px #fff;
  padding-top: 20px;
  font-size: 12px; }

.news .news-child .news-child__top .day {
  padding-right: 14px;
  border-right: solid 1px #fff;
  margin-right: 14px; }

.news .news-child .news-title {
  border-bottom: solid 1px #fff;
  padding-bottom: 20px;
  margin-top: 14px;
  font-size: 16px; }

.news .news-child:nth-child(n+4) .news-child__top {
  border-top: 0; }

.instagram {
  padding-top: 80px;
  padding-bottom: 120px; }

.instagram .instagram-slide__wrap {
  display: flex;
  align-items: center;
  height: 290px;
  overflow: hidden;
  margin-top: 40px; }

@media screen and (max-width: 769px) {
  .instagram .instagram-slide__wrap {
    height: 140px; } }
.instagram .instagram-slide__wrap .instagram-slide {
  display: flex;
  animation: loop-slide 20s infinite linear 1s both; }

@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
.instagram .instagram-slide__wrap .instagram-slide .instagram-slide__child {
  width: 290px;
  height: 290px;
  overflow: hidden;
  border: solid 1px #000;
  margin-left: 32px; }

@media screen and (max-width: 769px) {
  .instagram .instagram-slide__wrap .instagram-slide .instagram-slide__child {
    width: 140px;
    height: 140px;
    margin-left: 14px; } }
.access {
  padding-top: 80px;
  padding-bottom: 120px; }

.access .c-title {
  text-align: center; }

.access .map-wrap iframe {
  width: 100%;
  filter: grayscale(100%); }

@media screen and (max-width: 769px) {
  .access .map-wrap iframe {
    height: 320px; } }
.access .map-wrap .c-btn {
  text-align: center;
  display: block; }

.footer {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden; }

.footer .footer-title {
  font-size: 12px; }

.footer .text {
  font-size: 20px;
  line-height: 140%; }

.footer .copylights {
  font-size: 12px; }

.fi {
  opacity: 0;
  /* 不透明度の初期値 0（完全透過）*/
  transition: opacity 3s 0.3s;
  /* opacity値に変更が加えられたら0.3秒待って、5秒掛けて変更値へ遷移。*/ }

/*# sourceMappingURL=style.css.map */
.text-space {
  letter-spacing: 3px;
  text-align: justify; }

hr {
  border-width: 0px 0px 1px;
  border-bottom-style: solid;
  border-bottom-color: #B5B5B5; }

ul.menu {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  color: #fff;
  line-height: 200%;
  color: #FFF9F9;
  text-align: center;
  padding-left: 0px;
  margin-left: 0px;
  font-size: 120%;
  margin-top: 100px;
  margin-bottom: 0px; }

ul.menu li {
  padding-left: 0px;
  margin-left: 0px;
  margin-bottom: 100px;
  list-style-type: none; }

ul.menu li h3 {
  font-size: 120%; }

.backimg1 {
  background-image: url(../img/head-concept.jpg);
  background-size: cover;
  background-position: center center;
  height: 100vh; }

.backimg2 {
  background-image: url(../img/head-cuisine.jpg);
  background-size: cover;
  background-position: center center;
  height: 100vh; }

.backimg3 {
  height: 400px;
  background-color: #1B1B1E; }

.fv .fv-head {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 99; }

.fv .fv-head .text-main {
  font-size: clamp(24px, 3.9705882353vw, 54px);
  line-height: 120%;
  text-shadow: #000 1px 0 10px; }

.fv .fv-head .text-sub {
  font-size: 12px;
  margin-top: 10px;
  line-height: 120%;
  text-shadow: #000 1px 0 10px; }

.cf7__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px; }

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 30px; }

.cf7__list dt {
  width: 35%;
  padding-top: 15px; }

.cf7__list dd {
  width: 100%; }

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px; }

.cf7__required {
  background: #BE1D1D; }

.cf7__optional {
  background: #878D8E; }

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 15px 20px;
  background: #1B1B1E; }

/* ドロップダウンメニュー */
.cf7__select {
  position: relative; }

.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: ''; }

.cf7__select select {
  width: 100%;
  padding: 19px 20px;
  background: #1B1B1E;
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
  padding: 15px 0 10px; }

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
  display: block;
  margin: 0; }

.cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
  margin-top: 18px; }

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer; }

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid #bcbcbc;
  vertical-align: -3px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* チェックボックス */
input[type="checkbox"]:checked {
  border: 1px solid #fff;
  background: #1B1B1E; }

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: ''; }

/* ラジオボタン */
input[type="radio"] {
  border-radius: 50%; }

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #fff;
  content: ''; }

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5; }

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5; }

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5; }

/* 送信ボタン */
.cf7__button {
  padding-left: 72px;
  text-align: center; }

input[type="submit"] {
  width: 260px;
  height: 60px;
  background: #fff;
  color: #1B1B1E;
  transition: opacity .6s; }

input[type="submit"]:hover {
  opacity: .6; }

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle; }

@media screen and (max-width: 767px) {
  .cf7__list dt {
    width: 100%;
    margin-bottom: 15px;
    padding-top: 0; }

  .cf7__list dd {
    width: 100%; }

  .cf7__list dd:nth-of-type(n + 2) {
    margin-top: 0; }

  .cf7__list dd .wpcf7-checkbox,
  .cf7__list dd .wpcf7-radio {
    padding: 15px 0 0; }

  /* 送信ボタン */
  input[type="submit"] {
    width: 180px;
    height: 56px; } }
.content p {
  margin-bottom: 10px; }

.content ol, .content ul {
  color: #fff;
  margin-bottom: 10px; }

.content h1 {
  font-size: 2em;
  margin-bottom: 10px; }

.content h2 {
  font-size: 1.7em;
  margin-bottom: 10px; }

.content h3 {
  font-size: 1.5em;
  margin-bottom: 10px; }

.content h4 {
  font-size: 1.3em;
  margin-bottom: 10px; }

.content h5 {
  font-size: 1.1em;
  margin-bottom: 10px; }

h2.title-content {
  font-size: 1em; }

form label {
  width: 100%;
  font-size: 120%;
  line-height: 2em;
  margin-bottom: 30px; }

form {
  width: 100%;
  margin-top: 100px; }

form input[type="button"], form input[type="submit"] {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  display: inline-block;
  width: 100%;
  background: #fff;
  border: 0px solid #000;
  border-radius: 0;
  padding: 0.4em 0.75em;
  text-align: center;
  color: #000;
  cursor: pointer;
  font-size: 120%;
  margin-top: 50px; }

form textarea, form input, form select {
  line-height: 1.5;
  font-size: 1.6rem;
  font-size: 1rem;
  outline: none;
  border: none;
  padding: 5px 1em;
  border-radius: 0;
  border: 1px solid #fff;
  background: #1B1B1E;
  color: #fff; }

form textarea, form input, form select {
  font-size: 1.5rem; }
.text small {
    font-size: 0.7rem;
    line-height: 0rem;
}
.bg-fude {
    background-image: url(../img/back.webp);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-fude2 {
    background-image: url(../img/back2.webp);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-fude3 {
    background-image: url(../img/back3.webp);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-img1 {
    background-image: url(../img/bg-img1.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-img2 {
    background-image: url(../img/kazari2.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.bg-img3 {
    background-image: url(../img/kazari3.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}
.size01 {
    height: 35vh;
    min-height: 600px;
}
.col-1-8 {
    width: 12.5%;
    flex: 0 0 12.5%;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 10px;
}
@media screen and (max-width: 767px) {
    .col-1-8 {
    width: 25%;
         flex: 0 0 25%;
}
    .bg-fude {
    background-attachment: scroll;
}
.bg-fude2 {
    background-attachment: scroll;
}
.bg-fude3 {
    background-attachment: scroll;
}
    .bg-img1 {

    background-position: center center;
        background-size: 100% auto;
}
.bg-img2 {
    background-position: center bottom;
    background-size: 100% auto;
}
.bg-img3 {
    background-position: center bottom;
    background-size: 100% auto;
}
}
.prx-1 {
     height: auto; /* 任意 */
}
.prxp-1 {
     background-image: url('../img/back.webp');
}
.prx-2 {
    height: auto; /* 任意 */
}
.prxp-2 {
     background-image: url('../img/back2.webp');
}
.prx-3 {
    height: 600px; /* 任意 */
}
.prxp-3 {
     background-image: url('../img/back3.webp');
}

.parallax-wrapper {
  position: relative;
  overflow: hidden;
}

.parallax-background {
    position: absolute;
    top: -25%;
    left: 0;
    width: 100%;
    height: 150%; /* 若干余裕をもたせてもOK */
    background-size: cover;
    background-position: top center;
    z-index: 0;
    will-change: transform;
    transform: translateY(0);
}
.normal-background {
    width: 100%;
    height: auto; /* 若干余裕をもたせてもOK */
    background-size: cover;
    background-position: center center;
    z-index: 0;
}

.parallax-content {
  position: relative;
  z-index: 1;
  height: 100%;
}
@media screen and (max-width: 767px) {
.parallax-background {
    position: absolute;
    background-attachment: scroll;
    z-index: 0;
}
}
.down {
    position: absolute;
    z-index: 100;
    bottom: 0%;
    left: calc(50% - 30px);
    transform: translate(-50%, 0%);
    text-align: center;
}
.scroll_down {
  position: relative;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg,rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
  }

.scroll_down a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 60px;
  padding: 10px 10px 70px;
  color: #000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  overflow: hidden;
  margin: auto;
}

.scroll_down a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 70px;
  background: #ddd;
}

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 70px;
  background: #000;
}

.scroll_down a:hover {
  opacity: .5;
}

#type01 a:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.swiper-slide {
    height: 90vh;
}
.main-list {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
}
a.link {
  position: relative;
  text-decoration: none!important;
}

a.link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background: currentColor;
  transition: width 0.3s ease;
}

a.link:hover::after {
  width: 100%;
}
a img {
  pointer-events: auto; /* 念のため */
}



a.c-btn {
  display: inline-block;
  position: relative;
  transition: transform 0.3s ease;
}

a.c-btn:hover {
  transform: translateY(-2px);
}

