@charset "UTF-8";
/* ===============================================
# フォント
=============================================== */
/* ===============================================
# コンテナ幅
=============================================== */
/* ===============================================
# header
=============================================== */
/* ===============================================
# メインビジュアル
=============================================== */
/* ===============================================
# その他（基本は調整不要）
=============================================== */
/* ===============================================
# 共通
=============================================== */
/* ===============================================
# 見出し
=============================================== */
/* ===============================================
# ボタン
=============================================== */
/* ===============================================
# header
=============================================== */
/* ===============================================
# footer
=============================================== */
/* ===============================================
# table
=============================================== */
/* ===============================================
# 投稿
=============================================== */
/* ===============================================
# ブラウザ幅でフォントサイズを変える関数
=============================================== */
/* ===============================================
# フォントをremに変換
=============================================== */
html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #524B44;
  height: auto !important;
  overflow: clip;
  background: #fff;
}
@media (max-width: 767px) {
  body {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

main {
  display: flow-root;
}

figure {
  margin: 0;
  text-align: center;
}
figure figcaption {
  margin-top: 0.5em;
  text-align: left;
}

img {
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;
}
img.circle {
  border-radius: 50%;
}

p {
  margin: 0.5em 0 1em;
}
p:first-of-type {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

ol,
ul {
  margin: 0 0 1em;
  padding: 0 0 0 2.5em;
  line-height: 1.6;
}
ol:last-child,
ul:last-child {
  margin-bottom: 0;
}
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0.5em 0;
  padding-left: 2em;
}
ol ol:last-child,
ol ul:last-child,
ul ol:last-child,
ul ul:last-child {
  margin-bottom: 0.5em;
}

dl {
  margin: 0 0 1em;
  line-height: 1.6;
}
dl:last-child {
  margin-bottom: 0;
}
dl dt {
  font-weight: bold;
}
dl dd {
  margin-left: 0;
  margin-bottom: 0.5em;
}
dl dd:last-child {
  margin-bottom: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

a {
  color: #524B44;
}
a:hover {
  text-decoration: none;
}

a[class] {
  text-decoration: none;
}

[href^=tel] {
  text-decoration: none !important;
  display: inline-block;
}
@media (min-width: 767px) {
  [href^=tel] {
    pointer-events: none !important;
  }
}

.fax {
  pointer-events: none;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.lead {
  color: #634C40;
  font-size: 20px;
  font-size: 2rem;
}

.text-xxlarge {
  font-size: 24px;
  font-size: 2.4rem;
}

.text-xlarge {
  font-size: 20px;
  font-size: 2rem;
}

.text-large {
  font-size: 16px;
  font-size: 1.6rem;
}

.text-small {
  font-size: 12px;
  font-size: 1.2rem;
}

.text-xsmall {
  font-size: 10px;
  font-size: 1rem;
}

.text-white {
  color: #fff !important;
}

.text-black {
  color: #000 !important;
}

.text-red {
  color: #f00 !important;
}

.text-primary {
  color: #634C40 !important;
}

@media (max-width: 767px) {
  .sp-hide,
  .pc-only,
  .tablet-only {
    display: none !important;
  }
  .sp-text-center {
    text-align: center;
  }
  .sp-text-left {
    text-align: left;
  }
  .sp-text-right {
    text-align: right;
  }
}
@media (min-width: 768px) {
  .lead {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .text-xxlarge {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .text-xlarge {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .text-large {
    font-size: 20px;
    font-size: 2rem;
  }
  .text-small {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .text-xsmall {
    font-size: 10px;
    font-size: 1rem;
  }
  .pc-hide,
  .sp-only {
    display: none !important;
  }
  .pc-text-center {
    text-align: center;
  }
  .pc-text-left {
    text-align: left;
  }
  .pc-text-right {
    text-align: right;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .tablet-hide {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .tablet-only {
    display: none !important;
  }
}
.color_pri {
  color: #634C40;
}

.link-tel {
  text-decoration: none;
}
@media (min-width: 768px) {
  .link-tel {
    pointer-events: none;
    cursor: default;
  }
}

@media (max-width: 767px) {
  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col:not(:last-child) {
    margin-bottom: 1em;
  }
  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure {
    overflow: hidden;
  }
  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure img {
    float: left;
    width: 32%;
    margin-bottom: 10px;
    vertical-align: middle;
  }
  .sp_image_cols:not(.sp_col2):not(.sp_col3) .col figure figcaption {
    float: right;
    width: 66%;
    margin-top: 0;
    vertical-align: middle;
  }
  .sp_image_cols.sp_col2 .col {
    width: 49%;
  }
  .sp_image_cols.sp_col2 .col:nth-child(odd) {
    clear: both;
    float: left;
  }
  .sp_image_cols.sp_col2 .col:nth-child(even) {
    float: right;
  }
  .sp_image_cols.sp_col2 .col:not(:last-child) {
    margin-bottom: 3%;
  }
  .sp_image_cols.sp_col3 .col {
    float: left;
    width: 32%;
  }
  .sp_image_cols.sp_col3 .col:nth-child(3n+1) {
    clear: both;
    margin-right: 2%;
  }
  .sp_image_cols.sp_col3 .col:nth-child(3n) {
    float: right;
  }
  .sp_image_cols.sp_col3 .col:not(:last-child) {
    margin-bottom: 3%;
  }
  .sp_image_left {
    overflow: hidden;
  }
  .sp_image_left .col:first-child {
    display: inline-block;
    float: left;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 0.5em;
  }
  .sp_image_left .col:last-child {
    float: none;
  }
  .sp_image_right {
    overflow: hidden;
  }
  .sp_image_right .col:first-child {
    display: inline-block;
    float: right;
    width: 32%;
    margin-left: 2%;
    margin-bottom: 0.5em;
  }
  .sp_image_right .col:last-child {
    float: none;
  }
}
/* ===============================================
# マージン
=============================================== */
.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.m-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mt10 {
  margin-top: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

body.scroll-prevent {
  width: 100%;
  height: 100vh !important;
  overflow: hidden;
}

main {
  margin-top: 0 !important;
}

header {
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  background: #fff;
  position: relative;
}
header .container {
  width: 100%;
  max-width: 1200px;
  max-width: calc(1200px + 9%);
  padding: 0 4.5%;
  margin: auto;
}
@media (max-width: 1023px) {
  header .container {
    max-width: calc(1000px + 9%);
  }
}
header .box {
  position: relative;
  display: table;
}
@media (max-width: 1023px) {
  header .box {
    width: 100%;
  }
}
header .title,
header .gnav {
  height: 120px;
  display: table-cell;
}
@media (max-width: 1023px) {
  header .title,
  header .gnav {
    height: auto;
  }
}
header .title {
  margin: 0;
  font-size: 0;
}
@media (min-width: 1024px) {
  header .title {
    vertical-align: middle;
    padding: 22px 0;
  }
}
@media (max-width: 1023px) {
  header .title {
    padding: 16px 0;
  }
}
header .title a {
  display: block;
  width: 206px;
  height: 51px;
}
@media (max-width: 1023px) {
  header .title a {
    width: 150px;
    height: auto;
    min-width: auto;
  }
}
@media (min-width: 1024px) {
  header .gnav {
    vertical-align: bottom;
    width: 100%;
    padding-bottom: 8px;
    text-align: right;
  }
}
@media (max-width: 1023px) {
  header .gnav {
    position: fixed;
    right: -100%;
    top: 0;
    width: 80%;
    height: 100vh;
    background-color: #fff;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: 1001;
    overflow-y: auto;
    padding-right: 0;
    padding: 100px 4%;
  }
}
header nav > ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  header nav > ul li {
    display: inline-block;
    position: relative;
    margin-bottom: 0;
  }
}
@media (max-width: 1023px) {
  header nav > ul li {
    background: #fff;
    display: block;
  }
  header nav > ul li:not(:last-child) {
    border-bottom: 1px solid rgba(82, 75, 68, 0.5);
  }
}
header nav > ul li a {
  padding: 0em 0.875em;
  color: #524B44;
  text-decoration: none;
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  display: block;
  text-align: center;
  font-size: 1.5rem;
  border-bottom: 2px solid rgba(99, 76, 64, 0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (min-width: 1024px) {
  header nav > ul li a:hover {
    border-bottom: 2px solid #634c40;
  }
}
@media (max-width: 1023px) {
  header nav > ul li a {
    color: #524B44;
    padding: 0.7em 4%;
    text-align: left;
    font-size: 1.4rem;
  }
}
header nav > ul li a span {
  color: #634C40;
  display: block;
  margin-top: 0.3em;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1;
}
@media (max-width: 1023px) {
  header nav > ul li a span {
    display: none;
  }
}
header .header_info_wrap {
  position: absolute;
  top: 15px;
  left: auto;
  right: 0;
  bottom: auto;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  header .header_info_wrap {
    display: none;
  }
}
header .header_info_wrap .header_info {
  text-align: right;
}
header .header_info_wrap .tel {
  display: inline-block;
  line-height: 1;
  font-weight: bold;
  font-size: 27px;
  font-size: 2.7rem;
  margin-bottom: 0;
}
header .header_info_wrap .tel a {
  color: #524B44;
}
header .header_info_wrap p {
  color: #524B44;
}
header .header_info_wrap p:not(.tel) {
  font-size: 14px;
  font-size: 1.4rem;
}
header .btn-gnavi {
  margin: 0;
}
@media (max-width: 1023px) {
  header .btn-gnavi {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 100;
    bottom: auto;
    right: 2%;
    margin: 0 auto;
    display: block;
    width: 26px;
    height: 26px;
    padding: 0;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    overflow: hidden;
    z-index: 1001;
  }
  header .btn-gnavi:after, header .btn-gnavi:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 4px;
    background: #634C40;
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
  }
  header .btn-gnavi:before {
    top: 0;
  }
  header .btn-gnavi:after {
    bottom: 0;
  }
  header .btn-gnavi span {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: 4px;
    background: #634C40;
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s;
  }
  header .btn-gnavi.close:not(.fix) {
    background: none;
  }
  header .btn-gnavi.close:not(.fix):after, header .btn-gnavi.close:not(.fix):before {
    background: #634C40;
  }
  header .btn-gnavi.close:not(.fix):before {
    top: 50%;
    -webkit-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg);
  }
  header .btn-gnavi.close:not(.fix):after {
    bottom: 50%;
    -webkit-transform: translate(0, 50%) rotate(-45deg);
            transform: translate(0, 50%) rotate(-45deg);
  }
  header .btn-gnavi.close:not(.fix) span {
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
}
header.menu_open .gnav {
  right: 0;
}
header.menu_open .black-bg {
  opacity: 0.3;
  visibility: visible;
}
header .black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}

/* ===============================================
# プルダウン
=============================================== */
#header .has_under > a {
  position: relative;
  padding-right: 2em;
}
#header .has_under > a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 6%;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 1px solid #524B44;
  border-right: 1px solid #524B44;
  -webkit-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 767px) {
  #header .has_under > a:after {
    right: 3%;
  }
}
#header .has_under > a.menu_under_open:after {
  -webkit-transform: translate(0, 0) rotate(-45deg);
          transform: translate(0, 0) rotate(-45deg);
}
#header .has_under .sub-menu {
  margin: 0;
  padding: 20px 0;
  list-style: none;
  display: none;
  border-bottom: 0;
}
@media (min-width: 1024px) {
  #header .has_under .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    margin: auto;
    background: rgba(99, 76, 64, 0.9);
    z-index: 52;
  }
}
@media (max-width: 1023px) {
  #header .has_under .sub-menu {
    margin-bottom: 1em;
    padding: 0 6%;
  }
}
#header .has_under .sub-menu li {
  border-bottom: 0;
  padding: 0;
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  #header .has_under .sub-menu li {
    border-bottom: 0;
    margin-bottom: 0;
    position: relative;
    padding: 0.4em 4% 0.4em 15px;
  }
  #header .has_under .sub-menu li::before {
    content: "";
    display: block;
    width: 6px;
    height: 1px;
    background: #524B44;
    position: absolute;
    top: 50%;
    bottom: auto;
    left: 0;
    right: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
#header .has_under .sub-menu a {
  background: rgba(99, 76, 64, 0.96);
}
@media (max-width: 1023px) {
  #header .has_under .sub-menu a {
    background: transparent;
    padding: 0;
  }
}
#header .has_under .sub-menu a:hover {
  opacity: 0.8;
}

