@charset "UTF-8";
/* Scss Document */
/* motion-> */
/*
	animation -- 固有名 -- 動作時間 -- ease -- 開始遅延 -- 繰り返し -- 正反
	ex) animation: anime1 2s ease 0s infinite alternate;
	*/
.wait {
  opacity: 0;
}

.play.fadeIn {
  -webkit-animation: fadeIn 0.75s ease 0s 1 normal;
  animation: fadeIn 0.75s ease 0s 1 normal;
}

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

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

.play.bounceIn {
  -webkit-animation: bounceIn 0.75s ease 0s 1 normal;
  animation: bounceIn 0.75s ease 0s 1 normal;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
  }
  70% {
    opacity: 0.7;
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  80% {
    opacity: 0.8;
    -webkit-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0, 0);
    transform: scale(0, 0);
  }
  70% {
    opacity: 0.7;
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  80% {
    opacity: 0.8;
    -webkit-transform: scale(0.9, 0.9);
    transform: scale(0.9, 0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
}

.play.slideLeft {
  -webkit-animation: slideLeft 0.75s ease 0s 1 normal;
  animation: slideLeft 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.slideRight {
  -webkit-animation: slideRight 0.75s ease 0s 1 normal;
  animation: slideRight 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-3rem);
    transform: translateX(-3rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-3rem);
    transform: translateX(-3rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.play.slideUp {
  -webkit-animation: slideUp 0.75s ease 0s 1 normal;
  animation: slideUp 0.75s ease 0s 1 normal;
}

@-webkit-keyframes slideUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.play.fadeLeft {
  -webkit-animation: fadeLeft 0.75s ease 0s 1 forwards;
  animation: fadeLeft 0.75s ease 0s 1 forwards;
}

@-webkit-keyframes fadeLeft {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  100% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
}

@keyframes fadeLeft {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  100% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
}

.wait.fadeLeft {
  opacity: 0.99;
}

.play.fadeRight {
  -webkit-animation: fadeRight 0.75s ease 0s 1 forwards;
  animation: fadeRight 0.75s ease 0s 1 forwards;
}

@-webkit-keyframes fadeRight {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  100% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
}

@keyframes fadeRight {
  0% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  100% {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
}

.fadeRight.wait {
  opacity: 0.99;
}

/* ->motion */
body {
  color: #231815;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Open Sans",
    "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  line-height: 1;
  text-align: left;
  background: #fff;
  height: 100%;
}

a:hover img {
  opacity: 0.64;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

div:after,
ul:after,
dl:after,
article:after,
.ac:after {
  content: "";
  display: block;
  clear: both;
}

img {
  max-width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a[href^="tel:"] {
  cursor: default;
}

a[href^="tel:"]:hover img {
  opacity: 1;
}

.overlay {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

.overlay .bg {
  width: 100vw;
  height: 100vh;
  background: white;
  position: absolute;
  top: 0;
  left: 0;
}

.overlay .bg2 {
  width: 100vw;
  height: 100vh;
  background: #ed7700;
  position: absolute;
  top: 0;
  left: 0;
}

.overlay .ready {
  display: none;
  opacity: 0;
}

.overlay .anime {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.overlay .play.anime {
  display: block;
  -webkit-animation: myAnime 1s ease 0s 1 normal;
  animation: myAnime 1s ease 0s 1 normal;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.overlay .anime2 {
  height: 6.5rem;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.overlay .play.anime2 {
  display: block;
  -webkit-animation: myAnime 1s ease 0s 1 normal;
  animation: myAnime 1s ease 0s 1 normal;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes myAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes myAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.overlay .anime3 {
  display: none;
  width: 100vw;
  height: 100vw;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.overlay .play.anime3 {
  display: block;
  opacity: 1;
  -webkit-animation: myAnime2 1.75s ease-out 0s 1 normal;
  animation: myAnime2 1.75s ease-out 0s 1 normal;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@keyframes myAnime2 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(2.5);
  }
}

.overlay .circle {
  width: 2.5rem;
  height: 2.5rem;
  margin: auto;
  border-radius: 50%;
  border: 3px solid #fff;
  border-right-color: transparent;
  box-sizing: border-box;
  position: fixed;
  top: calc(50% - 1.25em);
  left: calc(50% - 1.25em);
  animation: loaderAnime 1.5s linear infinite;
  -webkit-animation: loaderAnime 1.5s linear infinite;
  z-index: 98;
}

@keyframes loaderAnime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@-webkit-keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

/* header */
.header {
  position: relative;
}

.header .headerContents .h1 {
  position: absolute;
  left: 4em;
  top: 3.25em;
  z-index: 2;
}

.header .headerContents .h1 img {
  height: 4.25rem;
}

.header .headerContents .menu {
  width: 2.75rem;
  height: 2.75rem;
  position: fixed;
  right: 2em;
  top: 2em;
  cursor: pointer;
  z-index: 99;
}

.header .headerContents .menu span {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  background: #000;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.header .headerContents .menu .span {
  top: calc(50% - 9px);
}

.header .headerContents .menu .span2 {
  bottom: calc(50% - 1px);
  opacity: 1;
}

.header .headerContents .menu .span3 {
  bottom: calc(50% - 9px);
}

.header .headerContents .menu.open span {
  background: #fff;
}

.header .headerContents .menu.open .span {
  top: calc(50% - 1px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.header .headerContents .menu.open .span2 {
  opacity: 0;
}

.header .headerContents .menu.open .span3 {
  bottom: calc(50% - 1px);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.header .headerContents nav {
  display: none;
  background: #ed7700;
  color: #fff;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 98;
}

.header .headerContents nav ul.nav li a {
  display: block;
  color: #fff;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  text-align: center;
  text-indent: 0.1em;
}

.header .headerContents nav .sns {
  position: absolute;
  right: 2.25em;
  bottom: 2.25em;
  text-align: left;
}

.header .headerContents nav .sns li {
  display: inline-block;
  margin-left: 1.5em;
}

.header .headerContents nav .sns li img {
  height: 20px;
}

.header .headerContents nav .sns li:last-child {
  /*display: none;*/
}

.header .headerContents nav figure {
  width: 168px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
}

.header .headerContents nav figure.wait {
  opacity: 0;
}

.header .headerContents nav figure.play {
  animation: myAnime 0.75s ease 0s 1 normal;
}

@keyframes myAnime {
  0% {
    opacity: 0;
    transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* footer */
.footer {
  /*text-align: center;*/
  padding: 3.5em 0;
}

.footer .scroll {
  position: fixed;
  right: 2em;
  bottom: 2em;
  z-index: 97;
}

.footer .scroll img {
  height: 3rem;
}

.footer .top {
  position: fixed;
  right: 2em;
  bottom: 2em;
  z-index: 97;
}

.footer .top img {
  height: 3rem;
}

.footer iframe {
  /*margin: 4em 0 0;*/
}

.footer .body {
  position: relative;
}

.footer .body.body2 {
  margin-top: 9rem;
}

.footer .read {
  margin-bottom: 20px;
  /*margin: 0 0 3.25rem;*/
  /*position: relative;*/
  /*text-align: center;*/
}

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

.footer .read img {
  height: 1.5rem;
  /*margin: 0 auto;*/
}

.footer .tel span {
  font-weight: 500;
  vertical-align: middle;
}
.footer .tel a {
  display: inline-block;
  vertical-align: middle;
}
.footer .tel img {
  display: inline-block;
  height: 3.5rem;
  vertical-align: middle;
}

.footer .contact img {
  height: 5rem;
}

.footer address {
  letter-spacing: 0.025em;
  text-indent: 0.025em;
  line-height: 1.5;
  margin-bottom: 10px;
}

.footer address a {
  color: inherit;
}

.footer .tel span {
  display: inline-block;
}

.footer .map figure {
  padding-top: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.footer .map .gMap {
  position: relative;
}

.footer .map .gMap iframe {
  width: 100%;
  height: 100%;
  margin-top: 0;
  position: absolute;
  left: 0;
  top: 0;
}

.footer .insta {
  margin: 2.5em 0 2em 3em;
}

.footer2 {
  padding: 0 0 3.5em;
}
.footer2 .body {
  display: block !important;
  text-align: center;
  margin-top: 3.5em;
}
.footer2 .read {
  margin: 0 0 3.25rem;
  position: relative;
  text-align: center;
}
.footer2 .read span {
  display: inline-block;
  position: relative;
  background: #fff;
  margin: 0 2.5rem;
  padding: 0 2rem;
  z-index: 2;
}
.footer2 .read::after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.footer-top {
  padding: 3.5em 0 0;
}

.subPage .header .headerContents {
  height: 10rem;
  padding: 5rem 0 0;
}

.subPage .header .headerContents h1 {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  text-align: center;
}

.subPage .header .mainImage {
  margin: 0 4em;
  padding-top: 35%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.subPage .footer {
  margin-top: 9em;
}

.subPage .contents .read {
  margin: calc(-0.375em + 5.25rem) 0 -0.375em;
  font-size: 2rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.025em;
  line-height: 1.75;
  text-indent: 0.025em;
  text-align: center;
}

.subPage .contents h2 {
  width: 100%;
  max-width: 33.5rem;
  margin: 5rem auto 0;
  padding: 2.5rem 1rem 2rem;
  border: 1px solid #231815;
  border-bottom: none;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
  text-align: center;
}

.subPage .contents .a .txtBox {
  background: #fff;
  padding: 2.25em;
}

.subPage .contents .a .txtBox p {
  margin: -0.5em 0;
  line-height: 2;
  letter-spacing: 0.025em;
}

.subPage .contents .a .imgBox {
  padding-top: 89.54%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.subPage .contents .c dl {
  padding: 2.5em 1.5em;
  border-bottom: 1px dotted #231815;
  position: relative;
}

.subPage .contents .c dl dt {
  font-weight: bold;
}

.subPage .contents .c dl dd {
  margin: calc(1.25rem + -0.375em) 0 -0.375em;
  line-height: 1.75;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

.subPage .contents .d {
  width: 100%;
  max-width: 650px;
  margin: 8em auto 0;
}

.subPage .contents .d h3 {
  width: 21.5rem;
  padding: 0.5rem 0;
  margin: 3rem auto 0;
  border: 1px solid rgba(35, 24, 21, 0.5);
  text-align: center;
  letter-spacing: 0.025em;
  line-height: 1.5;
  text-indent: 0.025em;
}

.subPage .contents .d p {
  margin: calc(-0.375em + 3rem) 0 -0.375em;
  letter-spacing: 0.025em;
  line-height: 1.75;
  text-indent: 0.025em;
}

.subPage .contents .d p.center {
  text-align: center;
}

.subPage .contents .imgFxd {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.subPage .contents .txtBox2 {
  width: 100%;
  max-width: 650px;
  margin: 4em auto 0;
}

.subPage .contents .txtBox2 p {
  margin: -0.5em 0;
  line-height: 2;
  letter-spacing: 0.025em;
}

.subPage .contents .imgBox2 {
  width: 100%;
  max-width: 650px;
  margin: 14em auto 0;
}

.subPage .contents .ap .box .link {
  display: block;
  width: 16rem;
  margin: 2.5rem auto 0;
  padding: 1rem 0 0.25rem;
  border: 1px solid rgba(35, 24, 21, 0.5);
  border-bottom: none;
  color: inherit;
  font-size: 1.25rem;
  letter-spacing: 0.025em;
  text-indent: 0.025em;
  text-align: center;
}

.subPage .contents .link2 {
  display: block;
  text-align: center;
  color: inherit;
}

.subPage .contents .link2 img {
  height: 13rem;
  margin: 5.5em auto 1rem;
}

.subPage2 .contents .read + p {
  margin: calc(-0.575em + 4.5rem) 0 -0.575em;
  letter-spacing: 0.05em;
  line-height: 2.15;
  text-indent: 0.05em;
  text-align: center;
}

.subPage2 .contents h2 {
  margin: 5rem auto 0;
  padding: 0;
  border: none;
  font-size: 1.25rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}

.subPage2 .contents h2 + p {
  margin: calc(-0.5em + 2.5rem) 0 -0.5em;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
  line-height: 2;
  text-indent: 0.05em;
  text-align: center;
}

.slide {
  position: relative;
}

.slide .image {
  padding-top: 50%;
  margin: 0 0 7rem;
  position: relative;
}

.slide .image li {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

.slide .image li span {
  display: block;
  width: 100%;
  font-size: 0.8rem;
  text-align: center;
  line-height: 2;
  position: absolute;
  top: calc(100% + 4.5rem);
  left: 0;
}

.slide .thum ul li {
  float: left;
  margin: 3.5em 1.5em 0 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
  cursor: pointer;
  position: relative;
}

.slide .thum ul li.on::after,
.slide .thum ul li:hover::after {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #b3b3b3;
  content: "";
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0;
  right: 0;
  margin: 0 auto;
}

.slide .prev {
  width: 10px;
  position: absolute;
  left: -4rem;
  top: 14.25rem;
  cursor: pointer;
}

.slide .next {
  width: 10px;
  position: absolute;
  right: -4rem;
  top: 14.25rem;
  cursor: pointer;
}

/* form */
.need {
  color: #ff0000;
}

.wpcf7-form {
  margin: 4.5em 0 0;
}

.wpcf7-form dl {
  margin: 0 0 2em 0;
}

.wpcf7-form dt {
  width: 10em;
  float: left;
  line-height: 1.5;
  padding: 0.75em 0;
}

.wpcf7-form dt.br {
  padding: 2px 0;
}

.wpcf7-form dd input[type="text"],
.wpcf7-form dd input[type="email"],
.wpcf7-form dd textarea {
  display: block;
  width: 100% !important;
  line-height: 1.5;
  padding: 0.75em 1em;
  border: 1px solid rgba(0, 0, 0, 0.24);
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wpcf7-form dd input[type="checkbox"] {
  margin: 1em 0 1em 1em;
}

.wpcf7-form dd .wpcf7-radio span {
  display: inline !important;
}

.wpcf7-form dd .wpcf7-radio input {
  display: inline !important;
  width: auto !important;
}

.wpcf7-form p {
  text-align: center;
  position: relative;
}

.wpcf7-form p span {
  display: inline !important;
}

.wpcf7-form p input {
  display: inline-block;
  width: 100%;
  max-width: 200px;
  cursor: pointer;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  padding: 0.5em 0;
  margin: 2em auto;
  background: #e6e6e6;
  border: none;
  -webkit-appearance: none;
}

.wpcf7-form p input:hover {
  opacity: 0.64;
}

.wpcf7c-hide {
  display: none;
}

.wpcf7c-force-hide {
  display: none !important;
}

.wpcf7c-conf {
  color: #ff0000 !important;
  background-color: transparent !important;
  border: none !important;
}

.ajax-loader {
  display: none;
}

.screen-reader-response {
  display: none;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #ff0000 !important;
  font-size: 0.8em !important;
  margin-top: 0.5em;
}

.wpcf7-validation-errors {
  display: block;
  color: #ff0000 !important;
  text-align: center;
  line-height: 1.5;
  padding: 0 !important;
  margin-top: 0.75em !important;
  margin-bottom: -0.25em !important;
  border: none !important;
}

.wpcf7c-elm-step2.message {
  display: block;
  text-align: center;
  line-height: 1.5;
  padding: 0 !important;
  margin-top: 0.75em !important;
  margin-bottom: -0.25em !important;
  border: none !important;
}

.wpcf7-mail-sent-ok {
  display: block;
  color: #ff0000 !important;
  text-align: center;
  line-height: 1.5;
  padding: 0 !important;
  margin-top: 0.75em !important;
  margin-bottom: -0.25em !important;
  border: none !important;
}

.post h2 {
  margin: 7.25rem 0 0;
  padding: 0 0 1rem;
  border-bottom: 1px solid #969696;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.post h3 {
  margin: 4.5rem 0 0;
  font-size: 1.25rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.post h4 {
  margin: 3.25rem auto 0;
  padding: 1rem 0;
  background: #000;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.post p {
  margin: calc(3rem + -0.5em) 0 -0.5em;
  line-height: 2;
}

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

.post p.txt2 {
  margin: calc(3rem + -0.5em) 0 -0.5em;
  text-align: center;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.post p.title {
  margin: -0.5em 0;
  font-size: 13px;
  letter-spacing: 0.025em;
}

.post p.title .date {
  display: inline-block;
  width: 10rem;
}

.post p.link {
  margin: 6rem 0 0;
  line-height: 1;
}

.post p.link a {
  display: block;
  width: 13rem;
  padding: 1rem 0;
  margin: 0 auto;
  border: 1px solid rgba(0, 0, 0, 0.5);
  text-align: center;
  color: inherit;
}

.post .tel {
  line-height: 1;
  margin: 4rem 0 0;
}

.post .tel img {
  height: 32px;
  margin: 0 auto;
}

.post .mail {
  font-size: 1.25rem;
  color: inherit;
}

.post p.mgt15 {
  margin: calc(1.5rem + -0.375em) 0 -0.375em;
}

.post p.txt3 {
  margin: calc(2.5rem + -0.375em) 0 -0.375em;
  text-align: center;
  font-size: 1.5rem;
}

.post a {
  color: #29abe2;
}

.post img {
  margin: 3em auto 0;
}

.post ul {
  margin-top: 2.5rem;
  margin-left: 1.25em;
  list-style: disc none;
}

.post ul li {
  margin: 0.5em 0;
  line-height: 1.5;
}

.post ol {
  list-style: decimal none;
  margin-top: 2.5rem;
  margin-left: 1.25em;
}

.post ol li {
  margin: 0.5em 0;
  line-height: 1.5;
}

.post table {
  margin: 3.5rem auto 0;
  width: 100%;
  max-width: 896px;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.post table th {
  width: 8em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0.75em 0;
  line-height: 1.5;
  font-weight: normal;
}

.post table td {
  padding: 0.75em 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  line-height: 1.5;
}

.post .col3 li {
  float: left;
  margin-top: 3rem;
  margin-right: 1.5rem;
}

.post .col3 li:nth-child(3n) {
  margin-right: 0;
}

.post .col3 li img {
  margin: 0;
}

/* index */
#index {
  position: relative;
}

#index .header .headerContents .h1 {
  position: fixed;
}

#index .header .menu span {
  background: #fff;
}

#index .header .menu.gray span {
  background: #888;
}

#index .footer .body .insta {
  display: none;
}

#index .contents .pageNav {
  width: 3rem;
  margin: auto 0;
  position: fixed;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
  z-index: 9;
}

#index .contents .pageNav li {
  cursor: pointer;
  width: 3rem;
  height: 4.5rem;
  position: relative;
}

#index .contents .pageNav li span {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

#index .contents .pageNav li.on span {
  background-color: #fff;
}

#index .contents .pageNav li:hover span {
  background-color: #fff;
}

#index .contents .pageNav.gray li span {
  border: 1px solid #888;
}

#index .contents .pageNav.gray li.on span {
  background-color: #888;
}

#index .contents .pageNav.gray li:hover span {
  background-color: #888;
}

#index .contents #c .box,
#index .contents #d .box {
  color: inherit;
}

#index .contents .section {
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

#index .contents .section .scroll {
  width: 4rem;
  margin: 0 auto;
  position: absolute;
  bottom: 3em;
  left: 0;
  right: 0;
  z-index: 2;
  -webkit-animation: bounce 2s linear infinite;
  animation: bounce 2s linear infinite;
}

#index .contents .section .scroll img {
  height: 3rem;
  margin: 0 auto;
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-1em);
    transform: translateY(-1em);
  }
  60% {
    -webkit-transform: translateY(-0.5em);
    transform: translateY(-0.5em);
  }
}

#index .contents .section ul.link {
  width: 19.5rem;
  position: absolute;
  bottom: 2.25rem;
  right: 1.75rem;
  z-index: 3;
}

#index .contents .section ul.link li {
  margin-top: 1.75rem;
}

#index .contents .section ul.link li a {
  display: block;
  padding: 1.125rem 0 1.125rem 4.75rem;
  background: url(../img/tag.png) left center/contain no-repeat;
  color: #4d4d4d;
  font-size: 1.25rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.075em;
}

#index .contents .section ul.link li a:hover {
  background-image: url(../img/check.png), url(../img/tag.png);
  background-position: left 2.25rem top 0.75rem, left center;
  background-repeat: no-repeat;
  background-size: 1.25rem, contain;
  text-decoration: none;
}

#about .contents .name {
  margin: 6rem 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  text-align: center;
  text-indent: 0.05em;
}

#about .contents figure img {
  width: 27rem;
  margin: 4em auto 0;
}

#about .contents figure + p {
  margin: 3.5rem 0 0;
  text-align: center;
}

#about .contents ul {
  margin: 2.5rem 0 0;
}

#about .contents ul li {
  padding: 1.25em 0;
  border-bottom: 1px dotted rgba(35, 24, 21, 0.5);
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: center;
  text-indent: 0.1em;
}

#about .contents ul li:first-child {
  border-top: 1px solid rgba(35, 24, 21, 0.5);
}

