@charset "UTF-8";
/* ========================================================================== 
[Table of contents]
01. Color set
02. Fonts settings
03. Basic settings
05. Header styles
06. Page styles
07. Sidebar styles
08. Footer styles
09. Module set
10. Responsive
11. Wordpress

========================================================================== */
/*** 01. Color set
========================================================================== */
/*-- Variable declaration --*/
/*-- text color --*/
.text-red {
  color: #c9171e; }

/*-- background color --*/
.bg-dark-gray {
  background-color: #222; }

/* ======================================================================= */
/*** 02. Fonts settings
========================================================================== */
body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

h1, h2, h3, h4, h5, h6 {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

p, span, ul, ol, dl, li {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

a {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }

h1, .h1 {
  font-size: 2.25rem !important; }

h2, .h2 {
  font-size: 2rem !important; }

h3, .h3 {
  font-size: 1.75rem !important; }

h4, .h4 {
  font-size: 1.5rem !important; }

h5, .h5 {
  font-size: 1.25rem !important; }

h6, .h6 {
  font-size: 1rem !important; }

/* WEB FONT SET */
@font-face {
  font-family: "Dita Sweet";
  src: url("../webfonts/dita-sweet.eot");
  src: url("../webfonts/dita-sweet.eot?#iefix") format("embedded-opentype"), url("../webfonts/dita-sweet.woff2") format("woff2"), url("../webfonts/dita-sweet.woff") format("woff"), url("../webfonts/dita-sweet.ttf") format("truetype"), url("../webfonts/dita-sweet.svg#Dita Sweet") format("svg"); }
.DitaSweet {
  font-family: 'Dita Sweet'; }

/* ======================================================================= */
/*** 03. Basic settings
========================================================================== */
html {
  background: none #FFF;
  line-height: 1.5;
  font-size: 16px;
  color: #6a3906; }

body {
  margin: 0;
  padding: 0;
  color: #6a3906;
  background-image: url("../images/background-01.png");
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6, p {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: .011em; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, p {
  line-height: 1.5; }

p {
  /* transform:rotate(0.001deg); */ }

::selection {
  background: #555;
  color: #FFF; }

::-moz-selection {
  background: #555;
  color: #FFF; }

a {
  color: #6a3906;
  text-decoration: underline;
  transition: all .5s; }

a:hover {
  color: #555;
  text-decoration: transparent; }

a img {
  opacity: 1;
  transition: opacity .8s; }

a:hover img {
  opacity: 0.8; }

/* ======================================================================= */
/*** 05. Header styles
========================================================================== */
/* header
-------------------------------------------------------------------- */
.header .site-description {
  margin-top: 120px;
  margin-bottom: 30px; }

.header .site-description p {
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  color: #6a3906; }

.header .logo {
  margin-top: 60px;
  margin-bottom: 30px; }

.header .logo a {
  display: block; }

.header .tel {
  margin-top: 120px;
  margin-bottom: 30px; }

.header .social {
  margin-top: 124px;
  margin-bottom: 30px;
  padding-left: 15px;
  padding-right: 15px;
  font-size: 2rem; }

.header .social .line a:hover {
  color: #00C300; }

.header .mobile-menu-button {
  margin-top: 120px; }

.primary-menu .nav-link,
.mobile-menu .nav-link {
  position: relative;
  display: block;
  font-family: 'Dita Sweet';
  text-decoration: none;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold; }

.primary-menu .nav-link::before {
  opacity: 0;
  margin-left: -0.5rem;
  position: absolute;
  left: 50%;
  bottom: -2rem;
  content: "\f0d8";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  transition: all .5s; }

.primary-menu .nav-link:hover::before {
  opacity: 0.5;
  bottom: -1rem;
  color: #f4b0a6; }

.primary-menu .nav-link:hover,
.mobile-menu .nav-link:hover {
  color: #f4b0a6; }

.primary-menu .nav-link span,
.mobile-menu .nav-link span {
  display: block;
  font-size: 0.75rem;
  font-weight: normal;
  letter-spacing: 0.1rem; }

.mobile-menu .nav-item {
  border-bottom: 1px dotted #955f27; }

/* ======================================================================= */
/*** 06. Page styles
========================================================================== */
.site {
  position: relative;
  overflow-x: hidden;
  width: 100%;
  height: auto; }

.main .justify {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center; }

.entry-header {
  height: 410px;
  background-image: url("../images/bg-concept.png");
  background-position: center center;
  background-repeat: no-repeat; }

.headline {
  position: relative;
  margin-bottom: 2rem;
  font-family: 'Dita Sweet';
  text-align: center;
  color: #6a3906;
  font-weight: bold; }

.headline span {
  display: block;
  padding: 0.5rem 0;
  font-size: 0.75rem; }

.headline::before {
  content: "";
  margin-left: -25px;
  position: absolute;
  width: 50px;
  height: 1px;
  left: 50%;
  bottom: 2rem;
  background-color: #6a3906; }

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

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

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

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

/* decoration
-------------------------------------------------------------------- */
.decoration-corner-right {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 600px;
  height: 80px;
  background-image: url("../images/decoration-corner-right.png");
  background-repeat: no-repeat;
  background-position: bottom left; }

.decoration-ribbon {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 254px;
  height: 720px;
  background-image: url("../images/decoration-ribbon.png");
  background-repeat: no-repeat;
  background-position: bottom right; }

.decoration-leaf-01 {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -30px;
  width: 480px;
  height: 290px;
  background-image: url("../images/decoration-leaf-01.png");
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 2000; }

.decoration-ribbon-02 {
  content: "";
  position: absolute;
  left: 0;
  top: -445px;
  width: 320px;
  height: 590px;
  background-image: url("../images/decoration-ribbon-02.png");
  background-repeat: no-repeat;
  background-position: bottom right; }

.decoration-pearl {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 190px;
  height: 490px;
  background-image: url("../images/decoration-pearl.png");
  background-repeat: no-repeat;
  background-position: bottom left; }

.decoration-lace {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 240px;
  height: 580px;
  background-image: url("../images/decoration-lace.png");
  background-repeat: no-repeat;
  background-position: bottom right; }

/* slider
-------------------------------------------------------------------- */
.slider {
  margin-bottom: 80px; }

/* eyebrow
-------------------------------------------------------------------- */
.eyebrow {
  margin-top: 80px;
  margin-bottom: 80px;
  background-image: url("../images/bg-lace-line.png");
  background-repeat: repeat-x;
  background-position: center bottom; }

/* space
-------------------------------------------------------------------- */
.space {
  position: relative;
  margin-top: 80px;
  margin-bottom: 80px;
  background-image: url("../images/bg-lace-line.png");
  background-repeat: repeat-x;
  background-position: center bottom; }

/* concept
-------------------------------------------------------------------- */
.concept {
  margin-top: 80px;
  margin-bottom: 80px;
  background-image: url("../images/bg-concept.png");
  background-position: center center;
  background-repeat: no-repeat; }

/* service
-------------------------------------------------------------------- */
.service {
  position: relative;
  margin-top: 80px;
  margin-bottom: 80px; }

.service .service-box {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  text-align: center; }

.service .service-box h3 {
  font-family: "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif; }

/* voice
-------------------------------------------------------------------- */
.voice .archive-box {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border: 1px solid #6a3906; }

/* archive
-------------------------------------------------------------------- */
.home .archive {
  margin-top: 80px;
  margin-bottom: 80px; }

.archive .archive-box {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border: 1px solid #6a3906; }

.archive .archive-box .post {
  padding: 1rem;
  border-bottom: 1px dotted #955f27; }

.archive .archive-box .post p {
  margin: 0.25rem 0; }

.archive .archive-box .post .date {
  font-size: 0.75rem; }

.archive .post-list .post {
  padding: 1rem;
  border-bottom: 1px dotted #955f27; }

.archive .post-list .post p {
  margin: 0.25rem 0; }

.archive .post-list .post .date {
  font-size: 0.75rem; }

.article-navigation {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #955f27;
  font-size: 0.9rem; }

/* single
-------------------------------------------------------------------- */
.single h3 {
  border-bottom: 1px solid #955f27; }

.single .main-contents p {
  line-height: 1.75rem; }

/* page
-------------------------------------------------------------------- */
.section-headline {
  padding: 0.5rem;
  font-family: 'Dita Sweet';
  font-weight: bold;
  color: #6a3906;
  border-bottom: 1px solid #6a3906; }

.section-headline span {
  float: right;
  padding: 0 0.5rem;
  font-size: 0.75rem;
  line-height: 3.5rem; }

/* ======================================================================= */
/*** 07. Sidebar styles
========================================================================== */
.sidebar .widget {
  margin-bottom: 2rem; }

.sidebar .widget-title {
  margin: 0;
  padding: 0.5rem;
  font-family: 'Dita Sweet';
  text-align: center;
  color: #FFF;
  font-size: 1rem !important;
  font-weight: bold;
  background-color: #6a3906; }

.sidebar .widget ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.sidebar .widget ul li a {
  display: block;
  padding: 0.5rem 1rem;
  color: #6a3906;
  text-decoration: none;
  border-bottom: 1px dotted #6a3906; }

.sidebar .widget ul ul li a {
  padding-left: 2.25rem; }

.sidebar .widget ul li a::before {
  margin-right: 0.25rem;
  content: "\f101";
  font-family: "Font Awesome 5 Free";
  font-weight: 900; }

.sidebar .widget ul ul li a::before {
  margin-right: 0.25rem;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900; }

.sidebar .widget ul li a:hover {
  color: #FFF;
  background-color: #955f27; }

.sidebar .searchform {
  margin-top: 0.5rem;
  text-align: center; }

.sidebar .screen-reader-text {
  display: none; }

/* ======================================================================= */
/*** 08. Footer styles
========================================================================== */
/* footer menu
-------------------------------------------------------------------- */
.footer-menu {
  margin-top: 60px;
  margin-bottom: 30px; }

.footer-menu .nav-item {
  border-right: 1px solid #6a3906; }

.footer-menu .nav-item:last-child {
  border-right: none; }

.footer-menu .nav-link {
  display: block;
  padding: 0.25rem 1rem;
  text-decoration: none; }

.footer-menu .nav-link:hover {
  color: #f4b0a6; }

/* footer
-------------------------------------------------------------------- */
.footer {
  padding-top: 60px;
  padding-bottom: 15px;
  text-align: center;
  color: #FFF;
  background-image: url("../images/background-02.png"); }

.footer .logo {
  margin-bottom: 1rem; }

.footer .copyright {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #FFF;
  font-size: 0.75rem; }

/* fixed-nav
-------------------------------------------------------------------- */
.fixed-nav {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100vw;
  min-width: 100%;
  background-color: rgba(0, 0, 0, 0.8); }

.fixed-nav a {
  display: block;
  padding: 0.25rem;
  color: #FFF;
  text-decoration: none;
  font-size: 2.5rem; }

.fixed-nav a span {
  display: block;
  margin: 0.25rem auto;
  font-size: 0.75rem; }

/* page-to-top
-------------------------------------------------------------------- */
.page-to-top {
  position: fixed;
  text-align: center;
  bottom: 120px;
  right: 0;
  z-index: 1500;
  color: #FFF;
  font-size: 0.75rem; }

.page-to-top a {
  display: block;
  padding-top: 0.5rem;
  color: #FFF;
  background-color: rgba(0, 0, 0, 0.8);
  width: 60px;
  height: 60px;
  line-height: 1;
  text-decoration: none; }

.page-to-top a span {
  display: block; }

.page-to-top a:hover {
  background-color: rgba(0, 0, 0, 0.7); }

/* ======================================================================= */
/*** 09. Module set
========================================================================== */
.visually-hidden {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0; }

/* card
---------------------------------------------*/
.card {
  border: none; }

.card .number {
  position: absolute;
  width: 2rem;
  height: 2rem;
  color: #FFF;
  line-height: 2rem;
  text-align: center;
  font-family: 'Dita Sweet';
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100; }

.card .card-title {
  font-size: 1.25rem !important; }

/* button
---------------------------------------------*/
.button {
  display: inline-block;
  margin: 0 auto;
  padding: 1rem;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  background-color: #222; }

.button:hover {
  color: #FFF;
  background-color: #555; }

.button::before {
  content: '\f35a';
  margin-right: 0.5rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 900; }

.more-link {
  margin-top: 1.5rem;
  text-align: center; }

.more-link a {
  display: inline-block;
  margin: 0 auto;
  padding: 0.5rem 0.75rem;
  color: #FFF;
  text-decoration: none;
  background-color: #6a3906; }

.more-link a:hover {
  background-color: #462a0c; }

/* embed
---------------------------------------------*/
.googlemap {
  margin: 0 auto 1rem;
  position: relative;
  width: 100%;
  padding-top: 56.25%; }

.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important; }

.movie-box {
  margin: 0 auto 1rem;
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
  text-align: center; }

.movie-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* table
---------------------------------------------*/
table.normal {
  margin: 0 auto 1rem;
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px; }

table.normal tr {
  background-color: #FFF; }

table.normal tr:nth-child(odd) {
  background-color: #f9f9f9; }

table.normal th {
  white-space: nowrap;
  padding: 0.5rem 0.75rem;
  color: #FFF;
  background-color: #6a3906;
  text-align: center; }

table.normal td {
  padding: 0.5rem 0.75rem;
  text-align: left; }

table.normal p {
  margin: 5px 0; }

table.price {
  margin: 0 auto 1rem;
  width: 100%; }

table.price tr {
  border-bottom: 1px dotted #6a3906; }

table.price tr:last-of-type {
  border-bottom: none; }

table.price th {
  white-space: nowrap;
  padding: 1rem; }

table.price th .description {
  display: block;
  font-weight: normal; }

table.price td {
  padding: 1rem;
  white-space: nowrap; }

table.price .usual {
  display: block;
  color: #955f27;
  font-size: 0.85rem; }

table.price .usual::before {
  content: '通常';
  margin-right: 0.25rem; }

/* ======================================================================= */
/*** 10. Responsive
========================================================================== */
/* responsive
-------------------------------------------------------------------- */
@media screen and (max-width: 1400px) {
  .decoration-ribbon,
  .decoration-leaf-01,
  .decoration-ribbon-02,
  .decoration-pearl,
  .decoration-lace {
    display: none; } }
@media screen and (max-width: 576px) {
  html {
    font-size: 14px; }

  h1, .h1 {
    font-size: 2rem !important; }

  h2, .h2 {
    font-size: 1.8rem !important; }

  h3, .h3 {
    font-size: 1.6rem !important; }

  h4, .h4 {
    font-size: 1.4rem !important; }

  h5, .h5 {
    font-size: 1.2rem !important; }

  h6, .h6 {
    font-size: 1rem !important; }

  .footer {
    padding-bottom: 6rem; } }
/* ======================================================================= */
/*** 11. Wordpress
========================================================================== */
/* breadcrumbs
---------------------------------------------*/
.breadcrumbs,
.breadcrumbs a {
  color: #6a3906;
  font-size: 0.75rem; }

.breadcrumbs {
  padding: 0.75rem;
  text-align: right; }

/* Responsive Lightbox & Gallery
---------------------------------------------*/
.rl-basicgrid-gallery .rl-gallery-item img {
  height: auto; }

/* page navi
---------------------------------------------*/
.wp-pagenavi {
  clear: both;
  margin: 30px 0;
  padding: 10px;
  font-size: 1rem; }
.wp-pagenavi a, .wp-pagenavi span {
  margin: 2px 5px;
  padding: 8px 16px;
  text-decoration: none;
  background: none #6a3906;
  color: #FFF;
  border-radius: 4px; }
.wp-pagenavi .current,
.wp-pagenavi a:hover {
  color: #322926;
  background: none #f9f9f9; }

/* WordPress Core
---------------------------------------------*/
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media only screen and (max-width: 413px) {
  img.alignright {
    padding: 0 0 10px 0;
    margin: 0 auto;
    display: block; }

  img.alignleft {
    padding: 0 0 10px 0;
    margin: 0 auto;
    display: block; }

  .alignright {
    float: none; }

  .alignleft {
    float: none; } }
.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/* ======================================================================= */
