@charset "utf-8";
/* CSS Document */

html {
	height: 100%;
	font-size: 100%;
}
body {
	height: 100%;
	font: 1rem/1.5rem "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	color: #000;
	margin: 0;
	padding: 0;
	letter-spacing: 0.1rem;
}
.min {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

img {
	max-width: 100%;
	height: auto;
}
.text-center {
	text-align: center;
}

h3 {
    font-size: 1.3rem;
    font-weight: normal;
}
p {
	margin-bottom: 1em;
}
ul, ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
li {
	margin-left: 1rem;
}
section {
    padding: 1.5rem 0 1rem;
}
.container {
	width:90%;
	margin: auto;
}
/* 基本のフェードイン */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}
.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* 拡大しながら出る */
.zoom-in {
  opacity: 0;
  transform: scale(0.9);
  transition: all 0.8s ease;
}
.zoom-in.show {
  opacity: 1;
  transform: scale(1);
}
/* 外枠（固定する部分） */
.zoom-in-img {
  position: relative;
  overflow: hidden; /* 画像が枠からはみ出さないように */
  display: inline-block; /* インライン要素でもOK */
}

/* 画像（動かす部分） */
.zoom-in-img img {
  transform: scale(0.8);   /* 初期は小さめ */
  opacity: 0;              /* 初期は非表示 */
  transition: transform 1s ease, opacity 1s ease;
  will-change: transform, opacity;
}

/* 表示時 */
.zoom-in-img.show img {
  transform: scale(1);     /* 本来のサイズに拡大 */
  opacity: 1;
}

header.top {
    background-image: url(../images/main-visual.jpg);
    background-repeat: no-repeat;
    background-position: top 10% center;
    background-size: cover;
    height: 50vh;
    position: relative;
}
main.main-contents {
	margin-bottom: 5rem;
}
footer {
	padding-top: 5rem;
	padding-bottom: 1rem;
	border-top: 1px solid #eee;
    background-color: #f6f6f6;
}
.footer_copy {
	padding-top: 3rem;
	text-align: center;
}
/*.footer-box-wrap {
	display: grid;
    gap: 1rem;
}*/
.footer-box {
    text-align: left;
}
.footer-box ul li a {
    text-decoration: none;
    color: inherit;
}
.footer-box.footer-footer_nav05 ul li a {
    font-size: 1rem;
    font-weight: bold;
    line-height: 2.3;
    margin-top: 2rem;
}
.footer-address {
    text-align: center;
    margin: 5rem 3rem 0 3rem;
    border-top: 1px solid #eee;
    padding-top: 30px;
}
.footer-address p {
    line-height: 1.2;
    font-size: .9rem;
}

.img-line {
    border: 1px solid #000;
}
/*ナビゲーション*/
h1.logo {
	margin: 0;
}

.logo a {
    position:fixed;
    top: 15px;
    width: 120px;
	z-index: 999;
}


h1.logo span {
    font-size: 1rem;
    color: #000;
    display: block;
    margin-bottom: 10px;
    text-align: center;
	padding-top: 16px;
}



.p-sub h1.logo span {
    display: none;
}
.header-logo.logoscroll.-before {
  display : none;
}
.header-logo.-after {
  display : none;
}
.header-logo.logoscroll.-after {
  display : block;
}


/*追加　0731----------------------------------------------------------*/