#about .contents ul li:last-child {
  border-bottom: 1px solid rgba(35, 24, 21, 0.5);
}

#about .contents dl {
  width: 100%;
  max-width: 500px;
  margin: 3rem auto 0;
}

#about .contents dl dt {
  width: 14rem;
  float: left;
  line-height: 1.6667;
}

#about .contents dl dd {
  width: calc(100% - 14rem);
  float: left;
  line-height: 1.6667;
}

#about .contents .table1 {
  margin: 2.5em 0 0;
  font-family: "Noto Serif JP", serif;
}

#about .contents .table1 th {
  width: 8rem;
  font-weight: normal;
  line-height: 2.5;
  vertical-align: top;
}

#about .contents .table1 td {
  line-height: 2.5;
  letter-spacing: 0.05em;
}

#about .contents .table2 {
  width: 100%;
  margin: 4em auto 0;
  border-bottom: 1px solid rgba(35, 24, 21, 0.5);
  border-right: 1px solid rgba(35, 24, 21, 0.5);
  text-align: center;
}

#about .contents .table2 th {
  padding: 0.5rem 0;
  border-top: 1px solid rgba(35, 24, 21, 0.5);
  border-left: 1px solid rgba(35, 24, 21, 0.5);
  font-weight: normal;
}

#about .contents .table2 td {
  padding: 0.5rem 0;
  border-top: 1px solid rgba(35, 24, 21, 0.5);
  border-left: 1px solid rgba(35, 24, 21, 0.5);
}

