@charset "UTF-8";

:root {
  /* 色管理用の変数 */
  --white-color: #fafafc;
  --black-color: #1f1f1f;
  --gray-color: #f5f5f7;
  --gray-color02: #ebebeb;
  --gray-color03: #BDC0BA;
  --gray-color04: #7b7b7b;
  --primary-color: #0F4C3A;
  --accent-color: #CC553D;
  --coffee-color: #73AB88;
}

:root {
  /* コンテンツ幅管理用の変数 */
  --content-width-sm: 800px;
  --content-width: 936px;
  --content-width-lg: 1080px;
}

:root {
  /* z-index管理用の変数 */
  --z-index-back: -1;
  --z-index-default: 1;
  --z-index-page-top: 50;
  --z-index-header: 100;
  --z-index-menu: 150;
  --z-index-modal: 200;
}

body {
  color: var(--black-color);
  font-family: 'Shippori Mincho', serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  /* "Marcellus" */
}

/* --------------------layout-------------------- */
.l_contents {
  padding: 80px 0;
}

@media screen and (min-width: 1080px) {
  .l_contents {
    padding: 120px 0;
  }
}

.l_container-sm,
.l_container-lg,
.l_container {
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  width: 100%;
}

.l_container-sm {
  max-width: calc(var(--content-width-sm) + 32px);
}

.l_container {
  max-width: calc(var(--content-width) + 32px);
}

.l_container-lg {
  max-width: calc(var(--content-width-lg) + 32px);
}

.l_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 16px;
  /* position: absolute; */
  /* top: 0; */
  /* left: 0; */
  width: 100%;
  z-index: var(--z-index-header);
}

.l_header-logo {
  padding: 16px 0;
}

.l_header-logo_link {
  font-size: 24px;
}

.l_header-logo_img {
  height: 24px;
  width: 104px;
  display: flex;
  object-fit: cover;
}

.l_header-menu {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 56px;
  left: 0;
  right: 0;
  height: 100%;
  width: 48%;
  background: var(--primary-color);
  transition: opacity .5s;
  z-index: var(--z-index-header);
  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 1080px) {
  .l_header-menu {
    opacity: 1;
    pointer-events: inherit;
    flex-direction: row;
    position: static;
    background: transparent;
    width: 100%;
    justify-content: end;
  }
}

.l_header-nav_list {
  margin-top: 48px;
  color: var(--white-color);
}

@media screen and (min-width: 1080px) {
  .l_header-nav_list {
    display: flex;
    align-items: center;
    margin-top: 0;
    color: var(--black-color);
  }
}

.l_header-nav_item {
  padding: 8px 16px;
}

@media screen and (min-width: 1080px) {
  .l_header-nav_item {
    position: relative;
    padding: 0;
  }

  .l_header-nav_item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 1px;
    background: var(--black-color);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .4s;
  }

  .l_header-nav_item:hover::after {
    transform: scale(1, 1);
  }

  .l_header-nav_item__bar::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 1px;
    background: var(--black-color);
  }
}

.l_header-nav_link {
  display: flex;
  align-items: center;
}

.l_header-nav_item:not(:first-child) {
  margin-top: 16px;
}

@media screen and (min-width: 1080px) {
  .l_header-nav_item:not(:first-child) {
    margin-top: 0;
    margin-left: 24px;
  }
}

.l_header-sns {
  margin-top: 24px;
}

@media screen and (min-width: 1080px) {
  .l_header-sns {
    margin-top: 0;
    margin-left: 24px;
  }
}

.l_header-sns_list {
  display: flex;
  gap: 16px;
  padding: 8px 16px;
}

@media screen and (min-width: 1080px) {
  .l_header-sns_list {
    gap: 24px;
    padding: 0;
  }
}

.l_header-sns_item {
  width: 24px;
  height: 24px;
}

.l_header-sns_link {
  display: flex;
}

@media screen and (min-width: 1080px) {
  .l_header-sns_logo {
    display: none;
  }
}

.l_header-sns_logo__lg {
  display: none;
}

@media screen and (min-width: 1080px) {
  .l_header-sns_logo__lg {
    display: block;
  }
}

