@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
:root {
  --content-width: 1230px;
  --font-yugothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  --font-yumincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  --font-meiryo: "Meiryo UI", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  --font-arial: Arial, Helvetica, sans-serif;
  --font-roboto: "Roboto", sans-serif;
  --font-noto-serif: "Noto Serif JP", serif;
  --color-primary: #937422;
  --color-secondary: #BEAE97;
  --color-dark: #413100;
  --color-gray: #dddddd;
  --text-line-height: 1.8em;
  --font-family: "Noto Sans JP", sans-serif;
  --body-color: #333333;
}

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

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=date],
textarea,
select {
  width: 100%;
  border: solid 1px #999999;
  padding: 10px;
  font-family: var(--font-family);
}

textarea {
  resize: vertical;
}

::placeholder {
  opacity: 0.5;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.6em;
  font-weight: 700;
  margin-bottom: 0.5em;
}

a {
  color: var(--color-secondary);
  transition: all 0.2s;
}

select {
  visibility: visible !important;
}

[href^="tel:"] {
  word-break: keep-all;
  white-space: nowrap;
}

img {
  vertical-align: middle;
  max-width: 100%;
  flex-shrink: 0;
  height: auto;
  object-fit: cover;
}

table {
  width: 100%;
}

p {
  margin-bottom: 1.85em;
  line-height: var(--text-line-height);
}

p:last-child {
  margin-bottom: 0;
}

button {
  cursor: pointer;
  border: solid 1px #333;
  border-radius: 0;
  outline: none;
  box-shadow: none;
}

*,
::before,
::after {
  box-sizing: border-box;
  outline: none;
}

/*==========================================================================*/
/*                              G L O B A L                                 */
/*==========================================================================*/
html {
  background: #fff;
}

body {
  min-width: 320px;
  -webkit-text-size-adjust: none;
  color: var(--body-color);
  font-family: var(--font-family);
}

#wrapper {
  min-width: 1260px;
  margin: 0 auto;
  overflow: hidden;
}

.inner {
  width: var(--content-width);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/*==========================================================================*/
/*             W O R D P R E S S   U S E R   L O G G E D   I N              */
/*==========================================================================*/
.customize-support header {
  margin-top: 32px;
}

@media screen and (max-width: 782px) {
  .customize-support header {
    margin-top: 46px !important;
  }
}
@media screen and (max-width: 600px) {
  .customize-support header {
    margin-top: 0px !important;
  }
}
#wpadminbar .show-template-name,
#wpadminbar .hover .show-template-name {
  text-shadow: none;
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item {
  height: auto;
  padding-bottom: 1rem;
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item div {
  font-family: monospace;
  text-shadow: none;
  color: #fff;
}

#wpadminbar .hover .show-template-name:hover {
  color: #2ea2cc;
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li {
  line-height: 1.5;
}

#wpadminbar #wp-admin-bar-included_files_path .ab-item #included-files-list li:hover {
  color: #2ea2cc;
}

#wpadminbar #included-files-list {
  margin-left: 20px;
}

#wp-admin-bar-show_template_file_name_on_top-default {
  max-height: 90vh;
  overflow-x: hidden;
}

#included-files-fie-on-wp-footer {
  display: none;
}

#wpadminbar #wp-admin-bar-aioseo-main .aioseo-logo {
  display: inline-block !important;
  height: 23px !important;
  transform: translateY(6px);
}

body#tinymce {
  margin: 15px;
}

/*==========================================================================*/
/*                           U T I L I T I E S                              */
/*==========================================================================*/
.mb-0 {
  margin-bottom: 0px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

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

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

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

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

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

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

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

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

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

.mt-0 {
  margin-top: 0px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

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

.mt-25 {
  margin-top: 25px !important;
}

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

.mt-35 {
  margin-top: 35px !important;
}

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

.mt-45 {
  margin-top: 45px !important;
}

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

.ml-0 {
  margin-left: 0px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mx-0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.mx-5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.mx-10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.mx-15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.mx-20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mx-25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}

.mx-30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.mx-35 {
  margin-left: 35px !important;
  margin-right: 35px !important;
}

.mx-40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.mx-45 {
  margin-left: 45px !important;
  margin-right: 45px !important;
}

.mx-50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.my-0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.my-5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

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

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

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

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

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

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

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

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

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

.w0 {
  width: 0%;
}

.w5 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 25%;
}

.w30 {
  width: 30%;
}

.w35 {
  width: 35%;
}

.w40 {
  width: 40%;
}

.w45 {
  width: 45%;
}

.w50 {
  width: 50%;
}

#menu-toggle {
  width: 60px;
  height: 60px;
  background: #fff;
  cursor: pointer;
  display: none;
  right: 0;
  top: 0;
  z-index: 10;
  position: fixed;
}
#menu-toggle > span {
  --height: 2px;
  position: absolute;
  width: 24px;
  height: var(--height);
  background: var(--color-primary);
  left: 18px;
  transition: 0.2s ease-in-out;
}
#menu-toggle > span:nth-child(1) {
  top: calc(50% - var(--height) / 2 - 9px);
}
#menu-toggle > span:nth-child(2), #menu-toggle > span:nth-child(3) {
  top: calc(50% - var(--height) / 2);
}
#menu-toggle > span:nth-child(4) {
  top: calc(50% - var(--height) / 2 + 9px);
}
#menu-toggle.open span:nth-child(1), #menu-toggle.open span:nth-child(4) {
  width: 0%;
  top: calc(50% - var(--height) / 2);
  left: 50%;
}
#menu-toggle.open span:nth-child(2) {
  transform: rotate(45deg);
}
#menu-toggle.open span:nth-child(3) {
  transform: rotate(-45deg);
}

