@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Roboto", sans-serif;
  --nunito: "Nunito", sans-serif;
  --main-color: #b0c817;
  --clr1: #333333;
  --clr2: #009e96;
  --ttl_size: 28px;
  --wrapper: 110px;
  --border-radius: 10px;
}

.cl {
  color: var(--clr2);
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  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: #ffffff;
  -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;
}

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

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,
li {
  line-height: 2;
  letter-spacing: 0.1em;
  word-wrap: break-word;
  word-break: break-word;
  margin-bottom: 15px;
}
p:empty,
li:empty {
  display: none !important;
}
p:last-child,
li: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 {
  padding-top: var(--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;
  overflow: hidden;
  border: 10px solid #f4f1c9;
  border-radius: 40px;
}
.TabContainer .TabContent .content {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #ffffff;
}
.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;
  margin: 0px auto 36px;
}
.TabContainer .TabPager > div {
  border: 1px solid #b0c817;
  background-color: #f7f5db;
  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;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 22px 20px 23px 52px;
  width: calc(33.33% - 0px);
  max-width: 400px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  color: var(--clr1);
  border-radius: 20px;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div:hover {
    background-color: #e8e4b8;
  }
}
.TabContainer .TabPager > div::before {
  position: absolute;
  content: "";
  bottom: -11px;
  left: calc(50% - 11px);
  background-image: url(../images/idx05-arr-tabs.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 25px;
  height: 25px;
  opacity: 0;
}
.TabContainer .TabPager > div:nth-child(2) {
  margin: 0 20px;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 24px;
  line-height: 2;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.TabContainer .TabPager > div p span:last-child {
  padding-left: 1.875em;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
}
.TabContainer .TabPager > div.active::before {
  opacity: 1;
}
@media (769px <= width <= 1024px) {
  .TabContainer .TabPager > div {
    padding: 20px 20px 20px 30px;
  }
  .TabContainer .TabPager > div:nth-child(2) {
    margin: 0 10px;
  }
  .TabContainer .TabPager > div p {
    font-size: min(22px, 2.5vw);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .TabContainer .TabPager > div p span:first-child {
    width: 50px;
  }
  .TabContainer .TabPager > div p span:last-child {
    padding-left: 1em;
  }
}
@media only screen and (max-width: 768px) {
  .TabContainer {
    border-radius: 20px;
  }
  .TabContainer .TabContent {
    border: 5px solid #f4f1c9;
  }
  .TabContainer .TabPager > div {
    padding: 15px 10px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .TabContainer .TabPager > div:nth-child(2) {
    margin: 0 10px;
  }
  .TabContainer .TabPager > div p {
    font-size: min(20px, 4vw);
    display: block;
    text-align: center;
  }
  .TabContainer .TabPager > div p span:first-child {
    display: block;
    width: 3em;
    margin-left: auto;
    margin-right: auto;
  }
  .TabContainer .TabPager > div p span:first-child img {
    margin-left: auto;
    margin-right: auto;
  }
  .TabContainer .TabPager > div p span:last-child {
    padding-left: 0;
    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;
}

.idx-tel {
  max-width: 340px;
  background-color: var(--clr2);
  border-radius: 6px;
  font-size: 10px;
}
@media only screen and (max-width: 768px) {
  .idx-tel {
    font-size: 8px;
    max-width: 270px;
  }
}

.tel_click {
  display: table;
  text-decoration: none;
  font-size: 1em;
  width: 100%;
}
.tel_click .icon {
  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;
  color: #fff;
  letter-spacing: 0.0666667em;
  font-size: 3.6em;
  padding-top: 0.138889em;
  padding-bottom: 0.305556em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.3214em;
  margin-top: 0.1786em;
  width: 0.6944444444em;
  height: 0.6944444444em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='25px' height='25px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M6.391,0.643 C7.939,1.771 9.110,3.357 10.107,4.814 L10.889,5.963 C11.390,6.695 11.298,7.679 10.671,8.307 L9.010,9.969 L9.185,10.342 C9.614,11.212 10.354,12.462 11.467,13.577 C12.236,14.334 13.103,14.985 14.045,15.514 L14.494,15.755 L14.895,15.953 L15.074,16.035 L16.734,14.374 C17.364,13.745 18.353,13.656 19.084,14.164 L20.326,15.025 C21.737,16.017 23.211,17.149 24.357,18.617 C24.760,19.136 24.849,19.833 24.588,20.437 C23.563,22.829 20.968,24.869 18.269,24.769 L17.901,24.748 L17.616,24.723 L17.300,24.687 L16.956,24.640 L16.582,24.577 L16.183,24.499 L15.759,24.405 L15.310,24.289 L14.839,24.154 L14.346,23.995 C12.085,23.228 9.214,21.721 6.269,18.775 C3.325,15.831 1.818,12.960 1.051,10.698 L0.892,10.204 L0.757,9.733 L0.642,9.284 L0.546,8.860 C0.519,8.728 0.493,8.594 0.469,8.460 L0.408,8.087 L0.359,7.742 L0.323,7.427 L0.299,7.141 L0.279,6.774 C0.180,4.083 2.240,1.469 4.621,0.447 C5.204,0.195 5.877,0.270 6.391,0.643 M5.256,2.858 C3.942,3.545 2.671,5.114 2.728,6.682 L2.753,7.085 L2.780,7.336 L2.815,7.618 L2.864,7.928 L2.927,8.268 L3.006,8.633 L3.104,9.024 L3.222,9.440 L3.362,9.878 C3.413,10.027 3.467,10.181 3.526,10.338 L3.715,10.819 L3.930,11.318 C4.700,13.011 5.954,14.993 8.004,17.041 C10.052,19.091 12.034,20.347 13.727,21.118 L14.226,21.333 L14.706,21.521 C14.863,21.580 15.016,21.633 15.166,21.685 L15.604,21.825 L16.021,21.943 L16.412,22.041 L16.777,22.121 L17.116,22.184 L17.427,22.232 L17.709,22.269 L17.959,22.293 L18.361,22.318 C19.910,22.375 21.490,21.110 22.174,19.814 C21.301,18.791 20.218,17.951 19.024,17.106 L18.107,16.468 L17.875,16.711 L17.377,17.254 L17.114,17.531 C16.396,18.262 15.558,18.885 14.553,18.479 L14.276,18.363 L13.938,18.210 L13.750,18.121 L13.335,17.914 L12.881,17.668 C11.731,17.028 10.673,16.235 9.736,15.309 C8.811,14.374 8.018,13.315 7.378,12.163 L7.133,11.710 L6.924,11.295 L6.684,10.769 L6.567,10.489 C6.186,9.546 6.710,8.750 7.380,8.063 L7.655,7.794 L8.337,7.164 L8.582,6.932 L8.003,6.083 C7.141,4.832 6.299,3.705 5.254,2.856 L5.256,2.858 ZM16.359,5.048 L16.501,5.065 C18.331,5.386 19.744,6.851 20.003,8.691 C20.100,9.361 19.635,9.983 18.966,10.080 C18.347,10.169 17.760,9.778 17.604,9.172 L17.576,9.032 C17.475,8.313 16.962,7.721 16.265,7.521 L16.075,7.478 C15.409,7.360 14.964,6.724 15.082,6.057 C15.191,5.446 15.739,5.012 16.359,5.048 M16.368,1.323 C20.427,1.323 23.718,4.615 23.718,8.676 C23.718,9.352 23.169,9.900 22.492,9.899 C21.872,9.898 21.350,9.435 21.277,8.818 L21.268,8.676 C21.269,6.093 19.265,3.953 16.689,3.784 L16.368,3.773 C15.691,3.773 15.143,3.225 15.143,2.549 C15.143,1.871 15.691,1.323 16.368,1.323 '/%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 {
    padding-top: 0.2em;
  }
}

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

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
}
.btn a::before, .btn a::after {
  position: absolute;
  content: "";
}
.btn a::before {
  width: 25px;
  height: 25px;
  border-radius: 4px;
  background-color: var(--main-color);
  top: calc(50% - 12px);
  right: 19px;
}
.btn a::after {
  background-image: url(../images/idx-btn.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  top: calc(50% - 5px);
  right: 25px;
  width: 13px;
  height: 11px;
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
  max-width: 310px;
  overflow: hidden;
}
.btn-group .btn.style01 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: 66px;
  padding: 0.5em 1em;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--main-color);
  background-color: #fff;
  border: 1px solid var(--main-color);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 33px;
  font-weight: 500;
  padding-left: 1.6875em;
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .btn-group .btn.style01 a:hover::before {
    background-color: var(--main-color);
  }
}
.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--main-color);
}
.btn-group .btn.bg01 a::after {
  background-color: var(--main-color);
}
.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;
}

