@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Zen Kaku Gothic Antique", sans-serif;
  --f-kosugi: "Kosugi Maru", sans-serif;
  --main-color: #4caf50;
  --clr1: #5c665e;
  --clr2: #ffa726;
  --ttl_size: 28px;
  --wrapper: 100px;
  --border-radius: 10px;
}

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

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.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not(.tel_click, [target*=_blank]) {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  a:not(.tel_click, [target*=_blank]):hover {
    opacity: 0.7;
  }
  a:not(.tel_click, [target*=_blank]):hover, a:not(.tel_click, [target*=_blank]):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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*==========================================================================*/
/*                            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 {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

@media only screen and (min-width: 769px) {
  .txt_ver_pc {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            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;
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
}
.TabContainer .TabContent .content {
  -webkit-transition: all 0.3s ease-in-out;
  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;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin: 0px auto;
  max-width: 440px;
  border-radius: 30px;
  background-color: #f9f9f9;
}
.TabContainer .TabPager > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 11px 20px 12px;
  width: calc(50% - 0px);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  color: #5c665e;
  z-index: 1;
}
.TabContainer .TabPager > div::before {
  position: absolute;
  content: "";
  --spaceY: 6px;
  z-index: -1;
  width: calc(100% + 10px);
  height: calc(100% + var(--spaceY) + 5px);
  border-radius: 35px;
  background-color: #ffa726;
  top: calc(var(--spaceY) * -1);
  left: -5px;
  opacity: 0;
  visibility: hidden;
  -webkit-box-shadow: -2px 0px 19px 1px rgba(0, 0, 0, 0.05);
          box-shadow: -2px 0px 19px 1px rgba(0, 0, 0, 0.05);
}
.TabContainer .TabPager > div:first-child {
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
}
.TabContainer .TabPager > div:last-child {
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.05em;
  font-family: var(--f-kosugi);
}
.TabContainer .TabPager > div:hover .tt {
  color: var(--main-color);
}
.TabContainer .TabPager > div.active {
  z-index: 1;
  color: #fff;
}
.TabContainer .TabPager > div.active::before {
  opacity: 1;
  visibility: visible;
}
.TabContainer .TabPager > div.active:hover .tt {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager {
    width: calc(100% - 20px);
  }
  .TabContainer .TabPager > div::before {
    --spaceY: 4px;
    height: calc(100% + var(--spaceY) + 2px);
  }
  .TabContainer .TabPager > div p {
    font-size: min(16px, 3.5vw);
    letter-spacing: 0;
  }
}

.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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          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;
}

.br-auto {
  display: inline-block;
}

.tel_click {
  display: table;
  text-decoration: none;
  margin-left: auto;
  margin-right: auto;
}
.tel_click .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--f-kosugi);
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1;
  font-size: 2em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 11px;
  width: 1.03125em;
  height: 1.125em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='66px' height='72px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M55.554,62.087 L53.077,59.537 C59.142,53.298 62.482,45.003 62.482,36.182 C62.482,27.359 59.142,19.063 53.077,12.825 L55.554,10.276 C62.280,17.195 65.984,26.397 65.984,36.182 C65.984,45.966 62.280,55.167 55.554,62.087 ZM48.950,55.291 L46.474,52.742 C50.773,48.319 53.141,42.437 53.141,36.182 C53.141,29.926 50.773,24.045 46.474,19.618 L48.950,17.073 C53.912,22.178 56.644,28.963 56.644,36.182 C56.644,43.400 53.912,50.188 48.950,55.291 ZM42.345,48.498 L39.869,45.949 C42.405,43.340 43.801,39.870 43.801,36.182 C43.801,32.492 42.405,29.022 39.869,26.414 L42.345,23.868 C45.544,27.157 47.304,31.529 47.304,36.182 C47.304,40.833 45.544,45.207 42.345,48.498 ZM35.647,65.526 C35.307,66.095 34.907,66.653 34.467,67.170 C32.028,70.028 28.525,71.496 24.999,71.496 C22.198,71.496 19.384,70.568 17.076,68.667 C7.683,60.924 1.927,50.047 0.868,38.043 C-0.187,26.067 3.561,14.401 11.425,5.192 C15.800,0.069 23.603,-0.603 28.816,3.697 C29.341,4.128 29.833,4.608 30.277,5.124 L30.477,5.356 C31.506,6.594 31.644,8.350 30.821,9.730 L22.315,24.001 C21.844,24.791 20.924,25.172 20.024,24.955 C20.014,24.950 17.441,24.301 15.951,23.940 C14.500,28.125 13.965,32.488 14.359,36.918 C14.747,41.275 16.075,45.583 18.202,49.399 C19.612,48.802 22.055,47.731 22.057,47.729 C22.914,47.367 23.878,47.591 24.473,48.277 L35.377,60.886 C36.431,62.104 36.604,63.858 35.809,65.250 L35.647,65.526 ZM33.575,62.419 L22.812,49.975 C22.164,50.258 20.032,51.189 18.888,51.668 C17.913,52.077 16.786,51.700 16.268,50.793 C13.863,46.571 12.426,41.972 11.994,37.125 C11.562,32.265 12.171,27.475 13.804,22.895 C14.157,21.902 15.211,21.341 16.251,21.590 C17.452,21.878 19.683,22.437 20.384,22.613 L28.778,8.532 C29.093,8.001 29.040,7.328 28.646,6.856 L28.485,6.668 C28.117,6.242 27.722,5.855 27.299,5.508 C25.432,3.968 23.154,3.216 20.889,3.216 C18.038,3.216 15.208,4.407 13.237,6.716 C5.785,15.438 2.233,26.493 3.234,37.838 C4.237,49.211 9.691,59.516 18.593,66.855 C22.810,70.331 29.118,69.790 32.655,65.648 C33.010,65.232 33.332,64.785 33.610,64.318 L33.742,64.092 C34.047,63.558 33.980,62.886 33.575,62.419 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;
}
@media only screen and (max-width: 768px) {
  .tel_click .icon {
    font-size: 1.8em;
  }
}

.idx-tel {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  text-align: center;
  padding-top: 37px;
  padding-bottom: 28px;
  position: relative;
}
.idx-tel .p {
  margin-top: 3px;
  color: #fff;
  margin-bottom: 0;
}
.idx-tel.st2 {
  background-color: #fff;
}
@media only screen and (min-width: 1281px) {
  .idx-tel.st2 {
    padding-bottom: 26px;
  }
}
.idx-tel.st2 .tel_click .icon {
  color: #203424;
}
.idx-tel.st2 .tel_click .icon::before {
  background-color: #4caf50;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='71px' height='77px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(76, 175, 80)' stroke-width='2px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(76, 175, 80)' d='M57.554,64.087 L55.077,61.538 C61.142,55.298 64.482,47.003 64.482,38.182 C64.482,29.359 61.142,21.063 55.077,14.826 L57.554,12.276 C64.280,19.195 67.984,28.397 67.984,38.182 C67.984,47.966 64.280,57.167 57.554,64.087 ZM50.950,57.291 L48.474,54.742 C52.773,50.320 55.141,44.437 55.141,38.182 C55.141,31.926 52.773,26.045 48.474,21.618 L50.950,19.073 C55.912,24.177 58.644,30.963 58.644,38.182 C58.644,45.400 55.912,52.186 50.950,57.291 ZM44.345,50.497 L41.869,47.949 C44.405,45.341 45.801,41.871 45.801,38.182 C45.801,34.493 44.405,31.023 41.869,28.414 L44.345,25.866 C47.544,29.156 49.304,33.530 49.304,38.182 C49.304,42.832 47.544,47.208 44.345,50.497 ZM37.647,67.527 C37.307,68.095 36.907,68.654 36.467,69.171 C34.028,72.026 30.525,73.496 26.999,73.496 C24.198,73.496 21.384,72.568 19.076,70.668 C9.683,62.924 3.927,52.047 2.868,40.043 C1.813,28.067 5.561,16.401 13.425,7.193 C17.800,2.070 25.603,1.398 30.816,5.697 C31.341,6.128 31.833,6.607 32.277,7.124 L32.477,7.356 C33.506,8.594 33.644,10.349 32.821,11.729 L24.315,26.001 C23.844,26.791 22.924,27.170 22.024,26.955 C22.014,26.951 19.441,26.301 17.951,25.941 C16.500,30.125 15.965,34.488 16.359,38.916 C16.747,43.275 18.075,47.584 20.202,51.399 C21.612,50.802 24.055,49.731 24.057,49.730 C24.914,49.367 25.878,49.590 26.473,50.277 L37.377,62.886 C38.431,64.104 38.604,65.858 37.809,67.251 L37.647,67.527 ZM35.575,64.419 L24.812,51.974 C24.164,52.258 22.032,53.189 20.888,53.668 C19.913,54.078 18.786,53.700 18.268,52.793 C15.863,48.571 14.426,43.973 13.994,39.126 C13.562,34.265 14.171,29.476 15.804,24.896 C16.157,23.902 17.211,23.341 18.251,23.588 C19.452,23.878 21.683,24.438 22.384,24.614 L30.778,10.531 C31.093,10.001 31.040,9.328 30.646,8.855 L30.485,8.667 C30.117,8.242 29.722,7.855 29.299,7.508 C27.432,5.969 25.154,5.216 22.889,5.216 C20.038,5.216 17.208,6.407 15.237,8.717 C7.785,17.439 4.233,28.493 5.234,39.837 C6.237,51.211 11.691,61.516 20.593,68.855 C24.810,72.331 31.118,71.790 34.655,67.648 C35.010,67.232 35.332,66.784 35.610,66.318 L35.742,66.092 C36.047,65.558 35.980,64.886 35.575,64.419 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='71px' height='77px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(76, 175, 80)' stroke-width='2px' stroke-linecap='butt' stroke-linejoin='miter' fill='rgb(76, 175, 80)' d='M57.554,64.087 L55.077,61.538 C61.142,55.298 64.482,47.003 64.482,38.182 C64.482,29.359 61.142,21.063 55.077,14.826 L57.554,12.276 C64.280,19.195 67.984,28.397 67.984,38.182 C67.984,47.966 64.280,57.167 57.554,64.087 ZM50.950,57.291 L48.474,54.742 C52.773,50.320 55.141,44.437 55.141,38.182 C55.141,31.926 52.773,26.045 48.474,21.618 L50.950,19.073 C55.912,24.177 58.644,30.963 58.644,38.182 C58.644,45.400 55.912,52.186 50.950,57.291 ZM44.345,50.497 L41.869,47.949 C44.405,45.341 45.801,41.871 45.801,38.182 C45.801,34.493 44.405,31.023 41.869,28.414 L44.345,25.866 C47.544,29.156 49.304,33.530 49.304,38.182 C49.304,42.832 47.544,47.208 44.345,50.497 ZM37.647,67.527 C37.307,68.095 36.907,68.654 36.467,69.171 C34.028,72.026 30.525,73.496 26.999,73.496 C24.198,73.496 21.384,72.568 19.076,70.668 C9.683,62.924 3.927,52.047 2.868,40.043 C1.813,28.067 5.561,16.401 13.425,7.193 C17.800,2.070 25.603,1.398 30.816,5.697 C31.341,6.128 31.833,6.607 32.277,7.124 L32.477,7.356 C33.506,8.594 33.644,10.349 32.821,11.729 L24.315,26.001 C23.844,26.791 22.924,27.170 22.024,26.955 C22.014,26.951 19.441,26.301 17.951,25.941 C16.500,30.125 15.965,34.488 16.359,38.916 C16.747,43.275 18.075,47.584 20.202,51.399 C21.612,50.802 24.055,49.731 24.057,49.730 C24.914,49.367 25.878,49.590 26.473,50.277 L37.377,62.886 C38.431,64.104 38.604,65.858 37.809,67.251 L37.647,67.527 ZM35.575,64.419 L24.812,51.974 C24.164,52.258 22.032,53.189 20.888,53.668 C19.913,54.078 18.786,53.700 18.268,52.793 C15.863,48.571 14.426,43.973 13.994,39.126 C13.562,34.265 14.171,29.476 15.804,24.896 C16.157,23.902 17.211,23.341 18.251,23.588 C19.452,23.878 21.683,24.438 22.384,24.614 L30.778,10.531 C31.093,10.001 31.040,9.328 30.646,8.855 L30.485,8.667 C30.117,8.242 29.722,7.855 29.299,7.508 C27.432,5.969 25.154,5.216 22.889,5.216 C20.038,5.216 17.208,6.407 15.237,8.717 C7.785,17.439 4.233,28.493 5.234,39.837 C6.237,51.211 11.691,61.516 20.593,68.855 C24.810,72.331 31.118,71.790 34.655,67.648 C35.010,67.232 35.332,66.784 35.610,66.318 L35.742,66.092 C36.047,65.558 35.980,64.886 35.575,64.419 Z'/%3E%3C/svg%3E");
  width: 1.09375em;
  height: 1.1875em;
  margin-right: 0.3125em;
}
.idx-tel.st2 .p {
  color: #203424;
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .idx-tel {
    padding-top: 25px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 768px) {
  .idx-tel {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .idx-tel .p {
    letter-spacing: 0.05em;
  }
}

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

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 20px;
  height: 13px;
  right: 8%;
  top: calc(50% - 6px);
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='26px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M26.500,-0.007 L23.1000,-0.007 C23.1000,5.410 27.250,9.529 31.500,11.915 L-0.000,11.915 L-0.000,14.080 L31.500,14.080 L31.500,14.080 C27.250,16.466 23.1000,20.583 23.1000,26.005 L26.500,26.005 C26.500,18.633 33.500,14.080 39.1000,14.080 L39.1000,11.915 C33.500,11.915 26.500,7.360 26.500,-0.007 '/%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);
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01, .btn-group .btn.style02 {
  width: 100%;
  min-width: 180px;
  max-width: 277px;
  overflow: hidden;
}
.btn-group .btn.style01 a, .btn-group .btn.style02 a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-height: 3.88889em;
  padding: 0.5em 1em;
  padding-left: 1.6111111111em;
  padding-bottom: 0.5555555556em;
  font-size: 1.8em;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #fff;
  background-color: #ffa726;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 40px;
}
.btn-group .btn.style01 a::after, .btn-group .btn.style02 a::after {
  background-color: #fff;
}
.btn-group .btn.style01 a:hover, .btn-group .btn.style02 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover, .btn-group .btn.style02 a:hover {
    background-color: #c7882b;
  }
}
.btn-group .btn.style02 a {
  background-color: #4caf50;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style02 a:hover {
    background-color: #2a952e;
  }
}

.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;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

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

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

/* 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: 119px;
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
  height: var(--wrapper);
}
header.active .hamburger-btn,
.ovh header .hamburger-btn {
  top: calc(var(--wrapper) / 2 - 10px);
}
header.active .hamburger-btn .button-toggle #menu_btn,
.ovh header .hamburger-btn .button-toggle #menu_btn {
  color: var(--clr1);
}
header.active #nav-icon span,
.ovh header #nav-icon span {
  background-color: var(--clr1);
}
header.active .logo img,
.ovh header .logo img {
  -webkit-filter: none;
          filter: none;
}

.header_top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 auto;
  padding: 5px 20px;
  height: 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  padding-left: 53px;
}

.logo {
  width: 25%;
  max-width: 248px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: auto;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.right_head {
  width: 70%;
  max-width: 920px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-left: 10.6%;
}

@media only screen and (min-width: 1921px) {
  .right_head {
    margin-left: 30%;
  }
}
.pc_navi {
  width: 100%;
}
.pc_navi > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: center;
  width: 100%;
  background-color: #fff;
  border-radius: 10px;
  padding-top: 19px;
  padding-bottom: 21px;
  padding-left: 68px;
  padding-right: 71px;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li:nth-child(4) .subInner {
  width: 40em;
}
.pc_navi > ul > li:nth-child(4) .subInner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pc_navi > ul > li:nth-child(4) .subInner ul li {
  width: 33.33%;
}
@media only screen and (max-width: 991px) {
  .pc_navi > ul > li:nth-child(4) .subInner {
    right: calc(50% + 4em);
  }
}
.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,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-right: 1.3125em;
}
.pc_navi > ul > li.menu-item-has-children > a::after, .pc_navi > ul > li.menu-item-has-children > a::before,
.pc_navi > ul > li.menu-item-has-children > p::after,
.pc_navi > ul > li.menu-item-has-children > p::before {
  position: absolute;
  content: "";
  background-color: #ef8033;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.pc_navi > ul > li.menu-item-has-children > a::before,
.pc_navi > ul > li.menu-item-has-children > p::before {
  width: 0.875em;
  height: 0.125em;
  top: 1.25em;
  right: 0;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  top: 0.875em;
  right: 0.375em;
  width: 0.125em;
  height: 0.875em;
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.pc_navi > ul > li.menu-item-has-children:has(.subInner.active) .title::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  height: 40px;
  text-decoration: none;
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.12em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #203424;
}
.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;
}
@media only screen and (max-width: 991px) {
  .pc_navi > ul > li:last-child .subInner {
    right: calc(50% + 5em);
  }
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 18em;
  right: 50%;
  bottom: -15px;
  padding-top: 0px;
  -webkit-transform: translate(50%, 100%);
          transform: translate(50%, 100%);
  -webkit-transition: all 0.2s ease-in-out;
  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: #2f6a31;
  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);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-size: 0.875em;
  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;
  -webkit-transform: translateY(-54%);
          transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 440px;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1320px;
    margin: auto;
    min-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .header_top {
    padding-left: 20px;
  }
  .right_head {
    margin-left: 8%;
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .right_head {
    margin-left: 5%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .right_head {
    width: 65%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .right_head {
    width: 63%;
  }
  .pc_navi > ul {
    padding-left: 40px;
    padding-right: 40px;
  }
  header {
    height: var(--wrapper);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul {
    padding-left: 10px;
    padding-right: 10px;
  }
  .pc_navi > ul > li > a,
  .pc_navi > ul > li p {
    font-size: min(16px, 1.35vw);
    height: 2.5em;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
  .right_head {
    margin-left: 2%;
    width: 61%;
  }
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .pc_navi > ul {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.idx_gallery {
  position: relative;
}
.idx_gallery::before {
  position: absolute;
  content: "";
  bottom: -103px;
  left: 0;
  width: 100%;
  height: calc(100% + 479px);
  background-color: #fff;
}
.idx_gallery .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 2;
}
.idx_gallery .item {
  margin: 0 12.5px;
}
.idx_gallery .item:nth-child(2n) {
  margin-top: 30px;
}
.idx_gallery .img {
  padding-top: 2em;
}
.idx_gallery .img img {
  border-radius: 20px;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.16);
          box-shadow: 0px 0px 30px 0px rgba(32, 52, 36, 0.16);
}
@media only screen and (min-width: 1921px) {
  .idx_gallery::before {
    bottom: -280px;
    height: calc(100% + 660px);
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx_gallery .item {
    width: 300px;
    margin: 0 8px;
  }
  .idx_gallery .item:nth-child(2n) {
    width: 200px;
    margin-top: 40px;
  }
}

.time_sheet {
  margin: 0px auto;
  border: 1px solid #fff;
  border-radius: 40px;
  padding: 0 0.9375em 1.777778em;
  font-size: min(18px, 1.5vw);
}
.time_sheet .note {
  margin-top: 18px;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
  padding-left: 34px;
  font-size: 16px;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet table {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}
.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  letter-spacing: 0.1em;
  width: 10.99%;
  border-bottom: 1px solid #d9d7d6;
  padding: 0;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 23.6%;
  letter-spacing: 0.05em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 10.4%;
}
.time_sheet table th {
  color: #fff;
  border-bottom: 0;
}
.time_sheet table th span {
  position: relative;
  z-index: 1;
  color: #203424;
}
.time_sheet table th span::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: calc(50% + 0.1111111111em);
  left: calc(50% - 0.0555555556em);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2.5555555556em;
  height: 2.5555555556em;
  background-color: #e6f4f9;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.time_sheet table td {
  color: #fff;
}
.time_sheet table tr:first-child th {
  padding-top: 2.555555556em;
  padding-bottom: 1.7222222222em;
}
.time_sheet table tr:nth-child(2) td {
  padding-bottom: 0.8888888889em;
}
.time_sheet table tr:nth-child(3) td {
  padding-top: 0.7222222em;
  padding-bottom: 0.77777778em;
}
.time_sheet.st2 {
  border-color: #5c665e;
}
.time_sheet.st2 table td {
  color: #4caf50;
}
.time_sheet.st2 table td:first-child {
  color: #203424;
}
.time_sheet.st2 table th span::before {
  background-color: #fff;
}
.time_sheet.st2 table th,
.time_sheet.st2 table td {
  border-color: #203424;
}
.time_sheet.st2 .note {
  color: #203424;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .time_sheet .note {
    padding-left: 0;
  }
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.totop {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  -webkit-box-shadow: 10px 17.321px 44.5px 5.5px rgba(0, 0, 0, 0.05);
          box-shadow: 10px 17.321px 44.5px 5.5px rgba(0, 0, 0, 0.05);
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 10px auto;
  background-position: center;
  border: 0px;
  width: 100%;
  height: 100%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (min-width: 769px) {
  .totop:hover {
    background-color: var(--main-color);
  }
  .totop:hover .icon {
    background-image: url(../images/totop-active.png);
  }
}
.bounce {
  -webkit-animation-name: bounces;
          animation-name: bounces;
}

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

@-webkit-keyframes bounces {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}

@keyframes bounces {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
  }
}
@-webkit-keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner {
  position: fixed;
  top: 430px;
  right: 0px;
  z-index: 15;
  -webkit-transition: right 0.3s ease-in-out;
  transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 0.3s;
  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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          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 {
  background-image: url(../images/fixed_tel-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.28571em;
  width: 2.1428571429em;
  height: 2.0714285714em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='58px' height='56px'%3E%3Cpath fill-rule='evenodd' fill='rgb(76, 175, 80)' d='M52.734,55.314 L5.266,55.314 C2.649,55.314 0.519,53.182 0.519,50.565 L0.519,10.695 C0.519,8.075 2.649,5.948 5.266,5.948 L6.216,5.948 L6.216,4.049 C6.216,1.953 7.919,0.251 10.013,0.251 L17.608,0.251 C19.702,0.251 21.405,1.953 21.405,4.049 L21.405,5.948 L52.734,5.948 C55.351,5.948 57.481,8.075 57.481,10.695 L57.481,50.565 C57.481,53.182 55.351,55.314 52.734,55.314 ZM19.507,4.049 C19.507,3.001 18.655,2.149 17.608,2.149 L10.013,2.149 C8.966,2.149 8.114,3.001 8.114,4.049 L8.114,43.921 C8.114,44.968 8.966,45.820 10.013,45.820 L17.608,45.820 C18.655,45.820 19.507,44.968 19.507,43.921 L19.507,4.049 ZM55.582,10.695 C55.582,9.123 54.304,7.845 52.734,7.845 L21.405,7.845 L21.405,43.921 C21.405,46.014 19.702,47.719 17.608,47.719 L10.013,47.719 C7.919,47.719 6.216,46.014 6.216,43.921 L6.216,7.845 L5.266,7.845 C3.696,7.845 2.418,9.123 2.418,10.695 L2.418,50.565 C2.418,52.137 3.696,53.415 5.266,53.415 L52.734,53.415 C54.304,53.415 55.582,52.137 55.582,50.565 L55.582,10.695 ZM48.936,22.086 L28.051,22.086 C27.004,22.086 26.152,21.233 26.152,20.185 L26.152,14.491 C26.152,13.446 27.004,12.593 28.051,12.593 L48.936,12.593 C49.984,12.593 50.835,13.446 50.835,14.491 L50.835,20.185 C50.835,21.233 49.984,22.086 48.936,22.086 ZM29.000,27.782 C30.049,27.782 30.899,28.631 30.899,29.681 C30.899,30.729 30.049,31.579 29.000,31.579 C27.951,31.579 27.101,30.729 27.101,29.681 C27.101,28.631 27.951,27.782 29.000,27.782 ZM29.000,36.326 C30.049,36.326 30.899,37.174 30.899,38.224 C30.899,39.275 30.049,40.124 29.000,40.124 C27.951,40.124 27.101,39.275 27.101,38.224 C27.101,37.174 27.951,36.326 29.000,36.326 ZM29.000,44.869 C30.049,44.869 30.899,45.720 30.899,46.769 C30.899,47.819 30.049,48.668 29.000,48.668 C27.951,48.668 27.101,47.819 27.101,46.769 C27.101,45.720 27.951,44.869 29.000,44.869 ZM38.494,27.782 C39.542,27.782 40.392,28.631 40.392,29.681 C40.392,30.729 39.542,31.579 38.494,31.579 C37.445,31.579 36.595,30.729 36.595,29.681 C36.595,28.631 37.445,27.782 38.494,27.782 ZM38.494,36.326 C39.542,36.326 40.392,37.174 40.392,38.224 C40.392,39.275 39.542,40.124 38.494,40.124 C37.445,40.124 36.595,39.275 36.595,38.224 C36.595,37.174 37.445,36.326 38.494,36.326 ZM38.494,44.869 C39.542,44.869 40.392,45.720 40.392,46.769 C40.392,47.819 39.542,48.668 38.494,48.668 C37.445,48.668 36.595,47.819 36.595,46.769 C36.595,45.720 37.445,44.869 38.494,44.869 ZM47.987,27.782 C49.036,27.782 49.886,28.631 49.886,29.681 C49.886,30.729 49.036,31.579 47.987,31.579 C46.938,31.579 46.088,30.729 46.088,29.681 C46.088,28.631 46.938,27.782 47.987,27.782 ZM47.987,36.326 C49.036,36.326 49.886,37.174 49.886,38.224 C49.886,39.275 49.036,40.124 47.987,40.124 C46.938,40.124 46.088,39.275 46.088,38.224 C46.088,37.174 46.938,36.326 47.987,36.326 ZM47.987,44.869 C49.036,44.869 49.886,45.720 49.886,46.769 C49.886,47.819 49.036,48.668 47.987,48.668 C46.938,48.668 46.088,47.819 46.088,46.769 C46.088,45.720 46.938,44.869 47.987,44.869 ZM10.962,13.541 L16.658,13.541 L16.658,15.441 L10.962,15.441 L10.962,13.541 ZM10.962,9.745 L16.658,9.745 L16.658,11.644 L10.962,11.644 L10.962,9.745 Z'/%3E%3C/svg%3E");
  background-color: #4caf50;
}
.fixed_banner .tel p .tt {
  color: #203424;
  font-weight: 500;
}
.fixed_banner .web p {
  background-color: #2e9de9;
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 2em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232 ' %3E%3Cpath d='M218.959,232.004 L13.039,232.004 C5.931,232.004 0.169,226.540 0.169,219.806 L0.169,49.115 C0.169,42.374 5.931,36.917 13.039,36.917 L51.648,36.917 L51.648,12.533 C51.648,5.799 57.410,0.348 64.518,0.348 C71.626,0.348 77.388,5.799 77.388,12.533 L77.388,36.917 L154.608,36.917 L154.608,12.533 C154.608,5.799 160.370,0.348 167.478,0.348 C174.586,0.348 180.348,5.799 180.348,12.533 L180.348,36.917 L206.089,36.917 L218.959,36.917 C226.069,36.917 231.829,42.374 231.829,49.115 L231.829,219.806 C231.829,226.540 226.069,232.004 218.959,232.004 ZM106.345,141.603 L83.269,119.752 C78.243,114.984 70.098,114.984 65.071,119.752 C60.043,124.508 60.043,132.228 65.071,136.983 L97.246,167.469 C99.659,169.750 102.934,171.045 106.345,171.045 C109.758,171.045 113.032,169.750 115.445,167.469 L166.925,118.702 C171.953,113.940 171.953,106.214 166.925,101.452 C161.898,96.690 153.753,96.690 148.726,101.452 L106.345,141.603 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: #2f6a31;
}
@media only screen and (min-width: 769px) {
  .fixed_banner .mail p {
    background-image: url(../images/fixed_contact-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-color: unset;
  }
}
.fixed_banner .mail p .tt::before {
  margin-bottom: 0.357142em;
  width: 2em;
  height: 2.2857142857em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='56px' height='63px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M54.427,35.845 L53.009,37.490 C52.726,37.818 52.205,37.841 51.852,37.540 L48.246,34.460 C47.894,34.160 47.838,33.646 48.121,33.317 L49.539,31.671 C50.823,30.184 52.691,30.490 53.913,31.539 C55.130,32.581 55.706,34.363 54.427,35.845 ZM50.988,38.625 C51.318,38.905 51.369,39.392 51.101,39.703 L39.046,53.674 C39.722,52.042 38.594,51.707 37.235,51.579 C37.061,51.563 36.902,51.495 36.777,51.387 C36.651,51.279 36.557,51.134 36.515,50.965 C36.183,49.647 35.680,48.590 34.158,49.502 L46.213,35.529 C46.481,35.217 46.969,35.194 47.300,35.476 L49.144,37.051 L50.988,38.625 ZM9.078,51.401 C7.931,51.401 6.993,50.466 6.993,49.327 C6.993,48.184 7.931,47.250 9.078,47.250 C10.225,47.250 11.164,48.184 11.164,49.327 C11.164,50.466 10.225,51.401 9.078,51.401 ZM9.078,26.503 C7.931,26.503 6.993,25.569 6.993,24.428 C6.993,23.288 7.931,22.353 9.078,22.353 C10.225,22.353 11.164,23.288 11.164,24.428 C11.164,25.569 10.225,26.503 9.078,26.503 ZM9.078,38.951 C7.931,38.951 6.993,38.020 6.993,36.876 C6.993,35.737 7.931,34.803 9.078,34.803 C10.225,34.803 11.164,35.737 11.164,36.876 C11.164,38.020 10.225,38.951 9.078,38.951 ZM45.576,31.690 C45.000,31.690 44.534,31.225 44.534,30.652 L44.534,14.055 C44.534,12.339 43.130,10.943 41.405,10.943 L35.148,10.943 L35.148,12.923 C35.148,14.121 34.213,15.094 33.063,15.094 L14.292,15.094 C13.142,15.094 12.207,14.121 12.207,12.923 L12.207,10.943 L4.907,10.943 C3.757,10.943 2.821,11.874 2.821,13.019 L2.821,58.663 C2.821,59.805 3.757,60.737 4.907,60.737 L31.603,60.737 C32.179,60.737 32.646,61.201 32.646,61.775 C32.646,62.349 32.179,62.811 31.603,62.811 L4.907,62.811 C2.607,62.811 0.736,60.952 0.736,58.663 L0.736,13.019 C0.736,10.729 2.607,8.870 4.907,8.870 L12.270,8.870 C12.574,6.736 14.291,5.092 16.378,5.092 L17.756,5.092 C18.606,2.426 20.979,0.569 23.678,0.569 C26.376,0.569 28.749,2.426 29.599,5.092 L30.977,5.092 C33.064,5.092 34.781,6.736 35.085,8.870 L41.405,8.870 C44.280,8.870 46.619,11.196 46.619,14.055 L46.619,30.652 C46.619,31.225 46.152,31.690 45.576,31.690 ZM23.678,4.200 C22.238,4.200 21.071,5.362 21.071,6.792 C21.071,8.225 22.238,9.387 23.678,9.387 C25.117,9.387 26.285,8.225 26.285,6.792 C26.285,5.362 25.117,4.200 23.678,4.200 ZM15.335,23.392 L36.191,23.392 C36.767,23.392 37.234,23.855 37.234,24.428 C37.234,25.003 36.767,25.467 36.191,25.467 L15.335,25.467 C14.759,25.467 14.292,25.003 14.292,24.428 C14.292,23.855 14.759,23.392 15.335,23.392 ZM15.335,48.288 L25.763,48.288 C26.339,48.288 26.806,48.754 26.806,49.327 C26.806,49.899 26.339,50.362 25.763,50.362 L15.335,50.362 C14.759,50.362 14.292,49.899 14.292,49.327 C14.292,48.754 14.759,48.288 15.335,48.288 ZM15.335,35.839 L25.763,35.839 C26.339,35.839 26.806,36.303 26.806,36.876 C26.806,37.453 26.339,37.915 25.763,37.915 L15.335,37.915 C14.759,37.915 14.292,37.453 14.292,36.876 C14.292,36.303 14.759,35.839 15.335,35.839 ZM31.569,57.423 C31.320,57.212 31.222,56.898 31.313,56.601 L33.120,50.707 L34.532,50.354 C34.772,50.295 35.011,50.346 35.215,50.504 C35.420,50.662 35.492,50.883 35.536,51.126 L35.650,51.763 C35.692,51.992 35.753,52.201 35.938,52.359 C36.123,52.518 36.340,52.546 36.574,52.552 L37.223,52.567 C37.472,52.574 37.703,52.611 37.891,52.788 C38.078,52.966 38.166,53.192 38.144,53.436 L38.008,54.880 L32.424,57.550 C32.144,57.685 31.818,57.635 31.569,57.423 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail:hover {
  opacity: 0.8;
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 9em;
    width: 9em;
    --radius: 34px;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 3px;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p .tt {
    font-size: 1.4em;
    letter-spacing: 0;
    padding-left: 0.9285714286em;
  }
  .fixed_banner .tel {
    --w_tel: 15em;
    -webkit-transform: translateX(calc(-var(--size) - var(--w_tel)));
            transform: translateX(calc(-var(--size) - var(--w_tel)));
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover {
    -webkit-transform: translateX(calc(0em - var(--w_tel)));
            transform: translateX(calc(0em - var(--w_tel)));
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel .ov {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-image: url(../images/fixed_tel-bg2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--clr1);
    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: 2.2em;
    font-family: var(--f-en);
    font-weight: 500;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
footer {
  padding: 163px 0 80px;
  position: relative;
}
footer .fblock {
  display: block;
}
footer .inner_big {
  position: relative;
  z-index: 1;
}
footer::before {
  position: absolute;
  content: "";
  z-index: 1;
  top: -72px;
  left: 0;
  width: 100%;
  height: calc(100% + 72px);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url(../images/ft-bg.png);
}
footer .link_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 22px;
  max-width: 321px;
  margin-left: auto;
  margin-right: auto;
}
footer .ft-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 49px;
}
footer .ft-left {
  max-width: 480px;
  width: 50%;
}
footer .ft-left .des {
  font-size: 18px;
  letter-spacing: 0.1em;
  color: #203424;
  text-align: center;
  font-weight: 500;
}
footer .ft-left .des span {
  padding-right: 8px;
}
footer .ft-right {
  max-width: 700px;
  width: 55%;
}
footer .ft_link {
  width: 100%;
}
footer .idx-tel {
  margin-top: 27px;
}
footer .ft-map {
  margin-top: 40px;
  height: 300px;
  border: 1px solid #fff;
  border-radius: 10px;
}
footer .ft-map iframe {
  border-radius: 10px;
}
footer .ft-banner {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-shadow: 0px 10px 40px 0px rgba(91, 62, 41, 0.12);
          box-shadow: 0px 10px 40px 0px rgba(91, 62, 41, 0.12);
}
footer .ft-banner a::before {
  display: none;
}

@media only screen and (min-width: 769px) {
  .ft_link {
    font-size: min(16px, 1.16vw);
  }
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 > ul {
    max-height: 18em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column wrap;
            flex-flow: column wrap;
    -ms-flex-line-pack: start;
        align-content: flex-start;
  }
  .ft_link .menu01 > ul li {
    width: auto;
  }
  .ft_link .menu01 > ul li:nth-child(-n+5) {
    width: 61.5%;
  }
  .ft_link .menu02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .ft_link .menu02 ul {
    width: auto;
    margin-right: 2em;
  }
  .ft_link .menu02 ul:last-child {
    margin-right: 0;
  }
}
@media only screen and (min-width: 769px) and (min-width: 1281px) {
  .ft_link .menu02 ul li {
    margin-bottom: 1.84375em;
  }
}
.ft_link .title {
  margin-bottom: 0.76em;
  padding-left: 0;
  font-size: 3.125em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  text-transform: uppercase;
  color: #203424;
  width: 100%;
}
.ft_link .title::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.53125em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  letter-spacing: 0.1em;
  color: #203424;
  line-height: 1.6;
  font-size: 1.125em;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    color: var(--main-color);
  }
}
.ft_link .menu01 {
  width: 38%;
  max-width: 480px;
}
.ft_link .menu02 {
  width: 55%;
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 20px 0px;
  position: relative;
  z-index: 1;
}
.copyright .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 40px;
}
.copyright .inner_big {
  max-width: 1135px;
}
.copyright::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -1;
  left: calc(50% - 50vw);
  top: 0;
  height: 100%;
  width: 100vw;
  background-color: #ffffff;
}
.copyright .textwidget {
  display: block;
  margin-top: 2px;
  line-height: 20px;
  padding-left: 19px;
  padding-bottom: 3px;
  margin-left: 19px;
  border-left: 1px solid #cecece;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  color: #203424;
  margin-bottom: 0;
  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: 184px;
}

@media only screen and (min-width: 1281px) {
  footer .time_sheet tr:last-child td {
    padding-bottom: 0.9444444em;
  }
  footer .time_sheet .note {
    margin-top: 15px;
  }
  footer .ft-right {
    margin-top: 3px;
  }
  footer .ft_logo {
    position: relative;
    left: -8px;
  }
  footer .des {
    position: relative;
    left: -7px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .fixed_banner {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .fixed_banner {
    font-size: 8px;
  }
  .totop {
    bottom: 10px;
    right: 10px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .fixed_banner {
    top: 40%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer {
    padding-top: 100px;
  }
  footer .ft-top > div {
    width: 49%;
  }
  .ft_link {
    font-size: 1.05vw;
  }
  .ft_link .menu01 {
    width: 35%;
  }
  .ft_link .menu01 > ul li:nth-child(-n+5) {
    width: 70%;
  }
  .ft_link .menu02 ul {
    margin-right: 4em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .fixed_banner {
    top: 30%;
    font-size: 7px;
  }
  footer .des {
    font-size: 16px;
    line-height: 1.6;
  }
  footer .des span {
    display: block;
    padding-right: 0;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*# sourceMappingURL=style.css.map */