@charset "UTF-8";
@import url("//use.fontawesome.com/releases/v5.7.2/css/all.css");
/* mixins
------------------------------------------------------- */
/* 色指定
------------------------------------------------------- */
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color: #000000;
  }
}
@-webkit-keyframes opTxtAnime {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
            filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
  }
  30% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    -webkit-filter: drop-shadow(0px 0px 3px rgb(255, 255, 255));
            filter: drop-shadow(0px 0px 3px rgb(255, 255, 255));
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
            filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
  }
}
@keyframes opTxtAnime {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
            filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
  }
  30% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    -webkit-filter: drop-shadow(0px 0px 3px rgb(255, 255, 255));
            filter: drop-shadow(0px 0px 3px rgb(255, 255, 255));
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
            filter: drop-shadow(0px 0px 3px rgba(255, 255, 255, 0));
  }
}
@-webkit-keyframes opCatchAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes opCatchAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes opPanLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-42%);
            transform: translateX(-42%);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-27%);
            transform: translateX(-27%);
  }
}
@keyframes opPanLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-42%);
            transform: translateX(-42%);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(-27%);
            transform: translateX(-27%);
  }
}
@-webkit-keyframes opPanLeft02 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-15%);
            transform: translateX(-15%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes opPanLeft02 {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-15%);
            transform: translateX(-15%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes opZoomOut {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes opZoomOut {
  0% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes slideDown {
  0% {
    -webkit-transform: translateY(-8%);
            transform: translateY(-8%);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-2%);
            transform: translateY(-2%);
    opacity: 1;
  }
}
@keyframes slideDown {
  0% {
    -webkit-transform: translateY(-8%);
            transform: translateY(-8%);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-2%);
            transform: translateY(-2%);
    opacity: 1;
  }
}
@-webkit-keyframes chgColor {
  0% {
    opacity: 1;
    fill: #221815;
    -webkit-filter: none;
            filter: none;
  }
  100% {
    opacity: 1;
    fill: #fff;
    -webkit-filter: drop-shadow(2px 2px 1px #222);
            filter: drop-shadow(2px 2px 1px #222);
  }
}
@keyframes chgColor {
  0% {
    opacity: 1;
    fill: #221815;
    -webkit-filter: none;
            filter: none;
  }
  100% {
    opacity: 1;
    fill: #fff;
    -webkit-filter: drop-shadow(2px 2px 1px #222);
            filter: drop-shadow(2px 2px 1px #222);
  }
}
@-webkit-keyframes heroTilUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes heroTilUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes opPanRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(15%);
            transform: translateX(15%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes opPanRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(15%);
            transform: translateX(15%);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes fadeInall {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInall {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOutall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOutall {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadein {
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}
@keyframes fadein {
  100% {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px);
  }
}
@-webkit-keyframes menuSlideIn {
  0% {
    -webkit-transform: translate(0, 40px);
            transform: translate(0, 40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@keyframes menuSlideIn {
  0% {
    -webkit-transform: translate(0, 40px);
            transform: translate(0, 40px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes menuActive {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes menuActive {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
html {
  height: -webkit-fill-available;
}

body {
  min-height: 100vh;
  min-height: -webkit-fill-available;
  position: relative;
  font-family: "リュウミン L-KL", serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: normal;
  word-wrap: break-word;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.1em;
  color: #5a544b;
  background: #fff;
}
body .smp {
  display: block;
}
body .pc {
  display: none;
}
body .enTxt {
  font-family: alternate-gothic-extra-cond, sans-serif;
  font-weight: 700;
  font-style: normal;
}
body img {
  max-width: 100%;
  height: auto;
  border: none;
}
body p {
  margin: 0;
}
body ul {
  padding: 0 0;
  list-style: none;
}
body a {
  color: #000000;
  text-decoration: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
body a:hover {
  opacity: 0.6;
}
body .fit-center {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  font-family: "object-fit: cover; object-position: bottom;";
}
body .fadeitem_t {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s ease-out;
  transition: all 1.5s ease-out;
}
body .fadeitem_t2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 0.2s ease-out;
  transition: all 1.5s 0.2s ease-out;
}
body .fadeitem_t3 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 0.4s ease-out;
  transition: all 1.5s 0.4s ease-out;
}
body .fadeitem_t4 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 0.6s ease-out;
  transition: all 1.5s 0.6s ease-out;
}
body .fadeitem_t5 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 0.8s ease-out;
  transition: all 1.5s 0.8s ease-out;
}
body .fadeitem_t6 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 1s ease-out;
  transition: all 1.5s 1s ease-out;
}
body .fadeitem_t7 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 1.2s ease-out;
  transition: all 1.5s 1.2s ease-out;
}
body .fadeitem_t8 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 1.5s 1.4s ease-out;
  transition: all 1.5s 1.4s ease-out;
}
body .fadeitem_01 {
  opacity: 0;
  -webkit-transition: all 1.5s 0s ease-out;
  transition: all 1.5s 0s ease-out;
}
body .fadeitem_02 {
  opacity: 0;
  -webkit-transition: all 1.5s 0.2s ease-out;
  transition: all 1.5s 0.2s ease-out;
}
body .fadeitem_03 {
  opacity: 0;
  -webkit-transition: all 1.5s 0.4s ease-out;
  transition: all 1.5s 0.4s ease-out;
}
body .fadeitem_04 {
  opacity: 0;
  -webkit-transition: all 1.5s 0.6s ease-out;
  transition: all 1.5s 0.6s ease-out;
}
body .fadeitem_05 {
  opacity: 0;
  -webkit-transition: all 1.5s 0.8s ease-out;
  transition: all 1.5s 0.8s ease-out;
}
body .fadeitem_06 {
  opacity: 0;
  -webkit-transition: all 1.5s 1s ease-out;
  transition: all 1.5s 1s ease-out;
}
body .item {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  margin-top: 0;
}
body .fadeitem_zoom {
  opacity: 0;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transition: all 1.5s 0.3s ease-out;
  transition: all 1.5s 0.3s ease-out;
}
body .zoomitem {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  -webkit-transform: scale(0);
          transform: scale(0);
  margin-top: 0;
}
body .fadeitem_line {
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: all 1.5s 1s ease-out;
  transition: all 1.5s 1s ease-out;
}
body .lineitem {
  opacity: 1;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
body .fadeitem_blur {
  opacity: 0;
  -webkit-filter: contrast(200%) saturate(200%);
          filter: contrast(200%) saturate(200%);
  -webkit-transition: all 2s 0.2s ease-out;
  transition: all 2s 0.2s ease-out;
}
body .fadeitem_blur2 {
  opacity: 0;
  -webkit-filter: contrast(200%) saturate(200%);
          filter: contrast(200%) saturate(200%);
  -webkit-transition: all 2s 0.5s ease-out;
  transition: all 2s 0.5s ease-out;
}
body .fadeitem_blur3 {
  opacity: 0;
  -webkit-filter: contrast(200%) saturate(200%);
          filter: contrast(200%) saturate(200%);
  -webkit-transition: all 2s 0.8s ease-out;
  transition: all 2s 0.8s ease-out;
}
body .fadeitem_blur4 {
  opacity: 0;
  -webkit-filter: contrast(200%) saturate(200%);
          filter: contrast(200%) saturate(200%);
  -webkit-transition: all 2s 1.1s ease-out;
  transition: all 2s 1.1s ease-out;
}
body .bluritem {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  margin-top: 0;
}
body .fadein {
  opacity: 0;
  -webkit-animation: fadein 5s ease forwards;
          animation: fadein 5s ease forwards;
}
body .fadeup {
  -webkit-animation: fadeUp 1s ease forwards;
          animation: fadeUp 1s ease forwards;
}
body .wrap {
  overflow: hidden;
  position: relative;
}
body .wrap header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  display: flex;
  justify-content: space-between;
  background: linear-gradient(to bottom,  rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);

}
body .wrap header .headerRight{
	width: 60%;
	margin: 0;
}
body .wrap header .headerRight h1 {
  text-align: right;
  width: 90px;
  line-height: 1;
  margin: 0 0 0 auto;
  padding: 20px 20px 0 0;
}
body .wrap header .headerRight h1 a {
  display: block;
}
body .wrap header .headerRight .headerTtl{
  text-align: right;
  font-size: 20px;
  font-size: 1.25rem;
  color: #FFF;
  line-height: 1.3;
  letter-spacing: 0.2em;
  text-shadow: 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0);
  margin: 0 0 0 auto;
  padding: 20px 20px 0 0;
}
body .wrap header h2 {
  text-align: left;
  width: 34%;
  margin: 0;
  padding: 10px 10px 0 ;
}
body .wrap .content {
  padding-bottom: 5%;
  background-color: #f4f3ee;
}
body .wrap .content .imgBox {
  position: relative;
  overflow: hidden;
}
body .wrap .content .imgBox .imgCaption {
  position: absolute;
  bottom: 4px;
  right: 6px;
  text-align: right;
  font-size: 10px;
  font-size: 0.625rem;
  color: #FFF;
  line-height: 1.3;
  text-shadow: 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0);
}
body .wrap .content .imgBox .imgCaption2 {
  position: relative;
  text-align: right;
  font-size: 10px;
  font-size: 0.625rem;
  color: #000000;
  line-height: 1.3;
  margin-top: 3px;
}
body .wrap .content .imgBox .imgCaption3 {
  position: relative;
  text-align: right;
  font-size: 10px;
  font-size: 0.625rem;
  color: #FFF;
  line-height: 1.3;
  margin-top: 3px;
}
body .wrap .content .imgBox .imgCaption4 {
  position: absolute;
  bottom: 10px;
  right: 10px;
  left: 10px;
  text-align: right;
  font-size: 10px;
  font-size: 0.625rem;
  line-height: 1.3;
}
body .wrap .content .imgBox .imgCaption5 {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  font-size: 10px;
  font-size: 0.625rem;
  color: #000000;
  line-height: 1.3;
  margin-top: 3px;
}
body .wrap .content .imgBox .imgCaption5 span {
  color: #00693e;
}
body .wrap .content .imgBox .imgCaption6 {
  position: relative;
  text-align: left;
  font-size: 10px;
  font-size: 0.625rem;
  color: #000000;
  line-height: 1.3;
  margin-top: 3px;
}
body .wrap .content .imgBox .imgCatch {
  position: absolute;
  top: 10%;
  left: 0;
  right: 0;
  font-size: 20px;
  font-size: 1.25rem;
  color: #FFF;
  font-weight: normal;
  margin: 0 auto;
}
body .wrap .content .cap {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #000000;
}
body .wrap .content .allcap {
  width: 80%;
  font-size: 12px;
  font-size: 0.75rem;
  margin: 6% auto;
  padding: 0;
}
body .wrap .content .allcap li {
  position: relative;
  text-align: justify;
  padding-left: 15px;
}
body .wrap .content .allcap li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
body .wrap #copyright {
  position: relative;
  z-index: 50;
  background: #FFF;
  padding: 4% 0;
}
body .wrap #copyright address {
  font-size: 12px;
  font-size: 0.75rem;
  font-style: normal;
}
body .wrap #copyright address a {
  color: #000000;
}

@media only screen and (min-width: 960px) {
  body {
    font-size: 16px;
    font-size: 1rem;
  }
  body .smp {
    display: none;
  }
  body .pc {
    display: block;
  }

body .wrap header .headerRight{
	width: 60%;
	margin: 0;
}
body .wrap header .headerRight h1 {
	width: 120px;
	padding: 40px 20px 0 0;
}
body .wrap header .headerRight .headerTtl{
	font-size: 36px;
	font-size: 2.25rem;
	padding: 40px 20px 0 0;
}
body .wrap header h2 {
  width: 20%;
  max-width: 270px;
}
  body .wrap .content .imgBox {
    position: relative;
    overflow: hidden;
  }
  body .wrap .content .imgBox .imgCaption {
    position: absolute;
    bottom: 10px;
    right: 10px;
    text-align: right;
    font-size: 10px;
    font-size: 0.625rem;
    color: #FFF;
    line-height: 1.3;
    text-shadow: 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0), 0px 0px 3px rgb(0, 0, 0);
  }
  body .wrap .content .imgBox .imgCaption2 {
    position: relative;
    text-align: right;
    font-size: 10px;
    font-size: 0.625rem;
    color: #000000;
    line-height: 1.3;
    margin-top: 3px;
  }
  body .wrap .content .imgBox .imgCaption3 {
    position: relative;
    text-align: right;
    font-size: 10px;
    font-size: 0.625rem;
    color: #FFF;
    line-height: 1.3;
    margin-top: 3px;
  }
  body .wrap .content .imgBox .imgCatch {
    top: 10%;
    font-size: 28px;
    font-size: 1.75rem;
  }
  body .wrap #copyright {
    padding: 2% 0;
  }
}
@media screen and (min-width: 961px) and (max-width: 1024px) {

}