.to-top, .back_top {
  position: fixed;
  z-index: 5;
  right: 0;
  bottom: 0;
  transition: all 0.2s;
  transform-origin: 50% 100%;
  opacity: 0;
  visibility: hidden;
}
.to-top > a,
.back_top > a {
  display: block;
  cursor: pointer;
  width: 60px;
  height: 60px;
  background: var(--color-primary);
  border-radius: 0px;
  text-decoration: none;
}
.to-top > a:before {
  --size: 14px;
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: var(--size);
  height: var(--size);
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotateZ(-45deg);
  left: calc(50% - var(--size) / 2);
  top: calc(59% - var(--size) / 2);
}


.to-top.show,
.back_top.show {
  opacity: 1;
  visibility: visible;
}

.back_top {
  bottom: 60px;
}

.back_top a {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 16px;
  color: #fff;
  font-weight: bold;
  padding-bottom: 6px;
  background: var(--color-dark);
}

.back_top a::before {
  content: '';
  position: absolute;
  top: 9px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(../images/back_top.png) center / cover no-repeat;
}

.d-flex {
  display: flex;
}

.d-flex-column {
  display: flex;
  flex-direction: column;
}

.flex-wrap {
  display: flex;
  flex-wrap: wrap;
}

.flex-center-all {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.bold {
  font-weight: bold;
}

.text-large {
  font-size: 130%;
}

.text-small {
  font-size: 80%;
}

.text-red {
  color: #f00;
}

img.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
img.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

[data-tab],
.accordion-button {
  cursor: pointer;
}

.btn-tel {
  font-family: var(--font-roboto);
  font-size: 38px;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.btn-tel span {
  padding-left: 26px;
  background: url("../images/icon-tel-01.png") no-repeat left center/20px;
  padding-bottom: 2px;
}

.primary-ttl {
  font-size: 40px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
  background: url("../images/title-decor-01.png") center bottom/114px auto no-repeat;
  padding-bottom: 0.8em;
  margin-bottom: 1.63em;
}
.primary-ttl .underline {
  color: var(--color-primary);
  background: url("../images/title-decor-02.png") left bottom/30px auto repeat-x;
  padding: 0 3px 5px;
  box-decoration-break: clone;
}

.group-buttons.center {
  justify-content: center;
  gap: 39px;
}

.btn-primary {
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  color: var(--color-primary);
  position: relative;
  z-index: 1;
  display: inline-block;
}
.btn-primary:before, .btn-primary:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #937422;
  position: absolute;
  z-index: -2;
  left: 4px;
  top: 4px;
  opacity: 0.6;
}
.btn-primary:before {
  background: #fff;
  border: solid 1px var(--color-primary);
  z-index: -1;
  left: 0;
  top: 0;
  opacity: 1;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.btn-primary > span {
  display: inline-flex;
  min-width: 320px;
  height: 67px;
  justify-content: center;
  align-items: center;
  padding: 5px;
  position: relative;
  background: url("../images/icon-arrow-right-02.png") right 20px center/20px no-repeat;
}
.btn-primary > span:before, .btn-primary > span:after {
  content: "";
  width: 1px;
  height: calc(100% - 10px);
  background: var(--color-primary);
  position: absolute;
  left: 5px;
  top: 10px;
}
.btn-primary > span:after {
  left: unset;
  right: 5px;
  top: 0;
}

.btn-secondary {
  display: inline-flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-width: 200px;
  height: 47px;
  background: url("../images/icon-arrow-right-04.png") right 12px center/16px no-repeat var(--color-primary);
  color: #fff;
  font-weight: 700;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  padding: 5px 35px;
}

/*==========================================================================*/
/*                              H E A D E R                                 */
/*==========================================================================*/
header {
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  transition: all 0.5s;
}
header .inner {
  width: 100%;
  padding: 0;
}

h1 {
  display: flex;
  width: 440px;
  height: 200px;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  transition: all 0.3s;
}
h1 img {
  transition: all 0.3s;
}

.h-contact-buttons {
  margin-left: auto;
  width: fit-content;
}
.h-contact-buttons a {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 35px;
  background: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
.h-contact-buttons a .btn-icon {
  margin-right: 0;
  display: inline-block;
  flex-shrink: 0;
}
.h-contact-buttons a.btn-call {
  color: #333333;
  font-size: 25px;
  font-family: var(--font-roboto);
  letter-spacing: 0;
  padding-right: 27px;
  align-items: flex-start;
}
.h-contact-buttons a.btn-call .btn-txt{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.1;
}
.h-contact-buttons a.btn-call .btn-txt .f_sm{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}
.h-contact-buttons a.btn-call .btn-icon {
  transform: translate(8px, -5px);
}
.h-contact-buttons a.btn-line {
  background: #06c755;
  padding-left: 12px;
}
.h-contact-buttons a.btn-line .btn-icon {
  margin-right: 10px;
}
.h-contact-buttons a.btn-mail {
  background: #937422;
}
.h-contact-buttons a.btn-mail .btn-icon {
  margin-right: 18px;
}

#gnavi {
  position: relative;
  width: 100%;
}
#gnavi .nav-list {
  width: fit-content;
  margin-left: auto;
  background: #fff;
  padding: 0 0;
}
#gnavi .nav-link {
  font-size: 18px;
  font-weight: 500;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 22px;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: inherit;
  position: relative;
  z-index: 2;
  background: #fff;
}
#gnavi span.nav-link {
  padding-right: 47px;
  position: relative;
  cursor: default;
}
#gnavi span.nav-link:before {
  content: "";
  width: 14px;
  height: 9px;
  background: url("../images/icon-arrow-down-01.png") no-repeat center/contain;
  position: absolute;
  right: 25px;
  top: calc(50% - 3px);
  transition: all 0.2s;
}
#gnavi .nav-item:first-child .nav-link {
  padding-left: 50px;
}
#gnavi .nav-item:last-child .nav-link {
  padding-right: 72px;
}
#gnavi .nav-item:last-child span.nav-link:before {
  right: 50px;
}
#gnavi .nav-item:nth-child(3) .f-nav-block .f-nav-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 60px;
}
#gnavi .nav-item:nth-child(3) .f-nav-block .f-nav-list li a {
  letter-spacing: 0;
}
#gnavi .f-nav-block {
  position: absolute;
  z-index: 1;
  width: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 145px 90px 65px;
  max-width: 1720px;
  align-items: center;
  min-height: 300px;
  border-bottom: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