.key-chat {
  font-size: 10px;
  width: 36em;
  height: 12.6em;
  bottom: 50px;
  right: 10px;
  border: 2px solid #fff;
  border-radius: 6px;
  position: absolute;
  z-index: 3;
  background-color: #f4f1c9;
  padding-left: 2em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
          box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.key-chat::after {
  position: absolute;
  content: "";
  bottom: -2.2em;
  left: 7.1em;
  width: 4.2em;
  height: 2.2em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/chatbox-arr.png);
}
.key-chat .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  position: relative;
  padding-left: 10.7em;
  border: 0;
  cursor: pointer;
  background: unset;
  text-align: left;
}
.key-chat .in::before, .key-chat .in::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.key-chat .in::before {
  top: 0.4em;
  left: 0;
  width: 9.3em;
  height: 10.3em;
  background-image: url(../images/chatbox-icon.png);
}
.key-chat .in::after {
  background-image: url(../images/chatbox-icon-start.png);
  width: 1.8em;
  height: 1.8em;
  bottom: 0.6em;
  right: 0.8em;
}
.key-chat p {
  text-align: left;
}
.key-chat .t1 {
  font-size: 2.6em;
  color: #009e96;
  margin-bottom: 0;
  line-height: 1;
  letter-spacing: 0.075em;
  margin-bottom: 0.3076923077em;
}
.key-chat .t1 .sm {
  font-size: 0.7692307692em;
}
.key-chat .t2 {
  color: #84941d;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.4444444444;
  font-weight: 400;
  margin-bottom: 0;
}
.key-chat.active {
  position: fixed;
  bottom: 20em;
}
@media only screen and (min-width: 769px) {
  .key-chat.active {
    font-size: 6.5px;
  }
}