/* 目次ボタン（左端に固定） */
.btn-box {
  width: 100%;
/*  height: 100%;*/
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
  box-sizing: border-box;
}
.openbtn-wrap {
    width: 80px;
    z-index: 1000;
    position: fixed;
    right: 0;
}
.openbtn {
    position: relative;
    width: 35px;
    height: 10px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.openbtn span {
  display: block;
  height: 1px;
  background-color: #FFF;
  border-radius: 2px;
  transition: 0.3s;
}
.openbtn.scroll span {
  background-color: black; /* スクロール時は黒に */
}

/* 必要なら「×」へのアニメーション */
.openbtn.close span:nth-child(1) {
  transform: rotate(45deg) translateY(7px);
}
.openbtn.close span:nth-child(2) {
  transform: rotate(-45deg) translateY(-7px);
}

.openbtn.close span {
    background-color: white;
}
/* メニューリスト（overlay） */
.menu-overlay {
  display: none; /* 最初は非表示 */
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  height: 100vh;
/*  background: rgba(0,0,0,0.9); */
    background: #000;/* 背景のオーバーレイ */
   transition: right 0.3s ease;
  z-index: 999;
}
.menu-overlay.active {
    right: 0;
    /* margin-left: 100px; */
}

.menu-overlay.active {
  display: block;
}
.menu-overlay.active .menu-lists {
  transform: translateX(0);
}
.menu-overlay ul li a {
  color: white;
  display: block;
  padding: .5rem;
  text-decoration: none;
  font-size: 1rem;
}

nav.menu-lists ul.navi {
    padding-top: 2rem;
    display: grid;
	text-align: left;
    margin-top: 20px;
}




nav.menu-lists ul.navi li a {
     line-height: 1.5; 
    color: white;
    text-decoration: none;
    font-size: 1rem;
}
nav.menu-lists{
    width: 100%;

}
/* サブメニューを持つメニュー項目に下向きアイコンを追加 */
nav.menu-lists ul.navi li:has(ul.navi-item) > a::after {
    content: "\f078"; /* Font Awesomeのchevron-downアイコン（下向き） */
    font-family: "Font Awesome 5 Free"; /* Font Awesomeのフォントファミリー */
    font-weight: 900; /* アイコンを表示するためのフォントウェイト */
    margin-left: 5px; /* アイコンとテキストの間にスペースを追加 */
    display: inline-block; /* 回転時にブロック要素として表示 */
    transition: transform 0.3s ease; /* 回転のアニメーション */
}

/* サブメニューが開いているときにアイコンを上向きに回転 */
nav.menu-lists ul.navi li.open > a::after {
    transform: rotate(180deg); /* 上向きに回転 */
}

.menu-overlay ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
/***トップへ戻るボタン***/
.pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  padding: 10px;
  border: none;
  border-radius: 50%;
  background: #d29400;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  z-index: 1000;
  text-align: center;
}

.pagetop.show {
  opacity: 1;
  pointer-events: auto;
}
/***トップへ戻るボタンここまで***/
@media (max-width: 767px) {

}

@media (min-width: 1024px) {
.openbtn {
  position: relative;
  width: 35px;
  height: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 6px 0;
  top: 50%;
}


/* --- PC: 左上メニューボタン --- */
.openbtn-wrap {
	width: 90px;
	position: fixed;
	z-index: 1000;
/*	left: 10px;
    top: 55px;*/
	top: 25px;
	right: 3px;
}

}



.menu-wrapper{
    position: relative;
}


nav.menu-lists {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    padding-top: 50px;
    text-align: center;
    background-color: rgba(0,0,0,0.6);
	z-index: 3;
/*	overflow: auto;*/
}

nav.menu-lists ul.navi ul.navi-item li a {
        /*color: #b6d7a8;*/
		font-size: .8rem;
}



.btn {
	position: fixed;
    width: 50px;
    display: block;
    height: 39px;
    
    left: 15px;
    top: 15px;
    z-index: 999;
} 
.bar {      
    width: 20px;      
    height: 1px;        
    display: block;      
    position: absolute;      
    left: 25px;      
    transform: translateX(-50%);      
    background-color: #000;    
}
  
.bar-top { top: 10px;}
.bar-middle {    
    top: 50%;
    transform: translate(-50%,-50%);
}
.bar-bottom { bottom: 10px;}

.btn.close .bar-top {      
    transform: translate(-50%,10px) rotate(45deg);      
    transition: transform .3s;    
}  

.btn.close .bar-middle {      
    opacity: 0;       
    transition: opacity .3s;    
}    

.btn.close .bar-bottom {      
    transform: translate(-50%,-8px) rotate(-45deg);      
    transition: transform .3s;    
}


/*トップページ*/



.sns {
	position: absolute;
	right: 2%;
	bottom: 2%;
	display: grid;
	grid-template-columns: 1fr;
	z-index: 1001;
}
.sns img {
	width: 30px;
	height: 30px;
}

.yotei {
    position: absolute;
    bottom: 0;
    background-color: rgba(255,255,255,0.8);
    padding: 5px;
    width: 100%;
	box-sizing: border-box;
}
.yotei h3 {
    font-size: 1rem;
    padding: 0;
    margin-top: 0;
	display: block;
	border-bottom: 1px solid #7f6000;
}


.yotei .wp-block-table td {
	border: none;
	padding: 3px;
}