#gnavi .f-nav-block:after {
  content: "";
  width: 200%;
  min-width: 100vw;
  height: 100%;
  background: #efeae3;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  opacity: 0.98;
}
#gnavi .f-nav-block .nav-block-ttl {
  font-size: 24px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
  line-height: 1em;
  margin: 0 80px 0 0;
  padding: 50px 0 50px;
  border-right: solid 1px #9e8f76;
  align-self: stretch;
  display: flex;
  align-items: center;
  width: 260px;
  flex-shrink: 0;
}

body.nav-fixed header {
  background: #fff;
  height: 120px;
}
body.nav-fixed h1 {
  width: 271px;
  height: auto;
  padding: 28px 37px;
  height: 120px;
}
body.nav-fixed .h-contact-buttons a {
  height: 56px;
  font-size: 16px;
  padding: 5px 20px;
}
body.nav-fixed .h-contact-buttons a.btn-call {
  font-size: 20px;
}
body.nav-fixed .h-contact-buttons a.btn-call .btn-txt .f_sm {
  font-size: 11px;
}
body.nav-fixed .h-contact-buttons a.btn-call .btn-icon img{
  font-size: 11px;
}
body.nav-fixed .h-contact-buttons a.btn-call .btn-icon {
  transform: translate(3px, -5px);
}
body.nav-fixed .h-contact-buttons a.btn-call .btn-icon img {
  width: 13px;
}
body.nav-fixed #gnavi .nav-item:first-child .nav-link {
  padding-left: 22px;
}
body.nav-fixed #gnavi .nav-item:last-child .nav-link {
  padding-right: 47px;
}
body.nav-fixed #gnavi .nav-item:last-child .nav-link:before {
  right: 30px;
}
body.nav-fixed #gnavi .nav-link {
  height: 62px;
  font-size: 14px;
  padding-right: 22px;
}
body.nav-fixed #gnavi .nav-link:before {
  right: 2px;
}
body.nav-fixed #gnavi .f-nav-block {
  top: 100%;
  padding: 65px 90px 65px;
}
body.nav-fixed #gnavi .f-nav-block:after {
  left: 50%;
  transform: translateX(-50%);
}