@media (min-width: 1024px) {
  #header .has_under {
    position: relative;
  }
  #header .has_under .sub-menu {
    min-width: 230px;
    padding: 0;
  }
  #header .has_under .sub-menu li {
    width: 100%;
    text-align: center;
    padding: 0;
  }
  #header .has_under .sub-menu li:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
  #header .has_under .sub-menu li a {
    background: transparent;
    display: block;
    padding: 0.7em;
    overflow-wrap: break-word;
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    text-align: left;
  }
}
.main_visual_slick:not(.slick-initialized) > li {
  display: none;
}
.main_visual_slick:not(.slick-initialized) > li:first-child {
  display: block;
}

.main_visual {
  position: relative;
}
.main_visual .main_visual_slick {
  margin: auto;
  overflow: hidden;
  padding-left: 0;
  position: relative;
  min-height: 928px;
}
@media (max-width: 767px) {
  .main_visual .main_visual_slick {
    min-height: 750px;
  }
}
.main_visual .main_visual_slick {
  height: calc(100vh - 120px);
  min-height: auto;
}
@media (max-width: 1024px) {
  .main_visual .main_visual_slick {
    max-height: 600px;
  }
}
.main_visual .main_visual_slick {
  height: calc(100vh - 120px);
  min-height: auto;
}
@media (max-width: 1024px) {
  .main_visual .main_visual_slick {
    max-height: 600px;
  }
}
.main_visual .main_visual_slick .slick-list {
  top: 0;
  left: 0%;
  height: 100%;
  width: 100%;
  bottom: 0;
  right: 0%;
  margin: auto;
  position: absolute;
}
.main_visual .main_visual_slick .slick-list .slick-track {
  top: 0;
  left: 0%;
  height: 100%;
  width: 100%;
  bottom: 0;
  right: 0%;
  margin: auto;
  position: absolute;
}
.main_visual .main_visual_slick li {
  top: 0;
  left: 0%;
  height: 100%;
  width: 100%;
  bottom: 0;
  right: 0;
  margin: auto;
  position: absolute;
}
.main_visual .main_visual_slick li img {
  position: absolute;
  top: 0;
  left: -300%;
  height: 100%;
  width: 100%;
  bottom: 0;
  right: -300%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.main_visual .main_visual_copy {
  position: absolute;
  top: 0;
  padding-left: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  list-style: none;
  z-index: 1;
  margin: auto;
}
.main_visual .main_visual_copy img {
  max-width: 500px;
  width: 100%;
  top: auto;
  left: 4.8958333333%;
  right: auto;
  bottom: 7.5431034483%;
  position: absolute;
}
@media (max-width: 1199px) {
  .main_visual .main_visual_copy img {
    max-width: none;
    width: 41.6666666667%;
  }
}
@media (max-width: 767px) {
  .main_visual .main_visual_copy img {
    width: 80%;
    max-width: 300px;
    bottom: 5.8666666667%;
    left: 3.4666666667%;
    right: auto;
    top: auto;
  }
}

footer {
  background: #634C40;
  color: #fff;
}
footer .container {
  max-width: 100%;
  margin-top: 0;
}
@media (max-width: 767px) {
  footer .container {
    padding-top: 40px;
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  footer nav {
    padding: 30px 0;
  }
}
footer nav ul {
  list-style: none;
  padding-left: 0;
  text-align: center;
  margin: auto;
}
footer nav ul li {
  display: inline-block;
  color: #fff;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  footer nav ul li {
    display: block;
  }
}
footer nav ul li a {
  padding: 0 0.8em;
  color: #fff;
  display: block;
  text-decoration: none;
  line-height: 1.5;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
footer nav ul li a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 767px) {
  footer nav ul li a {
    padding: 0.8em 6%;
  }
}
footer .copyright {
  text-align: center;
  color: #fff;
  padding: 16px 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 1.2rem;
}

/* ---------------------
      pagetop
--------------------- */
footer {
  position: relative;
}
footer .pagetop {
  position: fixed;
  z-index: 100;
  width: 40px;
  height: 40px;
  background: #634C40;
  bottom: 5%;
  right: 5%;
  cursor: pointer;
  border: solid 1px #fff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  opacity: 0;
  visibility: hidden;
  border-radius: 50%;
}
footer .pagetop:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: translate(-50%, -20%) rotate(45deg);
          transform: translate(-50%, -20%) rotate(45deg);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (max-width: 767px) {
  footer .pagetop:after {
    width: 6px;
    height: 6px;
  }
}
@media (min-width: 768px) {
  footer .pagetop {
    width: 60px;
    height: 60px;
  }
}
footer .pagetop.active {
  opacity: 0.9;
  visibility: visible;
}
footer .pagetop.absolute {
  position: absolute;
  top: -80px;
  bottom: auto;
}
@media (max-width: 767px) {
  footer .pagetop.absolute {
    top: -50px;
  }
}

/* ===============================================
# フッター追尾
=============================================== */
#ftr_info {
  z-index: 101;
  width: 100%;
  display: none;
}
#ftr_info .container {
  padding: 0;
}
#ftr_info .sp {
  display: none;
  border-top: solid 1px rgba(255, 255, 255, 0.5);
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  background: #fff;
}
@media (max-width: 1023px) {
  #ftr_info .sp {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
#ftr_info .sp > * {
  width: 100%;
}
#ftr_info .sp > *:not(:last-child) {
  position: relative;
}
#ftr_info .sp > *:not(:last-child):before {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  margin: auto;
  background: rgba(255, 255, 255, 0.4);
  width: 1px;
}
#ftr_info .sp .btn {
  padding: 6px 0 2px;
  background: #634C40;
}
#ftr_info .sp .ttl {
  text-align: center;
  margin-top: 2px;
}
#ftr_info .sp .ttl .out_link {
  position: relative;
  padding-right: 1.5em;
  display: inline-block;
}
#ftr_info .sp .ttl .out_link:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  right: 0;
  left: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 0;
  background: url(/wp-content/uploads/link_001.svg) no-repeat center/100%;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1); /* 흰색 느낌 */
}
#ftr_info .sp .icon {
  max-width: 20px;
  margin: auto;
}
#ftr_info .sp .icon img {
  width: 100%;
}
#ftr_info .sp a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 12px;
  padding: 2px 10px;
  display: grid;
  font-weight: bold;
}

.more {
  margin: 0;
}
.more .add_arrow {
  position: relative;
  display: block;
  width: clamp(240px, 25.6222547584vw, 350px);
  height: clamp(56px, 5.4904831625vw, 75px);
  border: 1px solid #524B44;
  border-radius: clamp(42px, 4.7584187408vw, 65px);
  background-color: #fff;
  -webkit-transition: background-color 0.25s ease;
  transition: background-color 0.25s ease;
  color: #524B44;
  text-decoration: none;
  text-align: center;
  line-height: clamp(56px, 5.4904831625vw, 75px);
}
.more .add_arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(16px, 2.196193265vw, 30px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: clamp(6px, 0.5856515373vw, 8px) solid transparent;
  border-bottom: clamp(6px, 0.5856515373vw, 8px) solid transparent;
  border-left: clamp(10px, 1.0248901903vw, 14px) solid #524B44;
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.more .add_arrow:hover {
  background-color: #f8f8f8;
}
.more .add_arrow:hover::after {
  -webkit-transform: translateY(-50%) translateX(6px);
          transform: translateY(-50%) translateX(6px);
}

table {
  margin: 0 auto;
  border-spacing: 0;
  width: 100%;
  border-collapse: collapse;
}
table td,
table th {
  line-height: 1.8;
}
table th {
  text-align: center;
  font-weight: normal;
}

.table-default {
  width: 100%;
}
.table-default td,
.table-default th {
  padding: 0.7em 0.5em;
}
.table-default caption {
  margin-bottom: 0.5em;
  text-align: center;
}
.table-default td,
.table-default th {
  border: 1px solid #634C40;
}
.table-default th {
  background: #634C40;
  color: #fff;
  text-align: left;
}
.table-default td {
  background: #fff;
}
.table-default tr:not(:last-child) td {
  border-bottom: 0;
}
.table-default tr:not(:first-child) th {
  border-bottom: 0;
  border-top: 1px solid #fff;
}
.table-default tr:first-child th {
  border-bottom: 1px solid #fff;
}
.table-default tr:last-child th {
  border-bottom: 1px solid #634C40;
}

.table-menu {
  width: 100%;
}
.table-menu caption {
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
}
.table-menu td,
.table-menu th {
  padding: 1em 1em;
  border-top: 1px solid #634C40;
}
@media (max-width: 767px) {
  .table-menu td,
  .table-menu th {
    padding: 0.7em 0.3em;
  }
}
.table-menu tbody th {
  text-align: left;
}
.table-menu td:last-child {
  text-align: right;
  white-space: nowrap;
}
.table-menu tr:last-child th,
.table-menu tr:last-child td {
  border-bottom: 1px solid #634C40;
}

.table-menu02 th,
.table-menu02 td {
  padding: 19px 40px;
}
@media (max-width: 767px) {
  .table-menu02 th,
  .table-menu02 td {
    padding: 16px 20px;
    display: block;
  }
}
@media (max-width: 767px) {
  .table-menu02 th:empty,
  .table-menu02 td:empty {
    display: none;
  }
}
.table-menu02 th {
  text-align: left;
  background: rgba(99, 76, 64, 0.1);
}
.table-menu02 th:nth-of-type(2) {
  background: rgba(99, 76, 64, 0.3);
}
.table-menu02 td {
  background: #fff;
  border-top: 1px solid rgba(82, 75, 68, 0.2);
}
@media (min-width: 768px) {
  .table-menu02 td {
    text-align: right;
  }
}
.table-menu02 thead th {
  background: rgba(99, 76, 64, 0.8);
  color: #fff;
}
.table-menu02 thead th:empty {
  background: rgba(99, 76, 64, 0.8);
}
.table-menu02 tbody tr:last-of-type {
  border-bottom: 1px solid rgba(82, 75, 68, 0.2);
}
.table-menu02 tbody th {
  border-top: 1px solid rgba(82, 75, 68, 0.2);
}
.table-menu02 tbody th:empty {
  border-top: none;
  background: rgba(99, 76, 64, 0.1);
}
.table-menu02 tbody th + th {
  border-top: 1px solid rgba(82, 75, 68, 0.2);
}

.table-schedule {
  width: 100%;
}
.table-schedule thead {
  background: #634C40;
}
.table-schedule tbody {
  color: #524B44;
}
.table-schedule caption {
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
}
.table-schedule td,
.table-schedule th {
  border: 1px solid #634C40;
  padding: 0.7em 0.2em;
  text-align: center;
}
@media (max-width: 410px) {
  .table-schedule td,
  .table-schedule th {
    font-size: 3.9024390244vw;
  }
}
.table-schedule thead th {
  background: #634C40;
  color: #fff;
  border-bottom: 0;
}
.table-schedule thead th:not(:last-child) {
  border-right: 1px solid #fff;
}
.table-schedule thead th:first-child {
  border-left: 0;
}
.table-schedule thead th:not(:first-child) {
  border-bottom: 0;
}
.table-schedule thead td:not(:first-child) {
  border-left: 0;
}
.table-schedule tbody th {
  background: rgba(99, 76, 64, 0.15);
}
.table-schedule tbody th:not(:first-child) {
  border-left: 0;
}
.table-schedule tbody th + td {
  border-left: 0;
}
.table-schedule tbody tr:not(:first-child) > th {
  border-top: 0;
}
.table-schedule tbody tr:not(:first-child) > td {
  border-top: 0;
}
.table-schedule td {
  background: #fff;
}
.table-schedule td:not(:first-child) {
  border-left: 0;
}

.table-summary {
  width: 100%;
}
@media (max-width: 767px) {
  .table-summary {
    display: block;
    border-bottom: 1px solid rgba(82, 75, 68, 0.2);
  }
}
@media (max-width: 767px) {
  .table-summary thead,
  .table-summary tbody {
    display: block;
  }
}
.table-summary tr {
  border-top: 1px solid rgba(82, 75, 68, 0.2);
  border-bottom: 1px solid rgba(82, 75, 68, 0.2);
}
@media (max-width: 767px) {
  .table-summary tr {
    border-top: 1px solid rgba(82, 75, 68, 0.2);
    border-bottom: 0;
    padding: 0.8em;
    display: block;
  }
}
.table-summary td,
.table-summary th {
  padding: 0.7em 0.5em;
  text-align: left;
}
@media (max-width: 767px) {
  .table-summary td,
  .table-summary th {
    display: block;
    padding: 0;
  }
}
.table-summary th {
  width: 20%;
  font-weight: bold;
}
@media (max-width: 767px) {
  .table-summary th {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .responsive-stack {
    display: block;
  }
  .responsive-stack thead {
    display: none;
  }
  .responsive-stack tbody,
  .responsive-stack td,
  .responsive-stack th,
  .responsive-stack tr {
    display: block;
  }
  .responsive-stack td,
  .responsive-stack th {
    width: 100% !important;
  }
  .responsive-stack tr:not(:last-child) td,
  .responsive-stack tr:not(:last-child) th {
    border-bottom: 0;
  }
  .responsive-stack tr:last-child :not(:last-child) {
    border-bottom: 0;
  }
}
@media (max-width: 1300px) {
  .responsive-scroll-container {
    display: block;
    width: 100%;
    min-height: 0.01%;
    overflow-x: scroll;
  }
  .responsive-scroll-container .responsive-scroll-inner {
    width: 798px;
    padding: 0 15px 15px;
  }
  .responsive-scroll-container table {
    width: 768px;
    margin: 0;
  }
}
h1,
h2,
h3,
h4,
h5 {
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.5;
  position: relative;
}

h1:not(.title):not(.hdr-ttl) {
  text-align: center;
  color: #fff;
  background: #634C40;
  margin: 0 0 0.5em 0;
  padding: 1.3em 0.5em;
  z-index: 0;
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  h1:not(.title):not(.hdr-ttl) {
    font-size: 2.6rem;
  }
}
h1:not(.title):not(.hdr-ttl)::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(99, 76, 64, 0.85);
  position: absolute;
  inset: 0;
  z-index: -1;
}

h2 {
  text-align: center;
  color: #524B44;
  margin: 0 0 1.5em 0;
  word-wrap: break-word;
  padding-bottom: 16px;
  font-size: 3rem;
}
@media (max-width: 767px) {
  h2 {
    font-size: 2.4rem;
  }
}
h2:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  background: #634C40;
  position: absolute;
}

