@charset "UTF-8";
footer::after {
  width: var(--bg-size);
}
@media only screen and (min-width: 769px) {
  footer::after {
    --bg-size: min(round(133.333vw, 1px), 1920px);
  }
}
@media only screen and (min-width: 1921px) {
  footer::after {
    --bg-size: 100vw;
  }
}
@media only screen and (max-width: 768px) {
  footer::after {
    --bg-size: 100%;
  }
}

:root {
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Cinzel", serif;
  --fs-base: 20px;
  --lh-base: calc(38 / 20);
  --ls-base: .05em;
  --ttl_size: 28px;
  --wrapper: 110px;
  --border-radius: 0px;
  --main-color: #958763;
  --main-color-rgb: 149 135 99;
  --clr1: #181818;
  --clr1-rgb: 24 24 24;
  --clr2: #21bfc6;
  --clr2-rgb: 33 191 198;
  --clr3: #4b3a22;
  --clr3-rgb: 75 58 34;
  --clr-beige1: #f4f2ee;
  --clr-beige1-rgb: 244 242 238;
  --clr-beige2: #655635;
  --clr-beige2-rgb: 101 86 53;
  --clr-beige3: #f4e7cd;
  --clr-beige3-rgb: 244 231 205;
  --clr-beige4: #aa9f83;
  --clr-beige4-rgb: 170 159 131;
  --clr-beige5: #fafafa;
  --clr-beige5-rgb: 250 250 250;
  --clr-beige6: #f9f8f7;
  --clr-beige6-rgb: 249 248 247;
  --clr-beige7: #e0dcd3;
  --clr-beige7-rgb: 224 220 211;
  --clr-beige8: #e9e5db;
  --clr-beige8-rgb: 233 229 219;
  --clr-beige9: #c6b485;
  --clr-beige9-rgb: 198 180 133;
  --clr-green1: #5fe3df;
  --clr-green1-rgb: 95 227 223;
  --clr-red1: #ae1313;
  --clr-red1-rgb: 174 19 19;
  --clr-red2: #9c1414;
  --clr-red2-rgb: 156 20 20;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: var(--ls-base);
  color: var(--clr1);
  font-family: var(--f-jp);
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: var(--fs-base);
  -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure,
picture {
  display: block;
  padding: 0;
  margin: 0;
}

img {
  display: table;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a:not(.tel_click) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  color: #64b5f7;
}

a.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not([target*=_blank]) {
    transition: opacity 0.3s ease;
  }
  a:not([target*=_blank]):hover {
    opacity: 0.7;
  }
  a.tel_click {
    pointer-events: none;
  }
  a:not(.tel_click):hover, a:not(.tel_click):active {
    color: #64b5f7;
  }
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

table {
  width: 100%;
}

iframe {
  width: 100%;
  height: 100%;
}

.captcha_box iframe {
  height: auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

p {
  line-height: var(--lh-base);
  letter-spacing: var(--ls-base);
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty {
  display: none !important;
}
p:last-child {
  margin-bottom: 0;
}

.red {
  color: var(--clr-red1) !important;
}

.txt_main {
  color: var(--main-color) !important;
}

.txt_clr2 {
  color: var(--clr2) !important;
}

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

.fl {
  float: left;
}

.fr {
  float: right;
}

*,
::after,
::before {
  box-sizing: border-box;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  overflow-x: auto !important;
}

.wrapper {
  padding-top: 0;
  overflow: clip;
}

.inner_max,
.inner_big,
.inner,
.inner_sm {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.inner_max {
  max-width: 1320px;
}

.inner_big {
  max-width: 1158px;
}

.inner {
  max-width: 1064px;
}

.inner_sm {
  max-width: 1020px;
}

.fullWidthBreak {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.txt_ver {
  writing-mode: vertical-rl;
}

@media only screen and (min-width: 769px) {
  .txt_ver_pc {
    writing-mode: vertical-rl;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 35px;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}
.rel {
  position: relative;
}

.ovh {
  overflow: hidden !important;
}

.ovs {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* Lets it scroll lazy */
}

.lt0 {
  letter-spacing: 0 !important;
}

figure,
picture {
  text-align: center;
  line-height: 1;
}

.fblock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.key {
  position: relative;
}

.txt_l {
  float: left;
  width: calc(100% - 385px);
}

.txt_r {
  float: right;
  width: calc(100% - 385px);
}

.link > a {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tel_click {
  display: table;
  text-decoration: none;
}

.en {
  font-family: var(--f-en);
}

.yt {
  max-width: 960px;
  margin: 0px auto;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slick-arrow {
  display: block;
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  position: absolute;
  top: 37%;
  width: 2em;
  height: 2em;
  transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

.slick-prev {
  left: -1em;
}

.slick-next {
  right: -1em;
}

.idx_tel .tt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 2.3077em;
  font-size: 2.6em;
  font-weight: 500;
  letter-spacing: 0.01em;
  background: url(../images/ico_tel_bg.png) no-repeat center/auto 100%;
  margin-bottom: 0.7308em;
}
.idx_tel a {
  display: table;
  text-align: center;
  font-family: var(--f-en);
  font-weight: 400;
  font-size: 5em;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--main-color);
  margin: 0 auto;
}
.idx_tel a > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.24em;
}
.idx_tel a > span::before {
  content: "";
  position: relative;
  display: block;
  width: round(0.88em, 1px);
  height: round(0.88em, 1px);
  bottom: 2px;
  background: url("../images/ico_tel.png") no-repeat center/cover;
}
@media only screen and (min-width: 769px) {
  .idx_tel {
    font-size: min(1vw, 0.625em);
  }
}
@media only screen and (max-width: 768px) {
  .idx_tel {
    font-size: clamp(6px, 1.875vw, 8.75px);
  }
}

.idx_address {
  line-height: 1.6;
}

.idx_map {
  height: clamp(199px, 16vw, 230px);
}
.idx_map iframe {
  height: 100%;
}

.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.TabContainer .TabPager > div {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  transition: all 0.3s ease;
  cursor: pointer;
}
.TabContainer .TabPager > div.active {
  pointer-events: none;
  z-index: 1;
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
  width: 100%;
}
.btn-group .btn a {
  position: relative;
  font-size: 2.2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 3.6364em;
  border-radius: 999em;
  line-height: 1.4;
  text-decoration: none;
  text-align: center;
  font-family: var(--f-jp);
  color: var(--clr3);
  background-image: -moz-linear-gradient(-45deg, rgb(246, 246, 246) 0%, rgb(255, 255, 255) 96%);
  background-image: -webkit-linear-gradient(-45deg, rgb(246, 246, 246) 0%, rgb(255, 255, 255) 96%);
  background-image: -ms-linear-gradient(-45deg, rgb(246, 246, 246) 0%, rgb(255, 255, 255) 96%);
  box-shadow: 14.142px 14.142px 40px 0px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  padding: 0.5em 1.8182em;
}
.btn-group .btn a::after {
  content: "";
  position: absolute;
  width: 0.3182em;
  height: 0.5em;
  top: calc(50% - 0.2273em);
  right: 1.3636em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 11' %3E%3Cpath d='M6.991,5.638 L6.115,6.443 L5.965,6.305 L0.862,11.006 L-0.014,10.199 L5.090,5.499 L-0.014,0.801 L0.862,-0.007 L5.965,4.693 L6.115,4.555 L6.991,5.360 L6.840,5.499 L6.991,5.638 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
}
.btn-group .btn a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:not([target]):hover {
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(255, 255, 255, 0.7);
  }
}
@media only screen and (max-width: 768px) {
  .btn-group .btn a {
    padding: 0.5em 1.25em;
  }
  .btn-group .btn a::after {
    right: 15px;
  }
}
.btn-group .btn {
  min-width: 18em;
  max-width: 35.5em;
}

.br_auto {
  display: inline-block;
}
@media only screen and (max-width: 319px) {
  .br_auto {
    display: inline;
  }
}

.br_1170 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1170px) {
  .br_1170 {
    display: block;
  }
  .dis_1170 {
    display: none;
  }
}
.br_1024 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .br_1024 {
    display: block;
  }
  .dis_1024 {
    display: none;
  }
}
.br_992 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .br_992 {
    display: block;
  }
  .dis_992 {
    display: none;
  }
}
.br_769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 992px) {
  .br_769 {
    display: block;
  }
  .dis_769 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_769 {
    display: none;
  }
}
.br_750 {
  display: none;
}

@media only screen and (max-width: 750px) {
  .br_750 {
    display: block;
  }
  .in_750 {
    display: inline;
  }
  .dis_750 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_750 {
    display: none;
  }
}
.br_640 {
  display: none;
}

@media only screen and (max-width: 640px) {
  .br_640 {
    display: block;
  }
  .in_640 {
    display: inline;
  }
  .dis_640 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_640 {
    display: none;
  }
}
.br_520 {
  display: none;
}

@media only screen and (max-width: 520px) {
  .br_520 {
    display: block;
  }
  .in_520 {
    display: inline;
  }
  .dis_520 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_520 {
    display: none;
  }
}
.br_480 {
  display: none;
}

@media only screen and (max-width: 480px) {
  .br_480 {
    display: block;
  }
  .in_480 {
    display: inline;
  }
  .dis_480 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_480 {
    display: none;
  }
}
.br_430 {
  display: none;
}

@media only screen and (max-width: 430px) {
  .br_430 {
    display: block;
  }
  .in_430 {
    display: inline;
  }
  .dis_430 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_430 {
    display: none;
  }
}
.br_390 {
  display: none;
}

@media only screen and (max-width: 390px) {
  .br_390 {
    display: block;
  }
  .in_390 {
    display: inline;
  }
  .dis_390 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_390 {
    display: none;
  }
}
.br_375 {
  display: none;
}

@media only screen and (max-width: 375px) {
  .br_375 {
    display: block;
  }
  .in_375 {
    display: inline;
  }
  .dis_375 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_375 {
    display: none;
  }
}
.br_360 {
  display: none;
}

@media only screen and (max-width: 360px) {
  .br_360 {
    display: block;
  }
  .in_360 {
    display: inline;
  }
  .dis_360 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_360 {
    display: none;
  }
}
.br_320 {
  display: none;
}

@media only screen and (max-width: 320px) {
  .br_320 {
    display: block;
  }
  .in_320 {
    display: inline;
  }
  .dis_320 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_320 {
    display: none;
  }
}
.flex_gr {
  --size-mg: 5px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: calc(var(--size-mg) * -1);
}
.flex_gr .item {
  width: 100%;
  margin: var(--size-mg) !important;
}
@media only screen and (min-width: 769px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(33.3333333333% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(25% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(20% - 2 * var(--size-mg));
  }
}
@media only screen and (max-width: 768px) {
  .flex_gr.col-2 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(50% - 2 * var(--size-mg));
  }
}
@media only screen and (max-width: 430px) {
  .flex_gr.col-2 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-3 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-4 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-5 .item {
    width: calc(100% - 2 * var(--size-mg));
  }
  .flex_gr.col-2-sp .item {
    width: calc(50% - 2 * var(--size-mg));
  }
}

.link a {
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  :root {
    --fs-base: 18px;
    --ttl_size: 22px;
    --wrapper: 80px;
  }
  body {
    font-size: 87.5%;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
}
header.active .h_instagram,
header.active .right_head,
.ovh header .h_instagram,
.ovh header .right_head {
  opacity: 1;
  visibility: visible;
}

.header_top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: flex-end;
  margin: 0 auto;
  height: 100%;
  transition: all 0.3s ease-in-out;
}

.logo {
  position: absolute;
  aspect-ratio: 560/184;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease;
}
.logo a {
  display: block;
  width: calc(100% - 3em);
  height: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}
.logo img {
  width: auto;
}

.right_head {
  opacity: 0;
  visibility: hidden;
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-right: 7.3em;
  transition: all 0.3s ease;
}

.h_instagram {
  aspect-ratio: 1/1;
  opacity: 0;
  visibility: hidden;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.h_contact {
  display: flex;
}
.h_contact .h_tel a,
.h_contact .h_web a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10em;
  height: 3.3333em;
  font-size: 2.4em;
  line-height: 1;
  font-weight: 500;
  color: var(--main-color);
  border: 1px solid var(--main-color);
  padding-left: 0;
  background-color: #fff;
}
.h_contact .h_tel a:hover a,
.h_contact .h_web a:hover a {
  opacity: 1;
}
.h_contact .h_tel a::before,
.h_contact .h_web a::before {
  content: none;
}
.h_contact .h_tel a {
  font-family: var(--f-en);
}
.h_contact .h_tel a > span {
  position: relative;
  padding-left: 1.25em;
}
.h_contact .h_tel a > span::before {
  content: "";
  position: absolute;
  width: 0.8333em;
  aspect-ratio: 1/1;
  top: calc(50% - 0.4167em);
  left: 0px;
  --mask: url("../images/h_tel_ico.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
  background-image: unset;
}
.h_contact .h_web a > span {
  position: relative;
  padding-left: 1.875em;
}
.h_contact .h_web a > span::before {
  content: "";
  position: absolute;
  width: 1.5em;
  aspect-ratio: 91/59;
  top: calc(50% - 0.5em);
  left: 0px;
  --mask: url("../images/ic_web.png");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
  background-image: unset;
}
@media only screen and (min-width: 769px) {
  .h_contact {
    position: absolute;
    font-size: 1em;
    top: 9.6em;
    right: 2em;
    gap: 2em;
  }
}
@media only screen and (max-width: 768px) {
  .h_contact {
    font-size: min(1.875vw, 8.75px);
    justify-content: center;
    gap: 10px;
    margin-bottom: 30px;
  }
}

.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  font-size: 1em;
  position: relative;
}
.pc_navi > ul > li:not(:last-child) {
  margin-right: 3.8em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 1;
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-right: 1.0556em;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  position: absolute;
  width: 0.6111em;
  aspect-ratio: 11/7;
  top: 0.5556em;
  right: 0px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 7' %3E%3Cpath d='M10.987,1.272 L5.657,6.992 L4.717,5.982 L4.717,5.982 L0.017,0.933 L0.905,-0.015 L5.606,5.027 L10.047,0.256 L10.987,1.272 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr3);
  transition: all 0.3s ease;
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 1.8em;
  line-height: 1.4;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  color: var(--clr1);
  margin-bottom: 0;
}
.pc_navi > ul > li > a > span,
.pc_navi > ul > li > p > span {
  display: block;
  font-family: var(--f-en);
  font-size: 0.6667em;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--main-color);
  text-transform: capitalize;
  margin-top: 0.25em;
}
.pc_navi > ul > li:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  transform: translateY(5px);
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 32em;
  right: 50%;
  bottom: -15px;
  padding-top: 0px;
  transform: translate(50%, 100%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pc_navi > ul .subInner.active {
  opacity: 1;
  visibility: visible;
}
.pc_navi > ul .subInner ul {
  background-color: var(--main-color);
  padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
}
.pc_navi > ul .subInner ul li a {
  position: relative;
  display: block;
  padding: 1.2em 0.6em 1.2em 1.6em;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
  font-size: 1.6em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.05em;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 60em;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    position: relative;
    width: 100%;
    max-width: 1320px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    padding-top: 9.6em !important;
    font-size: min(0.78vw, 10px);
  }
  .menu_toggle .inside .ft_link a:hover {
    color: var(--main-color);
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
    display: flex;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 {
    width: 23.4%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 {
    width: 76.6%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 .title {
    margin-bottom: 0.86em;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    max-height: 150em;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child:not(:last-child) {
    margin-bottom: 3.5em;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child.lv2 {
    margin-top: 2em;
    margin-bottom: 0;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child1, .menu_toggle .inside .ft_link .link_list .menu-child2, .menu_toggle .inside .ft_link .link_list .menu-child3 {
    width: 33.2%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child3 {
    margin-bottom: 22em !important;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child4 > ul {
    max-height: 22em;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child4, .menu_toggle .inside .ft_link .link_list .menu-child5, .menu_toggle .inside .ft_link .link_list .menu-child8 {
    width: 66.8%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child4 > ul, .menu_toggle .inside .ft_link .link_list .menu-child5 > ul, .menu_toggle .inside .ft_link .link_list .menu-child8 > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child4 > ul li, .menu_toggle .inside .ft_link .link_list .menu-child5 > ul li, .menu_toggle .inside .ft_link .link_list .menu-child8 > ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child5 > ul {
    display: grid;
    grid-template-columns: 50% 50%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child5 > ul li {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child5 > ul li.l2 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child6 {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child6 > ul li {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child7 {
    grid-column: 2/3;
    grid-row: 3/4;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child7 > ul li {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu-child8 > ul {
    max-height: 38em;
  }
  header {
    font-size: min(0.81vw, 0.625em);
  }
  header.active .logo,
  .ovh header .logo {
    opacity: 0;
    visibility: hidden;
  }
  .header_top {
    padding: 5px 20px;
    padding-right: calc(var(--wrapper) + 5.2em);
  }
  .logo {
    top: 2px;
    left: 12px;
    width: 45%;
    max-width: 560px;
  }
  .h_instagram {
    max-width: 3.5em;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img {
  padding-top: 2em;
}
.idx_gallery .list .img img {
  overflow: hidden;
  border-radius: 0.625em;
  margin: 0 6px;
}

.idx_time_sheet .note {
  letter-spacing: 0.05em;
  line-height: 1.7777777778;
  color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  .idx_time_sheet .note {
    margin-top: 0.6667em;
    font-size: min(1.82vw, 18px);
  }
}
@media only screen and (max-width: 768px) {
  .idx_time_sheet .note {
    font-size: min(3.75vw, 16px);
    margin-top: 10px;
  }
}

.time_sheet {
  background-color: #fff;
}
.time_sheet table {
  font-feature-settings: "palt";
}
.time_sheet table th,
.time_sheet table td {
  position: relative;
  border: none;
  text-align: center;
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.32;
  width: 9.7%;
}
.time_sheet table th::after,
.time_sheet table td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--clr3);
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
}
.time_sheet table th:first-child > span,
.time_sheet table td:first-child > span {
  letter-spacing: 0;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 12.1%;
  text-align: left;
}
.time_sheet table th {
  padding: 1.25em 0.2em 1.15em;
}
.time_sheet table .time_line {
  position: relative;
  text-align: center;
  color: transparent;
}
.time_sheet table .time_line::before {
  content: "-";
  position: absolute;
  top: 0.1em;
  left: 0;
  color: var(--clr1);
}
.time_sheet table td {
  padding: 1.2em 0.2em 1.05em;
  color: var(--clr2);
}
.time_sheet table td:first-child {
  color: var(--clr1);
}
.time_sheet table td:last-child {
  padding-left: 0.65em;
}
.time_sheet table tbody tr:last-child th::after,
.time_sheet table tbody tr:last-child td::after {
  content: none;
}
@media only screen and (min-width: 769px) {
  .time_sheet {
    font-size: min(0.85vw, 0.625em);
    padding: 1em 2.8em;
  }
}
@media only screen and (max-width: 768px) {
  .time_sheet {
    font-size: min(1.75vw, 8.75px);
    padding: 10px;
  }
}

.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 35px;
  right: 20px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 60px;
  height: 60px;
  margin: 0;
  box-shadow: 14.142px 14.142px 40px 0px rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 769px) {
  .totop:hover .icon {
    opacity: 0.9;
    animation-name: bounces;
  }
}
.bounce {
  animation-name: bounces;
}

.animateds {
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.bnr_corona {
  font-size: 10px;
  position: fixed;
  z-index: 10;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  box-shadow: 14.142px 14.142px 40px 0px rgba(0, 0, 0, 0.2);
}
.bnr_corona .close {
  position: absolute;
  top: -1em;
  right: -1em;
  background-color: var(--main-color);
  width: 3em;
  height: 3em;
  border-radius: 50%;
  z-index: 10;
  cursor: pointer;
}
.bnr_corona .close::before {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  inset: 0;
  margin: auto;
  background: url("../images/ic_close.png") no-repeat center/cover;
}
.bnr_corona.active {
  opacity: 1;
  visibility: visible;
}
.bnr_corona.hide {
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 769px) {
  .bnr_corona {
    font-size: clamp(8px, 0.7vw, 10px);
    width: 25.5em;
    aspect-ratio: 255/90;
    bottom: 2em;
    right: 10em;
  }
  .bnr_corona .close:hover {
    background-color: var(--clr1);
  }
}

.fixed_banner {
  position: fixed;
  top: calc(50% - 26.4em);
  right: 0px;
  z-index: 15;
  transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
  position: relative;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fixed_banner p {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.2222222222;
  text-align: center;
  text-decoration: none;
  background-color: var(--clr3);
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.fixed_banner p .tt::before {
  content: "";
  display: block;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
.fixed_banner .tel p .tt::before {
  width: 1.0909em;
  height: 1.0455em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 23' %3E%3Cpath d='M6.562,0.836 C7.978,1.870 9.050,3.321 9.962,4.653 L10.677,5.705 C11.136,6.375 11.052,7.276 10.478,7.850 L8.958,9.369 L9.118,9.711 C9.510,10.506 10.187,11.651 11.206,12.670 C11.910,13.363 12.703,13.960 13.565,14.442 L13.977,14.663 L14.343,14.845 L14.507,14.919 L16.026,13.400 C16.602,12.824 17.507,12.743 18.176,13.207 L19.313,13.996 C20.604,14.905 21.953,15.939 23.001,17.282 C23.370,17.757 23.451,18.395 23.213,18.947 C22.275,21.137 19.900,23.001 17.431,22.910 L17.094,22.891 L16.833,22.869 L16.544,22.835 L16.229,22.792 L15.887,22.736 L15.521,22.663 L15.133,22.578 L14.723,22.472 L14.292,22.349 L13.841,22.203 C11.771,21.501 9.145,20.122 6.450,17.426 C3.756,14.733 2.377,12.105 1.675,10.036 L1.529,9.585 L1.406,9.153 L1.301,8.743 L1.213,8.355 C1.188,8.234 1.164,8.112 1.143,7.990 L1.087,7.648 L1.042,7.333 L1.009,7.044 L0.987,6.782 L0.969,6.446 C0.878,3.984 2.763,1.593 4.942,0.659 C5.475,0.428 6.091,0.496 6.562,0.836 M5.523,2.864 C4.321,3.492 3.157,4.926 3.210,6.363 L3.232,6.730 L3.257,6.961 L3.289,7.219 L3.334,7.503 L3.392,7.813 L3.464,8.148 L3.554,8.506 L3.662,8.886 L3.790,9.288 C3.836,9.424 3.886,9.564 3.940,9.708 L4.112,10.147 L4.310,10.603 C5.014,12.153 6.162,13.967 8.037,15.841 C9.912,17.716 11.726,18.865 13.275,19.570 L13.731,19.767 L14.170,19.939 C14.314,19.994 14.454,20.042 14.591,20.090 L14.992,20.217 L15.373,20.325 L15.731,20.414 L16.065,20.488 L16.376,20.545 L16.660,20.590 L16.918,20.624 L17.147,20.645 L17.515,20.668 C18.932,20.721 20.378,19.564 21.003,18.377 C20.205,17.442 19.214,16.673 18.121,15.900 L17.283,15.315 L17.070,15.539 L16.614,16.035 L16.373,16.289 C15.716,16.958 14.950,17.526 14.030,17.156 L13.777,17.049 L13.467,16.910 L13.295,16.828 L12.916,16.639 L12.500,16.414 C11.448,15.829 10.479,15.102 9.622,14.256 C8.776,13.399 8.050,12.431 7.464,11.379 L7.240,10.964 L7.050,10.583 L6.830,10.101 L6.722,9.845 C6.374,8.983 6.853,8.256 7.467,7.626 L7.718,7.379 L8.342,6.804 L8.566,6.591 L8.036,5.814 C7.248,4.670 6.478,3.640 5.521,2.863 L5.523,2.864 ZM15.683,4.867 L15.813,4.882 C17.487,5.177 18.780,6.517 19.017,8.201 C19.106,8.814 18.681,9.382 18.068,9.471 C17.502,9.553 16.965,9.195 16.822,8.641 L16.796,8.512 C16.704,7.856 16.234,7.314 15.597,7.130 L15.423,7.091 C14.813,6.983 14.406,6.401 14.514,5.791 C14.614,5.232 15.116,4.835 15.683,4.867 M15.691,1.459 C19.406,1.459 22.417,4.471 22.417,8.187 C22.416,8.805 21.914,9.306 21.295,9.306 C20.727,9.305 20.250,8.881 20.183,8.317 L20.175,8.187 C20.176,5.824 18.342,3.865 15.984,3.712 L15.691,3.702 C15.071,3.702 14.570,3.200 14.570,2.580 C14.570,1.961 15.071,1.459 15.691,1.459'/%3E%3C/svg%3E");
}
.fixed_banner .web p .tt::before {
  width: 1.75em;
  height: 1.75em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28 ' %3E%3Cpath d='M22.105,16.210 C22.919,16.210 23.579,16.871 23.579,17.684 L23.579,20.632 L26.526,20.632 C27.340,20.632 28.000,21.292 28.000,22.106 C28.000,22.919 27.340,23.579 26.526,23.579 L23.579,23.579 L23.579,26.526 C23.579,27.341 22.919,28.000 22.105,28.000 C21.291,28.000 20.632,27.341 20.632,26.526 L20.632,23.579 L17.684,23.579 C16.870,23.579 16.210,22.919 16.210,22.106 C16.210,21.292 16.870,20.632 17.684,20.632 L20.632,20.632 L20.632,17.684 C20.632,16.871 21.291,16.210 22.105,16.210 M19.158,-0.000 C19.972,-0.000 20.632,0.660 20.632,1.474 L20.632,2.947 L23.579,2.947 C25.207,2.947 26.526,4.267 26.526,5.895 L26.526,11.789 C26.526,12.603 25.866,13.263 25.053,13.263 L2.947,13.263 L2.947,23.579 L11.790,23.579 C12.603,23.579 13.263,24.239 13.263,25.053 C13.263,25.866 12.603,26.526 11.790,26.526 L2.947,26.526 C1.320,26.526 -0.000,25.207 -0.000,23.579 L-0.000,5.895 C-0.000,4.267 1.320,2.947 2.947,2.947 L5.895,2.947 L5.895,1.474 C5.895,0.660 6.554,-0.000 7.368,-0.000 C8.182,-0.000 8.842,0.660 8.842,1.474 L8.842,2.947 L17.684,2.947 L17.684,1.474 C17.684,0.660 18.344,-0.000 19.158,-0.000 M23.579,5.895 L2.947,5.895 L2.947,10.316 L23.579,10.316 L23.579,5.895 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 800px) {
  .fixed_banner {
    font-size: 8.75px;
  }
  .totop .icon {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 9em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 1px;
  }
  .fixed_banner p {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px 0 0 6px;
    font-size: 1em;
  }
  .fixed_banner p .tt {
    font-family: var(--f-en);
    font-size: 1.6em;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .fixed_banner .tel {
    height: 22em;
  }
  .fixed_banner .tel .tt {
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    -moz-text-orientation: mixed;
    -ms-text-orientation: mixed;
    text-orientation: mixed;
    font-size: 2.2em;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.4091em;
  }
  .fixed_banner .web p .tt {
    flex-direction: column;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.4375em;
  }
}
footer {
  position: relative;
  background-color: var(--clr-beige8);
  z-index: 0;
}
footer::after {
  content: "";
  position: absolute;
  aspect-ratio: 1920/275;
  left: 50%;
  transform: translateX(-50%);
  right: 0px;
  background: url("../images/ft_bg_decor.png") no-repeat center/cover;
  z-index: -1;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  text-decoration: none;
}
footer .ft_logo {
  display: table;
  max-width: 464px;
  margin: 0 auto;
}
footer .ft_address {
  font-size: calc(var(--fs-base) - 2px);
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 10px;
}
footer .btn_link a {
  position: relative;
  text-decoration: none;
  display: table;
  margin: auto;
  font-size: var(--fs-base);
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: var(--clr3);
  border-bottom: 1px solid currentColor;
  padding-bottom: 3px;
  margin-bottom: 1em;
}
footer .btn_link a::after {
  content: "";
  display: inline-block;
  width: 7px;
  aspect-ratio: 7/11;
  margin-left: 15px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 11' %3E%3Cpath d='M6.991,5.639 L6.115,6.443 L5.965,6.306 L0.862,11.006 L-0.014,10.199 L5.089,5.499 L-0.014,0.802 L0.862,-0.008 L5.964,4.693 L6.115,4.554 L6.991,5.362 L6.840,5.500 L6.991,5.639 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: currentColor;
}
footer .btn_link a:hover {
  color: var(--clr3);
}
footer .idx_tel.ft_tel {
  max-width: 464px;
  margin: 0 auto;
}
footer .idx_tel.ft_tel .tt {
  background-image: none;
  background-color: var(--clr-beige7);
}
footer .idx_tel.ft_tel a {
  color: var(--clr3);
}
footer .ft_banner {
  display: table;
}
@media only screen and (min-width: 769px) {
  footer {
    padding: 12px 0 30px;
  }
  footer::after {
    top: calc(min(round(133.33vw, 1px), 1920px) / 1920 * -275);
  }
  footer .ft_block {
    display: flex;
    justify-content: space-between;
  }
  footer .ft_logo {
    margin-bottom: 1.5em;
    width: 86%;
  }
  footer .ft_info {
    top: 7.4rem;
    position: sticky;
    width: 45%;
    max-width: 545px;
    height: fit-content;
    padding-top: 5px;
  }
  footer .idx_tel.ft_tel {
    margin-bottom: 2em;
  }
  footer .idx_tel.ft_tel .tt {
    font-size: 2em;
    height: 2.5em;
    margin-bottom: 0.7em;
  }
  footer .idx_time_sheet {
    font-size: min(0.9vw, 0.625em);
    margin-bottom: 15px;
  }
  footer .idx_time_sheet .time_sheet {
    font-size: 1em;
    padding: 1em 2.8em 0.5em;
  }
  footer .idx_time_sheet .time_sheet table th,
  footer .idx_time_sheet .time_sheet table td {
    font-size: 1.8em;
  }
  footer .idx_time_sheet .time_sheet table th:not(:first-child):not(:last-child),
  footer .idx_time_sheet .time_sheet table td:not(:first-child):not(:last-child) {
    width: 9.5%;
  }
  footer .idx_time_sheet .time_sheet table th {
    padding-top: 1em;
    padding-bottom: 1.2222em;
  }
  footer .idx_time_sheet .time_sheet table td {
    padding-top: 0.7222em;
    padding-bottom: 0.5556em;
  }
  footer .idx_time_sheet .note {
    font-size: 1.7em;
    line-height: 1.6470588235;
    margin-top: 0.8824em;
  }
  footer .ft_banner {
    max-width: 28em;
    font-size: 0.625em;
  }
  footer .ft_link {
    font-size: min(0.8vw, 0.625em);
    width: 50%;
    max-width: 626px;
  }
  footer .ft_link a:hover {
    color: var(--main-color);
  }
  footer .ft_link .menu01 {
    margin-bottom: 7.7em;
  }
  footer .ft_link .menu01 > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
    max-height: 26em;
  }
  footer .ft_link .menu01 > ul li {
    width: 52.2%;
  }
  footer .ft_link .menu02 .title {
    margin-bottom: 0.88em;
  }
  footer .ft_link .menu02 > ul {
    display: flex;
    flex-wrap: wrap;
  }
  footer .ft_link .menu-child {
    width: 100%;
  }
  footer .ft_link .menu-child:not(:first-child) {
    margin-top: 2em;
  }
  footer .ft_link .menu-child > ul {
    width: 100%;
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
  }
  footer .ft_link .menu-child > ul li {
    width: 52.2%;
  }
  footer .ft_link .menu-child1 > ul {
    max-height: 26em;
  }
  footer .ft_link .menu-child2 {
    width: 52.2%;
  }
  footer .ft_link .menu-child2 > ul li {
    width: 100%;
  }
  footer .ft_link .menu-child3 {
    width: 47.8%;
  }
  footer .ft_link .menu-child3 > ul li {
    width: 100%;
  }
  footer .ft_link .menu-child4 > ul {
    max-height: 21em;
  }
  footer .ft_link .menu-child5 > ul {
    display: grid;
    grid-template-columns: 52.2% 47.8%;
  }
  footer .ft_link .menu-child5 > ul li {
    width: 100%;
  }
  footer .ft_link .menu-child5 > ul li.l2 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  footer .ft_link .menu-child6 {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  footer .ft_link .menu-child6 > ul li {
    width: 100%;
  }
  footer .ft_link .menu-child7 {
    grid-column: 2/3;
    grid-row: 3/4;
  }
  footer .ft_link .menu-child7 > ul li {
    width: 100%;
  }
  footer .ft_link .menu-child8 > ul {
    max-height: 38em;
  }
  footer .ft_link .menu-child.lv2 {
    margin-top: 1.7em;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1921px) {
  footer::after {
    top: calc(round(100vw, 1px) / 1920 * -275);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  footer .ft_link {
    font-size: min(0.8vw, 8.75px);
  }
}

.ft_link {
  font-size: 0.625em;
}
.ft_link a {
  text-decoration: none;
}
.ft_link .title {
  margin-bottom: 0.9em;
  padding-left: 0;
  font-family: var(--f-en);
  font-size: 5em;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--clr3);
  line-height: 1;
  pointer-events: none;
  text-transform: uppercase;
}
.ft_link .title::before {
  content: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  font-size: 1em;
  margin-bottom: 1.6em;
}
.ft_link a {
  display: table;
  position: relative;
  font-size: 1.8em;
  letter-spacing: 0.05em;
  color: var(--clr1);
  line-height: 1.4444444444;
  padding-left: 0.8333em;
}
.ft_link a::before {
  content: "・";
  position: absolute;
  top: 0.1667em;
  left: 0;
  width: 4px;
  aspect-ratio: 4/7;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 7' %3E%3Cpath d='M4.007,3.588 L3.505,4.101 L3.420,4.014 L0.495,7.009 L-0.007,6.495 L2.918,3.500 L-0.007,0.506 L0.495,-0.010 L3.419,2.986 L3.505,2.898 L4.007,3.413 L3.922,3.501 L4.007,3.588 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}
.ft_link a:hover {
  opacity: 1;
}
.ft_link .menu-child > a {
  font-size: 2.4em;
  letter-spacing: 0.05em;
  padding-left: 0;
  margin-bottom: 0.75em;
  font-weight: 500;
  pointer-events: none;
}
.ft_link .menu-child > a::before {
  content: none;
}
.ft_link .menu-child.lv2 > a {
  font-size: 2em;
  margin-bottom: 1em;
}

.copyright {
  background-color: var(--clr-beige8);
  padding: 15px 0px 20px;
  position: relative;
}
.copyright .wrap {
  display: flex;
  align-items: center;
}
.copyright .grits {
  margin-bottom: 0;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 8.875em;
}

.textwidget {
  display: block;
  padding-left: 1.25em;
  margin-left: 1.375em;
  border-left: 1px solid rgb(var(--main-color-rgb)/0.5);
}
.textwidget p {
  font-size: 0.75em;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}

/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/

/*# sourceMappingURL=style.css.map */