/*==========================================================================*/
/*                         M A I N   V I S U A L                            */
/*==========================================================================*/
.main-visual {
  margin-top: 72px;
  position: relative;
  z-index: 2;
  margin-bottom: -78px;
}
.main-visual .inner {
  width: 1750px;
  position: relative;
}
.main-visual .visual-bg {
  position: relative;
  z-index: 1;
}
.main-visual .visual-bg:before {
  content: "";
  width: 399px;
  height: 358px;
  background: url("../images/visual-decor-01.png") center/contain;
  position: absolute;
  z-index: -1;
  left: -50px;
  bottom: -50px;
}
.main-visual [class*=visual-content] {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 15px;
  width: 912px;
  height: 741px;
  color: #fff;
}
.main-visual .visual-content-bg {
  z-index: 1;
  background: url("../images/visual-bg-01.png") center/contain;
  mix-blend-mode: multiply;
}
.main-visual .visual-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0px 85px 0 115px;
  font-weight: 700;
}
.main-visual .visual-sub-ttl {
  font-size: 28px;
  line-height: 1.9em;
  border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  padding-bottom: 0.7em;
  margin-bottom: 1em;
}
.main-visual .visual-sub-ttl span {
  font-size: 85.714%;
}
.main-visual h2 {
  font-family: var(--font-noto-serif);
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 0;
  line-height: 2.2em;
}
.main-visual h2 .small {
  font-size: 76.19%;
}
.main-visual h2 [class*=color-] {
  background: rgba(139, 98, 0, 0.5);
  padding: 0px 10px 13px;
  margin-right: 7px;
  position: relative;
  margin-left: -10px;
}
.main-visual h2 .color-01:before, .main-visual h2 .color-01:after {
  content: "";
  width: 100%;
  height: 100%;
  border: solid 1px #fff;
  border-right: none;
  position: absolute;
  left: -6px;
  top: -6px;
}
.main-visual h2 .color-01:after {
  border: none;
  border-right: solid 1px #fff;
  height: 24px;
}
.main-visual h2 .color-02 {
  background: rgba(158, 143, 118, 0.5);
}
.main-visual h2 .color-02:before {
  content: "";
  width: calc(100% - 43px);
  height: 100%;
  border: solid 1px #fff;
  border-bottom: none;
  border-left: none;
  position: absolute;
  right: -5px;
  top: -5px;
}
.main-visual h2 .color-02:after {
  content: "";
  width: calc(100% - 18px);
  height: 100%;
  border: solid 1px #fff;
  border-top: none;
  border-right: none;
  position: absolute;
  left: 5px;
  top: -5px;
}
.main-visual h2 .color-02 span:before {
  content: "";
  width: 22px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 5px;
  top: -5px;
}

/*==========================================================================*/
/*                                M A I N                                   */
/*==========================================================================*/
.side-banner {
  position: fixed;
  z-index: 5;
  right: 0;
  bottom: 70px;
  transition: .3s
}

.concerns-section {
  padding: 200px 0 100px;
  background: url("../images/concerns-section-bg.jpg") left calc(50% - 50px) bottom/auto no-repeat;
}
.concerns-section .primary-ttl .underline {
  background-image: url("../images/title-decor-03.png");
}

.concerns-list {
  column-gap: 48px;
  row-gap: 58px;
  margin-bottom: 72px;
}
.concerns-list li {
  width: calc((100% - 96px) / 3);
  position: relative;
  z-index: 1;
}
.concerns-list li:before {
  content: "";
  width: 100%;
  height: 100%;
  border-left: solid 1px #252221;
  border-top: solid 1px #252221;
  position: absolute;
  left: -10px;
  top: -10px;
}
.concerns-list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 204px;
  background: #fff;
  text-align: center;
  text-decoration: none;
  color: inherit;
  font-family: var(--font-noto-serif);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5em;
  position: relative;
  z-index: 1;
}
.concerns-list li a:before, .concerns-list li a:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
}
.concerns-list li a:before {
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1);
}
.concerns-list li a:after {
  z-index: -2;
  background: #e3dcd1;
  left: 10px;
  top: 10px;
}
.concerns-list li a .item-ttl {
  transform: translateY(-0.5em);
  margin: auto 0;
}
.concerns-list li a .item-ttl span {
  color: var(--color-primary);
}