.h2-border {
	border-bottom: 1px solid #7f6000;
	margin-bottom: 3rem;
}
h2.h2-sub {
	font-weight: normal;
	text-align: center;
	margin-bottom: 2.5rem;
}
/*サイドバーあたり*/

.sidebar {
	background-color: #fff;
}

/* Sidebar Navigation */
.section-nav {
	padding-left: 0;
	font-size: 1.2rem;

}
.section-nav a {
	text-decoration: none;
	display: block;
	padding: .125rem 0;
	color: #000;
	transition: all 50ms ease-in-out; 
	
}
.section-nav a:hover,
.section-nav a:focus {
	color: #666;
}

/*top about*/

section.about .about-text {
    font-size: 1rem;
	line-height: 1.5;
}
section.about .about-text p {
	line-height: 2;
}

section.about .btn_wrap {
	display: grid;
	gap: 1.5rem;
	text-align: center;
}
section.about .btn01 a {
	text-decoration: none;
	display: block;
}

/*top news*/


.more {
    justify-self: end;
    align-self: end;
	margin-top: 2rem;
}
.more a {
	text-decoration: none;
	color: #000;
}
span.news-arrow {
    position: relative;
    display: inline-block;
    width: 80px;
    height: 1px;
    background-color: #000000;
    margin-bottom: 5px;
    margin-left: 5px;
}
span.news-arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 12px;
    height: 1px;
    background-color: #000000;
    transform: rotate(38deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
.more a:hover {
	color: #7f6000;
}
.more a:hover span.news-arrow,
.more a:hover span.news-arrow::before{
	background-color: #7f6000;
}

.news h2 {
	font-weight: normal;

}
.news-contents ul li {
    margin-left: 0;
}
.news ul li a {
	font-size: .9rem;
	text-decoration: none;
	color: inherit;
}

.news ul span.cat-icon {
    background-color: #7f6000;
    color: white;
    padding: 3px 10px;
    margin-right: 0.5rem;
}
span.date {
    margin-right: 0.5rem;
}
.news ul dd {
	margin-left: 0;
}

.wp-block-latest-posts__list { 
	margin: 0;
	padding: 0;
	list-style: none;
}
.wp-block-latest-posts__list li {
	padding-bottom: 5px;
	display: flex;
	align-items: center;
}
.wp-block-latest-posts__post-date {
	margin-right: 10px;
	order: 1;
	white-space: nowrap;
	width: 9.5rem;
}
.wp-block-latest-posts__post-title {
	order: 2;
	white-space: nowrap;
	flex-grow: 0;
}

/*top engi*/
section#engi p {
	line-height: 2;
}

/*top info サイドバー*/
nav.section-nav ul li {
    line-height: 2;
	font-weight: bold;
}
.info-photo-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.seclist {
	cursor: pointer;
}
/*top link*/
.link-btn-wrap{
	display: grid;
	grid-template-columns: 1fr;
	gap:1.2rem;
	text-align: center;
}

.link-btn a {
    text-decoration: none;
    display: block;
}


/*サブページ共通*/
.info-box {
    margin-top: 3rem;
}

.button a {
    background: #eee;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 5rem auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #333;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button a:hover {
    background: #333;
    color: #FFF;
}
.button a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.button a:hover:after {
    border-color: #FFF;
}
.photo {
	text-align: center;
}
/*年中行事*/
.tbl_event {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #eee;
	margin-bottom: 3rem;
}
.tbl_event td,
.tbl_event th{
	padding: 10px;
	border: 1px solid #eee;
}
header.p-sub {
	background-image: url("../images/main-visual.jpg");
	background-repeat: no-repeat;
	background-position: top 40% center;
	background-size: cover;
	height: 20vh;
	position: relative;
}
.detail_wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 4rem;
    padding-bottom: 2rem;
	border-bottom: 1px solid #ddd;
}

.detail_text h3 {
	margin-top: 0;
	font-weight: normal;
}
/*ご祈祷*/
.vertical {
    text-align: center;
}
.vertical-rl {
    writing-mode: vertical-rl;
}
.title01 {
    writing-mode: vertical-rl;
    display: inline;
    letter-spacing: 1rem;
	font-size: 1.2rem;
}

.vertical .vertical_writing span {
    font-weight: normal;
    font-size: 1rem;
    margin-bottom: 1.1rem;
	display: inline-block;
}


