@charset 'UTF-8';
/* ================================================================================================= */
/*!
 * CUSTOM STYLESHEET
 * 01. HTML Basic Settings
 * 02. Bootstrap Resetting
 * 10. Header Area
 * 11. Footer Area
 * 12. Home Area
 * 13. Main Area
 * 14. Sidebar Area
 * 20. Module Settings
 *!/
/* ================================================================================================= */

/*!
 * 01. HTML Basic Settings
 * ================================================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,500;1,500&display=swap');

html {
  font-kerning: none;
  line-break: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: left;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 100px;
}
@media (max-width: 575.98px) {
  html {
    font-size: 15px;
  }
}
@media (max-width: 399.98px) {
  html {
    font-size: 14px;
  }
}
body {
  overflow-x: hidden;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: calc(1em*80/40);
  /* background: url("../img/kozo-paper-512x512.png?ver=1.0.3") #f9f9f9; */
  background-color: #eeedec;
  color: #393d39;
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif;
  font-weight: 700;
  letter-spacing: 0.22em;
}

p, span {
  font-weight: 500;
  letter-spacing: 0.12em;
}

hr {
  margin: 2rem 0;
}

/*!
 * 02. Bootstrap Resetting
 * ================================================================================================= */

button:focus,
.navbar-toggler:focus {
  outline:0;
  box-shadow: none !important;
}

/* --- toggle button --- */
.navbar-toggler {
  overflow: hidden;
  position: relative;
  padding: 0px;
  width: 90px;
  height: 36px;
  color: #FFF;
  border: none;
  outline: none;
  box-sizing: border-box;
  border-radius: 0;
  background-color: #00533f;
}
.navbar-toggler:hover {
  color: #FFF;
  background-color: #393d39;
}
.navbar-toggler:hover .navbar-toggler-icon {
  background-color: #FFF;
}
.navbar-toggler-icon {
  position: absolute;
  display: block;
  left: 6px;
  width: 24px;
  height: 3px;
  background-image: none!important;
  background-color: #393d39;
  /* transition: ease .5s; */
}
.navbar-toggler-icon:nth-of-type(1) {top:9px;}
.navbar-toggler-icon:nth-of-type(2) {top:17px;}
.navbar-toggler-icon:nth-of-type(3) {top:25px;}

.navbar-toggler-title {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: #393d39;
  font-size: .7rem;
  font-weight: bold;
}
.navbar-toggler:hover .navbar-toggler-title {
  color: #FFF;
}

/*!
 * 10. Header Area
 * ================================================================================================= */

.header {
  z-index: 15;
  width: 100%;
}
.header .btn {
  transform: translateY(-2px);
}

.header .navbar-brand {
  max-width: 200px;
}

.offcanvas-title {
  max-width: 60vw;
}

.header.fadeDown .navbar-brand {
  max-width: 150px;
}

.header .navbar-brand a, .offcanvas-title a {
  display: block;
}

.header .telephone {
  text-align: center;
  line-height: 1.1;
}
.header .telephone i {
  color: #393d39;
  font-size: 1.5rem;
  opacity: .5;
}
.header .telephone .number {
  color: #393d39;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .5px;
}
.header .telephone .number:hover {
  color: #e6b422;
}
.header .telephone-remark {
  margin-bottom: .15rem;
  font-size: .8rem;
  line-height: 1.1;
}
.header .telephone-sns,
.header .telephone-sns i {
  font-size: 1rem;
}