.point-section {
  padding: 155px 0 83px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.point-section:before, .point-section:after {
  content: "";
  width: 100%;
  height: 980px;
  background-color: #f9f9f9;
  position: absolute;
  z-index: -1;
  left: 90px;
  top: 190px;
}
.point-section:after {
  height: 100%;
  top: 1170px;
  left: -90px;
}
.point-section .inner {
  width: 1614px;
}

.point-wrapper {
  margin-bottom: 81px;
}

.point-item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.point-item:not(:last-child) {
  margin-bottom: 80px;
}
.point-item-img {
  margin-right: -80px;
  box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.2);
}
.point-item-img img {
  max-width: unset;
}
.point-item-text {
  width: 50%;
  min-width: 550px;
  flex-shrink: 0;
  background: #fff;
  position: relative;
  z-index: 2;
  padding: 50px 35px 40px 50px;
  border: solid 1px #9e8f76;
}
.point-item-text:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  box-shadow: 4px 4px 7px rgba(0, 0, 0, 0.1);
}
.point-item-text:after {
  content: "";
  width: 100%;
  height: 100%;
  border-left: solid 1px #9e8f76;
  border-top: solid 1px #9e8f76;
  position: absolute;
  z-index: -1;
  left: -11px;
  top: -11px;
}
.point-item-text-bg {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg-pattern-03.png") left top/16px repeat;
  position: absolute;
  z-index: -2;
  top: 10px;
  left: 10px;
}
.point-item-text .point-item-link {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.point-item .item-number {
  font-size: 52px;
  font-weight: 700;
  font-family: var(--font-roboto);
  line-height: 1em;
  margin: 0;
  height: 56px;
  display: flex;
  align-items: center;
  position: absolute;
  left: -1px;
  top: -28px;
  color: #9e8f76;
  letter-spacing: 0em;
  font-weight: 500;
  text-shadow: #fff 10px 0px 0px, #fff 9.95004px 0.998334px 0px, #fff 9.80067px 1.98669px 0px, #fff 9.55336px 2.9552px 0px, #fff 9.21061px 3.89418px 0px, #fff 8.77583px 4.79426px 0px, #fff 8.25336px 5.64642px 0px, #fff 7.64842px 6.44218px 0px, #fff 6.96707px 7.17356px 0px, #fff 6.2161px 7.83327px 0px, #fff 5.40302px 8.41471px 0px, #fff 4.53596px 8.91207px 0px, #fff 3.62358px 9.32039px 0px, #fff 2.67499px 9.63558px 0px, #fff 1.69967px 9.8545px 0px, #fff 0.707372px 9.97495px 0px, #fff -0.291995px 9.99574px 0px, #fff -1.28844px 9.91665px 0px, #fff -2.27202px 9.73848px 0px, #fff -3.2329px 9.463px 0px, #fff -4.16147px 9.09297px 0px, #fff -5.04846px 8.63209px 0px, #fff -5.88501px 8.08496px 0px, #fff -6.66276px 7.45705px 0px, #fff -7.37394px 6.75463px 0px, #fff -8.01144px 5.98472px 0px, #fff -8.56889px 5.15501px 0px, #fff -9.04072px 4.2738px 0px, #fff -9.42222px 3.34988px 0px, #fff -9.70958px 2.39249px 0px, #fff -9.89993px 1.4112px 0px, #fff -9.99135px 0.415807px 0px, #fff -9.98295px -0.583741px 0px, #fff -9.8748px -1.57746px 0px, #fff -9.66798px -2.55541px 0px, #fff -9.36457px -3.50783px 0px, #fff -8.96758px -4.4252px 0px, #fff -8.481px -5.29836px 0px, #fff -7.90968px -6.11858px 0px, #fff -7.25932px -6.87766px 0px, #fff -6.53644px -7.56803px 0px, #fff -5.74824px -8.18277px 0px, #fff -4.90261px -8.71576px 0px, #fff -4.00799px -9.16166px 0px, #fff -3.07333px -9.51602px 0px, #fff -2.10796px -9.7753px 0px, #fff -1.12153px -9.93691px 0px, #fff -0.123887px -9.99923px 0px, #fff 0.87499px -9.96165px 0px, #fff 1.86512px -9.82453px 0px, #fff 2.83662px -9.58924px 0px, #fff 3.77978px -9.25815px 0px, #fff 4.68517px -8.83455px 0px, #fff 5.54374px -8.32267px 0px, #fff 6.34693px -7.72764px 0px, #fff 7.0867px -7.0554px 0px, #fff 7.75566px -6.31267px 0px, #fff 8.34713px -5.50686px 0px, #fff 8.8552px -4.64602px 0px, #fff 9.27478px -3.73877px 0px, #fff 9.6017px -2.79415px 0px, #fff 9.83268px -1.82162px 0px, #fff 9.96542px -0.830894px 0px;
}
.point-item .item-number span {
  display: flex;
  align-items: center;
  width: 130px;
  height: 100%;
  font-size: 20px;
  line-height: 1em;
  background: #9e8f76;
  color: #fff;
  padding-left: 56px;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
  margin-right: 28px;
  text-shadow: none;
}
.point-item .item-number span:before {
  content: "";
  width: 44px;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
}
.point-item .item-number span:after {
  content: "";
  border-left: solid 20px #9e8f76;
  border-top: solid 28px transparent;
  border-bottom: solid 28px transparent;
  display: block;
  position: absolute;
  left: calc(100% - 0px);
  top: 0;
}
.point-item-ttl {
  font-size: 32px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
  line-height: 1.7em;
  color: var(--color-primary);
  margin-bottom: 1em;
}
.point-item-detail {
  position: relative;
  margin-right: 0;
}
.point-item-detail-slider {
  position: relative;
  margin-right: 50px;
}
.point-item-detail-slider:after {
  content: "";
  width: 16px;
  height: 28px;
  background: url("../images/icon-arrow-right-01.png") center/contain no-repeat;
  position: absolute;
  left: calc(100% + 40px);
  top: calc(50% - 14px);
  display: none;
}
.point-item-detail-slider .slick-prev {
  display: none;
}
.point-item-detail-slider .slick-next {
  z-index: 8;
  content: "";
  width: 16px;
  height: 28px;
  background: url("../images/icon-arrow-right-01.png") center/contain no-repeat;
  position: absolute;
  left: calc(100% + 40px);
  top: calc(50% - 14px);
}
.point-item-detail-slider .slick-next:before {
  display: none;
}
.point-item-detail li {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6em;
  padding: 0.9em 1em;
  border-top: solid 1px #d6d5d5;
  position: relative;
}
.point-item-detail li:last-child {
  border-bottom: solid 1px #d6d5d5;
}

.point-item:nth-child(odd) {
  flex-direction: row-reverse;
}
.point-item:nth-child(odd) .point-item-img {
  margin-left: -80px;
  margin-right: 0;
}

.point-frame {
  max-width: 1100px;
  margin: 0 auto;
  background: #fff;
  position: relative;
}
.point-frame:after {
  content: "";
  width: calc(100% + 102px);
  height: 1px;
  background: var(--color-primary);
  position: absolute;
  bottom: 0;
  left: -51px;
}
.point-frame-inner {
  padding: 37px 55px 45px;
}
.point-frame-inner:before {
  content: "";
  width: 79px;
  height: calc(100% - 19px - 9px);
  border-left: solid 1px var(--color-primary);
  border-top: solid 1px var(--color-primary);
  position: absolute;
  left: 9px;
  top: 9px;
}
.point-frame-inner:after {
  content: "";
  width: calc(100% - 113px - 9px);
  height: calc(100% - 9px);
  border-right: solid 1px var(--color-primary);
  border-top: solid 1px var(--color-primary);
  position: absolute;
  right: 9px;
  top: 9px;
}
.point-frame .primary-ttl {
  font-size: 32px;
  line-height: 1.4em;
  margin-bottom: 0.85em;
  background: none;
  padding-bottom: 0;
}
.point-frame .primary-ttl .underline {
  color: inherit;
}

.solution-section {
  padding: 110px 0 120px;
}
.solution-section .inner {
  width: 1750px;
}
.solution-section .block-sales {
  padding: 47px 50px 100px;
  position: relative;
  z-index: 1;
  margin-bottom: 35px;
}
.solution-section .block-sales:before {
  content: "";
  width: 358px;
  height: 399px;
  background: url("../images/block-decor-01.png") center/contain;
  position: absolute;
  z-index: -2;
  left: -50px;
  top: -50px;
}
.solution-section .block-sales-bg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../images/solution-section-bg-01.jpg") center bottom/100% no-repeat #f3eee6;
}
.solution-section .block-sales-bg:after {
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 30px);
  border-right: solid 1px #9e8f76;
  border-bottom: solid 1px #9e8f76;
  position: absolute;
  z-index: 1;
  right: 10px;
  bottom: 10px;
}
.solution-section .block-inner {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
.solution-section .block-title {
  font-size: 32px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
}
.solution-section .block-inheritance {
  padding: 84px 50px 99px;
  position: relative;
  z-index: 1;
}
.solution-section .block-inheritance:before {
  content: "";
  width: 358px;
  height: 399px;
  background: url("../images/block-decor-01.png") center/contain;
  position: absolute;
  z-index: -2;
  right: -50px;
  bottom: -50px;
  transform: rotate(180deg);
}
.solution-section .block-inheritance-bg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../images/solution-section-bg-02.jpg") center bottom/cover;
}
.solution-section .block-inheritance-bg:after {
  content: "";
  width: calc(100% - 38px);
  height: calc(100% - 15px);
  border-left: solid 1px #9e8f76;
  border-bottom: solid 1px #9e8f76;
  position: absolute;
  z-index: 1;
  left: 10px;
  bottom: 10px;
}
.solution-section .block-inheritance .block-inner {
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}
.solution-section .block-inheritance .block-text {
  max-width: 510px;
  margin-bottom: 80px;
}
.solution-section .block-inheritance .block-text .block-title {
  margin-bottom: 23px;
}
.solution-section .block-inheritance .block-text .block-title img {
  display: block;
  margin-bottom: 15px;
  margin-left: 15px;
}
.solution-section .block-inheritance .block-item-wrapper {
  width: 575px;
}

