@charset "UTF-8";
:root {
  --f-jp: "Zen Maru Gothic", sans-serif;
  --f-en: "Zen Maru Gothic", sans-serif;
  --f-num: "Barlow", sans-serif;
  --fs-base: 16px;
  --lh-base: 2.25;
  --ls-base: .1em;
  --main-color: #ed7848;
  --clr1: #6f6f6e;
  --clr2: #66be96;
  --clr3: #f67527;
  --clr-ttl: #3b3a35;
  --ttl_size: 28px;
  --wrapper: 120px;
  --border-radius: 10px;
}

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

#mainContent {
  position: relative;
}

.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 (max-width: 485px) {
  .pc_485 {
    display: none !important;
  }
}
@media only screen and (min-width: 486px) {
  .sp_485 {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .pc_640 {
    display: none !important;
  }
}
@media only screen and (min-width: 641px) {
  .sp_640 {
    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-orange {
  color: #f67527 !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;
  transition: all 0.3s ease;
  cursor: pointer;
}
.TabContainer .TabPager > div.active {
  pointer-events: none;
  z-index: 1;
}
.TabContainer .TabPager > div .tt {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 1em;
  font-size: calc(var(--fs-base) + 2px);
  font-weight: 500;
  line-height: 1.4;
}
.TabContainer .TabPager > div .tt::after {
  content: "";
  position: absolute;
  width: 0.7778em;
  height: 0.6667em;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' %3E%3Cpath d='M8.700,10.644 C7.918,11.905 6.082,11.905 5.300,10.644 L0.846,3.461 C0.020,2.129 0.978,0.407 2.546,0.407 L11.454,0.407 C13.022,0.407 13.980,2.129 13.154,3.461 L8.700,10.644 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;
}
.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%;
  --clr-btn: color("orange", 400);
  font-size: 1em !important;
  min-width: 18em;
  max-width: 35em;
  --clr-btn: #f67527;
}
.btn-group .btn a {
  position: relative;
  min-height: 4.4444em;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--f-jp);
  color: #fff;
  background: url(../images/btn_bg01.png) no-repeat center left/auto 100%, url(../images/btn_bg02.png) no-repeat center right/auto 100%, var(--clr-btn);
  border: 1px solid #eeeae2;
  border-radius: 999em;
  padding: 0.3889em 2em 0.5556em;
  box-shadow: -2.344px 5.523px 8.9px 1.1px rgba(115, 119, 117, 0.13);
  transition: all 0.3s ease;
}
.btn-group .btn a::after {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: round(0.6111em, 1px);
  aspect-ratio: 11/10;
  margin-left: 0.3333em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 10' %3E%3Cpath d='M9.323,3.170 C10.887,3.880 10.887,6.102 9.323,6.812 L2.827,9.762 C1.503,10.363 0.000,9.395 0.000,7.940 L0.000,2.042 C0.000,0.588 1.503,-0.381 2.827,0.221 L9.323,3.170 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: #fff;
}
.btn-group .btn a:hover {
  opacity: 1;
}
.btn-group .btn a.atv {
  pointer-events: none;
  background-color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn a:not([target]):hover {
    background-color: var(--clr2);
  }
}
.btn-group .btn.st2 {
  --clr-btn: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.st2 a:hover {
    background-color: #f67527;
  }
}

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

@media only screen and (max-width: 768px) {
  .br_768 {
    display: block;
  }
  .in_768 {
    display: inline;
  }
  .dis_768 {
    display: none;
  }
}
@media only screen and (max-width: 319px) {
  .br_768 {
    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: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

.ovh header {
  background-color: #f4f2ea;
}

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

.logo {
  height: 100%;
  max-width: 460px;
}
.logo a {
  display: block;
  height: 100%;
  text-align: center;
}
.logo img {
  border-bottom-right-radius: 1.25em;
  max-height: 100%;
  width: auto;
}

.right_head {
  width: 50%;
  padding-right: 10.7em;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.web-btn a {
  width: 15.5909em;
  height: 3.6364em;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 999em;
  text-decoration: none;
  font-size: 2.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.1818181818;
  color: var(--main-color);
}
.web-btn a .tt {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 2.1818em;
}
.web-btn a .tt::before {
  content: "";
  position: absolute;
  width: 1.4091em;
  aspect-ratio: 31/35;
  top: 0.1364em;
  left: 0.1818em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 35' %3E%3Cpath d='M30.162,21.425 L29.371,22.160 L28.285,23.169 L18.146,32.594 L14.163,28.889 L24.302,19.469 L25.388,18.460 L26.179,17.723 C27.281,16.705 29.062,16.705 30.162,17.723 C31.260,18.747 31.260,20.402 30.162,21.425 ZM17.136,23.752 L15.393,25.371 L9.337,30.998 C8.751,31.542 7.957,31.851 7.129,31.851 L2.026,31.851 C0.903,31.848 -0.006,31.003 -0.007,29.958 L-0.007,8.097 L6.673,8.097 C7.796,8.095 8.705,7.249 8.706,6.205 L8.706,-0.001 L22.939,-0.001 C24.061,0.000 24.971,0.846 24.972,1.890 L24.972,14.937 C24.972,15.916 24.552,16.861 23.805,17.556 L17.136,23.752 ZM5.511,18.894 L11.902,18.894 C12.383,18.887 12.769,18.521 12.763,18.075 C12.758,17.634 12.375,17.277 11.901,17.272 L5.511,17.272 C5.030,17.282 4.646,17.649 4.653,18.095 C4.659,18.531 5.040,18.886 5.511,18.894 ZM19.454,10.795 L5.511,10.795 C5.031,10.794 4.641,11.157 4.640,11.602 L4.640,11.604 C4.639,12.053 5.028,12.412 5.509,12.416 C5.510,12.416 5.510,12.416 5.511,12.416 L19.454,12.416 C19.935,12.416 20.325,12.053 20.325,11.604 C20.325,11.157 19.935,10.795 19.454,10.795 ZM6.673,6.476 L0.510,6.476 C0.535,6.448 0.562,6.422 0.591,6.395 L6.876,0.554 C6.904,0.527 6.933,0.501 6.964,0.478 L6.964,6.205 C6.961,6.354 6.832,6.475 6.673,6.476 ZM13.109,29.930 L17.027,33.573 C16.998,33.585 12.595,34.952 12.595,34.952 C12.442,34.997 12.277,34.997 12.123,34.952 C11.718,34.831 11.494,34.426 11.625,34.050 C11.625,34.050 13.095,29.957 13.109,29.930 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;
}
.web-btn a .tt .sm {
  display: block;
  font-size: 0.6364em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #3b3a35;
}
@media only screen and (min-width: 769px) {
  .web-btn a:hover {
    opacity: 1;
    color: var(--main-color);
  }
}

@media only screen and (min-width: 769px) {
  header {
    font-size: min(0.875vw, 10px);
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
  .menu_toggle .inside .ft_link .menu01 {
    margin-bottom: 3em;
  }
  .menu_toggle .inside .ft_link .menu01 > ul {
    gap: 4em 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .menu_toggle .inside .ft_link {
    max-width: 1000px;
    font-size: min(0.9vw, 9px);
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 800px) and (orientation: landscape) {
  .menu_toggle .inside .ft_link {
    font-size: min(1.2vh, 8.75px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .menu_toggle .inside .ft_link li:not(:last-child) {
    margin-bottom: 1.5em;
  }
  .menu_toggle .inside .ft_link .menu01 {
    margin-bottom: 2em;
  }
  .menu_toggle .inside .ft_link .menu01 > ul {
    gap: 3em 0;
  }
  .menu_toggle .inside .ft_link .menu-child > a {
    margin-bottom: 1em !important;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .item {
  max-width: clamp(220px, 28vw, 470px);
}

.time_sheet {
  position: relative;
  font-size: 10px;
}
.time_sheet::before {
  content: "";
  position: absolute;
  width: 8.9em;
  aspect-ratio: 89/54;
  bottom: calc(100% - 1.1em);
  right: 3.1em;
  background: url("../images/timesheet_decor.png") no-repeat center/cover;
}
.time_sheet .note {
  margin-top: 0.8889em;
  font-size: calc(var(--fs-base) + 2px);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr-ttl);
  text-align: center;
}
.time_sheet .note span {
  font-weight: 700;
  color: #f67527;
}
.time_sheet table {
  font-feature-settings: "palt";
}
.time_sheet table thead {
  background-color: #7f685b;
}
.time_sheet table thead th {
  color: #fff;
}
.time_sheet table thead th:first-child {
  border-top-left-radius: 1.1111em;
}
.time_sheet table thead th:last-child {
  border-top-right-radius: 1.1111em;
}
.time_sheet table tbody {
  background-color: #fff;
}
.time_sheet table tbody tr:last-child td {
  padding-bottom: 1.0556em;
}
.time_sheet table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 1.1111em;
}
.time_sheet table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 1.1111em;
}
.time_sheet table tbody tr:not(:last-child) td::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: -1px;
  left: 0;
  right: 0;
  background-color: #e8e7e2;
}
.time_sheet table th,
.time_sheet table td {
  border: none;
  text-align: center;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 9.74%;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 3.4%;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 18%;
  padding-left: 3.167%;
  text-align: left;
}
.time_sheet table th {
  padding: 1.1667em 0.2em 1.2222em;
}
.time_sheet table td {
  position: relative;
  padding: 0.8889em 0.2em 0.9444em;
  color: #f67527;
}
.time_sheet table td:first-child {
  color: var(--clr-ttl);
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
  :root {
    --fs-base: 14px;
    --ttl_size: 22px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 992px) {
  :root {
    --wrapper: 80px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 25px;
  right: 25px;
  box-shadow: 10px 17.321px 44.5px 5.5px rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 60px;
  height: 60px;
  margin: 0;
}

@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% - 5em);
  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%;
}
.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: currentColor;
  margin-right: 0.5em;
}
.fixed_banner .tel p {
  background-color: #fff;
  color: #f67527;
}
.fixed_banner .tel p .tt::before {
  width: 1.916667em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 223 224' %3E%3Cpath d='M222.907,166.838 L222.907,210.592 C222.909,217.120 217.879,222.520 211.391,222.958 C205.982,223.331 201.562,223.531 198.146,223.531 C88.744,223.531 0.068,134.864 0.068,25.466 C0.068,22.058 0.254,17.644 0.636,12.224 C1.093,5.755 6.488,0.709 12.992,0.709 L56.768,0.709 C59.948,0.709 62.615,3.125 62.933,6.289 C63.218,9.131 63.479,11.393 63.725,13.113 C66.185,30.293 71.227,46.982 78.681,62.647 C79.857,65.122 79.087,68.080 76.860,69.665 L50.145,88.758 C66.478,126.815 96.810,157.140 134.873,173.475 L153.936,146.824 C155.547,144.568 158.532,143.782 161.031,144.961 C176.692,152.397 193.386,157.417 210.550,159.885 C212.273,160.117 214.537,160.394 217.360,160.678 C220.522,160.994 222.923,163.668 222.917,166.838 L222.907,166.838 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: #f67527;
}
.fixed_banner .web p .tt::before {
  width: 2.2em;
  aspect-ratio: 31/35;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 35' %3E%3Cpath d='M30.162,21.425 L29.371,22.160 L28.285,23.169 L18.146,32.594 L14.163,28.889 L24.302,19.469 L25.388,18.460 L26.179,17.723 C27.281,16.705 29.062,16.705 30.162,17.723 C31.260,18.747 31.260,20.402 30.162,21.425 ZM17.136,23.752 L15.393,25.371 L9.337,30.998 C8.751,31.542 7.957,31.851 7.129,31.851 L2.026,31.851 C0.903,31.848 -0.006,31.003 -0.007,29.958 L-0.007,8.097 L6.673,8.097 C7.796,8.095 8.705,7.249 8.706,6.205 L8.706,-0.001 L22.939,-0.001 C24.061,0.000 24.971,0.846 24.972,1.890 L24.972,14.937 C24.972,15.916 24.552,16.861 23.805,17.556 L17.136,23.752 ZM5.511,18.894 L11.902,18.894 C12.383,18.887 12.769,18.521 12.763,18.075 C12.758,17.634 12.375,17.277 11.901,17.272 L5.511,17.272 C5.030,17.282 4.646,17.649 4.653,18.095 C4.659,18.531 5.040,18.886 5.511,18.894 ZM19.454,10.795 L5.511,10.795 C5.031,10.794 4.641,11.157 4.640,11.602 L4.640,11.604 C4.639,12.053 5.028,12.412 5.509,12.416 C5.510,12.416 5.510,12.416 5.511,12.416 L19.454,12.416 C19.935,12.416 20.325,12.053 20.325,11.604 C20.325,11.157 19.935,10.795 19.454,10.795 ZM6.673,6.476 L0.510,6.476 C0.535,6.448 0.562,6.422 0.591,6.395 L6.876,0.554 C6.904,0.527 6.933,0.501 6.964,0.478 L6.964,6.205 C6.961,6.354 6.832,6.475 6.673,6.476 ZM13.109,29.930 L17.027,33.573 C16.998,33.585 12.595,34.952 12.595,34.952 C12.442,34.997 12.277,34.997 12.123,34.952 C11.718,34.831 11.494,34.426 11.625,34.050 C11.625,34.050 13.095,29.957 13.109,29.930 Z'/%3E%3C/svg%3E");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 8em;
    width: 8em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 0.5em;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p .tt {
    font-size: 1.2em;
    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 p {
    border-top-left-radius: 0.833em;
  }
  .fixed_banner .tel .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    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: 1.5em;
    font-family: var(--f-en);
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.5em;
  }
  .fixed_banner .mail p {
    border-bottom-left-radius: 0.833em;
  }
}
@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 {
  position: relative;
  background-color: #f4f2ea;
  z-index: 1;
}
footer::before {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 192/10;
  bottom: calc(100% - 5px);
  left: 0;
  right: 0;
  background: url("../images/ft_bg.png") no-repeat center/cover;
}
footer::after {
  content: "";
  position: absolute;
  width: 11.1em;
  aspect-ratio: 1/1;
  background: url("../images/ft_decor03.png") no-repeat center/cover;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  text-decoration: none;
}
footer .ft_block {
  position: relative;
}
footer .ft_block::before {
  content: "";
  position: absolute;
  width: 11.9em;
  aspect-ratio: 119/131;
  background: url("../images/ft_decor01.png") no-repeat center/cover;
}
footer .ft_logo {
  display: table;
  max-width: 585px;
  margin: 0 auto;
}
footer .ft_logo a:hover {
  opacity: 1;
}
footer .ft_info .idx_box.box02 {
  position: relative;
  max-width: 1680px;
}
footer .ft_info .idx_box.box02::before {
  content: "";
  position: absolute;
  width: 14.5em;
  aspect-ratio: 145/141;
  background: url("../images/ft_decor02.png") no-repeat center/cover;
}
footer .ft_info .info {
  max-width: 611px;
  background-color: rgba(255, 255, 255, 0.5);
  border: 2px solid #fff;
  height: fit-content;
}
footer .ft_address {
  font-size: calc(var(--fs-base) + 2px);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: var(--clr-ttl);
  text-align: center;
}
footer .ft_bnr {
  display: table;
  margin: 0 auto;
}
footer .ft_bnr a:hover {
  opacity: 1;
}
footer .ft_map {
  border: 1px solid #d8d8d8;
  overflow: hidden;
}
footer .ft_map iframe {
  height: 100%;
}
footer .ft_img {
  max-width: 630px;
}
@media only screen and (min-width: 769px) {
  footer {
    padding: 13px 0 clamp(80px, 10vw, 120px);
  }
  footer::after {
    font-size: min(0.78vw, 10px);
    bottom: -1.5em;
    left: 16.3em;
  }
  footer .ft_block::before {
    font-size: min(0.78vw, 10px);
    top: -6.9em;
    right: 12.4em;
  }
  footer .ft_logo {
    width: 65%;
    margin-bottom: 4em;
  }
  footer .ft_info {
    margin-bottom: 5em;
  }
  footer .ft_info .idx_box {
    display: flex;
    justify-content: space-between;
  }
  footer .ft_info .idx_box.box01 {
    margin-bottom: 68px;
  }
  footer .ft_info .idx_box.box02 {
    margin: 0 -200px;
  }
  footer .ft_info .idx_box.box02::before {
    font-size: min(0.78vw, 10px);
    bottom: calc(100% - 0.7em);
    left: 17.6em;
  }
  footer .ft_info .info {
    width: 48%;
    border-radius: 20px;
    padding: 34px 20px 57px;
  }
  footer .ft_info .time_sheet {
    width: 48%;
    max-width: 600px;
  }
  footer .ft_address {
    margin-bottom: 20px;
  }
  footer .ft_map {
    border-radius: 20px;
    width: 61%;
    max-width: 1020px;
    max-height: 432px;
  }
  footer .ft_img {
    width: 38%;
  }
  footer .ft_img img {
    border-radius: 20px;
  }
  footer .ft_link {
    font-size: min(0.9vw, 10px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1700px) {
  footer .ft_info .idx_box.box02 {
    margin: 0 auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  footer .ft_info .idx_box.box02::before {
    left: 0;
  }
  footer::after {
    left: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer .ft_block::before {
    right: 4em;
  }
  footer .ft_logo {
    margin-bottom: 50px;
  }
  footer .ft_info {
    margin-bottom: 50px;
  }
  footer .time_sheet {
    font-size: min(1vw, 10px);
  }
}

.ft_link {
  font-size: 10px;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    color: var(--main-color);
  }
}
.ft_link .menu-child:not(.lv2) > a {
  position: relative;
  background-color: #fff;
  border-radius: 5px;
  width: 100%;
  max-width: 360px;
  min-height: 2.7273em;
  font-size: 2.2em;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: var(--clr-ttl);
  border-left: 6px solid #f67527;
  display: flex;
  align-items: center;
  padding: 0.4545em 0.9091em 0.3636em;
  margin-bottom: 1.2727em;
}
.ft_link .menu-child:not(.lv2) > a::before {
  content: none;
}
.ft_link .menu-child:not(.lv2) > a::after {
  content: "";
  position: absolute;
  width: 0.5em;
  aspect-ratio: 11/10;
  top: calc(50% - 0.1364em);
  right: 1.5em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 10' %3E%3Cpath d='M9.553,3.169 C11.118,3.880 11.118,6.103 9.553,6.812 L3.052,9.762 C1.728,10.363 0.226,9.396 0.226,7.942 L0.226,2.041 C0.226,0.587 1.728,-0.381 3.052,0.220 L9.553,3.169 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: #f67527;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu-child:not(.lv2) > a:hover {
    background-color: #f67527;
    color: #fff;
  }
  .ft_link .menu-child:not(.lv2) > a:hover::after {
    background-color: #fff;
  }
}
.ft_link .menu-child:not(.lv2):has(ul) > a {
  pointer-events: none;
  border-color: #f9be00;
}
.ft_link .menu-child:not(.lv2):has(ul) > a::after {
  content: none;
}
.ft_link a {
  position: relative;
  display: table;
  padding-left: 1.1111em;
  color: inherit;
  font-size: 1.8em;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--clr1);
}
.ft_link a::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.ft_link a:hover {
  opacity: 1;
}
.ft_link .menu01 {
  width: 100%;
}
.ft_link .menu02 {
  width: 100%;
}
.ft_link .menu02 .menu-child:not(.lv2) {
  position: relative;
  z-index: 0;
}
.ft_link .menu02 .menu-child:not(.lv2) > a {
  border-color: var(--clr2) !important;
}
.ft_link .menu02 .menu-child.lv2 > a {
  font-size: 2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-left: 0;
  color: var(--clr2);
  margin-bottom: 1.3em;
  pointer-events: none;
}
.ft_link .menu02 .menu-child.lv2 > a::before {
  content: none;
}
@media only screen and (min-width: 769px) {
  .ft_link li:not(:last-child) {
    margin-bottom: 2.1em;
  }
  .ft_link .menu-child {
    margin-bottom: 0 !important;
  }
  .ft_link .menu-child:not(.lv2):has(ul) > ul {
    padding-left: 2.1em;
  }
  .ft_link .menu01 {
    margin-bottom: 5em;
  }
  .ft_link .menu01 > ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6.2em 0;
  }
  .ft_link .menu01 > ul > li {
    width: 30%;
    max-width: 360px;
  }
  .ft_link .menu02 .menu-child:not(.lv2) {
    position: relative;
  }
  .ft_link .menu02 .menu-child:not(.lv2)::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    top: 3em;
    left: 0;
    background-color: #bfbfbf;
    z-index: -1;
  }
  .ft_link .menu02 .menu-child:not(.lv2) > a {
    width: 30%;
    margin-bottom: 1.1818em;
  }
  .ft_link .menu02 .menu-child:not(.lv2) > ul {
    display: flex;
    justify-content: space-between;
  }
}

.copyright {
  margin: 0 auto;
  color: #fff;
  padding: 25px 0;
  position: relative;
  z-index: 0;
}
.copyright .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #f9be00;
}
.copyright .textwidget {
  display: block;
  padding-left: 20px;
  margin-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: calc(var(--fs-base) - 2px);
  font-weight: 400;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 142px;
}

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

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