.l_footer-logo {
  margin-top: 24px;
}

.l_footer-logo_link {
  display: flex;
  justify-content: center;
  align-items: center;
}

.l_footer-logo_img {
  width: 120px;
  object-fit: cover;
}

.l_footer-sns {
  margin-top: 16px;
}

.l_footer-sns_list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.l_footer-sns_item {
  width: 24px;
  height: 24px;
}

.l_footer-sns_link {
  display: flex;
}

.l_footer-copy {
  display: flex;
  justify-content: center;
  padding: 24px 0;
  font-size: 12px;
}

/* --------------------module-------------------- */
.m_contents-wrapper {
  margin-top: 48px;
}

.m_section-ttl {
  text-align: center;
  font-size: 18px;
}

.m_hamburger {
  width: 24px;
  height: 16px;
  position: relative;
  z-index: var(--z-index-header);
}

@media screen and (min-width: 1080px) {
  .m_hamburger {
    display: none;
  }
}

.m_hamburger-bar {
  width: 100%;
  height: 2px;
  background: var(--black-color);
  position: absolute;
  transition: all .5s;
}

.m_hamburger-bar:first-child {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.m_hamburger-bar:nth-child(2) {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.m_hamburger-bar:last-child {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.m_hamburger-cover {
  background: var(--gray-color04);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 56px;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  transition: opacity .5s;
  z-index: var(--z-index-page-top);
}

.m_btn {
  margin-top: 48px;
  width: 100%;
  height: 40px;
  border: 1px solid var(--gray-color03);
  border-radius: 100vh;
  max-width: 343px;
  margin-right: auto;
  margin-left: auto;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.m_btn-link {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.m_tel-link {
  text-decoration: underline;
}

.m_pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 56px;
}

.m_pagination-numbers {
  border: 1px solid var(--black-color);
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (min-width: 1080px) {
  .m_nobr-lg {
    display: none;
  }
}

/* --------------------top-------------------- */
.top_video {
  height: calc(100svh - 56px);
  width: 100%;
  object-fit: cover;
}



@media screen and (min-width: 1080px) {
  .top_intro-wrapper {
    display: flex;
    flex-direction: row-reverse;
    max-width: calc(var(--content-width) + 32px);
    margin-left: auto;
    margin-right: auto;
    padding: 0 16px;
    width: 100%;
  }
}

.top_intro-txt_inner {
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  width: 100%;
  max-width: calc(var(--content-width) + 32px);
}

@media screen and (min-width: 1080px) {
  .top_intro-txt_inner {
    width: 50%;
  }
}

.top_intro-txt {
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin: 0 auto;
}

.top_intro-img_inner {
  margin-top: 32px;
}

@media screen and (min-width: 1080px) {
  .top_intro-img_inner {
    margin-top: 0;
    width: 50%;
    aspect-ratio: 8 / 5;

  }
}

.top_intro-img {
  height: 177px;
  object-fit: cover;
  object-position: bottom;
}

@media screen and (min-width: 1080px) {
  .top_intro-img {
    height: 240px;
  }
}

@media screen and (min-width: 1080px) {
  .top_news-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
  }

  .top_news-unit {
    width: calc((100% - 32px)/ 2);
  }
}

.top_news-unit:not(:first-child) {
  margin-top: 24px;
}

@media screen and (min-width: 1080px) {
  .top_news-unit:not(:first-child) {
    margin-top: 0;
  }
}

.top_news-link {
  display: flex;
}

.top_news-img_wrapper {
  width: 115px;
}

.top_news-img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.top_news-txt_wrapper {
  width: calc(100% - (115px + 32px));
  margin-left: 32px;
  line-height: 1.8;
}

.top_news-date {
  font-size: 12px;
  color: var(--gray-color04);
}

@media screen and (min-width: 1080px) {
  .top_feature-wrapper {
    display: flex;
    justify-content: space-between;
  }

  .top_feature-unit {
    width: 343px;
  }
}

.top_feature-unit:not(:first-child) {
  margin-top: 64px;
}

@media screen and (min-width: 1080px) {
  .top_feature-unit:not(:first-child) {
    margin-top: 0;
  }
}

.top_feature-description {
  margin-top: 32px;
  text-align: center;
  font-size: 16px;
}

.top_feature-img_wrapper {
  margin-top: 24px;
}

.top_feature-img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.top_recommend-container {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
}

.top_recommend-unit {
  width: calc(100% / 2);
  position: relative;
}

.top_recommend-unit::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));
  transition: all .5s ease-in-out;
}

.top_recommend-unit:hover::after {
  opacity: 0.3;
}

@media screen and (min-width: 1080px) {
  .top_recommend-unit {
    width: calc(100% / 4);
  }
}

.top_recommend-img {
  height: 100px;
  object-fit: cover;
}

@media screen and (min-width: 1080px) {
  .top_recommend-img {
    height: 343px;
  }
}

.top_recommend-ttl {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  z-index: var(--z-index-default);
  transition: .5s;
}

.top_access-map_wrapper {
  aspect-ratio: 8 / 5;
}

.top_access-info_wrapper {
  text-align: center;
  margin-top: 32px;
}

.top_access-info_content-wrapper {
  margin-top: 32px;
}

.top_access-info {
  padding: 32px 0;
  border-top: 1px solid var(--black-color);
}

.top_access-table {
  margin-top: 40px;
  width: 100%;
  table-layout: fixed;
}

.top_access-table:not(:first-of-type) {
  margin-top: 24px;
}

.top_access-table_tr {
  height: 64px;
}

.top_access-table_place,
.top_access-table_period,
.top_access-table_time {
  border: 1px solid var(--black-color);
  text-align: center;
}

.top_access-table_place {
  /* writing-mode: vertical-rl; */
  width: 20%;
}

.top_access-table_period {
  width: 30%;
}

.top_access-table_time {
  width: 50%;
}

.top_access-table_note {
  font-size: 14px;
  text-align: center;
  margin-top: 16px;
}


/* --------------------news-------------------- */
.news_link {
  display: flex;
}

.news_unit:not(:first-child) {
  padding-top: 24px;
}

.news_unit:not(:last-child) {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--gray-color03);
}