.kigan_wrap {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
	place-items: center;
}
/*授与品*/


.juyohin-wrap {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	gap: 30px;
}
.juyohin-wrap p {
	text-align: left;
}
/*ペット供養*/
.pet-wrap {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	gap: 30px;
}
.pet-wrap .photo img {
	max-height: 500px;
    max-width: 80%;
}

/*縁起*/

#page-engi h3 {
	text-align: center;
	margin-bottom: 3rem;
}
.engi-wrap {
	margin-bottom: 5rem;
}
.honzon-wrap {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	gap: 30px;	
}
.fujisawa-wrap{
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	gap: 30px;
}
.nenbutsu-wrap{
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	argin-top: 5rem;
	gap: 30px;
}
.fphoto-wrap{
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 3rem;
	gap: 30px;
}
.fphoto-wrap .photo img {
	max-height: 300px;
}
.fphoto-wrap .text {
	text-align: left;
}
section#ippen {
    margin-bottom: 5rem;
}
.gohusan-wrap {
	display: grid;
	grid-template-columns: 1fr; 
	margin-bottom: 3rem;
}
.gohusan-wrap p {
	text-align: left;
}
.cap {
	font-size: .8rem;
}

/*略年譜*/
.ryakunenpu-wrap {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 5rem;
	gap: 30px;
}
.wp-block-table.tbl_ryakunenpu .has-fixed-layout {
	table-layout: auto;
}

.tbl_ryakunenpu table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #eee;
	margin-bottom: 3rem;
}
.tbl_ryakunenpu table td,
.tbl_ryakunenpu table th{
	padding: 10px;
	border: 1px solid #eee;
	text-align: left;
}
.tbl_ryakunenpu table th{
	white-space: nowrap;
}
.wp-block-table.tbl_ryakunenpu thead {
	border-bottom: none;
}

/*祈願フォーム*/
form {
    width: 100%;
}
.formtable{
	width:100%;
	margin:0 auto;
	border: 1px solid #e5e5e5;
	border-collapse: collapse;
	box-sizing: border-box;
	table-layout: fixed;
}
.formtable th,
.formtable td{
	padding: 10px 20px;
	box-sizing: border-box;
	text-align: left;
}
.formtable th{
	background-color: #fafafa;
	font-size: .9rem;
}
.formtable tr{
	border-bottom: 1px solid #e5e5e5;
}
/*入力欄*/
.formtable input,
.formtable textarea,
.formtable select{
	border: 1px solid #d8d8d8;
	padding: 10px 15px;
	box-sizing: border-box;
}
.formtable input[type=text],.formtable input[type=tel],.formtable input[type=email] {
    max-width: 100%;
	box-sizing: border-box;
}
.wpcf7-date {
    margin-right: 1rem;
}
/*「必須」文字*/
.req{
	font-size:.9em;
	color: red;
}
/*エラー文字*/
.wpcf7-not-valid-tip {
    font-size: .8rem;
}
/* 「送信する」ボタン */
input[type=submit] {
	background-color: #eee;
	border: 0;
	color: #333;
	font-weight: bold;
	margin: 3rem auto 0;
	display: block;
	width: 90%;
	max-width: 300px;
	padding: 10px;
}

.wpcf7-form-control-wrap {
    line-height: 2;
}
.form-wrap {
	display: grid;
	grid-template-columns: 150px auto;
	margin-left: 20px;
}
.form-wrap p {
	margin: 0;
}
.cautions {
    font-size: .9rem;
    margin: 2rem auto;
    padding: 1rem;
}

/*檀信徒*/
.dansinto-wrap {
    display: grid;
    grid-template-columns: 1fr;
}
dl.event-schedule {
    grid-template-columns: auto 1fr;
    display: grid;
}
dl.event-schedule dt {
    padding: 8px;
    border-bottom: 1px solid #ccc;
}
dl.event-schedule dd {
    margin: 0;
    padding: 8px;
    border-bottom: 1px solid #ccc;
}
.dansinto-info-box {
	margin-bottom: 50px;
}
.dansinto-info-box dl {
    text-align: left;
}


/*写経会*/
.syakyoukai-text {
    text-align: left;
    max-width: 1000px;
    margin: 0 auto 80px;
}
.box-line {
    border: 1px solid #ccc;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 5rem auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #333;
    line-height: 1.8;
    font-weight: 500;
}
.tbl_syakyoukai table, .tbl_syakyoukai table td {
    border: none;
}