.header .link-hover::after {
  content: "";
  display: block;
  border-bottom: 2px solid #866629;
  width: 0;
  position: relative;
  right: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.header .link-hover:hover::after {
  width: 100%;
}

.main-navigation {
  padding: .25rem 0;
}

.main-navigation .nav-link {
  position: relative;
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif;
  padding: .5rem 1rem;
  color: #393d39;
  font-weight: 700;
  font-size: 1rem;
}
.header.fadeDown .main-navigation .nav-link {
  padding: 0 1rem;
  font-size: .9rem;
}
@media (min-width: 1400px) {
  .main-navigation .nav-link {
    font-size: 1rem;
  }
}

.main-navigation .nav-link::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 1rem;
  background-color: rgba(100,100,100,.5);
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.main-navigation .nav-item:last-of-type .nav-link::before {
  display: none;
}

.main-navigation .nav-link::after {
  content: "";
  display: block;
  border-bottom: 1px solid #866629;
  width: 0;
  position: relative;
  right: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.main-navigation .nav-link:hover::after {
  width: 100%;
}
.main-navigation .navbar-brand {
  width: 160px;
  display: none;
}
.main-navigation .navbar-toggler {
  display: none;
}
.main-navigation.fadeDown .navbar-brand,
.main-navigation.fadeDown .navbar-toggler {
  display: block;
}
.main-navigation.fadeDown .nav-link {
  padding: .5rem ;
  font-size: 1rem;
}
@media (max-width: 1399.98px) {
  .main-navigation.fadeDown .nav-link {
    font-size: .9rem;
  }
}

.fadeDown {
  position: fixed !important;
  width: 100%;
  top: 0;
  z-index: 1020;
  background-color: rgb(255, 255, 255);
  opacity: 0;
  animation-name: fadeDown;
  animation-duration: .5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  box-shadow: 0px 5px 10px 0px rgba(100, 100, 100, 0.15);
}
@keyframes fadeDown {
  0% {
     opacity: 0;
     transform: translateY(-100px);
  }
  100% {
     opacity: 1;
     transform: translateY(0);
  }
}

/*!
 * 11. Footer Area
 * ================================================================================================= */
.footer {
  color: #393d39;
}
@media (max-width: 991.98px) {
  .footer .navbar-brand {
    text-align: center;
  }
}

.footer-top {
  padding-top: 3rem;
  padding-bottom: 3rem;
  color: #FFF;
  background-color: rgba(100,100,100,.15);
}
.footer-top .navbar-brand {
  margin-bottom: 3rem;
}

.footer-bottom {
  color: #FFF;
  background-color: rgba(138,103,68,.75);
}
.footer-bottom .copyright {
  margin: 0;
  padding: 1rem 0;
}
.footer-bottom .copyright p {
  margin: .25rem 0;
  padding: 0;
  text-align: center;
  color: #FFF;
  font-size: .8rem;letter-spacing: 1px;
}
.footer-bottom .copyright p a {
  text-decoration: underline;
}
.footer-bottom .copyright p a:hover {
  text-decoration: none;
}

.footer-navigation .nav-link {
  font-family: "Times", "Times New Roman", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "游明朝", "游明朝体", "YuMincho", "Yu Mincho", "HG明朝E", serif;
  position: relative;
  padding: .25rem .75rem;
  color: #393d39;
  /* font-weight: 700; */
  font-size: .9rem;
}
.footer-navigation .nav-link::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 1rem;
  background-color: rgba(100,100,100,.5);
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.footer-navigation .nav-link::after {
  content: "";
  display: block;
  border-bottom: 1px solid #393d39;
  width: 0;
  position: relative;
  right: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.footer-navigation .nav-link:hover::after {
  width: 100%;
}
@media (min-width: 768px) {
  .footer-navigation .nav-link {
    padding: .25rem 1rem;
    font-size: 1rem;
  }
}

/* Offcanvas
 * ----------------------------------------------------------------------- */

@media (min-width: 768px) {
  .offcanvas.offcanvas-start {
    width: 450px;
  }
}
.offcanvas-body {
  padding-top: 0;
}
.offcanvas-body .nav-item {
  border-bottom: 1px dashed rgba(255,255,255,.15);
}
.offcanvas-body .nav-link {
  padding: .25rem .75rem;
  font-weight: 700;
}
.offcanvas-body .nav-link:hover {
  background-color: rgba(255,255,255,.25);
}

/* Scroll Top
 * ----------------------------------------------------------------------- */
.back-to-top {
  overflow: hidden;
  position: fixed;
  padding: .75rem;
  bottom: 1rem;
  right: 0;
  line-height: 1;
  text-align: center;
  color: #FFF;
  z-index: 100;
  opacity: 0;
  transition: opacity .5s ease-out;
  background-color: #4d380f;
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
}
.back-to-top.view {
  opacity: 1;
}
.back-to-top:hover {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
  box-shadow: 0 0 30px rgba(255, 255, 255, .3);
}
.back-to-top i {
  font-size: 1.25rem;
}
.back-to-top span {
  display: block;
  margin-top: .25rem;
  font-size: .75rem;
  font-weight: 700;
}

/*!
 * 13. Main Area
 * ================================================================================================= */

.inner-white {
  padding: .75rem 1.5rem 0;
  background-color: #FFF;
}
@media (min-width: 768px) {
  .inner-white {
    padding: 1.5rem 3rem 0;
  }
}

/* Section
/* ------------------------------------------------------------------------------------------------- */
.section-container {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.section-header {
  text-align: center;
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.section-header h2 {
  margin-bottom: 0;
}

.section-header p {
  color: #866629;
  font-family: "Cormorant", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.25rem;
  letter-spacing: .1rem;
}

.section-sub-title {
  position: relative;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: calc(1rem* 10 / 5);
  line-height: calc(1em* 45 / 40);
}
@media (max-width: 767.98px) {
  .section-sub-title {
    font-size: calc(1rem* 10 / 6);
  }
}
.section-sub-title img {
  vertical-align: bottom;
}


.section-body {
  padding-top: .75rem;
  padding-bottom: .75rem;
}
.section-footer {
  padding-top: .75rem;
  padding-bottom: .75rem;
}
@media (min-width: 768px) {
  .section-container {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .section-header {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .section-body {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .section-footer {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl-over {
    max-width: 1100px;
  }
}

.section-separator-line {
  content: "";
  display: block;
  position: relative;
  height: 60px;
  /* background-image: url("../img/separator-line.png"); */
  background-position: center center;
  background-repeat: no-repeat;
}
.section-separator-line.up {
  top: -35px; 
}
.section-separator-line.under {
  bottom: -25px;
}

/* Page Section
/* ------------------------------------------------------------------------------------------------- */
.main-content-header {
  position: relative;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  /* background-color: rgba(255,255,255,.5); */
}
@media (min-width: 768px) {
  .main-content-header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.main-content-title {
  position: relative;
  z-index: 3;
}
.main-content-title-back {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 1rem;
  font-weight: 900;
  text-transform: uppercase;
  color: #00533f;
  z-index: 1;
}
.entry-page-title {
  margin: 0;
  padding-top: .75rem;
  padding-bottom: .25rem;
  font-weight: 700;
}
.entry-page-slug {
  padding-left: .15rem;
  color: #00533f;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: .1rem;
  text-transform: uppercase;
}
.entry-page-description {
  padding-bottom: .75rem;
  font-size: 1.15rem;
  font-weight: 700;
}
.entry-page-introduction {
  padding-left: .75rem;
  padding-right: .75rem;
}
@media (min-width: 768px) {
  .main-content-title-back {
    top: 3rem;
    left: 3rem;
    font-size: 4rem;
    color: #f9f9d9;
  }
}
@media (min-width: 1200px) {
  .main-content-title-back {
    font-size: 6rem;
  }
  .entry-page-title {
    padding-top: 1.5rem;
  }
  .entry-page-description {
    padding-bottom: 1.5rem;
  }
}

.main-content-body {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .main-content-body {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.single .entry-page-body a, .page .entry-page-body a  {
  color: #00533f;
  text-decoration: underline;
}
.single .entry-page-body a:hover, .page .entry-page-body a:hover {
  color: #333631;
  text-decoration: none;
}

.entry-page-body .inner-white h2:first-of-type::before {
  display: none;
}

.single .entry-page-header {
  margin-bottom: 1.5rem;
  position: relative;
}

.single .entry-page-header h2 {
  position: absolute;
  margin-bottom: 0;
  top: 50%;
  transform: translateY(-50%);
}

.single .entry-page-body {
  padding: 1.5rem;
  background-color: rgba(255,255,255,.5);
  border-radius: 1.5rem;
}
@media (min-width: 768px) {
  .single .entry-page-body {
    padding: 3rem;
  }
}

.single .entry-page-body h2 {
  position: relative;
  margin-top: 1.5rem;
  padding: .25rem 1rem;
  font-size: calc(1rem*10/7);
  line-height: calc(1em*56/40);
}
.single .entry-page-body h2::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .375rem;
  background-color: #00533f;
  border-radius: 99rem;
}

.single .entry-page-body h2:first-of-type::before {
  display: none;
}
/*
.single .entry-page-body h2::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .375rem;
  background-color: #00533f;
  border-radius: 99rem;
}
*/
.single .entry-page-body h3 {
  position: relative;
  margin-top: 2rem;
  padding-left: 1rem;
  font-size: calc(1rem*10/8);
  font-weight: 700;
  line-height: calc(1em*56/40);
}
.single .entry-page-body h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .375rem;
  background-color: #00533f;
  border-radius: 99rem;
}
.single .entry-page-body h4 {
  position: relative;
  margin-top: 2rem;
  padding-left: 1rem;
  font-size: calc(1rem*10/8);
  font-weight: 700;
  line-height: calc(1em*56/40);
}
.single .entry-page-body h4::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .275rem;
  background-color: #aaa;
  border-radius: 99rem;
}
.single .entry-page-body h5 {
  position: relative;
  margin-top: 2rem;
  padding: .5rem;
  font-size: calc(1rem*10/9);
  font-weight: 700;
  line-height: calc(1em*56/40);
  border-bottom: 1px solid #DDD;
}

.single .entry-page-body h6 {
  margin-top: 2rem;
  padding: .5rem;
  font-size: calc(1rem*10/9.5);
  font-weight: 700;
  line-height: calc(1em*56/40);
  border-bottom: 1px dashed #DDD;
}


.single .entry-page-body table {
  border-collapse: collapse; /* 枠線をつぶす */
  width: 100%; /* 任意：横幅を揃えたいとき */
}
.single .entry-page-body table th, .single .entry-page-body table td {
  border: 2px solid #FFF; 
  padding: 1rem;
  text-align: center;
  vertical-align: middle;
}
.single .entry-page-body table th {
  background-color: #efeee8;
}
.single .entry-page-body table td {
  background-color: #f8f8f7;
}

.single .entry-page-body table>tbody>tr:nth-of-type(odd)>* {
  box-shadow: inset 0 0 0 9999px rgba(150, 150, 150, 0.05);
}

.single blockquote {
  padding: 1rem;
  background-color: #FFF;
}
.single blockquote p:last-of-type {
  margin-bottom: 0;
}


.page .entry-page-body h2 {
  margin-top: 3rem;
  position: relative;
  padding: .75rem 1rem;
  font-size: calc(1rem*10/7);
  line-height: calc(1em*56/40);
  color: #FFF;
  background-color: #00533f;
  border-radius: .25rem;
}
.page .entry-page-body h2:first-of-type::before {
  display: none;
}
.page .entry-page-body h3 {
  position: relative;
  margin-top: 2rem;
  padding-left: 1rem;
  font-size: calc(1rem*10/8);
  font-weight: 700;
  line-height: calc(1em*56/40);
}
.page .entry-page-body h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .375rem;
  background-color: #00533f;
  border-radius: 99rem;
}
.page .entry-page-body h4 {
  position: relative;
  margin-top: 2rem;
  padding-left: 1rem;
  font-size: calc(1rem*10/8);
  font-weight: 700;
  line-height: calc(1em*56/40);
}
.page .entry-page-body h4::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .275rem;
  background-color: #aaa;
  border-radius: 99rem;
}
.page .entry-page-body h5 {
  position: relative;
  margin-top: 2rem;
  padding: .5rem;
  font-size: calc(1rem*10/9);
  font-weight: 700;
  line-height: calc(1em*56/40);
  border-bottom: 1px solid #DDD;
}

.page .entry-page-body h6 {
  margin-top: 2rem;
  padding: .5rem;
  font-size: calc(1rem*10/9.5);
  font-weight: 700;
  line-height: calc(1em*56/40);
  border-bottom: 1px dashed #DDD;
}



.dividing {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media (min-width: 768px) {
  .dividing {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.dividing::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 10rem;
  height: .375rem;
  border-radius: 99rem;
  transform: translateX(-50%);
  background-color: rgba(0,0,0,.15);
}

.related-article h2 {
  margin-bottom: 1.5rem;
  position: relative;
  padding-left: 1rem;
  font-size: calc(1rem*10/6);
  line-height: calc(1em*56/40);
}
.related-article h2::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: .375rem;
  background-color: #00533f;
  border-radius: 99rem;
}

.page-link-nav .prevpost h3, .page-link-nav .nextpost h3 {
  font-size: .9rem;
  border: none;
}
.page-link-nav .nextpost h3 {
  text-align: right;
}
.page-link-nav .prevpost .card-body {
  padding: .75rem .75rem .75rem 0;
}
.page-link-nav .nextpost .card-body {
  padding: .75rem 0 .75rem .75rem;
}
.page-link-nav .card-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.page-link-nav .card,
.page-link-nav .card-thumbnail,
.page-link-nav .card-thumbnail img {
  border-radius: 0;
}

/* Content : Home
/* ------------------------------------------------------------------------------------------------- */
/* hero */

.hero-content {
  position: relative;
  overflow: hidden;
  height: 90vh;
  width: 100%;
  background-image: url("../img/hero/bg-hero.jpg?ver=1.1");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom right;
}
.hero-content .textbox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 50;
  text-align: center;
}

.hero-content .textbox img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  .hero-content {
    height: 60vh;
  }
}

/* about */
.home .about {
  position: relative;
}
.about .about-text {
  text-align: center;
  font-size: 1rem;
  line-height: 3;
}
.about .photo-section {
  display: flex;
  text-align: center;
  justify-content: center;
}
.about .photo-section .leftbox {
  max-width: 25%;
}
.about .photo-section .rightbox {
  padding-top: 1.5rem;
  max-width: 25%;
}
@media (max-width: 767.98px) {
  .about .about-text {
    font-size: 1.1rem;
  }
  .about .photo-section .leftbox {
    max-width: 40%;
  }
  .about .photo-section .rightbox {
    padding-top: 1.5rem;
    max-width: 40%;
  }
}
@media (min-width: 1200px) {
  .about .photo-section .leftbox {
    position: absolute;
    max-width: 20%;
    left: 40px;
    bottom: 40px;
  }
  .about .photo-section .rightbox {
    position: absolute;
    max-width: 20%;
    right: 40px;
    top: 40px;
  }
}

/* menu */

.price-headline {
  text-align: center;
  padding-top: .5rem;
  line-height: 1;
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .price-headline {
    text-align: left;
  }
}
@media (min-width: 992px) {
  .home .menu {
    /* background: url("../img/top-left-corner.png") no-repeat top left; */
  }
}

@media (min-width: 992px) {
  .home .bridal {
    /* background: url("../img/bottom-right-corner.png") no-repeat bottom right; */
  }
}

/* reserve */
/* レスポンシブにしたい幅は親やコンテナで制御 */
.frame {
  max-width: 800px;      /* 任意 */
  margin-inline: auto;
}

/* 9スライスでフレーム化 */
.frame {
  /* フレームの見かけの太さ（画像スライス厚に合わせる） */
  --frame-thickness: 32px; /* 実装時に微調整 */

  border: var(--frame-thickness) solid transparent;
  /* 画像はお手元のフレーム素材に差し替え */
  border-image-source: url(../img/frame-360.png);
  /* ソース画像のスライス位置（pxはソース画像基準）。中央も塗るなら fill */
  border-image-slice: 64 fill;
  /* 実際の表示上の太さ。省略時は border-width が使われる */
  border-image-width: var(--frame-thickness);
  /* 伸ばし方：角を保ちつつ辺を繰り返し配置するなら round、単純伸長は stretch */
  border-image-repeat: round;

  /* 角丸の素材にも対応させたい場合は overflow を用意 */
  box-sizing: border-box;
}

/* 中身の余白 */
.frame__inner {
  padding: clamp(16px, 3vw, 32px);
}

/* 画像の解像度別（Retina）に差し替える例 */
@media (min-resolution: 2dppx) {
  .frame {
    border-image-source: url(/img/frame-360@2x.png);
    /* @2xでも slice 値はソース画像のpxに合わせて倍に（例：128） */
    border-image-slice: 128 fill;
  }
}


/* Content : Typography
/* ------------------------------------------------------------------------------------------------- */
.main-content h2 {
  font-weight: 700;
  font-size: calc(1rem*10/8);
  line-height: calc(1em*48/40);
}
.main-content .title-icon {
  margin-right: .25rem;
  color: #00533f;
  font-size: 1.75rem;
}
@media (min-width: 768px) {
  .main-content h2 {
    font-size: calc(1rem*10/6);
    line-height: calc(1em*45/40);
  }
  .main-content .title-icon {
    font-size: 2.25rem;
  }
}

.single .main-content .entry-page-body a {
  font-weight: 700;
  color: #e6b422;
  text-decoration: none;
  padding-bottom: 1px;
  background: linear-gradient(#e6b422,#e6b422) 0 100%/100% 1px no-repeat;
  background-position: 100% 100%;
  transition: background .4s cubic-bezier(.4,.1,.3,1);
}

@media(hover: hover) {
  .single .main-content .entry-page-body a:hover {
    background-size:0 1px
  }
}

a.link-underline {
  font-weight: 700;
  color: #e6b422;
  text-decoration: none;
  padding-bottom: 1px;
  background: linear-gradient(#e6b422,#e6b422) 0 100%/100% 1px no-repeat;
  background-position: 100% 100%;
  transition: background .4s cubic-bezier(.4,.1,.3,1);
}

@media(hover: hover) {
  a.link-underline:hover {
    background-size:0 1px
  }
}

.marker-yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(72%, transparent), color-stop(0%, #f9f4a7));
  background: linear-gradient(transparent 72%, #f9f4a7 0%);
}

/* Content : Tables
/* ------------------------------------------------------------------------------------------------- */

.main-content .table>:not(caption)>*>* {
  padding: .5rem .75rem;
}


.main-content .table .price {
  white-space: nowrap;
}
.main-content .table th {
  background-color: #efeee8;
}
.main-content .table td {
  background-color: #f8f8f7;
}
.main-content .table thead th {
  background-color: #dddcd6;
}
@media (min-width: 992px) {
  .main-content .table th {
    text-align: center;
    white-space: nowrap;
  }
  .main-content .table tbody th {
    /* min-width: 10vw; */
  }
}
.main-content .table .price .out-tax {
  color: #393d39;
  font-weight: 900;
  font-size: 1.25rem;
}
.table-bordered>:not(caption)>* {
  border-color: #FFF;
  border-width: 2px 0;
}
.main-content .table-bordered>:not(caption)>*>* {
  border-color: #FFF;
  border-width: 0 2px;
}
.main-content .table-striped>tbody>tr:nth-of-type(odd)>* {
  --bs-table-bg-type: rgba(150,150,150,0.05);
}
@media (max-width: 991.98px) {
  .main-content .table-responsive-lg .table {
    min-width: 1200px;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-block th {
    display: block;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    padding-top: 2.0rem;
    padding-bottom: 1.0rem;
  }
  .table-responsive-block td {
    display: block;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    padding-top: 1.0rem;
    padding-bottom: 2.0rem;
  }
  .main-content .table .price {
    vertical-align: middle;
  }
}

@media (max-width: 575.98px) {
  .in-tax {
    margin-left: -.5rem;
    font-size: .8rem;
  }
}
@media (max-width: 399.98px) {
  .main-content .table th, .main-content .table td {
    font-size: .85rem;
    line-height: 1.5rem;
    letter-spacing: 0;
  }
  .main-content .table .price .out-tax {
    font-size: 1.1rem;
  }
  .in-tax {
    font-size: .75rem;
  }
}

.price-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

/* 見出し列（サービス名） */
.price-table th {
  white-space: nowrap;
  text-align: left;
  padding: .5rem 1rem;
  line-height: 1;
}
.price-table td {
  line-height: 1;
}
.price-table td:nth-of-type(1){
  display: block;
  overflow: hidden;
  text-align: right;
  padding: .5rem 0 .5rem .5rem;
  color: #a8b5a0;
  font-size: 1rem;
  letter-spacing: -1px;
  height: 1.5rem;
}
.price-table td:nth-of-type(2){
  margin-right: .25rem;
  text-align: right;
  white-space: nowrap;
  width: 7rem;
  padding: .5rem 1rem;
  font-size: 1.5rem;
  font-weight: 500;
}
.price-table .unit {
  font-size: .9rem;
}

/* Content : Form
/* ------------------------------------------------------------------------------------------------- */
.row-group {
  padding-top: 1.8rem;
  padding-bottom: 1.8rem;
  border-bottom: 1px dotted rgba(0,0,0,.15);
}
.col-form-label {
  font-weight: 700;
}
.row-group .agreement, .row-group .agreement span {
  font-weight: 700;
}
.row-group .agreement a {
  font-weight: 700;
  color: #e6b422;
  text-decoration: none;
  padding-bottom: 1px;
  background: linear-gradient(#e6b422,#e6b422) 0 100%/100% 1px no-repeat;
  background-position: 100% 100%;
  transition: background .4s cubic-bezier(.4,.1,.3,1);
}

@media(hover: hover) {
  .row-group .agreement a:hover {
    background-size:0 1px
  }
}

.form-control, .form-check-input {
  background-color: #f6f6f6;
}

.form-check-input {
  vertical-align: text-top;
}

/* Content : Breadcrumbs
/* ------------------------------------------------------------------------------------------------- */
.breadcrumbs {
  line-height: 1;
  font-size: .8rem;
}
.breadcrumbs-body {
  padding: 1.5rem 0;
  border-top: 1px solid rgba(0,0,0,.15);
}
.breadcrumbs-body span {
  vertical-align: baseline;
}
.breadcrumbs-body i {
  vertical-align: top;
}
.breadcrumbs-body i.separated {
  color: rgba(0,0,0,.3);
  vertical-align: baseline !important;
}
.breadcrumbs-body a {
  font-size: .8rem;
  line-height: 1;
  text-decoration: underline;
}
.breadcrumbs-body a:hover {
  text-decoration: none;
}
@media (max-width: 991.98px) {
  .breadcrumbs {
    display: none;
  }
}


/* PageNavi */
/* ----------------------------------------------------------------------- */
.wp-pagenavi {
  clear: both;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  text-align: center;
}
.wp-pagenavi a {
  color: #FFF !important;
  text-decoration: none !important;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  margin: 2px 5px;
  padding: 8px 10px;
  text-decoration: none;
  background: none var(--main-dark-color, #010101);
  color: #FFF;
  border-radius: 4px;
}
.wp-pagenavi .current,
.wp-pagenavi a:hover {
  color: #FFF !important;
  background: none #00533f;
}


/* 
   Sidebar
   -------------------------- */
.sidebar {
  min-width: 200px;
}
.sidebar .widget {
  margin-bottom: 1.5rem;
}
.sidebar .widget-title {
  margin: 0;
  padding: .75rem .5rem;
  font-size: 1.15rem;
  color: #FFF;
  background-color: rgba(138,103,68,.75);
}
.sidebar .widget ul, .sidebar .widget ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidebar .widget ul li {
  position: relative;
}
.sidebar .widget ul li:not(:first-child) {
  border-top: 1px dotted rgba(0,0,0,0.25);
}
.sidebar .widget ul li a {
  position: relative;
  display: block;
  padding: .75rem .75rem .75rem 1.25rem;
  font-size: .9rem;
  font-weight: 500;
  background-color: #FFF;
  text-decoration: none;
}
.sidebar .widget ul li a:hover {
  background-color: #f0f0f0;
}
.sidebar .widget ul li a::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solidアイコンの場合は900 */
  position: absolute;
  left: .5rem;
  top: 50%;
  transform: translateY(-50%);
  color: inherit;
}
.sidebar .widget ul li li a::before {
  content: "\f101";
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* solidアイコンの場合は900 */
  position: absolute;
  left: .5rem;
  top: 50%;
  transform: translateY(-50%);
  color: inherit;
}

.sidebar .widget .searchform {
  padding: 1rem;
  background-color: #FFF;
  text-align: center;
}
.sidebar .widget .searchform #s {
  width: 100%;
}
.searchform #s {
  margin-bottom: .75rem;
  padding: .375rem .75rem;
  border: 1px solid #d2d3d4;
  border-radius: .375rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-clip: padding-box;
}
#searchsubmit {
  display: block;
  margin: 0 auto;
  padding: .25rem .75rem;
  color: #FFF;
  font-size: .9rem;
  font-weight: 500;
  background-color: #567d7a;
  border-color: #567d7a;
  border-radius: .375rem;
  border: none;
  box-shadow: 0 4px 0 #325c5e;
  transition: none;
}
#searchsubmit:hover {
  box-shadow: none;
  transform: translateY(4px);
}


/*!
 * 20. Module Settings
 * ================================================================================================= */

/* Components : Badges
/* ------------------------------------------------------------------------------------------------- */
.badge {
  margin: .15rem;
  padding: .375rem .75rem;
  color: #393d39;
  font-size: .75rem;
  background-color: #f0f0f0;
  border-radius: 99rem;
}

/* Components : Buttons
/* ------------------------------------------------------------------------------------------------- */

.btn {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 700;
  border-radius: 10rem;
  border-width: 2px;
}
.btn-lg {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.btn-group-lg>.btn, .btn-lg {
  --bs-btn-font-size: 1.1rem;
}
@media (min-width: 768px) {
  .btn-group-lg>.btn, .btn-lg {
    --bs-btn-font-size: 1.25rem;
  }
}

.btn-primary {
  color: #FFF;
  background-color: #00533f;
  border-color: #00533f;
}
.btn-primary:hover {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
  box-shadow: 0 0 30px rgba(255, 255, 255, .3);
}
.card-blog:hover .btn-primary {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
  box-shadow: 0 0 30px rgba(255, 255, 255, .3);
}

.btn-outline-primary {
  color: #393d39;
  background-color: #FFF;
  border-color: #00533f;
}
.btn-outline-primary:hover {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
}

.btn-secondary {
  color: #FFF;
  background-color: #4d380f;
  border-color: #4d380f;
}
.btn-secondary:hover {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
  box-shadow: 0 0 30px rgba(255, 255, 255, .3);
}
.btn-outline-secondary {
  color: #4d380f;
  background-color: transparent;
  border-color: #4d380f;
  border-width: 1px;
}
.card-blog:hover .btn-outline-secondary,
.btn-outline-secondary:hover {
  color: #FFF;
  background-color: #393d39;
  border-color: #393d39;
  box-shadow: 0 0 30px rgba(255, 255, 255, .3);
}

.btn-submit {
  color: #FFF !important;
  background-color: #00533f;
  border-color: #00533f;
  text-decoration: none !important;
  line-height: inherit;
}
.btn-submit:hover {
  background-color: #333631;
  border-color: #333631;
}

/* Components : Cards
/* ------------------------------------------------------------------------------------------------- */

.card {
  overflow: hidden;
  border: none;
  border-radius: .5rem;
  background-color: transparent;
}
.card figure {
  margin: 0;
}
@media (max-width: 599.98px) {
  .card-body {
    padding: .75rem;
  }
}
.card-img-top {
  height: auto;
  border-radius: 0;
}
.card-body {
  background-color: #FFF;
}
.card-footer {
  padding-top: 0;
  padding-bottom: 1rem;
  background-color: #FFF;
  border: none;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
}
.card-footer:last-child {
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

.card-blog {
  position: relative;
  height: 100%;
  background-color: rgba(255,255,255,.5);
}
.card-blog::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 30px rgba(49, 49, 49, .3);
  opacity: 0;
  transition: opacity .3s cubic-bezier(.4,.1,.3,1);
  border-radius: .5rem;
}
.card-blog:hover::before { opacity:1; }

.card-blog-media {
  padding-top: 56.25%;
  background-position: 50%;
  background-size: cover;
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
}

.card-blog .card-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 700;
  font-size: calc(1rem*10/10);
  line-height: calc(1em*58/40);
}
.card-blog-link::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.card-blog .card-text {
  margin-bottom: .5rem;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: calc(1rem*10/12);
  line-height: calc(1em*66/40);
}
@media (max-width: 499.98px) {
  .card-blog .card-text {
    display: none;
  }
}
.card-blog .card-footer .btn {
  font-size: .9rem;
}

.card-icon {
  margin-left: auto;
  margin-right: auto;
  max-width: 100px;
}

/* Utilities : Colors 
/* ------------------------------------------------------------------------------------------------- */

.text-red {
  color: #c9171e;
}
.text-line-color {
  color: #06C755;
}
.bg-line-color {
  background-color: #06C755;
}
.text-signal-color {
  color: #3a76f0;
}
.bg-signal-color {
  background-color: #3a76f0;
}

.text-primary {
  color: #dad410 !important;
}
.bg-primary {
  background-color: #00533f !important;
}

.text-secondary {
  color: #4d380f !important;
}
.bg-secondary {
  background-color: #4d380f !important;
}

a:hover .text-primary, a:hover .text-secondary {
  color: #FFF;
}

.bg-light {
  background-color: rgba(255,255,255,.5) !important;
}


/* Utilities : Sizing 
/* ------------------------------------------------------------------------------------------------- */
.w-5r {
  width: 5rem;
}
.w-6r {
  width: 6rem;
}
.w-7r {
  width: 7rem;
}
.w-8r {
  width: 8rem;
}
.w-9r {
  width: 9rem;
}
.w-10r {
  width: 10rem;
}
.w-10r {
  width: 10rem;
}
.w-11r {
  width: 11rem;
}
.w-12r {
  width: 12rem;
}
.w-13r {
  width: 13rem;
}