@charset "UTF-8";
/*

*/
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru&family=Cinzel&family=Hina+Mincho&family=Lora:ital@1&family=M+PLUS+Rounded+1c:wght@500&family=Noto+Sans+JP&family=Roboto:wght@300&display=swap");
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.shiny-image figure {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 10px;
}

.shiny-image figure div {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.shiny-image figure::before {
  position: absolute;
  top: 0;
  left: -75%;
  z-index: 2;
  display: block;
  content: '';
  width: 50%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.3)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}

.shiny-image:hover > figure::before {
  -webkit-animation: shine .75s;
  animation: shine .75s;
}

@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.animation-target {
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
}

.animation-target.is-active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: 1s;
  transition: 1s;
}

.fadein {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}

.fadein.active {
  opacity: 1;
}

/*--------------------------------------------------------------
# Basic Setting
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
}

ul, ol {
  list-style: none;
  margin: 0;
}

a {
  color: #5c3817;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover, a:focus, a:active, a:visited {
  color: #5c3817;
}

/*

textarea {
  resize: none;
  overflow: auto;
}

*/
/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 62.5%;
  /* 10(base font size) / 16(Browser Default font size) = 0.625em * 100 = 62.5% */
}

body {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  position: relative;
  width: 100%;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff;
  color: #5c3817;
}

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

header, footer, main {
  min-width: 1205px;
  width: 100%;
}

@media only screen and (max-width: 640px) {
  header, footer, main, #visual {
    min-width: 0;
  }
}

img {
  margin: 0;
}

em {
  font-style: normal;
}

/*PCのみ改行*/
@media only screen and (max-width: 640px) {
  br.pc {
    display: none;
  }
}

/*スマホのみ改行*/
br.sp640 {
  display: none;
}

br.sp550 {
  display: none;
}

br.sp {
  display: none;
}

br.sp2 {
  display: none;
}

@media only screen and (max-width: 640px) {
  br.sp640 {
    display: block;
  }
}

@media only screen and (max-width: 550px) {
  br.sp550 {
    display: block;
  }
}

@media only screen and (max-width: 480px) {
  br.sp {
    display: block;
  }
}

@media only screen and (max-width: 400px) {
  br.sp2 {
    display: block;
  }
}

.clearfix::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
  overflow: hidden;
}

/*共通
-------------------------------------*/
#footer .row, main section .row {
  max-width: 1000px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

header #header, header nav, footer #footer {
  width: 92%;
  max-width: 1205px;
  left: 0;
  right: 0;
}

.tax {
  font-weight: bold;
}

.tax em {
  color: #ff0000;
}

/*ヘッダー
-------------------------------------*/
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
header.scroll-nav {
  /* 余白を狭くする */
  /* 背景を白にする */
  background: #fff;
  /* コンテンツの背景が白でもナビゲーションだと分かりやすいように影をつける */
  /* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
}

header.scroll-nav #header {
  margin: 0;
}

header.scroll-nav #header .header-desc p, header.scroll-nav #header .header-contact {
  display: none;
}

header.scroll-nav #header .header-desc {
  position: absolute;
  top: 17px;
  left: 10px;
}

header.scroll-nav #header .header-desc .logo img:not(.scroll) {
  display: none;
}

header.scroll-nav #header .header-desc .logo img.scroll {
  display: block;
}

header.scroll-nav #header .header-sns {
  position: absolute;
  top: 10px;
  right: 10px;
}

header.scroll-nav nav.global-menu {
  width: 65%;
}

header {
  /* headerを画面上部に固定する */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* スクロールしても他のコンテンツの下にならないようにする */
  z-index: 150;
  background: #fff;
  /* headerに余白を作る */
  padding: 10px 0 10px;
  /* アニメーションの変化時間 */
  -webkit-transition: 0.5s;
  transition: 0.5s;
  border-bottom: 4px solid #75b24a;
  -webkit-box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
}

header #header {
  margin: 0 auto 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-pack: space-between;
  -moz-align-items: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header #header .header-desc, header #header .header-sns, header #header .header-contact, header #header nav {
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

header #header .header-desc .logo img:not(.scroll) {
  width: 250px;
}

header #header .header-desc .logo img.scroll {
  width: 130px;
  display: none;
}

header #header .header-desc p {
  font-size: 13px;
  font-size: 1.3rem;
  margin-bottom: 1rem;
  color: #333;
}

header #header .header-contact {
  text-align: center;
}

header #header .header-contact p {
  background: #75b24a;
  color: #fff;
  line-height: 200%;
  font-size: 15px;
  font-size: 1.5rem;
  padding: 4px 0;
  width: 200px;
  margin: 0 auto;
}

header #header .header-contact tel {
  font-size: 30px;
  font-size: 3rem;
  line-height: 150%;
}

header #header .header-contact tel::before {
  font-family: 'FontAwesome';
  content: "\f095";
  margin-right: 0.5rem;
  color: #75b24a;
}

header #header .header-contact span {
  display: block;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 100%;
}

header .sns > div {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
}

header .sns a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

header .sns a:hover {
  opacity: 0.7;
}

header .sns a#ameblo {
  background: #5c3817;
  padding: 0.3rem 0.7rem 0.7rem;
  border-radius: 5px;
  display: block;
  margin-top: 5px;
  /*
        span{
          color:#fff;
          @include font-size(14);
          small{@include font-size(10);}
        }
        */
}

header .sns a#ameblo p {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 170%;
}

header .sns a#insta .fa-instagram {
  margin-top: 3px;
}

header .sns a#insta .fa-instagram::before {
  font-size: 40px;
  font-size: 4rem;
}

header nav.global-menu {
  margin: 0 auto;
  width: 80%;
}

header nav.global-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-pack: space-between;
}

header nav.global-menu li {
  text-align: center;
}

header nav.global-menu li a {
  color: #654236;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 100%;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

header nav.global-menu li a small {
  display: block;
}

header nav.global-menu li a:hover {
  color: #e6b928;
}

header nav.global-menu .sp-tel {
  display: none;
}

@media screen and (max-width: 380px) {
  header .sns > div {
    margin: 0 5px;
  }
}

@media screen and (max-width: 340px) {
  header .sns > div {
    margin: 0 2px;
  }
}

.ham-outer {
  display: none;
}

.hamburger {
  /* ナビ開いてる時のボタン */
}

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 6px;
  background: #679328;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 10px;
}

.hamburger span:nth-child(2) {
  top: 20px;
}

.hamburger span:nth-child(3) {
  top: 30px;
}

.hamburger.active {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(1) {
  top: 15px;
}

.hamburger.active span:nth-child(2) {
  width: 0px;
}

.hamburger.active span:nth-child(3) {
  top: 35px;
}

.hamburger.active span:nth-child(1), .hamburger.active span:nth-child(3) {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.hamburger.active span:nth-child(1) {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.hamburger.active span:nth-child(3) {
  -webkit-transform: translateY(-16px) rotate(90deg);
  transform: translateY(-16px) rotate(90deg);
}

@media screen and (max-width: 640px) {
  .ham-outer {
    position: relative;
    background-color: #ffffff;
    display: block;
    border: 1px solid;
    width: 42px;
    height: 42px;
    margin: 5px 4% 0;
    text-align: center;
  }
  .hamburger {
    display: block;
    position: relative;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
}

@media screen and (max-width: 640px) {
  header {
    padding: 0;
  }
  header #header {
    position: relative;
    z-index: 100;
    background: #fff;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    margin: 0;
  }
  header #header .header-desc {
    position: relative;
    text-align: center;
    margin-left: 3%;
    margin-top: 0;
    width: 130px;
  }
  header #header .header-desc p {
    display: none;
  }
  header #header .header-desc .logo img {
    /*
          &:not(.scroll) {
            display: inline;
            width:$LOGO_SIZE_640;
          }
          &.scroll {display: none;}
          */
  }
  header #header .header-desc .logo img:not(.scroll) {
    display: none;
  }
  header #header .header-desc .logo img.scroll {
    display: inline;
    width: 130px;
  }
  header #header .header-contact {
    display: none;
  }
  header #header .sns a#ameblo {
    padding-top: 0.3rem;
    margin-top: 3px;
  }
  header #header .sns a#ameblo p {
    line-height: 100%;
  }
  header #header .sns a#ameblo p span {
    display: block;
    font-size: 10px;
    font-size: 1rem;
  }
  header nav.global-menu {
    display: block;
    position: absolute;
    z-index: 0;
    left: 0;
    width: 100%;
    padding-bottom: 20px;
    border-top: 4px solid #75b24a;
    background: #fff;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  header nav.global-menu.active {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  header nav.global-menu ul {
    display: block;
    padding: 0;
    width: 80%;
    margin: 0 auto 10px;
  }
  header nav.global-menu li {
    width: 100%;
    border-bottom: 1px solid;
  }
  header nav.global-menu li:last-child {
    padding-bottom: 0;
    border-bottom: none;
  }
  header nav.global-menu li a {
    display: block;
    padding: 1em 0;
    text-decoration: none;
  }
  header nav.global-menu li a small {
    display: inline;
    margin-left: 1rem;
  }
  header nav.global-menu .sp-tel {
    display: block;
    text-align: center;
  }
  header nav.global-menu .sp-tel span {
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
    font-size: 14px;
    font-size: 1.4rem;
  }
  header nav.global-menu .sp-tel a {
    background: #75b24a;
    color: #fff;
    line-height: 200%;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 4px 0;
    width: 170px;
    margin: 0 auto;
    display: inline-block;
    vertical-align: middle;
  }
  header nav.global-menu .overlay {
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 100%;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    visibility: hidden;
    width: 100vw;
    z-index: 200;
  }
  header nav.global-menu.active .overlay {
    visibility: visible;
  }
}

@media screen and (max-width: 400px) {
  header #header .header-desc {
    width: 100px;
  }
  header #header .header-desc .logo img.scroll {
    width: 100px;
  }
}

@media screen and (max-width: 330px) {
  header #header .sns a#ameblo p span {
    font-size: 0.8rem;
  }
}

@media screen and (max-width: 640px) {
  header.scroll-nav #header .header-desc {
    top: 23px;
    width: 130px;
  }
  header.scroll-nav #header .header-sns {
    display: none;
  }
  header.scroll-nav .ham-outer {
    margin: 5px 10% 5px auto;
  }
  header.scroll-nav nav.global-menu {
    width: 100%;
  }
}

@media screen and (max-width: 400px) {
  header nav.global-menu .sp-tel span {
    font-size: 12px;
    font-size: 1.2rem;
  }
  header nav.global-menu .sp-tel a {
    width: 160px;
  }
}