.tbl_syakyoukai td:first-child {
    width: 25%;
    white-space: nowrap;
    vertical-align: top;
    text-align: right;
}
.syakyoukai-info {
    max-width: 800px;
    margin: 2rem auto;
	line-height: 1.8;
}


/*境内図*/


.list,.hana_list {
	cursor: pointer;	
}
.midokoro {
    position: relative;
}

div#midokoro span {
    font-size: .8rem;
    display: block;
	font-weight: normal;
}
.keidai_wrap {
	display: grid;
	grid-template-columns: 23% auto;
}
.keidai-map {
    position: relative;
}
.map-link {
    position: absolute;
    display: block;
}

button {
    padding: 0;
    margin: 0;
    cursor: pointer;
    background-color: transparent;
	/*background-color: rgba(0, 0, 0, 0.6);*/
    border: none;
}
/*本堂*/
.map-link01 {
    width: 13%;
    height: 13%;
    right: 28%;
    bottom: 64%;
}
/*地蔵堂*/
.map-link02 {
    width: 5%;
    height: 7%;
    right: 17%;
    bottom: 54%;
}
/*一遍上人像*/
.map-link03 {
    width: 5%;
    height: 8%;
    right: 25%;
    bottom: 51%;
}
/*俣野大権現*/
.map-link04 {
    width: 8%;
    height: 3%;
    right: 12%;
    bottom: 50%;
}
/*登録有形文化財　手水舎*/
.map-link05 {
    width: 6%;
    height: 5%;
    right: 22%;
    bottom: 41%;
}
/*登録有形文化財　鐘楼*/
.map-link06 {
    width: 6%;
    height: 5%;
    right: 44%;
    bottom: 47%;
}
/*登録有形文化財　宇賀神社*/
.map-link07 {
    width: 10%;
    height: 8%;
    right: 57%;
    top: 13%;
}
/*市指定重要文化財　中雀門*/
.map-link08 {
    width: 10%;
    height: 8%;
    right: 54%;
    top: 45%;
}
/*放生池*/
.map-link09 {
    width: 5%;
    height: 6%;
    right: 59%;
    top: 35%;
}
/*登録有形文化財　御番方*/
.map-link10 {
    width: 8%;
    height: 6%;
    left: 24%;
    top: 38%;
}
/*宝物館*/
.map-link11 {
    width: 10%;
    height: 8%;
    left: 36%;
    bottom: 22%;
}
/*明治天皇御膳水井*/
.map-link12 {
    width: 8%;
    height: 5%;
    left: 48%;
    bottom: 29%;
}
/*参道四十八段（いろは坂）*/
.map-link13 {
    width: 8%;
    height: 5%;
    left: 54%;
    bottom: 14%;
}
/*登録有形文化財　惣門（総門）*/
.map-link14 {
    width: 11%;
    height: 5%;
    left: 48%;
    bottom: 8%;
}
/*歴代上人御廟所*/
.map-link15 {
    width: 11%;
    height: 5%;
    left: 52%;
    TOP: 13%;
}
/*酒井忠重五輪塔*/
.map-link16 {
    width: 5%;
    height: 5%;
    bottom: 56%;
    right: 10%;
}
/*酒井忠重逆修六地蔵*/
.map-link17 {
    width: 11%;
    height: 3%;
    top: 51%;
    right: 6%;
}
/*国指定重要史跡　敵御方供養塔*/
.map-link18 {
    width: 7%;
    height: 5%;
    bottom: 32%;
    right: 5%;
}
/*戦没者慰霊名号碑*/
.map-link19 {
    width: 8%;
    height: 5%;
    bottom: 26%;
    right: 4%;
}
/*大イチョウ*/
.map-link20 {
    width: 9%;
    height: 11%;
    bottom: 30%;
    right: 35%;
}
/* モーダル全体（背景） */
.modal {
  display: none; /* 初期状態で非表示 */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  justify-content: center;
  align-items: center;
}