/* 2024.5.24 追加 */
#about .contents .table2 th.none,
#about .contents .table2 td.none {
  border-top: none;
  border-left: none;
}
/* ------------ */

#achievement .header::after {
  background: none;
}

#achievement .achievementList li {
  margin-bottom: 9em;
}

#achievement .achievementList li:last-child {
  margin-bottom: 12em;
}

#achievement .achievementList li a {
  display: block;
  padding-top: 35%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#achievement .achievementList li span {
  display: block;
  margin: 2.25rem 0 0;
  text-align: center;
  font-size: 1.25rem;
}

#achievement .contents .list {
  width: 100%;
  max-width: 424px;
  margin: 7.25em auto 0;
  border-top: 1px dotted #231815;
}

#achievement .contents .list ul {
  display: table;
  margin: 0 auto;
}

#achievement .contents .list ul li {
  margin: 4rem 0 0;
}

#achievement .contents .list ul li a {
  color: inherit;
  font-size: 1.25rem;
}

#search .contents .slide .image {
  margin-bottom: 1.25em;
}

#search .contents .saleList table {
  margin: 4em 0 0;
  border-left: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6e6;
}

#search .contents .saleList table .category {
  width: 8rem;
  text-align: center;
}

#search .contents .saleList table .category.house {
  background: #fffde5;
}

