@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Sans JP", sans-serif;
  --f-en: "Noto Sans JP", sans-serif;
  --fs-base: 16px;
  --lh-base: 2.25;
  --ls-base: .1em;
  --main-color: #87b828;
  --clr1: #232323;
  --clr2: #1ca2d9;
  --clr3: #ea6ba3;
  --ttl_size: 28px;
  --wrapper: 180px;
  --px-body: 20px;
  --px-key: clamp(60px, 5vw, 90px);
  --border-radius: 20px;
  --footer-pt: clamp(100px, 12vw, 160px);
}
@media only screen and (min-width: 1901px) and (max-width: 1920px) {
  :root {
    --px-body: 15px;
  }
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: var(--main-color);
  -webkit-text-size-adjust: none;
  letter-spacing: var(--ls-base);
  color: var(--clr1);
  font-family: var(--f-notosans);
  padding: 20px var(--px-body) 0;
}
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 {
  font-size: 100%;
  -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: #ca0a0a !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 {
  border-radius: 20px;
  overflow: hidden;
  background: url(../images/bg_pattern.jpg) repeat top left/6px;
}

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

.inner_max {
  max-width: 1740px;
}

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

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

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

.txt-clr3 {
  color: var(--clr3) !important;
}

.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  margin: 0px 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 {
  width: 100%;
  overflow: hidden;
  --clr-btn-1: var(--main-color);
  --clr-btn-2: #fff;
  min-width: 150px;
  max-width: 28em;
}
.btn-group .btn a {
  position: relative;
  min-height: 3.6667em;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--f-jp);
  color: var(--clr-btn-1);
  background-color: var(--clr-btn-2);
  border: 1px solid var(--clr-btn-1);
  transition: all 0.3s ease;
  border-radius: 999em;
  padding: 0.3889em 3.5em 0.3889em 1.6667em;
}
.btn-group .btn a::before, .btn-group .btn a::after {
  content: "";
  position: absolute;
  width: round(2.7778em, 1px);
  height: round(2.7778em, 1px);
  border-radius: 50%;
  transition: all 0.3s ease;
  top: 0;
  bottom: 0;
  right: 0.3889em;
}
.btn-group .btn a::before {
  background-color: var(--clr-btn-1);
}
.btn-group .btn a::after {
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 13' %3E%3Cpath d='M15.256,12.989 L14.210,11.825 L18.923,7.284 L-0.000,7.284 L-0.000,5.696 L18.924,5.696 L14.210,1.153 L15.256,-0.010 L21.1000,6.489 L15.256,12.989 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: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  -webkit-mask-size: round(min(44%, 22px), 1px) round(min(26%, 13px), 1px);
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--clr-btn-2);
}
.btn-group .btn a::before, .btn-group .btn a::after {
  margin: auto 0;
}
.btn-group .btn a:hover {
  opacity: 1;
}
.btn-group .btn a.atv {
  pointer-events: none;
  --clr-btn-1: #fff;
  --clr-btn-2: var(--main-color);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:not([target]):hover {
    --clr-btn-1: #fff;
    --clr-btn-2: var(--main-color);
  }
}
.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_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);
}
@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: 1024px) {
  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: var(--px-body);
  width: calc(100% - var(--px-body) * 2);
  height: var(--wrapper);
  z-index: 20;
  transition: all 0.3s;
  font-size: clamp(8px, 0.78vw, 10px);
}

header.active,
.ovh header {
  height: calc(var(--wrapper) - 40px);
  border-radius: 0;
}
@media only screen and (min-width: 769px) {
  header.active .logo img,
  .ovh header .logo img {
    width: 80%;
  }
}

.header_top {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 5px var(--px-key);
  height: 100%;
  border-top: 20px solid var(--main-color);
  background-color: var(--main-color);
  transition: all 0.3s;
  z-index: 1;
}
.header_top::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px 20px 0 0;
  background-color: #fff;
  z-index: -1;
}

.logo {
  width: 22%;
  max-width: 336px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  transition: all 0.3s ease;
}

