@charset "UTF-8";
.overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #4CA884;
  z-index: 999;
}
.overlay .loader {
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  border: 3px solid #fff;
  box-sizing: border-box;
  position: fixed;
  top: calc(50% - 0.75em);
  left: calc(50% - 0.75em);
  animation: loaderAnime 1.5s linear infinite;
  -webkit-animation: loaderAnime 1.5s linear infinite;
}
@keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
  }
  25% {
    -webkit-transform: rotate(90deg) scale(1.5);
  }
  50% {
    -webkit-transform: rotate(90deg) scale(1.5);
  }
  75% {
    -webkit-transform: rotate(180deg) scale(1);
  }
  100% {
    -webkit-transform: rotate(180deg) scale(1);
  }
}

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

.play.fadeIn {
  animation: fadeIn 0.625s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.play.bounceIn {
  animation: bounceIn 0.625s ease 0s 1 normal;
  -webkit-animation: bounceIn 0.625s ease 0s 1 normal;
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.8, 0.8);
  }
  70% {
    opacity: 0.7;
    transform: scale(1.05, 1.05);
  }
  80% {
    opacity: 0.64;
    transform: scale(0.9, 0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
.play.slideLeft {
  animation: slideLeft 0.625s ease 0s 1 normal;
  -webkit-animation: slideLeft 0.625s ease 0s 1 normal;
}

@keyframes slideLeft {
  0% {
    opacity: 0;
    transform: translateX(2rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.play.slideRight {
  animation: slideRight 0.625s ease 0s 1 normal;
  -webkit-animation: slideRight 0.625s ease 0s 1 normal;
}

@keyframes slideRight {
  0% {
    opacity: 0;
    transform: translateX(-2rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.play.slideUp {
  animation: slideUp 0.625s ease 0s 1 normal;
  -webkit-animation: slideUp 0.625s ease 0s 1 normal;
}

@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.play.slideUpRight {
  animation: slideUpRight 0.625s ease 0s 1 normal;
  -webkit-animation: slideUpRight 0.625s ease 0s 1 normal;
}

@keyframes slideUpRight {
  0% {
    opacity: 0;
    transform: translate(-2rem, 2rem);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.play.slideUpLeft {
  animation: slideUpLeft 0.625s ease 0s 1 normal;
  -webkit-animation: slideUpLeft 0.625s ease 0s 1 normal;
}

@keyframes slideUpLeft {
  0% {
    opacity: 0;
    transform: translate(2rem, 2rem);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.play.blurInc {
  animation: blurInc 1.5s ease 0s 1 normal;
}
@keyframes blurInc {
  0% {
    opacity: 0;
    filter: blur(16px);
  }
  100% {
    opacity: 1;
    filter: blur(0px);
  }
}
.play.blurIncUp {
  animation: blurIncUp 1.5s ease 0s 1 normal;
}
@keyframes blurIncUp {
  0% {
    opacity: 0;
    -webkit-filter: blur(16px);
    -webkit-transform: translateY(2rem);
    filter: blur(16px);
    transform: translateY(2rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    -webkit-transform: translateY(0);
    filter: blur(0px);
    transform: translateY(0);
  }
}
/* ->motion */
/* Scss Document */
body {
  color: #231815;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  line-height: 1;
  text-align: left;
  background: #fff;
  height: 100%;
  position: relative;
}

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

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

* {
  box-sizing: border-box;
}

/* header */
.header {
  position: relative;
}
.header nav {
  cursor: pointer;
  background: url("../img/arw.svg") center left 0.75rem/0.5rem no-repeat #b94148;
  padding: 0 0 0 3.5rem;
  border-radius: 0.5rem 0 0 0.5rem;
  box-shadow: 0 0 0.25rem 0.25rem rgba(0, 0, 0, 0.2);
  position: fixed;
  right: 0;
  bottom: calc(6.25vw + 3rem);
  z-index: 9;
  transition: 0.5s;
  transform: translateX(calc(100% - 3.5rem));
}
.header nav::after {
  width: 0.875rem;
  height: 100%;
  content: "";
  background: url("../img/menu.svg") center/100% no-repeat;
  position: absolute;
  left: 1.875rem;
  top: 0;
}
.header nav.open {
  transform: translateX(0);
}
.header nav.open::after {
  background: url("../img/close.svg") center/100% no-repeat;
}
.header nav ul li {
  border-bottom: 1px dashed #fff;
}
.header nav ul li:last-child {
  border-bottom: none;
}
.header nav ul li a {
  display: block;
  padding: 1.5rem 1.25rem;
}
.header nav ul li a img {
  height: 1.25rem;
}
.header .shimane {
  padding: 1em 1.5em;
  background: #FFF;
  border-radius: 0 0 0 1em;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
}
.header .shimane img {
  height: 2.5rem;
}
.header .mainImage {
  padding-top: 37.5%;
  position: relative;
}
.header .mainImage .after {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.header .mainImage .after img {
  height: 100%;
}
.header .mainImage .before {
  width: 41.1526%;
  position: absolute;
  left: -3.4091%;
  top: 1.8669vw;
  z-index: 3;
}
.header .mainImage .catch {
  width: 40.5%;
  position: absolute;
  left: 58%;
  top: 12.58vw;
  z-index: 4;
}
.header .mainImage .slide {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.header .mainImage .slide .image {
  width: 100%;
  height: 100%;
  position: relative;
}
.header .mainImage .slide .image li {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}
.header .mainImage .slide .thum {
  display: none;
}
.header .mainImage .scroll {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: -1.75rem;
  z-index: 3;
}
.header .mainImage .scroll img {
  height: 4rem;
  margin: 0 auto;
}

.footer {
  color: #FFF;
  padding: 3em 0 calc(3em + 6.25vw);
  background: #00b000;
}
.footer .title img {
  height: 1.5rem;
  margin: 0 auto;
}
.footer .body {
  width: calc(100% - 11em);
  max-width: 928px;
  margin: 0 auto;
}
.footer .box {
  margin: 3rem 0 0;
}
.footer .box:first-of-type {
  margin-top: 1.5rem;
}
.footer .box .dt {
  color: #f5e737;
  font-size: 1.5rem;
  font-weight: bold;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.1em;
  position: relative;
}
.footer .box .dt::after {
  position: absolute;
  left: -1.5rem;
  top: 0;
  content: "●";
}
.footer .box .dd {
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin: calc(1rem - 0.375em) 0 -0.375em;
}
.footer .box .dd .offset2 {
  display: inline-block;
  transform: translateX(-0.5em);
}
.footer .box .dd .middle {
  padding-top: 0.75em;
}
.footer .box .ddd {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 1rem 0 0;
}
.footer .box .ddd img {
  height: 1.5rem;
}
.footer .box table {
  letter-spacing: 0.05em;
  margin: 1em 0 0;
}
.footer .box table th {
  font-weight: normal;
  padding: 0.75em 0;
  border-bottom: 1px solid #FFF;
}
.footer .box table td {
  padding: 0.75em 0 0;
}

.fxdBox {
  width: 100%;
  box-shadow: 0 0 0.25rem 0.25rem rgba(0, 0, 0, 0.2);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
}
.fxdBox img {
  width: 100%;
}

.fxBtn {
  position: fixed;
  right: 2rem;
  bottom: calc(6.25vw + 2rem);
  z-index: 99;
}
.fxBtn a {
  display: block;
  width: 7.1428571429rem;
  height: 7.1428571429rem;
  margin: 1rem 0 0;
}
.fxBtn a:first-of-type {
  margin: 0;
}
.fxBtn a img {
  width: 100%;
}

#seido {
  background: url("../img/bg.jpg") top left/100% no-repeat;
}
#seido .footer {
  color: #231815;
  padding-top: 5em;
  background: #FFF;
}
#seido .footer .box .dt {
  color: #4CA884;
}
#seido .s1 {
  position: relative;
  padding: 5.11vw 0 0;
}
#seido .s1 .map {
  width: 27.84%;
  max-width: 343px;
  position: absolute;
  top: calc(5.11vw + 55px);
  left: calc(50% + 232px);
}
#seido .s1 .back {
  position: fixed;
  left: 0;
  top: 1em;
  z-index: 99;
}
#seido .s1 .back img {
  height: 3.5em;
}
#seido .s1 .jigyo {
  position: absolute;
  right: 1.5rem;
  top: 2em;
}
#seido .s1 .jigyo img {
  height: 1.5rem;
}
#seido .s1 .read {
  width: 100%;
  max-width: 1013px;
  margin: 0 auto;
}
#seido .s2 {
  width: calc(100% - 3em);
  max-width: 980px;
  margin: 6em auto 0;
}
#seido .s2 .box {
  padding: 3em 0 0;
  margin: 4.5em 0 0;
  background: #4CA884;
  position: relative;
  border-radius: 1em;
}
#seido .s2 .box h2 {
  position: absolute;
  top: -2rem;
  left: 0;
  width: 100%;
}
#seido .s2 .box h2 img {
  height: 3.7142857143rem;
  margin: 0 auto;
}
#seido .s2 .box .read2 {
  padding: 0 2em 2.5em;
}
#seido .s2 .box .read2 p {
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.75;
  margin: -0.375em 0;
}
#seido .s2 .box .read2 p.center {
  text-align: center;
}
#seido .s2 .box .post {
  padding: 2em;
  background: #FFF;
  border-radius: 0 0 1em 1em;
  filter: drop-shadow(0px 0px 0.5rem rgba(0, 0, 0, 0.2));
}
#seido .s2 .box .post *:first-child {
  margin-top: 0 !important;
}
#seido .s2 .box .post h3 {
  font-size: 1.75rem;
  letter-spacing: 0.2em;
  color: #4CA884;
  margin: 3rem 0 0;
  padding: 0 0 0.5rem;
  border-bottom: 1px solid #4CA884;
}
#seido .s2 .box .post h3 span {
  color: #000;
  font-size: 1rem;
  font-weight: normal;
  display: inline-block;
  letter-spacing: 0;
}
#seido .s2 .box .post h4 {
  color: #4CA884;
  font-size: 1.25rem;
}
#seido .s2 .box .post p {
  margin: calc(1.5rem - 0.375em) 0 -0.375em;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
