@charset"utf-8";
/* "*"
-------------------------------------------------- */
* {
  margin: 0;
  padding: 0;
}
/* "html"
-------------------------------------------------- */
html{
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: 62.5%;
  box-sizing: border-box;
}
/* "body"
-------------------------------------------------- */
body {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  margin: 0;
  padding: 0;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 1.5rem;
  color: #000;
}
body * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; 
}
/* "p"tag
-------------------------------------------------- */
p{
  font-size: 1.6rem;
  margin-bottom: 0;
}
p.p-txt{
  line-height: 2.0;
}
@media print, screen and (max-width: 1280px) {
  p{
    font-size: 1.6vw;
  }
}
@media print, screen and (max-width: 960px) {
  p{
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 767px) {
  p{
    font-size: 1.5rem;
  }
  p.p-txt{
    line-height: 1.8;
  }
}
/* "a"tag
-------------------------------------------------- */
a{
  color: #000;
  text-decoration: none;
}
/* "li/ol/ul" Tag
-------------------------------------------------- */
ul li{
  font-size: 1.6rem;
  line-height: 2.0;
  list-style-type: none;
}
@media print, screen and (max-width: 1280px) {
  ul li{
    font-size: 1.6vw;
  }
}
@media print, screen and (max-width: 960px) {
  ul li{
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 767px) {
  ul li{
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
/* "dt dd" Tag
-------------------------------------------------- */
dl dt,
dl dd{
  font-size: 1.6rem;
  line-height: 2.0;
}
@media print, screen and (max-width: 1280px) {
  dl dt,
  dl dd{
    font-size: 1.6vw;
  }
}
@media print, screen and (max-width: 960px) {
  dl dt,
  dl dd{
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 767px) {
  dl dt,
  dl dd{
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

/* "th td" Tag
-------------------------------------------------- */
table th,
table td{
  font-size: 1.6rem;
  line-height: 2.0;
}
@media print, screen and (max-width: 1280px) {
  table th,
  table td{
    font-size: 1.6vw;
  }
}
@media print, screen and (max-width: 960px) {
  table th,
  table td{
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 767px) {
  table th,
  table td{
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

/* img
-------------------------------------------------- */
img{
  width: 100%;
  height: auto;
}
/* decoration
-------------------------------------------------- */
.bold{
  font-weight: bold;
}
/* color
-------------------------------------------------- */
.white {
  color: #FFFFFF;
}
.red {
  color: #DE4830;
}
.blue {
  color: #156CA3;
}
.orange {
  color: #E9872E;
}
.green {
  color: #26AE90;
}
.brown {
  color: #AD8141;
}
/* margin
-------------------------------------------------- */
.mb0 {
  margin-bottom: 0;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}
/* forPC,forSP
-------------------------------------------------- */
.forPC{
  display: inline;
}
.forSP{
  display: none;
}
@media screen and (max-width: 767px) {
  .forPC{
    display: none;
  }
  .forSP{
    display: inline;
  }
}

/* ==================================================
以下、ブロックごとの指定
================================================== */
/* wrapper
-------------------------------------------------- */
#wrapper{
  width: 100%;
  display: none;
}

/* inner
-------------------------------------------------- */
div.inner{
  max-width: 1200px;
  margin: 0 auto;
}
header .inner{
  margin-bottom: 0!important;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  footer .inner{
    width: 95%;
    margin: 0 auto;
  }
}
/* content
-------------------------------------------------- */
div.content{
  width: 97%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  div.content{
    width: 95%;
  }
}

/* header
-------------------------------------------------- */
header.top-head{
  z-index: 10;
  position: absolute;
  bottom: auto;
  width: 100%;
  background-color: rgba(255,255,255,0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 10rem;
}
header div.logo-area a{
  display: none;
  margin-left: 5.0rem;
  width: 22rem;
  height: 4.9rem;
  font-size: 0;
  background: url(../img/common/logo.svg) no-repeat;
}
header div.logo-area a:hover{
  opacity: 0.4;
  transition: 0.6s;
}
/* nav */
header div.nav-area{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header div.nav-area nav.nav-wrap a.nav-button {
  display: none;
}
header div.nav-area nav.nav-wrap div.nav-screen{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
header div.nav-area nav.nav-wrap div.nav-screen ul.nav{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header div.nav-area nav.nav-wrap div.nav-screen ul.nav li{
  margin-right: 5rem;
  text-align: center;
  line-height: 1.4;  
}
header div.nav-area nav.nav-wrap div.nav-screen ul.nav li a{
  font-size: 1.6rem;
  color: #fff;
  text-shadow: 2px 2px 0px #333;
}
header div.nav-area nav.nav-wrap div.nav-screen ul.nav li a:hover{
  opacity: 0.4;
  transition: 0.6s;
}
header div.nav-area nav.nav-wrap div.nav-screen ul.nav li span{
  display: block;
  font-size: 1.3rem;
}
header div.nav-area nav.nav-wrap div.nav-screen div.sns{
  display: none;
}
header div.nav-area nav.nav-wrap.open{
  display: block;
}
header div.nav-area nav.nav-wrap.close{
  display: none;
  margin-top: 0.3rem;
  opacity: 1;
  cursor: auto;
}
/* Fixed */
header.top-head.fixed{
  transition: all 0.25s ease;
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  -o-transition: all 0.25s ease;
}
header.top-head.fixed {
  top: 0;
  position: fixed;
  background-color: rgba(255,255,255,.90);
  -webkit-box-shadow: 0 0 0.41rem 0.20rem rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 0.41rem 0.20rem rgba(0, 0, 0, 0.15);
}
header.top-head.fixed div.inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
header.top-head.fixed div.logo-area a{
  margin-left: 5rem;
  display: block;
  width: 22rem;
  height: 4.9rem;
  font-size: 0;
  background: url(../img/common/logo_bk.svg) no-repeat;
}
header.top-head.fixed nav.nav-wrap div.nav-screen ul.nav li{
  margin-right: 5rem;  
}
header.top-head.fixed nav.nav-wrap div.nav-screen ul.nav li a{
  color: #000;
  text-shadow: inherit;
}
@media print, screen and (min-width: 961px) {
  header div.nav-area nav.nav-wrap {
    display: block !important;
  }
}
@media print, screen and (max-width: 960px) {
  /* clicked hamburger button screen */
  header div.nav-area{
    display: block;
    -webkit-box-align: none;
    -ms-flex-align: none;
    align-items: none;
  }
  header.top-head{
    height: 9rem;
  }
  header div.nav-area nav.nav-wrap{
    left: 0;
    top: 0;
    display: none;
    z-index: 90;
    background: rgba(0,0,0,0.7);
    width: 100%;
    height: 100%;
    position: fixed;
  }
  header div.nav-area nav.nav-wrap div.nav-screen ul.nav{
    position: relative;
    margin: 8rem auto 1.5rem;
    width: 85%;
    display: block;
  }
  header div.nav-area nav.nav-wrap div.nav-screen ul.nav li{
    display: block;
    margin-bottom: 3rem;
    margin-right: 0;
  }  
  header div.nav-area nav.nav-wrap div.nav-screen ul.nav li a{
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
  }
  header div.nav-area nav.nav-wrap div.nav-screen ul.nav li a:hover{
    opacity: 0.4;
    transition: 0.6s;
  }
  header div.nav-area nav.nav-wrap div.nav-screen div.sns{
    display: block;
  }
  header div.nav-area nav.nav-wrap div.nav-screen div.sns ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
  }
  header div.nav-area nav.nav-wrap div.nav-screen div.sns ul li:first-child{
    margin-right: 2rem;
  }
  header div.nav-area nav.nav-wrap div.nav-screen div.sns ul li i{
    color: #fff;
    font-size: 3.2rem;
  }
  header div.nav-area nav.nav-wrap div.nav-screen div.sns ul li i a:hover{
    opacity: 0.4;
    transition: 0.6s;
  }
  /* hamburger button */
  header div.nav-area a.nav_button{
    height: 22px;
    position: absolute;
    right: 25px;
    top: 34px;
    width: 27px;
    z-index: 101;
    cursor: pointer;
  }
  header div.nav-area a.nav_button:hover{
    opacity: 0.4;
    transition: 0.6s;
  }
  header div.nav-area span.nav_line{
    background: #fff;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
  }
  header div.nav-area span.line_center{
    top: 10px;
  }
  header div.nav-area span.line_bottom{
    bottom: 0;
  }
  header div.nav-area span.line_top.active{
    top: 10px;
    transform: rotate(45deg);
  }
  header div.nav-area span.line_center.active{
    transform:scaleX(0);
  }
  header div.nav-area span.line_bottom.active{
    bottom: 10px;
    transform: rotate(135deg);
  }
  /* Fixed */
  header.top-head.fixed {
    height: 9rem;
  }
  header.top-head.fixed div.logo-area a{
    margin-left: 2rem;
    display: block;
    width: 18rem;
    height: 4rem;
  }
  header.top-head.fixed div.nav-area a.nav_button{
    right: 25px;
    top: 32px;
  }
  header.top-head.fixed div.nav-area span.nav_line{
    background: #000;
  }
  header.top-head.fixed nav.nav-wrap div.nav-screen ul.nav li{
  margin-right: 0;
}
  header.top-head.fixed div.nav-area nav.nav-wrap div.nav-screen ul.nav li a{
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    transition: .5s;
  }
  header.top-head.fixed div.nav-area span.line_top.active,
  header.top-head.fixed div.nav-area span.line_bottom.active{
    background: #fff;
  }
}

/* mainvisualSec
-------------------------------------------------- */
section.mainvisualSec div.swiper-container{
  width: 100%;
  height: 100vh;
  position: relative;
}
section.mainvisualSec .swiper-slide.swiper-slide-active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.25)!important;
}
section.mainvisualSec div.swiper-container div.swiper-slide{
  background-size: cover;
  background-position: center center;
}
section.mainvisualSec div.copy-area{
  position: absolute;
  top: 52%;
  left: 0;
  right: 0;
  transform: translateY(-48%);
  margin: 0 auto;
  z-index: 5;
}
section.mainvisualSec div.copy-area div.logo{
  width: 28rem;
  margin: 0 auto;
}
section.mainvisualSec div.copy-area p.catch{
  margin-top: 2.5rem;
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.3;
  text-shadow: 1px 1px 2px #000;
}
section.mainvisualSec div.sns-area{
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 5rem;
}
section.mainvisualSec div.sns-area ul li:first-child{
  margin-bottom: 1rem;
}
section.mainvisualSec div.sns-area ul li i{
  color: #fff;
  transform:rotate(90deg);
  font-size: 3.6rem;
  z-index: 5;
}
section.mainvisualSec div.sns-area ul li a:hover{
  opacity: 0.6;
  transition: 0.6s;
}
section.mainvisualSec div.swiper-pagination{
  margin-bottom: 1rem;
}
section.mainvisualSec span.swiper-pagination-bullet-active{
  background: #fff!important;
}
section.mainvisualSec span.swiper-pagination-bullet{
  border:4px solid #fff!important;
  background: none;
  width: 10px!important;
  height: 10px!important;
  margin-right: 1.5rem!important;
}
@media print, screen and (max-width: 1280px) {
  section.mainvisualSec div.copy-area{
    top: 51%;
    transform: translateY(-49%);
  }
  section.mainvisualSec div.copy-area div.logo{
    width: 26%;
  }
  section.mainvisualSec div.copy-area p.catch{
    margin-top: 2%;
    font-size: 2vw;
  }
  section.mainvisualSec div.sns-area{
    top: 47%;
  }
}
@media print, screen and (max-width: 960px) {
  section.mainvisualSec div.copy-area{
    top: 50%;
    transform: translateY(-50%);
  }
  section.mainvisualSec div.copy-area div.logo{
    width: 32%;
  }
  section.mainvisualSec div.copy-area p.catch{
    margin-top: 2%;
    font-size: 2.4vw;
  }
  section.mainvisualSec div.sns-area{
    top: 46%;
  }
}
@media print, screen and (max-width: 767px) {
  section.mainvisualSec div.copy-area{
    position: absolute;
    top: 54%;
    left: 0;
    right: 0;
    transform: translateY(-46%);
    margin: 0 auto;
    z-index: 5;
    letter-spacing: -0.01em;
  }
  section.mainvisualSec div.copy-area{
    position: absolute;
    top: 51%;
    transform: translateY(-49%);
  }
  section.mainvisualSec div.copy-area div.logo{
    width: 22rem;
  }
  section.mainvisualSec div.copy-area p.catch{
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.3;
  }
  section.mainvisualSec div.sns-area{
    display: none;
  }
}

/*section.mainvisualSec{
  position: relative;
}
section.mainvisualSec div.video-area{
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
section.mainvisualSec div.video-area video{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}*/


/* common
-------------------------------------------------- */
/* top-title */
h2.h2-top-ttl{
  font-size: 5rem;
  color: #009A66;
  line-height: 1.2;
  margin-bottom: 1rem;
}
p.ttl-sub{
  font-size: 2.4rem;
  line-height: 1.4;
}
div.top-title div.wrap{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; 
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
div.top-title div.wrap div.ttl-area{
  margin-left: 5%;
  width: 35%;
}
div.top-title div.wrap div.txt-area{
  width: 55%;
  margin-right: 5%;
}

/* button */
div.button-area{
  width: 42rem;
  margin: 10rem auto 0;
}
a.button,
input.button {
  background: #009A66;
  border: 1px solid #009A66;
  color: #fff;
  display: inline-block;
  width: 42rem;
  height: 6.0rem;
  line-height: 6.0rem;
  text-align: center;
  outline: none;
  font-size: 1.8rem;
  position: relative;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
}
a.button:hover,
input.button:hover{
  background: #fff;
  color: #009A66;
  transition: .5s;
}
@media print, screen and (max-width: 1280px) {
  /* top-title */
  h2.h2-top-ttl{
    font-size: 4.4vw;
    margin-bottom: 1.5%;
  }
  p.ttl-sub{
    font-size: 2.2vw;
  }
  /* button */
  div.button-area{
    width: 40%;
    margin: 8% auto 0;
  }
  a.button,
  input.button {
    width: 100%;
    height: 6.4vh;
    line-height: 6.4vh;
    font-size: 1.7vw;
  }
}
@media print, screen and (max-width: 960px) {
  a.button,
  input.button {
    font-size: 1.8vw;
    height: 6.0vh;
    line-height: 6.0vh;
  }
}
@media print, screen and (max-width: 767px) {
  /* top-title */
  h2.h2-top-ttl{
    font-size: 3.8rem;
    margin-bottom: 0.5rem;
  }
  p.ttl-sub{
    font-size: 2.0rem;
    line-height: 1.4;
  }
  div.top-title div.wrap{
    display: block;
  }
  div.top-title div.wrap div.ttl-area{
    margin-left: 3%;
    margin-right: 3%;
    width: 94%;
  }
  div.top-title div.wrap div.txt-area{
    width: 94%;
    margin-top: 2.5rem;
    margin-left: 3%;
    margin-right: 3%;
  }
  /* button */
  div.button-area{
    width: 24rem;
    margin: 5rem auto 0;
  }
  a.button,
  input.button {
    width: 24rem;
    font-size: 1.5rem;
    height: 5.0rem;
    line-height: 4.8rem;
  }
}

/* conceptSec
-------------------------------------------------- */
section.conceptSec{
  margin-top: 10rem;
}
section.conceptSec h3.h3-cmn{
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 3rem;
}
section.conceptSec div.wrap{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: right;
}
section.conceptSec div.wrap div.txt-area{
  margin-left: 5%;
  width: 25%;
  margin-right: 3%;
}
section.conceptSec div.wrap div.img-area{
  width: 67%;
}
@media print, screen and (max-width: 1280px) {
  section.conceptSec{
    margin-top: 8%;
  }
  section.conceptSec h3.h3-cmn{
    font-size: 2.2vw;
    margin-bottom: 6%;
  }
  section.conceptSec div.wrap div.txt-area{
    margin-left: 5%;
    width: 29%;
    margin-right: 3%;
  }
  section.conceptSec div.wrap div.txt-area p.p-txt{
    font-size: 1.5vw;
  }
  section.conceptSec div.wrap div.img-area{
    width: 63%;
  }
}
@media print, screen and (max-width: 960px) {
  section.conceptSec h3.h3-cmn{
    font-size: 2.6vw;
    margin-bottom: 6%;
  }
  section.conceptSec div.wrap div.txt-area{
    margin-left: 5%;
    width: 31%;
    margin-right: 2%;
  }
  section.conceptSec div.wrap div.img-area{
    width: 61%;
  }
}
@media print, screen and (max-width: 767px) {
  section.conceptSec{
    margin-top: 7rem;
  }
  section.conceptSec h3.h3-cmn{
    font-size: 2.0rem;
    line-height: 1.5;
    margin-bottom: 2rem;
  }
  section.conceptSec div.wrap{
    display: block;
  }
  section.conceptSec div.wrap div.txt-area{
    margin-left: 3%;
    margin-right: 3%;
    width: 94%;
  }
  section.conceptSec div.wrap div.txt-area p.p-txt{
    font-size: 1.5rem;
  }
  section.conceptSec div.wrap div.img-area{
    margin-top: 3rem;
    width: 97%;
    margin-left: 3%;
  }
}

/* storySec
-------------------------------------------------- */
section.storySec{
  margin-top: 10rem;  
}
section.storySec div.story{
  text-align: right;
  margin-right: 5%;
}
section.storySec div.story div.block{
  writing-mode: vertical-rl;
  text-align: left;
  display: inline-block;
}
section.storySec div.story div.block p{
  margin-left: 5rem;
  font-size: 1.8rem;
  letter-spacing: 0.3rem;
}
section.storySec div.story div.block p.btm{
  margin-left: 0;
}
@media print, screen and (max-width: 1280px) {
  section.storySec{
    margin-top: 8%;
  }
  section.storySec div.story div.block p{
    font-size: 1.7vw;
    margin-left: 10%;
  }
}
@media print, screen and (max-width: 960px) {
  section.storySec div.story div.block p{
    font-size: 2vw;
  }
}
@media print, screen and (max-width: 767px) {
  section.storySec{
    margin-top: 7rem;
  }
  section.storySec div.story{
    margin-right: 3%;
  }
  section.storySec div.story div.block p{
    font-size: 1.6rem;
    margin-left: 3rem;
  }
}
@media print, screen and (max-width: 480px) {
  section.storySec div.story div.block p{
    font-size: 3.5vw;
    margin-left: 7%;
  }
}

/* sacredPlaceSec
-------------------------------------------------- */
section.sacredPlaceSec{
  margin-top: 10rem;  
}
section.sacredPlaceSec div.visual-area.v01{
  margin-top: 5rem;
  margin-right: 5%;
  width: 95%;
}
section.sacredPlaceSec div.visual-area.v02{
  margin-top: 10rem;
  width: 100%;
}
section.sacredPlaceSec div.place-slide{
  margin-top: 10rem;
}
section.sacredPlaceSec div.place-slide ul.slider{
  padding: 0;
  height: auto;
  width: 100%;
  margin: 0 auto;
}
section.sacredPlaceSec div.place-slide ul.slider li{
  margin: 0 1rem!important;
}
section.sacredPlaceSec div.place-slide ul.slider li img{
  width: 100%;
}
section.sacredPlaceSec div.place-slide ul.slider .slide-arrow{
  position: absolute;
  top: 38%;
}
section.sacredPlaceSec div.place-slide ul.slider .prev-arrow{
  left: 6%!important;
  width: 4%!important;
  z-index: 1;
  height: auto;
}
section.sacredPlaceSec div.place-slide ul.slider .next-arrow{
  right: 6%!important;
  width: 4%!important;
  z-index: 1;
  height: auto;
}
section.sacredPlaceSec div.place-slide ul.slider .prev-arrow:hover,
section.sacredPlaceSec div.place-slide ul.slider .next-arrow:hover{
  cursor: pointer;
  opacity: 0.4;
  transition: 0.6s;
}
section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl{
  background: #E7E7E7;
  padding: 4rem 0;
}
section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl p{
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
}
@media print, screen and (max-width: 1280px) {
  section.sacredPlaceSec{
    margin-top: 8%;
  }
  section.sacredPlaceSec div.visual-area.v01{
    margin-top: 6%;
  }
  section.sacredPlaceSec div.visual-area.v02{
    margin-top: 8%;
  }
  section.sacredPlaceSec div.place-slide{
    margin-top: 8%;
  }
  section.sacredPlaceSec div.place-slide ul.slider .slide-arrow{
    top: 32%;
  }
  section.sacredPlaceSec div.place-slide ul.slider .prev-arrow{
    left: 5%!important;
    width: 5%!important;
  }
  section.sacredPlaceSec div.place-slide ul.slider .next-arrow{
    right: 5%!important;
    width: 5%!important;
  }
  section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl{
    padding: 3% 0;
  }
  section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl p{
    font-size: 2.8vw;
  }
}
@media print, screen and (max-width: 960px) {
  section.sacredPlaceSec div.place-slide ul.slider .prev-arrow{
    left: 3%!important;
    width: 5%!important;
  }
  section.sacredPlaceSec div.place-slide ul.slider .next-arrow{
    right: 3%!important;
    width: 5%!important;
  }
  section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl p{
    font-size: 2.4vw;
  }
}
@media print, screen and (max-width: 767px) {
  section.sacredPlaceSec{
    margin-top: 7rem;
  }
  section.sacredPlaceSec div.visual-area.v01{
    margin-top: 3rem;
    margin-right: 3%;
    width: 97%;
  }
  section.sacredPlaceSec div.visual-area.v02{
    margin-top: 7rem;
  }
  section.sacredPlaceSec div.place-slide{
    margin-top: 7rem;
  }
  section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl{
    padding: 2rem 0;
  }
  section.sacredPlaceSec div.place-slide ul.slider li div.img-ttl p{
    font-size: 2.0rem;
  }
}

/* activitiesSec
-------------------------------------------------- */
section.activitiesSec{
  margin-top: 10rem;  
}
section.activitiesSec div.top-title div.wrap{
  -webkit-box-align: inherit;
  -ms-flex-align: inherit;
  align-items: inherit;
}
section.activitiesSec div.story{
  text-align: right;
  margin-right: 5%;
}
section.activitiesSec div.story div.block{
  writing-mode: vertical-rl;
  text-align: left;
  display: inline-block;
  text-orientation: upright; 
}
section.activitiesSec div.story div.block p{
  margin-left: 3rem;
  font-size: 1.6rem;
  letter-spacing: 0.3rem;
}
section.activitiesSec div.story div.block p.btm{
  margin-left: 0;
}
section.activitiesSec div.visual-area.v01{
  margin-top: 5rem;
  width: 100%;
}
section.activitiesSec div.visual-area.v02{
  width: 90%;
  margin: 7rem auto 0;
}
@media print, screen and (max-width: 1280px) {
  section.activitiesSec{
    margin-top: 8%;  
  }
  section.activitiesSec div.story div.block p{
    margin-left: 9%;
    font-size: 1.6vw;
  }
  section.activitiesSec div.visual-area.v01{
   margin-top: 6%;
  }
  section.activitiesSec div.visual-area.v02{
    margin: 6% auto 0;
  }
}
@media print, screen and (max-width: 960px) {
  section.activitiesSec div.story div.block p{
    font-size: 1.8vw;
  }
}
@media print, screen and (max-width: 767px) {
  section.activitiesSec{
    margin-top: 7rem;  
  }
  section.activitiesSec div.story{
    margin-right: 0;
    margin-left: 0;
    text-align: left;
  }
  section.activitiesSec div.story div.block{
    writing-mode: inherit;
    text-align: inherit;
    display: inherit;
  }
  section.activitiesSec div.story div.block p{
    font-size: 1.5rem;
    margin-left: 0;
    margin-bottom: 1.5rem;
  }
  section.activitiesSec div.visual-area.v01{
   margin-top: 3rem;
  }
  section.activitiesSec div.visual-area.v02{
    width: 94%;
    margin: 5rem auto 0;
  }
}

/* foodsSec
-------------------------------------------------- */
section.foodsSec{
  margin-top: 10rem;  
}
section.foodsSec div.visual-area.v01{
  margin-top: 5rem;
  margin-right: 5%;
  width: 95%;
}
section.foodsSec div.content-area{
  margin: 7rem auto 0;
  width: 80%;
}
section.foodsSec div.content-area div.wrap{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; 
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
section.foodsSec div.content-area div.wrap.w01{
  webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
section.foodsSec div.content-area div.wrap div.img{
  width: 50%;
}
section.foodsSec div.content-area div.wrap div.txt{
  width: 50%;
  text-align: center;
}
section.foodsSec div.content-area div.wrap div.txt h3.h3-top-food{
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 3rem;
  text-align: center;
}
section.foodsSec div.content-area div.wrap div.txt p{
  width: 80%;
  margin: 0 auto;
}
@media print, screen and (max-width: 1280px) {
  section.foodsSec{
    margin-top: 8%;  
  }
  section.foodsSec div.visual-area.v01{
    margin-top: 6%;
  }
  section.foodsSec div.content-area{
    margin: 6% auto 0;
    width: 85%;
  }
  section.foodsSec div.content-area div.wrap div.txt h3.h3-top-food{
    font-size: 2.0vw;
    margin-bottom: 4%;
  }
  section.foodsSec div.content-area div.wrap div.txt p{
    width: 85%;
  }
}
@media print, screen and (max-width: 960px) {
  section.foodsSec div.content-area div.wrap div.txt h3.h3-top-food{
    font-size: 2.4vw;
  }
}
@media print, screen and (max-width: 767px) {
  section.foodsSec{
    margin-top: 7rem;  
  }
  section.foodsSec div.content-area{
    margin: 5rem auto 0;
    width: 94%;
  }
  section.foodsSec div.visual-area.v01{
    margin-top: 3rem;
    margin-right: 3%;
    width: 97%;
  }
  section.foodsSec div.content-area div.wrap{
    display: block;
  }
  section.foodsSec div.content-area div.wrap.w01{
    margin-bottom: 5rem;
  }
  section.foodsSec div.content-area div.wrap div.img{
    width: 100%;
  }
  section.foodsSec div.content-area div.wrap div.txt{
    width: 100%;
    margin-bottom: 2.5rem;
  }
  section.foodsSec div.content-area div.wrap div.txt h3.h3-top-food{
    font-size: 2.0rem;
    margin-bottom: 2rem;
  }
  section.foodsSec div.content-area div.wrap div.txt p{
    width: 100%;
    margin: 0 auto;
  }  
}

/* peopleSec
-------------------------------------------------- */
section.peopleSec{
  margin-top: 10rem;
  padding: 15rem 0;
  background: url(../img/top/peopleSec_bg.jpg) center center / cover no-repeat;
  color: #fff;
  position: relative;
}
section.peopleSec h2.h2-top-ttl{
  color: #fff;
}
section.peopleSec h3.h3-top-people{
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}
section.peopleSec div.content-area{
  width: 90%;
  margin: 0 auto;
}
section.peopleSec div.content-area.c01 div.txt-area{
  width: 50%;
  margin-top: 3rem;
}
section.peopleSec div.content-area.c01 div.txt-area p.p-txt{
  width: 80%;
  font-weight: bold;
}
section.peopleSec div.content-area.c02{
  margin: 15rem auto 0;
}
section.peopleSec div.content-area.c02 div.wrap{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; 
}
section.peopleSec div.content-area.c02 div.wrap div.img-area{
  width: 50%;
}
section.peopleSec div.content-area.c02 div.wrap div.img-area ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
section.peopleSec div.content-area.c02 div.wrap div.img-area ul li{
  width: 49%;
}
section.peopleSec div.content-area.c02 div.wrap div.txt-area{
  width: 40%;
}
@media print, screen and (max-width: 1280px) {
  section.peopleSec{
    margin-top: 8%;
    padding: 10% 0;
  }
  section.peopleSec h3.h3-top-people{
    font-size: 2.4vw;
    margin-bottom: 4%;
  }
  section.peopleSec div.content-area.c01 div.txt-area{
    margin-top: 4%;
  }
  section.peopleSec div.content-area.c01 div.txt-area p.p-txt{
    width: 100%;
  }
  section.peopleSec div.content-area.c02{
    margin: 10% auto 0;
  }
  section.peopleSec div.content-area.c02 div.wrap div.img-area{
    width: 48%;
  }
  section.peopleSec div.content-area.c02 div.wrap div.txt-area{
    width: 46%;
  }
}
@media print, screen and (max-width: 767px) {
  section.peopleSec{
    margin-top: 7rem;
    padding: 7rem 0;
  }
  section.peopleSec h3.h3-top-people{
    font-size: 2.0rem;
    margin-bottom: 2.5rem;
  }
  section.peopleSec div.content-area{
    width: 94%;
  }
  section.peopleSec div.content-area.c01 div.txt-area{
    width: 100%;
    margin-top: 2.5rem;
  }
  section.peopleSec div.content-area.c01 div.txt-area p.p-txt{
    width: 100%;
  }
  section.peopleSec div.content-area.c02 div.wrap div.img-area{
    width: 100%;
  }
  section.peopleSec div.content-area.c02{
    margin: 3 rem auto 0;
  }
  section.peopleSec div.content-area.c02 div.wrap{
    display: block;
  }
  section.peopleSec div.content-area.c02 div.wrap div.img-area{
    width: 100%;
  }
  section.peopleSec div.content-area.c02 div.wrap div.txt-area{
    width: 100%;
    margin-top: 3rem;
  }
}

/* informationSec
-------------------------------------------------- */
section.informationSec{
  margin-top: 12rem;
}
section.informationSec h2.h2-top-info{
  font-size: 3.2rem;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 5rem;
}
section.informationSec div.content dl{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  margin-bottom: 3rem;
}
section.informationSec div.content dl:last-child{
  margin-bottom: 0;
}
section.informationSec div.content dl dt{
  width: 10rem;
  margin-right: 10rem;
  line-height: 1.8;
}
section.informationSec div.content dl dd{
  width: 50rem;
  line-height: 1.8;
}
section.informationSec div.content dl dd a{
  text-decoration: underline;
}
section.informationSec div.content dl dd a:hover{
  opacity: 0.4;
  transition: 0.6s;
}
section.informationSec div.button-area{
  margin: 5rem auto 0;
  width: 20rem;
}
section.informationSec div.button-area a.button{
  width: 20rem;
  background: #000;
  border: 1px solid #000;
  color: #fff;
  height: 5.2rem;
  line-height: 5.4rem;
  font-size: 1.6rem;
}
section.informationSec div.button-area a.button:hover{
  background: #fff;
  color: #000;
}
@media print, screen and (max-width: 1280px) {
  section.informationSec{
    margin-top: 10%;
  }
  section.informationSec div.content dl{
    margin-bottom: 2%;
  }
  section.informationSec div.content dl dt{
    width: 15%;
    margin-right: 5%;
    line-height: 1.8;
  }
  section.informationSec div.content dl dd{
    width: 50%;
    line-height: 1.8;
  }
  section.informationSec div.button-area{
    margin: 6% auto 0;
    width: 20%;
  }
  section.informationSec div.button-area a.button{
    width: 100%;
    height: 5.6vh;
    line-height: 5.6vh;
    font-size: 1.6vw;
  }
}
@media print, screen and (max-width: 767px) {
  section.informationSec{
    margin-top: 10rem;
  }
  section.informationSec h2.h2-top-info{
    font-size: 2.8rem;
    margin-bottom: 2.5rem;
  }
  section.informationSec div.button-area{
    margin: 5rem auto 0;
    width: 18rem;
  }
  section.informationSec div.button-area a.button{
    width: 18rem;
    height: 5rem;
    line-height: 4.8rem;
    font-size: 1.5rem;
  }
  section.informationSec div.content dl{
    display: block;
    margin-bottom: 1rem;
  }
  section.informationSec div.content dl:last-child{
    margin-bottom: 0;
  }
  section.informationSec div.content dl dt{
    width: 100%;
    margin-right: 0;
    line-height: 1.8;
  }
  section.informationSec div.content dl dd{
    width: 100%;
    line-height: 1.8;
  }
}

/* linkSec
-------------------------------------------------- */
section.linkSec{
  margin-top: 12rem;
}
section.linkSec div.img-area.i01{
  width: 80%;
  margin: 0 auto;
  position: relative;
}
section.linkSec div.img-area.i01 a{
  z-index: 1;
}
section.linkSec div.img-area.i01 a:hover{
  opacity: 0.8;
  transition: 0.6s;
}
section.linkSec div.img-area.i01 p.p-txt{
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  top: 47%;
  color: #fff;
  font-weight: bold;
  font-size: 2.6rem;
}
section.linkSec div.img-area.i02{
  margin-top: 10rem;
}
@media print, screen and (max-width: 1280px) {
  section.linkSec{
    margin-top: 10%;
  }
  section.linkSec div.img-area.i01{
    width: 85%;
  }
  section.linkSec div.img-area.i01 p.p-txt{
    font-size: 2.6vw;
  }
  section.linkSec div.img-area.i02{
    margin-top: 8%;
  }
}
@media print, screen and (max-width: 767px) {
  section.linkSec{
    margin-top: 7rem;
  }
  section.linkSec div.img-area.i01{
    width: 94%;
  }
  section.linkSec div.img-area.i01 p.p-txt{
    font-size: 1.7rem;
    top: 44%;
  }
  section.linkSec div.img-area.i02{
    margin-top: 5rem;
  }
}

/* bannerSec
-------------------------------------------------- */
section.bannerSec{
  margin-top: 10rem;
}
section.bannerSec div.banner-area{
  width: 70rem;
  margin: 0 auto;
}
section.bannerSec div.banner-area ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
section.bannerSec div.banner-area ul li{
  width: 49%;
  margin-bottom: 1rem;
  line-height: 1;
}
section.bannerSec div.banner-area ul li.btm{
  margin-bottom: 0;
}
section.bannerSec div.banner-area ul li img{
  border: 1px solid #888;
}
section.bannerSec div.banner-area ul li a:hover{
  opacity: 0.4;
  transition: 0.6s;
}
@media print, screen and (max-width: 1280px) {
  section.bannerSec{
    margin-top: 8%;
  }
  section.bannerSec div.banner-area{
    width: 70%;
    margin: 0 auto;
  }
  section.bannerSec div.banner-area ul li{
    margin-bottom: 1.5%;
  }
}
@media print, screen and (max-width: 767px) {
  section.bannerSec{
    margin-top: 5rem;
  }
  section.bannerSec div.banner-area{
    width: 94%;
    margin: 0 auto;
  }
}

/* footer
-------------------------------------------------- */
footer{
  margin-top: 12rem;
}
footer div.footer-upper{
  background: url(../img/common/footer_bg.jpg) center center / cover no-repeat;
  padding: 20rem 0;
}
footer div.footer-upper div.footerwrap{
  width: 75%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
footer div.footer-upper div.footerwrap div.footer-logo{
  width: 25rem;
}
footer div.footer-upper div.footerwrap div.footer-logo a:hover{
  opacity: 0.6;
  transition: 0.6s;
}
footer div.footer-upper div.footerwrap div.footernav nav{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
}
footer div.footer-upper div.footerwrap div.footernav nav ul.list01{
  margin-right: 7rem;
}
footer div.footer-upper div.footerwrap div.footernav nav ul li{
  margin-bottom: 1rem;
  font-size: 1.6rem;
}
footer div.footer-upper div.footerwrap div.footernav nav ul li:last-child{
  margin-bottom: 0;
}
footer div.footer-upper div.footerwrap div.footernav nav ul li a{
  color: #fff;
  text-shadow: 1px 1px 0px #333;
}
footer div.footer-upper div.footerwrap div.footernav nav ul li a:hover{
  opacity: 0.6;
  transition: 0.6s;
}
footer div.footer-lower{
  margin-top: 12rem;
}
footer div.footer-lower div.sns-area ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
}
footer div.footer-lower div.sns-area ul li:first-child{
  margin-right: 3rem;
}
footer div.footer-lower div.sns-area ul li i{
  font-size: 4rem;
}
footer div.footer-lower div.sns-area ul li i a:hover{
  opacity: 0.4;
  transition: 0.6s;
}
footer div.footer-lower div.button-area{
  margin: 7rem auto 0;
}
footer div.footer-lower div.contact-info{
  margin-top: 7rem;
}
footer div.footer-lower div.contact-info p{
  text-align: center;
  line-height: 1.4;
}
footer div.footer-lower div.contact-info p.tel{
  font-size: 3.0rem;
}
footer div.footer-lower div.contact-info p.corpname{
  font-size: 1.8rem;
}
footer div.footer-lower div.contact-info p.businesshour{
  margin-top: 3rem;
  font-size: 2.0rem;
}
footer div.footer-lower div.copyright{
  margin-top: 7rem;
  padding-bottom: 2rem;
}
footer div.footer-lower div.copyright p{
  text-align: center;
  line-height: 2;
}
@media print, screen and (max-width: 1280px) {
  footer{
    margin-top: 10%;
  }
  footer div.footer-upper{
    padding: 16% 0;
  }
  footer div.footer-upper div.footerwrap{
    width: 80%;
  }
  footer div.footer-upper div.footerwrap div.footer-logo{
    width: 22rem;
  }
  footer div.footer-upper div.footerwrap div.footernav{
    width: 26%;
  }
  footer div.footer-upper div.footerwrap div.footernav nav ul.list01{
    margin-right: 22%;
  }
  footer div.footer-upper div.footerwrap div.footernav nav ul li{
    margin-bottom: 1.5%;
    font-size: 1.6vw;
  }
  footer div.footer-lower{
    margin-top: 8%;
  }
  footer div.footer-lower div.sns-area ul li:first-child{
    margin-right: 1.5rem;
  }
  footer div.footer-lower div.button-area{
    margin: 6% auto 0;
  }
  footer div.footer-lower div.contact-info{
    margin-top: 5%;
  }
  footer div.footer-lower div.contact-info p.tel{
    font-size: 3.2vw;
  }
  footer div.footer-lower div.contact-info p.corpname{
    font-size: 1.7vw;
  }
  footer div.footer-lower div.contact-info p.businesshour{
    margin-top: 3%;
    font-size: 2.4vw;
  }
  footer div.footer-lower div.copyright{
    margin-top: 8%;
    padding-bottom: 2%;
  }
}
@media print, screen and (max-width: 767px) {
  footer{
    margin-top: 7rem;
  }
  footer div.footer-upper{
    padding: 7rem 0;
  }
  footer div.footer-upper div.footerwrap{
    width: 94%;
    display: block;
  }
  footer div.footer-upper div.footerwrap div.footer-logo{
    width: 22rem;
    margin: 0 auto 3rem;
  }
  footer div.footer-upper div.footerwrap div.footernav{
    width: 22rem;
    margin: 0 auto;
  }
  footer div.footer-upper div.footerwrap div.footernav nav ul.list01{
    margin-right: 6rem;
  }
  footer div.footer-upper div.footerwrap div.footernav nav ul li{
    margin-bottom: 1rem;
    font-size: 1.5rem;
  }
  footer div.footer-lower{
    margin-top: 7rem;
  }
  footer div.footer-lower div.button-area{
    margin: 3rem auto 0;
  }
  footer div.footer-lower div.contact-info{
    margin-top: 3rem;
  }
  footer div.footer-lower div.contact-info p.tel{
    font-size: 2.5rem;
  }
  footer div.footer-lower div.contact-info p.corpname{
    font-size: 1.4rem;
  }
  footer div.footer-lower div.contact-info p.businesshour{
    margin-top: 3rem;
    font-size: 1.8rem;
  }
  footer div.footer-lower div.copyright{
    margin-top: 5rem;
    padding-bottom: 1rem;
  }
  footer div.footer-lower div.copyright p{
    font-size: 1.3rem;
  }
}

/* startSec
-------------------------------------------------- */
div.startSec{
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
}
div.startSec div.copy-area{
  position: absolute;
  top: 52%;
  left: 0;
  right: 0;
  transform: translateY(-48%);
  margin: 0 auto;
  z-index: 5;
}
div.startSec div.copy-area div.logo{
  width: 28rem;
  margin: 0 auto;
}
div.startSec div.copy-area p.catch{
  margin-top: 2.5rem;
  color: #000;
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.3;
}
@media print, screen and (max-width: 1280px) {
  div.startSec div.copy-area{
    top: 51%;
    transform: translateY(-49%);
  }
  div.startSec div.copy-area div.logo{
    width: 26%;
  }
  div.startSec div.copy-area p.catch{
    margin-top: 2%;
    font-size: 2vw;
  }
}
@media print, screen and (max-width: 960px) {
  div.startSec div.copy-area{
    top: 50%;
    transform: translateY(-50%);
  }
  div.startSec div.copy-area div.logo{
    width: 32%;
  }
  div.startSec div.copy-area p.catch{
    margin-top: 2%;
    font-size: 2.4vw;
  }
}
@media print, screen and (max-width: 767px) {
  div.startSec div.copy-area{
    position: absolute;
    top: 51%;
    transform: translateY(-49%);
  }
  div.startSec div.copy-area div.logo{
    width: 22rem;
  }
  div.startSec div.copy-area p.catch{
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.3;
  }
}

/* fadein
-------------------------------------------------- */
/* 画面外にいる状態 */
.fadein {
  opacity : 0;
  transform : translate(0, 45px);
  transition : all 1000ms;
}
/* 画面内に入った状態 */
.fadein.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}