.news_img-wrapper {
  width: 115px;
}

.news_img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media screen and (min-width: 1080px) {
  .news_img-wrapper {
    width: 160px;
  }
}

.news_txt-wrapper {
  width: calc(100% - (115px + 32px));
  margin-left: 32px;
  line-height: 1.8;
}

.news_date {
  font-size: 12px;
  color: var(--gray-color04);
}

@media screen and (min-width: 1080px) {
  .news_txt-wrapper {
    width: calc(100% - (160px + 32px));
  }
}

/* --------------------single-------------------- */
.single_ttl {
  margin-top: 40px;
  font-size: 18px;
  text-align: center;
}

.single_date {
  margin-top: 8px;
  text-align: center;
  font-size: 12px;
  color: var(--gray-color04);
}

.single_news-unit:first-child {
  border-top: 1px solid var(--gray-color03);
  padding-top: 24px;
}

.single_img-wrapper {
  margin-top: 40px;
}

.single_img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.single_txt-wrapper {
  margin-top: 32px;
}

.single_txt-wrapper a {
  color: var(--accent-color);
  transition: .3s;
}

.single_txt-wrapper a:hover {
  opacity: .6;
}

.single_txt-wrapper a:active {
  opacity: .6;
}

/* --------------------about-------------------- */
.aboutintro_kv {
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/corporate/about_kv.jpg)bottom/cover;
  width: 100%;
  height: calc(100svh - 56px);
  position: relative;
}

.about_kv-yama {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/about_kv-yama.jpg)center/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

.about_kv-hi {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/about_kv-hi.jpg)center/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

.about_kv-hatiman {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/about_kv-hatiman.jpg)center/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

.about_kv-aouma {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/about_kv-aouma.jpg)bottom/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

@media screen and (min-width: 1080px) {
  .about_kv-yama, .about_kv-hi, .about_kv-hatiman, .about_kv-aouma {
    aspect-ratio: 3 / 1;
  }
}

