@charset "UTF-8";
:root {
  --f-jp: "Zen Old Mincho", serif;
  --f-en: "Cormorant Garamond", serif;
  --main-color: #897763;
  --clr1: #242423;
  --clr2: #ccc;
  --ttl_size: 30px;
  --wrapper: 100px;
}

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
html.ovs {
  overflow: hidden;
  position: relative;
}

body {
  background-color: #ffffff;
  -webkit-text-size-adjust: none;
  letter-spacing: 0.1em;
  color: var(--clr1);
  font-family: var(--f-jp);
}
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%);
}

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 {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

a:not(.tel_click) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  color: #64b5f7;
}
a:not(.tel_click):hover, a:not(.tel_click):active {
  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.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;
}

.link > a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 1;
}

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

p {
  line-height: 2;
  letter-spacing: inherit;
  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_big,
.inner,
.inner_sm {
  margin: 0 auto;
  padding-left: 10px;
  padding-right: 10px;
}

.inner_big {
  max-width: 1300px;
}

.inner {
  max-width: 1100px;
}

.inner_sm {
  max-width: 1000px;
}

.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;
  }
}
.accBtn::before, .accBtn::after {
  transition: all 0.3s ease-in-out;
}
.accBtn.triangle, .accBtn.triangle_btt {
  position: relative;
}
.accBtn.triangle::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 0;
  height: 0;
  border-radius: 20px;
  border-color: inherit;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 10px solid;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
.accBtn.triangle.rotate::after {
  transform: translateY(-50%) rotateX(180deg);
}
.accBtn.triangle_btt::after {
  content: "";
  position: relative;
  top: 0px;
  width: 0;
  height: 0;
  border-radius: 20px;
  border-color: inherit;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 10px solid;
  display: block;
  margin: 10px auto 0;
  transition: all 0.3s ease-in-out;
}
.accBtn.rotate::after {
  transform: rotateX(180deg);
}

.TabContainer:not(.init) .TabContent li:not(.active) {
  display: none;
}
.TabContainer.init .TabContent {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.TabContainer.init .TabContent > ul {
  transition: all 0.3s ease-in-out;
}
.TabContainer.init .TabContent > ul > li {
  opacity: 0;
  z-index: -10;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transition: all 0.5s ease-in-out;
}
.TabContainer.init .TabContent > ul > li.active {
  opacity: 1;
  z-index: 1;
  visibility: visible;
}
.TabContainer .TabPager {
  display: flex;
  justify-content: space-between;
  min-width: 290px;
}
.TabContainer .TabPager li {
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  margin: 0;
  padding: 9px 20px;
  box-shadow: 2px 1px 10px rgba(0, 0, 0, 0.4);
  width: calc(33.33% - 1px);
  transition: all 0.3s ease;
  cursor: pointer;
  color: #797b7d;
}
.TabContainer .TabPager li p {
  margin: 0;
}
.TabContainer .TabPager li.active {
  background-color: #edf0f5;
  z-index: 1;
}

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

.gMap {
  width: 100%;
  height: 100%;
}

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

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

.image_alone {
  display: table;
  max-width: 500px;
  margin: 0 auto;
  border: 7px solid rgba(231, 231, 231, 0.5);
  border-radius: 11px;
  overflow: hidden;
}

.tel_click {
  text-decoration: none;
}
.tel_click span {
  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 span::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-group {
  font-size: 0.625em;
}
.btn-group .btn {
  font-size: 1em;
}
.btn-group .btn.style01 {
  width: 100%;
  min-width: 100px;
  max-width: 299px;
  overflow: hidden;
}
.btn-group .btn.style01 a {
  display: flex;
  align-items: center;
  min-height: 77px;
  padding: 1em 1em 1em 1.2em;
  position: relative;
  font-size: 1.6em;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition: all 0.3s;
  border: 1px solid #fff;
}
.btn-group .btn.style01 a::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/shared_btn_icon.svg);
  background-color: #fff;
  width: 13px;
  height: 8px;
  right: 19px;
  top: calc(50% - 3px);
}
.btn-group .btn.style01 a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.style01 a:hover {
    background-color: #fff;
    color: var(--main-color);
  }
  .btn-group .btn.style01 a:hover::after {
    background-color: var(--main-color);
  }
}
.btn-group .btn.style01 a.en {
  font-family: var(--f-en);
  letter-spacing: 0.07em;
  padding-top: 1.25em;
}
.btn-group .btn.style01 a.en:hover {
  opacity: 1;
}
.btn-group .btn.style01 a.ltp {
  letter-spacing: -2px;
}
.btn-group .btn.bg01 a {
  background-color: #fff;
  color: var(--clr1);
  border-color: #e7e4e0;
}
.btn-group .btn.bg01 a::after {
  background-color: var(--clr1);
}
@media only screen and (min-width: 769px) {
  .btn-group .btn.bg01 a:hover {
    background-color: var(--main-color);
    color: #fff;
    border-color: #fff;
  }
  .btn-group .btn.bg01 a:hover::after {
    background-color: #fff;
  }
}

