@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-zmg: "Zen Maru Gothic", sans-serif;
  --f-jp: "Noto Sans JP", sans-serif;
  --f-en: "Poppins", sans-serif;
  --main-color: #ade502;
  --main-color-rgb: 173, 229, 2;
  --main-color-2: #fa9a02;
  --main-color-2-rgb: 250, 154, 2;
  --clr1: #393b38;
  --clr1-rgb: 57, 59, 56;
  --clr2: #57b150;
  --clr3: #96c111;
  --clr-pink: #fb9276;
  --clr-pink-rgb: 251, 146, 118;
  --clr-yellow: #f9bc27;
  --clr-yellow-rgb: 249, 188, 39;
  --clr-blue: #364dc6;
  --clr-blue-rgb: 54, 77, 198;
  --clr-green-light: #f3f8e4;
  --clr-green-dark: #17380e;
  --clr-beige: #f0efe9;
  --clr-beige-rgb: 240, 239, 233;
  --ttl_size: 30px;
  --f-size: 18px;
  --line-height-p: 2.25;
  --wrapper: 100px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-family: var(--f-notosans);
  font-size: 62.5%;
}
body::-webkit-scrollbar {
  display: block;
  width: 10px;
  height: 10px;
}
body::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
  box-shadow: inset 0 0 6px #fff;
}
body::-webkit-scrollbar-thumb:window-inactive {
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd,
table {
  font-size: var(--f-size);
  -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: 2.25;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty {
  display: none !important;
}
p:last-child {
  margin-bottom: 0;
}

.red {
  color: #ca0a0a !important;
}

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

.fl {
  float: left;
}

.fr {
  float: right;
}

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

.find_a:hover,
.find_out:hover {
  cursor: pointer;
}

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

.wrapper {
  overflow: hidden;
}

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

.inner_max {
  max-width: 1480px;
}

.inner_big {
  max-width: 1320px;
}

.inner {
  max-width: 1210px;
}

.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;
  }
}
@media only screen and (min-width: 769px) {
  .TabContainer {
    font-size: min(0.65vw, 10px);
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabContent .content {
    border-radius: 0 0 2em 2em;
  }
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
  padding: 6em;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: space-between;
}
.TabContainer .TabPager > div {
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  width: calc(25% - 3px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div {
    border-radius: 1em 1em 0em 0em;
    padding: 2.3em 2em 2.4em;
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager > div {
    min-height: 86px;
  }
}
.TabContainer .TabPager > div .tt {
  line-height: 1.6;
}
.TabContainer .TabPager > div .tt > span {
  display: block;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div .tt {
    font-size: clamp(16px, 1.2vw, 20px);
  }
}
.TabContainer .TabPager > div .tt .jp {
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
  margin-bottom: 2px;
}
.TabContainer .TabPager > div .tt .en {
  font-family: var(--f-en);
  font-size: 0.6em;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.TabContainer .TabPager > div.active {
  pointer-events: none;
  z-index: 1;
  background-color: #fff;
}
.TabContainer .TabPager > div.active .tt .jp {
  color: var(--clr1);
}
.TabContainer .TabPager > div.active .tt .en {
  color: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div:hover {
    background-color: var(--clr-green-dark);
  }
}

.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;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-size: 1.5em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.3214em;
  margin-top: 0.1786em;
  width: 0.893em;
  height: 0.893em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 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);
}

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

.btn {
  --clr-txt: var(--clr1);
  --clr-btn: var(--main-color);
  --clr-arr: #fff;
  --clr-bg: #fff;
}
.btn a {
  color: var(--clr-txt);
  text-decoration: none;
  font-family: var(--f-jp);
  background-color: var(--clr-bg);
  border-radius: 999em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.btn a::before, .btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 0.625em;
}
.btn a::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .btn a::before, .btn a::after {
    right: 8.5%;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .btn a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--clr-btn);
  }
  .btn a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: var(--clr-arr);
  }
}
@media only screen and (max-width: 768px) {
  .btn a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 8.5%;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--clr-btn);
  }
}

