@charset "UTF-8";
:root {
  --f-notosans: "Noto Sans JP", sans-serif;
  --f-serif: "Noto Serif JP", serif;
  --f-jp:
  	"Zen Maru Gothic", "Rounded M+ 1m for ARIB", "Hiragino Maru Gothic Pro", "Yu Gothic Medium", "YuGothic",
  	"Meiryo", arial, clean, verdana, "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, sans-serif;
  --f-en: "Lato", serif;
  --main-color: #ea8461;
  --clr1: #5a5d63;
  --clr2: #f5bc6c;
  --clr3: #2f95e8;
  --clr4: #0f223c;
  --ttl_size: 28px;
  --wrapper: 120px;
  --border-radius: 10px;
}

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

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

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

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

a.tel_click {
  text-decoration: none;
  color: inherit;
}

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

table {
  width: 100%;
}

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

.captcha_box iframe {
  height: auto;
}

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

p,
li {
  line-height: 2.25;
}

p {
  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;
  padding-top: var(--wrapper);
}

.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 {
  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;
  background-color: #ccc;
}
.TabContainer .TabContent .content > div {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.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);
}

.btn a {
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  font-family: var(--f-jp);
}
.btn-group {
  font-size: 0.625em;
}
.btn-group.center {
  margin: 40px auto 0;
  display: flex;
  justify-content: center;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
  min-width: 180px;
  max-width: 374px;
  overflow: hidden;
}
.btn-group .btn.style01 a {
  display: flex;
  align-items: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 500;
  color: #fff;
  transition: all 0.3s;
  border-radius: 10px;
  min-height: 4.6667em;
  position: relative;
  z-index: 1;
  padding-left: 2.3333em;
  padding-bottom: 0.5em;
}
.btn-group .btn.style01 a::before, .btn-group .btn.style01 a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  inset: 0;
  z-index: -1;
}
.btn-group .btn.style01 a::before {
  background-color: var(--clr2);
  bottom: 4px;
  right: 4px;
  border-radius: 10px 0 10px 0;
}
.btn-group .btn.style01 a::after {
  z-index: -2;
  background-color: #e2ddd6;
  top: 4px;
  left: 4px;
  border-radius: 10px 0 14px 0;
}
.btn-group .btn.style01 a span {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-right: 3.5em;
}
.btn-group .btn.style01 a span::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: 1;
  height: 1px;
  width: 1.2222em;
  background-color: #fff;
  right: 1.8333em;
  top: calc(50% + 2px);
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
  color: #fff;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover::before {
    background-color: var(--main-color);
  }
}
@media only screen and (max-width: 1024px) {
  .btn-group .btn.style01 a {
    letter-spacing: 0;
    font-size: min(4vw, 16px);
    padding-left: 1.5em;
  }
  .btn-group .btn.style01 a span {
    padding-right: 2.5em;
  }
}
.btn-group .btn.bg01 a::before {
  background-color: var(--clr3);
}
.btn-group .btn.bg02 a {
  color: #5a5d63;
}
.btn-group .btn.bg02 a:hover {
  color: #5a5d63;
}
.btn-group .btn.bg02 a span::after {
  background-color: #f5bc6c;
}
.btn-group .btn.bg02 a::before {
  background-color: #fff;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.bg02 a:hover {
    color: #fff;
  }
  .btn-group .btn.bg02 a:hover::before {
    background-color: var(--main-color);
  }
  .btn-group .btn.bg02 a:hover span::after {
    background-color: #fff;
  }
}
.btn-group .btn.bg03 a {
  color: #fff;
}
.btn-group .btn.bg03 a span::after {
  background-color: #fff;
}
.btn-group .btn.bg03 a::before {
  background-color: #ea8461;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.bg03 a:hover::before {
    background-color: var(--clr2);
  }
}
@media only screen and (max-width: 768px) {
  .btn-group .btn {
    max-width: 280px;
  }
}
.btn-group.col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 583px;
  margin-top: 44px;
}
.btn-group.col2 .btn {
  width: calc(50% - 7.5px);
}

.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;
  width: 100%;
  height: var(--wrapper);
  z-index: 20;
}

header.active,
.ovh header {
  background-color: #fff;
}
header.active .logo,
.ovh header .logo {
  left: 38px;
  margin-top: auto;
  margin-bottom: auto;
  top: unset;
  max-width: 356px;
}
header.active .logo img,
.ovh header .logo img {
  width: auto;
  content: url(../images/shared_header_logo_active.png);
}
@media only screen and (min-width: 1919px) {
  header.active,
  .ovh header {
    --wrapper: 100px;
  }
  header.active .hamburger-btn,
  .ovh header .hamburger-btn {
    top: 31px;
  }
  header.active .h_ins,
  .ovh header .h_ins {
    right: calc(var(--wrapper) + 41px);
  }
}