/* モーダルの内容（中央配置） */
.modal-content {
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 20px;
  border-radius: 8px;
  position: relative;
  max-width: 800px;
  width: 90%;
  margin: auto;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  /* スクロールバー対応 */
  max-height: 80vh; /* 画面の80%の高さまで */
  overflow: auto; /* 内容が長くなったらスクロール */
  box-sizing: border-box;
}
.modal-content-in {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.modal-content-in h2 {
    font-size: 1.1rem;
}

.modal-content-in h2 span {
    font-size: .6rem;
    display: block;
}

.modal-content-in p {
    font-size: .8rem;
}
/* 閉じるボタン */
.modal-close {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 24px;
	cursor: pointer;
}

/*花巡り*/
.map-container {
	position: relative;
	width: 100%;
}

.map-container img {
	width: 100%;
	height: auto;
	display: block;
}

.marker {
	position: absolute;
	border: 2px solid #fff;
	background-color: rgba(255, 99, 163, 0.4);
	display: none;
	z-index: 10;
	transition: opacity 0.5s;
	border-radius: 50%;
}

/* hana_01　梅 のエリア */
.hana_01.area1 {
	top: 19%;
	left: 40%;
	width: 8%;
	height: 5%;
}
.hana_01.area2 {
	top: 33%;
	left: 48%;
	width: 4%;
	height: 13%;
}
.hana_01.area3 {
	top: 48%;
	left: 55%;
	width: 6%;
	height: 6%;
}
.hana_01.area4 {
	top: 76%;
	left: 55%;
	width: 3%;
	height: 5%;
}
/* hana_02 ハクモクレンのエリア */
.hana_02.area1 {
    top: 29%;
    left: 32%;
    width: 7%;
    height: 6%;
}


/*花の画像*/
.flower-image-wrap {
  width: 97%;
  aspect-ratio: 3 / 2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; /* デフォルト */
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-radius: 8px;
}
/* 花ごとの位置調整 */
.flower-image-wrap.ume {
  background-position: top center;
}

.flower-image-wrap.hakumokuren {
  background-position: bottom right;
}
.marker {
  display: none;
  position: absolute;
  /* その他の位置指定など */
}

div#ichou span {
    display: block;
    font-size: 80%;
}

.keidai_sidebar .section-nav {
    font-size: 1.1rem;
}
.section-nav ul.hana_item li {
    font-size: 80%;
    line-height: 1.5;
}
/*今月の言葉*/

.tbl_kotoba table, .tbl_kotoba table td, .tbl_kotoba table th {
    border: none;
}
.tbl_kotoba table{
	margin-top: 2rem;
}
.wp-block-table.tbl_kotoba .has-fixed-layout {
	table-layout: auto;
}

.tbl_kotoba table td:nth-child(2) {
    font-size: 1.2rem;
	font-weight: bold;
	color: #800000;
}


@media screen and (max-width: 767px) {
  .modal-content {
    max-height: 70vh; /* スマホ時は少し低めにする */
  }
  /*top engi*/
section#engi p br{
	display: none;
}

  #keidai .container {
  	overflow-x: auto;
  }
  .midokoro {
    position: relative;
    width: max-content;
}
.midokoro img {
    width: 900px;
    max-width: none;
    display: block;
}
.scroll-hint-icon {
    animation: scrollAnim 1.5s infinite;
    text-align: right;
    font-size: 14px;
    color: #000000;
    padding-right: 5px;
}
@keyframes scrollAnim {
    0% { transform: translateX(0); opacity: 0.3; }
    50% { transform: translateX(-8px); opacity: 1; }
    100% { transform: translateX(0); opacity: 0.3; }
}
}
@media screen and (max-width: 568px) {
.modal-content-in {
    grid-template-columns: 1fr;
}
}
/*お知らせ投稿*/

.news-container {
	padding-top: 50px;
}