.right_head {
  width: 78%;
  padding-right: 12em;
  padding-bottom: 0.6em;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  position: relative;
  --clr: var(--main-color);
}
.pc_navi > ul > li:not(:last-child) {
  margin-right: 5.5em;
}
.pc_navi > ul > li:nth-child(2) {
  --clr: var(--clr3);
}
.pc_navi > ul > li:nth-child(2).menu-item-has-children > a::before,
.pc_navi > ul > li:nth-child(2).menu-item-has-children > p::before {
  background-image: url(../images/ic_nav02.png);
}
.pc_navi > ul > li:nth-child(3) {
  --clr: var(--clr2);
}
.pc_navi > ul > li:nth-child(3).menu-item-has-children > a::before,
.pc_navi > ul > li:nth-child(3).menu-item-has-children > p::before {
  background-image: url(../images/ic_nav03.png);
}
.pc_navi > ul > li:nth-child(4) {
  --clr: #129042;
}
.pc_navi > ul > li:nth-child(4).menu-item-has-children > a::before,
.pc_navi > ul > li:nth-child(4).menu-item-has-children > p::before {
  background-image: url(../images/ic_nav04.png);
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--clr);
}
.pc_navi > ul > li.menu-item-has-children > a::before,
.pc_navi > ul > li.menu-item-has-children > p::before {
  content: "";
  position: absolute;
  width: max(12px, round(0.8889em, 1px));
  aspect-ratio: 1/1;
  top: calc(50% - 0.2778em);
  right: 0px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../images/ic_nav01.png);
}
.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: 500;
  font-size: 1.8em;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: all 0.2s ease;
  color: var(--clr1);
  padding: 0 0.2778em;
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0.3636em;
  font-size: 0.6111em;
  letter-spacing: 0.1em;
  color: var(--clr);
  text-transform: uppercase;
}
.pc_navi > ul > li:first-child > a,
.pc_navi > ul > li:first-child > p {
  padding-right: 0.7222em;
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 25em;
  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(--clr);
  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.4em;
  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.last-menu .subInner {
    right: 90%;
  }
  .pc_navi > ul .col2 .subInner {
    width: 52em;
  }
  .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: 1280px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    font-size: min(0.9vw, 10px);
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
  .menu_toggle .inside .ft_link a:hover {
    color: var(--main-color);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  :root {
    --wrapper: 160px;
  }
  header {
    font-size: clamp(8px, 0.78vw, 9px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 140px;
  }
  .right_head {
    padding-right: 6em;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 1.5em;
  }
  .menu_toggle .inside .ft_link {
    max-width: 1000px;
    font-size: min(0.9vw, 8.75px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .menu_toggle .inside .ft_link .title {
    font-size: 2.2em;
  }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --fs-base: 14px;
    --ttl_size: 22px;
    --wrapper: 120px;
  }
  header {
    font-size: 6px;
  }
  .right_head {
    padding-right: 5em;
  }
  .pc_navi > ul > li:not(:last-child) {
    margin-right: 0.5em;
  }
}
.idx_gallery {
  position: relative;
  z-index: 2;
}
.idx_gallery .list .slick-track {
  display: flex;
  gap: 6px;
}
.idx_gallery .list .item {
  max-width: clamp(220px, 25vw, 360px);
}
.idx_gallery .list .item:nth-child(even) {
  margin-top: 1.875em;
}
.idx_gallery .list img {
  border-radius: 0.625em;
}

.time_sheet .clr2 {
  color: var(--clr2) !important;
}
.time_sheet .cls {
  color: var(--clr1) !important;
}
.time_sheet .note {
  line-height: 1.875;
  letter-spacing: 0.05em;
  margin-top: 0.625em;
  margin-left: 0.9375em;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet table {
  font-size: 10px;
  font-feature-settings: "palt";
}
.time_sheet table thead th,
.time_sheet table thead td {
  color: #fff;
}
.time_sheet table thead th::after,
.time_sheet table thead td::after {
  content: none;
}
.time_sheet table tbody tr:nth-child(2) td {
  padding-top: 1em;
}
.time_sheet table th,
.time_sheet table td {
  position: relative;
  border: none;
  text-align: center;
  font-size: 1.6em;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.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: #e1e1e1;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  text-align: center;
}
.time_sheet table th {
  padding: 0.625em 0.2em 0.875em;
}
.time_sheet table td {
  padding: 1.375em 0.2em 1.25em;
  color: var(--main-color);
}
.time_sheet table td:first-child {
  color: var(--clr1);
}
.time_sheet01 table thead th,
.time_sheet01 table thead td {
  background-color: var(--main-color);
}
.time_sheet02 table thead th,
.time_sheet02 table thead td {
  background-color: var(--clr3);
}
.time_sheet02 table td {
  color: var(--clr3);
}
@media only screen and (min-width: 769px) {
  .time_sheet01 {
    margin-bottom: 35px;
  }
  .time_sheet table th,
  .time_sheet table td {
    width: 10%;
  }
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    padding-left: 4%;
  }
  .time_sheet table th:last-child,
  .time_sheet table td:last-child {
    width: 15.55%;
    padding-right: 2%;
  }
}
@media only screen and (max-width: 768px) {
  .time_sheet01 {
    margin-bottom: 20px;
  }
  .time_sheet table th,
  .time_sheet table td {
    width: 9%;
  }
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    padding-left: 1%;
  }
  .time_sheet table th:last-child,
  .time_sheet table td:last-child {
    width: 15%;
    padding-right: 2%;
  }
}

.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: 66px;
  height: 66px;
  margin: 0;
}

@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% - 22em);
  right: var(--px-body);
  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 .web p {
  background-color: var(--clr2);
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.625em;
  width: 1.9375em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 32' %3E%3Cpath d='M29.870,31.997 L1.757,31.997 C0.786,31.997 -0.000,31.250 -0.000,30.328 L-0.000,6.975 C-0.000,6.053 0.786,5.306 1.757,5.306 L7.028,5.306 L7.028,1.971 C7.028,1.049 7.814,0.301 8.785,0.301 C9.756,0.301 10.542,1.049 10.542,1.971 L10.542,5.306 L21.084,5.306 L21.084,1.971 C21.084,1.049 21.872,0.301 22.842,0.301 C23.812,0.301 24.599,1.049 24.599,1.971 L24.599,5.306 L28.113,5.306 L29.870,5.306 C30.841,5.306 30.390,6.053 30.390,6.975 L30.390,30.328 C30.390,31.250 30.841,31.997 29.870,31.997 ZM14.495,21.298 L11.345,18.306 C10.659,17.655 9.547,17.655 8.861,18.306 C8.174,18.957 8.174,20.014 8.861,20.666 L13.254,24.836 C13.584,25.148 14.030,25.325 14.495,25.325 C14.961,25.325 15.408,25.148 15.738,24.836 L22.766,18.163 C23.453,17.512 23.453,16.455 22.766,15.803 C22.080,15.154 20.969,15.154 20.281,15.803 L14.495,21.298 Z'/%3E%3C/svg%3E");
}
.fixed_banner .tel p {
  background-color: #129042;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.625em;
  width: 1.6875em;
  height: 1.6875em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' %3E%3Cpath d='M26.471,20.301 L26.471,25.464 C26.471,26.227 25.877,26.866 25.111,26.919 C24.472,26.963 23.951,26.988 23.547,26.988 C10.630,26.988 0.160,16.531 0.160,3.631 C0.160,3.227 0.181,2.705 0.227,2.066 C0.281,1.300 0.918,0.710 1.685,0.710 L6.854,0.710 C7.230,0.710 7.545,0.995 7.582,1.367 C7.616,1.701 7.646,1.967 7.676,2.172 C7.966,4.197 8.562,6.167 9.442,8.015 C9.581,8.309 9.490,8.654 9.226,8.838 L6.072,11.093 C8.001,15.578 11.583,19.159 16.076,21.083 L18.327,17.938 C18.517,17.674 18.870,17.583 19.165,17.723 C21.014,18.600 22.985,19.193 25.012,19.482 C25.214,19.510 25.482,19.543 25.815,19.574 C26.189,19.614 26.473,19.924 26.472,20.301 L26.471,20.301 Z'/%3E%3C/svg%3E");
}
.fixed_banner .fee p {
  background-color: var(--clr3);
}
.fixed_banner .fee p .tt::before {
  margin-bottom: 0.625em;
  width: 1.75em;
  height: 2.25em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 36' %3E%3Cpath d='M27.131,35.325 C26.589,35.819 25.939,35.996 25.210,35.994 C18.402,35.987 11.595,35.991 4.787,35.991 C4.379,35.991 3.971,35.993 3.562,35.990 C2.130,35.976 1.070,34.979 0.979,33.564 C0.972,33.446 0.974,33.330 0.974,33.212 C0.974,25.463 0.976,17.715 0.971,9.966 C0.970,9.033 1.276,8.261 2.050,7.697 C2.735,7.198 3.516,7.204 4.352,7.251 C4.352,8.079 4.348,8.860 4.352,9.641 C4.361,11.376 5.600,12.637 7.354,12.640 C12.094,12.654 16.834,12.654 21.575,12.640 C23.329,12.637 24.568,11.379 24.578,9.643 C24.582,8.861 24.578,8.080 24.578,7.301 C26.502,6.908 27.861,8.091 27.950,9.653 C27.956,9.757 27.956,9.860 27.956,9.965 C27.956,17.726 27.955,25.488 27.959,33.250 C27.959,34.056 27.744,34.766 27.131,35.325 ZM8.162,15.993 C7.585,15.976 7.007,15.975 6.429,15.994 C5.970,16.009 5.647,16.337 5.621,16.792 C5.605,17.077 5.618,17.363 5.618,17.649 C5.618,17.649 5.617,17.649 5.616,17.649 C5.616,17.908 5.610,18.169 5.617,18.429 C5.632,18.972 5.944,19.302 6.498,19.321 C7.036,19.341 7.576,19.339 8.113,19.321 C8.619,19.302 8.950,19.014 8.977,18.535 C9.009,17.951 9.008,17.364 8.979,16.782 C8.955,16.311 8.627,16.008 8.162,15.993 ZM8.086,21.830 C7.823,21.823 7.559,21.829 7.296,21.829 C7.296,21.830 7.296,21.830 7.296,21.830 C7.019,21.830 6.742,21.821 6.466,21.833 C5.955,21.854 5.632,22.168 5.620,22.674 C5.607,23.220 5.606,23.767 5.621,24.314 C5.634,24.815 5.962,25.131 6.477,25.144 C7.017,25.157 7.557,25.156 8.096,25.145 C8.637,25.134 8.963,24.835 8.985,24.303 C9.008,23.769 9.006,23.234 8.988,22.702 C8.969,22.147 8.645,21.847 8.086,21.830 ZM8.986,28.508 C8.965,27.997 8.653,27.680 8.141,27.658 C7.578,27.635 7.012,27.634 6.448,27.660 C5.937,27.683 5.630,28.015 5.619,28.520 C5.608,29.052 5.608,29.585 5.619,30.118 C5.630,30.654 5.967,30.974 6.519,30.988 C6.782,30.995 7.045,30.989 7.307,30.989 C7.557,30.989 7.806,30.993 8.056,30.989 C8.632,30.977 8.968,30.672 8.988,30.106 C9.006,29.574 9.007,29.040 8.986,28.508 ZM22.402,16.830 C20.758,16.821 19.113,16.828 17.469,16.828 C15.798,16.828 14.128,16.823 12.457,16.829 C11.872,16.831 11.524,17.153 11.527,17.658 C11.530,18.155 11.895,18.481 12.468,18.485 C13.060,18.492 13.652,18.487 14.244,18.487 C16.927,18.487 19.611,18.485 22.294,18.491 C22.694,18.492 23.026,18.392 23.219,18.024 C23.518,17.454 23.103,16.836 22.402,16.830 ZM11.528,23.480 C11.524,23.896 11.791,24.221 12.219,24.301 C12.360,24.327 12.507,24.327 12.651,24.327 C14.229,24.329 15.808,24.328 17.387,24.328 C18.966,24.328 20.544,24.329 22.123,24.328 C22.905,24.328 23.304,24.048 23.311,23.496 C23.318,22.944 22.911,22.648 22.141,22.648 C18.984,22.648 15.826,22.648 12.669,22.649 C12.525,22.649 12.378,22.647 12.237,22.671 C11.804,22.746 11.531,23.063 11.528,23.480 ZM23.038,28.736 C22.829,28.592 22.536,28.501 22.280,28.499 C19.781,28.483 17.281,28.489 14.782,28.489 C13.993,28.489 13.204,28.483 12.414,28.492 C11.877,28.499 11.523,28.845 11.527,29.331 C11.532,29.834 11.881,30.146 12.472,30.148 C14.116,30.153 15.760,30.149 17.404,30.149 C18.194,30.149 18.983,30.151 19.772,30.149 C20.680,30.148 21.587,30.152 22.495,30.142 C22.879,30.139 23.136,29.934 23.264,29.579 C23.382,29.251 23.314,28.927 23.038,28.736 ZM21.494,10.984 C19.151,10.987 16.808,10.985 14.464,10.985 C12.147,10.985 9.830,10.986 7.513,10.985 C6.519,10.984 6.034,10.506 6.031,9.524 C6.029,8.533 6.026,7.545 6.032,6.554 C6.037,5.662 6.553,5.153 7.456,5.146 C8.153,5.140 8.851,5.138 9.549,5.148 C9.774,5.153 9.856,5.088 9.895,4.851 C10.265,2.608 12.195,0.984 14.466,0.984 C16.740,0.985 18.655,2.598 19.034,4.853 C19.074,5.091 19.160,5.152 19.383,5.148 C20.081,5.139 20.779,5.140 21.477,5.146 C22.386,5.153 22.893,5.654 22.898,6.555 C22.904,7.572 22.905,8.586 22.898,9.603 C22.891,10.484 22.381,10.984 21.494,10.984 Z'/%3E%3C/svg%3E");
}
.fixed_banner .instagram p {
  background: url(../images/instagram_bg.jpg) no-repeat center/cover;
}
.fixed_banner .instagram p .tt::before {
  margin-bottom: 0.625em;
  width: 1.875em;
  height: 1.875em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' %3E%3Cpath d='M29.868,21.537 C29.713,26.648 26.348,29.861 21.236,29.928 C17.059,29.982 12.880,29.987 8.704,29.924 C3.493,29.846 0.147,26.480 0.040,21.276 C-0.004,19.141 0.032,17.004 0.032,14.869 C0.032,12.732 -0.010,10.597 0.040,8.461 C0.156,3.436 3.454,0.114 8.464,0.042 C12.730,-0.018 16.997,-0.013 21.263,0.039 C26.345,0.103 29.725,3.355 29.870,8.459 C29.994,12.815 29.1000,17.181 29.868,21.537 ZM27.235,8.693 C27.165,5.004 24.925,2.829 21.234,2.787 C17.099,2.741 12.962,2.742 8.826,2.786 C4.950,2.827 2.808,4.996 2.780,8.875 C2.751,12.926 2.751,16.978 2.781,21.029 C2.809,24.941 4.878,27.039 8.797,27.135 C10.842,27.185 12.889,27.143 14.934,27.143 C14.934,27.138 14.934,27.132 14.934,27.126 C17.113,27.126 19.295,27.194 21.471,27.109 C25.011,26.972 27.174,24.796 27.236,21.247 C27.309,17.063 27.314,12.876 27.235,8.693 ZM22.987,8.726 C22.021,8.781 21.162,7.928 21.234,6.973 C21.311,5.953 21.895,5.348 22.932,5.297 C23.923,5.247 24.700,6.057 24.675,7.202 C24.581,8.080 24.013,8.667 22.987,8.726 ZM14.998,22.616 C10.718,22.653 7.281,19.244 7.259,14.939 C7.237,10.666 10.678,7.214 14.954,7.217 C19.199,7.220 22.694,10.733 22.658,14.962 C22.621,19.174 19.211,22.581 14.998,22.616 ZM14.961,9.966 C12.230,9.960 9.954,12.272 10.006,14.998 C10.057,17.688 12.304,19.867 15.003,19.842 C17.703,19.818 19.883,17.599 19.873,14.889 C19.863,12.189 17.651,9.971 14.961,9.966 Z'/%3E%3C/svg%3E");
}
.fixed_banner .twitter p {
  background-color: #000;
}
.fixed_banner .twitter p .tt::before {
  margin-bottom: 0.625em;
  width: 1.875em;
  height: 1.9375em;
  --mask: url("../images/twitter_logo.png");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 10em;
    width: var(--size);
  }
  .fixed_banner::before {
    content: "";
    position: absolute;
    width: var(--px-body);
    height: 100%;
    top: 0px;
    left: 100%;
    background: var(--main-color);
    z-index: 1;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 0.1em;
  }
  .fixed_banner p {
    border-radius: 10px 0 0 10px;
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p .tt {
    font-size: 1.6em;
    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: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: #129042;
    position: absolute;
    left: var(--size);
    height: 100%;
    top: 0;
    width: var(--w_tel);
    border-left: 1px solid #fff;
  }
  .fixed_banner .tel .ov .text {
    font-size: 2em;
    font-weight: 400;
    font-family: var(--f-en);
  }
  .fixed_banner .fee:hover p {
    background-color: #f29090;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px), (min-width: 769px) and (max-height: 800px) {
  .fixed_banner {
    font-size: clamp(6.5px, 0.65vw, 7.75px);
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  .fixed_banner {
    top: calc(50% - 35em);
  }
}
footer {
  position: relative;
  margin-top: calc(var(--footer-pt) * -1);
  background-color: var(--main-color);
  z-index: 0;
}
footer::before {
  content: "";
  position: absolute;
  width: 68.6em;
  aspect-ratio: 1/1;
  background: url("../images/ft_decor.png") no-repeat center/cover;
}
footer .ft_info {
  position: relative;
}
footer .ft_info::before {
  content: "";
  position: absolute;
  width: calc(100vw - var(--px-body) * 2);
  height: calc(round(100%, 1px) - 1px);
  top: 0;
  left: calc(50% - (50vw - var(--px-body)));
  background-repeat: no-repeat;
  background-position: top center;
  z-index: -1;
}
footer .ft_info::after {
  content: "";
  position: absolute;
  width: 100vw;
  aspect-ratio: 1920/100;
  top: round(100% - min(5.2vw, 100px), 2px);
  left: calc(50% - 50vw);
  background: url("../images/ft_bg02.png") no-repeat top center/100% auto;
  z-index: -1;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  text-decoration: none;
}
footer .ft_logo {
  display: table;
  max-width: 399px;
  margin-bottom: 25px;
}
footer .ft_logo a:hover {
  opacity: 1;
}
footer .ft_image .img_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.875em;
}
footer .ft_image .img_group picture {
  max-width: calc(33.3333333333% - 1.25em);
}
footer .ft_image .img_group .w-full {
  max-width: 100%;
}
footer .ft_tel a {
  position: relative;
  font-size: clamp(28px, 3.8vw, 42px);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  color: var(--main-color);
  padding-left: 1.0952em;
}
footer .ft_tel a::before {
  content: "";
  position: absolute;
  width: 0.6429em;
  aspect-ratio: 1/1;
  top: 0.3095em;
  left: 0.0476em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 27' %3E%3Cpath d='M26.471,20.301 L26.471,25.464 C26.471,26.228 25.877,26.866 25.111,26.918 C24.472,26.963 23.951,26.988 23.547,26.988 C10.630,26.988 0.160,16.531 0.160,3.631 C0.160,3.227 0.181,2.705 0.227,2.067 C0.281,1.300 0.918,0.710 1.685,0.710 L6.854,0.710 C7.230,0.710 7.545,0.995 7.582,1.368 C7.616,1.701 7.646,1.967 7.676,2.171 C7.966,4.197 8.562,6.167 9.442,8.014 C9.581,8.309 9.490,8.654 9.226,8.839 L6.073,11.093 C8.001,15.578 11.583,19.159 16.076,21.084 L18.327,17.938 C18.517,17.673 18.870,17.583 19.165,17.723 C21.014,18.600 22.985,19.193 25.012,19.482 C25.214,19.511 25.482,19.543 25.816,19.575 C26.189,19.613 26.473,19.924 26.472,20.301 L26.471,20.301 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 .ft_link {
  font-size: min(0.78vw, 10px);
  position: relative;
  z-index: 0;
  padding: 5px 0 0 10px;
  margin-right: -11px;
}
footer .ft_link .title,
footer .ft_link a {
  color: #fff;
}
footer .ft_link a:hover {
  color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  footer {
    padding: 0 0 35px;
  }
  footer::before {
    font-size: min(0.78vw, 10px);
    bottom: -18.7em;
    right: -17.2em;
  }
  footer .ft_image {
    margin-bottom: 80px;
  }
  footer .ft_image .wrap_h3 {
    margin-bottom: 50px;
  }
  footer .ft_info {
    padding: calc(var(--footer-pt) + 86px) 45px clamp(80px, 10vw, 116px) 110px;
  }
  footer .ft_info::before {
    background-size: cover;
    background-image: url(../images/ft_bg01.jpg);
  }
  footer .ft_info .idx_box {
    display: flex;
    justify-content: space-between;
  }
  footer .ft_info .box01 {
    width: 40%;
    padding-top: 14px;
    max-width: 425px;
  }
  footer .ft_info .box02 {
    width: 55%;
    max-width: 550px;
  }
  footer .ft_logo {
    width: 95%;
  }
  footer .ft_address {
    margin-bottom: 23px;
  }
  footer .time_sheet table {
    font-size: min(0.8vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1566px) {
  footer .ft_info {
    padding-left: clamp(40px, 5vw, 80px);
    padding-right: clamp(40px, 5vw, 80px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  footer .ft_link {
    padding: 0 clamp(60px, 5.5vw, 80px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_link .title {
    font-size: 2.2em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  footer .ft_link {
    font-size: 6.75px;
    padding: 0;
  }
}

.ft_link {
  font-size: 10px;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .link_list {
    display: flex;
  }
  .ft_link .link_list > div > ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
  }
  .ft_link .menu01 {
    width: 27%;
  }
  .ft_link .menu01 > ul {
    max-height: 54em;
  }
  .ft_link .menu02 {
    width: 33%;
  }
  .ft_link .menu02 > ul {
    max-height: 40em;
  }
  .ft_link .menu02 > ul > li:nth-child(n+19) {
    max-width: fit-content;
  }
  .ft_link .menu03 {
    width: 40%;
  }
  .ft_link .menu03 > ul {
    max-height: 50em;
  }
  .ft_link .menu03 > ul > li:nth-child(n+19) {
    max-width: fit-content;
  }
}
.ft_link .title {
  margin-bottom: 1em;
  padding-left: 0;
  font-size: 2.4em;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4;
  pointer-events: none;
  font-family: var(--f-en);
  color: var(--main-color);
}
.ft_link .title::before {
  display: none;
}
.ft_link ul {
  padding-left: 0.6em;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.65em;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  color: var(--clr1);
  line-height: 1.6;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}

.copyright {
  margin: 0 auto;
  color: #fff;
  position: relative;
  z-index: 1;
}
.copyright .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.copyright .textwidget {
  display: block;
  border-left: 1px solid #fff;
  padding-left: 22px;
  margin-left: 22px;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: calc(var(--fs-base) - 2px);
  font-weight: 400;
  line-height: 23px;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 120px;
}

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

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