.h_ins {
  position: absolute;
  right: calc(var(--wrapper) + 21px);
  z-index: 1;
}

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

.logo {
  width: 25%;
  max-width: 367px;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 59px;
  top: 38px;
  position: absolute;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}
.logo img {
  width: auto;
}

.right_head {
  width: 70%;
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-right: 13.5em;
}

.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.3889em;
}
.pc_navi > ul > li.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  background: #ea8461 url(../images/icon_header_open.png) center no-repeat;
  background-size: contain;
  width: 0.9444em;
  height: 0.9444em;
  position: absolute;
  border-radius: 50%;
  top: calc(50% - 0.3889em);
  transition: all 0.3s ease;
  right: 0;
}
.pc_navi > ul > li.menu-item-has-children:hover > a::after, .pc_navi > ul > li.menu-item-has-children:hover > p::after {
  background-image: url(../images/icon_header_close.png);
}
.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: 500;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.12em;
  transition: all 0.2s ease;
  color: #31405b;
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 66.6666666667%;
  font-weight: 600;
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 18em;
  right: 50%;
  top: 100%;
  padding-top: 1em;
  transform: translateX(50%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 11;
}
@media only screen and (min-width: 1919px) {
  .pc_navi > ul .subInner {
    padding-top: 1.5em;
  }
}
.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: 0.8em 0.6em 0.8em 1.6em;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
  font-size: 0.875em;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.6em;
  transform: translateY(-54%);
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner ul .title_center {
    width: 100% !important;
  }
  .pc_navi > ul .col2 .subInner ul .title_center a {
    pointer-events: none;
    border-bottom: 1px solid #fff;
    font-size: 1.125em;
    padding-left: 0;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
  }
  .pc_navi > ul .col2 .subInner ul .title_center a::before {
    display: none;
  }
  .pc_navi > ul > li.menu-item-has-children:last-child > p::after {
    right: 0.1em;
  }
  .pc_navi > ul .mcol-2 .subInner {
    width: 630px;
    right: 100%;
  }
  .pc_navi > ul .mcol-2 .subInner .menu_title > a {
    display: none !important;
  }
  .pc_navi > ul .mcol-2 .subInner .title_small {
    padding: 0 10px !important;
  }
  .pc_navi > ul .mcol-2 .subInner .title_small > a {
    pointer-events: none;
    text-align: center;
    border: 0 !important;
    font-size: 1.125em;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.7) !important;
    font-weight: 600;
  }
  .pc_navi > ul .mcol-2 .subInner .title_small > a::before {
    display: none;
  }
  .pc_navi > ul .mcol-2 .subInner > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 20px 20px;
  }
  .pc_navi > ul .mcol-2 .subInner > ul .subInner > ul {
    padding: 0;
  }
  .pc_navi > ul .mcol-2 .subInner > ul > .menu-item-has-children {
    width: calc(50% - 10px);
    padding: 0;
  }
  .pc_navi > ul .mcol-2 .subInner > ul > .menu-item-has-children > a, .pc_navi > ul .mcol-2 .subInner > ul > .menu-item-has-children > p {
    pointer-events: none;
    border-bottom: 1px solid #fff;
    font-size: 1.125em;
    padding-left: 0;
    padding-top: 1em;
    padding-bottom: 0.5em;
  }
  .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::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 li {
    width: 100%;
  }
  .pc_navi > ul .mcol-2 .subInner .subInner ul li.w50 {
    width: 50%;
  }
  .pc_navi > ul .col2 .subInner {
    width: 560px;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .pc_navi > ul .col2 .subInner ul li.m_h a {
    min-height: 4.65em;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 1300px;
    margin: auto;
    min-height: 100%;
    display: flex;
    align-items: center;
  }
  .menu_toggle .inside .ft_link .link_list {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .h_ins {
    right: calc(var(--wrapper) + 1px);
  }
  .pc_navi > ul .col2 .subInner {
    width: 500px;
  }
  .pc_navi > ul .mcol-2 .subInner {
    width: 510px;
    right: 160%;
  }
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul .subInner ul li a {
    font-size: 12px;
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  :root {
    --wrapper: 80px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px) {
  :root {
    --wrapper: 80px;
  }
  .logo {
    width: 20%;
    left: 20px;
    top: 20px;
  }
  header.active,
  .ovh header {
    background-color: #fff;
  }
  header.active .logo,
  .ovh header .logo {
    left: 20px;
    margin-top: auto;
    margin-bottom: auto;
  }
  header.active .logo img,
  .ovh header .logo img {
    width: auto;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .right_head {
    padding-right: 11em;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery img {
    max-width: 35vw;
  }
  .right_head {
    padding-right: 10em;
  }
  .logo {
    left: 20px;
    margin-top: auto;
    margin-bottom: auto;
    top: 20px;
  }
  .logo img {
    max-height: 40px;
  }
  header.active,
  .ovh header {
    background-color: #fff;
  }
  header.active .logo,
  .ovh header .logo {
    left: 20px;
    margin-top: auto;
    margin-bottom: auto;
    top: 20px;
  }
  header.active .logo img,
  .ovh header .logo img {
    max-height: 40px;
  }
  .pc_navi > ul {
    font-size: 1.4vw;
  }
  .pc_navi > ul > li > a,
  .pc_navi > ul > li p {
    font-size: min(1.57vw, 14px);
    letter-spacing: 0;
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.6);
  }
  .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: 10px;
}
.totop.active {
  opacity: 1;
  visibility: visible;
}
.totop .icon {
  background-image: url(../images/totop.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  border: 0px;
  width: 60px;
  height: 60px;
  margin: 0;
}

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

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

@keyframes bounces {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes fixed_banner {
  0% {
    left: 0;
    opacity: 1;
  }
  100% {
    left: -3px;
    opacity: 0.7;
  }
}
.fixed_banner a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 769px) {
  .fixed_banner {
    font-size: 10px;
    width: 8.6em;
    background-color: #fff;
    position: fixed;
    z-index: 10;
    right: 0;
    top: calc(50% - 30.9em);
    border-radius: 20px 0 0 20px;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding-top: 3.99em;
  }
  .fixed_banner > div {
    position: relative;
    width: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0.3em;
    margin-bottom: 1.2em;
  }
  .fixed_banner > div:not(:last-child) {
    border-bottom: 2px solid #eeeff3;
  }
  .fixed_banner p {
    line-height: 1;
    color: #5a5d63;
    letter-spacing: 0.05em;
    font-weight: 500;
    font-size: 1.4em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
  }
  .fixed_banner p::before {
    content: "";
    display: block;
    width: 1.7143em;
    height: 1.7143em;
    background: url(../images/fixed_icon1.png) no-repeat center/contain;
    margin-bottom: 0.5em;
  }
  .fixed_banner .web p::before {
    background-image: url(../images/fixed_icon1.png);
  }
  .fixed_banner .line {
    padding-bottom: 0;
  }
  .fixed_banner .line p::before {
    background-image: url(../images/fixed_icon2.png);
  }
  .fixed_banner .line p {
    margin-bottom: 1em;
  }
  .fixed_banner .mail {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
  .fixed_banner .mail p::before {
    background-image: url(../images/fixed_icon3.png);
  }
  .fixed_banner .tel {
    padding: 0.8em 0 1.5em;
  }
  .fixed_banner .tel p::before {
    background-image: url(../images/fixed_icon4.png);
  }
  .fixed_banner .tel:hover .ov {
    opacity: 1;
    visibility: visible;
  }
  .fixed_banner .tel .ov {
    position: absolute;
    right: calc(100% + 3.5em);
    background: #fff;
    padding: 1em;
    border-radius: 1em;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s all;
  }
  .fixed_banner .tel .ov::after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    left: 100%;
    top: calc(50% - 10px);
    border-left: 10px solid #fff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
  }
  .fixed_banner .tel .ov .text {
    text-orientation: unset;
    white-space: nowrap;
    writing-mode: initial;
    font-size: 2em;
    font-weight: 500;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 8px;
    top: calc(50% - 36em);
  }
  .fixed_banner p {
    font-size: 1.6em;
  }
  .totop .icon {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  .fixed_banner {
    font-size: 6.5px;
    top: calc(50% - 34em);
  }
  .fixed_banner p {
    font-size: 1.45em;
  }
  .totop .icon {
    width: 50px;
    height: 50px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) and (max-height: 450px) {
  .fixed_banner {
    font-size: 0.6vw;
  }
  .totop {
    right: 5px;
  }
  .totop .icon {
    width: 40px;
    height: 40px;
  }
}
footer {
  background: url(../images/ft_bg.jpg) no-repeat top center/cover;
  padding: 120px 0 123px;
}
footer .ft_l {
  max-width: 576px;
  width: 45%;
}
footer .ft_logo {
  display: table;
}
footer .shared_dl {
  margin-top: 33px;
}
footer .shared_dl dl:not(:last-child) {
  margin-bottom: 3px;
}
@media only screen and (min-width: 769px) {
  footer .shared_dl dl dd {
    width: 76.6%;
  }
}
footer .shared_tbl {
  margin-top: 42px;
}
@media only screen and (min-width: 1919px) {
  footer .shared_tbl table tr th,
  footer .shared_tbl table tr td {
    width: 10.2%;
  }
  footer .shared_tbl table tr th:first-child,
  footer .shared_tbl table tr td:first-child {
    width: auto;
  }
  footer .shared_tbl table tr th:last-child,
  footer .shared_tbl table tr td:last-child {
    width: 15.5%;
  }
}
footer .ft_map {
  height: 514px;
  margin-top: 38px;
}
footer .ft_map iframe {
  border-radius: 10px;
  border: 1px solid #b4b4b4 !important;
}
footer .ft_r {
  max-width: 615px;
  width: 53%;
  padding-top: 16px;
}
footer .link_list_item:last-child {
  margin-top: 27px;
}
footer .ft_banner {
  margin-top: 37px;
}
@media only screen and (min-width: 1919px) {
  footer .ft_banner {
    min-width: 103.5%;
    position: relative;
    left: -22px;
  }
}
footer .ft_banner .banner_item {
  width: 49%;
  max-width: 312px;
}

.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu_wrap ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
    max-height: 11em;
  }
  .ft_link .menu_wrap ul li {
    width: 47%;
  }
  .ft_link .menu1 {
    width: 50%;
  }
  .ft_link .menu2 {
    width: 47.8%;
  }
  .ft_link .menu1 ul,
  .ft_link .menu2 ul {
    padding-left: 8px;
  }
}
.ft_link .title {
  margin-bottom: 32px;
  padding-left: 0;
  font-size: calc(var(--ttl_size) + 10px);
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1;
  pointer-events: none;
  color: #ea8461;
  position: relative;
}
.ft_link .title::before {
  display: none;
}
.ft_link .title::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  background-color: #5a5d63;
  width: 10.8684em;
  right: 0;
  height: 1px;
  top: 50%;
}
.ft_link .title_small {
  line-height: 1;
  color: #2f95e8;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 19px;
  margin-bottom: 20px;
}
.ft_link .title_small.title_small2 {
  margin-top: 40px;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 14px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link li a {
  display: table;
  position: relative;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.1em;
  color: #5a5d63;
  line-height: 1.875;
  padding-left: 10px;
}
.ft_link li a::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  width: 3px;
  height: 3px;
  background-color: var(--clr1);
  border-radius: 50%;
  left: 0;
  top: 0.875em;
}
.ft_link li a:hover {
  opacity: 1;
}
.ft_link li a:hover {
  opacity: 1;
  color: #5a5d63;
}
@media only screen and (min-width: 769px) {
  .ft_link li a:hover {
    text-underline-offset: 3px;
    text-decoration: underline;
  }
}

.copyright {
  background: #f5bc6c;
  text-align: center;
  padding: 24px 0;
}
.copyright .flex {
  display: flex;
  align-items: center;
  justify-content: center;
}
.copyright p {
  margin: 0;
  line-height: 1;
}
.copyright .grits {
  width: 142px;
}
.copyright .textwidget p {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  line-height: 23px;
  color: #fff;
  font-size: 14px;
  font-family: var(--f-notosans);
  margin-left: 1.4286em;
  padding-left: 1.4286em;
}

.menu_toggle .ft_link .title_small {
  margin-top: 0;
}
.menu_toggle .ft_link .title::after {
  display: none;
}

@media only screen and (min-width: 769px) {
  footer .ft_link .nowrap a {
    white-space: nowrap;
  }
}
@media only screen and (min-width: 1440px) {
  .menu_toggle .ft_link .nowrap a {
    white-space: nowrap;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .ft_link .menu03 .nowrap .br425 {
    display: block !important;
  }
}
@media only screen and (min-width: 769px) {
  .menu_toggle .ft_link .link_list_item {
    width: 25%;
  }
  .menu_toggle .ft_link .link_list_item:last-child {
    width: 72%;
  }
  .menu_toggle .ft_link .menu01,
  .menu_toggle .ft_link .menu02,
  .menu_toggle .ft_link .menu03 {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
  .menu_toggle .ft_link .title {
    font-size: 32px;
    letter-spacing: 0;
    margin-bottom: 20px;
  }
  .menu_toggle .ft_link .title_small {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 20px;
    letter-spacing: 0;
  }
  .menu_toggle .ft_link ul li {
    margin-bottom: 10px;
  }
  .menu_toggle .ft_link ul li a {
    letter-spacing: 0;
  }
  .menu_toggle .ft_link .menu03 {
    width: 25%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .menu_toggle .ft_link ul li {
    margin-bottom: 10px;
  }
  .menu_toggle .ft_link ul li a {
    letter-spacing: 0;
    font-size: 12px;
  }
  .menu_toggle .ft_link .menu01 {
    width: 30%;
  }
  .menu_toggle .ft_link .menu02 {
    width: 36%;
  }
  .menu_toggle .ft_link .menu03 {
    width: 28%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  footer {
    padding: 60px 0;
  }
  footer .ft_map {
    height: 299px;
  }
  footer .ft_link .menu1 {
    width: 49%;
  }
  footer .ft_link .menu2 {
    width: 51%;
  }
  footer .ft_link .title {
    margin-bottom: 20px;
    padding-left: 0;
    font-size: calc(var(--ttl_size) + 2px);
  }
  footer .ft_link .title_small {
    margin-bottom: 20px;
    padding-left: 0;
    font-size: calc(var(--ttl_size) - 4px);
  }
  footer .ft_link ul li {
    margin-bottom: 10px;
  }
  footer .ft_link ul li a {
    letter-spacing: 0;
    font-size: 12px;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.shared_tbl .shared_tbl_border {
  border-radius: 20px;
  position: relative;
  border: 1px solid #c7c7c0;
  overflow: hidden;
}
.shared_tbl table {
  overflow: hidden;
  border-radius: 20px;
}
.shared_tbl table tr th,
.shared_tbl table tr td {
  line-height: 1;
  text-align: center;
  padding: 0;
  letter-spacing: 0.1em;
  border: 1px solid #f0f0ed;
  font-weight: 400;
  width: 9.9%;
  color: #5a5d63;
}
.shared_tbl table tr th:first-child,
.shared_tbl table tr td:first-child {
  width: auto;
}
.shared_tbl table tr th:last-child,
.shared_tbl table tr td:last-child {
  width: 15.2%;
}
.shared_tbl table tr th {
  padding-top: 18px;
  padding-bottom: 20px;
  background-color: #f8f8f3;
  font-weight: 500;
}
.shared_tbl table tr td {
  padding-top: 20px;
  padding-bottom: 14px;
  background-color: #fff;
  color: #5a5d63;
  font-weight: 500;
}
.shared_tbl table tr td:not(:first-child) {
  color: #f5bc6c;
}
.shared_tbl table tr:nth-child(3) td {
  padding-top: 7px;
  padding-bottom: 9px;
}
.shared_tbl table tr:last-child td {
  padding-top: 16px;
  padding-bottom: 17px;
}
.shared_tbl table .small {
  display: block;
  font-size: 12px;
  line-height: 1;
  margin-top: 6px;
}
.shared_tbl .shared_tbl_txt {
  padding-top: 23px;
}
.shared_tbl .shared_tbl_txt p {
  line-height: 1.75;
  margin-bottom: 5px;
}
.shared_tbl .shared_tbl_txt ul li {
  position: relative;
  line-height: 1.75;
  margin-bottom: 5px;
  padding-left: 23px;
}
.shared_tbl .shared_tbl_txt ul li span {
  position: absolute;
  top: 0;
  left: 0;
  color: #ea8461;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .shared_tbl .shared_tbl_txt ul li br {
    display: none;
  }
  .shared_tbl table tr th,
  .shared_tbl table tr td {
    letter-spacing: 0;
    font-size: min(4vw, 14px);
    width: 10%;
  }
  .shared_tbl table tr th:first-child,
  .shared_tbl table tr td:first-child {
    width: auto;
  }
  .shared_tbl table tr th:last-child,
  .shared_tbl table tr td:last-child {
    width: 12%;
  }
  .shared_tbl table .smal {
    font-size: 0.8em;
  }
  .shared_tbl .shared_tbl_txt p {
    letter-spacing: 0;
  }
  .shared_tbl .shared_tbl_txt ul li {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 480px) {
  .shared_tbl table tr th,
  .shared_tbl table tr td {
    letter-spacing: 0;
    font-size: min(4vw, 14px);
    width: 10%;
  }
  .shared_tbl table tr th:first-child,
  .shared_tbl table tr td:first-child {
    width: auto;
  }
  .shared_tbl table tr th:last-child,
  .shared_tbl table tr td:last-child {
    width: 12%;
  }
  .shared_tbl table .small {
    font-size: 0.8em;
  }
  .shared_tbl .shared_tbl_txt p {
    letter-spacing: 0;
  }
  .shared_tbl .shared_tbl_txt ul li br {
    display: none;
  }
}

.shared_dl dl {
  display: flex;
  flex-wrap: wrap;
  --w: 98px;
  justify-content: space-between;
}
.shared_dl dl:not(:last-child) {
  margin-bottom: 11px;
}
.shared_dl dl dt,
.shared_dl dl dd {
  line-height: 2.25;
  letter-spacing: 0.1em;
  color: #5a5d63;
}
.shared_dl dl dt {
  width: var(--w);
  color: #fff;
  letter-spacing: 0.1em;
  background-color: #ea8461;
  border-radius: 8px 0 8px 0;
  text-align: center;
  line-height: 1;
  padding: 6px 0 6px;
  align-self: flex-start;
  margin-top: 5px;
}
.shared_dl dl dd {
  width: 77.5%;
  padding-bottom: 3px;
  font-weight: 500;
}
.shared_dl dl a {
  line-height: 1;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: var(--clr3);
  font-size: 24px;
  font-weight: 500;
}
.shared_dl dl.dl1 dt {
  background-color: #ea8461;
  font-family: var(--f-serif);
}
.shared_dl dl.dl2 dt {
  background-color: #f5bc6c;
}
.shared_dl dl.dl3 dt {
  background-color: #2f95e8;
}
@media only screen and (min-width: 769px) {
  .shared_dl dl:last-child dt {
    margin-top: 0;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .shared_dl .dl2 dd br {
    display: none !important;
  }
  .shared_dl dl {
    --w: 80px;
  }
  .shared_dl dl dt,
  .shared_dl dl dd {
    letter-spacing: 0;
  }
  .shared_dl dl a {
    font-size: 20px;
    margin-top: 5px;
  }
  .shared_dl dl dd {
    width: 70% !important;
  }
}
@media only screen and (max-width: 768px) {
  .shared_dl dl {
    --w: 80px;
  }
  .shared_dl dl dt,
  .shared_dl dl dd {
    letter-spacing: 0;
  }
  .shared_dl dl a {
    font-size: 20px;
    margin-top: 5px;
  }
  .shared_dl dl dd {
    width: 80%;
  }
}
@media only screen and (max-width: 480px) {
  .shared_dl dl.dl2 dd br {
    display: none;
  }
  .shared_dl dl dd {
    width: 63%;
  }
}

.br769 {
  display: none;
}

@media only screen and (max-width: 1024px) and (min-width: 769px) {
  .br769 {
    display: block;
  }
}
#open-chatbot {
  cursor: pointer;
  border: 0;
  background: transparent;
  width: 27.8em;
  z-index: 10;
  position: fixed;
  right: 2em;
  bottom: 2em;
  font-size: 10px;
}
#open-chatbot.active {
  right: 80px;
}
#open-chatbot img {
  transition: 0.3s all;
}
@media only screen and (min-width: 769px) {
  #open-chatbot:hover img {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
  #open-chatbot.bottom {
    bottom: 8% !important;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1600px), (min-width: 769px) and (max-height: 650px) {
  #open-chatbot {
    font-size: 8px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 650px) {
  #open-chatbot {
    font-size: 7px;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) and (max-height: 450px) {
  #open-chatbot {
    right: 50px;
  }
  #open-chatbot.active {
    right: 50px;
  }
}
@media only screen and (max-width: 1024px) {
  #open-chatbot {
    font-size: 8px;
  }
}
@media only screen and (max-width: 768px) {
  #open-chatbot {
    font-size: 7px;
    bottom: 65px;
    right: unset;
    left: 10px;
  }
  #open-chatbot.active {
    right: unset;
    left: 10px;
  }
}
@media only screen and (max-width: 480px) {
  #open-chatbot.bottom {
    bottom: 140px !important;
  }
}
@media only screen and (max-width: 480px) and (min-height: 690px) and (max-height: 720px) {
  #open-chatbot {
    bottom: 55vw;
  }
}