.sale-item-wrapper {
  gap: 49px;
}
.sale-item-wrapper .sale-item {
  width: calc((100% - 98px) / 3);
}

.sale-item {
  background: #fff;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
  position: relative;
}
.sale-item-link {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.sale-item-text {
  padding: 1px 30px 28px;
  position: relative;
}
.sale-item-text:after {
  content: "";
  width: 40px;
  height: 40px;
  background: url("../images/icon-arrow-right-03.png") center/contain;
  position: absolute;
  right: 0;
  top: 22px;
}
.sale-item-text dl {
  padding: 25px 0 0 30px;
  position: relative;
  z-index: 1;
  background: #fff;
  margin: -25px 10px 20px -30px;
}
.sale-item-text dl:before {
  content: "";
  width: calc(100% - 18px);
  height: calc(100% - 9px);
  border: solid 1px #252221;
  background: #fff;
  border-bottom: none;
  position: absolute;
  z-index: -1;
  left: 9px;
  top: 9px;
}
.sale-item-text dl:after {
  content: "";
  width: calc(100% + 10px + 30px);
  height: 1px;
  background: #252221;
  position: absolute;
  z-index: -2;
  left: 0;
  bottom: 0;
}
.sale-item-text dl dt {
  font-size: 20px;
  font-weight: 500;
  color: #9e8f76;
  margin-bottom: 8px;
}
.sale-item-text dl dd {
  font-size: 26px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
}
.sale-item-text p {
  line-height: 1.85em;
}

.inheritance-item {
  background: #fff;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
  position: relative;
  display: flex;
}
.inheritance-item:after {
  content: "";
  width: 40px;
  height: 40px;
  background: url("../images/icon-arrow-right-03.png") center/contain;
  position: absolute;
  right: 0;
  bottom: 0;
}
.inheritance-item:not(:last-child) {
  margin-bottom: 34px;
}
.inheritance-item-link {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.inheritance-item dl {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: -54px;
  padding: 0 0 0 25px;
}
.inheritance-item dl:before {
  content: "";
  width: 55px;
  height: calc(100% - 20px);
  border: solid 1px #252221;
  background: #fff;
  border-right: none;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 10px;
}
.inheritance-item dl:after {
  content: "";
  width: 1px;
  height: 100%;
  background: #252221;
  position: absolute;
  z-index: -2;
  left: 54px;
  bottom: 0;
}
.inheritance-item dl dt {
  font-size: 18px;
  font-weight: 500;
  color: #9e8f76;
  margin-bottom: 8px;
}
.inheritance-item dl dd {
  font-size: 26px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
}

.guide-section {
  padding: 110px 0 120px;
  background: url("../images/guide-section-bg.jpg") center/cover;
}
.guide-section .primary-ttl {
  color: #fff;
  background-image: url("../images/title-decor-04.png");
  margin-bottom: 117px;
}
.guide-section .primary-ttl .underline {
  color: #fff;
  background: url("../images/title-decor-05.png") left bottom/15px auto repeat-x;
}

.guide-item-wrapper {
  gap: 41px;
}
.guide-item-wrapper .guide-item {
  width: calc((100% - 123px) / 4);
}

.guide-item {
  padding: 1px 24px 24px;
  position: relative;
  z-index: 1;
}
.guide-item:before, .guide-item:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
  border: solid 1px #383635;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
.guide-item:after {
  z-index: -2;
  border: none;
  background: url(../images/bg-pattern-04.png) left 5px top/15px repeat;
  top: 7px;
  left: 7px;
  box-shadow: none;
}
.guide-item-img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 156px;
  height: 159px;
  position: relative;
  z-index: 1;
  margin: -57px auto 23px;
  padding-top: 28px;
}
.guide-item-img:before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/guide-item-icon-bg-02.png") center/contain;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
}
.guide-item-img:after {
  content: "";
  width: 188px;
  height: 67px;
  background: url("../images/guide-item-icon-bg-01.png") center top/100% auto no-repeat;
  position: absolute;
  z-index: -2;
  left: 50%;
  top: -11px;
  transform: translateX(-50%);
}
.guide-item-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6em;
  font-family: var(--font-noto-serif);
  color: #937422;
  margin-bottom: 0.4em;
}
.guide-item-desc {
  margin-bottom: 1.5em;
}