.news-container article h2,
.news-container article h2 a{
    text-align: center;
    padding: 5px;
    font-size: 1.2rem;
    margin: 3rem 0 2rem;
}
.news-container article h3 {
    border-bottom: 1px dashed #444444;
	padding-top: 10px;
    padding-bottom: 7px;
}
.news-container article h3 a {
	text-decoration: none;
}
#post article h1 {
    font-size: 1.8rem;
    font-weight: normal;
    margin-bottom: 5rem;
    text-align: left;
    border-bottom: 1px #d29400 dashed;
    padding-bottom: 2rem;
}
@media (max-width: 1023px) {
/*ご祈祷*/
.kigan_wrap p {
    margin: 0;
}
.logo a {
    left: 3px;
}
.p-sub h1.logo span  {
	display: none;
}
}
@media (max-width: 767px) {
main.main-contents {
    font-size: .9rem;
}
.footer-box.footer-footer_nav05 ul {
    margin-top: 1rem;
}
section.about .about-text h2 {
    font-size: 1.3rem;
}
.news h2{
    font-size: 1.2rem;
}
ul.section-nav-item {
    display: none;
}
.news ul dd {
	padding-top: 0.3rem;
}
.btn-wrap {
	z-index: 2;
}
.formtable td,
.formtable th{
	display: block;
	width: 100%;
}
.yotei table {
	width: 100%;
}
nav.section-nav ul {
    font-size: .9rem;
}
.tbl_kotoba table tr {
    border-bottom: 1px solid #ddd;
}
.tbl_kotoba table td {
    display: block;
}
}
@media (max-width: 568px) {
footer ul li a {
	font-size: 13px;
	}
	
}
@media (max-width: 320px) {
h1.logo span {
	padding-top: 4px;
	padding-right: 20%;
	font-size: .8rem;
}

}
@media screen and (min-width: 768px) and (max-width: 991px){}

@media (min-width: 568px) {
.news-wrap {
        padding: 2rem;
}

}

@media (min-width: 768px) {
.pctab-none {
	display: none;
}

header.p-sub {
	height: 340px;
}
.logo a {
    width: 140px;
	left: 3px;
}
.footer-box-wrap {
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
	gap:1rem;
}

.yotei {
    position: absolute;
    right: 2%;
    bottom: 3%;
    background-color: rgba(255,255,255,0.8);
    padding: 15px;
	width: auto;
}
.yotei dt {
    white-space: nowrap;
}
.yotei .wp-block-table .has-fixed-layout,.yotei .wp-block-table table {
	width: auto;
}
section.about .about-text {
    text-align: center;
}
section.about .about-text h2 br {
    display: none;
}
section.about .btn_wrap {
	grid-template-columns: 1fr 1fr;
	margin-bottom: 3rem;
}

.news ul dl {
	display: grid;
    grid-template-columns: 230px auto;
}

/*top engi*/
section#engi p {
	text-align: center;
}

.sidebar_contents-wrap {
    display: grid;
    grid-template-columns: 23% auto;
}

	/* responsive layout */
.main {
	vertical-align: top;
}
.sidebar {
	vertical-align: top;
	/*height: 100vh;*/
}


.link-btn-wrap{
	grid-template-columns: 1fr 1fr 1fr;
	gap:1.2rem;
	margin-top: 3rem;
	margin-bottom: 5rem;
}



/*サブページ共通*/
.info-box {
    margin-top: 5rem;
	text-align: center;
}
.pc-order1 {
	order: 1;
}
.pc-order2 {
	order: 2;
}
.pc-order3 {
	order: 3;
}
/*ご祈祷*/
.kigan_wrap {
    grid-template-columns: repeat(12, 1fr);
}


/*授与品*/
.juyohin-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-bottom: 10rem;
	align-items: center;
}

/*ペット供養*/
.pet-wrap {
	margin-bottom: 3rem;
}

/*縁起*/
.engi-wrap {
	margin-bottom: 10rem;
}

.honzon-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 7rem;
	gap: 50px;	
}
.fujisawa-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 7rem;
	gap: 50px;
}
.nenbutsu-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 5rem;
	margin-bottom: 5rem;
	gap: 30px;
}
.fphoto-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 3rem;
}
.fphoto-wrap .text {
	align-self: end;
}
.gohusan-wrap {
	display: grid;
	grid-template-columns: 3fr 1fr 5fr;
	gap: 20px;
	margin-bottom: 5rem;
}
/*祈願フォーム*/
.formtable{
	width:90%;
}
.formtable th{
	width: 30%;
}
.formtable input[type=text],.formtable input[type=tel],.formtable input[type=email] {
    margin: 0 0 0 1em;
}
.cautions {
    width: 70%;
	font-size: 1rem;
}
.cautions_tel {
    text-align: center;
	display: block;
	font-size: 1.1rem;
	font-weight: bold;
}
.submit p {
	text-align: center;
}