@media screen and (max-width: 350px) {
  header nav.global-menu ul {
    width: 85%;
  }
  header nav.global-menu .sp-tel span {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

main {
  padding-top: 180px;
}

@media screen and (max-width: 640px) {
  main {
    padding-top: 75px;
  }
}

section {
  padding: 70px 0;
  position: relative;
}

@media only screen and (max-width: 640px) {
  section {
    padding: 50px 0;
  }
}

@media only screen and (max-width: 450px) {
  section {
    padding: 30px 0;
  }
}

#visual.swiper {
  height: 550px;
  width: 100%;
  overflow: hidden;
}

#visual.swiper .swiper-slide {
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  height: 550px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-pack: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#visual.swiper .swiper-slide .corp {
  color: #fff;
  text-shadow: 1px 2px 3px #404040;
  font-family: 'Cinzel', serif;
  position: absolute;
  right: 7%;
  bottom: 50px;
  text-align: center;
}

#visual.swiper .swiper-slide .corp h2 {
  font-size: 40px;
  font-size: 4rem;
  line-height: 160%;
}

#visual.swiper .swiper-slide .corp h2 small {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 100%;
}

#visual.swiper .swiper-slide .corp p {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 100%;
}

#visual.swiper.swiper-initialized .swiper-slide {
  opacity: 1;
}

#visual.swiper #silde1 {
  background-image: url(./images/slide1.jpg?202211151915);
  background-position: center top;
}

#visual.swiper #silde1 img.logo {
  position: absolute;
  right: 10%;
  top: 5%;
}

#visual.swiper #silde1 img.photo {
  position: absolute;
  width: 600px;
  top: 80px;
  left: 0;
  right: 0;
  margin: auto;
  padding-left: 120px;
}

#visual.swiper #silde1 .catch {
  color: #fff;
  font-size: 65px;
  font-size: 6.5rem;
  font-weight: bold;
  font-family: serif;
  position: absolute;
  left: 10%;
  top: 10%;
  text-shadow: 2px 3px 3px #5c3817;
  letter-spacing: 0.5rem;
}

#visual.swiper #silde2 {
  background-image: url(./images/slide2.jpg?20230123);
  background-position: center 25%;
}

#visual.swiper #silde2 .catch {
  color: #fff;
  font-size: 40px;
  font-size: 4rem;
  font-family: 'Hina Mincho', serif;
  position: absolute;
  left: 10%;
  top: 12%;
  text-shadow: 1px 2px 3px #606060;
}

#visual.swiper #silde3 {
  background-image: url(./images/slide3.jpg?202301232035);
  background-position: center bottom;
}

#visual.swiper #silde3 .catch {
  color: #fff;
  font-size: 40px;
  font-size: 4rem;
  font-family: 'Hina Mincho', serif;
  position: absolute;
  left: 10%;
  top: 10%;
  text-shadow: 1px 2px 3px #606060;
}

#visual.swiper #silde4 {
  background-image: url(./images/slide4.jpg?20230123);
  background-position: center center;
}

#visual.swiper #silde4 .catch {
  color: #fff;
  font-size: 40px;
  font-size: 4rem;
  font-family: 'Hina Mincho', serif;
  position: absolute;
  left: 10%;
  top: 15%;
  text-shadow: 1px 2px 3px #606060;
}

@media only screen and (max-width: 640px) {
  #visual.swiper {
    height: auto;
    margin-top: -2px;
  }
  #visual.swiper .swiper-slide {
    min-height: 418px;
    height: auto;
    background-position: center 0;
    background-size: 100% auto;
  }
  #visual.swiper .swiper-slide .catch {
    display: none;
  }
  #visual.swiper .swiper-slide .corp {
    display: none;
    /*
        right: 2%;
        bottom: 10%;

        h2{
          @include font-size(20);
          small{@include font-size(14);}
        }
        p{@include font-size(16);}
        */
  }
  #visual.swiper #silde1 {
    background-image: url(./images/slide1-sp.jpg?202303131937);
  }
  #visual.swiper #silde2 {
    background-image: url(./images/slide2-sp.jpg?202310101957);
    background-position: center 0;
    background-size: 100% auto;
    /*
      .catch{
        @include font-size(20);
      }
      */
  }
  #visual.swiper #silde3 {
    background-image: url(./images/slide3-sp.jpg?202310101957);
    background-position: center 0;
    background-size: 100% auto;
    /*
      .catch{@include font-size(20);}
      */
  }
  #visual.swiper #silde4 {
    background-image: url(./images/slide4-sp.jpg?202303131937);
    background-position: center 0;
    background-size: 100% auto;
    /*
      .catch{@include font-size(20);}
      */
  }
}

@media only screen and (max-width: 605px) {
  #visual.swiper .swiper-slide {
    min-height: 395px;
  }
}

@media only screen and (max-width: 550px) {
  #visual.swiper .swiper-slide {
    min-height: 360px;
  }
  #visual.swiper .swiper-slide .corp {
    right: 2%;
    bottom: 5%;
  }
  #visual.swiper .swiper-slide .corp h2 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  #visual.swiper .swiper-slide .corp h2 small {
    font-size: 13px;
    font-size: 1.3rem;
  }
  #visual.swiper .swiper-slide .corp p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  #visual.swiper #silde2 .catch, #visual.swiper #silde3 .catch, #visual.swiper #silde4 .catch {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media only screen and (max-width: 525px) {
  #visual.swiper .swiper-slide {
    min-height: 343px;
  }
}

@media only screen and (max-width: 500px) {
  #visual.swiper .swiper-slide {
    min-height: 327px;
  }
  #visual.swiper .swiper-slide .corp {
    right: 2%;
    bottom: 6%;
  }
  #visual.swiper .swiper-slide .corp h2 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  #visual.swiper .swiper-slide .corp h2 small {
    font-size: 12px;
    font-size: 1.2rem;
  }
  #visual.swiper .swiper-slide .corp p {
    font-size: 13px;
    font-size: 1.3rem;
  }
  #visual.swiper #silde2 .catch, #visual.swiper #silde3 .catch, #visual.swiper #silde4 .catch {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media only screen and (max-width: 490px) {
  #visual.swiper .swiper-slide {
    min-height: 320px;
  }
}

@media only screen and (max-width: 480px) {
  #visual.swiper .swiper-slide {
    min-height: 314px;
  }
  #visual.swiper .swiper-slide .corp {
    bottom: 10%;
  }
  #visual.swiper #silde2 .catch {
    left: 5%;
  }
  #visual.swiper #silde3 .catch {
    left: 5%;
  }
}

@media only screen and (max-width: 465px) {
  #visual.swiper .swiper-slide {
    min-height: 304px;
  }
}

@media only screen and (max-width: 450px) {
  #visual.swiper .swiper-slide {
    min-height: 294px;
  }
  #visual.swiper .swiper-slide .corp {
    bottom: 6%;
  }
  #visual.swiper .swiper-slide .corp h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  #visual.swiper .swiper-slide .corp h2 small {
    font-size: 11px;
    font-size: 1.1rem;
  }
  #visual.swiper .swiper-slide .corp p {
    font-size: 12px;
    font-size: 1.2rem;
  }
  #visual.swiper #silde2 .catch, #visual.swiper #silde3 .catch, #visual.swiper #silde4 .catch {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 435px) {
  #visual.swiper .swiper-slide {
    min-height: 284px;
  }
}

@media only screen and (max-width: 420px) {
  #visual.swiper .swiper-slide {
    min-height: 274px;
  }
  #visual.swiper .swiper-slide .corp {
    bottom: 8%;
  }
}

@media only screen and (max-width: 400px) {
  #visual.swiper .swiper-slide {
    min-height: 262px;
  }
}

@media only screen and (max-width: 390px) {
  #visual.swiper .swiper-slide {
    min-height: 255px;
  }
  #visual.swiper .swiper-slide .corp {
    bottom: 6%;
  }
  #visual.swiper .swiper-slide .corp h2 {
    font-size: 15px;
    font-size: 1.5rem;
  }
  #visual.swiper .swiper-slide .corp h2 small {
    font-size: 10px;
    font-size: 1rem;
  }
  #visual.swiper .swiper-slide .corp p {
    font-size: 11px;
    font-size: 1.1rem;
  }
  #visual.swiper #silde2 .catch, #visual.swiper #silde3 .catch, #visual.swiper #silde4 .catch {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 375px) {
  #visual.swiper .swiper-slide {
    min-height: 245px;
  }
}

@media only screen and (max-width: 360px) {
  #visual.swiper .swiper-slide {
    min-height: 235px;
  }
  #visual.swiper .swiper-slide .corp {
    bottom: 10%;
  }
  #visual.swiper .swiper-slide .corp h2 {
    font-size: 14px;
    font-size: 1.4rem;
  }
  #visual.swiper .swiper-slide .corp p {
    font-size: 10px;
    font-size: 1rem;
  }
  #visual.swiper #silde2 .catch, #visual.swiper #silde3 .catch, #visual.swiper #silde4 .catch {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 345px) {
  #visual.swiper .swiper-slide {
    min-height: 225px;
  }
}

@media only screen and (max-width: 330px) {
  #visual.swiper .swiper-slide {
    min-height: 216px;
  }
}

section#copy {
  text-align: center;
}

section#copy .inner {
  width: 90%;
  margin: 0 auto;
}

section#copy h2 {
  font-size: 47px;
  font-size: 4.7rem;
  color: #75b24a;
  font-family: 'Lora', serif;
  line-height: 180%;
  margin-bottom: 30px;
}

section#copy video {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

section#copy p {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 200%;
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  section#copy video {
    width: 97%;
  }
}

@media screen and (max-width: 450px) {
  section#copy h2 {
    font-size: 40px;
    font-size: 4rem;
  }
  section#copy p {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 180%;
  }
}

@media screen and (max-width: 340px) {
  section#copy h2 {
    font-size: 37px;
    font-size: 3.7rem;
  }
}

h2.sec-header {
  text-align: center;
  position: relative;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 27px;
  font-size: 2.7rem;
  margin-bottom: 1rem;
}

h2.sec-header span {
  display: block;
  font-size: 15px;
  font-size: 1.5rem;
}

h2.sec-header:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #fa4141;
}

.curved {
  /*
  background: rgba(246,246,199, 0.7);
  @include curved($GREEN_COLOR1);
  */
}

.wave {
  position: relative;
  background: #fff;
}

.wave div {
  position: absolute;
  height: 70px;
  width: 100%;
  background: #fff;
  bottom: 0;
}

.wave div::before, .wave div::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100% 50%;
}

.wave div::before {
  width: 55%;
  height: 109%;
  background-color: #fdf8d3;
  right: -1.5%;
  top: 60%;
}