h3:not(.post_side_title) {
  color: #524B44;
  margin: 0 0 0.8em 0;
  padding-left: 12px;
  word-wrap: break-word;
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  h3:not(.post_side_title) {
    font-size: 2rem;
  }
}
h3:not(.post_side_title)::before {
  content: "";
  display: block;
  position: absolute;
  width: 3px;
  height: 1em;
  top: 0.3em;
  left: 0;
  background: #634C40;
}

h4 {
  color: #524B44;
  margin: 0 0 0.6em 0;
  padding-left: 12px;
  word-wrap: break-word;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  h4 {
    font-size: 1.6rem;
  }
}
h4::before {
  content: "";
  display: block;
  position: absolute;
  width: 6px;
  height: 2px;
  left: 0;
  top: 0.7em;
  background: #634C40;
}

.cat-name {
  background: #634C40;
  color: #fff;
  text-align: center;
  padding: 3px 12px 3px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.4;
  font-size: 13px;
  font-weight: normal;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1px;
  white-space: nowrap;
}

/* ===============================================
# TOPページNEWS
=============================================== */
.news-list {
  padding: 0;
  margin: 0;
}
.news-list > li {
  padding: 0;
  list-style: none;
  border-bottom: 1px solid rgba(82, 75, 68, 0.2);
}
.news-list > li:first-of-type {
  border-top: 1px solid rgba(82, 75, 68, 0.2);
}
.news-list > li > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-decoration: none;
  padding: 1.375em 1em;
}
@media (max-width: 767px) {
  .news-list > li > a {
    padding: 1em 0.3em;
  }
}
.news-list > li > a:hover .ttl,
.news-list > li > a:hover .time {
  color: #634C40;
}
.news-list .ttl,
.news-list .time {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.news-list .news-time {
  width: 160px;
  padding-right: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .news-list .news-time {
    width: 100%;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.news-list .news-ttl {
  width: calc(100% - 160px);
}
@media (max-width: 767px) {
  .news-list .news-ttl {
    width: 100%;
    padding-top: 0.8em;
  }
}

/* ===============================================
# archive
=============================================== */
.ac-list {
  padding: 0;
  margin: 0;
}
.ac-list > li {
  padding: 0;
  list-style: none;
  border-bottom: 1px solid rgba(82, 75, 68, 0.2);
}
.ac-list > li:first-of-type {
  border-top: 1px solid rgba(82, 75, 68, 0.2);
}
.ac-list > li > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  text-decoration: none;
  padding: 1.375em 0;
}
@media (max-width: 767px) {
  .ac-list > li > a {
    padding: 1em 0;
  }
}
.ac-list > li > a:hover .ttl,
.ac-list > li > a:hover .time {
  color: #634C40;
}
.ac-list .ttl,
.ac-list .time {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.ac-list .ac-time {
  width: 220px;
  padding-right: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .ac-list .ac-time {
    width: 100%;
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.ac-list .cat-name {
  min-width: 74px;
}
.ac-list .ac-ttl {
  width: calc(100% - 220px);
}
@media (max-width: 767px) {
  .ac-list .ac-ttl {
    width: 100%;
    padding-top: 0.8em;
  }
}

/* ===============================================
# single
=============================================== */
.single-wrap .date {
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
.single-wrap .single-time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 10px 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .single-wrap .single-time {
    width: 100%;
  }
}
.single-wrap .post-area {
  background: rgba(99, 76, 64, 0.1);
  padding: 60px 6%;
}
@media (max-width: 767px) {
  .single-wrap .post-area {
    padding: 30px 6%;
  }
}

.pager {
  margin-top: 40px;
  margin-bottom: 20px;
}
.pager .nav-links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.pager .nav-links > * {
  width: 2em;
  height: 2em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(99, 76, 64, 0.1);
  color: #634C40;
  border: 1px solid #634c40;
  border-radius: 100px;
  font-weight: bold;
}
.pager .nav-links > *:not(:last-child) {
  margin-right: 0.5em;
}
.pager .nav-links > *.current {
  background: #634C40;
  color: #fff;
}
.pager .nav-links > *.prev {
  position: relative;
}
.pager .nav-links > *.prev:before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 0;
  left: 50%;
  right: auto;
  bottom: 0;
  margin: auto;
  border-top: 1px solid #634C40;
  border-right: 1px solid #634C40;
  -webkit-transform: translateX(-50%) rotate(222deg);
          transform: translateX(-50%) rotate(222deg);
}
.pager .nav-links > *.next {
  position: relative;
}
.pager .nav-links > *.next:before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 0;
  left: 50%;
  right: auto;
  bottom: 0;
  margin: auto;
  border-top: 1px solid #634C40;
  border-right: 1px solid #634C40;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.single-navigation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 30px auto;
  padding: 0;
}
.single-navigation li {
  list-style: none;
  line-height: 1.6;
}
.single-navigation li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.single-navigation li a:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  color: #634C40;
}
.single-navigation li.previous a {
  padding-left: 1.125em;
}
.single-navigation li.previous a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0.25em;
  width: 0.5em;
  height: 0.5em;
  border-bottom: 1px solid #634C40;
  border-left: 1px solid #634C40;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.single-navigation li.next a {
  padding-right: 1.125em;
  text-align: right;
}
.single-navigation li.next a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: auto;
  right: 0.25em;
  width: 0.5em;
  height: 0.5em;
  border-bottom: 1px solid #634C40;
  border-left: 1px solid #634C40;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(-45deg) scaleX(-1);
          transform: translateY(-50%) rotate(-45deg) scaleX(-1);
}

/* ===============================================
# サイドバー
=============================================== */
@media (min-width: 768px) {
  .post_sidebar {
    padding-left: 3rem;
  }
}
.post_sidebar .side_content:not(:last-child) {
  margin-bottom: 35px;
}
.post_sidebar .post_side_title {
  margin: 0 auto;
  font-size: 16px;
  font-size: 1.6rem;
  border-bottom: solid 1px #634C40;
  padding-bottom: 0.5em;
}
.post_sidebar .post_side_list {
  padding: 0;
  margin: 0;
}
.post_sidebar .post_side_list > li {
  padding-left: 0;
  border-bottom: solid 1px rgba(82, 75, 68, 0.2);
  font-size: 15px;
  font-size: 1.5rem;
}
.post_sidebar .post_side_list > li > a {
  padding: 0.9em 0.5em;
}
.post_sidebar .post_side_list > li > ul {
  padding: 0;
  margin: 0;
  margin-top: -0.5em;
}
.post_sidebar .post_side_list > li > ul li {
  padding-left: 0.5em;
}
.post_sidebar .post_side_list > li > ul li a {
  padding: 0.2em 0.5em 0.2em 0.8em;
  position: relative;
}
.post_sidebar .post_side_list > li > ul li a::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #634C40;
  position: absolute;
  top: 0.9em;
  bottom: auto;
  left: 0;
  right: auto;
  border-radius: 50%;
}
.post_sidebar .post_side_list > li > ul li:last-child a {
  padding-bottom: 0.9em;
}
.post_sidebar .post_side_list li {
  list-style: none;
  position: relative;
  line-height: 1.5;
}
.post_sidebar .post_side_list a {
  text-decoration: none;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.post_sidebar .post_side_list a:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  color: #634C40;
}
.post_sidebar .archive-dropdown {
  display: block;
  width: 100%;
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  color: #524B44;
  border: solid 1px #524B44;
  margin-top: 0.8em;
  padding: 0.5em 2.5em 0.5em 0.6em;
  font-size: 15px;
  font-size: 1.5rem;
}

/* ===============================================
# 変数
=============================================== */
/* ===============================================
# 下層コンテンツ幅
=============================================== */
body:not(.home) main > .column_1 .container {
  max-width: 1080px;
  padding: 0 20px;
}
@media (max-width: 767px) {
  body:not(.home) main > .column_1 .container {
    padding: 0 4.5%;
    max-width: calc(600px + 9%);
  }
}
body:not(.home) main > .column_2 > .container {
  max-width: 1080px;
  padding: 0 20px;
}
@media (max-width: 767px) {
  body:not(.home) main > .column_2 > .container {
    padding: 0 4.5%;
    max-width: calc(600px + 9%);
  }
}
body:not(.home) main > .column_2 .column_main .container {
  max-width: none;
  padding: 0;
}
body:not(.home) main > .post_page .post_container {
  padding: 0 20px;
  max-width: 1080px;
}
@media (max-width: 767px) {
  body:not(.home) main > .post_page .post_container {
    padding: 0 4.5%;
    max-width: calc(600px + 9%);
  }
}

/* ===============================================
# 下層余白
=============================================== */
.column_main > section {
  margin-bottom: 120px;
}
@media (max-width: 767px) {
  .column_main > section {
    margin-bottom: 70px;
  }
}
.column_main > section:last-child {
  margin-bottom: 160px;
}
@media (max-width: 767px) {
  .column_main > section:last-child {
    margin-bottom: 100px;
  }
}

@media (max-width: 767px) {
  .column_2 .column_main > section:last-child {
    margin-bottom: 0;
  }
}
.column_2 .column_sub {
  margin-bottom: 160px;
}
@media (max-width: 767px) {
  .column_2 .column_sub {
    margin-bottom: 100px;
  }
}
@media (max-width: 767px) {
  .column_2 .column_main.col:not(:last-child) {
    margin-bottom: 60px;
  }
}

.row:not(:last-child) {
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .row:not(:last-child) {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .col:not(:last-child) {
    margin-bottom: 30px;
  }
}

/* ===============================================
# ぱんくずリスト
=============================================== */
.bread.post_bread .container {
  padding: 0 20px;
  max-width: 1080px;
}
@media (max-width: 767px) {
  .bread.post_bread .container {
    padding: 0 4.5%;
    max-width: calc(600px + 9%);
  }
}

.bread {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bread {
    margin-bottom: 60px;
  }
}
.bread .container {
  padding: 0 20px;
  max-width: 1080px;
}
@media (max-width: 767px) {
  .bread .container {
    padding: 0 4.5%;
    max-width: calc(600px + 9%);
  }
}
.bread ul {
  list-style: none;
  padding-left: 0;
}
.bread ul > * {
  margin: 0;
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
}
.bread ul > *:not(:last-child) {
  margin-right: 2em;
}
.bread ul > *:not(:last-child):before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 0;
  left: calc(100% + 0.6em);
  right: auto;
  bottom: 0;
  margin: auto;
  border-top: 1px solid #524B44;
  border-right: 1px solid #524B44;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.bread a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.bread a:hover {
  opacity: 0.7;
}