@media (769px <= width <= 1560px) {
  .key-chat {
    bottom: 40px;
  }
}
@media (769px <= width <= 1366px) {
  .key-chat {
    font-size: min(6px, 0.9vw) !important;
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
}
header.active .header_top::before,
.ovh header .header_top::before {
  display: none;
}

@media only screen and (min-width: 1281px) {
  header:not(.active) .pc_navi,
  .ovh:not(.active) .pc_navi {
    margin-top: -7px;
  }
  header:not(.active) .logo,
  .ovh:not(.active) .logo {
    margin-top: 28px;
    margin-left: 25px;
  }
}
.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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  padding: 5px 20px;
  height: 100%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: relative;
  z-index: 1;
}
.header_top::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 54px;
  left: -67px;
  -webkit-mask-position: top center;
          mask-position: top center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -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='706px' height='193px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.000,192.667 L0.000,-0.000 L705.410,-0.000 C691.460,8.686 677.030,16.860 662.470,24.491 C570.754,72.557 459.832,111.512 355.074,90.567 C334.393,86.432 314.795,78.781 293.658,75.661 C228.356,66.022 166.946,83.434 111.916,113.733 C71.299,136.096 41.473,158.375 6.336,188.401 C4.599,189.886 2.179,192.016 0.000,192.667 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='706px' height='193px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M0.000,192.667 L0.000,-0.000 L705.410,-0.000 C691.460,8.686 677.030,16.860 662.470,24.491 C570.754,72.557 459.832,111.512 355.074,90.567 C334.393,86.432 314.795,78.781 293.658,75.661 C228.356,66.022 166.946,83.434 111.916,113.733 C71.299,136.096 41.473,158.375 6.336,188.401 C4.599,189.886 2.179,192.016 0.000,192.667 Z'/%3E%3C/svg%3E");
  background-color: #fff;
  max-width: 706px;
  height: 193px;
  width: 40%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.logo {
  width: 25%;
  max-width: 410px;
  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;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}