.wave div::after {
  width: 55%;
  height: 100%;
  background-color: #fff;
  left: -1.5%;
  top: 40%;
}

section#pethotel {
  background: #f6f3f0;
}

section#pethotel .copy {
  text-align: center;
  margin: 50px 0 70px;
}

section#pethotel .copy .inner {
  width: 100%;
  margin: 0 auto;
}

section#pethotel .copy h3 {
  font-size: 32px;
  font-size: 3.2rem;
  margin-bottom: 30px;
}

section#pethotel .copy h3 span {
  background: repeating-linear-gradient(-45deg, rgba(117, 178, 74, 0.2), rgba(117, 178, 74, 0.2) 3px, transparent 3px, transparent 7px);
  background-size: 20px 20px;
  padding: 0.5rem 5rem;
}

section#pethotel .copy p {
  font-size: 20px;
  font-size: 2rem;
  line-height: 200%;
  margin: 0 auto;
}

section#pethotel .copy p span {
  border-bottom: 1px dotted #5c3817;
}

section#pethotel .copy ul.images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-pack: space-between;
  -moz-align-items: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 40px 0 20px;
  padding: 0;
}

section#pethotel .copy ul.images li {
  width: 32%;
}

section#pethotel .copy ul.images li img {
  width: 100%;
  vertical-align: top;
}

section#pethotel .content {
  background: #fff;
  border-radius: 12px;
  padding: 2rem 4rem;
}

section#pethotel .content .inner {
  width: 100%;
  margin: auto;
}

section#pethotel .content dl.dl1 h3 {
  color: #679328;
  font-weight: normal;
  font-size: 25px;
  font-size: 2.5rem;
  border-bottom: 2px solid;
  padding: 1rem 0 0.5rem;
}

section#pethotel .content dl.dl1 h3:before {
  font-family: 'FontAwesome';
  content: "\f1b0";
  margin-right: 0.5rem;
}

section#pethotel .content dl.dl1 > dd {
  font-size: 16px;
  font-size: 1.6rem;
  margin: 2rem;
  position: relative;
}

section#pethotel .content dl.dl1 > dd ul {
  font-size: 15px;
  font-size: 1.5rem;
  padding: 0;
}

section#pethotel .content dl.dl1 > dd ul li {
  margin-bottom: 0;
}

section#pethotel .content dl.dl1 > dd ul li::before {
  font-family: 'FontAwesome';
  content: "\f069";
  display: inline-block;
  margin-right: 0.5rem;
  color: #679328;
}

section#pethotel .content dl.dl1 .tips {
  position: absolute;
  right: 0;
}

section#pethotel .content dl.dl1 dl.dl2 {
  margin-bottom: 10px;
}

section#pethotel .content dl.dl1 dl.dl2 dt, section#pethotel .content dl.dl1 dl.dl2 dd {
  display: inline-block;
  vertical-align: top;
  margin: 0;
  line-height: 180%;
  padding-bottom: 0.5rem;
  font-size: 17px;
  font-size: 1.7rem;
}

section#pethotel .content .time {
  margin-bottom: 50px;
}

section#pethotel .content .time dl.dl2 dt {
  width: 50%;
}

section#pethotel .content .time dl.dl2 dd {
  width: 50%;
}

section#pethotel .content .time dl.dl2 dd small {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
}

section#pethotel .content .price {
  margin-bottom: 60px;
}

section#pethotel .content .price dl.dl1 {
  width: 47%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 20px;
}

section#pethotel .content .price dl.dl1:nth-child(odd) {
  margin-right: 5%;
}

section#pethotel .content .price dl.dl2 dt {
  width: 35%;
}

section#pethotel .content .price dl.dl2 dd {
  text-align: right;
  width: 65%;
}

section#pethotel .content .price dl.dl2 dd small {
  font-size: 12px;
  font-size: 1.2rem;
  margin-right: 1rem;
  border-bottom: 1px solid;
}

section#pethotel .content .price .tips {
  padding-left: 1rem;
  font-size: 15px;
  font-size: 1.5rem;
}

section#pethotel .content .price .tips p.tax {
  font-weight: normal;
}

section#pethotel .content .price .tips p.tax span, section#pethotel .content .price .tips p.tax em {
  font-weight: bold;
}

section#pethotel .content .price .tips p.tax span {
  color: #679328;
}

section#pethotel .content .belonging {
  background: rgba(254, 247, 197, 0.8);
  border-radius: 10px;
  color: #333;
  padding: 2rem 5rem 3rem;
  margin: 20px auto 60px;
}

section#pethotel .content .belonging h3 {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 15px;
}

section#pethotel .content .belonging ul {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0 0 0 0.2rem;
}

section#pethotel .content .belonging ul li {
  margin-bottom: 2rem;
  padding-left: 1em;
  text-indent: -0.5em;
}

section#pethotel .content .belonging ul li::before {
  content: "・";
  display: inline-block;
}

section#pethotel .content .belonging ul li small {
  display: block;
  margin: 0.2rem 0 0.5rem;
}

section#pethotel .content .belonging p {
  font-size: 15px;
  font-size: 1.5rem;
  color: #679328;
  padding: 1rem;
  border-radius: 7px;
  background: #fff;
  margin-bottom: 1rem;
}

@media screen and (max-width: 640px) {
  section#pethotel .copy {
    margin-bottom: 50px;
  }
  section#pethotel .copy .inner {
    width: 90%;
  }
  section#pethotel .copy h3 {
    font-size: 28px;
    font-size: 2.8rem;
  }
  section#pethotel .copy p {
    font-size: 18px;
    font-size: 1.8rem;
  }
  section#pethotel .content {
    width: 95%;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 1rem;
  }
  section#pethotel .content .inner {
    width: 87%;
  }
  section#pethotel .content dl.dl1 {
    margin-bottom: 15px;
  }
  section#pethotel .content dl.dl1 h3 {
    font-size: 20px;
    font-size: 2rem;
  }
  section#pethotel .content dl.dl1 dl.dl2 dt, section#pethotel .content dl.dl1 dl.dl2 dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
  section#pethotel .content dl.dl1 .tips {
    padding-left: 0;
    right: auto;
    left: 0;
  }
  section#pethotel .content .time {
    padding-bottom: 15px;
  }
  section#pethotel .content .time dl.dl2 dt {
    width: 40%;
  }
  section#pethotel .content .time dl.dl2 dd {
    width: 60%;
  }
  section#pethotel .content .time dl.dl2 dd small {
    line-height: 150%;
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#pethotel .content .price {
    margin-bottom: 40px;
  }
  section#pethotel .content .price dl.dl1 {
    width: 100%;
    display: block;
    vertical-align: top;
  }
  section#pethotel .content .price dl.dl1:nth-child(odd) {
    margin-right: 0;
  }
  section#pethotel .content .price dl.dl1:nth-child(1) {
    padding-bottom: 25px;
  }
  section#pethotel .content .belonging {
    padding-right: 2.7rem;
    padding-left: 2.7rem;
    width: 80%;
    margin-bottom: 20px;
  }
  section#pethotel .content .belonging h3 {
    font-size: 20px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 550px) {
  section#pethotel .copy {
    margin-bottom: 30px;
  }
  section#pethotel .copy h3 {
    font-size: 25px;
    font-size: 2.5rem;
  }
  section#pethotel .copy p {
    font-size: 17px;
    font-size: 1.7rem;
  }
  section#pethotel .copy ul.images {
    -moz-justify-content: center;
    -ms-justify-content: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-pack: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  section#pethotel .copy ul.images li {
    width: 50%;
    margin-bottom: 20px;
  }
  section#pethotel .copy ul.images li img {
    width: 90%;
    margin: auto;
  }
}

@media screen and (max-width: 500px) {
  section#pethotel .copy h3 span {
    padding-right: 4rem;
    padding-left: 4rem;
  }
  section#pethotel .content dl.dl1 > dd ul, section#pethotel .content .price .tips {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#pethotel .content .inner {
    width: 90%;
  }
  section#pethotel .content .belonging {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (max-width: 480px) {
  section#pethotel .copy {
    margin-bottom: 20px;
  }
  section#pethotel .copy h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  section#pethotel .copy h3 span {
    padding-right: 4rem;
    padding-left: 4rem;
  }
  section#pethotel .copy p {
    font-size: 16px;
    font-size: 1.6rem;
  }
  section#pethotel .copy ul.images {
    margin-top: 30px;
  }
  section#pethotel .copy ul.images li {
    width: 100%;
  }
  section#pethotel .copy ul.images li img {
    width: 80%;
  }
  section#pethotel .content {
    padding-top: 0.5rem;
  }
  section#pethotel .content dl.dl1 {
    margin-bottom: 20px;
  }
  section#pethotel .content dl.dl1 h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
  section#pethotel .content .belonging {
    padding-right: 1.7rem;
    padding-left: 1.7rem;
    padding-bottom: 2rem;
    margin-bottom: 15px;
    width: 83%;
  }
  section#pethotel .content .belonging h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 460px) {
  section#pethotel .copy h3 span {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

@media screen and (max-width: 450px) {
  section#pethotel .copy {
    margin-bottom: 10px;
  }
  section#pethotel .copy h3 {
    font-size: 21px;
    font-size: 2.1rem;
  }
  section#pethotel .content .belonging {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  section#pethotel .content .belonging ul {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#pethotel .content .belonging p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#pethotel .content dl.dl1 dl.dl2 dt, section#pethotel .content dl.dl1 dl.dl2 dd {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 430px) {
  section#pethotel .content dl.dl1 > dd ul, section#pethotel .content .price .tips {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 400px) {
  section#pethotel .copy h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
  section#pethotel .copy p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#pethotel .content .inner {
    width: 92%;
  }
  section#pethotel .content dl.dl1 h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  section#pethotel .content dl.dl1 > dd {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  section#pethotel .content .time {
    padding-bottom: 5px;
  }
  section#pethotel .content .price {
    margin-bottom: 30px;
  }
  section#pethotel .content .price dl.dl1:nth-child(1) {
    padding-bottom: 15px;
  }
  section#pethotel .content .belonging {
    width: 85%;
    margin-bottom: 20px;
  }
  section#pethotel .content .belonging h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 380px) {
  section#pethotel .content .belonging {
    padding-right: 1.2rem;
    padding-left: 1.2rem;
  }
}

@media screen and (max-width: 370px) {
  section#pethotel .copy p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#pethotel .content dl.dl1 > dd ul, section#pethotel .content .price .tips {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 360px) {
  section#pethotel .copy .inner {
    width: 96%;
  }
  section#pethotel .copy h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  section#pethotel .copy ul.images li img {
    width: 90%;
  }
}