#search .contents .saleList table td {
  padding: 1rem;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  letter-spacing: 0.025em;
  line-height: 1.5;
  vertical-align: middle;
}

#search .contents .saleList table td .img {
  display: block;
  width: 100%;
  min-width: 170px;
  padding-top: 89%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/img.jpg);
}

#search .contents .saleList table td span {
  display: block;
  margin-top: 0.75rem;
  padding-left: 0.5rem;
  font-weight: bold;
  font-size: 1.25rem;
}

#search .contents .saleList table td .price {
  margin-bottom: 2rem;
}

#search .contents .saleList table td .link {
  display: block;
  width: 6.75rem;
  margin: 1rem auto 0;
  padding: 0.5rem 0;
  background: #ed7700;
  color: #fff;
  text-align: center;
  text-indent: 0.025em;
}

#search .contents .detail {
  margin: 4.75em 0 0;
}

#search .contents .detail table {
  border-left: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6e6;
}

#search .contents .detail table th {
  width: 9rem;
  padding: 2rem 0;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  text-align: center;
  font-weight: normal;
  letter-spacing: 0.025em;
  line-height: 1.25;
  vertical-align: middle;
}

#search .contents .detail table td {
  padding: 2rem 1.5rem;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  letter-spacing: 0.025em;
  line-height: 1.25;
  vertical-align: middle;
}