.right_head {
  width: 70%;
  max-width: 1019px;
  padding-right: 173px;
  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;
}

.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%;
}
.pc_navi > ul > li {
  position: relative;
  margin-bottom: 0;
}
@media (769px <= width <= 1366px) {
  .pc_navi > ul > li:nth-child(4) .subInner {
    right: calc(50% + 5vw);
  }
}
@media (769px <= width <= 991px) {
  .pc_navi > ul > li:nth-child(4) .subInner {
    right: calc(50% + 15vw);
  }
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li:hover > a::after,
.pc_navi > ul > li:hover > p::after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -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='7px' height='6px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M4.746,4.714 C4.351,5.319 3.465,5.319 3.070,4.714 L1.007,1.546 C0.574,0.881 1.051,-0.000 1.845,-0.000 L5.971,-0.000 C6.765,-0.000 7.242,0.881 6.809,1.546 L4.746,4.714 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='7px' height='6px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M4.746,4.714 C4.351,5.319 3.465,5.319 3.070,4.714 L1.007,1.546 C0.574,0.881 1.051,-0.000 1.845,-0.000 L5.971,-0.000 C6.765,-0.000 7.242,0.881 6.809,1.546 L4.746,4.714 Z'/%3E%3C/svg%3E");
  width: 7px;
  height: 6px;
  position: absolute;
  background-color: var(--main-color);
  bottom: -6px;
  left: calc(50% - 5px);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  /*border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 6px 6px 0px 6px;
  width: 0;
  height: 0;*/
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.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: min(18px, 1.8vw);
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: var(--clr1);
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 66.6666666667%;
  font-weight: 600;
}
.pc_navi > ul .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: var(--main-color);
  padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
  margin-bottom: 0;
}
.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;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.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: 500px;
  }
  .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%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link {
    font-size: min(14.5px, 1.2vw);
  }
  .menu_toggle .inside .ft_link .menu-right {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .right_head {
    padding-right: 100px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .header_top::before {
    top: 70px;
    height: 80px;
  }
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
@media (769px <= width <= 991px) {
  .right_head {
    padding-right: 70px;
  }
}
@-webkit-keyframes animeCT {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -1920px center;
  }
}
@keyframes animeCT {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -1920px center;
  }
}
.idx_gallery {
  padding-top: 67px;
}
.idx_gallery .gallery-slider {
  background-image: url(../images/idx-gallery.png);
  background-size: auto 100%;
  height: 360px;
  -webkit-animation: animeCT 50s linear infinite;
          animation: animeCT 50s linear infinite;
  position: relative;
}
.idx_gallery .gallery-slider::before, .idx_gallery .gallery-slider::after {
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
}
.idx_gallery .gallery-slider::before {
  top: -23px;
  left: calc(50% - 37.45vw);
  max-width: 522px;
  width: 100%;
  height: 100%;
  background-image: url(../images/idx-gallery-shape1.png);
  background-size: 100% 100%;
}
.idx_gallery .gallery-slider::after {
  background-image: url(../images/idx-gallery-shape2.png);
  background-size: 100% auto;
  width: 64px;
  height: 99px;
  right: calc(50% - 39.45vw);
  top: -18px;
}
@media (769px <= width <= 1366px) {
  .idx_gallery .gallery-slider::before {
    left: calc(50% - 48vw);
  }
  .idx_gallery .gallery-slider::after {
    right: 40px;
  }
}
@media (769px <= width <= 1280px) {
  .idx_gallery .gallery-slider {
    height: 300px;
  }
}