.btn-group {
  font-size: 10px;
}
@media only screen and (max-width: 768px) {
  .btn-group {
    font-size: 8.75px;
  }
}
.btn-group .btn {
  font-size: 1em;
  width: 100%;
  min-width: 180px;
  max-width: 280px;
  overflow: hidden;
}
.btn-group .btn a {
  min-height: 4.375em;
  padding: 0.5em 3em;
  font-size: 1.6em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: var(--clr-txt);
  text-align: center;
  transition: all 0.3s;
  border: 1px solid var(--clr-btn);
}
.btn-group .btn a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:hover {
    --clr-txt: #fff;
    --clr-arr: var(--clr-btn);
    --clr-bg: var(--clr-btn);
  }
  .btn-group .btn a:hover::before {
    background-color: #fff !important;
  }
}
.btn-group .btn.md {
  max-width: 240px;
}
.btn-group .btn.md a {
  position: relative;
}
.btn-group .btn.md a::before, .btn-group .btn.md a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 0.625em;
}
.btn-group .btn.md a::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.md a::before, .btn-group .btn.md a::after {
    right: 10%;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .btn-group .btn.md a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--clr-btn);
  }
  .btn-group .btn.md a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: var(--clr-arr);
  }
}
@media only screen and (max-width: 768px) {
  .btn-group .btn.md a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 10%;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--clr-btn);
  }
}
.btn-group .btn.style02 {
  --clr-arr: #fff;
}
.btn-group .btn.style02 a {
  border: none;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style02 a:hover {
    --clr-txt: #fff;
    --clr-arr: var(--clr-green-dark);
    --clr-bg: var(--clr-green-dark);
  }
  .btn-group .btn.style02 a:hover::before {
    background-color: #fff !important;
  }
}
.btn-group .btn.lg {
  max-width: 320px;
}
.btn-group .btn.lg a {
  position: relative;
}
.btn-group .btn.lg a::before, .btn-group .btn.lg a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  font-size: 0.625em;
}
.btn-group .btn.lg a::after {
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.lg a::before, .btn-group .btn.lg a::after {
    right: 7.5%;
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }
  .btn-group .btn.lg a::before {
    width: round(2em, 1px);
    border-radius: 50%;
    background-color: var(--clr-btn);
  }
  .btn-group .btn.lg a::after {
    width: round(2em, 1px);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 6' %3E%3Cpath d='M4.455,2.161 C5.034,2.558 5.034,3.413 4.455,3.810 L1.566,5.793 C0.902,6.249 -0.000,5.774 -0.000,4.969 L-0.000,1.003 C-0.000,0.198 0.902,-0.277 1.566,0.178 L4.455,2.161 Z'/%3E%3C/svg%3E");
    mask-size: 0.5em 0.6em;
    -webkit-mask-size: 0.5em 0.6em;
    background-color: var(--clr-arr);
  }
}
@media only screen and (max-width: 768px) {
  .btn-group .btn.lg a::after {
    width: round(2em, 1px);
    height: round(2em, 1px);
    top: 0;
    left: unset;
    bottom: 0;
    right: 7.5%;
    margin-top: auto;
    margin-bottom: auto;
    --mask: url("../images/ic_btn.png");
    mask-size: 100%;
    -webkit-mask-size: 100%;
    background-color: var(--clr-btn);
  }
}

.gl_tel {
  font-size: 10px;
  --clr-tel: #fff;
  display: table;
  margin: 0 auto;
}
.gl_tel a {
  position: relative;
  color: var(--clr-tel);
  font-size: 3.6em;
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.3888888889;
}
.gl_tel a::before {
  content: "";
  position: absolute;
  width: 0.8611em;
  height: 0.8611em;
  top: 0.0833em;
  bottom: 0px;
  left: -1.4444em;
  margin: auto 0;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 31' %3E%3Cpath d='M30.516,22.623 L30.516,28.521 C30.516,29.396 29.839,30.121 28.965,30.183 C28.237,30.232 27.641,30.261 27.181,30.261 C12.447,30.261 0.503,18.315 0.503,3.581 C0.503,3.121 0.528,2.525 0.580,1.796 C0.641,0.923 1.368,0.246 2.244,0.246 L8.140,0.246 C8.568,0.246 8.927,0.570 8.970,0.994 C9.008,1.379 9.043,1.685 9.077,1.916 C9.408,4.230 10.087,6.478 11.091,8.588 C11.249,8.922 11.146,9.320 10.846,9.534 L7.248,12.105 C9.448,17.231 13.533,21.316 18.659,23.517 L21.227,19.925 C21.444,19.622 21.846,19.517 22.182,19.677 C24.292,20.679 26.540,21.356 28.852,21.686 C29.084,21.719 29.389,21.757 29.769,21.792 C30.195,21.836 30.518,22.196 30.518,22.623 L30.516,22.623 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(--clr-tel);
}