@media screen and (max-width: 350px) {
  section#pethotel .copy h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  section#pethotel .content {
    padding-top: 0.1rem;
  }
  section#pethotel .content dl.dl1 > dd ul, section#pethotel .content .price .tips {
    font-size: 11px;
    font-size: 1.1rem;
  }
  section#pethotel .content dl.dl1 dl.dl2 dt, section#pethotel .content dl.dl1 dl.dl2 dd {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#pethotel .content .belonging ul {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#pethotel .content .belonging p {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 330px) {
  section#pethotel .copy {
    margin-bottom: 0px;
  }
  section#pethotel .copy h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  section#pethotel .copy p {
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#pethotel .content .inner {
    width: 93%;
  }
  section#pethotel .content dl.dl1 {
    margin-bottom: 10px;
  }
  section#pethotel .content dl.dl1 h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  section#pethotel .content dl.dl1 dl.dl2 dt, section#pethotel .content dl.dl1 dl.dl2 dd {
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#pethotel .content .time dl.dl2 dd small {
    font-size: 12px;
    font-size: 1.2rem;
  }
  section#pethotel .content .price dl.dl1:nth-child(1) {
    padding-bottom: 20px;
  }
  section#pethotel .content .belonging h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 320px) {
  section#pethotel .copy ul.images {
    margin-top: 20px;
  }
}

section#information {
  overflow: hidden;
  background: #fdf8d3;
}

section#information h2.sec-header {
  margin-top: 150px;
}

section#information .info {
  margin-top: 30px;
  display: inline-block;
  vertical-align: middle;
  width: 60%;
  margin-right: 5%;
}

section#information .info h2 {
  font-size: 23px;
  font-size: 2.3rem;
  margin-bottom: 2rem;
}

section#information .info dl dt, section#information .info dl dd {
  display: inline-block;
  vertical-align: top;
  margin: 0;
  line-height: 180%;
  padding-bottom: 1rem;
  font-size: 16px;
  font-size: 1.6rem;
}

section#information .info dl dt {
  width: 30%;
  margin-right: 5%;
}

section#information .info dl dd {
  width: 60%;
}

section#information .info dl a#map {
  color: #e6b928;
  text-decoration: underline;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#information .info dl a#map:hover {
  opacity: 0.7;
}

section#information .image-shop {
  margin-top: 30px;
  display: inline-block;
  vertical-align: middle;
  width: 30%;
}

section#information .image-shop img {
  width: 100%;
}

@media screen and (max-width: 640px) {
  section#information h2.sec-header {
    margin-top: 75px;
  }
  section#information .info {
    display: block;
    width: 80%;
    margin: 60px auto 30px;
  }
  section#information .info h2 {
    margin-bottom: 3rem;
    text-align: center;
  }
  section#information .info dl dt {
    width: 28%;
    margin-right: 0;
  }
  section#information .info dl dd {
    width: 68%;
  }
  section#information .image-shop {
    display: block;
    width: 70%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 600px) {
  section#information .info dl span.break600 {
    display: block;
  }
  section#information .info dl dt {
    width: 30%;
  }
  section#information .info dl dd {
    width: 66%;
  }
}

@media screen and (max-width: 500px) {
  section#information .info {
    width: 85%;
    margin-top: 50px;
  }
}

@media screen and (max-width: 480px) {
  section#information .info {
    width: 87%;
  }
}

@media screen and (max-width: 450px) {
  section#information .info dl dt, section#information .info dl dd {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#information .info dl dt {
    margin-right: 0;
  }
}

@media screen and (max-width: 400px) {
  section#information h2.sec-header {
    margin-top: 65px;
  }
  section#information .info {
    width: 90%;
    margin: 40px auto 15px;
  }
  section#information .info h2 {
    font-size: 21px;
    font-size: 2.1rem;
    margin-bottom: 2.5rem;
  }
}

@media screen and (max-width: 340px) {
  section#information .info dl dt, section#information .info dl dd {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

section#caremenu {
  position: relative;
  background-image: radial-gradient(290px 300px, rgba(212, 238, 244, 0.7) 20%, transparent 20%), radial-gradient(800px 780px, rgba(212, 238, 244, 0.7) 20%, transparent 20%), radial-gradient(600px 590px, rgba(216, 235, 212, 0.7) 20%, transparent 20%), radial-gradient(400px 380px, rgba(244, 223, 225, 0.7) 20%, transparent 20%), radial-gradient(750px 750px, rgba(246, 246, 199, 0.7) 20%, transparent 20%), radial-gradient(100px 100px, rgba(244, 223, 225, 0.7) 20%, transparent 20%), radial-gradient(200px 200px, rgba(246, 246, 199, 0.7) 20%, transparent 20%), radial-gradient(400px 400px, rgba(244, 223, 225, 0.7) 20%, transparent 20%);
  background-size: 1230px 1280px,810px 910px,1470px 990px,1200px 1700px,1520px 1200px,1100px 1300px, 1000px 1300px,1000px 1300px;
  background-position: -300px -550px,-200px 100px,300px 650px,-200px -550px,-180px -250px,130px -150px, 100px -1100px, 300px -1000px;
}

section#caremenu::after {
  content: '';
  position: absolute;
  right: 0;
  left: -0%;
  bottom: 100%;
  z-index: 10;
  display: block;
  height: 21px;
  background-size: 20px 100%;
  background-image: linear-gradient(-45deg, #fff 25%, transparent 25%), linear-gradient(45deg, #fff 25%, transparent 25%);
  background-position: 0 0;
  margin-bottom: -1px;
}

section#caremenu .explanation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-pack: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 70px;
}

section#caremenu .explanation .image {
  position: relative;
}

section#caremenu .explanation .image .dog1 {
  width: 150px;
}

section#caremenu .explanation .image .dog2 {
  position: absolute;
  width: 100px;
  left: 150px;
  bottom: -30px;
  padding-top: 50px;
  margin-left: 20px;
}

section#caremenu .explanation p {
  padding-left: 150px;
  line-height: 220%;
}

section#caremenu .explanation p em {
  font-weight: bold;
  font-size: 22px;
  font-size: 2.2rem;
  color: #C8AA6E;
}

section#caremenu .accordion {
  margin: 50px 0 20px;
  padding: 0;
  /*アコーディオン開閉トグル*/
  /*ベース*/
}

section#caremenu .accordion li {
  margin-bottom: 10px;
}

section#caremenu .accordion li h3:before {
  margin-right: 1rem;
  color: #5c3817;
}

section#caremenu .accordion li:nth-child(1) h3:before {
  font-family: 'FontAwesome';
  content: "\f0c4";
}

section#caremenu .accordion li:nth-child(2) h3:before {
  font-family: 'FontAwesome';
  content: "\f258";
}

section#caremenu .accordion li:nth-child(3) h3:before {
  font-family: 'FontAwesome';
  content: "\f2cd";
}

section#caremenu .accordion li:nth-child(4) h3:before {
  font-family: 'FontAwesome';
  content: "\f1e3";
}

section#caremenu .accordion li:nth-child(5) h3:before {
  font-family: 'FontAwesome';
  content: "\f06c";
}

section#caremenu .accordion .toggle {
  display: none;
}

section#caremenu .accordion .Label {
  /*タイトル*/
  padding: 1em;
  display: block;
  background: linear-gradient(-45deg, #e4b41b 25%, #e6b928 0, #e6b928 50%, #e4b41b 0, #e4b41b 75%, #e6b928 0);
  background-size: 20px 20px;
  border-radius: 20px;
  cursor: pointer;
  -webkit-box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
  position: relative;
  margin-bottom: 10px;
}

section#caremenu .accordion h3 {
  color: #5c3817;
  font-size: 23px;
  font-size: 2.3rem;
  padding-left: 1rem;
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

section#caremenu .accordion .Label::after {
  /*タイトル横の矢印*/
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #e6b928;
  border-right: 2px solid #e6b928;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc( 50% - 4px);
  right: 26px;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

section#caremenu .accordion .Label::before {
  top: calc( 50% - 10px);
  right: 20px;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

section#caremenu .accordion .Label, section#caremenu .accordion .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

section#caremenu .accordion .content {
  /*本文*/
  background: #f6f3f0;
  height: 0;
  border-radius: 20px;
  overflow: hidden;
}

section#caremenu .accordion .toggle:checked + .Label + .content {
  /*開閉時*/
  height: auto;
  padding: 0;
  -webkit-transition: all .5s;
  transition: all .5s;
  margin-bottom: 30px;
}

section#caremenu .accordion .toggle:checked + .Label::after {
  -webkit-transform: rotate(-45deg) !important;
          transform: rotate(-45deg) !important;
}

section#caremenu .accordion .content .inner {
  width: 94%;
  margin: 30px auto;
}

section#caremenu .accordion .content .image {
  display: inline-block;
  vertical-align: middle;
  width: 30%;
  max-width: 300px;
  margin-right: 3%;
}

section#caremenu .accordion .content .image img {
  width: 100%;
  border-radius: 1.6rem;
}

section#caremenu .accordion .content .desc {
  display: inline-block;
  vertical-align: middle;
  width: 65%;
  padding: 0;
}

section#caremenu .accordion .content .desc p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 180%;
}

section#caremenu .accordion .content .desc table {
  border-collapse: collapse;
  border: 1px solid #5c3817;
  width: 100%;
  margin: 20px 0;
  font-size: 15px;
  font-size: 1.5rem;
}

section#caremenu .accordion .content .desc table small {
  display: block;
}

section#caremenu .accordion .content .desc table thead {
  text-align: center;
  background-color: rgba(92, 56, 23, 0.5);
  color: #fff;
  border-bottom: 1px solid #5c3817;
}

section#caremenu .accordion .content .desc table thead th {
  width: 50%;
  font-weight: normal;
}

section#caremenu .accordion .content .desc table thead th:nth-child(1) {
  border-right: 1px solid #5c3817;
}

section#caremenu .accordion .content .desc table tbody th {
  width: 50%;
  font-weight: normal;
  border-right: 1px solid #5c3817;
  border-bottom: 1px solid #5c3817;
  padding-left: 1rem;
}

section#caremenu .accordion .content .desc table tbody td {
  border-bottom: 1px solid #5c3817;
  width: 50%;
  text-align: center;
}

section#caremenu .accordion .content .desc ul {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 180%;
  padding: 0;
}

section#caremenu .accordion .content .desc ul li {
  margin-bottom: 0;
}

section#caremenu .accordion .content .desc ul li::before {
  content: "※";
  display: inline-block;
}

