@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap");
/* ===== site reset (global) ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p,
figure, blockquote,
dl, dd {
  margin: 0;
}

ol, ul {
  margin: 0;
  padding: 0;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

header ul, footer ul {
  list-style: none;
}

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

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ===== restore WP-ish defaults only inside the_content ===== */
/* まずコンテナを“戻す” */
.entry-content {
  all: revert;
}

/* 次に、本文で「崩れて困るもの」を明示（必要に応じて） */
.entry-content {
  /* 例：幅だけはテーマ都合で合わせたいならここで */
  /* max-width: 65ch; */
}

/* そして要素も戻す（あなたの指定でOK） */
.entry-content :where(h1, h2, h3, h4, h5, h6,
p, ul, ol, li,
blockquote,
figure, figcaption,
table, th, td,
pre, code, a) {
  all: revert;
}

body {
  background-color: #fff;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #884832;
  -webkit-font-smoothing: antialiased;
  background: url(../images/common/bg.jpg) center top;
  background-attachment: fixed;
}

main a {
  color: #884832;
  cursor: pointer;
}

.area-wrapper {
  overflow: clip;
}
.area-wrapper img {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  :root {
    --w:1400 ;
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: min(80px, 80 / var(--w) * 100vw);
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(min(10px, 10 / var(--w) * 100vw));
    padding: min(15px, 15 / var(--w) * 100vw) min(30px, 30 / var(--w) * 100vw);
  }
  .area-header img {
    width: 100%;
  }
  .area-header ._header-site {
    position: absolute;
    top: min(10px, 10 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: min(30px, 30 / var(--w) * 100vw);
  }
  .area-header ._header-menu {
    position: relative;
  }
  .area-header ._header-btn {
    display: none;
  }
  .mod-head-logo {
    display: block;
    width: min(70px, 70 / var(--w) * 100vw);
  }
  .mod-head-gmenu {
    display: flex;
    gap: min(30px, 30 / var(--w) * 100vw);
  }
  .mod-head-gmenu-item {
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 1;
    color: #884832;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-head-gmenu-item:hover {
    opacity: 0.8;
  }
  .mod-modal-menu-btn {
    position: relative;
    width: min(60px, 60 / var(--w) * 100vw);
    height: min(60px, 60 / var(--w) * 100vw);
    background-color: #fff;
    border-radius: 0;
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .mod-modal-menu-btn:hover {
    opacity: 0.8;
  }
  .mod-modal-menu-btn span {
    position: absolute;
    background: #884832;
    left: calc((min(60px, 60 / var(--w) * 100vw) - min(30px, 30 / var(--w) * 100vw)) / 2);
    width: min(30px, 30 / var(--w) * 100vw);
    height: min(1px, 1 / var(--w) * 100vw);
    transition: all 0.3s;
    top: calc((min(60px, 60 / var(--w) * 100vw) - min(1px, 1 / var(--w) * 100vw)) / 2);
  }
  .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(max(-8px, -8 / var(--w) * 100vw));
  }
  .mod-modal-menu-btn span:nth-child(3) {
    transform: translateY(min(8px, 8 / var(--w) * 100vw));
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(0) rotate(-45deg);
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(2) {
    opacity: 0;
    transform: scale(0.5);
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(3) {
    transform: translateY(0) rotate(45deg);
  }
  /* -------------------------------------------------- */
  .area-modal-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #f8f8f8;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .area-modal-menu ._modal-inner {
    width: min(1000px, 1000 / var(--w) * 100vw);
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  body.js-gmenu-active {
    visibility: visible;
    opacity: 1;
  }
  .mod-sitelinks-list {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 1;
    color: #884832;
  }
  /* -------------------------------------------------- */
  .area-footer {
    background: #fff;
    padding: min(120px, 120 / var(--w) * 100vw) 0;
  }
  .area-footer .block-inner {
    display: flex;
    flex-direction: column;
    gap: min(80px, 80 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._footer-links {
    display: flex;
    gap: min(40px, 40 / var(--w) * 100vw);
    justify-content: center;
    width: 100%;
  }
  .area-footer ._footer-links ._col {
    display: flex;
    flex-direction: column;
    gap: min(10px, 10 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._add {
    font-size: min(13px, 13 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._copy {
    font-size: min(13px, 13 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._title {
    font-size: min(13px, 13 / var(--w) * 100vw);
  }
  .area-footer ._footer-links a {
    color: #884832;
  }
  .mod-footer-links {
    display: flex;
    gap: min(5px, 5 / var(--w) * 100vw);
  }
  .mod-footer-links li {
    font-size: min(13px, 13 / var(--w) * 100vw);
  }
  .mod-footer-links li::before {
    content: "/ ";
    display: inline-block;
    padding-right: min(5px, 5 / var(--w) * 100vw);
  }
  .mod-footer-links li:first-child::before {
    content: "";
    padding-right: 0;
  }
  .mod-footer-sns {
    display: flex;
    gap: min(25px, 25 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-footer-sns a {
    width: min(40px, 40 / var(--w) * 100vw);
  }
  .mod-footer-banner {
    display: flex;
    gap: min(16px, 16 / var(--w) * 100vw);
    justify-content: center;
    flex-wrap: wrap;
  }
  .mod-footer-banner a {
    width: min(40px, 40 / var(--w) * 100vw);
  }
  .mod-footer-banner li {
    width: min(350px, 350 / var(--w) * 100vw);
  }
  .mod-footer-logo {
    width: min(100px, 100 / var(--w) * 100vw);
    display: block;
  }
  .mod-footer-logo img {
    width: 100%;
  }
  .block-inner {
    position: relative;
    width: min(1120px, 1120 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .block-inner-800 {
    width: min(800px, 800 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .mod-doc p {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    opacity: 0.8;
  }
  .mod-hover-text {
    cursor: pointer;
  }
  .mod-hover-text:hover {
    text-decoration: underline;
  }
  .mod-link-text {
    text-decoration: underline;
  }
  .mod-btn-more {
    font-size: min(14px, 14 / var(--w) * 100vw);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: min(7px, 7 / var(--w) * 100vw) min(18px, 18 / var(--w) * 100vw);
    border-radius: min(3px, 3 / var(--w) * 100vw);
    border: min(1px, 1 / var(--w) * 100vw) solid #65493f;
  }
  .mod-table-a {
    width: 100%;
  }
  .mod-table-a tr:nth-child(2n+1) {
    top: h, td;
    background: #fff;
  }
  .mod-table-a th {
    padding: min(30px, 30 / var(--w) * 100vw) min(40px, 40 / var(--w) * 100vw);
    width: 25%;
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
  .mod-table-a td {
    padding: min(30px, 30 / var(--w) * 100vw);
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
  .section-common-mv {
    position: relative;
  }
  .section-common-mv img {
    height: min(350px, 350 / var(--w) * 100vw);
    object-fit: cover;
  }
  .section-common-mv ._texts {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .section-common-mv h1 {
    font-size: min(60px, 60 / var(--w) * 100vw);
    line-height: 1.53;
    font-weight: 200;
    color: #fff;
    text-align: center;
    padding-top: min(60px, 60 / var(--w) * 100vw);
  }
  .section-common-mv-wh {
    position: relative;
    padding-top: min(140px, 140 / var(--w) * 100vw);
  }
  .section-common-mv-wh h1 {
    font-size: min(60px, 60 / var(--w) * 100vw);
    line-height: 1.53;
    font-weight: 200;
    text-align: center;
  }
  .section-common-mv-wh h1 span {
    display: inline-block;
  }
  .section-common-mv-wh h1 span::after {
    content: "";
    display: block;
    margin: 0 auto;
    width: min(270px, 270 / var(--w) * 100vw);
    height: min(3px, 3 / var(--w) * 100vw);
    background-image: url("../images/common/bar2.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-common {
    padding: min(120px, 120 / var(--w) * 100vw) 0 min(100px, 100 / var(--w) * 100vw) 0;
  }
  .mod-deco-box::before {
    content: "";
    display: block;
    z-index: 1;
    width: 100%;
    height: min(3px, 3 / var(--w) * 100vw);
    background-image: url("../images/common/bar.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .mod-deco-box::after {
    content: "";
    display: block;
    z-index: 1;
    width: 100%;
    height: min(3px, 3 / var(--w) * 100vw);
    background-image: url("../images/common/bar.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .mod-contact-form {
    margin-top: min(50px, 50 / var(--w) * 100vw);
  }
  .mod-form-item {
    margin-top: min(30px, 30 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
  }
  .mod-form-item:first-child {
    margin-top: 0;
  }
  .mod-form-item ._label {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-form-item ._required {
    color: #c00;
    background: #fff;
    font-size: min(12px, 12 / var(--w) * 100vw);
    line-height: 1;
    margin-left: min(10px, 10 / var(--w) * 100vw);
    padding: min(5px, 5 / var(--w) * 100vw);
  }
  .mod-form-item ._input, .mod-form-item ._textarea {
    border: min(1px, 1 / var(--w) * 100vw) solid #ccc;
    border-radius: min(4px, 4 / var(--w) * 100vw);
    width: 100%;
    padding: min(12px, 12 / var(--w) * 100vw) min(16px, 16 / var(--w) * 100vw);
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-form-item ._input {
    height: min(50px, 50 / var(--w) * 100vw);
    box-sizing: border-box;
    border: none;
  }
  .mod-form-item ._textarea {
    min-height: min(120px, 120 / var(--w) * 100vw);
    resize: vertical;
    border: none;
    box-sizing: border-box;
  }
  .mod-form-submit {
    margin-top: min(50px, 50 / var(--w) * 100vw);
    text-align: center;
  }
  .mod-form-submit .mod-btn {
    border-radius: min(3px, 3 / var(--w) * 100vw);
    border: min(1px, 1 / var(--w) * 100vw) none #000;
    padding: min(20px, 20 / var(--w) * 100vw) min(80px, 80 / var(--w) * 100vw);
    background-color: #884832;
    color: #fff;
    font-size: min(20px, 20 / var(--w) * 100vw);
    font-weight: bold;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-form-submit .mod-btn:hover {
    opacity: 0.8;
  }
  .section-index-main {
    position: relative;
    background: #000;
  }
  .section-index-main ._main-thumbs {
    position: relative;
  }
  .section-index-main ._main-thumbs ._copy {
    z-index: 10;
    position: absolute;
    top: calc(80 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .section-index-main ._main-thumbs h1 {
    font-size: calc(90 / var(--w) * 100vw);
    line-height: 1.17;
    font-weight: 200;
    color: #fff;
    text-shadow: 0 calc(2 / var(--w) * 100vw) calc(4 / var(--w) * 100vw) rgba(0, 0, 0, 0.4);
  }
  .section-index-main ._main-main {
    background: #884832;
    padding: calc(20 / var(--w) * 100vw) 0;
  }
  .mod-swiper {
    position: relative;
    width: 100%;
    margin: 0 auto;
    --swiper-navigation-color:#fff;
    --swiper-navigation-size:min(22px, calc(22 / var(--w) * 100vw));
    --swiper-navigation-sides-offset:min(20px, calc(20 / var(--w) * 100vw));
    --swiper-pagination-bottom:min(8px, calc(8 / var(--w) * 100vw));
  }
  .mod-swiper .swiper {
    width: 100%;
  }
  .mod-swiper .swiper-slide {
    border-radius: min(8px, 8 / var(--w) * 100vw);
    background: #884832;
    aspect-ratio: 500/120;
    overflow: hidden;
  }
  /* -------------------------------------------------- */
  section.section-index-news {
    padding: min(50px, 50 / var(--w) * 100vw) 0;
    background: #fff;
  }
  section.section-index-news ._news-cols {
    display: flex;
    gap: min(20px, 20 / var(--w) * 100vw);
  }
  section.section-index-news ._news-head {
    width: min(160px, 160 / var(--w) * 100vw);
  }
  section.section-index-news ul {
    list-style: none;
  }
  .mod-news-item {
    display: flex;
    gap: min(10px, 10 / var(--w) * 100vw);
    padding: min(8px, 8 / var(--w) * 100vw) 0;
  }
  .mod-news-item ._news-date {
    width: min(80px, 80 / var(--w) * 100vw);
    padding-top: min(2px, 2 / var(--w) * 100vw);
  }
  .mod-news-item ._news-doc {
    flex: 1;
  }
  .mod-news-item ._date {
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-news-item ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-news-item a {
    color: #65493f;
  }
  .mod-index-title-news span {
    font-size: min(40px, 40 / var(--w) * 100vw);
    line-height: 2.3;
    font-weight: 200;
    border-bottom: min(1px, 1 / var(--w) * 100vw) solid #65493f;
  }
  .mod-index-title span {
    font-size: min(60px, 60 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 200;
  }
  /* -------------------------------------------------- */
  .section-index-message {
    position: relative;
    height: min(550px, 550 / var(--w) * 100vw);
    color: #fff;
    background-image: url("../images/index/message/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-index-message ._message-texts {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    justify-content: center;
    left: calc(50% - min(400px, 400 / var(--w) * 100vw));
  }
  .section-index-message ._copy {
    font-size: min(24px, 24 / var(--w) * 100vw);
    line-height: 2;
  }
  .section-index-message ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2.5;
  }
  /* -------------------------------------------------- */
  section.section-index-services {
    position: relative;
    padding: min(130px, 130 / var(--w) * 100vw) 0;
  }
  section.section-index-services ._services-head {
    display: flex;
    gap: min(30px, 30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  section.section-index-services ._services-body {
    margin-top: min(80px, 80 / var(--w) * 100vw);
  }
  section.section-index-services .js-tab-service {
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
  }
  section.section-index-services ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 2;
  }
  .mod-index-services-items {
    display: flex;
    gap: min(15px, 15 / var(--w) * 100vw);
    flex-wrap: wrap;
  }
  .mod-index-services-items > * {
    width: calc((100% - min(15px, 15 / var(--w) * 100vw) * 3) / 4);
    flex-shrink: 0;
  }
  .mod-index-services-item {
    position: relative;
    display: flex;
    gap: 0;
    align-items: center;
    background: #fff;
    border-radius: min(10px, 10 / var(--w) * 100vw);
    overflow: hidden;
    box-shadow: min(2px, 2 / var(--w) * 100vw) min(2px, 2 / var(--w) * 100vw) min(4px, 4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-services-item.js-current {
    background: #884832;
    color: #ddffff;
  }
  .mod-index-services-item ._item-image {
    width: min(70px, 70 / var(--w) * 100vw);
    height: min(70px, 70 / var(--w) * 100vw);
  }
  .mod-index-services-item ._item-image img {
    object-fit: cover;
    height: 100%;
  }
  .mod-index-services-item ._item-texts {
    flex: 1;
    text-align: center;
  }
  .mod-index-services-item ._name {
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 1.6;
    font-weight: bold;
  }
  .mod-index-services-item:hover {
    opacity: 0.8;
  }
  .mod-index-services-main-items .js-item {
    transition-duration: 0.6s;
    opacity: 0;
  }
  .mod-index-services-main-items .js-item.js-current {
    opacity: 1;
  }
  .mod-index-services-main-item {
    position: relative;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: min(10px, 10 / var(--w) * 100vw);
    overflow: hidden;
    cursor: pointer;
    transition-duration: 0.2s;
    text-decoration: none;
  }
  .mod-index-services-main-item ._item-image {
    width: min(564px, 564 / var(--w) * 100vw);
  }
  .mod-index-services-main-item ._item-texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
    padding: 0 min(60px, 60 / var(--w) * 100vw);
  }
  .mod-index-services-main-item ._name {
    font-size: min(24px, 24 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-index-services-main-item ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-index-services-main-item:hover {
    opacity: 0.8;
  }
  /* -------------------------------------------------- */
  /* -------------------------------------------------- */
  .mod-media-main-items {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
  }
  .mod-media-main-item {
    position: relative;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    box-shadow: min(2px, 2 / var(--w) * 100vw) min(2px, 2 / var(--w) * 100vw) min(4px, 4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: min(10px, 10 / var(--w) * 100vw);
    overflow: hidden;
  }
  .mod-media-main-item ._item-image {
    width: min(564px, 564 / var(--w) * 100vw);
  }
  .mod-media-main-item ._item-texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
    padding: 0 min(60px, 60 / var(--w) * 100vw);
  }
  .mod-media-main-item ._name {
    font-size: min(24px, 24 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-media-main-item ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  /* -------------------------------------------------- */
  .mod-services-icons ul {
    list-style: none;
  }
  .mod-services-icons ul {
    display: flex;
    gap: min(30px, 30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-services-icons ul li {
    width: min(160px, 160 / var(--w) * 100vw);
  }
  .mod-services-icon {
    display: block;
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }
  .mod-services-icon ._texts {
    font-size: min(16px, 16 / var(--w) * 100vw);
  }
  .mod-services-main-items {
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
    margin-top: min(100px, 100 / var(--w) * 100vw);
  }
  .mod-services-main-item {
    position: relative;
    display: flex;
    gap: 0;
    align-items: center;
    justify-content: center;
    box-shadow: min(2px, 2 / var(--w) * 100vw) min(2px, 2 / var(--w) * 100vw) min(4px, 4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: min(10px, 10 / var(--w) * 100vw);
    overflow: hidden;
  }
  .mod-services-main-item ._item-image {
    width: min(564px, 564 / var(--w) * 100vw);
  }
  .mod-services-main-item ._item-texts {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
    padding: 0 min(60px, 60 / var(--w) * 100vw);
  }
  .mod-services-main-item ._name {
    font-size: min(24px, 24 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-services-main-item ._doc {
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  /* -------------------------------------------------- */
  .section-message-bg {
    background-image: url("../images/message/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-message-bg .section-common-mv-wh h1 {
    color: #fff;
  }
  .section-message-main {
    padding: min(60px, 60 / var(--w) * 100vw) 0 min(120px, 120 / var(--w) * 100vw) 0;
    color: #fff;
  }
  .section-message-main ._copy {
    font-size: min(28px, 28 / var(--w) * 100vw);
    line-height: 2.5;
    padding-left: min(100px, 100 / var(--w) * 100vw);
  }
  .section-message-main ._doc {
    margin-top: min(20px, 20 / var(--w) * 100vw);
    font-size: min(20px, 20 / var(--w) * 100vw);
    line-height: 3;
    padding-left: min(100px, 100 / var(--w) * 100vw);
  }
  .section-news-list {
    padding: min(60px, 60 / var(--w) * 100vw) 0 min(120px, 120 / var(--w) * 100vw) 0;
  }
  .section-news-list ._inner {
    width: min(720px, 720 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .section-news-list ul {
    list-style: none;
  }
  .section-news {
    margin-top: min(40px, 40 / var(--w) * 100vw);
    padding: min(60px, 60 / var(--w) * 100vw) 0 min(120px, 120 / var(--w) * 100vw) 0;
    background-color: rgba(255, 255, 255, 0.5);
  }
  .section-news ._inner {
    width: min(720px, 720 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .section-news ul {
    list-style: none;
  }
  .section-news h1 {
    text-align: center;
  }
  .section-news ._date {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  :root {
    --w:375 ;
  }
  .area-header {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: calc(50 / var(--w) * 100vw);
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(calc(10 / var(--w) * 100vw));
    padding: calc(15 / var(--w) * 100vw) calc(30 / var(--w) * 100vw);
  }
  .area-header img {
    width: 100%;
  }
  .area-header ._header-site {
    position: absolute;
    top: calc(5 / var(--w) * 100vw);
    left: calc(20 / var(--w) * 100vw);
  }
  .area-header ._header-menu {
    display: none;
  }
  ._header-btn {
    position: absolute;
    top: 0;
    right: 0;
  }
  .mod-head-logo {
    display: block;
    width: calc(50 / var(--w) * 100vw);
  }
  .mod-head-gmenu {
    display: flex;
    gap: calc(30 / var(--w) * 100vw);
  }
  .mod-head-gmenu-item {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1;
    color: #884832;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-head-gmenu-item:hover {
    opacity: 0.8;
  }
  .mod-modal-menu-btn {
    position: relative;
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
    background-color: transparent;
    border-radius: 0;
    cursor: pointer;
    transition: opacity 0.2s;
    z-index: 10;
  }
  .mod-modal-menu-btn:hover {
    opacity: 0.8;
  }
  .mod-modal-menu-btn span {
    position: absolute;
    background: #884832;
    left: calc((50 / var(--w) * 100vw - 25 / var(--w) * 100vw) / 2);
    width: calc(25 / var(--w) * 100vw);
    height: calc(1 / var(--w) * 100vw);
    transition: all 0.3s;
    top: calc((50 / var(--w) * 100vw - 1 / var(--w) * 100vw) / 2);
  }
  .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(calc(-8 / var(--w) * 100vw));
  }
  .mod-modal-menu-btn span:nth-child(3) {
    transform: translateY(calc(8 / var(--w) * 100vw));
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(1) {
    transform: translateY(0) rotate(-45deg);
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(2) {
    opacity: 0;
    transform: scale(0.5);
  }
  body.js-gmenu-active .mod-modal-menu-btn span:nth-child(3) {
    transform: translateY(0) rotate(45deg);
  }
  /* -------------------------------------------------- */
  .area-modal-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: #f8f8f8;
    overflow: scroll;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.2s;
  }
  .area-modal-menu ul {
    list-style: none;
  }
  .area-modal-menu a {
    text-decoration: none;
  }
  body.js-gmenu-active .area-modal-menu {
    visibility: visible;
    opacity: 1;
    z-index: 90;
  }
  .mod-sitelinks-list {
    display: flex;
    flex-direction: column;
    gap: calc(30 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-sitelinks-list a {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1;
    color: #884832;
    padding: calc(10 / var(--w) * 100vw);
  }
  /* -------------------------------------------------- */
  .area-footer {
    background: #fff;
    padding: calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .area-footer .block-inner {
    display: flex;
    flex-direction: column;
    gap: calc(40 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .area-footer ._footer-links ._col {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._add {
    font-size: calc(13 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._copy {
    font-size: calc(11 / var(--w) * 100vw);
  }
  .area-footer ._footer-links p._title {
    font-size: calc(11 / var(--w) * 100vw);
    display: none;
  }
  .area-footer ._footer-links ._link {
    display: none;
  }
  .area-footer ._footer-links a {
    color: #884832;
  }
  .mod-footer-links {
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
  }
  .mod-footer-links li {
    font-size: calc(13 / var(--w) * 100vw);
  }
  .mod-footer-links li::before {
    content: "/ ";
    display: inline-block;
    padding-right: calc(5 / var(--w) * 100vw);
  }
  .mod-footer-links li:first-child::before {
    content: "";
    padding-right: 0;
  }
  .mod-footer-sns {
    display: flex;
    gap: calc(25 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  .mod-footer-sns a {
    width: calc(40 / var(--w) * 100vw);
    display: block;
  }
  .mod-footer-banner {
    display: flex;
    flex-direction: column;
    gap: calc(5 / var(--w) * 100vw);
    justify-content: center;
  }
  .mod-footer-banner li {
    width: calc(300 / var(--w) * 100vw);
  }
  .mod-footer-logo {
    width: calc(80 / var(--w) * 100vw);
    display: block;
  }
  .mod-footer-logo img {
    width: 100%;
  }
  .block-inner {
    position: relative;
  }
  .mod-hover {
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-hover:hover {
    opacity: 0.8;
  }
  .mod-doc p {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  .mod-hover-text {
    cursor: pointer;
  }
  .mod-hover-text:hover {
    text-decoration: underline;
  }
  .mod-btn-more {
    font-size: calc(12 / var(--w) * 100vw);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: calc(8 / var(--w) * 100vw) calc(9 / var(--w) * 100vw);
    border-radius: calc(10 / var(--w) * 100vw);
    border: calc(1 / var(--w) * 100vw) solid #65493f;
  }
  .mod-table-a {
    width: 100%;
  }
  .mod-table-a tr:nth-child(2n+1) {
    top: h, td;
    background: #fff;
  }
  .mod-table-a th {
    padding: calc(15 / var(--w) * 100vw) 0 calc(15 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    width: 30%;
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-table-a td {
    padding: calc(15 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .section-common-mv {
    position: relative;
  }
  .section-common-mv img {
    height: calc(175 / var(--w) * 100vw);
    object-fit: cover;
  }
  .section-common-mv ._texts {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .section-common-mv h1 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 100;
    color: #fff;
    text-align: center;
    padding-top: calc(30 / var(--w) * 100vw);
  }
  .section-common-mv-wh {
    position: relative;
    padding-top: calc(60 / var(--w) * 100vw);
  }
  .section-common-mv-wh h1 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1.6;
    font-weight: 100;
    text-align: center;
  }
  .section-common-mv-wh h1 span {
    display: inline-block;
  }
  .section-common-mv-wh h1 span::after {
    content: "";
    display: block;
    margin: 0 auto;
    width: calc(135 / var(--w) * 100vw);
    height: calc(4 / var(--w) * 100vw);
    background-image: url("../images/common/bar2.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-common {
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .mod-deco-box::before {
    content: "";
    display: block;
    z-index: 1;
    width: 100%;
    height: calc(2 / var(--w) * 100vw);
    background-image: url("../images/common/bar.png");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }
  .mod-deco-box::after {
    content: "";
    display: block;
    z-index: 1;
    width: 100%;
    height: calc(2 / var(--w) * 100vw);
    background-image: url("../images/common/bar.png");
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }
  .mod-contact-form {
    margin-top: min(50px, 50 / var(--w) * 100vw);
    display: flex;
    flex-direction: column;
    gap: min(20px, 20 / var(--w) * 100vw);
  }
  .mod-form-item {
    display: flex;
    flex-direction: column;
    gap: min(15px, 15 / var(--w) * 100vw);
  }
  .mod-form-item:first-child {
    margin-top: 0;
  }
  .mod-form-item ._label {
    font-size: min(14px, 14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-form-item ._required {
    color: #c00;
    background: #fff;
    font-size: min(10px, 10 / var(--w) * 100vw);
    line-height: 1;
    margin-left: min(10px, 10 / var(--w) * 100vw);
    padding: min(5px, 5 / var(--w) * 100vw);
  }
  .mod-form-item ._input, .mod-form-item ._textarea {
    border: min(1px, 1 / var(--w) * 100vw) solid #ccc;
    border-radius: min(4px, 4 / var(--w) * 100vw);
    width: 100%;
    padding: min(12px, 12 / var(--w) * 100vw) min(16px, 16 / var(--w) * 100vw);
    font-size: min(16px, 16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-form-item ._input {
    height: min(40px, 40 / var(--w) * 100vw);
    box-sizing: border-box;
    border: none;
  }
  .mod-form-item ._textarea {
    min-height: min(120px, 120 / var(--w) * 100vw);
    resize: vertical;
    border: none;
    box-sizing: border-box;
  }
  .mod-form-submit {
    margin-top: min(50px, 50 / var(--w) * 100vw);
    text-align: center;
  }
  .mod-form-submit .mod-btn {
    border-radius: min(3px, 3 / var(--w) * 100vw);
    border: min(1px, 1 / var(--w) * 100vw) none #000;
    padding: min(20px, 20 / var(--w) * 100vw) min(80px, 80 / var(--w) * 100vw);
    background-color: #884832;
    color: #fff;
    font-size: min(20px, 20 / var(--w) * 100vw);
    font-weight: bold;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-form-submit .mod-btn:hover {
    opacity: 0.8;
  }
  .section-index-main {
    position: relative;
    background: #000;
  }
  .section-index-main ._main-thumbs {
    position: relative;
  }
  .section-index-main ._main-thumbs img {
    aspect-ratio: 4/2;
  }
  .section-index-main ._main-thumbs ._copy {
    z-index: 10;
    position: absolute;
    top: calc(80 / var(--w) * 100vw);
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .section-index-main ._main-thumbs h1 {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1.17;
    font-weight: 200;
    color: #fff;
    text-shadow: 0 calc(2 / var(--w) * 100vw) calc(4 / var(--w) * 100vw) rgba(0, 0, 0, 0.4);
  }
  .section-index-main ._main-main {
    background: #884832;
    padding: calc(10 / var(--w) * 100vw) 0;
  }
  .mod-swiper {
    position: relative;
    width: 100%;
    margin: 0 auto;
    --swiper-navigation-color:#fff;
    --swiper-navigation-size:calc(22 / var(--w) * 100vw);
    --swiper-navigation-sides-offset:calc(20 / var(--w) * 100vw);
    --swiper-pagination-bottom:calc(8 / var(--w) * 100vw);
  }
  .mod-swiper .swiper {
    width: 100%;
  }
  .mod-swiper .swiper-slide {
    border-radius: calc(8 / var(--w) * 100vw);
    background: #884832;
    aspect-ratio: 500/120;
    overflow: hidden;
  }
  /* -------------------------------------------------- */
  section.section-index-news {
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    background: #fff;
  }
  section.section-index-news ._news-cols {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
  }
  section.section-index-news ul {
    list-style: none;
  }
  .mod-news-item {
    display: flex;
    gap: calc(5 / var(--w) * 100vw);
    padding: calc(4 / var(--w) * 100vw) 0;
  }
  .mod-news-item ._news-date {
    width: calc(80 / var(--w) * 100vw);
    padding-top: calc(1 / var(--w) * 100vw);
  }
  .mod-news-item ._news-doc {
    flex: 1;
  }
  .mod-news-item ._date {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-news-item ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-news-item a {
    color: #65493f;
  }
  .mod-index-title-news span {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 200;
    border-bottom: calc(1 / var(--w) * 100vw) solid #65493f;
  }
  .mod-index-title span {
    font-size: calc(30 / var(--w) * 100vw);
    line-height: 1;
    font-weight: 200;
  }
  /* -------------------------------------------------- */
  .section-index-message {
    position: relative;
    padding: calc(80 / var(--w) * 100vw) 0 calc(400 / var(--w) * 100vw) 0;
    background-image: url("../images/index/message/sp/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-index-message ._message-texts {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    color: #fff;
  }
  .section-index-message ._copy {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 2;
  }
  .section-index-message ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  section.section-index-services {
    position: relative;
    padding: calc(65 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  section.section-index-services ._services-head {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
  }
  section.section-index-services ._services-head ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
    text-align: center;
  }
  section.section-index-services ._services-body {
    margin-top: calc(40 / var(--w) * 100vw);
  }
  section.section-index-services .js-tab-service {
    display: flex;
    flex-direction: column;
    gap: calc(8 / var(--w) * 100vw);
  }
  .mod-index-services-items {
    display: flex;
    gap: calc(8 / var(--w) * 100vw);
    flex-wrap: wrap;
  }
  .mod-index-services-items > * {
    width: calc((100% - 8 / var(--w) * 100vw * 1) / 2);
    flex-shrink: 0;
  }
  .mod-index-services-item {
    position: relative;
    display: flex;
    gap: 0;
    align-items: center;
    background: #fff;
    border-radius: calc(5 / var(--w) * 100vw);
    overflow: hidden;
    box-shadow: calc(2 / var(--w) * 100vw) calc(2 / var(--w) * 100vw) calc(4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .mod-index-services-item.js-current {
    background: #884832;
    color: #ddffff;
  }
  .mod-index-services-item ._item-image {
    width: calc(50 / var(--w) * 100vw);
    height: calc(50 / var(--w) * 100vw);
  }
  .mod-index-services-item ._item-image img {
    object-fit: cover;
    height: 100%;
  }
  .mod-index-services-item ._item-texts {
    flex: 1;
    text-align: center;
  }
  .mod-index-services-item ._name {
    font-size: calc(12 / var(--w) * 100vw);
    line-height: 1;
    font-weight: bold;
  }
  .mod-index-services-item:hover {
    opacity: 0.8;
  }
  .mod-index-services-main-items .js-item {
    transition-duration: 0.3s;
    opacity: 0;
  }
  .mod-index-services-main-items .js-item.js-current {
    opacity: 1;
  }
  .mod-index-services-main-item {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: calc(5 / var(--w) * 100vw);
    overflow: hidden;
    text-decoration: none;
  }
  .mod-index-services-main-item ._item-texts {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    padding: calc(30 / var(--w) * 100vw);
  }
  .mod-index-services-main-item ._name {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1.6;
  }
  .mod-index-services-main-item ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  .mod-media-main-items {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
  }
  .mod-media-main-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
    box-shadow: calc(2 / var(--w) * 100vw) calc(2 / var(--w) * 100vw) calc(4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: calc(5 / var(--w) * 100vw);
    overflow: hidden;
  }
  .mod-media-main-item ._item-texts {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    padding: calc(30 / var(--w) * 100vw);
  }
  .mod-media-main-item ._name {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-media-main-item ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  .mod-services-icons ul {
    list-style: none;
  }
  .mod-services-icons ul {
    display: flex;
    flex-direction: column;
    gap: calc(10 / var(--w) * 100vw);
    align-items: center;
    justify-content: center;
    width: calc(200 / var(--w) * 100vw);
    margin: 0 auto;
  }
  .mod-services-icon {
    display: block;
    display: flex;
    gap: calc(20 / var(--w) * 100vw);
    align-items: center;
    width: calc(200 / var(--w) * 100vw);
    text-decoration: none;
  }
  .mod-services-icon ._image {
    width: calc(50 / var(--w) * 100vw);
  }
  .mod-services-icon ._texts {
    font-size: calc(14 / var(--w) * 100vw);
    flex: 1;
  }
  .mod-services-main-items {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    margin-top: calc(50 / var(--w) * 100vw);
  }
  .mod-services-main-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
    box-shadow: calc(2 / var(--w) * 100vw) calc(2 / var(--w) * 100vw) calc(4 / var(--w) * 100vw) rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: calc(5 / var(--w) * 100vw);
    overflow: hidden;
  }
  .mod-services-main-item ._item-texts {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--w) * 100vw);
    padding: calc(30 / var(--w) * 100vw);
  }
  .mod-services-main-item ._name {
    font-size: calc(16 / var(--w) * 100vw);
    line-height: 1;
  }
  .mod-services-main-item ._doc {
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2;
  }
  /* -------------------------------------------------- */
  .section-message-bg {
    background-image: url("../images/message/sp/bg.jpg?");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .section-message-bg .section-common-mv-wh h1 {
    color: #fff;
  }
  .section-message-main {
    padding: calc(20 / var(--w) * 100vw) 0 calc(350 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    text-align: center;
    color: #fff;
  }
  .section-message-main ._copy {
    font-size: calc(20 / var(--w) * 100vw);
    line-height: 1.5;
  }
  .section-message-main ._doc {
    margin-top: calc(10 / var(--w) * 100vw);
    font-size: calc(14 / var(--w) * 100vw);
    line-height: 2.7;
  }
  .section-news-list {
    padding: calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
  }
  .section-news-list ul {
    list-style: none;
  }
  .section-news {
    margin-top: calc(40 / var(--w) * 100vw);
    padding: calc(40 / var(--w) * 100vw) calc(20 / var(--w) * 100vw) calc(60 / var(--w) * 100vw) calc(20 / var(--w) * 100vw);
    background-color: rgba(255, 255, 255, 0.5);
  }
  .section-news ul {
    list-style: none;
  }
  .section-news h1 {
    text-align: center;
  }
  .section-news ._date {
    text-align: center;
  }
}
.mod-anim {
  transition-delay: 0.2s;
  transition-duration: 0.7s;
  /* Delay Utils */
}
.mod-anim.is-fade {
  opacity: 0;
}
.mod-anim.is-fade.is-active {
  opacity: 1;
}
.mod-anim.is-top {
  opacity: 0;
  transform: translate(0, -100px);
}
.mod-anim.is-top.is-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-bottom {
  opacity: 0;
  transform: translate(0, 50px);
}
.mod-anim.is-bottom.is-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-left {
  opacity: 0;
  transform: translate(-100px, 0);
}
.mod-anim.is-left.is-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-right {
  opacity: 0;
  transform: translate(100px, 0);
}
.mod-anim.is-right.is-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-zoom {
  opacity: 0;
  transform: scale(0.8);
}
.mod-anim.is-zoom.is-active {
  opacity: 1;
  transform: scale(1);
}
.mod-anim.is-zoom-out {
  opacity: 0;
  transform: scale(1.1);
}
.mod-anim.is-zoom-out.is-active {
  opacity: 1;
  transform: scale(1);
}
.mod-anim.is-text-up {
  overflow: hidden;
  opacity: 1;
  display: inline-block;
  vertical-align: bottom;
}
.mod-anim.is-text-up > span > span {
  display: block;
  transform: translateY(110%);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.mod-anim.is-text-up.is-active > span > span {
  transform: translateY(0);
}
.mod-anim.is-text-mask {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.mod-anim.is-text-mask.is-active {
  clip-path: inset(0 0 0 0);
}
.mod-anim.is-chara-blur {
  opacity: 0;
  display: inline-block;
  filter: blur(10px);
  transition-property: opacity, filter;
}
.mod-anim.is-chara-blur.is-active {
  opacity: 1;
  filter: blur(0);
}
.mod-anim.is-delay-00 {
  transition-delay: 0s;
}
.mod-anim.is-delay-01 {
  transition-delay: 0.1s;
}
.mod-anim.is-delay-02 {
  transition-delay: 0.2s;
}
.mod-anim.is-delay-03 {
  transition-delay: 0.3s;
}
.mod-anim.is-delay-04 {
  transition-delay: 0.4s;
}
.mod-anim.is-delay-05 {
  transition-delay: 0.5s;
}
.mod-anim.is-delay-06 {
  transition-delay: 0.6s;
}
.mod-anim.is-delay-07 {
  transition-delay: 0.7s;
}
.mod-anim.is-delay-08 {
  transition-delay: 0.8s;
}
.mod-anim.is-delay-09 {
  transition-delay: 0.9s;
}
.mod-anim.is-delay-10 {
  transition-delay: 1s;
}

.u-en {
  font-family: "Lora", sans-serif;
}

.u-en2 {
  font-family: "Petit Formal Script", sans-serif;
}

.u-min {
  font-family: "Noto Sans JP";
}

.u-fw-normal {
  font-weight: normal !important;
}

.u-fw-bold {
  font-weight: bold !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-n {
  text-decoration: none !important;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 50px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 60px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 70px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 80px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
  .u-gap-10 {
    display: flex;
    gap: 5px;
    flex-direction: column;
  }
  .u-gap-20 {
    display: flex;
    gap: 10px;
    flex-direction: column;
  }
  .u-gap-30 {
    display: flex;
    gap: 15px;
    flex-direction: column;
  }
  .u-gap-40 {
    display: flex;
    gap: 20px;
    flex-direction: column;
  }
  .u-gap-50 {
    display: flex;
    gap: 25px;
    flex-direction: column;
  }
  .u-gap-60 {
    display: flex;
    gap: 30px;
    flex-direction: column;
  }
  .u-gap-70 {
    display: flex;
    gap: 35px;
    flex-direction: column;
  }
  .u-gap-80 {
    display: flex;
    gap: 40px;
    flex-direction: column;
  }
}