@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-jp: "Noto Serif JP", serif;
  --f-en: "Zen Maru Gothic", sans-serif;
  --main-color: #488652;
  --clr1: #3e4943;
  --clr2: #ccc;
  --ttl_size: 28px;
  --wrapper: 110px;
  --border-radius: 10px;
}

@-webkit-keyframes anime-circle {
  0% {
    border-radius: 80% 20% 58% 42%/44% 40% 60% 56%;
  }
  25% {
    border-radius: 54% 46% 75% 25%/28% 69% 31% 72%;
  }
  50% {
    border-radius: 23% 77% 44% 56%/65% 42% 58% 35%;
  }
  75% {
    border-radius: 33% 67% 35% 65%/44% 34% 66% 56%;
  }
  100% {
    border-radius: 80% 20% 58% 42%/44% 40% 60% 56%;
  }
}

@keyframes anime-circle {
  0% {
    border-radius: 80% 20% 58% 42%/44% 40% 60% 56%;
  }
  25% {
    border-radius: 54% 46% 75% 25%/28% 69% 31% 72%;
  }
  50% {
    border-radius: 23% 77% 44% 56%/65% 42% 58% 35%;
  }
  75% {
    border-radius: 33% 67% 35% 65%/44% 34% 66% 56%;
  }
  100% {
    border-radius: 80% 20% 58% 42%/44% 40% 60% 56%;
  }
}
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  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;
}

a:not(.tel_click) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  color: #64b5f7;
}
a.tel_click {
  text-decoration: none;
  color: inherit;
}

@media only screen and (min-width: 769px) {
  a:not([target*=_blank]) {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  a:not([target*=_blank]):hover {
    opacity: 0.7;
  }
  a.tel_click {
    pointer-events: none;
  }
  a:not(.tel_click):hover, a:not(.tel_click):active {
    color: #64b5f7;
  }
}
a.logo:hover,
.logo a:hover,
a.ft_logo:hover,
.ft_logo a:hover,
a.tel_click:hover {
  opacity: 1 !important;
}

table {
  width: 100%;
}

iframe {
  width: 100%;
  height: 100%;
}

.captcha_box iframe {
  height: auto;
}

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

.key {
  z-index: 2;
}
.key::before, .key::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  -webkit-animation: anime-circle 5s linear infinite;
          animation: anime-circle 5s linear infinite;
  z-index: -1;
}
.key::before {
  font-size: 10px;
  bottom: -26.8em;
  left: -36em;
  background-color: #62976b;
  width: 80em;
  height: 80em;
}
.key::after {
  background-image: -ms-linear-gradient(-58.84deg, rgb(191, 213, 195) 0%, rgb(128, 186, 138) 100%);
  -webkit-animation: anime-circle 5s linear infinite;
          animation: anime-circle 5s linear infinite;
  font-size: 10px;
  width: 43em;
  height: 44em;
  top: -26em;
  right: -16em;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .key::before {
    font-size: 3px;
    bottom: -10em;
  }
}
@media only screen and (max-width: 768px) {
  .key::before, .key::after {
    font-size: 4px;
  }
}