#search .contents .detail .map {
  margin: 5rem 0 0;
  padding-top: 50%;
  position: relative;
}

#search .contents .detail .map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

#search .contents .detail .link a {
  display: block;
  width: 21rem;
  color: inherit;
  text-align: center;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  padding: 2.25rem 0;
  margin: 3.5rem auto 0;
  border: 2px solid #e6e6e6;
}

#news .contents .sideNav ul li a {
  display: block;
  color: #b3b3b3;
  letter-spacing: 0.075em;
  text-indent: 0.075em;
  text-align: center;
}

#news .contents .sideNav ul li a:hover {
  color: inherit;
}

#news .contents .sideNav ul li.on a {
  color: inherit;
}

#news .contents .infoList li {
  display: table;
  margin: 2.25rem 0 0;
  font-size: 13px;
}

#news .contents .infoList li:first-child {
  margin-top: 3.75rem;
}

#news .contents .infoList li span {
  display: table-cell;
}

#news .contents .infoList li .date {
  width: 10rem;
}

#news .contents .infoList li .category {
  width: 7.75rem;
  padding: 0.25rem 0;
  background: #e6e6e6;
  letter-spacing: 0.075em;
  line-height: 1.25;
  text-indent: 0.075em;
  text-align: center;
}

#news .contents .infoList li .category.tour {
  background: #ed7700;
  color: #fff;
}

#news .contents .infoList li .category.event {
  background: #ffd900;
}

#news .contents .infoList li a {
  display: table-cell;
  padding: 0 0 0 4rem;
  color: inherit;
  line-height: 1.25;
}

#news .contents .infoList.infoList2 li a {
  padding-left: 0;
}

#news .contents .main .more {
  width: 13rem;
  margin: 4rem auto 0;
  padding: 1rem 0;
  border: 1px solid rgba(0, 0, 0, 0.5);
  cursor: pointer;
  text-align: center;
}

#news .contents .main .post {
  padding: 4em 0;
  border-bottom: 1px solid rgba(153, 153, 153, 0.5);
}