.about_copy-wrapper {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translateX(-50%);
  color: var(--white-color);
  width: 100%;
  text-align: center;
  padding: 0 16px;
}

.about_copy-main {
  font-size: 24px;
}

.about_copy-sub {
  margin-top: 40px;
}

@media screen and (min-width: 1080px) {
  .about_intro-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
}

.about_intro-item-wrapper:not(:first-child) {
  margin-top: 72px;
}

@media screen and (min-width: 1080px) {
  .about_intro-item-wrapper {
    width: calc((100% - 40pt) / 2);
  }

  .about_intro-item-wrapper:first-child {
  margin-top: 72px;
}
}

.about_intro-img-wrapper {
  margin-top: 24px;
}

.about_intro-img {
  aspect-ratio: 8 / 5;
  width: 100%;
  object-fit: cover;
}

.about_intro-txt-wrapper {
  margin-top: 16px;
}

.about_section-wrapper {}

.about_section-wrapper:not(:first-of-type) {
  margin-top: 64px;
}

.about_txt-wrapper {
  margin-top: 24px;
}

.about_table {
  margin: 24px auto 0 auto;
  table-layout: fixed;
  width: max-content;
}

.about_tabl-tr {
  height: 64px;
}

.about_table-td {
  border: 1px solid var(--black-color);
  text-align: left;
  padding: 6px 12px;
}

.about_img-wrapper {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.about_img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.about_img-vertical {
  aspect-ratio: 5 / 8;
  width: 65%;
}

.about_btn-wrapper {
  margin-top: 120px;
}

/* --------------------service kitou-------------------- */
.service_kv {
  background: url(../img/corporate/kitou_kv.jpg)center/cover;
  width: 100%;
  aspect-ratio: 8 / 5;
}

@media screen and (min-width: 1080px) {
  .service_kv {
    height: calc(100svh - 56px);
  }
}

.service_main {
  background: var(--gray-color);
}

.service_catch {
  padding: 80px 16px 0;
}

.service_catch-txt {
  display: flex;
  justify-content: center;
}

.service_txt-wrapper {
  text-align: center;
  margin-top: 80px;
}

.service_desc-ttl {
  margin-top: 32px;
}

.service_desc {
  margin-top: 16px;
}

.service_desc-ttl,
.service_desc {
  text-align: center;
}

.service_desc_concept {
  margin-top: 16px;
}

.service_info-wrapper {
  margin-top: 64px;
  /* float: left; */
}

.service_info-unit {
  background: var(--white-color);
  padding: 16px 32px;
  width: 100%;
  height: auto;
}

.service_info-ttl_wrapper {
  padding: 0 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.service_info-ttl {
  font-size: 18px;
}

.service_info-item {
  padding: 16px 8px;
}

.service_info-item:not(:last-child) {
  border-bottom: 1px solid var(--black-color);
}

.service_info-date {
  margin-top: 8px;
}

.service_info-link {
  text-decoration: underline;
}


/* --------------------goods omamori-------------------- */
.goods_kv-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.goods_kv {
  background: url(../img/corporate/omamori_kv01.jpg)center/cover;
  width: 100%;
  aspect-ratio: 8 / 5;
}

@media screen and (min-width: 1080px) {
  .goods_kv-lg__l {
    background: url(../img/corporate/omamori_kv01.jpg)center/cover;
  }

  .goods_kv-lg__r {
    background: url(../img/corporate/omamori_kv02.jpg)center/cover;
  }

  .goods_kv-lg {
    width: 50%;
    height: calc(100svh - 56px);
  }
}

.goods_item-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 16px;
}

.goods_item {
  width: calc((100% - 16px) / 2);
}

@media screen and (min-width: 1080px) {
  .goods_item {
    width: calc((100% - (16px * 2)) / 3);
  }
}

.goods_item__hidden {
  overflow: hidden;
  height: 0;
  opacity: 0;
  height: 0;
  transition: .5s;
  position: absolute;
}

/* @media screen and (min-width: 1080px) {
  .goods_img-wrapper {
    pointer-events: none;
  }
} */

.goods_img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.goods_txt-price {
  margin-left: 16px;
}

.goods_txt-desc {
  text-align: left;
}

.goods_modal {
  position: fixed;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  text-align: center;
  background: var(--white-color);
  padding: 32px 24px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: var(--z-index-modal);
}

@media screen and (min-width: 960px) {
  .goods_modal {
    width: 70%;
  }
}

@media screen and (min-width: 1080px) {
  .goods_modal {
    width: 50%;
  }
}

.goods_modal-cover {
  background: var(--gray-color04);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: opacity .5s;
  z-index: var(--z-index-page-top);
}

.goods_modal.is-modal {
  opacity: 1;
  visibility: visible;
}

.goods_modal-cover.is-modal {
  opacity: 0.5;
  pointer-events: auto;
}

.goods_btn-wrapper {
  text-align: end;
  transition: .5s;
  margin-top: 48px;
}

.goods_btn-more {
  border-bottom: 1px solid var(--gray-color03);
  display: inline-block;
}

/* --------------------fes omaturi-------------------- */
.fes_kv-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.fes_kv {
  width: 50%;
  height: calc((100svh - 56px) / 2);
}

.fes_kv-lu {
  background: url(../img/corporate/fes_kv-lu.jpg)center/cover;
}

.fes_kv-ru {
  background: url(../img/corporate/fes_kv-ru.jpg)center/cover;
}

.fes_kv-ll {
  background: url(../img/corporate/fes_kv-ll.jpg)center/cover;
}

.fes_kv-rl {
  background: url(../img/corporate/fes_kv-rl.jpg)center/cover;
}

.fes_copy {
  text-align: center;
}

.fes_content-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 16px;
}