section#caremenu .accordion .content .desc p .em {
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  color: #679328;
}

@media screen and (max-width: 640px) {
  section#caremenu {
    padding-bottom: 30px;
  }
  section#caremenu .explanation {
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
    -ms-flex-pack: space-around;
    -moz-align-items: start;
    -ms-align-items: start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  section#caremenu .explanation .image .dog1 {
    width: 130px;
  }
  section#caremenu .explanation .image .dog2 {
    width: 90px;
    left: 100px;
    bottom: -40px;
  }
  section#caremenu .explanation p {
    padding-left: 0;
    padding-right: 10%;
    margin-top: 40px;
    font-size: 17px;
    font-size: 1.7rem;
  }
  section#caremenu .accordion {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
  section#caremenu .accordion li {
    margin-bottom: 5px;
  }
  section#caremenu .accordion .content .inner {
    margin: 40px auto;
  }
  section#caremenu .accordion .content .image {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 0 auto 30px;
  }
  section#caremenu .accordion .content .image img {
    display: block;
    margin: auto;
  }
  section#caremenu .accordion .content .desc {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 520px) {
  section#caremenu .explanation p {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 500px) {
  section#caremenu .explanation {
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
    -ms-flex-pack: space-around;
    -moz-align-items: start;
    -ms-align-items: start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  section#caremenu .explanation .image .dog1 {
    width: 110px;
  }
  section#caremenu .explanation .image .dog2 {
    width: 80px;
    left: 70px;
  }
  section#caremenu .explanation p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#caremenu .explanation p em {
    font-size: 21px;
    font-size: 2.1rem;
  }
  section#caremenu .accordion .content .desc p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#caremenu .accordion .content .desc table {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 480px) {
  section#caremenu .accordion h3 {
    font-size: 20px;
    font-size: 2rem;
  }
}

@media screen and (max-width: 450px) {
  section#caremenu .explanation .image .dog1 {
    width: 100px;
  }
  section#caremenu .explanation .image .dog2 {
    width: 70px;
    left: 60px;
  }
  section#caremenu .explanation p {
    padding-right: 5%;
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#caremenu .explanation p em {
    font-size: 20px;
    font-size: 2rem;
  }
  section#caremenu .accordion li {
    margin-bottom: 0;
  }
  section#caremenu .accordion .content .inner {
    margin: 30px auto;
  }
  section#caremenu .accordion .content .image {
    margin-bottom: 20px;
  }
  section#caremenu .accordion .content .desc {
    width: 94%;
  }
  section#caremenu .accordion h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 420px) {
  section#caremenu .accordion h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 400px) {
  section#caremenu {
    padding-bottom: 20px;
  }
  section#caremenu .explanation .image .dog1 {
    width: 85px;
  }
  section#caremenu .explanation .image .dog2 {
    width: 60px;
    left: 50px;
  }
  section#caremenu .explanation p {
    margin-top: 30px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#caremenu .explanation p em {
    font-size: 19px;
    font-size: 1.9rem;
  }
  section#caremenu .accordion .content .image {
    width: 85%;
  }
  section#caremenu .accordion .content .desc {
    width: 96%;
  }
  section#caremenu .accordion h3 {
    padding-left: 0.2rem;
  }
}

@media screen and (max-width: 390px) {
  section#caremenu .accordion h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 380px) {
  section#caremenu .accordion li h3:before {
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 370px) {
  section#caremenu .accordion h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 360px) {
  section#caremenu .explanation .image .dog1 {
    width: 75px;
  }
  section#caremenu .explanation .image .dog2 {
    width: 55px;
    left: 30px;
  }
  section#caremenu .explanation p {
    padding-right: 3%;
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#caremenu .explanation p em {
    font-size: 18px;
    font-size: 1.8rem;
  }
  section#caremenu .accordion h3 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 350px) {
  section#caremenu .accordion li h3:before {
    margin-right: 0.7rem;
  }
  section#caremenu .accordion .content .desc p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#caremenu .accordion .content .desc table {
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#caremenu .accordion .content .desc ul {
    font-size: 13px;
    font-size: 1.3rem;
  }
  section#caremenu .accordion h3 {
    padding-left: 0;
  }
}

@media screen and (max-width: 330px) {
  section#caremenu .accordion h3 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 320px) {
  section#caremenu .accordion {
    width: 94%;
  }
}

section#news {
  padding-bottom: 0;
}

section#news .inner {
  margin: 50px auto 0;
}

section#news .nolist {
  margin: 70px 0;
  text-align: center;
}

section#news ul.news-entry {
  padding: 0;
}

section#news ul.news-entry li {
  border-top: 1px dotted #5c3817;
  padding: 1.5rem 0;
  padding-left: 1rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#news ul.news-entry li:last-child {
  border-bottom: 1px dotted #5c3817;
}

section#news ul.news-entry li:hover {
  background-color: rgba(230, 185, 40, 0.2);
}

section#news ul.news-entry li a {
  display: block;
}

section#news ul.news-entry li time {
  font-size: 14px;
  font-size: 1.4rem;
  width: 155px;
  display: inline-block;
  vertical-align: middle;
  background: #e6b928;
  padding: 1rem 0;
  margin-right: 20px;
  text-align: center;
  font-weight: bold;
  border-radius: 5px;
}

section#news ul.news-entry li p {
  font-size: 15px;
  font-size: 1.5rem;
  width: calc(100% - (155px + 20px + 10px));
  display: inline-block;
  vertical-align: middle;
}

section#news .more {
  text-align: center;
  margin-top: 40px;
  padding-bottom: 40px;
}

section#news .more a {
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#news .more a:hover {
  opacity: 0.7;
}

section#news .more a:before {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  background: #75b24a;
  border-radius: 50%;
  left: -40px;
  top: -2px;
}

section#news .more a:after {
  font-family: 'FontAwesome';
  content: "\f105";
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  position: absolute;
  width: 30px;
  height: 30px;
  left: -38px;
  top: -2px;
}

@media screen and (max-width: 640px) {
  section#news .inner {
    width: 90%;
    margin: 50px auto 0;
  }
  section#news ul.news-entry li {
    padding-left: 0.5rem;
  }
  section#news ul.news-entry li time {
    width: 135px;
    margin-right: 10px;
  }
  section#news ul.news-entry li p {
    width: calc(100% - (135px + 10px + 10px));
  }
  section#news .more {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 450px) {
  section#news ul.news-entry li time {
    width: 120px;
  }
  section#news ul.news-entry li p {
    width: calc(100% - (120px + 10px + 10px));
  }
}

@media screen and (max-width: 400px) {
  section#news ul.news-entry li time {
    width: 120px;
  }
  section#news ul.news-entry li p {
    width: calc(100% - (120px + 10px + 10px));
  }
}

@media screen and (max-width: 350px) {
  section#news .inner {
    width: 94%;
  }
  section#news .more {
    margin-top: 25px;
  }
}

@media screen and (max-width: 320px) {
  section#news .more {
    margin-top: 20px;
  }
}

section#hydrocerapy {
  background: #f0e9e1;
  background: linear-gradient(-45deg, #ebe2d7 25%, #f0e9e1 0, #f0e9e1 50%, #ebe2d7 0, #ebe2d7 75%, #f0e9e1 0);
  background-size: 20px 20px;
}

section#hydrocerapy .explanation {
  margin: 50px 0;
  position: relative;
}

section#hydrocerapy .explanation .square {
  display: inline-block;
  vertical-align: middle;
  background: #e6b928;
  width: 200px;
  height: 200px;
  position: relative;
  margin-right: 30px;
}

section#hydrocerapy .explanation em {
  font-size: 33px;
  font-size: 3.3rem;
  text-align: center;
  font-family: 'Hina Mincho', serif;
  position: absolute;
  left: 0;
  right: 0;
  top: 13%;
  margin: auto;
  line-height: 150%;
  height: 200px;
}

section#hydrocerapy .explanation .para {
  width: calc(100% - (200px + 30px + 140px + 20px));
  display: inline-block;
  vertical-align: middle;
  position: relative;
}

section#hydrocerapy .explanation .para p {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 180%;
}

section#hydrocerapy .explanation .para p .marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #FFCCCC));
  background: linear-gradient(transparent 60%, #FFCCCC 0%);
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}

section#hydrocerapy .explanation .para small {
  display: block;
  margin-top: 20px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 160%;
}

section#hydrocerapy .explanation img.dog {
  position: absolute;
  right: 0;
  top: 0;
  width: 140px;
}

section#hydrocerapy .hydro-menu {
  margin: 20px auto;
}

section#hydrocerapy .hydro-menu .swiper .swiper-slide {
  opacity: 0;
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
}

section#hydrocerapy .hydro-menu .swiper-initialized .swiper-slide {
  opacity: 1;
}

section#hydrocerapy .hydro-menu .list {
  margin-bottom: 20px;
}

section#hydrocerapy .hydro-menu .list .popup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-pack: center;
  -moz-align-items: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: .1rem solid #ddd;
  border-radius: 1.6rem;
  overflow: hidden;
  min-height: 200px;
  width: 100%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
  /*
        &:hover{
          box-shadow: 1px 4px 3px 2px rgba(0, 0, 0, 0.2);

          >figure{
            figcaption{opacity: 0;}
          }
        }
        */
}

section#hydrocerapy .hydro-menu .list .popup figure {
  position: relative;
  overflow: hidden;
}

section#hydrocerapy .hydro-menu .list .popup figure img {
  -webkit-transition: .3s;
  transition: .3s;
}

section#hydrocerapy .hydro-menu .list .popup figure figcaption {
  opacity: 1;
  -webkit-transition: .3s;
  transition: .3s;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
}

section#hydrocerapy .hydro-menu .list .popup figure figcaption .txt_box {
  position: relative;
  width: 100%;
  height: 100%;
}

section#hydrocerapy .hydro-menu .list .popup figure figcaption .txt_box > p {
  font-size: 25px;
  font-size: 2.5rem;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: rgba(255, 255, 255, 0.8);
  font-family: 'Lora', serif;
}

section#hydrocerapy .hydro-menu .list figure {
  width: 45%;
}

section#hydrocerapy .hydro-menu .list figure img {
  width: 80%;
  margin: 30px auto;
  display: block;
  border-radius: 1.6rem;
}

section#hydrocerapy .hydro-menu .list .text {
  width: 50%;
  padding-right: 5%;
}

section#hydrocerapy .hydro-menu .list .text h3 {
  position: relative;
  padding-left: 60px;
  font-size: 23px;
  font-size: 2.3rem;
  color: #5c3817;
  margin-bottom: 20px;
}

