@charset "utf-8";

/* =================================================================
CSS情報　　 ：リセット
使用ファイル：すべてのファイル

html5doctor.com Reset Stylesheet
v1.6
Last Updated: 2010-08-18
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
=================================================================*/

html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
abbr,address,cite,code,
del,dfn,em,img,ins,kbd,q,samp,
small,strong,sub,sup,var,
b,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,figcaption,figure, 
footer,header,hgroup,menu,nav,section,summary,
time,mark,audio,video{margin:0; padding:0; border:0; background:transparent; outline:0; font-size:100%; vertical-align:baseline;}

input{padding:0;}
body{line-height:1;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{display:block;}
li{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after{content:''; content:none;}
a{margin:0; padding:0; background:transparent; font-size:100%; vertical-align:baseline;}

/*  change colours to suit your needs
-------------------------------------------------------------*/
ins{color:#000; text-decoration:none;}

/*  change colours to suit your needs
-------------------------------------------------------------*/
mark{background-color:#ff9; color:#000; font-style:italic; font-weight:bold;}
del{text-decoration:line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted inherit; cursor:help;}
table{border-collapse:collapse; border-spacing:0;}

/*  change border colour to suit your needs
-------------------------------------------------------------*/
hr{display:block; height:1px; margin:1em 0; padding:0; border:0; border-top:1px solid #cccccc;}
input, select{vertical-align:middle;}



/* ===================================================================
CSS情報　　 ：基本情報
使用ファイル：すべてのファイル
=================================================================== */

body{font-family: 'Zen Maru Gothic', sans-serif;color:#231815;background: #f6f6f7;font-size:16px;word-break:break-all;letter-spacing: .15vw;font-weight: 400;-webkit-text-size-adjust: 100%;}

a{color:#231815;text-decoration:none;}


.inner{max-width:860px;margin:auto;padding:80px 0;position: relative;min-height: calc(100svh - 348px);}
@media (max-width: 960px) and (min-width: 640px) {
.inner{padding:80px 50px;min-height: calc(100svh - 332px);}
}
@media (max-width: 640px) {
.inner{width:auto;padding:54px 20px;min-height: calc(100svh - 280px);}
}


.common__pc-hide{display:none;}
@media (max-width: 640px) {
.common__pc-hide{display:inline;}
}
.common_sm-hide{display:inline;}
@media (max-width: 640px) {
.common__sm-hide{display:none;}
}


.common__title{font-size: 33px;font-weight: 400;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;margin: 0 auto 50px;line-height: 1.5;}
@media (max-width: 640px) {
.common__title{font-size: 24px;}
}
.common__content{margin: 70px 0;line-height: 1.7;}

.common__link{text-align: center;margin: 50px 0;}
.common__link a{border-bottom: 1px solid #6967ab;color: #6967ab;padding-bottom: 8px;}
.common__link a:hover{color: #4a4878;border-color: #4a4878;}



/* scroll animation */
.sa {
  opacity: 0;
  transition: all 1s ease;
}
.sa.show {
  opacity: 1;
  transform: none;
} 
.sa__up {
  transform: translate(0, 30px);
}



/* ===================================================================
CSS情報　　 leaf
使用ファイル：すべてのファイル
=================================================================== */

.leaf__wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: -5;
}

.leaf {
  position: absolute;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.leaf li{
  position: absolute;
  list-style: none;
  top: -50px;
  border-radius: 0% 70%;
}

@keyframes fall {
  to {
    top: 120%;
  }
}

@keyframes sway1 {
  from {
    transform: translateX(0px) rotate(0deg);
  }
  to {
    transform: translateX(200px) rotate(-45deg);
  }
}

@keyframes sway2 {
  from {
    transform: translateX(200px) rotate(-45deg);
  }
  to {
    transform: translateX(0px) rotate(0deg);
  }
}

.leaf li:nth-child(1){
  left: 0%;
  top: -60px;
  width: 30px;
  height: 20px;
  background-color: #C1C1DD;
  animation: fall 20s linear infinite,
             sway1 3s ease-in-out infinite alternate;
  animation-delay: 2s;
}

.leaf li:nth-child(2){
  left: 5%;
  top: -70px;
  width: 20px;
  height: 15px;
  background-color: #9F9DC9;
  animation: fall 30s linear infinite,
             sway2 2s ease-in-out infinite alternate;
  animation-delay: 4s;
}

.leaf li:nth-child(3){
  left: 15%;
  top: -50px;
  width: 30px;
  height: 20px;
  background-color: #C1C1DD;
  animation: fall 15s linear infinite,
             sway1 5s ease-in-out infinite alternate;
  animation-delay: 6s;
}

.leaf li:nth-child(4){
  left: 20%;
  top: -70px;
  width: 20px;
  height: 15px;
  background-color: #9F9DC9;
  animation: fall 8s linear infinite,
             sway1 4s ease-in-out infinite alternate;
  animation-delay: 8s;
}
.leaf li:nth-child(5){
  left: 60%;
  top: -60px;
  width: 30px;
  height: 20px;
  background-color: #C1C1DD;
  animation: fall 10s linear infinite,
             sway1 4s ease-in-out infinite alternate;
  animation-delay: 9s;
}
.leaf li:nth-child(6){
  left: 65%;
  top: -50px;
  width: 20px;
  height: 15px;
  background-color: #9F9DC9;
  animation: fall 15s linear infinite,
             sway2 3s ease-in-out infinite alternate;
  animation-delay: 3s;
}
.leaf li:nth-child(7){
  left: 60%;
  top: -40px;
  width: 30px;
  height: 20px;
  background-color: #C1C1DD;
  animation: fall 10s linear infinite,
             sway2 5s ease-in-out infinite alternate;
  animation-delay: 7s;
}
.leaf li:nth-child(8){
  left: 75%;
  top: -60px;
  width: 20px;
  height: 15px;
  background-color: #9F9DC9;
  animation: fall 15s linear infinite,
             sway1 2s ease-in-out infinite alternate;
  animation-delay: 5s;
}



/* ===================================================================
CSS情報　　 mainvisual
使用ファイル：すべてのファイル
=================================================================== */

.mainvisual{height:calc(100svh - 70px);}
.mainvisual__video{position: absolute;width: calc(100vw - 100px);height: calc(100svh - 120px);background: rgba(255,255,255,0);overflow: hidden;margin: 0 50px;}
.mainvisual__video video{
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -100;
  border: none;
  animation-name:fade;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fade{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.mainvisual__inner{height: 100vh;}
.mainvisual__logo{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
.mainvisual__logo img{width: 140px;height: 321.21px;filter: drop-shadow(0 0 15px #FFF) drop-shadow(0 0 5px #FFF);}
.mainvisual__logo img{
animation-name:fadeUp;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
animation-delay: 1s;
}
@keyframes fadeUp{
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


@media (max-width: 960px) and (min-width: 640px) {
}
@media (max-width: 640px) {
.mainvisual{height:calc(100svh - 58px);}
.mainvisual__video{width: calc(100vw - 40px);height: calc(100svh - 78px);margin: 0 20px;}
.mainvisual__logo{margin-left: 4%;}
.mainvisual__logo img{width: 30vw;height: inherit;}
}



/* ===================================================================
CSS情報　　 header
使用ファイル：すべてのファイル
=================================================================== */

.header{background: none;position: sticky;position: -webkit-sticky;top:0;padding:20px 50px;height:30px;z-index:10;
-webkit-transition: all .3s ease-in;
transition: all .3s ease-in;}
.header__logo{float: left;}
.header__logo a{display: block;}
.header__logo img{width: 104.18px;height:30px;}
.header__logo-note{position: absolute;top: 30px;font-weight: 500;font-size: 14px;margin-left: 15px;}
.header__menu {
position: relative;
z-index: 5;
left: 0;
top: 5px;
visibility: visible;
overflow: auto;
height: auto;
padding-top: 0;
opacity: 1;
float: right;
-webkit-transition: background .3s ease;
transition: background .3s ease;
}
.header__menu nav {
}
.header__menu nav, .header__menu ul {
}
.header__menu li {display: inline-block;font-size: 14px;margin-left:20px;}
.header__menu a {
display: block;
color: #231815;
-webkit-transition: color .1s ease-in;
transition: color .1s ease-in;
text-decoration: none;
}
.header__menu a span{
  display: none;
}
.header__menu a:hover {
color: #231815;
}
.header__toggle {
display: none;
}
#header__menu-icon {
display: none;
}


@media (max-width: 960px){
.header{height: 24px;padding: 15px 20px;}
.header__logo img{width: 83.34px;height: 24px;}
.header__logo-note{top: 22px;font-size: 13px;}
.header__menu {
display: none;
position: fixed;
width: 100%;
z-index: 2;
top: 0;
/* overflow-y: scroll; */
overflow: hidden;
height: 100%;
padding-top: 60px;
-webkit-transition: opacity 0.3s ease-in, visibility 0.3s ease-in 0.3s;
transition: opacity 0.3s ease-in, visibility 0.3s ease-in 0.3s;
opacity: 0;
background-color: #6967AB;
}
.header__menu nav {
background: #6967AB;
}
.header__menu li {
display: block;
margin-left: 0;
}
.header__menu a {
padding: 1.5em;
color: #FFF;
font-size: 16px;
letter-spacing: 5px;
}
.header__menu a span{
  display: inline;
  font-size: 12px;
  margin-left: 10px;
  color: #f1f0f7;
}
.header__menu a:hover {
background-color: #C1C1DD;
}
.header__toggle {
display: block;
z-index: 10;
position: absolute;
top: 0;
right: 0;
padding: 0 20px;
height: 54px;
}
.header__menu-icon {
display: block;
position: relative;
float: right;
width: 25px;
height: 100%;
cursor: pointer;
-webkit-transition: transform .3s ease-in;
transition: transform .3s ease-in;
}
.header__menu-icon > span {
display: block;
position: absolute;
top: 55%;
margin-top: -0.3em;
width: 100%;
height: 0.1em;
border-radius: 1px;
background-color: #231815;
-webkit-transition: transform .3s ease-in;
transition: transform .3s ease-in;
}
.header__menu-icon > span:before, .header__menu-icon > span:after {
content: '';
position: absolute;
width: 100%;
height: 100%;
border-radius: 1px;
background-color: #231815;
-webkit-transition: transform .3s ease;
transition: transform .3s ease;
}
.header__menu-icon > span:before {
-webkit-transform: translateY(-0.6em);
transform: translateY(-0.6em);
}
.header__menu-icon > span:after {
-webkit-transform: translateY(0.6em);
transform: translateY(0.6em);
}
#header__menu-icon:checked + .header__toggle .header__menu-icon {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#header__menu-icon:checked + .header__toggle span,
#header__menu-icon:checked + .header__toggle span:before,
#header__menu-icon:checked + .header__toggle span:after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
background-color: #FFF;
}
#header__menu-icon:checked ~ .header__menu {
display: block;
visibility: visible;
opacity: 1;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
}



/* ===================================================================
CSS情報　　 top-news
使用ファイル：すべてのファイル
=================================================================== */

.top-news__inner{min-height: 0;}
.top-news__title{position: absolute;top: 0;left: 0;font-weight: 400;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;font-size: 33px;line-height: 1.7;}
.top-news__content{line-height:2.3;margin-top: 20px;margin-left: 100px;}
.top-news__content:first-child{margin-top: 30px;}
.top-news__content a{display: flex;line-height:1.5;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;}
.top-news__content a:hover{color: #6967ab;}
.top-news__content-date{color: #999999;width: 130px;}
.top-news__content-title{width: 100%;}


@media (max-width: 960px) and (min-width: 640px) {
.top-news__title{right: 50px;}
}
@media (max-width: 640px) {
.top-news__title{position: relative;top: 0;font-size: 24px;margin: auto;}
.top-news__content{margin-left: 0;}
.top-news__content-date{display: block;}
}



/* ===================================================================
CSS情報　　 news-list
使用ファイル：すべてのファイル
=================================================================== */

.news-list__content{line-height:2.3;margin-top: 20px;}
.news-list__content:first-child{margin-top: 30px;}
.news-list__content a{display: flex;line-height:1.5;-webkit-transition: all 0.3s ease;transition: all 0.3s ease;}
.news-list__content a:hover{color: #6967ab;}
.news-list__content-date{color: #999999;width: 130px;}
.news-list__content-title{width: 100%;}

.news-list__pagenavi{text-align:center;overflow: hidden;padding: 20px 10px 30px;margin-top: 50px;}
.news-list__pagenavi-overview{margin-bottom: 25px;font-size: 14px;}
.news-list__pagenavi a{text-decoration:none;}
.news-list__pagenavi .page-numbers{display: inline-block;border-radius:20px;width: 32px;padding:8px 0;margin:0 2px;}
.news-list__pagenavi a.page-numbers:hover{background: #6967ab;color: #FFFFFF;}
.news-list__pagenavi .current{background: #6967ab;color: #FFFFFF;}
.news-list__pagenavi .prev{}
.news-list__pagenavi .next{}



/* ===================================================================
CSS情報　　 news-detail
使用ファイル：すべてのファイル
=================================================================== */

.news-detail{min-height: calc( 100svh - 164px );}
.news-detail__title{font-weight: 400;font-size: 32px;margin-bottom: 20px;line-height: 1.5;}
.news-detail__date{color: #999999;}
.news-detail__content{margin-top: 60px;line-height: 2;}
.news-detail__content h1{font-size: 26px;margin-top: 70px;line-height: 1.5;font-weight: 400;}
.news-detail__content h2{font-size: 24px;margin-top: 70px;line-height: 1.5;font-weight: 400;}
.news-detail__content h3{font-size: 22px;margin-top: 50px;line-height: 1.5;font-weight: 400;}
.news-detail__content h4{font-size: 20px;margin-top: 50px;line-height: 1.5;font-weight: 400;}
.news-detail__content h5{font-size: 18px;margin-top: 30px;line-height: 1.5;font-weight: 400;}
.news-detail__content h6{font-size: 16px;margin-top: 30px;line-height: 1.5;font-weight: 400;}
.news-detail__content p{margin-top: 20px;}
.news-detail__content img{display: block;margin: 20px auto 0;max-width: 100%;height: inherit;}
.news-detail__content a{color: #6967ab;}
.news-detail__content a:hover{text-decoration: underline;}

.news-detail__content a.button{text-align: center;}
.news-detail__content a.button{display:block;background:#6967ab;color:#FFF;padding:15px 0;font-size:16px;max-width:400px;margin:10px auto;border-radius:50px;line-height: 1.5;}
.news-detail__content a.button:hover{text-decoration:none;background: #4a4878;}




@media (max-width: 640px) {
.news-detail__title{font-size: 24px;}
.news-detail__date{color: #999999;}
.news-detail__content{margin-top: 60px;line-height: 2;}
.news-detail__content h1{font-size: 24px;}
.news-detail__content h2{font-size: 22px;}
.news-detail__content h3{font-size: 20px;}
.news-detail__content h4{font-size: 18px;}
.news-detail__content h5{font-size: 17px;}
.news-detail__content h6{font-size: 16px;}
.news-detail__content p{font-size: 16px;}
}



/* ===================================================================
CSS情報　　 about
使用ファイル：すべてのファイル
=================================================================== */

.about__title{position: absolute;top: 30px;right: 0;font-weight: 400;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;font-size: 33px;line-height: 1.7;}
.about__content{line-height:2.3;margin-top: 20px;margin-right: 250px;}
.about__content:first-child{margin-top: 70px;}
.about__bg{width: 650px;position: absolute;top:0;left:-350px;z-index: -10;}


@media (max-width: 960px) and (min-width: 640px) {
.about__title{right: 50px;}
}
@media (max-width: 640px) {
.about__title{position: relative;top: 0;font-size: 24px;margin: auto;}
.about__content{margin-right: 0;}
.about__bg{width: 550px;top: 0;left:-200px;}
}



/* ===================================================================
CSS情報　　access
使用ファイル：すべてのファイル
=================================================================== */

.access__map{width: 100%;height: 400px;filter: grayscale(100%);-webkit-filter: grayscale(100%);}
.access__text{background: #e0e1ee;padding: 30px 50px;margin-top: -1px;display: flex;align-items: center;}
.access__name{font-size: 18px;font-weight: 400;display: flex;align-items: center;width: 440px;}
.access__name img{width: 100px;}
.access__name rt{margin-bottom: 2px;}
.access__mount{margin-right: 5px;}
.access__temple{font-size: 24px;}
.access__sect{font-size: 14px;margin: 20px 0 0 2px;}
.access__address{margin-top: 15px;font-size: 14px;}
.access__access{line-height: 1.7;font-size: 13px;white-space: nowrap}
.access__note{margin-top: 20px;line-height: 1.7;font-size: 14px;color: #6967ab;text-align: center;}


@media (max-width: 960px) {
.access__map{height: 300px}
.access__text{display:block;padding: 20px;text-align: center;}
.access__name{width: 100%;justify-content: center;flex-wrap: wrap;}
.access__sect{margin: 6px 0 0 0;}
.access__address{text-align: center;}
.access__access{margin: 20px auto 0;display: inline-block;text-align: left;}
}



/* ===================================================================
CSS情報　　top-contact
使用ファイル：すべてのファイル
=================================================================== */

.top-contact{background: linear-gradient(#EAEAF4, #C1C1DD);}
.top-contact__content{margin: 70px 0;line-height: 1.7;text-align: center;}
.top-contact__button{text-align: center;margin-top: 70px;}
.top-contact__button a{display: inline-block;background: #6967ab;padding: 20px 80px;color: #FFFFFF;border-radius: 50px;}
.top-contact__button a:hover{background: #4a4878;}


@media (max-width: 640px) {
.top-contact__button{margin-top: 50px;}
.top-contact__button a{padding: 20px 0;color: #FFFFFF;border-radius: 50px;width: 100%;}
}


/* ===================================================================
CSS情報　　contact
使用ファイル：すべてのファイル
=================================================================== */

.contact{}
.contact__title{font-weight: 400;font-size: 32px;text-align: center;margin-bottom: 40px;text-align: center;}
.contact__content{line-height: 1.7;text-align: center;margin-bottom: 70px;}

.contact dl{display: flex;flex-wrap: wrap;}
.contact dt{width: 200px;margin-bottom: 20px;display: flex;align-items: center;}
.contact dd{width: calc( 100% - 200px );margin-bottom:20px;}

.contact .error{margin-top: 10px;color:#6967ab;}
.contact__required{font-size: 12px;color:#6967ab;margin-right: 8px;}
.contact__any{font-size: 12px;color:#999999;margin-right: 8px;}

.contact input[type="text"]{background:#FFF;padding:14px;border:none;font-size:14px;border-radius:3px;width: calc(100% - 30px);font-family: 'Zen Maru Gothic', sans-serif, sans-serif;border: 1px solid #fff;}
.contact input[type="email"]{background:#FFF;padding:14px;border:none;font-size:14px;border-radius:3px;width: calc(100% - 30px);font-family: 'Zen Maru Gothic', sans-serif, sans-serif;border: 1px solid #fff;}
.contact input[type="tel"]{background:#FFF;padding:14px;border:none;font-size:14px;border-radius:3px;width: calc(100% - 30px);font-family: 'Zen Maru Gothic', sans-serif, sans-serif;border: 1px solid #fff;}
.contact textarea{background:#FFF;padding:14px;border:none;font-size:14px;border-radius:3px;width: calc(100% - 30px);height:200px;font-family: 'Zen Maru Gothic', sans-serif, sans-serif;border: 1px solid #fff;}
.contact input:focus, .contact textarea:focus{outline: 0;border-color: #6967ab;}
.contact .button{text-align: center;}
.contact .button input[type="submit"]{display:block;border:none;background:#6967ab;color:#FFF;padding:15px 0;font-size:16px;width:220px;margin:10px auto;border-radius:50px;line-height:1;-webkit-appearance: none; font-family: 'Zen Maru Gothic', sans-serif;font-weight: 400;}
.contact .button input[type="submit"]:hover{background: #4a4878;}
.contact .button a{display:block;background:#6967ab;color:#FFF;padding:15px 0;font-size:16px;width:220px;margin:10px auto;border-radius:50px;}
.contact .button a:hover{text-decoration:none;background: #4a4878;}

.contact .wpcf7-not-valid-tip{margin-top: 10px;}

@media (max-width: 640px) {
.contact__title{font-size: 24px;margin-bottom: 40px;}
.contact__content{text-align: left;}
.contact__button{margin-top: 50px;}
.contact__button a{padding: 30px 0;color: #FFFFFF;border-radius: 50px;width: 100%;}
.contact dl{display: block;}
.contact dt{margin-bottom: 10px;}
.contact dd{width: 100%;margin-left: 0;}
.contact .button input[type="submit"]{margin: 10px auto;}
}



/* ===================================================================
CSS情報　　 privacy
使用ファイル：すべてのファイル
=================================================================== */

.privacy{}
.privacy__title{font-weight: 400;font-size: 32px;text-align: center;margin-bottom: 60px;}
.privacy h3{margin-top: 60px;line-height: 2;font-size: 20px;}
.privacy h4{margin-top: 40px;line-height: 2;font-size: 18px;}
.privacy p{margin-top: 20px;line-height: 2;}
.privacy ul {margin-left: 18px;margin-bottom: 20px;}
.privacy li{margin-top: 20px;line-height: 2;}
.privacy a{color: #6967ab;}
.privacy a:hover{text-decoration: underline;}
.privacy__li-number li{list-style-type: decimal;}
.privacy__li-disc li{list-style-type: disc;}
.pricvacy__note{}


@media (max-width: 640px) {
.privacy__title{font-size: 24px;margin-bottom: 40px;}
.privacy h3{font-size: 18px;}
.privacy h4{font-size: 16px;}
.privacy p{}
.privacy li{}
.pricvacy__note{font-size: 12px;}
}



/* ===================================================================
CSS情報　　footer
使用ファイル：すべてのファイル
=================================================================== */

.footer{background:#C1C1DD;text-align:center;color:#FFF;padding:50px;overflow:hidden;font-size: 12px;line-height: 1.5;}

@media (max-width: 640px) {
}