.fes_content-unit__2col {
  /* float: left; */
  width: calc((100% - 16px) / 2);
}

.fes_content-img {
  aspect-ratio: 8 / 5;
}

.fes_content-txt_wrapper {
  margin-top: 8px;
}

.fes_content-ttl {
  text-align: center;
}

.fes_content-date {
  font-size: 12px;
  margin-top: 8px;
  text-align: center;
  color: var(--accent-color);
}

.fes_content-txt {
  margin-top: 16px;
  padding: 0 8px;
  font-size: 12px;
}

@media screen and (min-width: 1080px) {
  .fes_content-txt {
    font-size: 16px;
  }
}

.fes_btn {
  margin-top: 16px;
}

.fes_table {
  font-size: 12px;
}

@media screen and (min-width: 1080px) {
  .fes_table {
    font-size: 16px;
  }
}

.fes_table-th,
.fes_table-td {
  border-bottom: 1px solid var(--primary-color);
  padding: 16px;
}

.fes_table-detail_content {
  margin-top: 32px;
  padding-left: 16px;
}

.fes_table-detail:not(:first-child) {
  margin-top: 8px;
}


/* --------------------fire himatsuri-------------------- */
.fire_kv-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.fire_kv {
  width: 100%;
  height: calc((100svh - 56px) / 2);
}

@media screen and (min-width: 1080px) {
  .fire_kv {
    width: 50%;
    height: calc(100svh - 56px);
  }
}

.fire_kv-u {
  background: url(../img/corporate/fire_kv-u.jpg)top/cover;
}

.fire_kv-l {
  background: url(../img/corporate/fire_kv-l.jpg)center/cover;
}

.fire_copy-wrapper {
  display: flex;
  flex-direction: row-reverse;
  max-width: calc(var(--content-width) + 32px);
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  width: 100%;
}

.fire_copy {
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin: 0 auto;
  font-size: 24px;
}

.fire_top-txt_wrapper {
  margin-top: 24px;
}

.fire_top-img_wrapper {
  aspect-ratio: 8 / 5;
  margin-top: 24px;
}

.fire_subcopy-wrapper {
  margin-top: 48px;
}

.fire_subcopy {
  text-align: center;
  font-size: 18px;
}

.fire_program_wrapper {
  text-align: center;
}

.fire_program-content:not(:first-child) {
  margin-top: 40px;
}

.fire_program-date {
  margin-top: 16px;
}

.fire_content-wrapper {}

.fire_content-unit {}


.fire_content-unit:not(:first-child) {
  margin-top: 80px;
}