/* ===============================================
# サイトマップ
=============================================== */
.wsp-container {
  margin: 0 auto 160px;
  max-width: calc(1040px + 12%);
  padding: 0 6%;
}
@media (max-width: 767px) {
  .wsp-container {
    margin: 0 auto 100px;
  }
}
.wsp-container h2 {
  display: none;
}
.wsp-container ul.wsp-pages-list,
.wsp-container ul.wsp-posts-list {
  margin: 0;
  list-style: none;
  padding-left: 0;
}
.wsp-container ul.wsp-pages-list ul,
.wsp-container ul.wsp-posts-list ul {
  padding-left: 0;
}
.wsp-container ul.wsp-pages-list li,
.wsp-container ul.wsp-posts-list li {
  padding: 1.1em 0.5em 1.1em 1em;
  list-style: none;
  margin: 0;
  line-height: 1.5;
}
.wsp-container ul.wsp-pages-list > li,
.wsp-container ul.wsp-posts-list > li {
  border-bottom: 1px solid #ccc;
}
.wsp-container ul.wsp-pages-list > li > ul,
.wsp-container ul.wsp-posts-list > li > ul {
  padding: 6px 0 0;
  margin: 0;
}
.wsp-container ul.wsp-pages-list > li > ul > li,
.wsp-container ul.wsp-posts-list > li > ul > li {
  padding: 0.25em 0.25em 0.25em 1em;
}
.wsp-container ul.wsp-pages-list > li > ul > li > a,
.wsp-container ul.wsp-posts-list > li > ul > li > a {
  font-size: calc(20 * 0.8px);
}
@media (max-width: 767px) {
  .wsp-container ul.wsp-pages-list > li > ul > li > a,
  .wsp-container ul.wsp-posts-list > li > ul > li > a {
    font-size: calc(16 * 0.8px);
  }
}
.wsp-container ul.wsp-pages-list > li > ul > li > ul,
.wsp-container ul.wsp-posts-list > li > ul > li > ul {
  padding: 6px 0 0;
  margin: 0;
}
.wsp-container ul.wsp-pages-list > li > ul > li > ul > li,
.wsp-container ul.wsp-posts-list > li > ul > li > ul > li {
  padding: 0.25em 0.25em 0.25em 1em;
}
.wsp-container ul.wsp-pages-list > li > ul > li > ul > li > a,
.wsp-container ul.wsp-posts-list > li > ul > li > ul > li > a {
  font-size: calc(20 * 0.7px);
  display: block;
}
@media (max-width: 767px) {
  .wsp-container ul.wsp-pages-list > li > ul > li > ul > li > a,
  .wsp-container ul.wsp-posts-list > li > ul > li > ul > li > a {
    font-size: calc(16 * 0.7px);
  }
}
.wsp-container .wsp-pages-list {
  border-top: 1px solid #ccc;
}
.wsp-container .wsp-posts-list > li > .wsp-posts-list {
  display: none;
}
.wsp-container .wsp-posts-list > li > .wsp-posts-list li {
  border: 0;
}
.wsp-container a {
  text-decoration: none;
  font-size: 20px;
  line-height: 1.5;
  display: block;
  width: 100%;
}
.wsp-container a:hover {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .wsp-container a {
    font-size: 16px;
  }
}
.wsp-container strong {
  font-weight: normal;
  display: block;
  line-height: 1.5;
  font-size: 20px;
}
@media (max-width: 767px) {
  .wsp-container strong {
    font-size: 16px;
  }
}
.wsp-container .wsp-post {
  display: none;
}
.wsp-container .wsp-category-title {
  font-size: 0;
  position: relative;
}

/* ===============================================
# お問い合わせフォーム  
=============================================== */
.contact_mb {
  margin-bottom: 160px;
}
@media (max-width: 767px) {
  .contact_mb {
    margin-bottom: 100px;
  }
}