@media only screen and (max-width: 1024px) {
  .btn-group .btn.style01 a {
    font-size: 16px;
    letter-spacing: 0;
    min-height: 60px;
    padding-left: 13px;
    letter-spacing: 0.07em;
  }
  .btn-group .btn.style01 a::after {
    right: 13px;
    top: calc(50% - 4px);
  }
}
.slick-arrow {
  display: block;
  border: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: transparent;
  position: absolute;
  top: 37%;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
  cursor: pointer;
  color: transparent;
}
.slick-arrow:focus {
  outline: 0;
}

.slick-prev {
  left: -55px;
}

.slick-next {
  right: -55px;
}

/* Tablet
-------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1080px) {
  body {
    font-size: 87.5%;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                           Header - Footer                                */
/*==========================================================================*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  --clr: #fff;
}

header.active,
.ovh header {
  background-color: #fff;
  --clr: var(--main-color);
  height: var(--wrapper);
}
header.active .logo,
.ovh header .logo {
  align-self: center;
}
header.active .header_top,
.ovh header .header_top {
  padding: 0 30px;
}
header.active .h_btn,
.ovh header .h_btn {
  margin-bottom: 0;
  padding-bottom: 5px;
  align-items: flex-end;
  margin-top: -5px;
}
header.active .pc_navi,
.ovh header .pc_navi {
  opacity: 1;
  visibility: visible;
}
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: rgba(137, 119, 99, 0.6);
}

.header_top {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 35px 30px 0 60px;
  height: 100%;
}

h1 {
  position: absolute;
  overflow: hidden;
  height: 0;
  width: 0;
  padding: 0;
  border: 0;
}

.logo {
  width: 26%;
  max-width: 271px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: flex-start;
}
.logo a {
  display: block;
  width: 100%;
  text-align: center;
}

header:not(.active) .logo img {
  filter: brightness(0) invert(1);
}

.right_head {
  width: 70%;
  max-width: 940px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.h_btn {
  margin-bottom: 16px;
}
.h_btn ul {
  width: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.h_btn ul li a {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.h_btn ul li a:hover {
  opacity: 1;
}

.h_contact {
  width: 140px;
  display: block;
  margin-right: 10px;
  margin-left: 13px;
}
.h_contact a {
  border: 1px solid var(--clr);
  border-radius: 18px;
  color: var(--clr);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 100%;
  display: flex;
  align-items: center;
  text-decoration: none;
  justify-content: center;
  padding: 7px 0 7px;
  max-height: 35px;
  text-decoration: none;
}
.h_contact a::before {
  content: "";
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/shared_icon_web.png);
  background-color: var(--clr);
  width: 16px;
  height: 16px;
  margin-right: 4px;
}
.h_contact a:hover {
  opacity: 1;
  color: var(--clr);
}

.h_tel {
  margin-right: 10px;
  margin-left: 25px;
}
.h_tel a {
  color: var(--clr);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: 0.07em;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  text-decoration: none;
}
.h_tel a::before {
  content: "";
  background: url(../images/shared_icon_tel.png) no-repeat center/contain;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  position: relative;
  top: 1px;
}
.h_tel a:hover {
  opacity: 1;
  color: var(--clr);
}

.pc_navi {
  opacity: 0;
  visibility: hidden;
  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.menu-item-has-children > a::after,
.pc_navi > ul > li.menu-item-has-children > p::after {
  content: "";
  transition: 0.3s all;
  position: absolute;
  border-color: var(--clr) transparent transparent transparent;
  border-style: solid;
  border-width: 0.3em 0.3em 0em 0.3em;
  width: 0;
  height: 0;
  bottom: -0.35em;
}
.pc_navi > ul > li.menu-item-has-children > a:hover::after,
.pc_navi > ul > li.menu-item-has-children > p:hover::after {
  transform: translateY(2px);
}
@media only screen and (min-width: 1025px) {
  .pc_navi > ul > li.menu-item-has-children > a:hover::after,
  .pc_navi > ul > li.menu-item-has-children > p:hover::after {
    transform: translateY(2px);
  }
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0;
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  transition: all 0.2s ease;
  color: var(--clr);
  font-family: var(--f-en);
}
.pc_navi > ul > li > a::before,
.pc_navi > ul > li > p::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--clr);
  transform: scaleX(0);
  height: 1px;
}
.pc_navi > ul > li > a:hover,
.pc_navi > ul > li > p:hover {
  opacity: 1;
  color: var(--clr);
}
.pc_navi > ul > li > a:hover::before,
.pc_navi > ul > li > p:hover::before {
  transform: scaleX(1);
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
  display: block;
  width: 100%;
  padding-top: 0px;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--clr1);
}
.pc_navi > ul .subInner {
  position: absolute;
  width: 220px;
  right: 50%;
  bottom: -10px;
  padding-top: 0px;
  transform: translate(50%, 100%);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pc_navi > ul .subInner.active {
  opacity: 1;
  visibility: visible;
}
.pc_navi > ul .subInner ul {
  background-color: var(--main-color);
  padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
  padding: 0 10px;
}
.pc_navi > ul .subInner ul li a {
  position: relative;
  display: block;
  padding: 1em 0.5em 1em 1.5em;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
  transition: all 0.2s ease;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  text-align: left;
  letter-spacing: 0px;
}
.pc_navi > ul .subInner ul li a::before {
  content: "›";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.5em;
  transform: translateY(-54%);
  font-size: 1em;
}
.pc_navi > ul .subInner ul li.m_h a {
  min-height: 71px;
  display: flex;
  align-items: center;
}

@media only screen and (min-width: 769px) {
  .pc_navi > ul .col2 .subInner {
    width: 28em;
  }
  .pc_navi > ul .col2 .subInner ul {
    display: flex;
    flex-wrap: wrap;
  }
  .pc_navi > ul .col2 .subInner ul li {
    width: 50%;
  }
  .menu_toggle .inside .ft_link {
    width: 100%;
    max-width: 900px;
    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: 1280px) {
  :root {
    --wrapper: 100px;
  }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
  :root {
    --ttl_size: 22px;
    --wrapper: 80px;
  }
}
.time_sheet {
  margin: 0px auto;
}
.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 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;
}

.totop {
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  position: fixed;
  z-index: 19;
  bottom: 20px;
  right: 20px;
}
.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: 70px;
  height: 70px;
  margin: 0;
  border-radius: 50%;
}

@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;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1366px), (min-width: 769px) and (max-height: 720px) {
  .totop {
    right: 10px;
  }
  .totop .icon {
    width: 60px;
    height: 60px;
  }
}
footer {
  background: url(../images/idx4_bg.jpg) repeat top left;
}
footer .ft_map {
  height: 500px;
}
footer .ft_map iframe {
  display: block;
}
footer .ft_bg .inner {
  z-index: 1;
  position: relative;
  padding: 99px 10px 51px;
}
footer .ft_bg .inner::before {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  background-color: #fff;
  top: 0;
  bottom: 0;
  left: -50vw;
  right: 73.3%;
}
footer .ft_bg .inner::after {
  content: "";
  display: block;
  position: absolute;
  transition: all 0.3s;
  z-index: -1;
  bottom: -2.5em;
  right: -3.375em;
  background: url(../images/ft_icon.png) no-repeat center/contain;
  width: 23.8125em;
  height: 22.6875em;
}
footer .copyright p {
  line-height: 1;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: 29px;
  color: #897763;
}

.ft_link {
  width: 100%;
}
.ft_link a {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 {
    width: 30%;
  }
  .ft_link .menu01 .ttl {
    max-width: 180px;
  }
  .ft_link .menu02 {
    width: 64.4%;
  }
  .ft_link .menu02 ul {
    max-height: 21em;
    padding-left: 11px;
  }
  .ft_link .menu02 ul li {
    width: 33.3333333333%;
  }
}
@media only screen and (min-width: 769px) and (min-width: 1280px) {
  .ft_link .menu02 ul li:nth-child(-n+12) {
    width: 41%;
  }
  .ft_link .menu02 ul li:nth-child(n+13):nth-child(-n+24) {
    width: 39%;
  }
  .ft_link .menu02 ul li::nth-child(n + 25) {
    width: 20%;
  }
}
@media only screen and (min-width: 769px) {
  .ft_link ul {
    display: flex;
    flex-flow: column wrap;
    align-content: space-between;
  }
}
.ft_link .ttl {
  margin-bottom: 23px;
  padding-left: 0;
  font-weight: 400;
  color: var(--clr1);
  letter-spacing: 0.05em;
  line-height: 1;
  pointer-events: none;
  font-family: var(--f-en);
  font-size: 25px;
  border-bottom: 1px solid #e7e4e0;
  display: table;
  width: 100%;
  padding-bottom: 15px;
}
.ft_link .ttl::before {
  display: none;
}
.ft_link .ttl_small {
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #242423;
  position: relative;
  line-height: 1.5;
  padding-left: 10px;
  margin-bottom: 10px;
}
.ft_link .ttl_small::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  background-color: #897763;
  left: 0;
  top: 10px;
}
.ft_link ul:last-child {
  margin-bottom: 0;
}
.ft_link li {
  margin-bottom: 2.4px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.ft_link li.last {
  margin-bottom: 29px;
}
.ft_link li:last-child {
  margin-bottom: 0;
}
.ft_link a {
  position: relative;
  color: #646463;
  font-size: 13px;
  letter-spacing: 0em;
  font-weight: 500;
  padding-left: 10px;
  line-height: 1.5;
}
.ft_link a::before {
  content: "-";
  width: auto;
  height: auto;
  position: absolute;
  left: -1px;
  top: -1px;
}
.ft_link a:hover {
  opacity: 1;
  text-underline-offset: 3px;
  color: #646463;
}
@media only screen and (min-width: 769px) {
  .ft_link a:hover {
    text-decoration: underline;
  }
}
.ft_link .menu01 ul li {
  margin-bottom: 14.5px;
}
.ft_link .menu01 ul li a {
  font-size: 16px;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #242423;
}
.ft_link .menu01 ul li a::before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: #897763;
  left: 0;
  top: 0.625em;
}
@media only screen and (min-width: 769px) {
  .ft_link .menu01 ul li a:hover {
    text-decoration: underline;
    color: #242423;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  header .header_top {
    padding: 15px 15px 0 15px;
  }
  header .pc_navi > ul > li > a,
  header .pc_navi > ul > li > p {
    letter-spacing: 0;
  }
  header.active .header_top,
  .ovh header .header_top {
    padding: 0 15px;
  }
  footer .ft_map {
    height: 299px;
  }
  footer .ft_bg .inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  footer .ft_bg .inner::before {
    right: 70%;
  }
  footer .ft_bg .inner::after {
    font-size: 10px;
    right: 0;
  }
  .ft_link .menu01 {
    width: 26%;
  }
  .ft_link .menu01 ul li a {
    font-size: 15px;
  }
  .ft_link .menu02 {
    width: 68%;
  }
  .ft_link .menu02 ul {
    max-height: 23em;
    padding-left: 0;
  }
  .ft_link .menu02 ul li:nth-child(-n+12) {
    width: 30%;
  }
  .ft_link .menu02 ul li:nth-child(n+13):nth-child(-n+24) {
    width: 40%;
  }
  .ft_link .menu02 ul li::nth-child(n + 25) {
    width: 20%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
  .pc_navi > ul > li > a,
  .pc_navi > ul > li > p {
    letter-spacing: 0;
  }
  .pc_navi > ul > li > a span,
  .pc_navi > ul > li > p span {
    letter-spacing: 0;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .logo {
    width: 22%;
  }
  .right_head {
    width: 75%;
  }
  .pc_navi > ul > li > a,
  .pc_navi > ul > li > p {
    font-size: min(1.4vw, 10px);
  }
  .pc_navi > ul > li > a span,
  .pc_navi > ul > li > p span {
    font-size: min(1.2vw, 12px);
  }
  .h_contact a {
    max-height: 30px;
  }
}
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                INDEX                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
/*==========================================================================*/
/*                                Under                                     */
/*==========================================================================*/
/*==========================================================================*/
/*==========================================================================*/
/*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.idx_gallery ul {
  display: flex;
}
.idx_gallery ul .img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: var(--main-color);
  width: 510px;
  height: auto;
  aspect-ratio: 510/435;
}
.idx_gallery ul .img1 {
  background-image: url(../images/idx6_gallery1.jpg);
}
.idx_gallery ul .img2 {
  background-image: url(../images/idx6_gallery2.jpg);
}
.idx_gallery ul .img3 {
  background-image: url(../images/idx6_gallery3.jpg);
}
.idx_gallery ul .img4 {
  background-image: url(../images/idx6_gallery4.jpg);
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .idx_gallery ul .img {
    width: 350px;
  }
}
@media only screen and (max-width: 768px) {
  .idx_gallery ul .img {
    width: 350px;
  }
}

.shared_tbl {
  width: 100%;
  background-color: #f7f4ee;
  border-radius: 5px;
  padding: 0 30px;
}
.shared_tbl table tr th,
.shared_tbl table tr td {
  line-height: 1;
  text-align: center;
  letter-spacing: 0.2em;
  font-size: 18px;
  padding: 0;
  font-weight: 500;
  border: 0;
  width: 9.6%;
  padding-top: 30px;
  padding-bottom: 31px;
  border-bottom: 1px solid #e7e4e0;
}
.shared_tbl table tr th:first-child,
.shared_tbl table tr td:first-child {
  width: auto;
  padding-left: 0.8889em;
}
.shared_tbl table tr th:last-child,
.shared_tbl table tr td:last-child {
  width: 12%;
  letter-spacing: -0.3em;
  padding-right: 29px;
}
.shared_tbl table tr th {
  padding-top: 36px;
  padding-bottom: 31px;
}
.shared_tbl table tr td {
  padding-top: 30px;
  padding-bottom: 31px;
}
.shared_tbl table tr td:first-child {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  padding-left: 0.8em;
}
.shared_tbl table tr td:not(:first-child) {
  color: #897763;
}
.shared_tbl table tr:last-child td {
  padding-bottom: 30px;
}
.shared_tbl p {
  line-height: 1;
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 700;
}
.shared_tbl .flex {
  padding: 14px 0 23px;
}
.shared_tbl .ttl02 {
  color: #a50134;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .shared_tbl {
    padding: 0 15px;
  }
  .shared_tbl p {
    font-size: 12px;
  }
  .shared_tbl table tr th,
  .shared_tbl table tr td {
    font-size: 16px;
    letter-spacing: 0;
  }
  .shared_tbl table tr th:last-child,
  .shared_tbl table tr td:last-child {
    padding-right: 10px;
  }
  .shared_tbl table tr td:first-child {
    font-size: 18px;
    padding-left: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .shared_tbl {
    padding: 0 20px;
  }
  .shared_tbl table tr th,
  .shared_tbl table tr td {
    font-size: 14px;
    letter-spacing: 0;
    width: 9%;
  }
  .shared_tbl table tr th:first-child,
  .shared_tbl table tr td:first-child {
    width: auto;
    padding-right: 0;
    padding-left: 0;
  }
  .shared_tbl table tr th:last-child,
  .shared_tbl table tr td:last-child {
    width: 11%;
    padding-right: 0;
  }
  .shared_tbl table tr th {
    padding-top: 17px;
    padding-bottom: 11px;
    line-height: 1.1;
  }
  .shared_tbl table tr td {
    padding-top: 19px;
    padding-bottom: 19px;
  }
  .shared_tbl table tr td:first-child {
    font-size: 14px;
  }
  .shared_tbl table tr:last-child td {
    padding-bottom: 20px;
  }
  .shared_tbl .flex {
    padding: 11px 0 22px;
  }
  .shared_tbl .flex p {
    line-height: 1.5;
  }
  .shared_tbl .flex .ttl01 {
    margin-bottom: 2px;
  }
  .shared_tbl .flex .ttl02 {
    letter-spacing: -1.5px;
  }
}
@media only screen and (max-width: 345px) {
  .shared_tbl table tr th,
  .shared_tbl table tr td {
    width: 7%;
  }
  .shared_tbl table tr th:first-child,
  .shared_tbl table tr td:first-child {
    width: auto;
    padding-right: 0;
    padding-left: 0;
  }
  .shared_tbl table tr th:last-child,
  .shared_tbl table tr td:last-child {
    width: 16%;
    padding-right: 0;
  }
}
.br769 {
  display: none;
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
  .br769 {
    display: block;
  }
}
.fixed_banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 15;
  transition: right 0.3s ease-in-out;
  height: 60px;
  transform: translateY(100%);
  display: flex;
  flex-wrap: wrap;
}
.fixed_banner.active {
  transform: translateY(0);
}
.fixed_banner > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all 0.3s ease;
  width: 25%;
  height: 100%;
  background: #fff;
}
.fixed_banner > div:not(:last-child) {
  border-right: 1px solid #d3d3d3;
}
.fixed_banner a {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  z-index: 1;
}
.fixed_banner p {
  margin-bottom: 0;
  letter-spacing: 0.05em;
  line-height: 1.2222222222;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.fixed_banner p::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
  display: block;
  width: 30px;
  height: 30px;
}
.fixed_banner .tel p::before {
  background-image: url(../images/fixed_icon01.png);
}
.fixed_banner .web p::before {
  background-image: url(../images/fixed_icon02.png);
}
.fixed_banner .mail p::before {
  background-image: url(../images/fixed_icon03.png);
}
.fixed_banner .location p::before {
  background-image: url(../images/fixed_icon04.png);
}

.home_page .idx_modal .modal_content {
  max-width: 500px;
}
.home_page .idx_modal .modal_content img {
  display: table;
  margin: 0 auto;
}

.idx_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10001;
  font-size: 14px;
  opacity: 0;
  display: none;
}
.idx_modal.active {
  opacity: 1;
}
.idx_modal .modal_bg {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  padding: 50px;
}
.idx_modal .modal_content {
  max-width: 64.1em;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  border: 1px solid var(--main-color);
}
.idx_modal .modal_inner {
  position: relative;
  max-height: calc(90vh - 50px);
  overflow-y: auto;
}
.idx_modal .modal_close {
  position: absolute;
  top: -1.2em;
  right: -1.2em;
  width: 2.5em;
  height: 2.5em;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16.26 16.26'%3E%3Cline x1='14.76' y1='1.5' x2='1.5' y2='14.76' style='fill: none; stroke: %23fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3px;'/%3E%3Cline x1='14.76' y1='14.76' x2='1.5' y2='1.5' style='fill: none; stroke: %23fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3px;'/%3E%3C/svg%3E");
  background-color: var(--main-color);
  background-position: center;
  background-size: 1em auto;
  background-repeat: no-repeat;
  border-radius: 50%;
  z-index: 3;
  cursor: pointer;
  transition: 0.3s all;
  border: 2px solid #ffffff;
}
@media only screen and (min-width: 769px) {
  .idx_modal .modal_close:hover {
    background-color: var(--clr1);
  }
}
.idx_modal .content {
  padding: 2em;
}
.idx_modal .content h2 {
  margin-top: 0;
}
@media only screen and (max-width: 768px) {
  .idx_modal .modal_bg {
    padding: 35px 20px;
  }
  .idx_modal .content {
    padding: 2em 1em;
  }
  .idx_modal .modal_inner {
    max-height: calc(83vh - 50px);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .home_page .idx_modal {
    font-size: min(12px, 1.35vw);
  }
}