section#hydrocerapy .hydro-menu .list .text h3::before {
  content: attr(data-number);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: rgba(230, 185, 40, 0.8);
  font-size: 50px;
  font-size: 5rem;
}

section#hydrocerapy .hydro-menu .list .text h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100px;
  height: 1px;
  background-color: #e6b928;
}

section#hydrocerapy .hydro-menu .list .text p {
  color: #333;
}

section#hydrocerapy .hydro-menu .swiper-pagination {
  width: 100%;
  position: absolute;
  bottom: 30px;
  left: 0;
  text-align: center;
  z-index: 1;
}

section#hydrocerapy .hydro-menu .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
  background: #aaa;
  margin: 0 5px;
}

section#hydrocerapy .hydro-menu .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #75b24a;
}

section#hydrocerapy .hydro-menu .swiper-button {
  position: absolute;
  top: 35%;
  width: 60px;
  height: 60px;
  background: #75b24a;
  border-radius: 50%;
  z-index: 1;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#hydrocerapy .hydro-menu .swiper-button:hover {
  -webkit-box-shadow: 0 0 5px gray;
          box-shadow: 0 0 5px gray;
}

section#hydrocerapy .hydro-menu .swiper-button::after {
  content: "";
  display: block;
  position: absolute;
  width: 17px;
  height: 17px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  top: calc((60px /2) - 10px);
}

section#hydrocerapy .hydro-menu .swiper-button#prev {
  left: 3%;
}

section#hydrocerapy .hydro-menu .swiper-button#prev::after {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  left: calc((60px /2) - 7px);
}

section#hydrocerapy .hydro-menu .swiper-button#next {
  right: 3%;
}

section#hydrocerapy .hydro-menu .swiper-button#next::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: calc((60px /2) - 7px);
}

section#hydrocerapy .price {
  text-align: center;
  margin: 60px auto 20px;
  /*
    p{
      margin:1rem 0;
      text-align: left;
      @include font-size(14);
      padding-left: 10%;
    }
    */
}

section#hydrocerapy .price h3 {
  font-weight: normal;
  margin-bottom: 0.5rem;
}

section#hydrocerapy .price h3 span {
  font-size: 25px;
  font-size: 2.5rem;
  color: #C8AA6E;
  position: relative;
  display: inline-block;
  padding: 0 55px;
}

section#hydrocerapy .price h3 span:before, section#hydrocerapy .price h3 span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #C8AA6E;
}

section#hydrocerapy .price h3 span:before {
  left: 0;
}

section#hydrocerapy .price h3 span:after {
  right: 0;
}

section#hydrocerapy .price h3 small {
  font-size: 13px;
  font-size: 1.3rem;
  display: block;
  color: #5c3817;
}

section#hydrocerapy .price table {
  border-collapse: collapse;
  margin: 0 auto;
  background: #f6f3f0;
  width: 80%;
}

section#hydrocerapy .price table thead {
  background: #847469;
  color: #fff;
}

section#hydrocerapy .price table th {
  font-weight: normal;
}

section#hydrocerapy .price table th, section#hydrocerapy .price table td {
  padding: 1rem;
  font-size: 16px;
  font-size: 1.6rem;
  border: 1px solid #5c3817;
  width: 25%;
}

section#hydrocerapy .price table th small, section#hydrocerapy .price table td small {
  display: block;
}

section#hydrocerapy .price table tbody th {
  background-color: rgba(92, 56, 23, 0.3);
}

section#hydrocerapy .price ul {
  margin: 1rem auto;
  text-align: left;
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 10%;
  line-height: 180%;
}

section#hydrocerapy .price ul li {
  margin-bottom: 0;
}

section#hydrocerapy .price ul li::before {
  content: "※";
  display: inline-block;
}

section#hydrocerapy .price ul li .em {
  font-weight: bold;
  color: #679328;
}

@media screen and (max-width: 640px) {
  section#hydrocerapy {
    padding-bottom: 30px;
  }
  section#hydrocerapy .inner {
    width: 90%;
    margin: auto;
  }
  section#hydrocerapy .explanation {
    margin-bottom: 40px;
  }
  section#hydrocerapy .explanation .square {
    margin-left: 10%;
  }
  section#hydrocerapy .explanation img.dog {
    right: 15%;
    top: 10px;
  }
  section#hydrocerapy .explanation .para {
    display: block;
    width: 90%;
    margin: 50px auto 0;
  }
  section#hydrocerapy .hydro-menu {
    margin-bottom: 0;
  }
  section#hydrocerapy .hydro-menu .swiper-pagination {
    bottom: 0px;
  }
  section#hydrocerapy .hydro-menu .list .popup {
    display: block;
  }
  section#hydrocerapy .hydro-menu .list figure {
    width: 90%;
    margin: auto;
  }
  section#hydrocerapy .hydro-menu .list .text {
    width: 80%;
    padding: 0;
    margin: 0px auto 30px;
  }
  section#hydrocerapy .price table {
    width: 85%;
  }
  section#hydrocerapy .price ul {
    width: 85%;
    padding-left: 0;
  }
}

@media screen and (max-width: 600px) {
  section#hydrocerapy .hydro-menu .list .popup {
    width: 90%;
    margin: auto;
  }
}

@media screen and (max-width: 550px) {
  section#hydrocerapy .explanation .square {
    margin-left: 7%;
  }
  section#hydrocerapy .explanation img.dog {
    right: 10%;
  }
}

@media screen and (max-width: 500px) {
  section#hydrocerapy .explanation .square {
    width: 180px;
    height: 180px;
  }
  section#hydrocerapy .explanation em {
    font-size: 30px;
    font-size: 3rem;
    height: 180px;
  }
  section#hydrocerapy .explanation img.dog {
    width: 130px;
  }
  section#hydrocerapy .explanation .para {
    margin: 30px auto;
  }
  section#hydrocerapy .explanation .para p {
    font-size: 16px;
    font-size: 1.6rem;
  }
  section#hydrocerapy .explanation .para p .marker {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media screen and (max-width: 450px) {
  section#hydrocerapy .explanation {
    margin-bottom: 30px;
  }
  section#hydrocerapy .explanation .square {
    margin-left: 5%;
  }
  section#hydrocerapy .explanation img.dog {
    right: 7%;
  }
  section#hydrocerapy .explanation .para {
    margin-top: 25px;
  }
  section#hydrocerapy .explanation .para small {
    margin-top: 15px;
  }
  section#hydrocerapy .hydro-menu .list .text h3 {
    font-size: 20px;
    font-size: 2rem;
  }
  section#hydrocerapy .hydro-menu .list .text p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 160%;
  }
  section#hydrocerapy .price {
    margin-top: 30px;
  }
  section#hydrocerapy .price table {
    width: 90%;
  }
  section#hydrocerapy .price table th, section#hydrocerapy .price table td {
    padding: 1rem 0.5rem;
    font-size: 15px;
    font-size: 1.5rem;
  }
  section#hydrocerapy .price ul {
    width: 90%;
  }
}

@media screen and (max-width: 400px) {
  section#hydrocerapy {
    padding-bottom: 20px;
  }
  section#hydrocerapy .explanation .square {
    width: 160px;
    height: 160px;
  }
  section#hydrocerapy .explanation em {
    font-size: 27px;
    font-size: 2.7rem;
    height: 160px;
  }
  section#hydrocerapy .explanation img.dog {
    width: 120px;
  }
  section#hydrocerapy .explanation .para {
    width: 96%;
  }
  section#hydrocerapy .hydro-menu .swiper-button {
    top: 33%;
  }
  section#hydrocerapy .price table th, section#hydrocerapy .price table td {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 380px) {
  section#hydrocerapy .explanation .para {
    margin: 30px auto;
  }
  section#hydrocerapy .explanation .para p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section#hydrocerapy .explanation .para p .marker {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 370px) {
  section#hydrocerapy .explanation .square {
    width: 145px;
    height: 145px;
  }
  section#hydrocerapy .explanation em {
    font-size: 25px;
    font-size: 2.5rem;
    height: 145px;
  }
  section#hydrocerapy .explanation img.dog {
    width: 110px;
  }
}

@media screen and (max-width: 350px) {
  section#hydrocerapy .explanation {
    margin-bottom: 25px;
  }
  section#hydrocerapy .explanation .para {
    margin-top: 20px;
  }
  section#hydrocerapy .explanation .para small {
    margin-top: 10px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  section#hydrocerapy .hydro-menu .swiper-button {
    top: 30%;
  }
  section#hydrocerapy .hydro-menu .list .text h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
  section#hydrocerapy .hydro-menu .list .text p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 340px) {
  section#hydrocerapy .explanation .square {
    margin-left: 3%;
  }
  section#hydrocerapy .explanation img.dog {
    right: 5%;
  }
}

section#blog {
  text-align: center;
  padding-bottom: 0;
}

section#blog a.banner {
  background-position: center center;
  background: #fff url(./images/mokume.jpg) no-repeat;
  background-size: cover;
  max-width: 900px;
  margin: 10px auto;
  width: 90%;
  padding: 15px;
  border-radius: 7px;
  -webkit-box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#blog a.banner img {
  max-width: 900px;
  width: 100%;
  vertical-align: top;
}

section#blog a.banner:hover {
  -webkit-box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 640px) {
  section#blog {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 480px) {
  section#blog {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  section#blog a.banner {
    padding: 10px;
  }
}

@media screen and (max-width: 330px) {
  section#blog {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

section#contact {
  text-align: center;
}

section#contact .columns {
  margin-bottom: 70px;
}

section#contact .columns:after {
  content: "";
  display: block;
  clear: both;
}

section#contact .column {
  height: 400px;
  width: 50%;
  float: left;
  color: #fff;
}

section#contact .column .inner {
  width: 80%;
  margin: 30px auto;
}

section#contact .column h2 {
  font-family: 'Cinzel', serif;
  font-size: 40px;
  font-size: 4rem;
  font-weight: normal;
  margin-bottom: 2rem;
}

section#contact .column .image {
  display: block;
  width: 110px;
  margin: 0 auto 20px;
}

section#contact .column p {
  padding: 0;
  font-size: 15px;
  font-size: 1.5rem;
}

section#contact .phone {
  background: #e6b928;
}

section#contact .phone h3 {
  font-weight: normal;
  font-size: 19px;
  font-size: 1.9rem;
  margin: 2.5rem 0 0;
}

section#contact .phone .tel {
  margin-bottom: 1rem;
}

section#contact .phone .tel tel, section#contact .phone .tel a {
  font-size: 37px;
  font-size: 3.7rem;
  display: inline-block;
  vertical-align: middle;
}