.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;
}

.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_769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .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_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 .btn.style01 {
  min-width: unset;
}
.flex_gr .item {
  width: 100%;
  margin: var(--size-mg);
}
@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.333333% - 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));
  }
}

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

/* Tablet
-------------------------------------------*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
h1 {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

header {
  --space: 2em;
  position: fixed;
  top: var(--space);
  left: var(--space);
  right: var(--space);
  width: calc(100% - 2 * var(--space));
  height: var(--wrapper);
  z-index: 20;
  background-color: #fff;
  border-radius: 5px;
  transition: all 0.3s linear;
}
@media only screen and (min-width: 769px) {
  header {
    font-size: min(0.65vw, 10px);
  }
}

header.active,
.ovh header {
  background-color: #fff;
}

.ovh header {
  --space: 0;
  border-radius: 0;
}

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

.logo {
  width: 20%;
  max-width: 287px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}

.right_head {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
  width: 100%;
  padding-bottom: 2px;
}
.pc_navi > ul > li {
  font-size: 1em;
  position: relative;
}
.pc_navi > ul > li:not(:last-child) {
  margin-right: 5.6em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  background: url(../images/shared_pc_navi_arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 9px;
  height: 5px;
  position: absolute;
  bottom: 0px;
  left: calc(50% - 4.5px);
  transition: all 0.5s ease;
  /*border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 6px 6px 0px 6px;
  width: 0;
  height: 0;*/
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  transform: translateY(5px);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  text-decoration: none;
  text-align: center;
  font-weight: 400;
  font-size: 1.6em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: var(--clr1);
  padding-bottom: 1em;
  margin-bottom: -1em;
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 66.6666666667%;
  font-weight: 600;
}
.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: min(42em, 300px);
  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;
  padding-top: 1em;
}
.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(var(--clr1-rgb), 0.7);
  transition: all 0.2s ease;
  font-size: 1.4em;
  font-weight: 500;
  color: var(--clr1);
  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%);
}