#seido .s2 .box .post .center {
  text-align: center;
  text-indent: 0.05em;
}
#seido .s2 .box .post table {
  width: 100%;
  margin: 1.5em auto 0;
  border-top: 1px solid #ccc;
}
#seido .s2 .box .post table th {
  border-bottom: 1px dotted #ccc;
  padding: 0.75em 0;
  line-height: 1.5;
  font-weight: normal;
  vertical-align: top;
}
#seido .s2 .box .post table th strong {
  color: #4CA884;
  font-size: 1.25rem;
  font-weight: bold;
  display: block;
  margin-bottom: 0.5rem;
}
#seido .s2 .box .post table th span {
  font-weight: bold;
}
#seido .s2 .box .post table td {
  border-bottom: 1px dotted #ccc;
  padding: 0.75em 0;
  line-height: 1.5;
}
#seido .s2 .box .post .w2 {
  width: 50%;
}
#seido .s2 .box .post .col2 {
  display: flex;
  margin: 1.5em 0 0;
  border-bottom: 1px solid #ccc;
}
#seido .s2 .box .post ul {
  margin: 1.125rem 0 -0.375em;
}
#seido .s2 .box .post ul li {
  margin: 0 0 0 1.5rem;
  line-height: 1.75;
}
#seido .s2 .box .post ul li strong {
  display: block;
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
}
#seido .s2 .box .post ul li strong span {
  display: inline-block;
  font-size: 1rem;
  font-weight: normal;
}
#seido .s2 .box .post ul li strong::after {
  content: "●";
  position: absolute;
  left: -1em;
  top: 0;
  color: #4CA884;
}
#seido .s2 .box .post .border {
  border-left: 1px solid #4CA884;
  padding: 0 0 0 1em;
  margin: 1.5em 0 0 1.5em;
}
#seido .s2 .box#s01 .post table th {
  border-right: 1px dotted #ccc;
  width: 13rem;
}
#seido .s2 .box#s01 .post table td {
  padding-left: 1em;
}
#seido .s2 .box#s05 .post table th {
  background: rgba(204, 204, 204, 0.19);
}/*# sourceMappingURL=lp.css.map */