.inquiry fieldset {
  margin: 0;
  padding: 20px 10px;
  border: 0;
  background: rgba(99, 76, 64, 0.1);
}
.inquiry fieldset .row {
  margin-bottom: 50px;
}
@media (max-width: 767px) {
  .inquiry fieldset .row {
    margin-bottom: 40px;
  }
}
.inquiry dl {
  margin: 0;
  padding: 0;
}
.inquiry dt {
  font-weight: bold;
}
.inquiry dt.col:not(:last-child) {
  margin-bottom: 1em;
}
.inquiry dt p {
  position: relative;
}
.inquiry dd {
  margin: 0;
  padding: 0;
}
.inquiry dd:last-child {
  padding-bottom: 0;
}
.inquiry dd p {
  padding-top: 0.5rem;
}
.inquiry dd .confirm {
  padding: 0 0 1em 1em;
  border-bottom: 1px dashed #ccc;
}
.inquiry input[type=text],
.inquiry input[type=url],
.inquiry input[type=email],
.inquiry input[type=tel],
.inquiry input[type=date],
.inquiry input[type=number],
.inquiry select,
.inquiry textarea {
  width: 100%;
  padding: 15px 20px;
  color: #000;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
}
.inquiry input[type=number] {
  width: 65px;
  text-align: center;
}
.inquiry input[type=file] {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.inquiry input.p-postal-code {
  width: 100px;
}
.inquiry input.p-region {
  width: 100px;
}
.inquiry input.p-locality {
  width: 150px;
}
.inquiry input.p-street-address {
  width: 100%;
}
.inquiry input.p-extended-address {
  width: 100%;
}
.inquiry input[type=file] {
  border: 0;
}
.inquiry .submit {
  display: block;
  overflow: hidden;
  margin: 1em auto;
  text-align: center;
}
.inquiry .submit .button,
.inquiry .submit .wpcf7-submit {
  display: block;
  margin: 0 auto 10px;
  padding: 1em 1em;
  border-radius: 0;
  max-width: 280px;
  width: 100%;
  text-align: center;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  border: 1px solid #634C40;
  color: #fff;
  background: #634C40;
}
.inquiry .submit .button:hover,
.inquiry .submit .wpcf7-submit:hover {
  border: 1px solid #634C40;
  color: #634C40;
  background: #fff;
}
.inquiry .submit .wpcf7-spinner {
  display: block;
  margin: 0 auto;
}
.inquiry .required,
.inquiry .any {
  color: #fff;
  background-color: #634C40;
  padding: 1px 6px;
  font-size: 12px;
  margin-right: 5px;
  display: inline-block;
  font-weight: bold;
  -webkit-transform: translate(0, -1px);
          transform: translate(0, -1px);
}
.inquiry .any {
  color: #634C40;
  background: transparent;
  border: solid 1px #634C40;
}
.inquiry dt .required,
.inquiry dt .any {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(0);
          transform: translate(0);
  margin-top: 0.3rem;
  margin-right: 0;
}
.inquiry label {
  display: block;
  margin-bottom: 0.5em;
}
@media (min-width: 768px) {
  .inquiry {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .inquiry fieldset {
    margin: 0;
    padding: 60px;
    border: 0;
  }
  .inquiry dt {
    clear: both;
    padding-top: 25px;
  }
  .inquiry dd {
    padding: 15px 0;
  }
  .inquiry dd .confirm {
    min-height: 1.5em;
    padding: 6px 0 0;
    border: 0;
    line-height: 1.4;
  }
  .inquiry input,
  .inquiry textarea {
    border: solid 1px #ccc;
  }
  .inquiry select {
    border: 1px solid #ccc;
  }
  .inquiry input[type=text],
  .inquiry input[type=url],
  .inquiry input[type=email],
  .inquiry input[type=tel],
  .inquiry input[type=date],
  .inquiry input[type=text],
  .inquiry select {
    width: 60%;
  }
  .inquiry input[type=number] {
    width: 65px;
  }
  .inquiry input.p-postal-code {
    width: 100px;
  }
  .inquiry input.p-region {
    width: 100px;
  }
  .inquiry input.p-locality {
    width: 150px;
  }
  .inquiry input.p-street-address {
    width: 100%;
  }
  .inquiry input.p-extended-address {
    width: 100%;
  }
  .inquiry textarea {
    width: 100%;
    resize: vertical;
  }
  .inquiry .submit {
    margin: 20px 0 0;
  }
  .inquiry label {
    display: inline-block;
    margin-top: 6px;
    margin-bottom: 0;
    margin-right: 0.8em;
  }
  .gutters .inquiry dt.col {
    margin-left: 0;
  }
}
input.wide_area,
select.wide_area {
  width: 100% !important;
}

.wpcf7-response-output {
  text-align: center;
}
@media (min-width: 768px) {
  .wpcf7-response-output {
    margin: 30px auto 0 !important;
    max-width: 1080px;
    padding: 0 20px;
  }
}
@media (max-width: 767px) {
  .wpcf7-response-output {
    padding: 0 4.5%;
    margin: 20px 4.5% 0 !important;
    max-width: 100%;
  }
}

.contact-policy {
  padding: 24px 30px 30px;
  border: solid 6px rgba(99, 76, 64, 0.1);
  margin-top: 20px;
}
@media (max-width: 767px) {
  .contact-policy {
    padding: 20px 6%;
  }
}
.contact-policy .contact-policy-ttl {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 0.5em;
}
.contact-policy .contact-policy-outLink {
  position: relative;
  display: inline-block;
  padding-right: 1.375em;
  margin-right: 0.375em;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  text-decoration: underline;
  color: #634C40;
  font-weight: 500;
}
.contact-policy .contact-policy-outLink:hover {
  text-decoration: none;
}
.contact-policy .contact-policy-outLink::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  background: #634C40;
  -webkit-mask-image: url(../img/contact_outlink.svg);
          mask-image: url(../img/contact_outlink.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: left center;
          mask-position: left center;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* ===============================================
# 初期クラス
=============================================== */
.map_container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 70%;
}
@media (min-width: 768px) {
  .map_container {
    padding-top: 50%;
  }
}
.map_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.highlight {
  background: rgba(99, 76, 64, 0.1);
  padding: 4%;
}
@media (max-width: 767px) {
  .highlight {
    padding: 30px 4%;
  }
}

/* ===============================================
# 各下層調整
=============================================== */
body:not(.home) h2 {
  padding-bottom: 10px;
  margin-bottom: 40px;
}
body:not(.home) h2::before {
  width: 80px;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#9D844B), color-stop(48%, #9D844B), color-stop(48%, #ffffff), color-stop(52%, #ffffff), color-stop(52%, #634C40), color-stop(96%, #634C40), color-stop(96%, #ffffff), to(#ffffff));
  background: -webkit-linear-gradient(left, #9D844B 0%, #9D844B 48%, #ffffff 48%, #ffffff 52%, #634C40 52%, #634C40 96%, #ffffff 96%, #ffffff 100%);
  background: linear-gradient(to right, #9D844B 0%, #9D844B 48%, #ffffff 48%, #ffffff 52%, #634C40 52%, #634C40 96%, #ffffff 96%, #ffffff 100%);
  background-size: 40px 100%;
}
body:not(.home) h3 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  font-weight: 600;
  line-height: 1.4;
  padding-left: 0;
}
@media (max-width: 767px) {
  body:not(.home) h3 {
    font-size: 1.8rem;
  }
}
body:not(.home) h3::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url(/wp-content/uploads/h3.svg) no-repeat center center/contain;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  top: 10px;
}
@media (max-width: 767px) {
  body:not(.home) h3::before {
    top: 5px;
  }
}
body:not(.home) img {
  width: 100%;
}
body:not(.home) .set {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  body:not(.home) .set {
    margin-bottom: 25px;
  }
}
body:not(.home) .anchor {
  margin-top: -120px;
  padding-top: 120px;
}
body:not(.home) .under_list {
  padding-left: 0;
  margin: 0;
}
body:not(.home) .under_list li {
  list-style: none;
  position: relative;
  padding-left: 0.9375em;
  line-height: 1.7;
}
body:not(.home) .under_list li:not(:last-child) {
  margin-bottom: 6px;
}
body:not(.home) .under_list li::before {
  content: "";
  display: block;
  width: 0.375em;
  height: 0.375em;
  background: #634C40;
  position: absolute;
  top: 0.73em;
  left: 0;
  border-radius: 50%;
}
body:not(.home) .mt_10 {
  margin-top: 10px;
}
body:not(.home) .mt_20 {
  margin-top: 20px;
}
body:not(.home) .mt_25 {
  margin-top: 25px;
}
body:not(.home) .txt_primary {
  color: #634C40;
}
body:not(.home) .txt_color {
  color: #524B44;
}
body:not(.home) .ttl_txt {
  font-weight: bold;
  margin-bottom: 20px;
}
body:not(.home) .txt_bold {
  font-weight: bold;
}
body:not(.home) .txt_20 {
  font-weight: bold;
  font-size: 20px;
}
body:not(.home) .txt_center {
  text-align: center;
}
body:not(.home) .inner_padding_10 {
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body:not(.home) .inner_padding_20 {
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body:not(.home) {
  /* ===============================================
  # scroll hint
  =============================================== */
}
body:not(.home) .table_box {
  position: relative;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
body:not(.home) .table_box .table-default {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
}
@media (max-width: 767px) {
  body:not(.home) .table_box .table-default {
    width: 250%;
  }
}
@media (max-width: 425px) {
  body:not(.home) .table_box .table-default {
    width: 300%;
  }
}
body:not(.home) .table_box .table-default tr:first-child th,
body:not(.home) .table_box .table-default tr:first-child td {
  background-color: #634C40;
  color: #fff;
  font-weight: bold;
  padding: 16px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}
body:not(.home) .table_box .table-default tr:first-child th:first-child,
body:not(.home) .table_box .table-default tr:first-child td:first-child {
  border-left: 1px solid #ccc;
}
body:not(.home) .table_box .table-default tr:first-child th:last-child,
body:not(.home) .table_box .table-default tr:first-child td:last-child {
  border-right: 1px solid #ccc;
}
body:not(.home) .table_box .table-default tr:last-child th {
  border-bottom: 1px solid #ccc;
}
body:not(.home) .table_box .table-default th {
  color: #524B44;
  font-weight: 400;
  text-align: center;
  border: 1px solid #ccc;
  padding: 16px;
  background-color: #fff;
}
body:not(.home) .table_box .table-default th.first_th {
  width: 45%;
}
@media (max-width: 767px) {
  body:not(.home) .table_box .table-default th.first_th {
    width: 55%;
  }
}
body:not(.home) .table_box .table-default td {
  border: 1px solid #ccc;
  padding: 16px;
}
body:not(.home) .table_box .table-default th,
body:not(.home) .table_box .table-default td {
  min-width: 60px;
}
body:not(.home) .table_box,
body:not(.home) .table_box .scroll-hint-wrapper,
body:not(.home) .table_box .scroll-hint-spacer {
  overflow-y: hidden;
}
body:not(.home) {
  /* ===============================================
  # メリット・デメリット
  =============================================== */
}
@media (min-width: 768px) {
  body:not(.home) .udr_mm_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
  body:not(.home) .udr_mm_wrap > * {
    width: calc((100% - 1.0416666667vw) / 2 - 1px);
  }
}
@media (max-width: 767px) {
  body:not(.home) .udr_mm_wrap > *:not(:last-child) {
    margin-bottom: 30px;
  }
}
body:not(.home) .udr_mm {
  background-color: rgba(99, 76, 64, 0.1);
}
body:not(.home) .udr_mm .mm_ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #634C40;
  color: #fff;
  font-weight: 600;
}
body:not(.home) .udr_mm ul {
  list-style-type: disc;
  margin: 0;
  padding: 1em 1em 1em 2.5em;
}
body:not(.home) .udr_mm ul li {
  padding: 0.3em 0.3em 0.3em 0;
}
@media (max-width: 767px) {
  body:not(.home) .udr_mm ul li {
    font-size: 1.4rem;
  }
}
body:not(.home) .udr_mm ul li::marker {
  color: #634C40;
  font-size: 1.1em;
}
body:not(.home) .udr_mm_not {
  background-color: rgba(82, 75, 68, 0.1);
}
body:not(.home) .udr_mm_not .mm_ttl {
  background-color: #524B44;
}
body:not(.home) .udr_mm_not ul li {
  color: #524B44;
}
body:not(.home) .udr_mm_not ul li::marker {
  color: #524B44;
}
body:not(.home) .step_box3 {
  position: relative;
}
body:not(.home) .step_box3 .step_flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
          box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
  position: relative;
  margin-bottom: 40px;
}
@media (max-width: 425px) {
  body:not(.home) .step_box3 .step_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
body:not(.home) .step_box3 .step_flex::after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(194, 225, 245, 0) !important;
  border-top-color: #634C40 !important;
  border-width: 30px !important;
  margin-left: -30px !important;
  z-index: 20 !important;
}
body:not(.home) .step_box3 .step_flex .step_area {
  background: #634C40;
  padding: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
@media (min-width: 768px) {
  body:not(.home) .step_box3 .step_flex .step_area {
    min-width: 120px;
  }
}
@media (max-width: 425px) {
  body:not(.home) .step_box3 .step_flex .step_area {
    padding: 0 20px;
  }
}
body:not(.home) .step_box3 .step_flex .step_area p {
  color: #fff;
}
body:not(.home) .step_box3 .step_flex .step_area p .s_s {
  font-size: 20px;
}
body:not(.home) .step_box3 .step_flex .step_area p .s_b {
  font-size: 24px;
}
body:not(.home) .step_box3 .step_flex .content_area {
  padding: 30px 20px;
  background: #fff;
  width: 100%;
}
body:not(.home) .step_box3 .step_flex .content_area .color_r {
  color: #634C40;
}
body:not(.home) .step_box3 .step_flex:last-child::after {
  display: none;
}
body:not(.home) {
  /* ===============================================
    # QA
  =============================================== */
}
body:not(.home) .accordion_area .accordion_one .ac_header {
  border-top: 1px solid #ccc;
  padding: 35px;
  position: relative;
  z-index: 1;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
body:not(.home) .accordion_area .accordion_one:last-child {
  border-bottom: 1px solid #ccc;
}
body:not(.home) .accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
body:not(.home) .accordion_area .accordion_one .ac_header .i_box:before,
body:not(.home) .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}
body:not(.home) .accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #524B44;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
body:not(.home) .accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #524B44;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
body:not(.home) .accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
body:not(.home) .accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 0px 35px 35px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (max-width: 767px) {
  body:not(.home) .accordion_area .accordion_one .ac_header {
    padding: 1.5rem 3rem 1.5rem 1rem;
  }
  body:not(.home) .accordion_area .accordion_one .ac_header .i_box {
    right: 0.8rem;
    width: 15px;
    height: 15px;
    margin-top: -7px;
  }
  body:not(.home) .accordion_area .accordion_one .ac_header .i_box:before {
    width: 15px;
  }
  body:not(.home) .accordion_area .accordion_one .ac_header .i_box:after {
    height: 15px;
    right: 7px;
  }
  body:not(.home) .accordion_area .accordion_one .ac_inner {
    padding: 0 1.5rem 1.5rem 1rem;
  }
}
body:not(.home) .p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
body:not(.home) .p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q";
  color: #634C40;
  font-size: 2.4rem;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}
body:not(.home) .p-faq__headinner p.p-faq__q-txt {
  font-size: 18px;
}
@media screen and (max-width: 736px) {
  body:not(.home) .p-faq__headinner {
    padding-left: 25px;
  }
  body:not(.home) .p-faq__headinner::before {
    font-size: 18px;
  }
  body:not(.home) .p-faq__headinner p.p-faq__q-txt {
    font-size: 14px;
  }
}
body:not(.home) .p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
body:not(.home) .p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A";
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
}
body:not(.home) .p-faq__bodyinner p.p-faq__a-txt {
  font-size: 16px;
}
@media (max-width: 767px) {
  body:not(.home) .p-faq__bodyinner {
    padding-left: 25px;
  }
  body:not(.home) .p-faq__bodyinner::before {
    font-size: 18px;
  }
  body:not(.home) .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 14px;
  }
}
body:not(.home) {
  /* ===============================================
  # 料金表
  =============================================== */
}
body:not(.home) .price_table tr:first-child th {
  background-color: #ffffff !important;
  color: #333 !important;
  font-weight: normal !important;
  border-right: 1px solid #cccccc !important;
}
body:not(.home) .price_table tr:first-child td {
  background-color: #ffffff !important;
  color: #333 !important;
  font-weight: normal !important;
  border-right: 1px solid #cccccc !important;
}

.anchor {
  margin-top: -120px;
  padding-top: 120px;
}

body {
  min-width: 960px;
}
@media (max-width: 767px) {
  body {
    min-width: initial;
  }
}
body {
  /* ===============================================
  # トップ、下層 共通
  =============================================== */
  /* ===============================================
      #SP改行調節
      =============================================== */
  /* PC: 의도한 줄바꿈 + span 내부 줄바꿈 금지 */
}
body .block {
  display: inline-block;
  white-space: nowrap;
}
body {
  /* SP: 묶음 무효화해서 자연스럽게 줄바꿈 */
}
@media (max-width: 768px) {
  body .block {
    display: inline;
    white-space: normal;
  }
}
body {
  /* ===============================================
  # サイド追尾
  =============================================== */
}
body .side_fix {
  display: none;
  position: fixed;
  right: 0;
  top: 350px;
  z-index: 100;
  list-style: none;
}
@media (max-width: 1023px) {
  body .side_fix {
    display: none !important;
  }
}
body .side_fix li {
  list-style: none;
  margin-bottom: 0;
}
body .side_fix li:nth-of-type(1) a {
  background: #634C40;
}
body .side_fix li:nth-of-type(2) a {
  background: #2A6541;
}
body .side_fix li a {
  display: block;
  text-decoration: none;
  color: #fff;
  font-weight: 400;
  text-align: center;
  font-size: 16px;
  line-height: 1.6;
  padding: 22px 20px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 0.08em;
  position: relative;
  text-decoration: none;
  border-right: none;
  text-transform: uppercase;
}
body .side_fix li a img {
  width: 24px;
  height: 24px;
}
body .side_fix li a .ttl {
  margin-top: 5px;
  display: inline-block;
}
body .side_fix li a:hover {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0.8;
}
@media (max-width: 1023px) {
  body .side_fix2 {
    display: none !important;
  }
}
body .side_fix2 {
  position: fixed;
  z-index: 100;
  top: 249px;
  right: -1px;
  margin: auto;
  width: 80px;
  height: 164px;
  padding-left: 0;
}
body .side_fix2 > :not(:last-child) {
  margin-bottom: 4px;
}
body .side_fix2 .side-btn {
  position: relative;
  overflow: hidden;
  width: 300px;
  height: 101px;
  border-right: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  background: #9D844B;
}
body .side_fix2 .side-btn:hover {
  -webkit-transform: translateX(-220px);
          transform: translateX(-220px);
}
body .side_fix2 .side-btn > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  text-decoration: none;
}
body .side_fix2 .icon {
  width: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
body .side_fix2 .icon .side_text {
  color: #fff;
}
body .side_fix2 .icon img {
  max-width: 24px;
  display: block;
}
body .side_fix2 .ttl {
  color: #fff;
  vertical-align: middle;
  font-size: 22px;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0.08em;
}
body {
  /* ===============================================
  # header
  =============================================== */
}
body header .container {
  max-width: 1880px;
  padding: 0 40px;
}
@media (max-width: 767px) {
  body header .container {
    padding: 0 6%;
  }
}
body header .box {
  display: block;
}
body header .box .sub-menu li {
  border-right: none !important;
}
@media (min-width: 1024px) {
  body header .box .gnav {
    width: 100%;
    padding: 20px 0;
    text-align: center;
    display: block;
    height: auto;
  }
  body header .box .gnav nav ul li:not(:last-child) {
    border-right: 1px dashed #8A8A8A;
  }
  body header .box .gnav nav ul li a {
    padding: 0 2.8125em;
  }
  body header .box .title {
    position: relative;
    display: block;
    height: auto;
    padding: 15px 0 15px;
  }
  body header .box .title::before {
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    background: #DEDEDE;
    position: absolute;
    bottom: 0;
    left: -300%;
    right: -300%;
    margin: auto;
  }
  body header .box .title a {
    width: clamp(240px, 26.4275256223vw, 361px);
    height: clamp(48px, 5.1976573939vw, 71px);
  }
}
body header .box .header_info_wrap {
  position: absolute;
  top: 32px;
  left: auto;
  right: 0;
  bottom: auto;
  margin: 0 auto;
}
@media (max-width: 1023px) {
  body header .box .header_info_wrap {
    display: none;
  }
}
body header .box .header_info_wrap .header_info .header_address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(15px, 1.5625vw, 30px);
}
body header .box .header_info_wrap .header_info .header_address .tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(22px, 1.3020833333vw, 25px);
  letter-spacing: 0.06em;
}
body header .box .header_info_wrap .header_info .header_address .tel::before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  background: url(/wp-content/uploads/hdr_icon001.svg) no-repeat center center/cover;
  width: clamp(25px, 1.9791666667vw, 38px);
  height: clamp(25px, 1.9791666667vw, 38px);
  margin-right: 8px;
}
body header .box .header_info_wrap .header_info .header_address .tel a {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
}
body header .box .header_info_wrap .header_info .header_address .address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noto Sans JP", "Yu Gothic Medium", YuGothic, sans-serif;
  font-size: clamp(16px, 0.9375vw, 18px);
  letter-spacing: 0.08em;
  font-weight: 500;
  margin-top: 0;
}
body header .box .header_info_wrap .header_info .header_address .address::before {
  content: "";
  display: inline-block;
  background: url(/wp-content/uploads/hdr_icon002.svg) no-repeat center center/cover;
  width: clamp(25px, 1.9791666667vw, 38px);
  height: clamp(25px, 1.9791666667vw, 38px);
  margin-right: 8px;
}