section#contact .phone .tel tel:before, section#contact .phone .tel a:before {
  font-family: 'FontAwesome';
  content: "\f095";
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.3rem;
}

section#contact .phone .tel a {
  color: #ffffff;
  display: none;
}

section#contact .phone .tel a:visited {
  color: #ffffff !important;
}

section#contact .phone .hours {
  font-size: 15px;
  font-size: 1.5rem;
}

section#contact .mail {
  background: #75b24a;
}

section#contact .mail .link {
  margin: 20px 0 0;
}

section#contact .mail .link a {
  color: #fff;
  border: 2px solid;
  border-radius: 30px;
  padding: 1rem 1.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

section#contact .mail .link a:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

section#contact .mail .link a span {
  display: inline-block;
  vertical-align: middle;
}

section#contact .mail .link a span:before {
  font-family: 'FontAwesome';
  content: "\f003";
  font-size: 22px;
  font-size: 2.2rem;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0.2rem;
  margin-right: 0.5rem;
}

@media screen and (max-width: 640px) {
  section#contact {
    padding-top: 0;
    padding-bottom: 30px;
  }
  section#contact .columns {
    margin-bottom: 50px;
  }
  section#contact .column {
    width: 100%;
    float: none;
    height: auto;
    padding: 30px 0 50px;
  }
  section#contact .column .inner {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }
  section#contact .phone .tel tel {
    display: none;
  }
  section#contact .phone .tel a {
    display: block;
  }
}

@media screen and (max-width: 480px) {
  section#contact .phone .hours span {
    display: none;
  }
}

footer {
  position: relative;
  background: #75b24a;
  color: #fff;
  text-align: center;
}

footer::after {
  content: '';
  position: absolute;
  right: 0;
  left: -0%;
  bottom: 100%;
  z-index: 10;
  display: block;
  height: 21px;
  background-size: 20px 100%;
  background-image: linear-gradient(-45deg, #75b24a 25%, transparent 25%), linear-gradient(45deg, #75b24a 25%, transparent 25%);
  background-position: 0 0;
  margin-bottom: -1px;
}

footer #footer {
  margin: 0 auto;
  padding: 30px 0;
}

footer .row {
  position: relative;
}

footer img.dog {
  width: 120px;
  right: -50px;
  top: -70px;
  position: absolute;
  z-index: 15;
}

footer a:hover, footer a:focus, footer a:active, footer a:visited {
  color: #fff;
}

footer a {
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

footer a:hover {
  opacity: 0.7;
}

footer .footer-menu {
  text-align: left;
  margin-bottom: 70px;
}

footer .footer-menu ul {
  padding: 0;
  font-size: 15px;
  font-size: 1.5rem;
}

footer .footer-menu ul li {
  display: inline-block;
  vertical-align: top;
  margin-right: 3rem;
}

footer .footer-logo {
  margin-bottom: 20px;
}

footer .footer-logo a:hover {
  opacity: 1.0;
}

footer .footer-logo img {
  width: 100px;
}

footer .access {
  font-size: 14px;
  font-size: 1.4rem;
}

footer .sns {
  margin-top: 20px;
}

footer .sns > div {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px;
}

footer .sns a#ameblo {
  background: #fff;
  padding: 0 0.5rem 0.5rem;
  border-radius: 5px;
}

footer .sns a#ameblo span {
  color: #75b24a;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
}

footer .sns a#insta .fa-instagram {
  margin-top: 3px;
}

footer .sns a#insta .fa-instagram::before {
  font-size: 37px;
  font-size: 3.7rem;
}

footer .copyright {
  background: #333;
}

@media screen and (max-width: 640px) {
  footer img.dog {
    width: 85px;
    right: 40px;
    top: 50px;
  }
  footer .footer-menu {
    margin-bottom: 30px;
  }
  footer .footer-menu ul li {
    width: 200px;
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 550px) {
  footer .footer-menu ul li {
    width: 170px;
  }
}

@media screen and (max-width: 500px) {
  footer img.dog {
    width: 75px;
    right: 20px;
    top: 70px;
  }
}

@media screen and (max-width: 450px) {
  footer .footer-menu ul {
    font-size: 14px;
    font-size: 1.4rem;
  }
  footer .footer-menu ul li {
    width: 140px;
  }
}

@media screen and (max-width: 400px) {
  footer img.dog {
    top: 90px;
  }
  footer .copyright {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 350px) {
  footer img.dog {
    width: 60px;
    right: 10px;
    top: 120px;
  }
}

.sub-header {
  background-image: url(./images/mokume.jpg?202209021425);
  background-position: center 15%;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.sub-header h1 {
  font-family: 'Kiwi Maru', serif;
  font-weight: normal;
  text-align: center;
  color: #8e6e2f;
  font-size: 40px;
  font-size: 4rem;
  text-shadow: 1px 2px 3px #606060;
  margin: 0 auto;
}

section.sub-header {
  padding-top: 50px;
  padding-bottom: 50px;
}

section.sub-header .topicpath {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .sub-header {
    margin-top: -2px;
  }
  .sub-header h1 {
    font-size: 38px;
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 550px) {
  .sub-header h1 {
    font-size: 35px;
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 450px) {
  section.sub-header {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .sub-header h1 {
    font-size: 32px;
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 400px) {
  .sub-header h1 {
    font-size: 30px;
    font-size: 3rem;
  }
}

@media screen and (max-width: 350px) {
  .sub-header h1 {
    font-size: 28px;
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 320px) {
  section.sub-header {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .sub-header h1 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

.topicpath {
  background: rgba(255, 255, 255, 0.5);
  background: rgba(117, 178, 74, 0.5);
}

.topicpath ul {
  padding: 5px 5%;
}

.topicpath ul li {
  display: inline-block;
  vertical-align: middle;
  margin-left: 1rem;
  font-size: 13px;
  font-size: 1.3rem;
}

.topicpath ul li:not(:first-child)::before {
  font-family: 'FontAwesome';
  content: "\f105";
  margin-right: 0.5rem;
}

@media screen and (max-width: 450px) {
  .topicpath ul li {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

/*****プライバシーポリシーページ*****/
body#second.privacy-policy section#privacy .intro h2 {
  text-align: center;
  margin-bottom: 2rem;
}

body#second.privacy-policy section#privacy .intro p {
  margin-bottom: 50px;
}

body#second.privacy-policy section#privacy dl {
  margin-bottom: 30px;
}

body#second.privacy-policy section#privacy dl dt h3 {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 1.5rem;
}

body#second.privacy-policy section#privacy dl dd {
  margin: 0;
}

body#second.privacy-policy section#privacy dl dd p {
  margin-bottom: 1.5rem;
  line-height: 160%;
}

@media only screen and (max-width: 640px) {
  body#second.privacy-policy section#privacy .inner {
    width: 90%;
    margin: 0 auto;
  }
}

@media only screen and (max-width: 480px) {
  body#second.privacy-policy section#privacy .intro h2 {
    font-size: 22px;
    font-size: 2.2rem;
  }
  body#second.privacy-policy section#privacy .intro p {
    font-size: 16px;
    font-size: 1.6rem;
  }
  body#second.privacy-policy section#privacy dl dd p {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 400px) {
  body#second.privacy-policy section#privacy .intro h2 {
    font-size: 20px;
    font-size: 2rem;
  }
  body#second.privacy-policy section#privacy .intro p {
    font-size: 15px;
    font-size: 1.5rem;
  }
  body#second.privacy-policy section#privacy dl dt h3 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  body#second.privacy-policy section#privacy dl dd p {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 320px) {
  body#second.privacy-policy section#privacy .intro h2 {
    font-size: 19px;
    font-size: 1.9rem;
  }
  body#second.privacy-policy section#privacy .intro p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  body#second.privacy-policy section#privacy dl dt h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  body#second.privacy-policy section#privacy dl dd p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/*****お知らせ一覧,詳細ページ*****/
body#second.news section#news {
  margin-bottom: 100px;
}

body#second.news section#news .inner {
  margin-top: 0;
}

body#second.news section#news h2.sec-header {
  margin-bottom: 50px;
}

body#second.news section#news .entry-header {
  text-align: center;
  margin-bottom: 40px;
}

body#second.news section#news .entry-header h2 {
  font-size: 27px;
  font-size: 2.7rem;
  line-height: 150%;
}

body#second.news section#news .post-thumbnail {
  text-align: center;
  margin-bottom: 40px;
}

body#second.news section#news .post-thumbnail img {
  max-width: 100%;
  width: auto;
  height: auto;
}

body#second.news section#news .news-editor {
  font-size: inherit;
  padding: 1rem 3rem;
  line-height: 180%;
}

body#second.news section#news .posts-navigation {
  margin: 70px auto;
}

body#second.news section#news .screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

body#second.news section#news .nav-links {
  width: 200px;
  margin: auto;
}

body#second.news section#news .nav-links:after {
  content: "";
  display: block;
  clear: both;
}

body#second.news section#news .nav-links .nav-previous a, body#second.news section#news .nav-links .nav-next a {
  position: relative;
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

body#second.news section#news .nav-links .nav-previous a:hover, body#second.news section#news .nav-links .nav-next a:hover {
  opacity: 0.7;
}

body#second.news section#news .nav-links .nav-previous a::before, body#second.news section#news .nav-links .nav-next a::before {
  font-size: 20px;
  font-size: 2rem;
  color: #75b24a;
  position: absolute;
  top: -4px;
}

body#second.news section#news .nav-previous {
  float: left;
}

body#second.news section#news .nav-previous a::before {
  font-family: 'FontAwesome';
  content: "\f104";
  left: -1.5rem;
}

body#second.news section#news .nav-next {
  float: right;
}

body#second.news section#news .nav-next a::before {
  font-family: 'FontAwesome';
  content: "\f105";
  right: -1.5rem;
}

@media only screen and (max-width: 640px) {
  body#second.news section#news .inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  body#second.news section#news .entry-header {
    margin-bottom: 30px;
  }
  body#second.news section#news .news-editor {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media only screen and (max-width: 450px) {
  body#second.news section#news .entry-header {
    margin-bottom: 20px;
  }
  body#second.news section#news .entry-header h2 {
    font-size: 25px;
    font-size: 2.5rem;
  }
  body#second.news section#news .news-editor {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}

@media only screen and (max-width: 350px) {
  body#second.news section#news .entry-header h2 {
    font-size: 23px;
    font-size: 2.3rem;
  }
}

/*****モーダルウィンドウ*****/
.btnMail {
  cursor: none;
  float: left;
  color: #333;
  font-size: 10px;
  font-size: 1rem;
}

.btnMail:hover {
  color: #333;
}

.modalwrap {
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 500;
}