.blog-section {
  padding: 103px 0 120px;
  background: url("../images/bg-pattern-05.png") left top/15px repeat #f9f9f9;
}
.blog-section .primary-ttl {
  margin-bottom: 1.4em;
}

.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

.blog-section-wrapper {
  margin-bottom: 32px;
}

.tab-title-wrapper {
  gap: 10px;
}
.tab-title-wrapper li {
  display: flex;
  width: 300px;
  height: 71px;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 24px;
  line-height: 1.4em;
  font-weight: 700;
  background: #dddddd;
  font-family: var(--font-noto-serif);
  cursor: pointer;
  position: relative;
}
.tab-title-wrapper li:before {
  content: "";
  border-top: solid 12px #9e8f76;
  border-left: solid 10px transparent;
  border-right: solid 10px transparent;
  position: absolute;
  top: 100%;
  left: calc(50% - 10px);
  display: none;
}
.tab-title-wrapper li.active {
  background: #9e8f76;
  color: #fff;
  pointer-events: none;
}
.tab-title-wrapper li.active:before {
  display: block;
}

.tab-content-wrapper {
  padding: 20px 48px 40px;
  background: #fff;
  min-height: 284px;
}

.post-shortcut {
  display: flex;
  text-decoration: none;
  padding: 24px 6px;
  border-bottom: solid 1px #dddddd;
  color: inherit;
}
.post-shortcut .post-date {
  font-size: 14px;
  font-weight: 500;
  width: 108px;
  flex-shrink: 0;
  margin-top: 0.3em;
}
.post-shortcut .post-cate {
  width: 110px;
  text-align: center;
  display: inline-block;
  padding: 0.25em 0.5em 0.2em;
  font-size: 14px;
  font-weight: 500;
  background: #937422;
  color: #fff;
  flex-shrink: 0;
  margin-right: 24px;
}
.post-shortcut .post-title {
  margin-top: 0.1em;
  font-weight: 500;
}

/*==========================================================================*/
/*                              F O O T E R                                 */
/*==========================================================================*/
.block-contact-info {
  padding-top: 115px;
  background: #f9f9f9;
}
.block-contact-info .block-contact-wrapper {
  padding: 1px 44px 64px;
  background: url("../images/bg-pattern-01.png") center top/auto repeat-x #413100;
  color: #fff;
  position: relative;
  z-index: 2;
  margin-bottom: -123px;
}
.block-contact-info .block-contact-wrapper h3 {
  font-size: 40px;
  font-weight: 700;
  font-family: var(--font-noto-serif);
  line-height: 1em;
  letter-spacing: 0.1em;
  margin-bottom: 1.15em;
  height: 174px;
  background: url("../images/contact-section-title-bg.png") center top/auto no-repeat;
  margin-top: -49px;
  color: #fff;
}
.block-contact-info .block-contact-wrapper h3 span {
  display: inline-block;
  padding: 91px 0 0;
  background: none;
}
.block-contact-info .block-contact-wrapper .block-desc {
  margin-bottom: 60px;
  font-size: 20px;
  letter-spacing: 0.1em;
}
.block-contact-info .block-bg {
  height: 680px;
  background: url("../images/contact-section-bg.jpg") no-repeat center center/cover;
}
.block-contact-info .group-contact-buttons {
  margin-bottom: 40px;
}