.time_sheet {
  margin: 0px auto;
}
.time_sheet .note {
  margin-top: 3px;
  line-height: 1.7142857143;
  font-size: 14px;
  letter-spacing: 0.1em;
  padding-left: 13px;
}
.time_sheet .note span {
  display: inline-block;
  color: var(--clr2);
}
.time_sheet table {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.time_sheet table thead tr th {
  background-color: var(--main-color);
  color: #fff;
  border-bottom: 0;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}
.time_sheet table thead tr th:first-child {
  border-radius: 3px 0 0 3px;
}
.time_sheet table thead tr th:last-child {
  border-radius: 0 3px 3px 0;
}
.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0;
  width: 10%;
  border-bottom: 1px solid #cccccc;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 24.2%;
}
@media only screen and (max-width: 768px) {
  .time_sheet table th:first-child,
  .time_sheet table td:first-child {
    letter-spacing: 0;
  }
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 15.4%;
  letter-spacing: 0.4375em;
}
.time_sheet table .cl {
  color: var(--clr2);
}
.time_sheet table tbody tr:first-child td {
  padding-top: 1em;
  padding-bottom: 0.9375em;
}
.time_sheet table tbody tr:nth-child(2) td {
  padding-top: 0.75em;
  padding-bottom: 0.9375em;
}
.time_sheet table tbody tr:nth-child(3) td {
  padding-top: 0.75em;
  padding-bottom: 0.9375em;
}

