@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-en: "Josefin Sans", sans-serif;
  --main-color: #eea200;
  --clr1: #222222;
  --clr2: #89c998;
  --ttl_size: 28px;
  --wrapper: 120px;
  --border-radius: 10px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-family: var(--f-notosans);
}
body::-webkit-scrollbar {
  display: block;
  width: 10px;
  height: 10px;
}
body::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
  box-shadow: inset 0 0 6px #fff;
}
body::-webkit-scrollbar-thumb:window-inactive {
  background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
}
@media only screen and (min-width: 1025px) {
  body {
    font-size: 17px;
  }
}
body.ovh {
  position: relative;
}
body.ovh::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: 19;
  background: #939393;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: 100%;
  -webkit-text-size-adjust: none;
}

header,
section,
footer,
aside,
nav,
main,
article,
figure,
picture {
  display: block;
  padding: 0;
  margin: 0;
}

img {
  display: table;
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

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

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

table {
  width: 100%;
}

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

.captcha_box iframe {
  height: auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

p {
  line-height: 2;
  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 {
  box-sizing: border-box;
}

/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  overflow-x: auto !important;
}

.wrapper {
  overflow: hidden;
}

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

.inner_max {
  max-width: 1480px;
}

.inner_big {
  max-width: 1340px;
}

.inner {
  max-width: 1210px;
}

.inner_sm {
  max-width: 1020px;
}

.fullWidthBreak {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.txt_ver {
  writing-mode: vertical-rl;
}

@media only screen and (min-width: 769px) {
  .txt_ver_pc {
    writing-mode: vertical-rl;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           WordPress Core                                 */
/*==========================================================================*/
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 35px;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*                              General                                     */
/*==========================================================================*/
@media only screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}
@media only screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
}
.TabContainer .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer .TabContent .content {
  transition: all 0.3s ease-in-out;
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.3s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: center;
  width: 90%;
  margin: 0px auto;
  max-width: 1118px;
}
.TabContainer .TabPager > div {
  background-color: #a4c7ce;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 20px 20px;
  width: calc(50% - 0px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #ffffff;
  border-radius: 10px 10px 0px 0px;
}
.TabContainer .TabPager > div p {
  margin: 0;
  font-size: 1.5em;
  line-height: 2;
  border-bottom: 1px solid transparent;
}
.TabContainer .TabPager > div.active {
  background-color: #fff;
  z-index: 1;
  color: #3d9e81;
}
.TabContainer .TabPager > div.active p {
  border-bottom: 1px solid;
}

.rel {
  position: relative;
}

.ovh {
  overflow: hidden !important;
}

.ovs {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* Lets it scroll lazy */
}

.lt0 {
  letter-spacing: 0 !important;
}

figure,
picture {
  text-align: center;
  line-height: 1;
}

.fblock {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.key {
  position: relative;
}

.txt_l {
  float: left;
  width: calc(100% - 385px);
}

.txt_r {
  float: right;
  width: calc(100% - 385px);
}

.link > a {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.tel_click {
  display: table;
  text-decoration: none;
}
.tel_click .icon {
  display: flex;
  align-items: center;
  font-family: var(--f-en);
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: 0.05em;
  font-size: 1.5em;
}
.tel_click .icon::before {
  content: "";
  display: block;
  margin-right: 0.3214em;
  margin-top: 0.1786em;
  width: 0.893em;
  height: 0.893em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 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);
}

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

.btn {
  max-width: 367px;
  margin: 25px auto 0;
}
.btn a {
  display: flex;
  align-items: center;
  padding-left: 1.3889em;
  text-decoration: none;
  background-color: var(--clr2);
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 18px;
  width: 100%;
  color: #fff;
  height: 4.3333em;
  padding-top: 0.1em;
  position: relative;
  z-index: 1;
  padding-right: 3.3333em;
  transition: 0.3s all;
}
.btn a:hover {
  opacity: 1;
  color: #fff;
}
.btn a::before, .btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  width: 1.5556em;
  height: 1.5556em;
  top: calc(50% - 0.7778em);
  right: 1.3889em;
}
.btn a::before {
  background-color: #fff;
  border-radius: 50%;
}
.btn a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url(../images/shared_btn_icon.png);
  background-color: var(--clr2);
}
@media only screen and (min-width: 769px) {
  .btn a:not([target*=_blank]):hover {
    background-color: #de8000;
  }
  .btn a:not([target*=_blank]):hover::after {
    background-color: #de8000;
  }
}
@media only screen and (max-width: 1024px) {
  .btn a {
    letter-spacing: 0;
    font-size: 16px;
  }
}
.btn.bg2 a {
  background-color: #de8000;
}
.btn.bg2 a::after {
  background-color: #de8000;
}
@media only screen and (min-width: 769px) {
  .btn.bg2 a:not([target*=_blank]):hover {
    background-color: var(--clr2);
  }
  .btn.bg2 a:not([target*=_blank]):hover::after {
    background-color: var(--clr2);
  }
}
.btn.bg3 a {
  background-color: transparent;
  border: 1px solid #fff;
}
.btn.bg3 a::after {
  background-color: #de8000;
}
@media only screen and (min-width: 769px) {
  .btn.bg3 a:not([target*=_blank]):hover {
    background-color: var(--clr2);
  }
  .btn.bg3 a:not([target*=_blank]):hover::after {
    background-color: var(--clr2);
  }
}
@media only screen and (max-width: 768px) {
  .btn {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}

.btn-group.fblock {
  max-width: 749px;
}
.btn-group.fblock .btn {
  margin: 0;
  width: calc(50% - 7px);
  margin-bottom: 15px;
}
@media only screen and (max-width: 768px) {
  .btn-group {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
  .btn-group.fblock {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
  .btn-group.fblock .btn {
    max-width: 100%;
    width: 100%;
    margin: 0;
  }
  .btn-group.fblock .btn:not(:last-child) {
    margin-bottom: 10px;
  }
}

.yt {
  max-width: 960px;
  margin: 0px auto;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slick-arrow {
  display: block;
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  position: absolute;
  top: 37%;
  width: 2em;
  height: 2em;
  transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

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

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

/* 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;
  right: 0;
  height: var(--wrapper);
  z-index: 20;
  transition: 0.3s all;
}
header::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  position: fixed;
  z-index: -1;
  background: rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
}
header.hover::after {
  opacity: 1;
  visibility: visible;
}

header.active,
.ovh header {
  background-color: #fff;
  top: 20px;
  left: 20px;
  right: 20px;
  border-radius: 10px;
  --wrapper: 90px;
}
header.active .logo,
.ovh header .logo {
  width: auto;
  margin: 0;
}
header.active .logo img,
.ovh header .logo img {
  max-height: 47px;
}
header.active .header_top,
.ovh header .header_top {
  padding: 0 85px 0 30px;
}
header.active .hamburger-btn,
.ovh header .hamburger-btn {
  top: 36px;
  right: 50px;
}
header.active .hamburger-btn .button-toggle,
.ovh header .hamburger-btn .button-toggle {
  background-color: var(--clr2);
}
header.active .hamburger-btn .button-toggle #nav-icon span,
.ovh header .hamburger-btn .button-toggle #nav-icon span {
  border-top-color: #fff;
}
@media only screen and (min-width: 769px) {
  header.active .hamburger-btn .button-toggle:hover,
  .ovh header .hamburger-btn .button-toggle:hover {
    background-color: var(--main-color);
  }
}
header.active .pc_navi > ul > li > a,
header.active .pc_navi > ul > li > p,
.ovh header .pc_navi > ul > li > a,
.ovh header .pc_navi > ul > li > p {
  color: var(--clr1);
}
header.active .pc_navi > ul > li > a:hover,
header.active .pc_navi > ul > li > p:hover,
.ovh header .pc_navi > ul > li > a:hover,
.ovh header .pc_navi > ul > li > p:hover {
  color: var(--main-color);
}
header.active .pc_navi > ul > li:hover > a,
header.active .pc_navi > ul > li:hover > p,
.ovh header .pc_navi > ul > li:hover > a,
.ovh header .pc_navi > ul > li:hover > p {
  color: var(--main-color);
}
header.active .pc_navi > ul > li.menu-item-has-children > a::before, header.active .pc_navi > ul > li.menu-item-has-children > a::after,
header.active .pc_navi > ul > li.menu-item-has-children > p::before,
header.active .pc_navi > ul > li.menu-item-has-children > p::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > a::before,
.ovh header .pc_navi > ul > li.menu-item-has-children > a::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > p::before,
.ovh header .pc_navi > ul > li.menu-item-has-children > p::after {
  background-color: var(--main-color);
}
header.active .pc_navi > ul > li.menu-item-has-children > a::after,
header.active .pc_navi > ul > li.menu-item-has-children > p::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > a::after,
.ovh header .pc_navi > ul > li.menu-item-has-children > p::after {
  background-color: var(--main-color);
}
@media only screen and (min-width: 1919px) {
  header.active .right_head,
  .ovh header .right_head {
    max-width: 539px;
    padding-right: 104px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  header.active,
  .ovh header {
    top: 10px;
    left: 10px;
    right: 10px;
    border-radius: 20px;
  }
  header.active .hamburger-btn,
  .ovh header .hamburger-btn {
    top: 30px;
    right: 20px;
    width: 100px;
  }
  header.active .header_top,
  .ovh header .header_top {
    padding-left: 20px;
  }
  header.active .right_head,
  .ovh header .right_head {
    padding-right: 50px;
  }
}

.ovh header {
  top: 30px;
  left: 30px;
  right: 30px;
  border-radius: 30px;
}
@media only screen and (min-width: 1919px) {
  .ovh header .hamburger-btn {
    top: 50px;
  }
}

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

.logo {
  width: 28%;
  max-width: 488px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 19px;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}

.right_head {
  width: 70%;
  max-width: 574px;
  padding-right: 139px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pc_navi {
  width: 100%;
}
.pc_navi > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  width: 100%;
}
.pc_navi > ul > li {
  position: relative;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
  opacity: 0.8;
  color: var(--main-color);
}
.pc_navi > ul > li.menu-item-has-children > a,
.pc_navi > ul > li.menu-item-has-children > p {
  padding-right: 1.4444em;
}
.pc_navi > ul > li.menu-item-has-children > a::before, .pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::before,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 0.6667em;
  height: 2px;
  background-color: #fff;
  right: 0;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  transform: rotate(90deg);
}
.pc_navi > ul > li.menu-item-has-children:hover > a::after,
.pc_navi > ul > li.menu-item-has-children:hover > p::after {
  transform: rotate(0deg);
  background-color: var(--main-color);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  height: 40px;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  transition: all 0.2s ease;
  color: #fff;
}
.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: 469px;
  left: 50%;
  top: 100%;
  padding-top: 30px;
  transform: translateX(-50%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
@media only screen and (min-width: 1600px) {
  .pc_navi > ul .subInner {
    padding-top: 49px;
  }
}
.pc_navi > ul .subInner.active {
  opacity: 1;
  visibility: visible;
}
.pc_navi > ul .subInner ul {
  background-color: #fff;
  border-radius: 30px;
  padding: 40px 40px 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
  width: 50%;
  margin-bottom: 15px;
}
.pc_navi > ul .subInner ul li a {
  position: relative;
  display: block;
  transition: all 0.2s ease;
  font-size: 16px;
  font-weight: 500;
  color: var(--clr1);
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.005em;
  padding-left: 2em;
}
.pc_navi > ul .subInner ul li a::after, .pc_navi > ul .subInner ul li a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1.375em;
  height: 1.375em;
  left: 0;
  top: 0.125em;
}
.pc_navi > ul .subInner ul li a::before {
  background-color: var(--main-color);
  border-radius: 50%;
}
.pc_navi > ul .subInner ul li a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url(../images/ft_menu_arr.png);
  background-color: #fff;
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 440px;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
    background: transparent;
    border-radius: 0px;
    padding: 0px;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .pc_navi .hide > a {
    display: none !important;
  }
  .pc_navi > ul .mcol-2 > .subInner {
    width: 1560px;
    transform: translateX(-67.7%);
  }
  .pc_navi > ul .mcol-2 > .subInner > ul {
    background-color: #fff;
    border-radius: 30px;
    padding: 60px 60px 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul > li > a {
    background: var(--main-color);
    color: #fff;
    text-align: center;
    border-radius: 20px 20px 0 0;
    letter-spacing: 0.005em;
    padding: 16px 0 17px;
    border: 0;
    font-size: 18px;
    pointer-events: none;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu1 {
    width: 25.72%;
    background-color: #fffae0;
    border-radius: 20px;
    padding: 0;
    margin-bottom: 19px;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu2 {
    width: 25.72%;
    background-color: #eff8f1;
    border-radius: 20px;
    padding: 0;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu2 > .sub-menu-link {
    background-color: var(--clr2);
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu2 ul li a::before {
    background-color: var(--clr2);
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 {
    width: 22.3%;
    padding: 0;
    position: relative;
    left: 1.7%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 {
    width: 23.15%;
    padding: 0;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 .subInner ul li a, .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 .subInner ul li a {
    padding-left: 2.3em;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul .subInner ul {
    padding: 30px 10px 17px 20px;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul > .menu-item-has-children {
    width: 50%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul > .menu-item-has-children > a::after, .pc_navi > ul .mcol-2 > .subInner > ul > .menu-item-has-children > a::before, .pc_navi > ul .mcol-2 > .subInner > ul > .menu-item-has-children > p::after, .pc_navi > ul .mcol-2 > .subInner > ul > .menu-item-has-children > p::before {
    display: none;
  }
  .pc_navi > ul .mcol-2 > .subInner .subInner {
    width: 100% !important;
    position: static !important;
    transform: unset !important;
    padding-top: 0 !important;
  }
  .pc_navi > ul .mcol-2 > .subInner .subInner ul {
    background: transparent;
    border-radius: 0px;
    padding: 0px;
  }
  .pc_navi > ul .mcol-2 > .subInner .subInner ul li {
    width: 100%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1690px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1870px) {
  .pc_navi > ul .mcol-2 > .subInner {
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
    left: -16vw;
    transform: translateX(-50%);
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: -13vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .pc_navi > ul .mcol-2 > .subInner {
    left: -10.5vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: -7vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
  .pc_navi > ul .mcol-2 > .subInner {
    left: -6vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: -2.5vw;
  }
  .pc_navi > ul .subInner ul li a {
    letter-spacing: 0;
    font-size: 14px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .pc_navi > ul .mcol-2 > .subInner {
    left: -4vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .pc_navi > ul .mcol-2 > .subInner {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
  }
  .pc_navi > ul .mcol-2 > .subInner {
    left: -1vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: 3.5vw;
  }
  .pc_navi > ul .subInner ul li a {
    letter-spacing: 0;
    font-size: 13px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .pc_navi > ul .mcol-2 > .subInner {
    left: 5vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: 7.5vw;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul > li > a {
    padding: 14px 0;
    letter-spacing: 0;
    font-size: 16px;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul .subInner ul {
    padding: 20px 10px;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 {
    width: 24%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 {
    width: 21%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu1,
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu2 {
    width: 26%;
  }
  .pc_navi > ul .subInner ul li {
    padding: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 850px) {
  .pc_navi > ul .mcol-2 > .subInner {
    left: 5vw;
  }
  header.active .pc_navi > ul .mcol-2 > .subInner {
    left: 8.4vw;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  :root {
    --wrapper: 100px;
  }
  .pc_navi > ul .subInner ul,
  .pc_navi > ul .mcol-2 > .subInner > ul {
    padding: 20px 20px 8px;
    border-radius: 20px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  :root {
    --wrapper: 80px;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: min(1.5604681404vw, 15px);
    letter-spacing: 0;
  }
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
  }
}
.idx_gallery .list {
  display: flex;
}
.idx_gallery .list .img {
  padding-top: 2em;
}
.idx_gallery .list .img img {
  overflow: hidden;
  border-radius: 0.625em;
  margin: 0 6px;
}

.time_sheet {
  margin: 0px auto;
  max-width: 464px;
}
.time_sheet .note {
  margin-top: 15px;
  margin-left: -2px;
  line-height: 2;
  font-size: 14px;
  letter-spacing: 0.1em;
}
.time_sheet .note span {
  display: inline-block;
}
.time_sheet table {
  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: 500;
  letter-spacing: 0.1em;
  width: 9.9%;
  border-bottom: 1px solid var(--clr1);
}
.time_sheet table th:first-child,
.time_sheet table td:first-child {
  width: auto;
  padding-left: 1.9%;
}
.time_sheet table th:last-child,
.time_sheet table td:last-child {
  width: 16.05%;
  padding-left: 0.8em;
  text-align: left;
}
.time_sheet table th {
  padding: 0.6em 0.2em;
}
.time_sheet table td {
  padding: 1.35em 0.2em 1.65em;
  color: var(--main-color);
}
.time_sheet table td:first-child {
  color: #333;
}
.time_sheet table tr:nth-child(3) td {
  padding-bottom: 1.6em;
}

@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 10px;
  right: 32em;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .totop {
    right: 22.2em;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .totop {
    right: 27.2em;
  }
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 80px;
  height: 80px;
  margin: 0;
}

@media only screen and (min-width: 769px) {
  .totop:hover .icon {
    opacity: 0.9;
    animation-name: bounces;
  }
}
.bounce {
  animation-name: bounces;
}

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

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner {
  position: fixed;
  top: calc(50% - 5em);
  right: 0px;
  z-index: 15;
  transition: right 0.3s ease-in-out;
}
.fixed_banner > div {
  position: relative;
  transition: all 0.3s ease;
}
.fixed_banner a {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 2;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fixed_banner p {
  display: block;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.2222222222;
  text-align: center;
  text-decoration: none;
}
.fixed_banner p:hover {
  color: #fff;
}
.fixed_banner p .tt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  flex-direction: column;
}
.fixed_banner p .tt::before {
  content: "";
  display: block;
  mask-image: var(--mask);
  -webkit-mask-image: var(--mask);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% auto;
  -webkit-mask-size: 100% auto;
  mask-position: center;
  -webkit-mask-position: center;
  background-color: #fff;
}
.fixed_banner .tel p {
  background-color: #0062a6;
}
.fixed_banner .tel p .tt::before {
  margin-bottom: 0.5em;
  width: 1.916667em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 223 224' %3E%3Cpath d='M222.907,166.838 L222.907,210.592 C222.909,217.120 217.879,222.520 211.391,222.958 C205.982,223.331 201.562,223.531 198.146,223.531 C88.744,223.531 0.068,134.864 0.068,25.466 C0.068,22.058 0.254,17.644 0.636,12.224 C1.093,5.755 6.488,0.709 12.992,0.709 L56.768,0.709 C59.948,0.709 62.615,3.125 62.933,6.289 C63.218,9.131 63.479,11.393 63.725,13.113 C66.185,30.293 71.227,46.982 78.681,62.647 C79.857,65.122 79.087,68.080 76.860,69.665 L50.145,88.758 C66.478,126.815 96.810,157.140 134.873,173.475 L153.936,146.824 C155.547,144.568 158.532,143.782 161.031,144.961 C176.692,152.397 193.386,157.417 210.550,159.885 C212.273,160.117 214.537,160.394 217.360,160.678 C220.522,160.994 222.923,163.668 222.917,166.838 L222.907,166.838 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
  background-color: #2e9de9;
}
.fixed_banner .web p .tt::before {
  margin-bottom: 0.5em;
  width: 2em;
  height: 2em;
  --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232 ' %3E%3Cpath d='M218.959,232.004 L13.039,232.004 C5.931,232.004 0.169,226.540 0.169,219.806 L0.169,49.115 C0.169,42.374 5.931,36.917 13.039,36.917 L51.648,36.917 L51.648,12.533 C51.648,5.799 57.410,0.348 64.518,0.348 C71.626,0.348 77.388,5.799 77.388,12.533 L77.388,36.917 L154.608,36.917 L154.608,12.533 C154.608,5.799 160.370,0.348 167.478,0.348 C174.586,0.348 180.348,5.799 180.348,12.533 L180.348,36.917 L206.089,36.917 L218.959,36.917 C226.069,36.917 231.829,42.374 231.829,49.115 L231.829,219.806 C231.829,226.540 226.069,232.004 218.959,232.004 ZM106.345,141.603 L83.269,119.752 C78.243,114.984 70.098,114.984 65.071,119.752 C60.043,124.508 60.043,132.228 65.071,136.983 L97.246,167.469 C99.659,169.750 102.934,171.045 106.345,171.045 C109.758,171.045 113.032,169.750 115.445,167.469 L166.925,118.702 C171.953,113.940 171.953,106.214 166.925,101.452 C161.898,96.690 153.753,96.690 148.726,101.452 L106.345,141.603 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
  background-color: #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: 8em;
    width: 8em;
  }
  .fixed_banner > div {
    width: var(--size);
    height: var(--size);
    margin-bottom: 0.5em;
  }
  .fixed_banner p {
    width: var(--size);
    height: var(--size);
  }
  .fixed_banner p .tt {
    font-size: 1.2em;
    letter-spacing: 0.05em;
  }
  .fixed_banner .tel {
    --w_tel: 15em;
    transform: translateX(calc(-var(--size) - var(--w_tel)));
    transition: all 0.3s ease;
  }
  .fixed_banner .tel .tt::before {
    margin-bottom: 0.45em;
  }
  .fixed_banner .tel:hover {
    transform: translateX(calc(0em - var(--w_tel)));
  }
  .fixed_banner .tel:hover a {
    width: calc(var(--size) + var(--w_tel));
  }
  .fixed_banner .tel p {
    border-top-left-radius: 0.833em;
  }
  .fixed_banner .tel .ov {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--main-color);
    position: absolute;
    left: var(--size);
    height: 100%;
    top: 0;
    width: var(--w_tel);
    border-left: 1px solid #fff;
  }
  .fixed_banner .tel .ov .text {
    font-size: 1.5em;
    font-family: var(--f-en);
  }
  .fixed_banner .web p .tt::before {
    margin-bottom: 0.5em;
  }
  .fixed_banner .mail p {
    border-bottom-left-radius: 0.833em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8.75px;
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
footer .ft_gallery {
  --radius: 70px;
  font-size: 10px;
}
footer .ft_gallery .img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  position: relative;
  margin-left: 5.8em;
}
footer .ft_gallery .img1 {
  aspect-ratio: 561/382;
  margin-top: 5.6em;
  background-image: url(../images/ft_img1.jpg);
  border-radius: 0 var(--radius) 0 0;
  width: 56.1em;
}
footer .ft_gallery .img2 {
  aspect-ratio: 254/208;
  background-image: url(../images/ft_img2.jpg);
  border-radius: 0 var(--radius) 0 0;
  width: 25.4em;
}
footer .ft_gallery .img3 {
  aspect-ratio: 448/323;
  margin-top: 7.2em;
  background-image: url(../images/ft_img3.jpg);
  border-radius: 0 var(--radius) 0 0;
  width: 44.8em;
}
footer .ft_gallery .img4 {
  aspect-ratio: 480/427;
  position: relative;
  width: 48em;
}
footer .ft_gallery .img4 .img4_1 {
  background: url(../images/ft_img4.jpg) no-repeat center/cover;
  border-radius: 0 var(--radius) 0 0;
  aspect-ratio: 332/206;
  width: 33.2em;
  position: absolute;
  bottom: -1em;
  left: 0;
}
footer .ft_gallery .img4 .img4_2 {
  background: url(../images/ft_img5.jpg) no-repeat center/cover;
  border-radius: 0 var(--radius) 0 0;
  aspect-ratio: 295/183;
  width: 29.5em;
  top: 1.1em;
  right: 0;
  position: absolute;
}
footer .ft_gallery .img5 {
  aspect-ratio: 448/341;
  background-image: url(../images/ft_img6.jpg);
  border-radius: 0 var(--radius) 0 0;
  width: 44.8em;
}
footer .ft_bg {
  background-color: #eea200;
  padding: 182px 0 104px;
  margin-top: -114px;
}
footer .ft_bg .inner {
  max-width: 1417px;
}
footer .ft_bg .btn {
  margin: 0;
  width: 286px;
}
footer .ft_bg .btn a::after {
  right: 1.3em;
}
footer .ft_logo {
  margin-top: 12px;
}
footer .copyright p {
  font-size: 18px;
  letter-spacing: 0.05em;
  margin-top: 64px;
  text-align: center;
  color: #fff;
  line-height: 1;
}

.ft_link .ttl {
  line-height: 1;
  font-size: 30px;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
  margin: 95px 0 32px;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .ft_link .ttl {
    font-size: 20px;
    margin: 40px 0;
  }
}

.link_list a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
	.link_list .menu1 {
		width: 27%;
	}
	.link_list .menu2 {
		width: 27%;
	}
	.link_list .menu_new {
		width: 42%;
	}
	.link_list .menu3 {
		width: 48%;
	}
	.link_list .menu4 {
		width: 48%;
	}
}
footer .idx_new_banner {
	width: 100%;
    max-width: 400px;
    margin: 1em auto 0;
}
footer .idx_new_banner img {
	width: 100%;
    max-width: 100%;
}
.link_list .ft_menu_box {
  background-color: #fff;
  border-radius: 20px;
  padding: 34px 31px 29px;
  height: 100%;
}
.link_list .ft_menu_box ul li a {
  color: var(--clr1);
  padding-left: 2em;
}
.link_list .ft_menu_box ul li a:hover {
  opacity: 1;
  color: var(--clr1);
}
.link_list .title {
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--main-color);
  margin-bottom: 29px;
}
.link_list .title.clr2 {
  color: var(--clr2);
}
.link_list ul:last-child {
  margin-bottom: 0;
}
.link_list li {
  margin-bottom: 13.4px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.link_list li a {
  display: table;
  position: relative;
  padding-left: 0em;
  color: inherit;
  font-size: 16px;
  letter-spacing: 0em;
  color: #fff;
  font-weight: 500;
  line-height: 1.6;
  padding-left: 2.25em;
}
.link_list a::before, .link_list a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1.375em;
  height: 1.375em;
  left: 0;
  top: 0.125em;
}
.link_list a::before {
  background-color: #fff;
  border-radius: 50%;
}
.link_list a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url(../images/ft_menu_arr.png);
  background-color: var(--main-color);
}
.link_list a:hover {
  opacity: 1;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .link_list a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
.link_list .ft_menu_box1 ul li a::before {
  background-color: var(--main-color);
}
.link_list .ft_menu_box1 ul li a::after {
  background-color: #fff;
}
.link_list .ft_menu_box2 ul li a::before {
  background-color: var(--clr2);
}
.link_list .ft_menu_box2 ul li a::after {
  background-color: #fff;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .link_list li a {
    letter-spacing: 0;
    font-size: 14px;
  }
  .link_list a::before, .link_list a::after {
    mask-position: 1px center;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .link_list .menu1,
  .link_list .menu2 {
    left: 0;
    width: 25%;
  }
  .link_list .menu3 {
    width: 22%;
    top: 0;
  }
  .link_list .menu4 {
    width: 22%;
    top: 0;
  }
  .link_list li a {
    letter-spacing: 0;
    font-size: 12px;
  }
  .link_list .title {
    font-size: 16px;
    letter-spacing: 0;
  }
  .link_list .ft_menu_box {
    padding: 20px 10px;
  }
}
@media only screen and (min-width: 850px) and (max-width: 1024px) {
  .link_list .menu1 ul li a br,
  .link_list .menu3 ul li a br {
    display: none !important;
  }
}

.ft_info {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-top: 51px;
  display: flex;
  align-items: center;
  padding: 34px 0 36px;
}
.ft_info .ft_info_ttl {
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  margin: 0;
}
.ft_info ul {
  display: flex;
  align-items: center;
  margin-left: 58px;
}
.ft_info ul li:not(:first-child) {
  margin-left: 38px;
}
.ft_info ul li a {
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  padding-left: 2.4em;
  position: relative;
  letter-spacing: 0.025em;
  color: #fff;
}
.ft_info ul li a::before, .ft_info ul li a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 1.375em;
  height: 1.375em;
  left: 0;
  top: 0.125em;
}
.ft_info ul li a::before {
  background-color: #fff;
  border-radius: 50%;
}
.ft_info ul li a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url(../images/ft_menu_arr.png);
  background-color: var(--main-color);
}
.ft_info ul li a:hover {
  opacity: 1;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .ft_info ul li a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
.ft_info .ft_info_btn {
  margin-left: 240px;
}
.ft_info .ft_info_btn a {
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
  position: relative;
  padding-right: 50px;
  text-decoration: none;
}
.ft_info .ft_info_btn a:hover {
  opacity: 1;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .ft_info .ft_info_btn a:hover {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
  }
}
.ft_info .ft_info_btn a::before, .ft_info .ft_info_btn a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 0;
  width: 28px;
  height: 28px;
  top: calc(50% - 14px);
  right: 0;
}
.ft_info .ft_info_btn a::before {
  background-color: #fff;
  border-radius: 50%;
}
.ft_info .ft_info_btn a::after {
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url(../images/shared_btn_icon.png);
  background-color: var(--main-color);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .ft_info .ft_info_ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
  .ft_info ul {
    margin-left: 40px;
  }
  .ft_info ul li a {
    font-size: 12px;
    letter-spacing: 0;
  }
  .ft_info .ft_info_btn {
    margin-left: 40px;
  }
  .ft_info .ft_info_btn a {
    letter-spacing: 0;
    font-size: 20px;
  }
}

.menu_toggle .ft_link {
  flex-direction: column;
}
.menu_toggle .ft_link .menu1,
.menu_toggle .ft_link .menu2 {
  width: 28.4%;
}
.menu_toggle .ft_link .ttl {
  color: var(--main-color);
  width: 100%;
  margin: 0 0 47px;
}
.menu_toggle .ft_link ul li a {
  color: var(--clr1);
}
.menu_toggle .ft_link ul li a::before {
  background-color: var(--main-color);
}
.menu_toggle .ft_link ul li a::after {
  background-color: #fff;
}
.menu_toggle .ft_link .ft_menu_box1 {
  background-color: #fffae0;
}
.menu_toggle .ft_link .ft_menu_box2 {
  background-color: #eff8f1;
}
.menu_toggle .ft_link .title {
  text-align: center;
  padding: 21px 0;
  background-color: var(--main-color);
  color: #fff;
  border-radius: 20px 20px 0 0;
}
.menu_toggle .ft_link .ft_menu_box {
  padding: 0 0 22px;
}
.menu_toggle .ft_link .ft_menu_box2 ul li a::before {
  background-color: var(--clr2);
}
.menu_toggle .ft_link .ft_menu_box2 ul li a::after {
  background-color: #fff;
}
.menu_toggle .ft_link .ft_menu_box2 .title {
  background-color: var(--clr2);
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .menu_toggle .ft_link .ft_menu_box ul {
    padding-left: 30px;
  }
  .menu_toggle .ft_link .menu1,
  .menu_toggle .ft_link .menu2 {
    width: 27.9%;
  }
  .menu_toggle .ft_link .menu2 {
    left: -22px;
  }
  .menu_toggle .ft_link .menu3 {
    width: 16.35%;
    position: relative;
    top: -4px;
  }
  .menu_toggle .ft_link .menu4 {
    width: 18.55%;
    position: relative;
    top: -4px;
  }
}
.menu_toggle .ft_info {
  border-color: #dedede;
  border-bottom: 0;
  margin-top: 71px;
  padding: 77px 0 0;
  width: 100%;
}
.menu_toggle .ft_info .ft_info_ttl {
  color: var(--main-color);
}
.menu_toggle .ft_info ul {
  margin-left: 71px;
  margin-bottom: 4px;
}
.menu_toggle .ft_info ul li a {
  color: var(--clr1);
}
.menu_toggle .ft_info .ft_info_btn {
  margin-left: 162px;
}
.menu_toggle .ft_info .ft_info_btn a {
  color: var(--main-color);
}
.menu_toggle .ft_info .ft_info_btn a::before {
  background-color: var(--main-color);
}
.menu_toggle .ft_info .ft_info_btn a::after {
  background-color: #fff;
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  .menu_toggle .link_list li a {
    letter-spacing: 0;
  }
  .menu_toggle .ft_link .menu1,
  .menu_toggle .ft_link .menu2 {
    left: 0;
    width: 26%;
  }
  .menu_toggle .ft_link .menu3 {
    width: 20%;
    top: 0;
  }
  .menu_toggle .ft_link .menu4 {
    width: 22%;
    top: 0;
  }
  .menu_toggle .ft_info {
    margin-top: 40px;
    padding-top: 40px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .link_list li a {
    font-size: 14px;
  }
  .menu_toggle .ft_link .title {
    font-size: 16px;
    padding: 1em 0;
    margin-bottom: 1em;
  }
  .menu_toggle .ft_link .ttl {
    margin-bottom: 25px;
    font-size: 24px;
  }
  .menu_toggle .ft_info {
    margin-top: 40px;
    padding-top: 40px;
  }
  .menu_toggle .ft_info .ft_info_ttl {
    font-size: 24px;
  }
  .menu_toggle .ft_info .ft_info_btn a {
    letter-spacing: 0;
    font-size: 24px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .menu_toggle .ft_link .menu3 {
    width: 21%;
  }
  .menu_toggle .ft_info {
    margin-top: 25px;
    padding-top: 20px;
  }
  .menu_toggle .ft_info .ft_info_ttl {
    font-size: 20px;
    letter-spacing: 0;
  }
  .menu_toggle .ft_info ul {
    margin-left: 40px;
  }
  .menu_toggle .ft_info ul li a {
    font-size: 12px;
    letter-spacing: 0;
  }
  .menu_toggle .ft_info .ft_info_btn {
    margin-left: 40px;
  }
  .menu_toggle .ft_info .ft_info_btn a {
    letter-spacing: 0;
    font-size: 20px;
  }
  .menu_toggle .link_list li a {
    letter-spacing: 0;
    font-size: 12px;
  }
  .menu_toggle .link_list .title {
    font-size: 16px;
    letter-spacing: 0;
  }
  .menu_toggle .link_list .ft_menu_box ul {
    padding: 10px;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  header .header_top {
    padding: 0 20px;
  }
  .pc_navi > ul > li > a,
  .pc_navi > ul > li > p {
    font-size: 1.5604681404vw;
    letter-spacing: 0;
  }
  .right_head {
    width: 55%;
  }
  header.active .logo img,
  .ovh header .logo img {
    height: 30px;
  }
  footer .ft_logo {
    width: 50%;
  }
  footer .ft_gallery {
    font-size: 5px;
  }
  footer .copyright p {
    margin-top: 40px;
  }
}
.fixed_btn {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 19;
  display: flex;
  flex-wrap: wrap;
  font-size: 10px;
  width: 52.9em;
}
.fixed_btn > div {
  background-color: #89c998;
  height: 11.6em;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.fixed_btn > div a {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
}
.fixed_btn > div:first-child {
  border-right: 1px solid #fff;
  border-radius: 20px 0 0 0;
}
.fixed_btn > div p {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 2em;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  color: #fff;
}
.fixed_btn > div p::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
.fixed_btn .tel p {
  padding-top: 0.15em;
  padding-left: 0.2em;
}
.fixed_btn .tel p::before {
  background-image: url(../images/icon_tel.svg);
  width: 1.3em;
  height: 1.3em;
  margin-right: 0.5em;
}
.fixed_btn .web p {
  padding-top: 0.2em;
  padding-right: 0.2em;
}
.fixed_btn .web p::before {
  background-image: url(../images/icon_web.svg);
  width: 1.45em;
  height: 1.35em;
  margin-right: 0.7em;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .fixed_btn {
    font-size: 7px;
  }
}

@media only screen and (min-width: 850px) and (max-width: 1024px) {
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu1,
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu2 {
    width: 27%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 {
    width: 23%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 .subInner ul li {
    width: 100%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 ul .subInner ul {
    padding-left: 0;
    padding-right: 0;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 .subInner ul li,
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 .subInner ul li {
    padding: 0;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 {
    width: 18%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 .subInner ul li {
    width: 100%;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu4 ul .subInner ul {
    padding-left: 0;
    padding-right: 0;
  }
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu1 .br769,
  .pc_navi > ul .mcol-2 > .subInner > ul li.menu3 .br769 {
    display: none !important;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.tbl_align_center tr th,
.tbl_align_center tr td {
  vertical-align: middle;
}

.br769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .br769 {
    display: block;
  }
}
.br769_min {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 850px) {
  .br769_min {
    display: block;
  }
}