.group-contact-buttons {
  --gap: 16px;
  justify-content: center;
  gap: 16px;
}
.group-contact-buttons li {
  width: calc((100% - var(--gap) * 2) / 3);
}

.btn-contact {
  --color: #383635;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 120px;
  background: #fff;
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 1;
  color: var(--color);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.btn-contact:before, .btn-contact:after {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background: #fff;
  position: absolute;
}
.btn-contact:after {
  background: url("../images/bg-pattern-02.png") center top/auto repeat;
  z-index: -2;
  left: 5px;
  top: 5px;
}
.btn-contact .btn-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background: var(--color);
  border: solid 2px #fff;
  position: absolute;
  z-index: 2;
  left: calc(50% - 30px);
  top: -32px;
}
.btn-contact .btn-txt {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-top: 15px;
}
.btn-contact .btn-txt:before {
  content: "";
  width: calc(100% - 8px);
  height: calc(100% - 16px);
  border: solid 1px #252221;
  border-bottom: none;
  position: absolute;
  z-index: -1;
  top: 4px;
  left: 4px;
}
.btn-contact .btn-txt:after {
  content: "";
  width: calc(100% - 4px);
  height: 12px;
  border: solid 1px #252221;
  border-top: none;
  border-right: none;
  position: absolute;
  z-index: -1;
  bottom: 4px;
  left: 4px;
}
.btn-contact.btn-call {
  font-size: 32px;
  font-family: var(--font-roboto);
}
.btn-contact.btn-call .btn-txt {
  padding-top: 18px;
  font-size: 30px;
  flex-direction: column;
  line-height: 1.1;
}
.btn-contact.btn-call .btn-txt .f_sm{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.btn-contact.btn-line {
  --color: #06c755;
}
.btn-contact.btn-mail {
  --color: #937422;
  color: #795b00;
}

.target-area {
  background: #f3eee6;
  padding: 1px;
  display: flex;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
}
.target-area dt {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  background: var(--color-dark);
  padding: 0.65em 0.75em;
}
.target-area dd {
  font-size: 18px;
  color: #333333;
  font-weight: 700;
  padding: 5px 18px;
}
.target-area dd span {
  margin-left: 17px;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 500;
  transform: translateY(-2px);
  display: inline-block;
}

.f-info {
  padding: 80px 0 55px;
  align-items: center;
}
.f-info .site-info {
  margin: 0 auto;
  align-items: flex-end;
}
.f-info .site-info li {
  line-height: 1em;
}
.f-info .site-info .address {
  margin-right: 55px;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: 0.1em;
}

.f-map iframe {
  width: 100%;
  height: 380px;
}

.f-nav-block {
  padding: 45px 0;
  border-bottom: solid 1px var(--color-gray);
}
.f-nav .nav-block-ttl {
  margin: 0 0;
  width: 255px;
  padding: 8px;
  font-family: var(--font-noto-serif);
  line-height: 1em;
  font-weight: 700;
  font-size: 20px;
}
.f-nav-list {
  margin-top: 8px;
}
.f-nav-list li {
  line-height: 1.8em;
}
.f-nav-list li a {
  text-decoration: none;
  color: inherit;
  letter-spacing: 0.1em;
  padding-left: 23px;
  position: relative;
  display: inline-block;
}
.f-nav-list li a:before {
  content: "";
  width: 16px;
  height: 2px;
  background: #9e8f76;
  position: absolute;
  left: 0;
  top: 0.85em;
}
.f-nav-list.flex-wrap {
  column-gap: 40px;
  row-gap: 26px;
}
.f-nav-list:not(.flex-wrap) li:not(:last-child) {
  margin-bottom: 0.81em;
}

address {
  text-align: center;
  font-size: 14px;
  padding: 60px 15px;
  font-weight: 500;
  letter-spacing: 0.075em;
}
address a {
  color: inherit;
}


.h_wrap_txt {
  position: absolute;
  top: 3px;
  left: 450px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: .3s;
  padding: 0 5px 5px 5px;
}
.h_wrap_txt::before{content: '';position: absolute;width: 100%;height: calc(100% - 11px);left: 0;bottom: 0;border: 1px solid #333;}

.h_wrap_txt .t_01{
  font-size: 15px;
  line-height: 1.4;
  margin-bottom: 3px;
  background: #fff;
  position: relative;
  z-index: 2;
  padding: 0 3px 0 5px
}

.h_wrap_txt .t_02{
  display: flex;
  margin-bottom: 5px;
}

.h_wrap_txt .t_02 span{
  display: block;
  font-size: 12px;
  line-height: 1;
  padding: 2px 6px 3px;
  position: relative;
}

.h_wrap_txt .t_02 span::before{content: '・';font-size: 100%;display: inline-block;margin: 0 2px 0 -10px}
.h_wrap_txt .t_02 span:first-child::before{display: none;}

.h_wrap_txt .t_03{
  font-size: 13px;
  line-height: 1;
}

/*==========================================================================*/
/*                 F O R   S P E C I F I E D   B R O W S E R                */
/*==========================================================================*/

.h-contact-buttons li:has(a.btn-line),
.block-contact-info .group-contact-buttons li:has(a.btn-line){display: none;}

