@charset "utf-8";
/*!
Theme Name: sanyu-kk
Version: 0.0.1
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/assets/dist/main.css" */
/* From http://codex.wordpress.org/CSS */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;900&family=Shippori+Mincho:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap');

html { overflow-x: hidden; }
body {
	font-size:10px;
	font-size:1.0rem;
	-webkit-text-size-adjust: 100%;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	margin: 0;
	color: #333;
}
img {	user-drag: none; -webkit-user-drag: none; -moz-user-select: none; }
a { color: #325c77; }
a:hover { color: #4480a5; }
.container { max-width: 1080px!important; }
#front-news .container { max-width: 1280px!important; }
.container-full { width: 100vw; position: relative; left: 50%; transform: translateX(-50%); }
#single .container,#page .container { max-width: 1080px!important; }
#main { margin-top: 0; line-height: 1.6rem; }
.row { margin-left: 0; margin-right: 0; }


/* 共通パーツ */
.topBtn {
		opacity: 0;
		position: fixed;
		bottom: 50px;
		left: 0;
		background: #325c77;
		color: #fff;
		font-weight: 500;
		padding: 1.8rem;
		z-index: 99;
}
.font300 { font-weight: 300; }
.font400 { font-weight: 400; }
.font500 { font-weight: 500; }
.font700 { font-weight: 700; }
.font900 { font-weight: 900; }
.fontS { font-size: 75% !important; }
.yuji {
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
}
.gothic {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.gxl-0 { padding-left: 0!important; }
.gxr-0 { padding-right: 0!important; }
.fs-5 { font-size: 0.98rem!important; }
.fs-6 { font-size: 0.8rem!important; }
.mt-10 { margin-top: 5.0rem; }
.bold { font-weight: 700!important; }
.icon i { margin-right: 4px; }
.w100 { width: 100%; }
.w290 { min-width: 290px; }
.h100 { height: 100%; }
.no-wrap { white-space: nowrap; }
.download-bt a { display: inline-block; color: #fff; background: #dc143c; padding:1.0rem 3.0rem; border-radius: 6px; }
.download-bt a:hover { background: #db8495; transition: 0.8s; color: #dc143c; }
.gyou-1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
.gyou-2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.gyou-3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bg-00 { background: #fff; }
.bg-01 { background: #a69120; }
.mt-8 { margin-top:3.0rem!important; }
.text-wrap-01 { font-size: 0.9rem; padding: 0.3rem; }
.text-vwrap { line-height: 2.0rem; }
.text-space { letter-spacing: 0.5rem; }
.text-stroke {
 text-shadow:
       2px  2px 1px #fff,
      -2px  2px 1px #fff,
       2px -2px 1px #fff,
      -2px -2px 1px #fff,
       2px  0px 1px #fff,
       0px  2px 1px #fff,
      -2px  0px 1px #fff,
       0px -2px 1px #fff; 
}
.red { color: #e83828; }
.green { color: #5A7800; }
.white { color: #fff; }
.blue { color: #325c77; }
.black { color: #333; }
.gold { color: #a69120 }
.green-grad {
background: #99AE79;
background: linear-gradient(239240deg, rgba(153, 174, 121, 0.68) 0%, rgba(175, 199, 143, 1) 50%, rgba(153, 174, 121, 1) 100%);
}
.img100 { width:100%; height: auto; }
.over-img { overflow: hidden; }
.over-img img { height: 100%; width: 100%; object-fit: cover; }
.v-center { display:flex; align-items:center; }
.vh-center { display:flex; align-items:center; justify-content:center; }
.vh-end { display:flex; align-items:center; justify-content:end; }
.vh-start { display:flex; align-items:center; justify-content:start; }
.v-top { vertical-align: top; }
.v-bottom { vertical-align: bottom; }
.full-width { margin: 0 calc(50% - 50vw); }
.zoom-over:hover { transform:scale(1.1,1.1); transition:1s all; }
.shadow { box-shadow: 0 .15rem .5rem rgba(0, 0, 0, .3) !important; }
.t-shadow { text-shadow: 2px 2px #cce9ff; }
.nowrap { white-space: nowrap; }
.not-found { padding: 22% 0; }
.not-found p:first-of-type { font-size: 2.1rem; }
.not-found a { background: #0d6efd; color: #fff; padding: 10px 40px; border-radius: 10px; }
a.pdf:before { content: '\f1c1'; font-family: 'Font Awesome 6 Free'; font-weight: 900; padding-right: 6px; } 
.over-text { overflow: hidden; white-space: nowrap; width: 100%; text-overflow: ellipsis; }
.slb_details { display: none; }
.img-box { height: 100%; position: relative; }
.img-box p { position: absolute; bottom: 0; margin-bottom: 0; background: rgba(0, 0, 0, .5); width: 100%; color:#fff; font-size: 0.95rem; padding: 6px 4px; }
.fit-img img { width: 100%; height: 100%; object-fit: cover; }
.hr-block { margin-top: 4.0rem; text-align: center; }
#nopage { height: 40vh; }
#front-page section { margin-top: 0; }
section { margin-top: 4.5rem;}
.section-name { font-size: 2.0rem; display: flex; align-items: center; justify-content: center; letter-spacing: 0.25rem; }
.section-name {
	margin-bottom: 1.5rem;
	height: 5.0rem;
	background-image: url(image/section_bg.svg);
	background-repeat: no-repeat;
	background-position: center;
}
.head-name {
	background-image: url(image/head_bg.svg);
	background-repeat: no-repeat;
	background-position: left;
	padding-left: 4.0rem;
}
.main-caption { line-height: 2.4rem; margin-bottom: 3.0rem; }
.modal-open,.modal { padding-right: 0px !important; }
.modal { max-height: auto; overflow-y: auto; }
.modal::-webkit-scrollbar { display: none; /* Chrome, Safari, Opera */ }
.modal { -ms-overflow-style: none;  /* IE and Edge */ scrollbar-width: none;  /* Firefox */ }

.detail-link a { background: #a69120; color: #fff; padding: 0.4rem 1.5rem; }
.detail-link a:hover { background: #796a17; transition: 0.8s; }

.link-bt { position:relative; display: inline-block; background: #036EB8; color:#fff; border: 1.5px solid #036EB8; border-radius: 6px; text-align: center; padding: 0.6rem 2.4rem 0.6rem 0.6rem; }
.link-bt:after { position: absolute; right: 0.8rem; top: 50%; transform: translateY(-50%); font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:rgba(255, 255, 255, .5); font-size: 1.2rem; }
.link-bt:hover { background: #fff; color: #036EB8; transition: 0.8s; }
.link-bt:hover:after { color: #036EB8; transition: 0.8s; }

.link-bt-nb { display: inline-block; color:#333; }
.link-bt-nb:after { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#036EB8; margin-left:0.5rem; }
.link-bt-nb:hover { color: #036EB8; }

.img-link:hover { filter: brightness(60%); transition: 0.8s; }

.short-head { text-align: center; margin: 2.0rem 0 0.7rem 0; }
.short-head h4 { background: #a69120; color: #fff; display: inline-block; font-size: 1.25rem; padding: 0.45rem 1.2rem; letter-spacing: 0.15rem; }
.short-info { text-align: center; margin: 2.0rem 0 0.7rem 0; }
.short-info p { background: #a69120; color: #fff; display: inline-block; font-size: 1.45rem; padding: 0.85rem 1.8rem; }
.short-icon { background: #a69120; color: #fff; display: inline-block; padding: 0 0.8rem; margin-right: 6px; border-radius: 25px; }
.bg-head {
	background-image: url(image/bg_patt02.png);
	background-position: center;
	background-color: #fffbf1;
	padding: 1.4rem 1.0rem;
	border-radius: 10px;
}

/* パンくずリスト */
.breadcrumbs-wrap { font-size: 94%; }
.breadcrumbs-home { margin-right: 0.6rem; }
ul.breadcrumbs { display: flex; flex-wrap: wrap; list-style: none; padding:0; }
ul.breadcrumbs li:not(:last-child)::after { content: "＞"; margin: 0 .6em; }
ul.breadcrumbs li a { color: #325c77; }

/* ページネーション */
.pagination { display: flex; justify-content: center; margin-top:60px; }
.page-numbers { font-size: 1.3rem; }
a.page-numbers,.page-numbers.current {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background-color: #045eb8;
		color: #fff;
		text-align: center;
		font-size: 15px;
		font-weight: bold;
}
.page-numbers.current { background: #d8d8d8; color: #333; }

/* ポストナビゲーション */
.post-navigation { position: relative; height: 54px; margin: 0!important; }
.post-navigation a { font-size: 1.6rem; background: #036EB8; color:#fff; border: 2px solid #036EB8; padding: 0 1.2rem; border-radius: 6px; }
.post-navigation a:hover { background: #fff; color:#036EB8; border: 2px solid #036EB8; transition: 0.4s; }
.next-icon { position: absolute; top: 0; right: 0; }

/* コンテンツのスタイル */
header,.content-wrap {
    width: calc(100% - 240px); /* 全体幅からナビ幅を引く */
    margin-left: auto; /* 左側のマージンを自動に設定して右寄せ */
    margin-right: 0; /* 右側のマージンを0に設定 */
    float: right; /* 右寄せにするためにフロートを使用 */
}
.offcanvas-backdrop { height: 100%; }
/* ヘッダーナビ */
/* nav { position: fixed; width: 240px; height: 100vh; padding: 15px; background:#f8f8ff; } */
nav { position: fixed; width: 240px; height: 100vh; padding: 15px; background:#fff; }
.side-nav a { color: #333; }
.side-nav a:hover { color:#a69120; }
.nav-logo-wrap { display: flex; justify-content: center; align-items: center; }
.nav-logo { max-width: 100px; margin-top: 1.5rem; }
.nav-list { width: 100%; font-size: 1.15rem; padding-left: 0; text-align: center; margin-top: 2.0rem; }
.nav-list li { list-style: none; }
.sns-icon-wrap { width: 100%; text-align: center; position: absolute; bottom: 0; right: 0; margin-bottom: 20px; }
.sns-icon { width: 40px; margin: 0 6px; }

@media screen and (max-height: 800px ){
	.nav-logo { max-width: 90px; margin-top: 0; }
	.nav-list { margin-top: 0rem; font-size: 1.08rem; }
	.nav-list li { line-height: 1.15rem; }
}
@media screen and (max-height: 600px ){
	.nav-logo { max-width: 150px; }
	.sns-icon-wrap { margin-bottom: 10px; }
	.sns-icon-wrap p { line-height: 1.0rem; font-size: 0.85rem; margin-bottom: 8px; }
	.sns-icon { width: 35px; }
}

/* ヘッダーナビ（SP） */
.float-nav { z-index: 999; }
nav.float-nav { position: fixed; width: 0; height: 0; padding: 15px; background: none; }
.navbar { position: absolute; width: 100%; top: 0; padding: 0; }
.navbar-bt-top,.navbar-bt { position: fixed; right:20px; top:20px; z-index:99; }
.navbar-toggler {
		position: relative;
		width: 70px;
		height: 70px;
		background: rgb(255, 255, 255, 0.9);
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 4px solid rgb(166, 145, 32);
}
.navbar-toggler:focus { outline: none; }
.navbar-toggler .navbar-toggler-icon {
		width: 40px;
		background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(166, 145, 32, 1)" stroke-width="2" stroke-linecap="round" d="M4 7h22M4 15h22M4 23h22"/></svg>');
}
.navbar-toggler.active .navbar-toggler-icon {
  background-image: url('data:image/svg+xml;charset=UTF8,<svg viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path stroke="rgba(255, 255, 255, 1)" stroke-width="2" stroke-linecap="round" d="M7 7l16 16M7 23L23 7"/></svg>');
}
.btn-close { font-size: 1.8rem; margin-top:20px; }
nav.float-nav .offcanvas { background: #f8f8ff; }
.float-nav a { color: #333; font-size: 1.75rem; }
.float-nav a:hover { color:#a69120; }
.float-nav .nav-list li { line-height: 1.65rem; }

/* ヘッダスライダー */
.hero-wrap { position: relative; height: 100vh; }
.hero-wrap { display: flex; align-items: center; }
.hero-wrap h1 { color: #fff; font-size: 2.5rem; z-index: 1; padding: 5%; }
.home { background: none !important; }
.slide-wrap { position: absolute; top: 0; z-index: -3; height: 100vh; }
.overray { position: absolute; top: 0; height: 100vh; width: 100%; background-image: url(image/overray.png); }
.splide__track,.splide__list,.splide__slide { height: 100%; }
.splide__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 12s ease-out;
}
.splide__slide.is-active img {
  transform: scale(1.12);
  transition-delay: 0s;
}
img.sp-logo { max-width: 140px; filter: drop-shadow(0px 0px 3px #000); padding-bottom: 60px; }
.sp-logo { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }

/* ヘッドライン */
.head-line-wrap { padding :0 0 20px 20px; width:100%; position: absolute; bottom: 0; display: flex; justify-content: end; }
.head-line { background: rgba(255, 255, 255, 0.9); padding: 0.8rem; max-width: 800px; border-radius: 8px 0 0 8px; }
.headline-title { font-weight: 900; color: #000; font-size: 1.1rem; }
.headline-link { margin-top: 0.3rem; }
.headline-link a::before { font-family: "Font Awesome 6 Free"; content: "\f14c"; font-weight: 700; color:#045eb8; margin-right: 0.4rem; }

.contact-icon:before { font-family: "Font Awesome 6 Free"; content: "\f0e0"; font-weight: 700; color:#045eb8; margin-right:0.2rem; }
.contact-icon { position: absolute; top: 30px; left: 0; background: #fff; color:#045eb8; display:inline-block; padding: 1.8rem; }
.contact-icon:hover { padding: 1.8rem 1.8rem 1.8rem 2.5rem; transition: 0.8s; }
.contact-icon:hover:before { font-family: "Font Awesome 6 Free"; content: "\f658"; font-weight: 700; color:#045eb8; margin-right:0.2rem; }

/* 妙圓寺について（about) */
.profile-head {
	background-image: url(image/bg_patt02.png);
	background-position: center;
	background-color: #fffbf1;
	padding: 1.4rem 1.0rem;
	margin-top: 2.0rem;
	border: 3px solid #a69120;
	border-radius: 10px;
}
.profile-body { line-height: 2.4rem; margin: 2.0rem 0; }
.sign {
	font-family: "Yuji Boku", serif;
	font-weight: 400;
	font-style: normal;
	text-align: end;
	font-size: 2.0rem;
	margin-top: 4.0rem;
}

/* フロント service */
#service-front { padding: 4.0rem 0 0 0; }
.out-wrap {
	background: linear-gradient(rgba(255, 255, 255, 1.0), rgba(255, 255, 255, 0.2)),
	url(image/bg_patt02.png);
	background-size: 60px;
}

.service-wrap {
	background-image: url(image/front/front-img.png);
	background-position: bottom right;
	background-repeat: no-repeat;
	background-size: 35%;
}

.service-wrap { padding: 40px 0 5% 0; }
.service-front-heading p:first-child { font-weight: 500; font-size: 1.3rem; color: #fff; text-align: center; }
.service-front-heading p { color: #fff; }
.service-front-heading h2 { font-weight: 500; font-size: 2.0rem; text-align: center; }
.about-front-body { padding-left: 10px; }
.service-thumb-wrap { position: relative; overflow: hidden; }
.service-thumb-caption { position: absolute; top: 50%; transform: translateY(-50%); padding: 10px; }
.service-tumb-cap1,.service-tumb-cap2 { margin-bottom: 0; color: #fff; }
.service-tumb-cap1 { border-bottom: 1px solid #fff; font-size: 1.2rem; }
.service-tumb-cap2 { font-size: 0.8rem; }
.service-thumb-wrap img { filter: brightness(0.7); }
.service-thumb-wrap img:hover { filter: brightness(0.95); }
.service-sub { margin-top: 4.0rem; }

.gyouji-bunner { margin-top: 3.0rem; }
a.gyouji-link { display:inline-block; font-size: 1.3rem; color: #504606; border: 2.5px solid #a69120; padding: 25px 10px; width: 100%; }
a.gyouji-link {	background: url(image/washi_bg.jpg); }

/* フロント info */
#info-front { padding: 40px 0 80px 0; }
.info-wrap { padding: 0 20px; }
.info-front-heading p:first-child { font-weight: 500; font-size: 1.3rem; color: #036EB8; text-align: center; }
.info-front-heading h2 { font-weight: 500; font-size: 2.0rem; text-align: center; }
.info-link-bt { color: #333; }
.info-link-bt:after { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#036EB8; margin-left:0.3rem; }
.info-link-bt:hover { padding-left: 10px; transition: 0.6s; }
.info-item:first-child { border-top: 2px solid #fff; }
.info-item { position: relative; padding: 15px 10px; border-bottom: 2px solid #fff; }
.info-item:after { position: absolute; right: 0.8rem; top: 50%; transform: translateY(-50%); font-family: "Font Awesome 6 Free"; content: "\f054"; font-weight: 700; color:#036EB8; margin-left:0.5rem; }
.info-title { padding-right: 20px; }
.info-item a { color: #333; }
.info-item a:hover { color: #036EB8; }
.info-item:hover { padding-left: 20px; transition: 0.6s; }
.info-empty { text-align: center; padding: 15% 0; }

.bunner-wrap { overflow: hidden; }
.front-hr { 
	height: 200px;
	background-image: url(image/front_hr_bg.jpg);
	background-repeat: repeat-x;
	background-position: center;
}


/* 投稿ページヘッダー */
.single-head-wrap { height: 30vh; }
.single-head-inner { display: none; }
.single-logo-wrap { text-align: right; width: 290px; }
.single-logo-wrap img { max-width: 290px; }
.single-logo-wrap p { font-size: 0.9rem; color: #fff; margin-bottom: 0; }

/* 固定ページヘッダー&見出し */
.page-head-wrap { height: 30vh; }
.page-head-inner h1 { font-size: 2.25rem; font-weight: 500; color: #333; text-align: center; margin-bottom: 0; letter-spacing: 0.35rem; }
.page-head-inner { background: rgba(255, 255, 255, 0.75); padding: 15px 30px; display: inline-block;}
.page-logo-wrap { text-align: right; width: 290px; }
.page-logo-wrap img { max-width: 290px; }
.page-logo-wrap p { font-size: 0.9rem; color: #fff; margin-bottom: 0; }
.page-head-wrap.about,.page-head-wrap.charm,.page-head-wrap.order-charm,.page-head-wrap.gentei,.page-head-wrap.privacy-policy,.page-head-wrap.tourist,.single-head-wrap {
	background: url(image/headbg-003.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.keidai {
	background: url(image/headbg-004.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.iwaya {
	background: url(image/headbg-001.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.bentendo {
	background: url(image/headbg-002.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.gokigan,.page-head-wrap.gyouji {
	background: url(image/headbg-005.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.eitaikuyou {
	background: url(image/headbg-006.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.access {
	background: url(image/headbg-003.jpg);
	background-position: center;
	background-size: cover;
}
.page-head-wrap.about_eng {
	background: url(image/headbg-007.jpg);
	background-position: bottom;
	background-size: cover;
}


/* 固定ページ共通 */
.design_01 {
	position: relative;
	background: #cce9ff;
	padding: 1rem 1.5rem;
	text-align: center;
}
.design_01:before, .design_01:after { 
	content:'';
	width: 20px;
	height: 40px;
	position: absolute;
	display: inline-block;
}
.design_01:before {
	border-left: solid 3px #036EB8;
	border-top: solid 3px #036EB8;
	top:0;
	left: 0;
}
.design_01:after {
	border-right: solid 3px #036EB8;
	border-bottom: solid 3px #036EB8;
	bottom:0;
	right: 0;
}

.design_02 {
	position: relative;
	display: inline-block;
	padding: 0 60px;
}
.design_02:before, .design_02:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 80px;
	height: 2px;
	background-color: #27acd9;
}
.design_02:before {
	left:0;
	transform: rotate(60deg);
}
.design_02:after {
	right: 0;
	transform: rotate(-60deg);
}

.design_03 {
	position: relative;
	padding: 1rem 0.5rem;
	border-bottom: 3px solid #036EB8;
	color: #036EB8;

}
.design_03:before, .design_03:after {
	position: absolute;
	content: '';
	left: 1em;
	width: 0;
	height: 0;
	border-width: 14px 12px 0;
	border-style: solid;
}
.design_03:before {	
	bottom: -14px;    
	border-color: #036EB8 transparent transparent;
}
.design_03:after {
	bottom: -10px;
	border-color: #fff transparent transparent;
}

.design_04 {
	padding: 0.3rem 1rem;
	color: #fff;
	transform: skew(-15deg);
	background-image: linear-gradient(to right, #036EB8 0%, #cce9ff 100%);
}


.catimg-wrap { text-align: center; }
.catimg-wrap img { max-width: 600px; }

.content-page .title-wrap { border-bottom: 2px solid #036EB8; padding: 0 2.0rem 1.0rem 2.0rem; line-height: 1.0rem; }
.content-page .title-sub { font-size: 1.4rem; font-weight: 700; margin-left: 0.1rem; }
.content-page .title-body { background: #036EB8; padding: 2.0rem; color: #fff; }


/* 投稿ページ */
.single-wrap { margin-top: 2.0rem; margin-bottom: 2.0rem; }

/* 共通 */
#hotoke-info h3 { font-size: 1.15rem; margin: 1.0rem 0; }
#hotoke-info .modal-title { margin: 0; }
.hotoke-info .detail-link { margin: 1.8rem 0 2.25rem 0; }
.modal-body h3 { font-size: 1.0rem; padding: 0.85rem 0; }


/* 境内案内 */
.imagemap-wrap { position: relative; height: 100%; }
.imagemap-caption { position: absolute; bottom: 0; right: 15px; background: #fff; border-radius: 25px; padding: 0 0.8rem; }
.modal-title { letter-spacing: 0.25rem; }
.modal-dialog { max-width: 860px; }
.modal-backdrop { width: 100%; height: 100%; }

#gosyuin h3 { font-size: 1.35rem; margin: 1.25rem 0 ; }
#gosyuin .gosyuin-info { font-size: 1.4rem; line-height: 1.9rem; margin-top: 3.0rem; padding: 0.8rem; color: #fff; }

/* 岩屋霊穴 */
.vr-link { background: #a69120; border-radius: 25px; display: inline-block; padding: 0.5rem 1.0rem; margin-bottom: 0.6rem; }
.vr-link img { height: 30px; margin-right: 10px; }
a.vr-link { color: #fff; }
.mov-wrap { text-align: center; }
.mov-inner { max-width: 800px; margin: 0 auto; }
.mov-wrap iframe { width: 100%; aspect-ratio: 16/9; border-radius: 8px; }
#cave ol {
	width: 100%;
	padding-left: 0;
	counter-reset:number;
	list-style-type: none!important;
	margin-bottom: 0;
}
#cave li { 	display: inline-block; width:calc(100% / 3 - 0.5rem); }
#cave ol li {
	border-bottom: dashed 1px #a69120;
	position: relative;
	padding: 0.5em 0.5em 0.5em 25px;
	line-height: 1.2em;
	font-size: 0.95rem;
}
#cave ol li:before{
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display:inline-block;
	background: #a69120;
	color: white;
	font-family: 'Avenir','Arial Black','Arial',sans-serif;
	font-weight:bold;
	font-size: 0.85rem;
	border-radius: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	line-height: 22px;
	text-align: center;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* 永代供養 */
.kuyou-head { font-size: 1.6rem; line-height: 2.6rem; font-weight: bold; }
.kuyou-price table { width: 100%; }
.kuyou-price tr { border-bottom: 1px dashed #d8d8d8; }
.kuyou-price td { padding-top: 0.6rem; padding-bottom: 0.6rem; }
.kuyou-price td:first-child { padding-left: 10px; }
.kuyou-price td:first-child:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; margin-right:0.2rem; }
.kuyou-price td:last-child { width: 8rem; text-align: right; padding-right: 10px; font-weight: bold; }

/* 旅行会社さまへのご案内 */
.tourist-head { font-size: 1.6rem; line-height: 2.6rem; font-weight: bold; }
.tourist table { width: 100%; }
.tourist tr { border-bottom: 1px dashed #d8d8d8; }
.tourist td { padding-top: 0.6rem; padding-bottom: 0.6rem; }
.tourist td:first-child { padding-left: 10px; }
.tourist td:first-child:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; margin-right:0.2rem; }



/* 参拝限定授与品 */
#gentei h3 { font-size: 1.35rem; margin: 1.25rem 0 ; }
.gentei-inner { border: 3px solid #a69120; border-radius: 8px; padding: 15px; }
.gentei-price { padding: 15px; margin-top: 0.8rem; }
.gentei-price table { width: 100%; }
.gentei-price tr { border-bottom: 1px dashed #333; }
.gentei-price td { padding-top: 0.6rem; padding-bottom: 0.6rem; }
.gentei-price td:first-child { padding-left: 10px; }
.gentei-price td:first-child:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; margin-right:0.2rem; }
.gentei-price td:last-child { width: 10rem; text-align: right; padding-right: 10px; font-weight: bold; }
.gentei-price p { display: inline-block; background: #ec4414; color: #fff; padding: 0.3rem 1.2rem; border-radius: 25px; }

/* 見積フォーム */
.form-sub { background: #fff; padding: 0.6rem 0; color: #036EB8; }
.form-sub { text-align: center; font-size: 1.25rem;}
.form-sub tr { text-align: left; }

/* アーカイブページ */
.year-select { background: rgba(3,110,184,0.1); height: 100%; padding: 1.5rem 1.0rem; }
.year-select p { font-size: 1.2rem; font-weight: 500; color: #036EB8;  }
.year-select p:before { font-family: "Font Awesome 6 Free"; content: "\f073"; font-weight: 700; color:#036EB8; margin-right:0.2rem; }
.year-select ul { padding: 0; }
.year-select li { list-style: none; }
.year-select li a { color: #036EB8; font-size: 1.1rem; }
.year-select li a:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; color:#036EB8; margin-right:0.2rem; }
.year-select li a:hover { padding-left: 10px; transition: 0.6s; }

.archive-wrap { margin-top: 2.0rem; margin-bottom: 2.0rem; }
.archive-item { border-bottom: 2px dotted #036EB8; padding: 0.9rem 1.1rem; }
.archive-item a { display: inline-block; color: #333; }
.archive-item a:hover { padding-left: 10px; color: #036EB8; transition: 0.6s; }
.archive-item h2 { font-size: 1.1rem; margin-bottom: 0; }
.archive-item h2:before { font-family: "Font Awesome 6 Free"; content: "\f054"; font-weight: 700; color:#333; margin-right:0.2rem; }
.archive-item h2:hover:before { color: #036EB8; }

/* 御守り・授与品 */
.how-order-block { height: 100%; }
.how-order-head { background: #a69120; text-align: center; font-size: 1.25rem; padding: 0.7rem; color:#fff; }
.how-order-title { text-align: center; font-size: 1.15rem; padding: 1.0rem 0.7rem 1.0rem 0.7rem; }
.how-order-body { padding: 0 0.7rem 0.7rem 0.7rem; }
.item-typelink { text-align: center; padding-top: 2.0rem; border-bottom: 2px solid #99ae79; }
.item-typelink a { display: inline-block; color:#333;  padding: 0.6rem; width: 10.0rem; text-align: center; border-radius: 6px 6px 0 0; }
.item-typelink a:hover { background: #cedfb4; }
.item-wrap { position: relative; height: 100%; padding: 15px; box-shadow: 2px 2px 15px -8px #777777; }
.charm-title { margin-top: 4.0rem; font-size: 1.5rem; }
.item-description { margin-bottom: 1.5rem; }
.item-img-wrap { position: relative; }
p.closeup-icon { margin: 0; position: absolute; bottom: 0; left: 0; padding: 6px; color: #969696; }
.item-inner { background: rgba(220, 211, 178, 0.2); padding: 6px 10px 10px 10px; }
.item-inner p { border-bottom: 1px solid #e5e5e5; }

button.send-cart { border:none; padding: 8px 20px; background: #f5deb3; }
.cart-wrap.offcanvas { height: 100%; width: fit-content; }
.offcanvas-backdrop { width: 100%; }
.cart-wrap table { width: 100%; }
.cart-wrap td { height: 2.5rem; border-bottom: 1px solid #d8d8d8; padding: 4px 6px; vertical-align: middle; }
.cart-wrap th { text-align: right; background: #d8d8d8; padding: 8px 6px; }
.cart-wrap th:first-child { text-align: left; }
.cart-wrap td:not(:first-child) { text-align: right; }
.cart-wrap td:last-child { width: 1.0rem; }
.order-list { display: none; }
.btn.del-bt { font-size: 1.15rem; --bs-btn-box-shadow:none; }
.total-price { font-size: 1.2rem; text-align: right; padding-right: 1.0rem; margin-top: 10px; }
.cart-view { margin-top: 30px; text-align: center; position: fixed; bottom: 50px; right: 0; z-index: 99; }
.cart-view .addcart { background: #ccddee; border: none; padding: 50px 20px; width: 100%; writing-mode: vertical-rl; }
.no-item { text-align: center; margin: 4.0rem; }
input[type=checkbox].select-check { transform: scale(1.5); border-color: #333; margin-left: 8px; }
.message-add-to-cart {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	text-align: center;
	background: rgba(128,0,128, 0.8);
	color: #fff;
	padding: 8px;
}
.mw_wp_form_confirm .msg-hidden {
  display: none;
}
.hidden-height { min-height:1.4rem; }
button.detail-link { background: #a69120; color: #fff; padding: 0.4rem ; border: none; font-size: 0.9rem; }
button.detail-link:hover { background: #796a17; transition: 0.8s; }
a.checkout-bt { background: #a69120; color: #fff; padding: 0.7rem 1.0rem; border: none; }
a.checkout-bt:hover { background: #796a17; transition: 0.8s; }
.thanks-mess { padding: 4.0rem; }

/* 行事日程 */
table.simcal-calendar-grid td { border: 1px solid #333; }
.qtip-content .simcal-event-title { font-size: 1.2rem; }
li.simcal-event { overflow: hidden; }
.simcal-event-title { white-space: nowrap!important; }
.simcal-event-bubble { border-radius: 10px; }
.simcal-event-bubble p { display: none; }
.cal-view-time br { display: none; }
.cal-view-time { font-size: 0.95rem; margin-top: 0.2rem; }
.cal-view-description { font-size: 0.95rem; margin-top: 0.5rem; }
.cal-view-time-title { font-size: 0.85rem; background: #036EB8; color:#fff; padding: 0.1rem 0.6rem; margin-right: 8px; }
.cal-view-link { font-size: 1.35rem; margin-top: 1.0rem; }
.gyoji-list ul { margin: 0!important; padding-left: 0!important; }
.list-calender { font-size: 1.12rem; }
.list-calender p { margin: 0!important; }
.list-calender br { display: none; }
.list-calender .simcal-event-description { margin: 0!important; }
.list-calender { display: flex; }
.cal-date { font-size: 0.95rem; background: #525461; color: #fff; padding: 0.2rem 0.6rem; width: 10rem; text-align: center; border-radius: 8px 0 0 8px; }
.cal-time {  font-size: 0.95rem; width: 12rem; text-align: center; border: 1px solid #333; padding: 0.14rem 0.6rem; border-radius: 0 8px 8px 0; }
.cal-list-body { width: 100%; }
.cal-title { width: 100%; color: #333; font-weight: 900; border-bottom: 1px dashed #172e68; }
/* .cal-title::before { content:"『 "; }
.cal-title::after { content:" 』"; }
.cal-list-description { font-size: 1.0rem; display: flex; }
.cal-description-label { font-size: 0.8rem; background: #ec4414; color: #fff; padding: 0 6px 2px 6px; margin-right: 10px; } */
.cal-list-description { font-size: 0.95rem; }
.simcal-event-details p { display: none; }
.simcal-event-description p { display: block; }

/* ご祈願 */
.gokigan-list { display: flex; flex-wrap: wrap; margin-left: 0; }
.gokigan-list li { list-style: none; padding-right: 10px; }
.gokigan-price { padding: 15px; margin-top: 0.8rem; }
.gokigan-price table { width: 100%; }
.gokigan-price tr { border-bottom: 1px dashed #333; }
.gokigan-price td { padding-top: 0.6rem; padding-bottom: 0.6rem; }
.gokigan-price td:first-child { padding-left: 10px; }
.gokigan-price td:first-child:before { font-family: "Font Awesome 6 Free"; content: "\f138"; font-weight: 700; margin-right:0.2rem; }
.gokigan-price td:last-child { width: 15rem; text-align: right; padding-right: 10px; font-weight: bold; }

/* English */
.eng-page { font-size: 1.1rem; line-height: 1.85rem; }
.eng-page h2 { font-size: 1.35rem; letter-spacing: 0.15rem; }

/* フォーム共通 */
.contact-form-head { text-align: center; }
.contact-form-head p:first-child { font-size: 1.2rem; font-weight: 500; }
.contact-number { font-size: 1.2rem; font-weight: 700; color:#036EB8; }
.contact-number i { margin-right:0.3rem; }

.form80 { width: 79.3%; }
.form50 { width: 49.3%; }
.form30 { width: 30.5%; }
.form20 { width: 20.0%; }
.form10 { width: 10.5%; }
.form-entry-item { border: none; pointer-events : none; width:100%; }
.form-age { width: 4rem; }
.form-section:first-child { border-top: 1px solid #d8d8d8; }
.form-section { background: #f5f5f5; border-bottom: 1px solid #d8d8d8; }
.form-section .error { display:block !important; }
.req { font-size: 0.6rem; padding: 3px 5px; background: red; color: #fff; border-radius: 4px; margin-left : 6px; vertical-align: middle; }
.form-head { padding: 0.8rem; }
.form-body { background: #fff; padding: 1.2rem 0.8rem; }
.form-head p,.form-body p { margin: 0; }
.form-control::placeholder { color: #a9a9a9; }

p.form-area { font-weight:normal; margin: 0.5rem 0 0.5rem 0; }
.form-control { border:2.0px solid #c0c0c0; }
.form-link a { text-decoration: underline; }
.send-check { margin-right: 1.5rem; }

#autozip { display: none!important; }
.back-bt { color: #fff; background: #008080; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.back-bt:hover { background: #8fb3b3; transition: 0.8s; color: #008080; }
.send-bt { color: #fff; background: #dc143c; padding:1.0rem 1.0rem; margin-top:1.0rem; border:none; border-radius: 6px; }
.send-bt:hover { background: #db8495; transition: 0.8s; color: #dc143c; }

/* ポリシー */
.policy-title { font-weight: 900; }
.policy-body { padding-left: 1.0rem; }


/* フッター */
#footer .content-wrap { margin-top: 4.0rem; }
.footer-inner {
	background: linear-gradient(rgba(255, 255, 255, 1.0), rgba(255, 255, 255, 0.2)),
	url(image/bg_patt02.png);
	background-size: 60px;
	padding: 0 0 3.0rem 0; }

.footer-map iframe { height: 400px; filter: sepia(20%); }
.bunner-wrap { margin: 1.8rem 0 ; }
.footer-menu { padding: 15px; }
.end-menu { text-align: end; }
.end-menu a { font-size: 0.8rem; color: #333; margin-left: 1.0rem; }
.end-menu a:before { font-family: "Font Awesome 6 Free"; content: "\f054"; font-weight: 700; color:#333; margin-right:0.2rem; }
.footer-logo { height: 90px; }
.copyright {
	background: #A69120;
	background: linear-gradient(239240deg, rgba(166, 145, 32, 0.68) 0%, rgba(224, 197, 43, 1) 50%, rgba(166, 145, 32, 1) 100%);
	color: #333; padding: 1.0rem 15px; text-align: center; }

/* SP調整 */
@media screen and (max-width: 991px) {
html { zoom: 90%; }
/* .hero-wrap,.slide-wrap { height: 80vh; } */
header,.content-wrap {
    width: 100%;
    float: none;
}
.about-bg { max-height: 450px; right: -220px; }
.history { 
	background-image: url(image/history_bg_SP.jpg);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
}
.footer-logo-wrap { margin-bottom: 2.5rem; }
}

@media screen and (max-width: 769px) {
html { zoom: 85%; }
.navbar-collapse { background: #fff; padding: 10px; }
.page-head-inner h1 { font-size: 1.85rem; }
.main-catch { font-size: 3.0rem; line-height: 3.6rem; }
.head-line-wrap { padding :20px; justify-content: center; }
.head-line { border-radius: 8px; }
.section-name { background-size: 80%; }
.about-bg { max-height: 350px; right: -260px; }
.about-front-heading,.service-front-heading h2,.info-front-heading h2,.branch-inner h2,.contact-inner h2 { font-size: 1.7rem; }
.branch-area { padding: 60px; }
.service-wrap { padding: 40px 0 17% 0; background-size: 45%; }
.greeting { padding: 2.0rem; line-height: 1.4rem; margin-bottom: 3.0rem; }
.item-typelink { border: none; }
.item-typelink a { padding: 1.0rem 0; width: calc(50% - 0.2rem); border-radius: 6px; margin-bottom: 4px; }
.cal-date { width: 7rem; }
.footer-menu .menu-item-has-children { width: 50%; text-align: center; }
.form50,.form80 { width: 100%; }
}

@media screen and (max-width: 575px) {
html { zoom: 80%; }
.main-catch { font-size: 2.7rem; line-height: 3.2rem; }
.about-bg { max-height: 280px; bottom: -120px ;right: -220px; }
#about-front { padding: 40px 0 80px 0;}
#info-front,.branch-area,.contact-area { padding: 40px 0; }
#cave li { width:calc(100% / 2 - 0.5rem); }
}

@media screen and (min-width: 576px) {
.xs-br { display:none; }
}

.vr-bunner,.live-bunner {
  position: absolute; 
  background: #fff;
  padding: 10px 20px 20px 20px;
  text-align: center;
  font-weight: bold;
  box-shadow: -4px 4px 15px -5px #777777;
  color: #3c350b;
  width: 135px;
}
.vr-bunner { top: 100px; right: 0; }
.live-bunner { top: 230px; right: 0; }
.vr-title,.live-title { font-size: 0.65rem; }
a.vr-bunner,a.live-bunner { text-decoration: none; display: inline-block; }
.vr-bunner:hover,.live-bunner:hover { width: 150px; transition: 0.8s; }

@media (max-width: 999px){
.vr-bunner,.live-bunner { zoom:80%; }
.vr-bunner { top: 160px; right: 0; }
.live-bunner { top: 290px; right: 0; }
}

@media (max-width: 767px){
.vr-bunner,.live-bunner {
  zoom:80%;
  }
}