.menu_toggle .inside .ft_link .menu_ft {
  display: none;
}
.menu_toggle .inside .ft_link .menu_inside {
  display: block;
}
.menu_toggle .inside .ft_link .ft_br1440 {
  display: none;
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 440px;
  }
  .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 {
    width: 100%;
    max-width: 1140px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: clamp(6.5px, 0.65vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link {
    max-width: 1040px;
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .inside .ft_link .menu_child > a {
    margin-bottom: 0.5em;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu01 {
    width: 35%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 {
    width: 65%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-height: 70em;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li {
    width: 45%;
    margin-bottom: 1.5em;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li.menu_child02 {
    width: 55%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li.menu_child03 {
    margin-bottom: 0;
    width: 100%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li.menu_child03 > ul {
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    max-height: 15em;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li.menu_child03 > ul > li {
    margin-bottom: 1em;
    width: 45%;
  }
  .menu_toggle .inside .ft_link .link_list .menu02 > ul > li.menu_child03 > ul > li:nth-child(n+4) {
    width: 55%;
  }
  .menu_toggle .inside .ft_link .link_list li:not(:last-child) {
    margin-bottom: 1em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 80px;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 4em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul .subInner {
    width: min(42vw, 250px);
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 800px) {
  header {
    font-size: 5.4px;
  }
}
.idx_gallery {
  padding: 4em 0;
  position: relative;
  z-index: 1;
}
.idx_gallery .slick-list {
  overflow: visible;
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img img {
  border-radius: 1em;
  margin: 0 5px;
  max-width: clamp(280px, 22vw, 420px);
  box-shadow: -3.657px 3.41px 36.8px 3.2px rgba(60, 60, 60, 0.06);
}

.time_sheet {
  margin: 0px auto;
}
.time_sheet .note {
  margin-top: 8px;
}
.time_sheet .note .ttl {
  color: var(--clr1);
  font-weight: 500;
  margin-bottom: 0.25em;
}
.time_sheet .note .ttl span {
  color: var(--clr-pink);
}
.time_sheet .note ul {
  counter-reset: item;
}
.time_sheet .note ul:not(:last-child) {
  margin-bottom: 0.25em;
}
.time_sheet .note ul li {
  counter-increment: item;
  position: relative;
  display: flex;
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1024px) {
  .time_sheet .note ul li {
    font-size: 12px;
  }
}
.time_sheet .note ul li:not(:last-child) {
  margin-bottom: 1em;
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .time_sheet .note ul li:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
.time_sheet .note ul li span > span.break {
  position: relative;
}
.time_sheet .note ul li span > span.break::after {
  content: "|";
  font-size: inherit;
  display: inline-block;
  color: inherit;
  margin: 0 1em 0 1.3333em;
}
@media only screen and (max-width: 1024px) {
  .time_sheet .note ul li span > span.break::after {
    margin: 0 0.2em;
  }
}
.time_sheet table {
  font-size: 10px;
  font-feature-settings: "palt";
}
.time_sheet table thead th:first-child {
  padding-right: 3em;
}
.time_sheet table tbody th[rowspan] {
  width: 13.2%;
  padding-right: 1.125em;
}
.time_sheet table tbody th[rowspan]::before {
  width: 0;
}
.time_sheet table tbody th:first-child:not([rowspan]),
.time_sheet table tbody th[rowspan] + th {
  width: 6.8%;
  padding: 0.625em 1.125em 0.3125em 0.2em;
}
.time_sheet table tbody tr:nth-child(3) th:first-child:not([rowspan]),
.time_sheet table tbody tr:nth-child(3) th[rowspan] + th,
.time_sheet table tbody tr:nth-child(4) th:first-child:not([rowspan]),
.time_sheet table tbody tr:nth-child(4) th[rowspan] + th {
  padding-bottom: 0.875em;
}
.time_sheet table th,
.time_sheet table td {
  border: none;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 1.6em;
  width: 14%;
  position: relative;
}
.time_sheet table th:not(:last-child)::before, .time_sheet table th.bdr::before,
.time_sheet table td:not(:last-child)::before,
.time_sheet table td.bdr::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  bottom: 0px;
  right: 0px;
  background: #c3c3c3;
}
.time_sheet table th::after,
.time_sheet table td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: #c3c3c3;
}
.time_sheet table th.sm,
.time_sheet table td.sm {
  width: 8.7%;
}
.time_sheet table th {
  padding: 0.6em 0.2em;
}
.time_sheet table th span {
  display: block;
  font-size: 137.5%;
  font-weight: 500;
  margin-bottom: 0.25em;
}
.time_sheet table td {
  padding: 10px 0.2em 14px;
  color: var(--clr1);
  font-weight: 500;
  font-size: 1.6em;
  letter-spacing: 0.19em;
}
.time_sheet table td[rowspan] {
  background-color: #dfe5df;
  font-size: 1.4em;
  color: var(--clr1);
}
.time_sheet table td span {
  display: block;
  color: var(--clr-pink);
  font-size: 62.5%;
}
.time_sheet table td:has(span) {
  padding: 0.1667em 0.2em;
}
.time_sheet table .txt_blue {
  color: var(--clr-blue);
}
.time_sheet table .t-center {
  text-align: center;
}
.time_sheet table.style02 th:not(:first-child)::before,
.time_sheet table.style02 td:not(:first-child)::before {
  display: none;
}
.time_sheet table.style02 th.col1,
.time_sheet table.style02 td.col1 {
  width: 20.3%;
}
.time_sheet table.style02 th.col2,
.time_sheet table.style02 td.col2 {
  width: 8%;
}
.time_sheet table.style02 th.col3,
.time_sheet table.style02 td.col3 {
  width: 14.4%;
}
.time_sheet table.style02 th.col4,
.time_sheet table.style02 td.col4 {
  width: 12%;
}
.time_sheet table.style02 th.col5,
.time_sheet table.style02 td.col5 {
  width: 13%;
}
.time_sheet table.style02 th.col6,
.time_sheet table.style02 td.col6 {
  width: 8%;
}
.time_sheet table.style02 th.col7,
.time_sheet table.style02 td.col7 {
  width: 14.6%;
}
.time_sheet table.style02 th.col8,
.time_sheet table.style02 td.col8 {
  width: 9.7%;
  letter-spacing: 0.09em;
}
.time_sheet table.style02 td > span:first-child {
  font-size: 0.75em;
  display: inline;
  color: inherit;
}
.time_sheet table.style02 td > span + span {
  margin-top: -0.5em;
}
.time_sheet table.style02 td:has(span + span) {
  vertical-align: bottom;
  padding-bottom: 0.25em;
}
.time_sheet table.style02 td.col3 {
  padding-left: 1em;
}
.time_sheet table.style02 td.col8 {
  text-align: left;
}
.time_sheet table.style02 thead th.col1 {
  padding-right: 0;
}
.time_sheet table.style02 tbody th.col1 {
  padding-left: 0;
  padding-right: 1em;
}
.time_sheet table.style02 tbody th.col2 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left;
}
.time_sheet table.style02 tbody td {
  height: 3.1875em;
}
.time_sheet table.style02 tbody tr:nth-child(3) td {
  text-align: center;
}
.time_sheet table.style02 tbody th.col2::before {
  display: block;
}
.time_sheet table.style02 .note ul li {
  line-height: 2;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .time_sheet table.style02 .note ul li {
    font-size: 11px;
  }
}

@media only screen and (max-width: 1280px) and (min-width: 769px) {
  :root {
    --ttl_size: 24px;
    --f-size: 16px;
    --wrapper: 80px;
  }
  .inner_big {
    max-width: 1180px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 25px;
  right: 25px;
}
.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: 70px;
  height: 70px;
  margin: 0;
  border-radius: 50%;
  box-shadow: 10px 17.321px 44.5px 5.5px rgba(0, 0, 0, 0.05);
}

@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;
  }
}
.fixed_banner {
  position: fixed;
  top: calc(50% - 11.2em);
  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;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-direction: column;
}
.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 {
  color: var(--clr1);
  background-color: var(--main-color);
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.6em;
  width: 2.1em;
  height: 2.1em;
  --mask: url("../images/shared_fixed_bnr_icon01.png");
  background-color: var(--clr1);
}
.fixed_banner .web p {
  background-color: var(--main-color-2);
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.6em;
  width: 2em;
  height: 2em;
  --mask: url("../images/shared_fixed_bnr_icon02.png");
}
.fixed_banner .vaccin p {
  background-color: var(--clr-pink);
}
.fixed_banner .vaccin p .tt {
  line-height: 1.4;
}
.fixed_banner .vaccin p .tt::before {
  margin-bottom: 0.5em;
  width: 2.5em;
  height: 2.5em;
  --mask: url("../images/shared_fixed_bnr_icon03.png");
}
.fixed_banner .ins p {
  background-image: -moz-linear-gradient(74deg, rgb(85, 16, 208) 0%, rgb(255, 0, 59) 51%, rgb(255, 205, 0) 100%);
  background-image: -webkit-linear-gradient(74deg, rgb(85, 16, 208) 0%, rgb(255, 0, 59) 51%, rgb(255, 205, 0) 100%);
  background-image: -ms-linear-gradient(74deg, rgb(85, 16, 208) 0%, rgb(255, 0, 59) 51%, rgb(255, 205, 0) 100%);
}
.fixed_banner .ins p .tt::before {
  margin-bottom: 0.5em;
  width: 2.1em;
  height: 2.1em;
  --mask: url("../images/shared_fixed_bnr_icon04.png");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 7em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 0.2em;
  }
  .fixed_banner p {
    font-size: 1em;
    width: var(--size);
    height: var(--size);
    border-radius: 5px 0 0 5px;
    padding-top: 3px;
  }
  .fixed_banner p .tt {
    font-size: 1em;
    letter-spacing: 0.05em;
  }
  .fixed_banner .tel {
    --w_tel: 15em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover {
    transform: translateX(calc(0em - var(--w_tel)));
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    position: absolute;
    left: 7em;
    height: 100%;
    top: 0;
    width: var(--w_tel);
    border-left: 1px solid #cfcfcf;
  }
  .fixed_banner .tel .ov .text {
    font-size: 1.6em;
    font-weight: 500;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.5em;
  }
  .fixed_banner .ins .tt {
    font-size: 1.2em;
  }
  .fixed_banner .ins .tt::before {
    font-size: 0.8333em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8.75px;
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
footer {
  padding: 77px 0 73px;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../images/ft_bg.jpg");
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 15px;
  max-width: clamp(180px, 12vw, 226px);
  margin: 0 auto;
  display: table;
}
@media only screen and (min-width: 769px) {
  footer .ft_info {
    font-size: min(0.72vw, 1em);
    width: 50%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  footer .ft_info {
    width: 52%;
  }
}
footer .ft_info .idx_address {
  letter-spacing: 0.12em;
  color: var(--clr1);
  text-align: center;
  margin-bottom: 0.25em;
}
@media only screen and (min-width: 769px) {
  footer .ft_info .idx_address {
    font-size: clamp(14px, 1.2vw, 20px);
  }
}
footer .ft_info .gl_tel {
  padding-left: 5.1em;
  margin-bottom: 2.7em;
  --clr-tel: var(--main-color-2);
}
@media only screen and (min-width: 769px) {
  footer .ft_info .gl_tel {
    font-size: min(0.9vw, 10px);
  }
}
footer .ft_info .gl_tel a {
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  footer .ft_info .time_sheet {
    margin-bottom: 2.5em;
  }
  footer .ft_info .time_sheet table {
    font-size: 1em;
  }
}
@media only screen and (min-width: 680px) {
  footer .ft_info .time_sheet .tbl_note {
    display: none;
  }
}
footer .ft_info .time_sheet th:not(:first-child)::before,
footer .ft_info .time_sheet td:not(:first-child)::before {
  display: none;
}
footer .ft_info .time_sheet th.col1,
footer .ft_info .time_sheet td.col1 {
  width: 20.3%;
}
footer .ft_info .time_sheet th.col2,
footer .ft_info .time_sheet td.col2 {
  width: 8%;
}
footer .ft_info .time_sheet th.col3,
footer .ft_info .time_sheet td.col3 {
  width: 14.4%;
}
footer .ft_info .time_sheet th.col4,
footer .ft_info .time_sheet td.col4 {
  width: 12%;
}
footer .ft_info .time_sheet th.col5,
footer .ft_info .time_sheet td.col5 {
  width: 13%;
}
footer .ft_info .time_sheet th.col6,
footer .ft_info .time_sheet td.col6 {
  width: 8%;
}
footer .ft_info .time_sheet th.col7,
footer .ft_info .time_sheet td.col7 {
  width: 14.6%;
}
footer .ft_info .time_sheet th.col8,
footer .ft_info .time_sheet td.col8 {
  width: 9.7%;
  letter-spacing: 0.09em;
}
footer .ft_info .time_sheet td > span:first-child {
  font-size: 0.75em;
  display: inline;
  color: inherit;
}
footer .ft_info .time_sheet td > span + span {
  margin-top: -0.5em;
}
footer .ft_info .time_sheet td:has(span + span) {
  vertical-align: bottom;
  padding-bottom: 0.25em;
}
footer .ft_info .time_sheet td.col3 {
  padding-left: 1em;
}
footer .ft_info .time_sheet td.col8 {
  text-align: left;
}
footer .ft_info .time_sheet thead th.col1 {
  padding-right: 0;
}
footer .ft_info .time_sheet tbody th.col1 {
  padding-left: 0;
  padding-right: 1em;
}
footer .ft_info .time_sheet tbody th.col2 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left;
}
footer .ft_info .time_sheet tbody td {
  height: 3.1875em;
}
footer .ft_info .time_sheet tbody tr:nth-child(3) td {
  text-align: center;
}
footer .ft_info .time_sheet tbody th.col2::before {
  display: block;
}
footer .ft_info .time_sheet .note ul li {
  line-height: 2;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_info .time_sheet .note ul li {
    font-size: 11px;
  }
}
footer .ft_info .idx_map {
  height: 250px;
}
@media only screen and (min-width: 769px) {
  footer .ft_info .idx_map iframe {
    border-radius: 10px;
  }
}
footer .ft_link {
  width: 45%;
  padding-top: 18px;
  font-size: min(0.8vw, 10px);
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  footer .ft_link {
    width: 45%;
  }
}
footer .ft_link .menu_inside {
  display: none;
}
footer .ft_link .menu_ft {
  display: block;
}
footer .ft_link .link_list > div > ul {
  display: flex;
}
footer .ft_link .link_list > div > ul > li {
  width: 50%;
}
footer .ft_link .link_list > div > ul > li .ft_br1440 {
  display: none;
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  footer .ft_link .link_list > div > ul > li .ft_br1440 {
    display: block;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .link_list > div > ul > li {
    width: 45%;
  }
}
footer .ft_link .menu01,
footer .ft_link .menu02 {
  width: 100%;
}
footer .ft_link .menu01 > ul {
  flex-flow: column wrap;
  align-content: space-between;
  max-height: 28em;
}
footer .ft_link .menu01 > ul > li:nth-child(n+4) {
  max-width: 49%;
}
footer .ft_link .menu02 {
  margin-top: 2.8em;
}
footer .ft_link .menu02 > ul {
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 0.7em;
}
footer .ft_link .menu02 > ul > li:nth-child(2) {
  width: 49%;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .menu02 > ul > li:nth-child(2) {
    width: 55%;
  }
}
footer .ft_link .menu02 > ul > li:nth-child(3) {
  width: 100%;
  margin-top: -0.7em;
}
footer .ft_link .menu02 > ul > li:nth-child(3) > ul {
  display: flex;
  flex-flow: column wrap;
  align-content: space-between;
  max-height: 16em;
}
footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li {
  width: 50%;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li {
    width: 45%;
  }
}
footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li:nth-child(n+4) {
  max-width: 50%;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li:nth-child(n+4) {
    width: 55%;
    max-width: 55%;
  }
}
footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li:last-child a {
  margin-right: -2em;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .menu02 > ul > li:nth-child(3) > ul > li:last-child a {
    margin-right: 0;
  }
}

.ft_link {
  font-size: 1em;
}
.ft_link a {
  text-decoration: none;
}
.ft_link .title {
  margin-bottom: 0.44em;
  font-size: 5em;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  color: var(--main-color);
  text-transform: uppercase;
  padding-left: 0.1em;
}
.ft_link .title::before {
  display: none;
}
.ft_link .menu_child > a {
  pointer-events: none;
  font-size: 2.2em;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: var(--clr1);
  line-height: 1.6363636364;
  margin-bottom: 0.9091em;
  padding-left: 0;
}
.ft_link .menu_child > a::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  font-size: 1em;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 769px) {
  .ft_link li:not(:last-child) {
    margin-bottom: 2em;
  }
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 1em;
  color: inherit;
  font-size: 1.6em;
  letter-spacing: 0.05em;
  color: var(--clr1);
  line-height: 1.875;
  display: inline-block;
}
.ft_link a::before {
  content: "・";
  position: absolute;
  border-radius: 100%;
  font-size: inherit;
  left: 0;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    opacity: 1;
    color: var(--main-color);
  }
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 25px 0;
  position: relative;
  z-index: 1;
}
.copyright .flex {
  align-items: center;
  justify-content: flex-start;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: var(--main-color);
}
.copyright .textwidget {
  display: block;
  padding-left: 22px;
  margin-left: 20px;
  padding-bottom: 2px;
  font-weight: 400;
  font-size: calc(var(--f-size) - 2px);
  position: relative;
}
@media only screen and (min-width: 641px) {
  .copyright .textwidget::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 20px;
    top: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto 0;
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.copyright .textwidget p {
  margin-bottom: 0;
  line-height: inherit;
  letter-spacing: 0.08em;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 138px;
}

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

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