.scroll-hint-icon {
	display: none;
}
/*境内図*/
div#midokoro span {
    text-align: center;
}
}
@media (min-width:1024px){
header.top {
	background-position: top 30% center;
	background-size: cover;
	height: 80vh;
}


.btn-box {
  padding: 0;
}
.sns {
	position: fixed;
	/*right: 2%;
	top: 2%;*/
	right: 26px;
	top: 80px;
	bottom: auto;
}
.sns img {
	width: 40px;
	height: 40px;
}


/*h1.logo {
	text-align: center;
}*/
/* --- オーバーレイメニュー --- */
.menu-overlay {
  position: fixed;
  top: 0;
/*  left: -100vw;*/
  width: 320px;
  height: 100vh;
background-color: rgba(0,0,0,0.3);
}

nav.menu-lists ul.navi {
    padding-top: 2rem;
}
nav.menu-lists {
	width: 220px;
}



.footer-box-wrap {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
section {
    padding: 2rem 0 1rem;
}


.detail_wrap {
    grid-template-columns: 2fr 4fr;
    gap: 50px;
}

/*略年譜*/
.ryakunenpu-wrap {
	display: grid;
	grid-template-columns: 1fr 3fr;
	margin-bottom: 10rem;
	gap: 30px;
}
/*檀信徒*/
.dansinto-wrap {
    grid-template-columns: 1fr 1fr;
	gap: 50px;
}

/*お知らせ投稿*/
.news-container {
	max-width: 1000px;
}
.news-container article{
	margin-top: 80px;
}
.cat-icon.icon_infomation {
    background-color: #a37302;
    width: fit-content;
    padding: 3px 20px;
    border-radius: 5px;
    color: white;
}
.cat-icon.icon_news {
    background-color: #800000;
    width: fit-content;
    padding: 3px 20px;
    border-radius: 5px;
    color: white;
}	
#keidai nav.section-nav ul {
    display: grid;
}
}

@media (min-width: 1280px){
.logo a {
    width: 200px;
}
section {
    padding: 5rem 0 2rem;
}

/*ナビゲーション*/

.btn {
    width: 60px;
} 
nav.menu-lists{
    width: 220px;
	background-color: rgba(0,0,0,0.7);
}
.container {
	width:1000px;

}


/*トップページ*/
header.top {
	background-position: top 30% center;
}

.yotei dl {
    font-size: 1rem;
}

section.about .btn_wrap {
	gap: 2rem;
}
section.about .about-text {
     font-size: 1.1rem; 
	 /*padding: 3rem 0 5rem;*/
}
section.about .about-text p {
	margin-top: 3rem;
	line-height: 2.3;
}


.news-wrap {
    padding: 2rem;
	width: 75%;
	margin: auto;
}

.news ul .cat-icon {
    padding: 5px 15px;
    margin-right: 1rem;
}
.news ul li a {
    font-size: 1rem;
}

.detail_wrap {
	padding-top: 6rem;
    padding-bottom: 5rem;
}
}
@media (min-width: 1440px){
h1.logo span {
    font-size: 1.8rem;
	padding-top: 70px;
}
.logo a {
    width: 230px;
}
.btn {
    width: 60px;
	left: 25px;
    top: 25px;
} 

.container {
	width:1300px;
	margin: auto;
}
header.top {
    height: 100vh;
}
section.about .about-text p {
    font-size: 1.2rem;
}
.yotei h3 {
    font-size: 1.2rem;
    
}
.yotei dl {
    font-size: 1.1rem;
}

}

.detail_photo.no-image {
    width: 100%;
    background-color: #ddd;
    min-height: 280px;
}
.sp-none {
	display: none;
}



/* 初期は非表示（スマホ用） */
.footer-nav-wrap {
  display: none;
}
.footer-box h4{
	margin: 10px;
}
.footer-box h4::after {
    content: "\f078"; /* Font Awesomeのchevron-downアイコン（下向き） */
    font-family: "Font Awesome 5 Free"; /* Font Awesomeのフォントファミリー */
    font-weight: 900; /* アイコンを表示するためのフォントウェイト */
    margin-left: 5px; /* アイコンとテキストの間にスペースを追加 */
    display: inline-block; /* 回転時にブロック要素として表示 */
    transition: transform 0.3s ease; /* 回転のアニメーション */
}

.footer-box h4.open::after {
  transform: rotate(180deg);
}
.footer-box {
    border-bottom: 1px solid #eee;
}
/* PCサイズでは常に表示 */
@media screen and (min-width: 768px) {
  .footer-nav-wrap {
    display: block !important;
  }
  .footer-box h4::after {
    display: none;
  }
}