@media screen and (min-width: 1080px) {
  .fire_content-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 48px 32px;
  }

  .fire_content-unit {
    width: calc((100% - 64px) / 3);
  }

  .fire_content-unit:not(:first-child) {
    margin-top: 0;
  }
}

.fire_content-ttl {
  text-align: center;
}

.fire_content-img_wrapper {
  margin-top: 32px;
}

.fire_content-txt_wrapper {
  margin-top: 24px;
}

.fire_content-date {
  font-size: 12px;
  color: var(--accent-color);
}

.fire_content-txt {
  margin-top: 16px;
}

.fire_table-ttl {
  text-align: center;
}

.fire_table-wrapper:not(:first-child) {
  margin-top: 48px;
}

.fire_table {
  margin-top: 16px;
}

.fire_table-th,
.fire_table-td {
  border-bottom: 1px solid var(--primary-color);
  padding: 16px;
}

.fire_table-th {
  width: 40%;
}

.fire_table-td {
  width: 30%;
}

.fire_access-emphasis {
  margin-bottom: 32px;
  display: flex;
  justify-content: center;
}

.fire_access-info_wrapper {
  text-align: center;
  padding: 32px 0;
  border-top: 1px solid var(--black-color);

}

.fire_access-info_ttl {
  margin-bottom: 24px;
}

.fire_access-info {}

.fire_bus-table-wrapper:not(:first-child) {
  margin-top: 32px;
}

.fire_bus-table {
  margin-top: 8px;
}

.fire_bus-table_th,.fire_bus-table_td {
  border: 1px solid var(--black-color);
  text-align: center;
}

.fire_bus-table_th {
  width: 15%;
  background: var(--gray-color02);
}

.fire_bus-table_td {
  width: 35%;
}

.fire_access-note_contents {
  margin-top: 48px;
}

.fire_access-note {}

.fire_association-img_wrapper {
  margin-top: 40px;
}

@media screen and (min-width: 1080px) {
  .fire_association-img_wrapper {
    display: flex;
    gap: 0 24px;
  }
}

@media screen and (min-width: 1080px) {
  .fire_association-img_unit {
    width: calc((100% - 24px) / 2);
  }
}

.fire_association-img_unit:not(:first-child) {
  margin-top: 24px;
}

@media screen and (min-width: 1080px) {
  .fire_association-img_unit:not(:first-child) {
    margin-top: 0;
  }
}