.home main {
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(5%, #ffffff), color-stop(8%, #f7f5f5));
  background: -webkit-linear-gradient(top, #ffffff 0%, #ffffff 5%, #f7f5f5 8%);
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 5%, #f7f5f5 8%);
  /* ===============================================
  # mv
  =============================================== */
}
.home main .main_slider {
  position: relative;
  margin: 0 auto;
  max-width: 1880px;
  padding: 0 40px;
}
@media (max-width: 767px) {
  .home main .main_slider {
    padding: 0 6%;
  }
}
.home main .main_slider .swiper {
  margin: unset;
  margin-left: auto;
  width: 100%;
  height: 100%;
}
.home main .main_slider .swiper .swiper-slide img {
  width: 100vw;
  height: calc(100vh - 120px);
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 15px;
}
.home main .main_slider .slider_title {
  position: absolute;
  width: clamp(420px, 43.1770833333vw, 829px);
  height: clamp(70px, 6.9791666667vw, 134px);
  bottom: clamp(40px, 7.8330893119vw, 107px);
  left: clamp(20px, 8.0527086384vw, 110px);
  z-index: 2;
}
@media (max-width: 767px) {
  .home main .main_slider .slider_title {
    position: absolute;
    bottom: 6.518904824vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (max-width: 600px) {
  .home main .main_slider .slider_title {
    width: 360px;
    height: auto;
  }
}
@media (max-width: 425px) {
  .home main .main_slider .slider_title {
    width: 280px;
  }
}
.home main .main_slider .slider_title picture img {
  width: 100%;
}
.home main {
  /* ===============================================
  # 共通
  =============================================== */
}
.home main .container {
  max-width: calc(1366px + 12%);
  padding: 0 6%;
}
.home main p {
  font-size: clamp(16px, 0.9375vw, 18px);
  letter-spacing: 0.08em;
  line-height: 2;
}
.home main h2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: unset;
  padding: unset;
  color: #634C40;
}
.home main h2::before {
  display: none;
}
.home main h2 .ttl {
  font-size: clamp(16px, 1.9033674963vw, 26px);
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-weight: 500;
  position: relative;
  padding-left: clamp(14px, 1.6105417277vw, 22px);
}
.home main h2 .ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(8px, 0.878477306vw, 12px);
  height: clamp(8px, 0.878477306vw, 12px);
  background: #9D844B;
  border-radius: 25px;
}
.home main h2 .en_ttl {
  font-size: clamp(52px, 7.3206442167vw, 100px);
  letter-spacing: 0;
  line-height: 1.5;
  font-family: "Cormorant Garamond", "Times New Roman", Times, serif;
  font-weight: 400;
}
.home main {
  /* ===============================================
  # front_sec01
  =============================================== */
}
.home main #front_sec01 {
  position: relative;
  z-index: 0;
  isolation: isolate;
  padding: clamp(90px, 56.6666666667px + 4.3402777778vw, 140px) 0 clamp(80px, 0px + 10.4166666667vw, 200px);
}
.home main #front_sec01::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(360px, 47.364568082vw, 647px);
  background: url(/wp-content/uploads/top_bg001.jpg) center/cover no-repeat;
  z-index: 0;
}
.home main #front_sec01::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(360px, 47.364568082vw, 647px);
  background: rgba(0, 0, 0, 0.04);
  mix-blend-mode: multiply;
  opacity: 1.2;
  z-index: 1;
  pointer-events: none;
}
.home main #front_sec01 > * {
  position: relative;
  z-index: 2;
}
.home main #front_sec01 .inner {
  position: relative;
}
.home main #front_sec01 .inner .container {
  margin-bottom: clamp(30px, 5.2083333333vw, 100px);
}
.home main #front_sec01 .inner .contents_wrap {
  width: 80%;
  display: grid;
  grid-template-columns: 834fr 600fr;
  -webkit-column-gap: 5.2083333333vw;
     -moz-column-gap: 5.2083333333vw;
          column-gap: 5.2083333333vw;
}
@media (max-width: 1920px) {
  .home main #front_sec01 .inner .contents_wrap {
    width: auto;
    max-width: calc(1533px + 6%);
    padding-right: 6%;
  }
}
@media (max-width: 767px) {
  .home main #front_sec01 .inner .contents_wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 40px;
  }
}
.home main #front_sec01 .inner .contents_wrap .img_wrap {
  height: 600px;
}
@media (max-width: 767px) {
  .home main #front_sec01 .inner .contents_wrap .img_wrap {
    height: 300px;
  }
}
.home main #front_sec01 .inner .contents_wrap .img_wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 15px 15px 0;
}
.home main #front_sec01 .inner .contents_wrap .txt_warp {
  position: relative;
}
@media (max-width: 767px) {
  .home main #front_sec01 .inner .contents_wrap .txt_warp {
    padding-left: 6%;
  }
}
.home main #front_sec01 .inner .contents_wrap .txt_warp::before {
  content: "";
  position: absolute;
  width: clamp(200px, 23.7920937042vw, 325px);
  height: clamp(160px, 19.0336749634vw, 260px);
  background: url(/wp-content/uploads/top_img002.jpg) no-repeat center center/cover;
  border-radius: 15px;
  right: clamp(-247px, -10.4166666667vw, -60px);
  top: clamp(-95px, -4.9479166667vw, -85px);
  z-index: -1;
}
@media (max-width: 767px) {
  .home main #front_sec01 .inner .contents_wrap .txt_warp::before {
    top: unset;
    bottom: -60px;
    right: -30px;
  }
}
.home main #front_sec01 .inner .contents_wrap .txt_warp p {
  margin-bottom: clamp(30px, 2.0833333333vw, 40px);
}
.home main #front_sec01 .inner .contents_wrap .txt_warp .more {
  margin-top: clamp(30px, 2.6041666667vw, 50px);
  margin-bottom: 0;
}
.home main #front_sec01 .inner .contents_wrap .txt_warp .more a {
  margin: 0;
}
.home main {
  /* ===============================================
  # front_sec02
  =============================================== */
}
.home main #front_sec02::before {
  content: "";
  position: absolute;
  right: 0;
  top: clamp(-240px, 110px + -18.2291666667vw, -30px);
  background: url(/wp-content/uploads/top_img003.jpg) no-repeat center center/cover;
  width: clamp(180px, 20.4978038067vw, 280px);
  height: clamp(200px, 22.6939970717vw, 310px);
  border-radius: 15px 0 0 15px;
  z-index: 3;
}
@media (max-width: 767px) {
  .home main #front_sec02::before {
    display: none;
  }
}
.home main #front_sec02 {
  padding: clamp(80px, 53.3333333333px + 3.4722222222vw, 120px) 0 clamp(80px, 40px + 5.2083333333vw, 140px);
  background: url(/wp-content/uploads/top_bg002.jpg) no-repeat center center/cover;
  position: relative;
}
@media (max-width: 767px) {
  .home main #front_sec02 {
    background: url(/wp-content/uploads/sp_top_bg002.jpg) no-repeat center center/cover;
  }
}
.home main #front_sec02 .bg_overlay {
  position: absolute;
  inset: 0;
  background: #F7F5F5;
  z-index: 0;
  pointer-events: none;
}
.home main #front_sec02 .container {
  position: relative;
  z-index: 1;
}
.home main #front_sec02 .container h2 {
  margin-bottom: clamp(30px, 10px + 2.6041666667vw, 60px);
}
.home main #front_sec02 .container h2 .ttl {
  color: #F5F5F5;
}
.home main #front_sec02 .container h2 .en_ttl {
  color: #F5F5F5;
}
.home main #front_sec02 .container .contents_wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(25px, 2.0833333333vw, 40px);
}
@media (max-width: 767px) {
  .home main #front_sec02 .container .contents_wrap {
    grid-template-columns: repeat(2, 2fr);
  }
}
@media (max-width: 600px) {
  .home main #front_sec02 .container .contents_wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}
.home main #front_sec02 .container .contents_wrap .icon_box {
  display: block;
  background: #F5F5F5;
  padding: clamp(50px, 4.4270833333vw, 85px) clamp(10px, 0.7320644217vw, 10px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  border-radius: 8px;
  border: 1px solid #beb5b0;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.home main #front_sec02 .container .contents_wrap .icon_box::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 15px;
  height: 15px;
  background: #524B44;
  -webkit-mask: -webkit-linear-gradient(315deg, transparent 49.5%, #000 50.5%);
  mask: linear-gradient(135deg, transparent 49.5%, #000 50.5%);
  border-radius: 1px;
}
.home main #front_sec02 .container .contents_wrap .icon_box:hover {
  background: #e4e4e4;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.home main #front_sec02 .container .contents_wrap .icon_box .img_wrap {
  width: clamp(120px, 11.7130307467vw, 160px);
  height: clamp(80px, 7.906295754vw, 108px);
  margin: 0 auto clamp(18px, 2.196193265vw, 30px);
}
.home main #front_sec02 .container .contents_wrap .icon_box .img_wrap img {
  width: 100%;
}
.home main #front_sec02 .container .contents_wrap .icon_box .txt {
  text-align: center;
  font-size: clamp(18px, 1.1458333333vw, 22px);
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}
.home main {
  /* ===============================================
  # front_sec03
  =============================================== */
}
.home main #front_sec03 {
  padding: clamp(80px, -20px + 13.0208333333vw, 230px) 0 clamp(80px, 33.3333333333px + 6.0763888889vw, 150px);
  background: url(/wp-content/uploads/top_bg006.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .home main #front_sec03 {
    background: url(/wp-content/uploads/sp_top_bg006.jpg) no-repeat center center/cover;
  }
}
.home main #front_sec03 .container {
  margin-bottom: clamp(50px, 5.2083333333vw, 100px);
}
.home main #front_sec03 .container h2 {
  display: block;
  position: relative;
  line-height: 1;
}
.home main #front_sec03 .container h2 .ttl {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 0;
}
.home main #front_sec03 .container h2 .ttl::before {
  content: "Features";
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Cormorant Garamond", "Times New Roman", Times, serif;
  font-weight: 400;
  font-size: clamp(90px, 17.5695461201vw, 240px);
  color: rgba(82, 75, 68, 0.07);
  width: auto;
  height: auto;
  background: none;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -55%);
          transform: translate(-50%, -55%);
  white-space: nowrap;
}
.home main #front_sec03 .grid_wrap {
  display: grid;
  gap: clamp(50px, 3.6458333333vw, 70px);
}
@media (max-width: 1023px) {
  .home main #front_sec03 .grid_wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 6%;
    -webkit-column-gap: 3.259452412vw;
       -moz-column-gap: 3.259452412vw;
            column-gap: 3.259452412vw;
    row-gap: 6.518904824vw;
  }
}
@media (max-width: 767px) {
  .home main #front_sec03 .grid_wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.home main #front_sec03 .grid_wrap .grid_box {
  margin: auto;
  display: grid;
  gap: clamp(20px, 10px + 1.3020833333vw, 35px);
  /* ✅ 포장 div는 레이아웃에 참여하지 않게(자식 .box가 grid item이 됨) */
}
@media (max-width: 1023px) {
  .home main #front_sec03 .grid_wrap .grid_box {
    display: contents;
  }
}
.home main #front_sec03 .grid_wrap .grid_box.gird_01 {
  grid-template-columns: repeat(3, 1fr);
  max-width: 88.5416666667vw;
}
.home main #front_sec03 .grid_wrap .grid_box.gird_02 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 58.3333333333vw;
}
.home main #front_sec03 .grid_wrap .grid_box .box {
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 3;
  background: url(/wp-content/uploads/top_bg004.jpg) no-repeat center center/cover;
  border-radius: 12px;
}
@media (max-width: 1023px) {
  .home main #front_sec03 .grid_wrap .grid_box .box .box:last-child {
    grid-column: 1/-1;
    /* 2칸을 다 쓰게 만든 뒤 */
    width: calc((100% - clamp(30px, 2.0833333333vw, 40px)) / 2);
    /* 한 칸 너비로 줄이고 */
    margin: 0 auto;
    /* 가운데로 */
  }
}
.home main #front_sec03 .grid_wrap .grid_box .box .img_wrap {
  height: 398px;
  position: relative;
}
@media (max-width: 1400px) {
  .home main #front_sec03 .grid_wrap .grid_box .box .img_wrap {
    height: 300px;
  }
}
.home main #front_sec03 .grid_wrap .grid_box .box .img_wrap .img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 10%;
     object-position: center 10%;
  /* Y축: top */
  border-radius: 12px 12px 0 0;
}
.home main #front_sec03 .grid_wrap .grid_box .box .img_wrap .number_bg {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(80px, 8.0527086384vw, 110px);
  height: clamp(36px, 3.6603221083vw, 50px);
  background: #fff;
  border-radius: 999px 999px 0 0;
  background: url(/wp-content/uploads/top_bg004.jpg) no-repeat center center/cover;
}
.home main #front_sec03 .grid_wrap .grid_box .box .img_wrap .number {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  color: #524B44;
  font-size: clamp(26px, 2.7818448023vw, 38px);
  letter-spacing: 0.02em;
  font-weight: 600;
  line-height: 1;
}
.home main #front_sec03 .grid_wrap .grid_box .box .ttl {
  text-align: center;
  padding: 30px 0 15px;
  border-bottom: 1px dashed #6B5445;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 500;
  margin: 0 auto;
  width: 90%;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  /* ✅ 줄바꿈 허용 */
  gap: 0;
  /* 이상 간격 생기면 0 */
  white-space: normal;
  /* ✅ 줄바꿈 가능 */
  line-height: 1.6;
}
.home main #front_sec03 .grid_wrap .grid_box .box .ttl .point_color {
  color: #9D844B;
}
.home main #front_sec03 .grid_wrap .grid_box .box .txt {
  padding: 20px 0 40px;
  width: 90%;
  margin: 0 auto;
}
.home main {
  /* ===============================================
  # front_sec04
  =============================================== */
}
.home main #front_sec04 {
  padding: clamp(80px, 40px + 5.2083333333vw, 140px) 0;
  background: url(/wp-content/uploads/top_bg005.jpg) no-repeat center center/cover;
  position: relative;
}
.home main #front_sec04 .bg_overlay {
  position: absolute;
  inset: 0;
  background: url(/wp-content/uploads/top_bg006.jpg) no-repeat center center/cover;
  z-index: 0;
  pointer-events: none;
}
.home main #front_sec04 .grid_wrap {
  position: relative;
  z-index: 1;
  max-width: 95.7291666667vw;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