.modalwrap .modal-back {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.modalwrap .modal {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: auto;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-height: 100vh;
  overflow-y: auto;
  background: #fff;
  width: 95%;
  max-width: 640px;
}

.modalwrap .modal-header {
  width: 99%;
  margin-top: 10px;
}

.modalwrap .modal-header::after {
  content: "";
  display: block;
  clear: both;
}

.modalwrap .modal-header .close {
  color: #75b24a;
  float: right;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.modalwrap .modal-header .close:hover {
  opacity: 0.7;
}

.modalwrap .modal-header .close:hover i.square {
  background: #f2f2f2;
}

.modalwrap .modal-header .close span {
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;
  font-weight: bold;
}

.modalwrap .modal-header .close span.sp {
  display: none;
}

.modalwrap .modal-header .close i.square {
  position: relative;
  width: 35px;
  height: 37px;
  border: none;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #5c3817;
}

.modalwrap .modal-header .close i.square::before, .modalwrap .modal-header .close i.square::after {
  position: absolute;
  top: 48%;
  left: -1px;
  content: "";
  display: block;
  width: 36px;
  border-top: 2px solid #679328;
}

.modalwrap .modal-header .close i.square::before {
  -webkit-transform: skewY(-46deg);
          transform: skewY(-46deg);
}

.modalwrap .modal-header .close i.square::after {
  -webkit-transform: skewY(46deg);
          transform: skewY(46deg);
}

.modalwrap .modal-contents {
  width: 90%;
  margin: auto;
}

.modalwrap .modal-contents h3 {
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  color: #5c3817;
  margin-bottom: 20px;
}

@media screen and (max-width: 350px) {
  .modalwrap .modal-contents h3 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 640px) {
  .modalwrap .modal {
    width: 96%;
    max-width: auto;
    padding-top: 50px;
    padding-bottom: 70px;
  }
}

/*
@media screen and (max-width:500px){
  .modalwrap{
    .modal{
      padding-top: 50px;
      padding-bottom: 70px;
    }
  }
}
*/
#modal-mail dl {
  margin: 0 0 10px 0;
  padding: 0;
  color: #5c3817;
}

#modal-mail dl dt {
  display: inline-block;
  vertical-align: top;
  width: 30%;
  margin: 0;
  margin-right: 2%;
  padding: 0;
  position: relative;
  line-height: 120%;
  padding-top: 0.5rem;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
}

#modal-mail dl.need-after dt:after, #modal-mail dl.need-after2 dt:after {
  content: "必須";
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1em;
  padding: 5px 1px 7px;
  background: #d62b23;
  color: #FFF;
  display: block;
  border-radius: 3px;
  position: absolute;
  top: 0.2rem;
  width: 3.5rem;
  text-align: center;
}

#modal-mail dl.need-after dt:after {
  right: 0;
}

#modal-mail dl.need-after2 dt:after {
  left: 14rem;
}

#modal-mail dl dd {
  padding-left: 10px;
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 64%;
  margin: 0;
  padding: 0;
}

#modal-mail form input[type="text"], #modal-mail form input[type="email"], #modal-mail form input[type="url"], #modal-mail form input[type="password"], #modal-mail form input[type="search"], #modal-mail form input[type="number"], #modal-mail form input[type="tel"], #modal-mail form input[type="range"], #modal-mail form input[type="date"], #modal-mail form input[type="month"], #modal-mail form input[type="week"], #modal-mail form input[type="time"], #modal-mail form input[type="datetime"], #modal-mail form input[type="datetime-local"], #modal-mail form input[type="color"], #modal-mail form textarea, #modal-mail form select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #e0e0e0;
  padding: 0.5rem 1rem;
  width: 100%;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}

#modal-mail form input[type="text"]::-webkit-input-placeholder, #modal-mail form input[type="email"]::-webkit-input-placeholder, #modal-mail form input[type="url"]::-webkit-input-placeholder, #modal-mail form input[type="password"]::-webkit-input-placeholder, #modal-mail form input[type="search"]::-webkit-input-placeholder, #modal-mail form input[type="number"]::-webkit-input-placeholder, #modal-mail form input[type="tel"]::-webkit-input-placeholder, #modal-mail form input[type="range"]::-webkit-input-placeholder, #modal-mail form input[type="date"]::-webkit-input-placeholder, #modal-mail form input[type="month"]::-webkit-input-placeholder, #modal-mail form input[type="week"]::-webkit-input-placeholder, #modal-mail form input[type="time"]::-webkit-input-placeholder, #modal-mail form input[type="datetime"]::-webkit-input-placeholder, #modal-mail form input[type="datetime-local"]::-webkit-input-placeholder, #modal-mail form input[type="color"]::-webkit-input-placeholder, #modal-mail form textarea::-webkit-input-placeholder, #modal-mail form select::-webkit-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form input[type="text"]:-ms-input-placeholder, #modal-mail form input[type="email"]:-ms-input-placeholder, #modal-mail form input[type="url"]:-ms-input-placeholder, #modal-mail form input[type="password"]:-ms-input-placeholder, #modal-mail form input[type="search"]:-ms-input-placeholder, #modal-mail form input[type="number"]:-ms-input-placeholder, #modal-mail form input[type="tel"]:-ms-input-placeholder, #modal-mail form input[type="range"]:-ms-input-placeholder, #modal-mail form input[type="date"]:-ms-input-placeholder, #modal-mail form input[type="month"]:-ms-input-placeholder, #modal-mail form input[type="week"]:-ms-input-placeholder, #modal-mail form input[type="time"]:-ms-input-placeholder, #modal-mail form input[type="datetime"]:-ms-input-placeholder, #modal-mail form input[type="datetime-local"]:-ms-input-placeholder, #modal-mail form input[type="color"]:-ms-input-placeholder, #modal-mail form textarea:-ms-input-placeholder, #modal-mail form select:-ms-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form input[type="text"]::-ms-input-placeholder, #modal-mail form input[type="email"]::-ms-input-placeholder, #modal-mail form input[type="url"]::-ms-input-placeholder, #modal-mail form input[type="password"]::-ms-input-placeholder, #modal-mail form input[type="search"]::-ms-input-placeholder, #modal-mail form input[type="number"]::-ms-input-placeholder, #modal-mail form input[type="tel"]::-ms-input-placeholder, #modal-mail form input[type="range"]::-ms-input-placeholder, #modal-mail form input[type="date"]::-ms-input-placeholder, #modal-mail form input[type="month"]::-ms-input-placeholder, #modal-mail form input[type="week"]::-ms-input-placeholder, #modal-mail form input[type="time"]::-ms-input-placeholder, #modal-mail form input[type="datetime"]::-ms-input-placeholder, #modal-mail form input[type="datetime-local"]::-ms-input-placeholder, #modal-mail form input[type="color"]::-ms-input-placeholder, #modal-mail form textarea::-ms-input-placeholder, #modal-mail form select::-ms-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form input[type="text"]::placeholder, #modal-mail form input[type="email"]::placeholder, #modal-mail form input[type="url"]::placeholder, #modal-mail form input[type="password"]::placeholder, #modal-mail form input[type="search"]::placeholder, #modal-mail form input[type="number"]::placeholder, #modal-mail form input[type="tel"]::placeholder, #modal-mail form input[type="range"]::placeholder, #modal-mail form input[type="date"]::placeholder, #modal-mail form input[type="month"]::placeholder, #modal-mail form input[type="week"]::placeholder, #modal-mail form input[type="time"]::placeholder, #modal-mail form input[type="datetime"]::placeholder, #modal-mail form input[type="datetime-local"]::placeholder, #modal-mail form input[type="color"]::placeholder, #modal-mail form textarea::placeholder, #modal-mail form select::placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 200px;
  padding: 0.5rem 1rem;
  line-height: 150%;
}

#modal-mail form textarea::-webkit-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form textarea:-ms-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form textarea::-ms-input-placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form textarea::placeholder {
  opacity: 1;
  color: #b4b4b4;
}

#modal-mail form .bnSend {
  text-align: center;
  margin: 15px auto 0;
}

#modal-mail form .bnSend input[type="submit"] {
  background: #679328;
  padding: 0.7rem 6rem;
  border: 1px solid #e0e0e0;
  color: #fff;
  border-radius: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

#modal-mail form .bnSend input[type="submit"]:hover {
  opacity: 0.7;
}

@media screen and (max-width: 640px) {
  #modal-mail dl {
    margin-bottom: 10px;
  }
  #modal-mail dl dt {
    width: 100%;
    margin-bottom: 5px;
  }
  #modal-mail dl dt p {
    float: left;
  }
  #modal-mail dl dt:after {
    content: "";
    display: block;
    clear: both;
  }
  #modal-mail dl.need-after dt:after, #modal-mail dl.need-after2 dt:after {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-left: 0.7rem;
    top: -0.2rem;
  }
  #modal-mail dl dd {
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  #modal-mail form textarea {
    height: 150px;
  }
}

div.wpcf7 .wpcf7-spinner {
  display: block;
}

div.wpcf7 .wpcf7-not-valid-tip {
  color: #ff0000;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: bold;
}

div.wpcf7 .wpcf7-not-valid-tip:before {
  content: "※";
  font-size: 12px;
  font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
  div.wpcf7 .wpcf7-response-output {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 350px) {
  div.wpcf7 .wpcf7-response-output {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

#pagetop {
  position: fixed;
  right: 15px;
  bottom: 40px;
  z-index: 200;
}

#pagetop a {
  position: relative;
  width: 70px;
  height: 70px;
  background: #e6b928;
  border-radius: 50%;
  line-height: 50px;
  background: #5c3817;
  color: #fff;
  display: inline-block;
  position: relative;
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.2);
}

#pagetop a::before {
  font-family: 'FontAwesome';
  content: "\f102";
  font-size: 30px;
  position: absolute;
  width: 30px;
  height: 30px;
  top: -50px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

#pagetop a::after {
  content: 'PAGE TOP';
  font-size: 10px;
  position: absolute;
  top: 18px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*404ページ*/
.error-404 {
  text-align: center;
  padding: 100px 0 150px;
}

.error-404 .txt_404 {
  line-height: 180%;
  margin: 1rem auto 40px;
}

.error-404 a {
  background: #75b24a;
  padding: 0.7rem 6rem;
  color: #fff;
  border-radius: 10px;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.error-404 a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 640px) {
  .error-404 {
    padding-top: 30px;
  }
  .error-404 .txt_404 {
    width: 90%;
  }
}

@media only screen and (max-width: 480px) {
  .error-404 .txt_404 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media only screen and (max-width: 320px) {
  .error-404 .txt_404 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/*# sourceMappingURL=style.css.map */