.fire_association-img {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.fire_association-heading {
  text-align: center;
  margin-top: 80px;
}

.fire_association-table_tr {
  height: 56px;
}

.fire_association-table_th,.fire_association-table_td-left,.fire_association-table_td-right {
  border: 1px solid var(--black-color);
  text-align: center;
}

.fire_association-table_td-right {
  width: 50%;
}

.fire_association-item_wrapper {
  margin-top: 48px;
}

@media screen and (min-width: 1080px) {
  .fire_association-item_wrapper {
    display: flex;
    justify-content: center;
  }
}

.fire_association-item_unit {
}

.fire_association-item_unit:not(:first-child) {
  margin-top: 32px;
}

@media screen and (min-width: 1080px) {
  .fire_association-item_unit {
    width: 35%;
  }

  .fire_association-item_unit:not(:first-child) {
    margin-top: 0;
    margin-left: 48px;
  }
}

.fire_association-item_ttl {
  text-align: center;
}

.fire_association-item_txt {
  margin-top: 16px;
  display: flex;
  justify-content: center;
}





/* --------------------contact-------------------- */
.contact_kv {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/contact_kv.jpg)center/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

@media screen and (min-width: 1080px) {
  .contact_kv {
    aspect-ratio: 3 / 1;
  }
}

.contact_ttl {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}

@media screen and (min-width: 1080px) {
  .contact_ttl {
    font-size: 24px;
  }
}

.contact_txt {
  display: flex;
  justify-content: center;
}

.contact_txt:not(:first-child) {
  margin-top: 24px;
}

.contact_form-wrapper {
  margin-top: 80px;
}

.contact_form-unit {
  padding: 16px 0;
}

@media screen and (min-width: 1080px) {
  .contact_form-unit {
    display: flex;
    gap: 32px;
  }
}

.contact_form-heading {
  margin-bottom: 16px;
}

@media screen and (min-width: 1080px) {
  .contact_form-heading {
    width: 248px;
    margin-bottom: 0;
  }
}

.contact_form_example {
  font-size: 12px;
  margin-left: 16px;
}

@media screen and (min-width: 1080px) {
  .contact_form_example {
    display: block;
  }
}

.contact_form-tag {
  font-size: 12px;
  border-radius: 100vh;
  padding: 4px;
  margin-right: 16px;
}

.contact_form-tag__required {
  background: var(--accent-color);
  color: var(--white-color);
}

.contact_form-tag__optional {
  background: var(--gray-color02);
}

@media screen and (min-width: 1080px) {
  .contact_form-detail {
    width: calc(100% - (240px + 32px));
  }
}

.contact_form-input {
  background: var(--gray-color02);
  border-radius: 8px;
  width: 100%;
  padding: 4px 16px;
}

@media screen and (min-width: 1080px) {
  .contact_form-input {
    height: 56px;
  }
}

.contact_form_radio-list {
  display: flex;
  flex-wrap: wrap;
}

.contact_form_radio-item {
  width: calc(100% / 3);
}

.contact_form_label {
  margin-left: 8px;
}

.contact_form_textarea {
  background: var(--gray-color02);
  width: 100%;
  border-radius: 8px;
  height: 165px;
  padding: 4px 16px;
}

.contact_form-checkbox_label {
  margin-left: 16px;
}

.contact_form-checkbox_txt {
  font-size: 14px;
  margin-top: 16px;
}

.contact_form-checkbox_link {
  text-decoration: underline;
}

.m_btn_input {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

/* --------------------coffee-------------------- */
.coffee_main {}

.coffee_parallax {
  background: url(../img/coffee/coffee_bg.jpg) center;
  background-attachment: fixed;
  background-size: cover;
}

.coffee_parallax__kv {
  position: relative;
  height: calc(100svh - 56px);
}

.coffee_ttl-wrapper {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 16px;
  color: var(--white-color);
  text-align: center;
}


.coffee_ttl-unit {
  display: inline-block;
  text-align-last: left;
}

.coffee_ttl-sub {
  font-size: 4vmin;
}

.coffee_ttl {
  font-size: 6vmin;
}

.coffee_copy {
  font-size: 3vmin;
  text-align: center;
  margin-top: 40px;
}

.coffee_intro {}

.coffee_intro-ttl {
  text-align: center;
}

.coffee_parallax_slim {
  height: 50vh;
  position: relative;
}

.coffee_img-container {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.coffee_img-slide {
  aspect-ratio: 8 / 5;
  object-fit: cover;
}

.coffee_team-unit {}

.coffee_team-unit:not(:first-child) {
  margin-top: 80px;
}

.coffee_team-img_wrapper {
  width: 200px;
  margin: 0 auto;
}

.coffee_team-img {
  aspect-ratio: 1 / 1;
}

.coffee_team-txt_wrapper {
  text-align: center;
  margin-top: 16px;
}

.coffee_team-name {}

.coffee_team-element_wrapper {
  display: inline-block;
  text-align-last: left;
  margin-top: 16px;
}

.coffee_team-element {}

.coffee_team-sns_wrapper {
  width: 24px;
  margin: 0 auto;
  margin-top: 16px;
}

.coffee_team-sns_link {}

.coffee_team-sns {}


/* --------------------hozonkai-------------------- */
.hozonkai_kv {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/fire_contact-kv.jpg)center/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

@media screen and (min-width: 1080px) {
  .hozonkai_kv {
    aspect-ratio: 3 / 1;
  }
}

/* --------------------members-------------------- */
.firelive_kv {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/corporate/fire_live-kv.jpg)top/cover;
  width: 100%;
  aspect-ratio: 2 / 1;
  position: relative;
}

.firelive_table-ttl {
  text-align: center;
}

.firelive_table-wrapper:not(:first-child) {
  margin-top: 48px;
}

.firelive_table {
  margin-top: 16px;
}

.firelive_table-th,
.firelive_table-td {
  border-bottom: 1px solid var(--primary-color);
  padding: 16px;
}

.firelive_link-wrapper {
  margin-top: 48px;
}

.firelive_link-ttl {
  text-align: center;
}

.firelive_link-link {
  color: var(--accent-color);
  text-decoration-line: underline;
}

.firelive_link-unit:not(:first-child) {
  margin-top: 24px;
}

/* --------------------splide-------------------- */
.splide__arrow {
  background: initial;
  opacity: 1;
}

.coffee_main .splide__arrow svg {
  fill: var(--white-color);
  opacity: 0.8;
}

.splide__arrow--prev {
  left: 0;
}

.splide__arrow--next {
  right: 0;
}

.service_main .splide__pagination {
  bottom: initial;
}

.splide__pagination__page {
  background: var(--gray-color03);
  border-radius: 0;
  height: 2px;
  width: 16px;
  margin: 1px;
}

@media screen and (min-width: 1080px) {
  .splide__pagination__page {
    width: 24px;
  }
}

.service_main .splide__pagination__page.is-active {
  background: var(--accent-color);
  transform: scale(1);
}

.coffee_main .splide__pagination__page.is-active {
  background: var(--coffee-color);
  transform: scale(1);
}


/* --------------------js-------------------- */
.js_body.is-active {
  overflow: hidden;
}

.l_header-menu.is-active {
  opacity: 1;
  pointer-events: inherit;
}

.is-active>.m_hamburger-bar:first-child {
  transform: translate(-50%, -50%) rotate(-210deg);
  top: 50%;
  left: 50%;
}

.is-active>.m_hamburger-bar:nth-child(2) {
  display: none;
}

.is-active>.m_hamburger-bar:last-child {
  transform: translate(-50%, -50%) rotate(210deg);
  top: 50%;
  left: 50%;
}

.is-other .l_header-nav_item {
  opacity: 0.2;
}

.l_header-nav_item.is-hover {
  opacity: 1;
}

.m_hamburger-cover.is-active {
  opacity: .7;
}

.is-hover .top_recommend-ttl {
  color: var(--gray-color02);
}

/* .service_info-item_wrapper.active {
  overflow-y: auto;
} */

.is-visible .goods_item__hidden {
  overflow: visible;
  height: auto;
  opacity: 1;
  height: auto;
  position: static;
}

.goods_btn-wrapper.is-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0;
  /* padding: ; */
  /* margin-top: ; */
}

.js_accordion-btn.active .service_info-arrow::after {
  transform: translateX(-50%) rotate(-45deg);
  top: 4px;
}

/* comingsoon */
.comingsoon {
  height: 70vh;
}

.comingsoon_txt {
  font-weight: bold;
  font-size: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/* --------------------wordpress-------------------- */
.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 56px;
}

.page-numbers {
  font-weight: bold;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--gray-color02);
  background: var(--white-color);
}

.page-numbers:not(:first-child) {
  margin-left: 8px;
}

.page-numbers.current {
  color: var(--white-color);
  border-color: var(--primary-color);
  background: var(--primary-color);
}

.page-numbers.prev {
  position: relative;
}

.page-numbers.prev::before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--black-color);
  border-left: 1px solid var(--black-color);
  position: absolute;
  top: 50%;
  right: 32%;
  transform: translateY(-50%) rotate(-45deg);
}

.page-numbers.next {
  position: relative;
}

.page-numbers.next::before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--black-color);
  border-right: 1px solid var(--black-color);
  position: absolute;
  top: 50%;
  left: 32%;
  transform: translateY(-50%) rotate(45deg);
}

.page-numbers.dots {
  font-size: 14px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
}

.wpcf7 br {
  display: none;
}

.contact_form_radio-list .wpcf7-list-item {
  width: calc((100% / 3) - 16px);
}

.wpcf7-spinner {
  display: none;
}

/*reCAPTCHAのロゴを非表示*/
.grecaptcha-badge {
  visibility: hidden;
}

/* single 投稿ページ用 */
.wp-block-image {
  margin-top: 40px;
}