@media (max-width: 1023px) {
  .home main #front_sec04 .grid_wrap {
    padding-left: 6%;
    padding-right: 6%;
    max-width: unset;
  }
}
@media (max-width: 767px) {
  .home main #front_sec04 .grid_wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.home main #front_sec04 .grid_wrap .box {
  display: block;
  position: relative;
  border-radius: 12px;
}
.home main #front_sec04 .grid_wrap .box .img_wrap {
  position: relative;
  height: clamp(280px, 26.0416666667vw, 500px);
  overflow: hidden;
  border-radius: inherit;
}
@media (max-width: 767px) {
  .home main #front_sec04 .grid_wrap .box .img_wrap {
    height: 300px;
  }
}
.home main #front_sec04 .grid_wrap .box .img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  will-change: transform;
  position: relative;
}
.home main #front_sec04 .grid_wrap .box .txt {
  font-size: clamp(16px, 1.9033674963vw, 26px);
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-weight: 400;
  padding: clamp(15px, 1.3020833333vw, 25px) 0 clamp(15px, 1.0416666667vw, 20px);
  position: relative;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.631372549);
  display: block;
  width: 100%;
  --arrow-color: #fff;
}
.home main #front_sec04 .grid_wrap .box .txt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: clamp(6px, 0.5856515373vw, 8px) solid transparent;
  border-bottom: clamp(6px, 0.5856515373vw, 8px) solid transparent;
  border-left: clamp(10px, 1.0248901903vw, 14px) solid var(--arrow-color);
  -webkit-transform: translateY(-50%) translateX(0);
          transform: translateY(-50%) translateX(0);
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.home main #front_sec04 .grid_wrap .box:hover .img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.home main #front_sec04 .grid_wrap .box:hover .txt::after {
  -webkit-transform: translateY(-50%) translateX(5px);
          transform: translateY(-50%) translateX(5px);
}
.home main {
  /* ===============================================
  # front_sec05
  =============================================== */
}
.home main #front_sec05 {
  position: relative;
  z-index: 0;
  isolation: isolate;
  margin: clamp(80px, 0px + 10.4166666667vw, 200px) 0 clamp(80px, 13.3333333333px + 8.6805555556vw, 180px);
}
.home main #front_sec05::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(360px, 47.364568082vw, 647px);
  background: url(/wp-content/uploads/top_bg001.jpg) center/cover no-repeat;
  z-index: 0;
}
.home main #front_sec05::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: clamp(360px, 47.364568082vw, 647px);
  background: rgba(0, 0, 0, 0.04);
  mix-blend-mode: multiply;
  opacity: 1.2;
  z-index: 1;
  pointer-events: none;
}
.home main #front_sec05 > * {
  position: relative;
  z-index: 2;
}
.home main #front_sec05 .grid_wrap {
  margin-left: auto;
  max-width: 85.5729166667vw;
  display: grid;
  grid-template-columns: 653fr 890fr;
  -webkit-column-gap: clamp(20px, 5.2083333333vw, 100px);
     -moz-column-gap: clamp(20px, 5.2083333333vw, 100px);
          column-gap: clamp(20px, 5.2083333333vw, 100px);
}
@media (max-width: 1440px) {
  .home main #front_sec05 .grid_wrap {
    max-width: unset;
    padding-left: 6%;
  }
}
@media (max-width: 1023px) {
  .home main #front_sec05 .grid_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 6.518904824vw;
  }
  .home main #front_sec05 .grid_wrap > * {
    width: 100%;
  }
}
@media (max-width: 1023px) {
  .home main #front_sec05 .grid_wrap .txt_wrap {
    padding-right: 6%;
  }
}
.home main #front_sec05 .grid_wrap .txt_wrap h2 {
  margin-bottom: clamp(20px, 1.5625vw, 30px);
}
.home main #front_sec05 .grid_wrap .txt_wrap .txt {
  margin-bottom: clamp(40px, 3.125vw, 60px);
}
.home main #front_sec05 .grid_wrap .txt_wrap .more a.add_arrow::after {
  background: url(/wp-content/uploads/link_001.svg) no-repeat center center/contain;
  width: 16px;
  height: 12px;
  border-left: 0;
}
.home main #front_sec05 .grid_wrap .img_wrap {
  height: 31.4583333333vw;
}
@media (max-width: 1440px) {
  .home main #front_sec05 .grid_wrap .img_wrap {
    height: 47.5841874085vw;
    min-height: 300px;
  }
}
.home main #front_sec05 .grid_wrap .img_wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px 0 0 12px;
  -o-object-position: 32% center;
     object-position: 32% center;
}
@media (max-width: 1023px) {
  .home main #front_sec05 .grid_wrap .img_wrap img {
    -o-object-position: 32% top;
       object-position: 32% top;
  }
}
.home main {
  /* ===============================================
  # front_sec_news
  =============================================== */
}
.home main #front_sec_news {
  margin-bottom: clamp(80px, 7.8125vw, 150px);
}
.home main #front_sec_news .container .box .ttl_area {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: clamp(20px, 2.0833333333vw, 40px);
}
.home main #front_sec_news .container .box .ttl_area h2 .en_ttl {
  line-height: 1;
}
.home main #front_sec_news .container .box .ttl_area .more.more_02 a.add_arrow {
  width: 185px;
  height: 40px;
  background: none;
  border: none;
  border-bottom: 1px solid #524B44;
  border-radius: 0;
  line-height: 2;
  text-align: left;
  padding-bottom: 43px;
}
.home main #front_sec_news .container .box .ttl_area .more.more_02 a.add_arrow::after {
  right: 8px;
}
@media (max-width: 425px) {
  .home main #front_sec_news .container .box .ttl_area .more.more_02 a.add_arrow {
    width: 145px;
  }
}
.home main #front_sec_news .container .box .news-box {
  background: #fff;
  border-radius: 15px;
  padding: clamp(40px, 3.125vw, 60px);
}
.home main {
  /* ===============================================
  # front_sec06
  =============================================== */
}
.home main #front_sec06 {
  padding: clamp(80px, 7.8125vw, 150px) 6% clamp(80px, 7.8125vw, 150px);
  background: url(/wp-content/uploads/top_bg007.jpg) no-repeat 0 10%/cover;
  position: relative;
}
@media (max-width: 767px) {
  .home main #front_sec06 {
    background: url(/wp-content/uploads/sp_top_bg007.jpg) no-repeat 0 10%/cover;
  }
}
.home main #front_sec06 .bg_overlay {
  position: absolute;
  inset: 0;
  background: #f5f5f5;
  z-index: 0;
}
.home main #front_sec06 .contents {
  position: relative;
  z-index: 1;
  max-width: 1065px;
  margin: auto;
}
.home main #front_sec06 .contents h2 {
  margin-bottom: clamp(20px, 2.0833333333vw, 40px);
}
.home main #front_sec06 .contents h2 .ttl {
  color: #fff;
}
.home main #front_sec06 .contents h2 .en_ttl {
  color: #fff;
}
.home main #front_sec06 .contents .grid_wrap {
  max-width: 1065px;
  margin: auto;
  display: grid;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          align-items: end;
  grid-template-columns: 423fr 482fr;
  -webkit-column-gap: clamp(20px, 7.2916666667vw, 160px);
     -moz-column-gap: clamp(20px, 7.2916666667vw, 160px);
          column-gap: clamp(20px, 7.2916666667vw, 160px);
}
@media (max-width: 767px) {
  .home main #front_sec06 .contents .grid_wrap {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 6.518904824vw;
  }
}
.home main #front_sec06 .contents .grid_wrap .info_area .info {
  color: #f5f5f5;
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_01 {
  margin-bottom: clamp(25px, 18.3333333333px + 0.8680555556vw, 35px);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_01 .clinic {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(26px, 1.875vw, 36px);
  letter-spacing: 0.08em;
  line-height: 1.4;
  margin-bottom: 6px;
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_01 .tel {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
  font-size: clamp(26px, 1.5625vw, 30px);
  letter-spacing: 0.08em;
  position: relative;
  padding-left: clamp(30px, 2.2395833333vw, 43px);
  margin-top: unset;
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_01 .tel::before {
  content: "";
  background-color: var(--icon-color, white);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M9.67407 9.63168C7.63862 10.9517 7.23881 15.0781 8.00719 18.4413C8.60569 21.0603 9.8781 24.5735 12.0237 27.8818C14.0421 30.994 16.8582 33.7845 19.0054 35.3991C21.7627 37.4723 25.6934 38.79 27.7288 37.4699C28.7581 36.8024 30.2871 34.9786 30.3569 34.6514C30.3569 34.6514 29.4602 33.2688 29.2634 32.9655L26.2564 28.329C26.0329 27.9845 24.6316 28.2994 23.9197 28.7026C22.9594 29.2467 22.0751 30.7066 22.0751 30.7066C21.4166 31.087 20.8651 30.708 19.7128 30.1777C18.2967 29.5262 16.7044 27.5016 15.4372 25.6678C14.2797 23.7629 13.0805 21.4834 13.063 19.9246C13.0488 18.6562 12.9277 17.9981 13.5435 17.5521C13.5435 17.5521 15.2371 17.34 16.1255 16.6851C16.784 16.1996 17.6431 15.0485 17.4196 14.704L14.4126 10.0676C14.2159 9.76416 13.3192 8.38161 13.3192 8.38161C12.9921 8.31177 10.7033 8.96416 9.67407 9.63168Z" fill="black"/%3E%3Cpath d="M26.7216 13.0915C27.9453 8.10395 25.0378 3.00363 20.1226 1.51562L20.5376 0C26.2887 1.71742 29.6894 7.6829 28.2372 13.5066L26.7216 13.0915Z" fill="black"/%3E%3Cpath d="M23.437 12.1922C24.1677 9.0155 22.3289 5.78995 19.2231 4.80032L19.6383 3.28418C23.5798 4.50396 25.9116 8.59438 24.9531 12.6074L23.437 12.1922Z" fill="black"/%3E%3Cpath d="M20.148 11.2912C20.392 9.92763 19.6202 8.57366 18.3225 8.08893L18.7385 6.56982C20.8704 7.2893 22.1341 9.50621 21.6671 11.7072L20.148 11.2912Z" fill="black"/%3E%3C/svg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg width="38" height="38" viewBox="0 0 38 38" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M9.67407 9.63168C7.63862 10.9517 7.23881 15.0781 8.00719 18.4413C8.60569 21.0603 9.8781 24.5735 12.0237 27.8818C14.0421 30.994 16.8582 33.7845 19.0054 35.3991C21.7627 37.4723 25.6934 38.79 27.7288 37.4699C28.7581 36.8024 30.2871 34.9786 30.3569 34.6514C30.3569 34.6514 29.4602 33.2688 29.2634 32.9655L26.2564 28.329C26.0329 27.9845 24.6316 28.2994 23.9197 28.7026C22.9594 29.2467 22.0751 30.7066 22.0751 30.7066C21.4166 31.087 20.8651 30.708 19.7128 30.1777C18.2967 29.5262 16.7044 27.5016 15.4372 25.6678C14.2797 23.7629 13.0805 21.4834 13.063 19.9246C13.0488 18.6562 12.9277 17.9981 13.5435 17.5521C13.5435 17.5521 15.2371 17.34 16.1255 16.6851C16.784 16.1996 17.6431 15.0485 17.4196 14.704L14.4126 10.0676C14.2159 9.76416 13.3192 8.38161 13.3192 8.38161C12.9921 8.31177 10.7033 8.96416 9.67407 9.63168Z" fill="black"/%3E%3Cpath d="M26.7216 13.0915C27.9453 8.10395 25.0378 3.00363 20.1226 1.51562L20.5376 0C26.2887 1.71742 29.6894 7.6829 28.2372 13.5066L26.7216 13.0915Z" fill="black"/%3E%3Cpath d="M23.437 12.1922C24.1677 9.0155 22.3289 5.78995 19.2231 4.80032L19.6383 3.28418C23.5798 4.50396 25.9116 8.59438 24.9531 12.6074L23.437 12.1922Z" fill="black"/%3E%3Cpath d="M20.148 11.2912C20.392 9.92763 19.6202 8.57366 18.3225 8.08893L18.7385 6.56982C20.8704 7.2893 22.1341 9.50621 21.6671 11.7072L20.148 11.2912Z" fill="black"/%3E%3C/svg%3E');
  width: clamp(28px, 1.9791666667vw, 38px);
  height: clamp(28px, 1.9791666667vw, 38px);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_02 {
  margin-bottom: clamp(25px, 18.3333333333px + 0.8680555556vw, 35px);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_02 dt::before {
  content: "";
  background-color: var(--icon-color, white);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M14.4781 2.95985C13.1712 1.65346 11.4587 1 9.74558 1C8.03304 1 6.31997 1.65346 5.01305 2.95985C2.93009 5.04281 2.38764 8.22056 3.74348 10.6585C5.29936 13.4554 9.74558 19.009 9.74558 19.009C9.74558 19.009 14.1923 13.4554 15.7482 10.6585C17.104 8.22052 16.5616 5.04281 14.4781 2.95985ZM9.74558 11.7577C7.50103 11.7577 5.68079 9.93746 5.68079 7.69348C5.68079 5.44731 7.50103 3.62706 9.74558 3.62706C11.9907 3.62706 13.8109 5.44731 13.8109 7.69348C13.8109 9.93746 11.9907 11.7577 9.74558 11.7577Z" fill="black"/%3E%3C/svg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M14.4781 2.95985C13.1712 1.65346 11.4587 1 9.74558 1C8.03304 1 6.31997 1.65346 5.01305 2.95985C2.93009 5.04281 2.38764 8.22056 3.74348 10.6585C5.29936 13.4554 9.74558 19.009 9.74558 19.009C9.74558 19.009 14.1923 13.4554 15.7482 10.6585C17.104 8.22052 16.5616 5.04281 14.4781 2.95985ZM9.74558 11.7577C7.50103 11.7577 5.68079 9.93746 5.68079 7.69348C5.68079 5.44731 7.50103 3.62706 9.74558 3.62706C11.9907 3.62706 13.8109 5.44731 13.8109 7.69348C13.8109 9.93746 11.9907 11.7577 9.74558 11.7577Z" fill="black"/%3E%3C/svg%3E');
  width: clamp(20px, 1.0416666667vw, 20px);
  height: clamp(20px, 1.0416666667vw, 20px);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_02 dd {
  font-size: clamp(16px, 0.9375vw, 18px);
  letter-spacing: 0.08em;
  line-height: 2;
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_03 {
  margin-bottom: clamp(25px, 2.6041666667vw, 50px);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info.info_03 dt::before {
  content: "";
  background-color: var(--icon-color, white);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M16.125 9.52632H11.4375V4.78947H16.125M14.7188 15.2105C14.3458 15.2105 13.9881 15.0608 13.7244 14.7943C13.4607 14.5278 13.3125 14.1664 13.3125 13.7895C13.3125 13.4126 13.4607 13.0511 13.7244 12.7846C13.9881 12.5181 14.3458 12.3684 14.7188 12.3684C15.0917 12.3684 15.4494 12.5181 15.7131 12.7846C15.9768 13.0511 16.125 13.4126 16.125 13.7895C16.125 14.1664 15.9768 14.5278 15.7131 14.7943C15.4494 15.0608 15.0917 15.2105 14.7188 15.2105ZM9.5625 9.52632H4.875V4.78947H9.5625M6.28125 15.2105C5.90829 15.2105 5.5506 15.0608 5.28688 14.7943C5.02316 14.5278 4.875 14.1664 4.875 13.7895C4.875 13.4126 5.02316 13.0511 5.28688 12.7846C5.5506 12.5181 5.90829 12.3684 6.28125 12.3684C6.65421 12.3684 7.0119 12.5181 7.27562 12.7846C7.53934 13.0511 7.6875 13.4126 7.6875 13.7895C7.6875 14.1664 7.53934 14.5278 7.27562 14.7943C7.0119 15.0608 6.65421 15.2105 6.28125 15.2105ZM10.5 1C6.35625 1 3 1.47368 3 4.78947V13.7895C3 14.6689 3.3457 15.5123 3.96106 16.1341C4.57641 16.7559 5.41101 17.1053 6.28125 17.1053L4.875 18.5263V19H16.125V18.5263L14.7188 17.1053C15.589 17.1053 16.4236 16.7559 17.0389 16.1341C17.6543 15.5123 18 14.6689 18 13.7895V4.78947C18 1.47368 14.6438 1 10.5 1Z" fill="black"/%3E%3C/svg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M16.125 9.52632H11.4375V4.78947H16.125M14.7188 15.2105C14.3458 15.2105 13.9881 15.0608 13.7244 14.7943C13.4607 14.5278 13.3125 14.1664 13.3125 13.7895C13.3125 13.4126 13.4607 13.0511 13.7244 12.7846C13.9881 12.5181 14.3458 12.3684 14.7188 12.3684C15.0917 12.3684 15.4494 12.5181 15.7131 12.7846C15.9768 13.0511 16.125 13.4126 16.125 13.7895C16.125 14.1664 15.9768 14.5278 15.7131 14.7943C15.4494 15.0608 15.0917 15.2105 14.7188 15.2105ZM9.5625 9.52632H4.875V4.78947H9.5625M6.28125 15.2105C5.90829 15.2105 5.5506 15.0608 5.28688 14.7943C5.02316 14.5278 4.875 14.1664 4.875 13.7895C4.875 13.4126 5.02316 13.0511 5.28688 12.7846C5.5506 12.5181 5.90829 12.3684 6.28125 12.3684C6.65421 12.3684 7.0119 12.5181 7.27562 12.7846C7.53934 13.0511 7.6875 13.4126 7.6875 13.7895C7.6875 14.1664 7.53934 14.5278 7.27562 14.7943C7.0119 15.0608 6.65421 15.2105 6.28125 15.2105ZM10.5 1C6.35625 1 3 1.47368 3 4.78947V13.7895C3 14.6689 3.3457 15.5123 3.96106 16.1341C4.57641 16.7559 5.41101 17.1053 6.28125 17.1053L4.875 18.5263V19H16.125V18.5263L14.7188 17.1053C15.589 17.1053 16.4236 16.7559 17.0389 16.1341C17.6543 15.5123 18 14.6689 18 13.7895V4.78947C18 1.47368 14.6438 1 10.5 1Z" fill="black"/%3E%3C/svg%3E');
  width: clamp(20px, 1.0416666667vw, 20px);
  height: clamp(20px, 1.0416666667vw, 20px);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info dt {
  padding-left: clamp(18px, 2.0497803807vw, 28px);
  position: relative;
  font-weight: 400;
  letter-spacing: 0.08em;
  font-size: clamp(16px, 1.6105417277vw, 22px);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info dt::before {
  content: "";
  width: clamp(14px, 1.4641288433vw, 20px);
  height: clamp(14px, 1.4641288433vw, 20px);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home main #front_sec06 .contents .grid_wrap .info_area .info dd {
  margin-top: clamp(5px, 0.5208333333vw, 10px);
}
.home main #front_sec06 .contents .grid_wrap .info_area .more a.add_arrow {
  background: none;
  border: 1px solid #f5f5f5;
  color: #f5f5f5;
}
.home main #front_sec06 .contents .grid_wrap .info_area .more a.add_arrow::after {
  border-left: clamp(10px, 1.0248901903vw, 14px) solid #f5f5f5;
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_ttl {
  color: #fff;
  font-size: clamp(18px, 1.756954612vw, 24px);
  margin-bottom: 15px;
  padding-left: clamp(22px, 2.196193265vw, 30px);
  position: relative;
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_ttl::before {
  content: "";
  background-color: var(--icon-color, white);
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM11 10V5H9V12H15V10H11Z" fill="black"/%3E%3C/svg%3E');
  mask-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M10 20C4.477 20 0 15.523 0 10C0 4.477 4.477 0 10 0C15.523 0 20 4.477 20 10C20 15.523 15.523 20 10 20ZM11 10V5H9V12H15V10H11Z" fill="black"/%3E%3C/svg%3E');
  width: clamp(14px, 1.4641288433vw, 20px);
  height: clamp(14px, 1.4641288433vw, 20px);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table_wrap {
  background: #fff;
  overflow: hidden;
}
@media (max-width: 767px) {
  .home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table_wrap {
    background: none;
  }
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table {
  width: 100%;
  border-collapse: collapse;
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table th,
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table td {
  border: 1px solid #6b4c3b;
  padding: 12px;
  text-align: center;
  font-size: 16px;
}
@media (max-width: 767px) {
  .home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table th,
  .home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table td {
    border: none;
  }
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table th {
  width: 35%;
  background: #f5f5f5;
  font-weight: 600;
}
.home main #front_sec06 .contents .grid_wrap .clinic_time .clinic_time_table td {
  width: 65%;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table,
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table tbody,
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table tr,
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table th,
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table td {
    display: block;
    width: 100% !important;
    background: #f5f5f5;
    border-bottom: 1px solid #6b4c3b;
  }
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table th {
    background: #e5e5e5 !important;
    border-bottom: none;
    padding: 10px;
  }
  .home main #front_sec06 .contents .grid_wrap .clinic_time_table td {
    border-top: none;
    padding: 12px;
  }
}
.home main {
  /* ===============================================
  # front_sec07
  =============================================== */
}
.home main #front_sec07 {
  margin: 0;
  padding: 0;
}
.home main #front_sec07 .map {
  margin: 0;
  padding: 0;
  height: clamp(280px, 21.6145833333vw, 415px);
}/*# sourceMappingURL=main.css.map */