/*==========================================================================*/
/*                            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;
  }
}
@media only screen and (min-width: 769px) {
  .TabContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
  max-width: 1094px;
  width: 76%;
}
.TabContainer .TabContent .content {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  border-radius: 10px;
}
.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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 280px;
  width: 20%;
}
.TabContainer .TabPager > div {
  background-color: #fff;
  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;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  color: var(--clr1);
  margin-bottom: 20px;
  border: 1px solid;
  border-radius: 10px;
}
.TabContainer .TabPager > div::before {
  position: absolute;
  content: "";
  top: calc(50% - 9px);
  right: -23px;
  width: 22px;
  height: 18px;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  opacity: 0;
  visibility: hidden;
}
.TabContainer .TabPager > div.st1 {
  border-color: #fac96d;
}
.TabContainer .TabPager > div.st1::before {
  background-color: #fac96d;
}
.TabContainer .TabPager > div.st2 {
  border-color: #51a8a4;
}
.TabContainer .TabPager > div.st2::before {
  background-color: #51a8a4;
}
.TabContainer .TabPager > div.st3 {
  border-color: #b9535f;
}
.TabContainer .TabPager > div.st3::before {
  background-color: #b9535f;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-top: 20px;
  padding-bottom: 22px;
}
@media only screen and (min-width: 769px) {
  .TabContainer .TabPager > div:hover {
    background-color: var(--main-color);
  }
  .TabContainer .TabPager > div:hover p {
    color: #fff;
  }
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
}
.TabContainer .TabPager > div.active::before {
  opacity: 1;
  visibility: visible;
}
.TabContainer .TabPager > div.active.st1 {
  background: #fac96d;
}
.TabContainer .TabPager > div.active.st2 {
  background: #51a8a4;
}
.TabContainer .TabPager > div.active.st3 {
  background: #b9535f;
}
.TabContainer .TabPager > div.active p {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .TabContainer .TabPager {
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
        -ms-flex-direction: unset;
            flex-direction: unset;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    max-width: 100%;
  }
  .TabContainer .TabPager > div {
    width: 32.5%;
  }
  .TabContainer .TabPager > div::before {
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    top: auto;
    bottom: -15px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    right: auto;
  }
  .TabContainer .TabPager > div p {
    font-size: 16px;
    padding-top: 15px;
    padding-bottom: 15px;
    letter-spacing: 0.05em;
  }
  .TabContainer .TabContent {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
  }
}

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

.tel_click {
  display: table;
  text-decoration: none;
}
.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-en);
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.05em;
  font-size: 32px;
  line-height: 1;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.40625em;
  margin-top: 0.25em;
  width: 1.09375em;
  height: 1.09375em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='35px' height='35px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M34.555,25.889 L34.555,32.500 C34.555,33.481 33.795,34.298 32.814,34.368 C31.995,34.422 31.327,34.451 30.810,34.451 C14.264,34.451 0.852,21.059 0.852,4.535 C0.852,4.021 0.880,3.355 0.938,2.537 C1.007,1.556 1.823,0.798 2.807,0.799 L9.427,0.799 C9.909,0.798 10.312,1.160 10.360,1.639 C10.403,2.068 10.442,2.411 10.480,2.671 C10.852,5.266 11.614,7.784 12.742,10.152 C12.919,10.526 12.803,10.973 12.466,11.212 L8.426,14.096 C10.896,19.845 15.484,24.425 21.240,26.890 L24.124,22.863 C24.367,22.523 24.819,22.408 25.197,22.586 C27.565,23.709 30.090,24.468 32.686,24.840 C32.946,24.874 33.289,24.917 33.716,24.959 C34.194,25.008 34.557,25.410 34.557,25.889 L34.555,25.889 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: 26px;
  }
}

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

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  font-family: var(--f-notosans);
}
.btn a::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 17px;
  height: 13px;
  right: 22px;
  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='17px' height='13px'%3E%3Cpath fill-rule='evenodd' fill='rgb(72, 134, 82)' d='M10.454,13.011 L9.425,11.958 L14.257,7.017 L-0.000,7.017 L-0.000,6.014 L14.502,6.014 L9.724,1.129 L10.814,0.015 L16.991,6.329 L10.454,13.011 Z'/%3E%3C/svg%3E");
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: var(--main-color);
}

.btn-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
  min-width: 180px;
  max-width: 320px;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 4.375em;
  padding: 0.5em 1em;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  background-color: var(--main-color);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 35px;
}
.btn-group .btn.style01 a::after {
  background-color: #fff;
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    background-color: #fac96d;
    color: #fff;
  }
  .btn-group .btn.style01 a:hover::after {
    background-color: #fff;
  }
}
.btn-group .btn.style01 a[target=_blank]:hover {
  color: #fff;
  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);
}
.btn-group.white .btn a {
  background-color: white;
  color: var(--clr1);
}
.btn-group.white .btn 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;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
}
header.active .logo,
.ovh header .logo {
  top: 0;
}
header.active .right_head,
.ovh header .right_head {
  padding-bottom: 0;
}
header.active .logo,
.ovh header .logo {
  max-width: 250px;
}
header.active .logo .active,
.ovh header .logo .active {
  display: block;
}
header.active .logo .default,
.ovh header .logo .default {
  display: none;
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  header.active .logo,
  .ovh header .logo {
    max-width: 170px;
  }
}

.ovh .pc_navi > ul {
  display: none;
}
@media only screen and (min-width: 769px) {
  .ovh .pc_navi .hd_banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.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;
}
@media only screen and (min-width: 1367px) {
  .header_top {
    padding-left: 41px;
  }
}

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

.right_head {
  width: 70%;
  max-width: 1122px;
  padding-right: 146px;
  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;
  padding-bottom: 13px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.pc_navi {
  width: 100%;
}
.pc_navi .hd_banner {
  width: 70%;
  max-width: 450px;
  display: none;
  margin-right: 0;
  margin-left: auto;
  font-size: 10px;
}
.pc_navi .hd_banner a {
  color: #fff;
  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;
  text-decoration: none;
  height: calc(var(--wrapper) - 40px);
  font-family: var(--f-en);
}
.pc_navi .hd_banner a span {
  font-size: 1.8em;
  font-weight: 500;
  position: relative;
  padding-left: 28px;
}
.pc_navi .hd_banner a span::before {
  position: absolute;
  content: "";
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  -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;
  background-color: #fff;
}
.pc_navi .hd_banner > div {
  width: 50%;
}
.pc_navi .hd_banner .tel {
  background-color: #488652;
}
.pc_navi .hd_banner .tel a span::before {
  -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='20px' height='20px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M20.006,14.922 L20.006,18.855 C20.006,19.440 19.555,19.923 18.972,19.964 C18.486,19.997 18.089,20.015 17.782,20.015 C7.957,20.015 -0.008,12.050 -0.008,2.224 C-0.008,1.917 0.009,1.520 0.043,1.035 C0.084,0.451 0.569,0.000 1.153,0.000 L5.084,0.000 C5.370,0.000 5.610,0.217 5.638,0.501 C5.664,0.756 5.687,0.960 5.709,1.115 C5.930,2.656 6.383,4.156 7.052,5.563 C7.158,5.785 7.089,6.052 6.889,6.193 L4.490,7.908 C5.957,11.327 8.681,14.051 12.099,15.519 L13.812,13.124 C13.956,12.922 14.224,12.852 14.449,12.958 C15.855,13.626 17.355,14.078 18.896,14.298 C19.051,14.320 19.254,14.344 19.508,14.369 C19.792,14.398 20.008,14.638 20.007,14.922 L20.006,14.922 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='20px' height='20px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M20.006,14.922 L20.006,18.855 C20.006,19.440 19.555,19.923 18.972,19.964 C18.486,19.997 18.089,20.015 17.782,20.015 C7.957,20.015 -0.008,12.050 -0.008,2.224 C-0.008,1.917 0.009,1.520 0.043,1.035 C0.084,0.451 0.569,0.000 1.153,0.000 L5.084,0.000 C5.370,0.000 5.610,0.217 5.638,0.501 C5.664,0.756 5.687,0.960 5.709,1.115 C5.930,2.656 6.383,4.156 7.052,5.563 C7.158,5.785 7.089,6.052 6.889,6.193 L4.490,7.908 C5.957,11.327 8.681,14.051 12.099,15.519 L13.812,13.124 C13.956,12.922 14.224,12.852 14.449,12.958 C15.855,13.626 17.355,14.078 18.896,14.298 C19.051,14.320 19.254,14.344 19.508,14.369 C19.792,14.398 20.008,14.638 20.007,14.922 L20.006,14.922 Z'/%3E%3C/svg%3E");
}
.pc_navi .hd_banner .web {
  background-color: #79a580;
}
.pc_navi .hd_banner .web a span::before {
  -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='21px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M19.067,20.595 L1.122,20.595 C0.502,20.595 -0.000,20.119 -0.000,19.531 L-0.000,4.655 C-0.000,4.069 0.502,3.593 1.122,3.593 L4.486,3.593 L4.486,1.468 C4.486,0.882 4.988,0.405 5.608,0.405 C6.227,0.405 6.730,0.882 6.730,1.468 L6.730,3.593 L13.459,3.593 L13.459,1.468 C13.459,0.882 13.961,0.405 14.581,0.405 C15.200,0.405 15.702,0.882 15.702,1.468 L15.702,3.593 L17.946,3.593 L19.067,3.593 C19.687,3.593 20.189,4.069 20.189,4.655 L20.189,19.531 C20.189,20.119 19.687,20.595 19.067,20.595 ZM9.253,12.717 L7.242,10.811 C6.804,10.397 6.094,10.397 5.656,10.811 C5.218,11.226 5.218,11.900 5.656,12.314 L8.460,14.971 C8.670,15.170 8.956,15.283 9.253,15.283 C9.551,15.283 9.836,15.170 10.046,14.971 L14.533,10.720 C14.971,10.306 14.971,9.632 14.533,9.218 C14.095,8.803 13.385,8.803 12.947,9.218 L9.253,12.717 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='21px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M19.067,20.595 L1.122,20.595 C0.502,20.595 -0.000,20.119 -0.000,19.531 L-0.000,4.655 C-0.000,4.069 0.502,3.593 1.122,3.593 L4.486,3.593 L4.486,1.468 C4.486,0.882 4.988,0.405 5.608,0.405 C6.227,0.405 6.730,0.882 6.730,1.468 L6.730,3.593 L13.459,3.593 L13.459,1.468 C13.459,0.882 13.961,0.405 14.581,0.405 C15.200,0.405 15.702,0.882 15.702,1.468 L15.702,3.593 L17.946,3.593 L19.067,3.593 C19.687,3.593 20.189,4.069 20.189,4.655 L20.189,19.531 C20.189,20.119 19.687,20.595 19.067,20.595 ZM9.253,12.717 L7.242,10.811 C6.804,10.397 6.094,10.397 5.656,10.811 C5.218,11.226 5.218,11.900 5.656,12.314 L8.460,14.971 C8.670,15.170 8.956,15.283 9.253,15.283 C9.551,15.283 9.836,15.170 10.046,14.971 L14.533,10.720 C14.971,10.306 14.971,9.632 14.533,9.218 C14.095,8.803 13.385,8.803 12.947,9.218 L9.253,12.717 Z'/%3E%3C/svg%3E");
}
.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;
}
.pc_navi > ul > li.col3 .subInner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pc_navi > ul > li.col3 .subInner ul li {
  width: 33.33%;
}
.pc_navi > ul > li:nth-child(2) .subInner {
  width: 50em;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  background: url(../images/shared_pc_navi_arrow.png) center no-repeat;
  background-size: 100% auto;
  width: 10px;
  height: 6px;
  position: absolute;
  bottom: -6px;
  left: calc(50% - 4.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;
  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 > li:hover a.title::after,
.pc_navi > ul > li:hover p.title::after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.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;
}
.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%);
}
.pc_navi > ul .lv2_sm {
  width: 100% !important;
  padding: 0;
  background-color: #fdf3df;
  margin-top: 10px;
}
.pc_navi > ul .lv2_sm:first-child {
  margin-top: 0;
}
.pc_navi > ul .lv2_sm a {
  text-align: center !important;
  color: var(--clr1) !important;
  pointer-events: none;
}
.pc_navi > ul .lv2_sm a::before {
  display: none !important;
}

@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%;
  }
  .pc_navi > ul .subInner ul li a {
    padding: 0.75em 0.6em 0.75em 1.6em;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1440px;
    padding: 0 20px;
    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%;
  }
  .menu_toggle .inside .ft_link li a {
    color: var(--clr1);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .inside .ft_link .title {
    margin-bottom: 0.5em;
    font-size: 2.8em;
  }
  .menu_toggle .inside .ft_link li {
    margin-bottom: 0.2em;
  }
  .menu_toggle .inside .ft_link .menu02 .ft_menuList:first-of-type > ul {
    max-height: 22em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
  .logo {
    top: 5px;
    max-width: 190px;
  }
  .right_head {
    padding-bottom: 0;
    padding-right: 115px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .pc_navi .hd_banner {
    font-size: 8px;
  }
  .pc_navi .hd_banner a span::before {
    width: 18px;
    height: 18px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .right_head {
    width: 78%;
  }
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  .right_head {
    padding-right: 90px;
  }
  .logo {
    width: 20%;
  }
  .pc_navi > ul > li:nth-child(2) .subInner {
    -webkit-transform: translate(61%, 100%);
            transform: translate(61%, 100%);
    width: 61em;
  }
}
.idx_gallery {
  position: relative;
  z-index: 2;
}
.idx_gallery::before, .idx_gallery::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  font-size: 10px;
  z-index: 1;
}
.idx_gallery::before {
  top: -125px;
  left: 167px;
  background-image: url(../images/gallery_shape.png);
  width: 24.9em;
  height: 24.8em;
}
.idx_gallery::after {
  background-image: url(../images/gallery_shape2.png);
  bottom: -8.8em;
  right: 6.1em;
  width: 24.6em;
  height: 24.5em;
}
.idx_gallery .item {
  margin: 0 11px;
}
.idx_gallery .item:nth-child(2n) {
  margin-top: 64px;
}
.idx_gallery .item img {
  border-radius: 150px;
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .idx_gallery::before {
    left: 80px;
    font-size: 8px;
  }
  .idx_gallery::after {
    font-size: 8px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .idx_gallery .item:nth-child(2n) {
    margin-top: 30px;
  }
  .idx_gallery .item img {
    width: 300px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .idx_gallery::before {
    left: 20px;
    font-size: 7px;
  }
  .idx_gallery::after {
    font-size: 7px;
  }
}

.time_sheet {
  margin: 0px auto;
}
.time_sheet .note {
  margin-top: 30px;
  line-height: 2;
  letter-spacing: 0.1em;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet .dot {
  position: relative;
  padding: 0 0.55em;
}
.time_sheet .dot::before {
  position: absolute;
  content: "";
  top: 0.875em;
  left: 0.375em;
  background-color: #3e4943;
  height: 1px;
  width: 0.25em;
}
.time_sheet table {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.time_sheet table th,
.time_sheet table td {
  border-top: none;
  border-right: none;
  border-left: none;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #b8b6b1;
  color: var(--main-color);
  padding: 0;
  width: 10.1%;
  padding-top: 1.375em;
  padding-bottom: 1.5em;
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: 26.8%;
  padding-right: 0.5em;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 12.7%;
  padding-right: 1em;
}
.time_sheet table td:first-child {
  color: #333;
}
.time_sheet table tr:first-child th {
  background-color: var(--main-color);
  color: #fff;
  border-bottom: 0;
}
.time_sheet table tr:first-child th:first-child {
  border-radius: 10px 0 0 10px;
}
.time_sheet table tr:first-child th:last-child {
  border-radius: 0 10px 10px 0;
}
.time_sheet.st2 table tr:first-child th {
  background-color: #fff;
  color: #49433e;
}
.time_sheet.st2 table th,
.time_sheet.st2 table td {
  color: #fff;
  border-color: #a8c7ae;
}
.time_sheet.st2 .dot::before {
  background-color: #fff;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .time_sheet .note {
    margin-top: 15px;
  }
}

@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: 25px;
  right: 20px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #d6e3d8;
  border: 1px solid #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 9px auto;
  background-position: center;
  border: 0px;
  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;
  width: 100%;
  height: 100%;
  position: relative;
}
.totop .icon::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 991px) and (min-width: 769px) {
  .totop {
    width: 70px;
    height: 70px;
  }
  .totop .icon::before {
    width: 50px;
    height: 50px;
  }
}

@media only screen and (min-width: 769px) {
  .totop:hover {
    background-color: #fdf3df;
  }
  .totop:hover .icon::before {
    background-color: #fac96d;
  }
}
.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: 315px;
  right: 25px;
  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%;
  text-transform: uppercase;
}
.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: #488652;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.555556em;
  width: 20px;
  height: 20px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M20.006,14.922 L20.006,18.855 C20.006,19.440 19.555,19.923 18.972,19.964 C18.486,19.997 18.089,20.015 17.782,20.015 C7.957,20.015 -0.008,12.050 -0.008,2.224 C-0.008,1.917 0.009,1.520 0.043,1.035 C0.084,0.451 0.569,0.000 1.153,0.000 L5.084,0.000 C5.370,0.000 5.610,0.217 5.638,0.501 C5.664,0.756 5.687,0.960 5.709,1.115 C5.930,2.656 6.383,4.156 7.052,5.563 C7.158,5.785 7.089,6.052 6.889,6.193 L4.490,7.908 C5.957,11.327 8.681,14.051 12.099,15.519 L13.812,13.124 C13.956,12.922 14.224,12.852 14.449,12.958 C15.855,13.626 17.355,14.078 18.896,14.298 C19.051,14.320 19.254,14.344 19.508,14.369 C19.792,14.398 20.008,14.638 20.007,14.922 L20.006,14.922 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: #79a580;
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 21px;
  height: 21px;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='21px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M19.067,20.595 L1.122,20.595 C0.502,20.595 -0.000,20.119 -0.000,19.531 L-0.000,4.655 C-0.000,4.069 0.502,3.593 1.122,3.593 L4.486,3.593 L4.486,1.468 C4.486,0.882 4.988,0.405 5.608,0.405 C6.227,0.405 6.730,0.882 6.730,1.468 L6.730,3.593 L13.459,3.593 L13.459,1.468 C13.459,0.882 13.961,0.405 14.581,0.405 C15.200,0.405 15.702,0.882 15.702,1.468 L15.702,3.593 L17.946,3.593 L19.067,3.593 C19.687,3.593 20.189,4.069 20.189,4.655 L20.189,19.531 C20.189,20.119 19.687,20.595 19.067,20.595 ZM9.253,12.717 L7.242,10.811 C6.804,10.397 6.094,10.397 5.656,10.811 C5.218,11.226 5.218,11.900 5.656,12.314 L8.460,14.971 C8.670,15.170 8.956,15.283 9.253,15.283 C9.551,15.283 9.836,15.170 10.046,14.971 L14.533,10.720 C14.971,10.306 14.971,9.632 14.533,9.218 C14.095,8.803 13.385,8.803 12.947,9.218 L9.253,12.717 Z'/%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");
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    --size: 19em;
    width: 6em;
  }
  .fixed_banner > div {
    height: var(--size);
  }
  .fixed_banner p {
    height: var(--size);
    font-family: var(--f-en);
  }
  .fixed_banner p .tt {
    width: 100%;
    font-size: 1.8em;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  .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 p {
    border-radius: 30px 30px 0 0;
  }
  .fixed_banner .web p {
    border-radius: 0 0 30px 30px;
    padding-bottom: 2em;
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.611111em;
  }
  .fixed_banner .mail p {
    border-bottom-left-radius: 0.833em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 7px;
    right: 20px;
    top: 220px;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
  .fixed_banner {
    right: 20px;
    top: calc(50% - 2em);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 9px;
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 8px;
    right: 10px;
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .fixed_banner {
    font-size: 7px;
  }
}
footer {
  padding: 113px 0 0;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
footer .inner_big {
  max-width: 1440px;
}
footer::before {
  position: absolute;
  content: "";
  top: -112px;
  z-index: -1;
  left: 0;
  width: 100%;
  height: calc(100% + 112px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/ft_bg.jpg);
  -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='1920px' height='1509px'%3E%3Cpath fill-rule='evenodd' fill='rgb(72, 134, 82)' d='M0.000,300.000 L1919.1000,300.000 L1919.1000,1508.1000 L0.000,1508.1000 L0.000,300.000 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(72, 134, 82)' d='M1919.1000,166.178 C1704.329,65.542 1354.674,-0.002 960.000,-0.002 C565.326,-0.002 215.671,65.542 0.000,166.178 L0.000,310.996 L1919.1000,310.996 L1919.1000,166.178 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='1920px' height='1509px'%3E%3Cpath fill-rule='evenodd' fill='rgb(72, 134, 82)' d='M0.000,300.000 L1919.1000,300.000 L1919.1000,1508.1000 L0.000,1508.1000 L0.000,300.000 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(72, 134, 82)' d='M1919.1000,166.178 C1704.329,65.542 1354.674,-0.002 960.000,-0.002 C565.326,-0.002 215.671,65.542 0.000,166.178 L0.000,310.996 L1919.1000,310.996 L1919.1000,166.178 Z'/%3E%3C/svg%3E");
  -webkit-mask-position: top center;
          mask-position: top center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
}
@media only screen and (min-width: 1921px) {
  footer::before {
    width: calc(100% + 1px);
  }
}
footer .ft_top {
  padding-bottom: 48px;
  margin-bottom: 47px;
  width: 100%;
  border-bottom: 1px solid #a7c5ab;
}
footer .ft_left,
footer .ft_right {
  max-width: 610px;
  width: 50%;
}
footer .time_sheet {
  margin-top: 39px;
}
footer p {
  margin-bottom: 0;
}
footer .ft-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
footer .ft-flex .item {
  max-width: 194px;
  width: 32.5%;
  background-color: #fff;
  border-radius: 12px;
  padding-top: 35px;
  padding-bottom: 22px;
}
footer .ft-flex figure {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
footer .ft-flex .txt {
  color: var(--clr1);
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.625;
  margin-top: 8px;
}
footer p,
footer a {
  color: #fff;
  text-decoration: none;
}
footer .ft_logo {
  padding: 0px 0 18px;
  max-width: 442px;
  margin-left: auto;
  margin-right: auto;
}
footer .ft_tel {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
footer .ft_info .des {
  margin-bottom: 10px;
  letter-spacing: 0.1em;
  text-align: center;
}
footer .ft_info .des span {
  padding-left: 10px;
}
footer .ft_link {
  width: 100%;
}
footer .ft_map {
  height: 267px;
  margin-top: 40px;
}
footer .ft_map iframe {
  border-radius: 10px;
}

@media only screen and (min-width: 769px) {
  .ft_link {
    font-size: min(16px, 1.15vw);
  }
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 {
    max-width: 210px;
    width: 20%;
  }
  .ft_link .menu01 > ul {
    max-height: 13em;
  }
  .ft_link .menu02 {
    width: calc(100% - 210px);
    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;
    padding-left: 40px;
  }
  .ft_link .menu02 .ft_menuList:first-of-type > ul {
    max-height: 27em;
    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: justify;
        align-content: space-between;
  }
  .ft_link .menu02 .ft_menuList:first-of-type > ul > li:nth-child(-n+9) {
    width: 15.8em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) and (min-width: 769px) {
  .ft_link .menu02 .ft_menuList:first-of-type > ul > li:nth-child(-n+9) {
    width: 14em;
  }
}
.ft_link .ttl {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.1;
  margin-bottom: 0.708333em;
  width: 100%;
}
.ft_link .title {
  margin-bottom: 0.58em;
  padding-left: 6px;
  font-size: 3.125em;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  text-transform: uppercase;
  margin-left: -3px;
  width: 100%;
}
.ft_link .title::before {
  display: none;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 0.75em;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link a {
  position: relative;
  padding-left: 1.0625em;
  color: inherit;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.875;
  font-weight: 400;
  display: table;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.ft_link a::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  border-radius: 100%;
  width: auto;
  height: auto;
}
.ft_link a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
  }
}
.ft_link a:hover {
  color: #fff;
}
.ft_link .ttl_sm {
  background-color: #70ad47;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 769px) {
  .ft_link .ft_menuList.col2 > 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;
    width: 23em;
  }
}

.copyright {
  margin: 58px 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: var(--main-color);
}
.copyright .textwidget {
  display: block;
  line-height: 20px;
  padding-left: 20px;
  margin-left: 22px;
  border-left: 1px solid #a4c3a9;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.copyright .textwidget p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.copyright .grits {
  margin-bottom: 0;
  line-height: 2.501;
}
.copyright .grits a {
  display: block;
}
.copyright .grits img {
  max-width: 142px;
}

@media only screen and (min-width: 1281px) {
  footer .ft_left {
    margin-top: 1px;
  }
  footer .ft_link {
    margin-left: -7px;
  }
  footer .ft_link .menu02 .title {
    margin-left: -12px;
  }
  footer .ft_link .menu02 .ttl {
    margin-left: 0;
  }
  footer .ft_menuList:nth-of-type(2) {
    position: relative;
    left: -4px;
    top: -2px;
  }
  footer .ft_menuList:nth-of-type(3) {
    position: relative;
    left: 9px;
    top: -2px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .ft_link .menu02 {
    padding-left: 30px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  footer {
    padding-top: 80px;
  }
  footer .ft_top > div {
    width: 49%;
  }
  .ft_link .menu02 {
    padding-left: 1.5em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .ft_link {
    font-size: min(14px, 1.2vw);
  }
  .ft_link .menu01 {
    width: 14em;
  }
  .ft_link .menu02 {
    width: calc(100% - 14em);
    padding-left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 991px) {
  footer .ft-flex .txt {
    font-size: 11px;
  }
  footer .ft-flex .item {
    padding-top: 20px;
    padding-bottom: 15px;
  }
  footer .ft-flex figure {
    width: 40px;
  }
  .ft_link a {
    letter-spacing: 0.05em;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*# sourceMappingURL=style.css.map */