@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: 30px;
  right: 12px;
  width: 66px;
  height: 66px;
  background-color: #9bae20;
  border-radius: 50%;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 12px auto;
  border: 0px;
  margin: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 769px) {
  .totop:hover {
    background-color: var(--clr2);
  }
}
.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: 155px;
  right: 15px;
  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%;
  letter-spacing: 0.05em;
}
.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-color: #009e96;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.3461538462em;
  width: 0.8461538462em;
  height: 0.8461538462em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='44px' height='44px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M11.091,0.958 C13.822,2.951 15.889,5.750 17.649,8.321 L19.029,10.350 C19.912,11.642 19.751,13.380 18.644,14.486 L15.712,17.420 L16.021,18.077 C16.778,19.613 18.084,21.820 20.049,23.787 C21.406,25.126 22.937,26.273 24.599,27.206 L25.392,27.631 L26.099,27.981 L26.415,28.124 L29.345,25.194 C30.456,24.084 32.202,23.929 33.492,24.823 L35.685,26.343 C38.176,28.096 40.777,30.090 42.799,32.684 C43.510,33.599 43.667,34.830 43.207,35.895 C41.397,40.118 36.818,43.716 32.054,43.540 L31.406,43.505 L30.902,43.460 L30.344,43.395 L29.736,43.313 L29.077,43.202 L28.372,43.064 L27.624,42.899 L26.832,42.693 L26.000,42.456 L25.131,42.175 C21.139,40.821 16.073,38.161 10.875,32.961 C5.679,27.765 3.019,22.698 1.666,18.706 L1.385,17.835 L1.147,17.003 L0.944,16.212 L0.775,15.462 C0.726,15.229 0.681,14.994 0.639,14.758 L0.531,14.098 L0.444,13.489 L0.382,12.933 L0.338,12.430 L0.303,11.779 C0.128,7.029 3.763,2.419 7.967,0.615 C8.996,0.170 10.183,0.301 11.091,0.958 M9.087,4.870 C6.769,6.081 4.524,8.851 4.626,11.619 L4.669,12.328 L4.717,12.773 L4.779,13.271 L4.866,13.819 L4.976,14.417 L5.117,15.062 L5.290,15.752 L5.497,16.486 L5.744,17.260 C5.835,17.523 5.930,17.795 6.034,18.072 L6.367,18.919 L6.747,19.801 C8.105,22.789 10.319,26.289 13.937,29.902 C17.552,33.519 21.050,35.736 24.039,37.096 L24.919,37.476 L25.766,37.809 C26.043,37.912 26.313,38.006 26.577,38.098 L27.351,38.346 L28.087,38.553 L28.776,38.726 L29.421,38.867 L30.020,38.977 L30.569,39.064 L31.066,39.128 L31.507,39.170 L32.216,39.215 C34.950,39.317 37.739,37.084 38.945,34.795 C37.406,32.989 35.494,31.508 33.386,30.015 L31.769,28.889 L31.358,29.318 L30.480,30.277 L30.015,30.767 C28.748,32.057 27.269,33.155 25.496,32.438 L25.007,32.234 L24.411,31.964 L24.078,31.807 L23.347,31.441 L22.545,31.009 C20.514,29.879 18.647,28.478 16.994,26.845 C15.362,25.194 13.962,23.326 12.832,21.293 L12.399,20.493 L12.032,19.759 L11.608,18.832 L11.400,18.337 C10.728,16.674 11.653,15.269 12.836,14.056 L13.320,13.580 L14.525,12.470 L14.957,12.058 L13.935,10.561 C12.415,8.352 10.929,6.365 9.085,4.866 L9.087,4.870 ZM28.683,8.734 L28.934,8.764 C32.163,9.332 34.658,11.917 35.114,15.164 C35.285,16.348 34.466,17.444 33.284,17.615 C32.191,17.774 31.156,17.084 30.880,16.015 L30.830,15.766 C30.653,14.499 29.747,13.453 28.517,13.099 L28.182,13.024 C27.006,12.817 26.222,11.694 26.430,10.516 C26.621,9.437 27.589,8.671 28.683,8.734 M28.699,2.161 C35.863,2.161 41.672,7.969 41.672,15.137 C41.671,16.331 40.702,17.298 39.507,17.296 C38.413,17.294 37.492,16.477 37.363,15.389 L37.348,15.137 C37.349,10.578 33.813,6.801 29.265,6.505 L28.699,6.486 C27.504,6.486 26.536,5.518 26.536,4.324 C26.536,3.128 27.504,2.161 28.699,2.161 '/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: var(--main-color);
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 0.8333333333em;
  height: 0.8333333333em;
  --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='40px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M20.000,0.001 C31.046,0.001 40.000,8.953 40.000,19.999 C40.000,31.047 31.046,40.001 20.000,40.001 C8.954,40.001 -0.000,31.047 -0.000,19.999 C-0.000,8.953 8.954,0.001 20.000,0.001 M20.000,4.001 C11.163,4.001 4.000,11.163 4.000,19.999 C4.000,28.836 11.163,35.999 20.000,35.999 C28.837,35.999 36.000,28.836 36.000,19.999 C36.000,11.163 28.837,4.001 20.000,4.001 M20.000,7.1000 C21.014,7.1000 21.867,8.760 21.986,9.767 L22.000,9.999 L22.000,19.171 L27.414,24.587 C28.194,25.368 28.192,26.635 27.409,27.414 C26.697,28.123 25.569,28.193 24.774,27.580 L24.586,27.414 L18.586,21.414 C18.275,21.102 18.076,20.698 18.018,20.262 L18.000,19.999 L18.000,9.999 C18.000,8.896 18.895,7.1000 20.000,7.1000 '/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: #5ac6d2;
}
.fixed_banner .mail p .tt::before {
  margin-bottom: 0.5em;
  width: 2.333em;
  height: 1.6667em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 272 196' %3E%3Cpath d='M233.995,0.755 L38.001,0.755 C17.197,0.755 0.331,17.258 0.331,37.614 L0.331,158.907 C0.331,179.250 17.197,195.759 38.001,195.759 L233.995,195.759 C254.798,195.759 271.666,179.250 271.666,158.907 L271.666,37.614 C271.666,17.258 254.798,0.755 233.995,0.755 ZM94.749,132.313 L41.999,176.344 C38.278,179.430 32.683,179.025 29.509,175.377 C26.333,171.737 26.775,166.259 30.500,163.160 L83.252,119.122 C86.970,116.029 92.565,116.474 95.739,120.108 C98.917,123.762 98.475,129.220 94.749,132.313 ZM135.998,115.591 C128.943,115.565 122.103,113.265 116.755,108.767 L116.759,108.767 L116.743,108.754 C116.747,108.754 116.751,108.754 116.755,108.767 L35.815,40.037 C32.118,36.892 31.724,31.428 34.930,27.807 C38.140,24.204 43.732,23.811 47.428,26.937 L128.388,95.673 C130.118,97.194 132.970,98.257 135.998,98.251 C139.022,98.251 141.824,97.200 143.650,95.628 L143.691,95.589 L224.568,26.943 C228.263,23.811 233.857,24.204 237.067,27.807 C240.272,31.428 239.878,36.892 236.180,40.037 L155.218,108.774 C149.889,113.259 143.058,115.585 135.998,115.591 ZM242.492,175.377 C239.316,179.025 233.721,179.430 230.003,176.344 L177.251,132.313 C173.526,129.220 173.084,123.762 176.261,120.108 C179.435,116.474 185.029,116.029 188.748,119.122 L241.501,163.160 C245.226,166.259 245.666,171.737 242.492,175.377 Z'/%3E%3C/svg%3E");
}
.fixed_banner .chatbox p {
  background-color: #f4f1c9;
  color: #009e96;
}
.fixed_banner .chatbox p .tt::before {
  -webkit-mask-image: unset;
          mask-image: unset;
  background-image: url(../images/chatbox-icon.png);
  background-position: center;
  background-size: 85% auto;
  background-repeat: no-repeat;
  background-color: unset;
  width: 1.4em;
  height: 1.4em;
  margin-right: 0.1em;
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 8em;
    width: 8em;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .fixed_banner.active {
    top: calc(var(--wrapper) + 10px);
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 1px;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
    border-radius: 6px;
  }
  .fixed_banner p .tt {
    font-size: 1.2em;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    width: 100%;
  }
  .fixed_banner .tel {
    height: 25em;
    --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 .tt {
    font-size: 2.6em;
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel p {
    height: 25em;
  }
  .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-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 {
    height: 20em;
  }
  .fixed_banner .web p {
    height: 20em;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.33333333em;
  }
  .fixed_banner .web p .tt {
    font-size: 2.4em;
  }
  .fixed_banner .web:hover p {
    background-color: #9db315;
  }
  .fixed_banner .mail p {
    border-bottom-left-radius: 0.833em;
  }
}
@media (769px <= width <= 1560px) {
  .fixed_banner {
    top: calc(var(--wrapper) + 10px);
    font-size: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 6.5px;
  }
}
footer {
  position: relative;
}
footer .ft-top {
  position: relative;
  z-index: 1;
  padding-top: 144px;
  padding-bottom: 63px;
}
footer .ft-top::before {
  z-index: -1;
  width: 100%;
  height: calc(100% + 43px);
  position: absolute;
  content: "";
  top: -43px;
  left: 0;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url(../images/ft-bg.png);
}
footer .ft-bot {
  background-image: url(../images/ft-bg2.jpg);
  background-size: cover;
  background-repeat: repeat;
  background-position: top center;
  padding-top: 76px;
  padding-bottom: 35px;
}
footer p {
  margin-bottom: 0;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft-logo {
  padding: 0px 0 1px;
  max-width: 410px;
}
footer .ft-logo:hover a {
  opacity: 1;
}
footer .ft-info {
  width: 50%;
}
footer .ft-info .des {
  margin-bottom: 25px;
  color: var(--clr1);
  letter-spacing: 0.1em;
  line-height: 2;
  font-weight: 500;
  padding-left: 92px;
}
footer .ft-time {
  max-width: 585px;
  width: 50%;
}
footer .ft-time .note {
  color: var(--clr1);
}
footer .idx-tel {
  margin-left: 92px;
}
.ft_link a {
  text-decoration: none;
}
.ft_link .title {
  width: 100%;
  margin-bottom: 0.5277778em;
  padding-left: 0;
  font-size: 2.25em;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  font-weight: 500;
  text-transform: uppercase;
}
.ft_link .title::before {
  display: none;
}
.ft_link .title_sm {
  font-size: 1.25em;
  letter-spacing: 0.1em;
  color: #9ab011;
  background-color: #fff;
  border-radius: 18px;
  line-height: 1;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  margin-bottom: 1.1em;
  padding-left: 1.4em;
  padding-right: 1.2em;
  display: inline-block;
  font-weight: 500;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 1.025em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  color: #fff;
  line-height: 1.6;
}
.ft_link a::before {
  content: "・";
  margin-left: -0.35em;
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}
.ft_link a::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 0;
  height: 0;
  border-bottom: 1px solid;
  bottom: 0;
  left: 1em;
}
.ft_link a:hover {
  opacity: 1;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover::after {
    width: calc(100% - 1em);
  }
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 {
    max-width: 250px;
    width: 20%;
  }
  .ft_link .menu-right {
    width: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 6.1875em;
  }
  .ft_link .menu-right .mn {
    width: auto;
    padding-left: 4.75em;
  }
  .ft_link .menu-right .menu02 {
    padding-left: 0;
  }
}

.copyright {
  margin: 0 auto 0;
  color: #fff;
  padding: 60px 0px 0;
  position: relative;
  z-index: 1;
}
.copyright .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 40px;
}
.copyright .inner_big {
  max-width: 1135px;
}
.copyright .textwidget {
  display: block;
  line-height: 20px;
  padding-left: 13px;
  padding-bottom: 3px;
  margin-left: 21px;
  border-left: 1px solid #cecece;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: inherit;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-weight: 500;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 144px;
}

@media (min-width: 1281px) {
  footer .ft_link {
    position: relative;
    left: 12px;
  }
  footer .ft-time {
    position: relative;
    left: -27px;
  }
  footer .ft-info {
    position: relative;
    left: 46px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  footer {
    margin-top: auto;
  }
  footer .ft-bot {
    margin-left: auto;
    margin-right: auto;
    padding-left: 35px;
    padding-right: 35px;
  }
  footer .ft-top::before {
    top: 0;
    height: 100%;
  }
  .ft_link {
    font-size: min(14px, 1.18vw);
  }
}
@media (769px <= width <= 991px) {
  footer .ft-bot {
    padding-top: 60px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  footer .time_sheet {
    font-size: 11.5px;
  }
  footer .ft-time {
    width: 49%;
  }
  footer .ft-info {
    width: 49%;
  }
  footer .ft-info .des {
    padding-left: 80px;
  }
  footer .ft-logo {
    padding-bottom: 15px;
  }
  footer .idx-tel {
    margin-left: 80px;
    font-size: 8px;
  }
  .ft_link {
    font-size: 1.38vw;
  }
  .ft_link .menu01 {
    width: 25%;
  }
  .ft_link .menu-right {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 75%;
    padding-left: 0;
  }
  .ft_link .menu-right .mn {
    padding-left: 1em;
  }
  .copyright {
    padding-top: 80px;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*# sourceMappingURL=style.css.map */