@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap");
/* リセットCSS
===================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html, body { padding: 0; margin: 0; }

body { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; line-height: 1.75; font-weight: 500; background: #fff; }

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

html { line-height: 1; }

ol, ul { list-style: none; }

li, dd { list-style-type: none; }

table { border-collapse: collapse; border-spacing: 0; }

caption, th, td { font-weight: normal; text-align: left; vertical-align: middle; }

q, blockquote { quotes: none; }

q:before, q:after, blockquote:before, blockquote:after { content: ""; content: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

img { border: none; vertical-align: bottom; width: 100%; max-width: 100%; height: auto; }

a { text-decoration: none; }
@media (hover: hover) {
 a:hover { opacity: 0.7; }
}

p { line-height: 1.75;  margin-bottom: 2rem; }
html #wpadminbar { position: fixed !important; }

/*------------------------------
all
------------------------------*/
body { color: #fff; font-family: sans-serif; /* line-height: normal;*/ }
body.is-active { position: fixed; width: 100%; height: 100%; }

html { font-size: 62.5%; scroll-behavior: smooth; }

.inner { width: 1186px; max-width: 100%; margin: 0 auto; padding: 0 16px; }

main { background: #000; }

/*------------------------------
common
------------------------------*/
/* スマホ用の表示の時はis-pcは非表示 */
@media (max-width: 767px) {
.pc { display: none !important; }
}
/* PC用の表示の時はis-spは非表示 */
@media (min-width: 768px) {
.sp { display: none !important; }
}
.title { width: 53vw; max-width: 563px; margin: 0 auto; }
@media (max-width: 767px) {
.title { width: 300px; }
}

.text-ctr { text-align: center; }

/*------------------------------
header
------------------------------*/
header { position: relative; background: #000; padding: 5px 0 3px; /*position: sticky; top:0; z-index: 10000;*/ }
/*body.customize-support header { top:32px; }*/

.header-container { display: flex; align-items: center; justify-content: space-between; }

.header-logo { width: 24vw; max-width: 340px; }
@media (max-width: 767px) {
.header-logo { width: 200px; }
}

.header-nav { display: flex; align-items: center; justify-content: end; justify-content: space-between; width: 600px; }
@media screen and (max-width: 1000px) {
.header-nav { width: 500px; }
}
@media (max-width: 767px) {
.header-nav { display: none; }
}

.header-content { width: 73%; }

.header-language { display: flex; align-items: center; justify-content: end; }
.header-language li { font-size: 1.6rem; color: #fff; }
.header-language li:nth-child(n + 2) { margin-left: 10px; }
.header-language a { color: #fff; }
@media (max-width: 767px) { .header-language{ display: block; text-align: center; }

 .header-language li:nth-child(n + 2){ margin-left: 0; margin-top: 15px; }
}

.header-menu { display: flex; justify-content: end; /* width: 73%; */
}
.header-menu li:nth-child(n+2) {
margin-left: 7%; }
.header-menu li a { color: #fff; font-size: 1.6rem; }
@media screen and (max-width: 1000px) {
.header-menu li a { font-size: 1.3rem; }
}
.header-sns { display: flex; justify-content: space-between; align-items: center; width: 25%; }
.header-sns li { width: 32px; }
.header-sns li:last-child { width: 51px; }
@media (max-width: 767px) {
.header-sns { width: 100%; margin-top: 50px; }
}

.drawer-icon { position: absolute; top: 50%; right: 16px; transform: translateY(-50%); z-index: 300; display: none; transition: transform 0.5s ease 0s; }
@media (max-width: 767px) {
.drawer-icon { display: block; }
}
.drawer-icon.is-active .drawer-icon__bar1 { transform: rotate(-45deg); top: 8px; }
.drawer-icon.is-active .drawer-icon__bar2 { display: none; }
.drawer-icon.is-active .drawer-icon__bar3 { transform: rotate(45deg); top: 8px; }

.drawer-icon__bars { width: 22px; height: 20px; display: block; position: relative; z-index: 400; }

.drawer-icon__bar1,
.drawer-icon__bar2,
.drawer-icon__bar3 { position: absolute; width: 22px; height: 4px; background: #fff; top: 0; left: 0; }
.drawer-icon__bar1 { top: 0; transition: transform 0.3s; }
.drawer-icon__bar2 { top: 8px; }
.drawer-icon__bar3 { top: 16px; transition: transform 0.3s; }

.drawer-content { width: 200px; height: 100%; position: fixed; top: 0; right: 0; background: #000; padding: 50px 20px; z-index: 299; transform: translateX(105%); transition: transform 0.5s ease 0s; overflow-y: auto; overscroll-behavior: contain; /* scroll伝番防止 */
}
.drawer-content.is-active { transform: translateX(0); }

.drawer-menu { margin-top: 30px; }
.drawer-menu li:nth-child(n+2) {
margin-top: 25px; }
.drawer-menu li a { display: block; font-size: 1.8rem; text-decoration: none; text-align: center; color: #fff; }

.drawer-sns { display: flex; }

.drawer-background { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(51, 51, 51, 0.8); z-index: 298; display: none; }
.drawer-background.is-active { display: block; }

/*------------------------------
mv
------------------------------*/
.mv-inner { width: 1350px; }

.mv-content { position: relative; max-width: 1366px; margin: 0 auto; }

.mv-content-image { width: 74%; max-width: 1420px; aspect-ratio: 1004/634; margin-left: auto; position: relative; }

.mv-logo { position: absolute; bottom: -5%; left: -28%; width: 65%; }

.mv-wrap { position: relative; }
.mv-wrap img { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 5s; aspect-ratio: 753/425; object-fit: cover; }
.mv-wrap img.active { opacity: 1; }

/*------------------------------
top
------------------------------*/
.top { position: relative; max-width: 1366px; /* margin-top: min(12.3%, 175px); */
 margin: min(12.3%, 175px) auto 0; }
.top::before { content: ""; position: absolute; background: url(/wp-content/uploads/2025/11/top-items_dec1.webp) no-repeat center center/100%; aspect-ratio: 696/1202; width: 25%; max-width: 375px; left: 0%; bottom: 0%; transform: translate(-15%, 0%); }
.top::after { content: ""; position: absolute; background: url(/wp-content/uploads/2025/11/top-items_dec2.webp) no-repeat center center/100%; aspect-ratio: 924/1502; width: 33%; max-width: 495px; right: 0%; bottom: 0%; transform: translate(0%, 0%); }
.top .inner { position: relative; z-index: 2; }
@media (max-width: 767px) {
.top { margin-top: 80px; }
}

.top-title { font-size: 2.4rem; letter-spacing: 1.2px; font-weight: 500; font-style: italic; text-align: center; color: #f0be3c; }
@media (max-width: 767px) {
.top-title { font-size: 2rem; }
}

.top-text { font-size: 1.6rem; /*line-height: 1.25;*/ width: 400px; max-width: 100%; margin: 38px auto 0; }

.top-items { display: flex; width: 780px; max-width: 100%; margin: 10% auto 0; justify-content: space-between; }
.top-items li { width: 49%; display: flex; flex-direction: column; text-align: center; }
.top-items li h3 { font-size: 2.4rem; letter-spacing: 1.2px; font-weight: 500; color: #f0be3c; line-height: 1.3; margin-top: 0.5em; }
.top-items li h3 span { display: block; font-size: 1.2rem; letter-spacing: 0.6px; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.top-items li p { font-size: 1.4rem;  font-weight: 500; font-style: italic; flex-grow: 1; margin-top: 0.1em; }
@media (max-width: 767px) {
.top-items { display: block; }
 .top-items li { width: 100%; }
 .top-items li:nth-child(2) { margin-top: 35px; }
}

.top-item-btn { text-align: center; margin-top: 0.9em; }
.top-item-btn a { display: inline-block; font-size: 0.9rem; letter-spacing: 0.45px; color: #f0be3c; border: 1px solid #f0be3c; padding: 0.25em; }

/*------------------------------
shrine01
------------------------------*/
.shrine01 { margin-top: 138px; }
.shrine01 p { font-size: 1.4rem;  font-weight: 500; line-height: 1.75; }
@media (max-width: 767px) {
.shrine01 { margin-top: 60px; }
}

.shrine-top { display: flex; justify-content: space-between; align-items: start; }
@media (max-width: 767px) {
.shrine-top { display: block; }
}

.shrine-top-content { width: 42.5%; }
.shrine-top-content p { margin-top: 3em; }
@media (max-width: 767px) {
.shrine-top-content { width: 100%; }
}

.shrine-logo { display: flex; align-items: center; justify-content: space-between; }
.shrine-logo img { width: 100%; }
.shrine-logo h2 { font-size: 1.4rem;  font-weight: 500; font-style: italic; transform: translateY(50%); padding: 0 0.4em; width: 45%; }
@media (max-width: 767px) {
.shrine-logo img { /* width: 150px; */
 }
}

.shrine-top-image { width: 55.8%; }
@media (max-width: 767px) {
.shrine-top-image { width: 100%; margin-top: 20px; }
}

.shrine-image { width: 80%; margin: 6.6% auto 0; }
.shrine-image p { margin-top: 5%; }
@media (max-width: 767px) {
.shrine-image { width: 100%; }
}

.shrine-image.shrine-image2 { /* over */ }
@media (min-width: 768px) {
.shrine-image.shrine-image2 { width: 100%; }
 .shrine-image.shrine-image2 img { width: 80%; display: block; margin: 0 auto; }
}

.shrine01-items { margin-top: 8.5%; }
.shrine01-items li { display: flex; justify-content: space-between; align-items: start; }
.shrine01-items li:nth-child(2) {
flex-direction: row-reverse; margin-top: 10%; }
/*.shrine01-items li img { width: 40%; }
.shrine01-items li p { width: 55%; }*/
@media (min-width: 768px) {
/*.shrine01-items li:nth-child(2) img { width: 35%; }
 .shrine01-items li:nth-child(2) p { width: 59%; }*/
}
@media (max-width: 767px) {
.shrine01-items li { display: block; }
 .shrine01-items li img { width: 100%; }
 .shrine01-items li p { width: 100%; margin-top: 15px; }
}

.shrine01-pictures { margin-top: 12.5%; display: flex; justify-content: space-between; }
.shrine01-pictures li { width: 23%; }
@media (min-width: 768px) {
.shrine01-pictures { width: 112%; width: min(1292px, 94.5827232796vw); margin-left: 50%; transform: translateX(-50%); }
}
@media (max-width: 767px) {
.shrine01-pictures { flex-wrap: wrap; }
 .shrine01-pictures li { width: 49%; }
 .shrine01-pictures li:nth-child(n+3) { margin-top: 2%; }
}

.shrine01-bottom { margin-top: 15%; display: flex; justify-content: space-between; align-items: end; position: relative; }
.shrine01-bottom::before { content: ""; position: absolute; background: url(/wp-content/uploads/2025/11/dec1.webp) no-repeat center center/100%; aspect-ratio: 850/1156; width: 37%; left: 0; top: 50%; transform: translate(-23%, -50%); }
/*.shrine01-bottom img { width: 40%; position: relative; }
.shrine01-bottom p { width: 55%; }*/
@media (max-width: 767px) {
.shrine01-bottom { display: block; }
 .shrine01-bottom img { width: 100%; }
 .shrine01-bottom p { width: 100%; margin-top: 20px; }
}
.shrine02 { margin-top: min(19%, 260px); }
.shrine02 p { font-size: 1.4rem;  font-weight: 500; }
@media (max-width: 767px) {
.shrine02 { margin-top: 100px; }
}

.shrine02-items { margin-top: 50px; position: relative; overflow: hidden; }
.shrine02-items::after { content: ""; position: absolute; background: url(/wp-content/uploads/2025/11/dec2.webp) no-repeat center center/100%; aspect-ratio: 966/412; width: 41%; right: min(-16px - (100vw - 1186px) / 2, -16px); bottom: 0%; transform: translate(7%, 100%); }
.shrine02-items li { display: flex; align-items: start; justify-content: space-between; }
.shrine02-items li:nth-child(2) {
margin-top: 10%; align-items: start; }
/*.shrine02-items li:nth-child(2) p { width: 60%; }
.shrine02-items li:nth-child(2) img { width: 27%; }*/
@media (max-width: 767px) {
.shrine02-items li { display: block; }
 .shrine02-items li:nth-child(2) p { width: 100%; }
 .shrine02-items li:nth-child(2) img { width: 100%; margin-top: 20px; }
}

.shrine02-item-content { width: 38%; }
.shrine02-item-content img { margin-top: 55px; }
@media (max-width: 767px) {
.shrine02-item-content { width: 100%; }
}

@media (min-width: 768px) {
.shrine02-item-image { width: 56%; }
}
@media (max-width: 767px) {
.shrine02-item-image { margin-top: 30px; }
}

.shrine02-bottom { display: flex; justify-content: space-between; margin-top: 22%; }
/*.shrine02-bottom img { width: 50%; }
.shrine02-bottom p { width: 46%; }*/
@media (max-width: 767px) {
.shrine02-bottom { display: block; }
 .shrine02-bottom img { width: 100%; }
 .shrine02-bottom p { width: 100%; margin-top: 20px; }
}

/*------------------------------
access
------------------------------*/
.access { margin-top: min(14%, 200px); }
@media (max-width: 767px) {
.access { margin-top: 100px; }
}

.access-items { width: 800px; max-width: 100%; margin: 50px auto 0; }
.access-items li:nth-child(2) {
margin-top: 11%; }
.access-items li h3 { font-size: 2.4rem; font-weight: 500; font-family: "Noto Serif JP", serif; }
.access-items li p { font-size: 1.6rem; font-weight: 500; font-family: "Noto Serif JP", serif; margin-top: 0.6em; padding-left: 2em; line-height: 1.75; }
.access-items li iframe { margin-top: 10px; aspect-ratio: 800/462; width: 100%; }
@media (max-width: 767px) {
.access-items li p { padding: 0; }
}

/*------------------------------
contact
------------------------------*/
.contact { padding: 150px 0; }
@media (max-width: 767px) {
.contact { padding: 80px 0; }
}

.contact-content { margin: 50px auto 0; width: 712px; max-width: 100%; line-height: 1.75; }
.contact-content p { font-size: 1.8rem; font-family: "Noto Serif JP", serif; /*line-height: normal;*/ }
.contact-content span { display: block; font-size: 1.8rem; font-family: "Noto Serif JP", serif; line-height: normal; }
@media (min-width: 768px) {
.contact-content span { white-space: nowrap; }
}
@media (max-width: 767px) {
.contact-content p { font-size: 1.6rem; }
 .contact-content span { font-size: 1.6rem; text-align: left; }
}

.contact-info { display: flex; flex-wrap: wrap; }
.contact-info dt, .contact-info dd { font-size: 1.8rem; font-family: "Noto Serif JP", serif; }
.contact-info dt { width: 110px; }
.contact-info dd { width: calc(100% - 110px); }
@media (min-width: 768px) {
.contact-info em { text-indent: 6.4em; display: block; }
}
@media (max-width: 767px) {
.contact-info { display: block; }
 .contact-info dt, .contact-info dd { width: 100%; font-size: 1.6rem; }
 .contact-info dt { margin-top: 15px; }
}

.page-top { position: fixed; bottom: 50px; right: 30px; width: 120px; z-index: 10; opacity: 0; transition: all 0.7s; }
.page-top.active { opacity: 1; }
@media (max-width: 767px) {
.page-top { width: 70px; right: 10px; }
}

.btn { display: block; position: relative; overflow: hidden; -webkit-mask-image: url(/wp-content/uploads/2025/11/title_kanzaki.webp); mask-image: url(/wp-content/uploads/2025/11/title_kanzaki.webp); -webkit-mask-size: 100%; mask-size: 100%; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; width: 51%; }
.btn.btn2 { -webkit-mask-image: url(/wp-content/uploads/2025/11/title_seigenin.webp); mask-image: url(/wp-content/uploads/2025/11/title_seigenin.webp); }

.btn::after { content: ""; position: absolute; top: -50%; left: -50%; height: 150%; 
 transform: rotate(45deg); /*傾き*/
 animation: reflect 4.5s ease-in-out infinite; width: 4%; /* 調整 */
 background: rgba(255, 255, 255, 0.7); /* 調整 */
}

@-webkit-keyframes reflect { 
0%, 75% { transform: rotate(45deg) scale(0); opacity: 1; }
100% { transform: rotate(45deg) scale(100); opacity: 0; }
}

@keyframes reflect { 
0%, 75% { transform: rotate(45deg) scale(0); opacity: 1; }
100% { transform: rotate(45deg) scale(100); opacity: 0; }
}
.fadeinBT { transform: translateY(10%); opacity: 0; }
.fadeinLR { transform: translateX(-10%); opacity: 0; }
.fadeinRL { transform: translateX(10%); opacity: 0; }

.fadein { opacity: 0; }
.anim_act { -webkit-animation: fadein 0.9s ease-in forwards; animation: fadein 0.9s ease-in forwards; }

@media (min-width: 768px) {
.animD05 { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }
 .animD1 { -webkit-animation-delay: 1s; animation-delay: 1s; }
 .animD15 { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }
 .animD2 { -webkit-animation-delay: 2s; animation-delay: 2s; }
 .animD25 { -webkit-animation-delay: 2.5s; animation-delay: 2.5s; }
 .animD3 { -webkit-animation-delay: 3s; animation-delay: 3s; }
}
@-webkit-keyframes fadein { 
to { transform: initial; opacity: 1; }
}
@keyframes fadein { 
to { transform: initial; opacity: 1; }
}

/*------------------------------
中国語サイトのみ
------------------------------*/
#dragons_tw h2 { letter-spacing: 0.05em !important; line-height: 1.5 !important; font-weight: 500 !important; font-size: 1.6rem !important; }
#dragons_tw p { letter-spacing: 0.05em !important; line-height: 1.5 !important; font-weight: 500 !important; font-size: 1.6rem !important; }
@media (max-width: 768px) {
#dragons_tw h2,
#dragons_tw p{ font-size: 1.4rem !important; }
#dragons_tw .shrine-top-content p{ margin-top: 7em; }
}


.w100 { width: 100%; margin-right:0 !important; margin-left:0 !important; }
.w95 { width: 95%; }
.w90 { width: 90%; }
.w85 { width: 85%; }
.w80 { width: 80%; }
.w75 { width: 75%; }
.w70 { width: 70%; }
.w66 { width: 66%; }
.w65 { width: 65%; }
.w60 { width: 60%; }
.w55 { width: 55%; }
.w54 { width: 54%; }
.w53 { width: 53%; }
.w50 { width: 50%; }
.w49 { width: 49%; }
.w48 { width: 48%; }
.w47 { width: 47%; }
.w45 { width: 45%; }
.w40 { width: 40%; }
.w35 { width: 35%; }
.w33 { width: 33%; }
.w32 { width: 32%; }
.w31 { width: 31%; }
.w30 { width: 30%; }
.w25 { width: 25%; }
.w24 { width: 24%; }
.w22 { width: 22%; }
.w20 { width: 20%; }
.w19 { width: 19%; }
.w18 { width: 18%; }
.w15 { width: 15%; }
.w10 { width: 10%; }
.w5 { width: 5%; }

@media (max-width: 768px) {
.resp100 { width:100% !important; }
.resp95 { width:95% !important; }
.resp90 { width:90% !important; }
.resp85 { width:85% !important; }
.resp80 { width:80% !important; }
.resp75 { width:75% !important; }
.resp70 { width:70% !important; }
.resp65 { width:65% !important; }
.resp60 { width:60% !important; }
.resp55 { width:55% !important; }
.resp50 { width:50% !important; }
.resp48 { width:48% !important; }
.resp47 { width:47% !important; }
.resp45 { width:45% !important; }
.resp40 { width:40% !important; }
.resp35 { width:35% !important; }
.resp30 { width:30% !important; }
.resp25 { width:25% !important; }
.resp20 { width:20% !important; }
.resp15 { width:15% !important; }
.resp10 { width:10% !important; }

.resp66 { width:66.6% !important; }
.resp33 { width:33.3% !important; }
.resp49 { width:49% !important; }
.resp32 { width:32% !important; }

.resp_no { display: none; }
.resp_ma { margin:auto !important; }
.resp_column { flex-flow: column wrap; }
}