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

/*---------------------------------------------------------------------------
　共通
---------------------------------------------------------------------------*/
#page_main {
	max-width: 1024px;
	margin: 0 auto;
	padding: 120px 0 0;
	box-sizing: border-box;
	font-size: 18px;
}
#page_main h2 {
	margin: 0 auto 16px;
	padding: 0 0 8px;
	box-sizing: border-box;
	line-height: 1.25;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN','ＭＳ Ｐ明朝','MS PMincho','Times New Roman',sans-serif;
	border-bottom: solid 1px #2b2b2b;
}

.page_title {font-size: 2.5rem;}
.page_copy {font-size: 2rem;}

#page_main h3 {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-bottom: .5em;
}
#page_main h3 span {
	display: block;
	width: .5em;
	height: 1px;
	margin-top: .5em;
	background: #2b2b2b;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#page_main {
		max-width: 90%;
		font-size: 16px;
	}
	.page_copy {font-size: 1.5rem;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#page_main {
		max-width: 100%;
		padding: 100px 16px 0;
		font-size: 16px;
	}
	
	.page_title {font-size: 1.75rem;}
	.page_copy {font-size: 1.25rem;}
}



/*---------------------------------------------------------------------------
　書寫山圓教寺について
---------------------------------------------------------------------------*/
#history {
	width: 100%;

}
#history_flex {
	display: flex;
	justify-content: space-between;
}

.h_f-box {width: 56%;}
.h_f-img {width: 40%;}

.h_uta {
	margin: 16px 0;
	font-size: 150%;
}

#page_main .emaki {
	margin: 0 calc(50% - 50vw);
	padding: 16px 0;
	width: 100vw!important;
}
.swiper-wrapper {transition-timing-function: linear!important;}

ul.shougai {
	margin: 16px 0 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.shougai li {
	width: 48%;
	margin-bottom: 2%;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#history_flex {display: block;}
	.h_f-box,
	.h_f-img {width: 100%;}
	.h_f-box {margin-bottom: 16px;}
	
	ul.shougai li {width: 100%;}
}



/*---------------------------------------------------------------------------
　文化財・史跡
---------------------------------------------------------------------------*/
/*東谷・中谷・西谷*/
#cultural_properties-area {}
#cultural_properties-area ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	font-size: 20px;
}

#cultural_properties-area li {
	width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
	padding: 8px 16px;
	box-sizing: border-box;
	border-bottom: solid 1px #adadad;
}
#cultural_properties-area li::before {
	content: "■";
	margin-right: 4px;
	color: #a48b78;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	#cultural_properties-area ul {font-size: 18px;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#cultural_properties-area ul {display: block;}
	#cultural_properties-area li {width: 100%;}
}

/*---------------*/
#cultural_properties-index {}
ul#cp-list {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul#cp-list li {
	width: 48%;
	margin: 0 0 40px;
	display: block;
	background: #fff;
	text-align: center;
	transition: all 0.3s ease;
}
ul#cp-list li:hover {box-shadow: 4px 4px 16px rgba(0,0,0,.3);}
ul#cp-list img {
	display: block;
	width: 100%;
	aspect-ratio: 2.35 / 1;
	object-fit: cover;
}
ul#cp-list span {margin: 16px;}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul#cp-list {
		font-size: 16px;
		line-height: 1.4;
	}
	ul#cp-list li {}
	ul#cp-list img {aspect-ratio: 16 / 9;}
	ul#cp-list span {margin: 8px;}
}
/*-----*/

#cultural_properties {margin: 0 0 16px;}
#cultural_properties img {
	width: 100%;
	margin: 16px 0;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	object-position: bottom right;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#cultural_properties img {aspect-ratio: 16 / 9;}
}

#cultural_properties hr {
	border: none;
	margin: 40px 0;
}

#cultural_properties h2 {
	margin: 0 8px 0 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 2rem;
	line-height: 1.25;
	display: block;
	border-bottom: 0;
}
#cultural_properties h3 {
	font-size: 2rem;
	line-height: 1.4;
}
#cultural_properties h4 {
	font-size: 1.5rem;
	line-height: 1.4;
}

#cultural_properties section {margin-bottom: 80px;}
#cultural_properties section:last-child {margin-bottom: 0;}

ul#shiseki {
	margin: 40px auto;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
}
ul#shiseki li {
	width: 24%;
	margin: 0 8px;
}
ul#shiseki li a {
	display: block;
	padding: 4px;
	box-sizing: border-box;
	text-align: center;
	border: solid 1px #adadad;
	background: rgba(255,255,255,.5);
}
ul#shiseki li a:hover {background: rgba(255,255,255,1);}



.cp_option {
	width: 100%;
	margin: 0 auto 1em;
	display: flex;
	align-items: flex-end;
	line-height: 1.4;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#cultural_properties h2,
	#cultural_properties h3 {font-size: 1.5rem;}
	#cultural_properties h4 {font-size: 1.25rem;}
	.cp_option {
		flex-wrap: wrap;
		align-items: flex-start;
	}
}

.cp-bunka {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}
.cp-bunka p {
	margin: 4px 8px 4px 0;
	padding: 4px 16px;
	box-sizing: border-box;
	color: #a22041;
	background: #fff;
	border: solid 1px #a22041;
	border-radius: 40px;
	line-height: 1.4;
}

ul.cp-ex {
	margin: 0 0 0 auto;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
ul.cp-ex li {margin-left: 4px;}
ul.cp-ex li a {
	display: block;
	padding: 4px 16px;
	box-sizing: border-box;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	border-radius: 40px;
}
ul.cp-ex li a:hover {
	color: #e83828;
	border: solid 1px #e83828;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul.cp-ex {justify-content: flex-start;}
}

a.cp-place {
	display: block;
	margin: 0 0 0 auto;
	padding: 4px 16px;
	box-sizing: border-box;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	border-radius: 40px;
	line-height: 1;
}
a.cp-place:hover {
	color: #e83828;
	border: solid 1px #e83828;
}

/*直前のページへ戻る*/
#backbtn {
	margin: 40px auto 0;
	text-align: center;
}
#backbtn::before {
	content: "〈";
	margin-right: 4px;
}
#backbtn::after {
	content: "〉";
	margin-left: 4px;
}

/*カコミ（補足・引用元などを記述する欄）*/
.kakomi {
	padding: 16px;
	box-sizing: border-box;
	border: double 1px #adadad;
}
.kakomi h4 {
	margin-bottom: 8px;
}
.kakomi h5 {font-size: 1.25rem;}
.kakomi hr {
	border: none;
	margin: 16px 0!important;
}

/*リンクボタン*/
.shiseki_btn {}
.shiseki_btn a {
	display: block;
	margin: 8px 0;
	padding: 8px;
	box-sizing: border-box;
	line-height: 1;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	background: rgba(255,255,255,.5);
	border-radius: 4px;
}
.shiseki_btn a:hover {
	background: rgba(255,255,255,1);
}

.shiseki_btn a::before {
	content: "＞";
	margin-right: .5em;
}

.kome {
	font-size: .8rem;
	color: #7b7c7d;
}

.renge {
	width: 240px;
	text-align: center;
}
.renge img {
	aspect-ratio: 1 / 1!important;
	margin: 8px 0 0!important;
}



/*四天王立像*/
ul#shiten {
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: center;
	font-size: 14px;
}
ul#shiten span {display: block;}
ul#shiten img {
	width: 100%;
	margin: 0!important;
	aspect-ratio: auto;
	object-fit: cover;
}

#shiten_flex {
	width: 100%;
	margin: 16px 0 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.shiten_box {
	width: 48%;
	margin-bottom: 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.shiten_img {width: 32%;}
.shiten_img img {
	height: 200px;
	aspect-ratio: auto!important;
	object-fit: contain!important;
}

.shiten_text {width: 64%;}

table.shiten_table {
	width: 100%;
	margin: 8px 0 0;
	border-collapse: collapse;
	background: #fff;
	border-top: solid 1px #adadad;
	border-left: solid 1px #adadad;
	border-right: solid 1px #adadad;
}
table.shiten_table tr {border-bottom: solid 1px #adadad;}
table.shiten_table th,
table.shiten_table td {
	padding: 8px;
	box-sizing: border-box;
}
table.shiten_table th {font-weight: normal;}
table.shiten_table td {}

/*湯屋橋*/
.yuya {
	display: flex;
	justify-content: space-between;
}
.yuya div {width: 48%;}
.yuya div img {
	margin: 0!important;
	aspect-ratio: 1 / 1!important;
	object-position: center;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.yuya {display: block;}
	.yuya div {width: 100%;}
	.yuya div img {margin: 8px 0;}
}

/*弁慶の鏡井戸*/
ul.li_no4-5 {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-weight: bold;
}
ul.li_no4-5 li::after {
	display: block;
	content: "↓";
	margin-left: 1rem;
}
ul.li_no4-5 li:last-child::after {content: "";}

/*乙天若天*/
.no9block {position: relative;}
.no9img-1,
.no9img-2 {
	position: absolute;
}

.no9img-1 img,
.no9img-2 img {
	margin: 16px 0;
	aspect-ratio: auto!important;
	object-position: center;
}

.no9img-1 {
	width: 480px;
	right: -360px;
	bottom: -160px;
}
.no9img-2 {
	width: 180px;
	left: -190px;
	bottom: -160px;
}

#no9flex {
	display: flex;
}
#no9flex img {
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
}

/*泣きながら移動*/
.shock-animation {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1;
	width: 320px;
  pointer-events: none;
}

/* 初期状態は透明。JavaScriptがクラスを付けてから動き始める */
.shock-animation img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
}

/* JavaScriptでこのクラスを追加 */
.shock-animation.is-animating img {
  animation: shockMove 20s linear forwards;
}

@keyframes shockMove {
	0% {
		transform: translate(-3vw, -3vh) rotate(0deg);
		opacity: 0;
	}

	6% {
		transform: translate(-6vw, 0) rotate(0deg);
		opacity: 1;
	}

	24% {transform: translate(-12vw, 8vh) rotate(-6deg);}

	26% {transform: translate(-13vw, 9vh) rotate(4deg);}

	32% {transform: translate(-20vw, 18vh) rotate(0deg);}

	64% {transform: translate(-48vw, 46vh) rotate(-8deg);}

	66% {transform: translate(-49vw, 50vh) rotate(0deg);}

	90% {
		transform: translate(-80vw, 80vh) rotate(-12deg);
		opacity: 1;
	}

  100% {
	  transform: translate(-90vw, 90vh) rotate(0deg);
	  opacity: 0;
	}
}



/*---------------------------------------------------------------------------
　伽藍配置
---------------------------------------------------------------------------*/
#mapimg {
	width: 100%;
	position: relative;
}
.map_scroll {
	position: fixed;
	top: -2px;
	left: -8px;
	padding: 2px 8px;
	line-height: 1;
	box-sizing: border-box;
	background: #dcdddd;
}

#map_click {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 0 5%;
	box-sizing: border-box;
	text-align: center;
	overflow: scroll;
}
#map_click img {
	width: 1500px!important;
	margin: 0 auto;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#map_click div {width: 1500px;}
}

area.map_area {background: #000;}


ul#map_list {
	max-width: 960px;
	margin: 0 auto 40px;
	padding: 16px 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	font-size: 18px;
	border-top: solid 1px #adadad;
	border-bottom: solid 1px #adadad;
}
ul#map_list a:hover {color: #2b2b2b;}

ul#map_list li {
	display: block;
	margin: 0 0 16px;
	padding: 0 0 8px;
	width: 32%;
	box-sizing: border-box;
	line-height: 1;
	transition: background-color 0.3s ease;
	cursor: pointer;
}
ul#map_list img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
ul#map_list li span {
	display: block;
	margin: 4px 0 0;
}
ul#map_list li span::before {
	content: "■";
	color: #724e87;
	margin-right: 4px;
}
ul#map_list li:hover {background: rgba(0,0,0,.1);}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul#map_list {
		font-size: 16px!important;
		margin: 0 auto 80px;
	}
	ul#map_list li {width: 48%;}
}

/*モーダルウインドウ内*/
.modal-image,
.modal-text {width: 50%;}

.modal-image {line-height: 0;}
.modal-image img {
	width: auto;
	height: 100%;
	object-fit: cover;
	line-height: 0;
}
.modal-text {
	padding: 80px 40px 40px;
	box-sizing: border-box;
}

.map-head {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	line-height: 1.4;
}
.map-head h3 {font-size: 1.25rem;}

ul.map-option {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: flex-end;
}
ul.map-option li {margin-left: 4px;}
ul.map-option li a {
	display: block;
	padding: 4px 16px;
	box-sizing: border-box;
	font-size: .8rem;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	border-radius: 40px;
}
ul.map-option li a:hover {
	color: #e83828;
	border: solid 1px #e83828;
}

.map-option2 {
	margin-bottom: 1em;
	font-size: .8rem;
	line-height: 1.4;
	opacity: .8;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.modal-image,
	.modal-text {width: 100%;}
	
	.modal-image {aspect-ratio: 4 / 3;}
	.modal-text {padding: 16px;}
}




/*---------------------------------------------------------------------------
　境内案内
---------------------------------------------------------------------------*/
#keidai {width: 100%;}

#keidai h4 {
	margin: 40px 0;
	padding: 4px 8px;
	background: #fff;
}

/*モデルコースCSS*/
ul.list-tab{
	margin: 0 0 40px;
	padding: 0;
	list-style-type: none;
	border-bottom: 3px solid #a77f4d;
	display: flex;
	line-height: 1.25;
}
ul.list-tab > li {
	width: 100%;
	margin: 0 2px 0 0;
	padding: 0.5em 1em;
	box-sizing: border-box;
	color: #a77f4d;
	text-align: center;
	background: #fff;
	cursor: pointer;
}
ul.list-tab > li:last-child {margin: 0;}

ul.list-tab .active{
	background: #a77f4d;
	color: #fff;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul.list-tab {
		display: block;
		border-bottom: none;
	}
	ul.list-tab > li {
		margin: 0;
		border-bottom: 1px solid #a77f4d;
	}
}


.tab-content{
	max-width: 100%;
	margin: 0 auto;
	display: none;
	opacity: 0;
	transition: transform 0.3s;
}
.tab-content.active{
	display: block;
	opacity: 1;
}

/*タブコンテンツ*/
.course_head {
	margin: 0 0 8px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.course_head h3 {
	font-size: 2rem!important;
	margin-bottom: 0!important;
}
.course_head p {
	margin: 0;
	padding: 2px 16px;
	box-sizing: border-box;
	font-family: sans-serif;
	background: #fff;
	border: solid 1px #2b2b2b;
	border-radius: 40px;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.course_head {display: block;}
	.course_head h3 {
		font-size: 1.5rem;
		text-align: center;
		margin-bottom: 8px;
	}
	.course_head p {text-align: center;}
}


/*スポット*/
.course_spot {
	width: 100vw;
	margin: 16px calc(50% - 50vw) 40px;
	padding: 40px 5%;
	box-sizing: border-box;
	background: rgba(255,255,255,.5);
	overflow: scroll;
	text-align: center;
}
.course_spot img.c1 {max-width: 362px!important;}
.course_spot img.c2 {max-width: 870px!important;}
.course_spot img.c3 {max-width: 1368px!important;}
.course_spot img.c4 {max-width: 1422px!important;}

/*スポット説明*/
.spot_START {
	margin: 0;
	padding: 8px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
}
.spot_START h3 {
	margin-bottom: 0!important;
	line-height: 1!important;
}

.spot_box {
	width: 100%;
	margin: 0;
	padding: 16px 40px 40px;
	box-sizing: border-box;
	background: #fff;
}
.spot_box h4 {
	margin: 0 0 4px!important;
	padding: 0!important;
	line-height: 1!important;
}

.spot_header {
	margin: 0 0 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
}
.spot_header h3 {
	margin-bottom: 0!important;
	line-height: 1!important;
}

.spot_no {
	color: #a77f4d;
	font-weight: bold;
	font-size: 14px;
}
.spot_no span {
	margin: 0 8px 0 4px;
	font-size: 1.25rem;
}
.spot_no::after {
	content: "｜";
	margin-right: 8px;
}

.spot_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.spot_img,
.spot_text {width: 48%;}

@media screen and (max-width:736px) {/*スマートフォン*/
	.spot_box {padding: 16px;}
	.spot_flex {display: block;}
	.spot_img,
	.spot_text {width: 100%;}
}

.spot_img {
	max-width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
}
.spot_img img {
	width: 100%;
	aspect-ratio: 4 / 3;
}

.spot_text {}

.sopt_yori {
	width: 100%;
	margin: 16px 0 0;
}

.yori_flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.yori_img {width: 24%;}
.yori_img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}
.yori_text {width: 72%;}
.yori_text h4 {
	margin: 0!important;
	padding: 0!important;
}

.spot_move {
	margin-left: 50%;
	padding: 16px;
	box-sizing: border-box;
	font-family: sans-serif;
	font-weight: bold;
	border-left: dashed 2px #a77f4d;
	color: #a77f4d;
}

.course_map {
	margin: 40px 0 0;
	padding: 16px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1;
}

.course_map h3 {
	margin: 0;
	padding: 0 0 0 8px;
	border-left: solid 4px #a77f4d;
}

.spot_link {
	width: 100%;
	margin: 16px 0 0;
	font-size: 16px;
}
.spot_link a {
	display: flex;
	margin: 0 0 8px;
	padding: 4px 8px;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	border-radius: 2px;
}
.spot_link a::after {
	content: "▶︎";
	margin-left: auto;
}
.spot_link a:hover {
	color: #e83828;
	border: solid 1px #e83828;
}



/*---------------------------------------------------------------------------
　拝仏
---------------------------------------------------------------------------*/
#haibutsu {}
#haibutsu section {margin-bottom: 40px;}
#haibutsu hr {
	border: none;
	margin: 16px 0;
}
#haibutsu img {
	margin: 0 auto;
	text-align: center;
}

.h-head {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	line-height: 1.4;
}

.h-map,
.h-option {font-size: .8rem;}

.h-map {
	padding: 4px 16px;
	box-sizing: border-box;
	color: #a77f4d;
	border: solid 1px #a77f4d;
	border-radius: 40px;
	line-height: 1;
}
.h-option {
	opacity: .8;
	margin-bottom: 1em;
}

.haibutsu_flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.haibutsu_box {width: 56%}

.haibutsu_img {width: 40%;}
.haibutsu_img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.haibutsu_flex {display: block;}
	.haibutsu_box,
	.haibutsu_img {width: 100%;}
	.haibutsu_box {margin-bottom: 16px;}
}



/*---------------------------------------------------------------------------
　御朱印
---------------------------------------------------------------------------*/
#seals {}
#seals section {margin-bottom: 40px;}
#seals img {
	width: 100%;
	height: auto;
	margin: 16px 0;
}

.seals_img {width: 48%;}

.seals_link {}
.seals_link a {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 8px 0 0;
	padding: 4px 8px;
	box-sizing: border-box;
	border: solid 1px #a77f4d;
	border-radius: 4px;
	transition: background-color 0.3s ease;
}
.seals_link a::after {
	content: "＞";
}
.seals_link a:hover {background: rgba(255,255,255,.5);}

.saigoku {
	width: 140px;
	margin: 0 0 16px 32px;
	float: right;
}
.saigoku_clear {clear: both;}



/*---------------------------------------------------------------------------
　修行体験
---------------------------------------------------------------------------*/
#experience {}
#experience img {
	width: 100%;
	height: auto;
	margin: 16px 0;
	aspect-ratio: 21 / 9;
	object-fit: cover;
}
#experience section {margin-bottom: 40px;}

#experience_info {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

ul.ex_table-data {
	width: 60%;
	margin: 0;
	padding: 0;
	list-style-type: none;
}

table.ex_table-schedule {
	width: 32%;
	padding: 8px;
	border-collapse: collapse;
}
table.ex_table-schedule th,
table.ex_table-schedule td {
	padding: 4px 8px;
	box-sizing: border-box;
}

table.ex_table-schedule tr {border-bottom: solid 1px #adadad;}
table.ex_table-schedule th {color: #4d7f37;}
table.ex_table-schedule td {background: #fff;}
table.ex_table-schedule td:first-child {text-align: center;}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	ul.ex_table-data,
	table.ex_table-schedule {width: 48%;}
}
@media screen and (max-width:736px) {/*スマートフォン*/
	#experience img {aspect-ratio: 16 / 9;}
	#experience_info {display: block;}
	ul.ex_table-data,
	table.ex_table-schedule {width: 100%;}
}


/*御朱印*/
#sutra_copying {}
.sc_flex {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-start;
}
.sc_img {width: 32%;}
.sc_img img {margin: 0!important;}

ul.sc_table {
	width: 56%;
	margin: 0 auto 0 5%;
	padding: 0;
	list-style-type: none;
}
ul.sc_table li {margin-left: 4em;}

ul.sc_table li:nth-child(1)::before,
ul.sc_table li:nth-child(2)::before,
ul.sc_table li:nth-child(3)::before {margin-left: -4em;}

ul.sc_table li:nth-child(1)::before {content: "〈日時〉";}
ul.sc_table li:nth-child(2)::before {content: "〈場所〉";}
ul.sc_table li:nth-child(3)::before {content: "〈費用〉";}

@media screen and (max-width:736px) {/*スマートフォン*/
	.sc_flex {display: block;}
	.sc_img,
	ul.sc_table {width: 100%;}
	
	ul.sc_table {margin: 0 0 8px;}
}



/*---------------------------------------------------------------------------
　ご供養・ご祈祷
---------------------------------------------------------------------------*/
#memorials {}
#memorials details {
	width: 100%;
	margin: 0 0 16px;
}
#memorials summary {
	padding: 16px;
	box-sizing: border-box;
	line-height: 1.4;
	list-style: none;
	cursor: pointer!important;
	border: solid 1px #adadad;
	border-radius: 16px;
}
#memorials summary::-webkit-details-marker {display: none;}

#memorials img {
	margin: 8px 0 0;
	width: 100%;
	height: auto;
	aspect-ratio: 21 / 9;
	object-fit: cover;
}

#memorials hr {
	border: none;
	margin: 16px 0;
}

#memorials table {
	width: 100%;
	margin: 0 0 8px;
	border-collapse: collapse;
	border-top: solid 1px #adadad;
}
#memorials tr {border-bottom: solid 1px #adadad;}
#memorials th {font-weight: normal;}

#memorials h4 {
	color: #920783;
	border-bottom: solid 1px #920783;
	margin-bottom: 8px;
	font-weight: 1rem;
}
#memorials h4::before {
	content: "■";
	margin-right: .5em;
}

.details__content {margin: 16px 0 0;}

.memorials_title,
.memorials_text {display: block;}

.memorials_title {
	font-size: 1.5rem;
	font-weight: bold;
}
.memorials_text {font-size: 1.25rem;}

.eko1 {
	margin: 0 0 40px;
	font-size: 16px;
	text-align: center;
	color: #7b7c7d;
}
.eko1 h3 {
	font-size: 1.5rem;
	font-weight: normal;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#memorials img {aspect-ratio: 16 / 9;}
	.memorial_service,
	.prayer {display: block;}
	.memorials_box,
	.memorials_img {width: 100%;}
	
	.memorials_box {margin-bottom: 8px;}
}



/*ご祈祷・ご回向のお申込み*/
#form_memorials {}

#form_memorials hr {
	border: 0;
	border-bottom: solid 1px #adadad;
	margin: 16px 0;
}

#form_memorials section.kakomi {margin-top: 8px;}

#kuyou,
#goma {display: none;}

ul.ijitsu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	align-items: center;
}
ul.ijitsu li:last-child {
	width: 64%;
	margin-left: 8px
}


/*ラジオボタン */
ul.m_radio {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
ul.m_radio li {
	display: flex;
	align-items: center;
	margin-right: 16px;
}
ul.m_radio input[type="radio"] {margin-right: 6px;}

/*郵便番号*/
ul.yubin {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	align-items: center;
}
ul.yubin li:nth-child(2) {
	width: 48%;
	margin-left: .5em;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	ul.yubin li:nth-child(2) {width: 80%;}
}


table.memorials_form {
	width: 100%;
	margin: 8px auto 0;
	border-collapse: collapse;
	border-top: solid 1px #adadad;
}

table.memorials_form tr {border-bottom: solid 1px #adadad;}
table.memorials_form td {
	padding: 8px;
	box-sizing: border-box;
	vertical-align: text-top;
}

.memorials_contact {margin: 16px 0 0;}
.memorials_contact a {
	display: block;
	margin: 0 auto;
	padding: 4px 8px;
	box-sizing: border-box;
	border: solid 1px #a77f4d;
	color: #a77f4d;
	transition: background-color 0.3s ease;
	border-radius: 4px;
}
.memorials_contact a:hover {background: rgba(255,255,255,.6);}

.memorial_service,
.prayer {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start
}

.memorials_box {width: 60%;}
.memorials_img {width: 30%;}

.memorial_service {}
.prayer {
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
.prayer h3 {width: 100%;}

@media screen and (max-width:736px) {/*スマートフォン*/
	#form_memorials input[type="radio"] {transform: scale(1.5);}
}



/*---------------------------------------------------------------------------
　月例行事
---------------------------------------------------------------------------*/
#schedule1 {
	width: 100%;
	margin: 32px auto 0;
}
#schedule1 h3 {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-bottom: .5em;
}

.event {margin-bottom: 40px;}
.event table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	line-height: 1.4;
	background: rgba(255,255,255,.6);
	border-top: solid 1px #adadad;
}
.event td:last-child {text-align: left;}

.event tr {border-bottom: solid 1px #adadad;}
.event td {
	padding: 4px 8px;
	box-sizing: border-box;
}




/*---------------------------------------------------------------------------
　特別行事
---------------------------------------------------------------------------*/
#schedule2 {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#link_memorials {
	width: 100%;
}
#link_memorials a {
	width: 100%;
	height: 300px;
	margin: 0 auto 40px;
	display: block;
	position: relative;
	background: url("../schedule2/image/prayer.jpg")no-repeat top center;
	background-color: rgba(255,255,255,.3);
	background-blend-mode: overlay;
	background-size: cover;
	border-radius: 4px;
}
#link_memorials a:hover {background-color: rgba(255,255,255,0);}
#link_memorials span {
	position: absolute;
	bottom: 8px;
	left: 16px;
	font-size: 2rem;
	font-weight: 1;
	color: #fff;
	filter: drop-shadow(0 0 2px #000);
}

@media screen and (max-width:736px) {/*スマートフォン*/
}

/*圓教寺年中行事記*/
a.schedule_reed {
	display: block;
	margin: 0 auto 40px;
	padding: 0;
	text-align: center;
	border: solid 1px #adadad;
	border-radius: 4px;
}
a.schedule_reed:hover {box-shadow: 2px 2px 4px #adadad;}

.schedule_reed_img div {aspect-ratio: 5 / 1;}
.schedule_reed_img img {
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 1;
	object-fit: cover;
	border-radius: 4px 4px 0 0;
}

a.schedule_reed h3 {}


#annual_events section {margin-bottom: 80px;}
#annual_events section:last-child {margin-bottom: 0;}
#annual_events img {
	width: 100%;
	height: auto;
	margin: 0 auto 8px;
	aspect-ratio: 21 / 9;
	object-fit: cover;
}
#annual_events h3 {
	font-size: 2rem;
	line-height: 1.4;
}
#annual_events h4 {
	font-size: 1.5rem;
	line-height: 1.4;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#annual_events img {aspect-ratio: 16 / 9;}
	#annual_events h3 {font-size: 1.5rem;}
	#annual_events h4 {font-size: 1.25rem;}
}
/**/



.s2_block {
	width: 46%;
	margin-bottom: 40px;
}
.s2_block h3 {
	text-align: center;
	font-weight: 700;
}

.s2_block img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

@media screen and (max-width:520px) {/*スマートフォン*/
	#schedule2 {display: block;}
	.s2_block {
		width: 100%;
		margin-bottom: 40px;
	}
	
	#schedule2 div.s2_block:last-child {margin-bottom: 0;}
}

.open-modal {cursor: pointer;}
.open-modal:hover {color: #a77f4d;}



/*モーダル*/
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  
  /* 中央寄せの設定 */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10010;

  /* 非表示状態の設定 */
  opacity: 0;
  pointer-events: none; /* 非表示時はクリックをすり抜けさせる */
  transition: opacity 0.3s ease; /* 0.3秒でふわっと変化 */
}

/* 表示状態（is-showクラスがついた時） */
.modal-overlay.is-show {
  opacity: 1;
  pointer-events: auto; /* クリックを有効化 */
}

.modal-content {
	max-width: 960px;
	width: 90%;
	height: 80vh;
	padding: 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 8px;
	position: relative;
	overflow: scroll;
}

@media screen and (max-width:1024px) {/*スマートフォン*/
	.modal-content {
		height: 80vh;
		margin-top: 10%;
		padding: 16px;
	}
}

.close-btn {
	margin: 16px 0 0;
	padding: 8px;
	box-sizing: border-box;
	display: block;
	background: none;
	text-align: center;
	color: #7b7c7d;
	border: solid 1px #7b7c7d;
	line-height: 1;
	cursor: pointer;
}
.close-btn span {}

.open-modal-btn {
	margin: 8px auto 16px;
	padding: 8px 16px;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	border: solid 1px #adadad;
	border-radius: 32px;
	cursor: pointer!important;
}

.s_ico {
	transition: transform 0.4s;
	color: #adadad;
}

/*モーダル内*/
#schedule_data {}
#schedule_data h3 {font-size: 2rem;}
#schedule_data h4 {font-size: 1rem;}

#schedule_data section {margin-bottom: 80px;}
#schedule_data section:last-child {margin-bottom: 0;}

#schedule_data .cp-bunka {margin-bottom: 16px!important;}

.schedule_details {margin: 0 auto 16px;}
.schedule_details table {}

.schedule_kakomi {
	margin: 0 auto 16px;
	padding: 16px;
	box-sizing: border-box;
	border: solid 1px #adadad;
}

.kigan_li ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
.kigan_li li {}
.kigan_li li::after {content: "・";}
.kigan_li li:last-child::after {content: "";}

#schedule_data hr {
	border: none;
	margin: 16px 0;
}

#schedule_data h5 {
	margin: 0 auto 8px;
	padding: 4px 0 4px 16px;
	box-sizing: border-box;
	border-left: 8px solid #724e86;
	font-size: 1rem;
	color: #724e87;
	background: #f3f3f3;
}


#schedule_data table {
	width: 100%;
	margin: 8px 0;
	border-collapse: collapse;
	border-top: solid 1px #adadad;
	font-size: 1rem;
}
#schedule_data tr {border-bottom: solid 1px #adadad;}
#schedule_data td {padding: 8px 0;}
#schedule_data tr td:nth-child(1) {text-align: center;}
#schedule_data tr td:nth-child(2) {width: 64%;}

.hoshi {width: 50%;}

@media only screen and (min-width:521px) and (max-width:980px) {/*タブレット*/
	#schedule_data table {margin: 16px 0;}
	#schedule_data th,
	#schedule_data td {
		display: block;
		width: 100%!important;
		padding: 4px 0;
		box-sizing: border-box;
		border-bottom: solid 1px #adadad;
	}
	#schedule_data tr {border-bottom: none;}
}

@media screen and (max-width:520px) {/*スマートフォン*/
	#schedule_data table {margin: 16px 0;}
	#schedule_data th,
	#schedule_data td {
		display: block;
		width: 100%!important;
		padding: 4px 0;
		box-sizing: border-box;
		border-bottom: solid 1px #adadad;
	}
	#schedule_data tr {border-bottom: none;}
	#schedule_data td:nth-child(1) {background: #efefef;}
	.hoshi {width: 100%;}
}

/*画像float*/
.s2_imgright {
	width: 40%;
	float: right;
	margin-left: 8px;
}
.s2_imgleft {
	width: 40%;
	float: left;
	margin-right: 8px;
}
.s2_clear::after {clear: both;}



/*---------------------------------------------------------------------------
　000
---------------------------------------------------------------------------*/
#access {
	width: 100%;
}
#access section {margin-bottom: 40px;}

#access h3 {font-size: 1.5rem;}
#access h4 {
	margin: 0 0 8px;
	padding: 4px 8px;
	box-sizing: border-box;
	font-size: 1.16rem;
	line-height: 1.4;
	background: #fff!important;
	color: #920783;
	border-left: solid 4px #920783;
}
#access h5 {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 1.16rem;
	color: #920783;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#access h3 {font-size: 1.25rem;}
}


a.acb1_btn {
	display: block;
	margin: 4px 0 8px;
	padding: 8px 16px;
	box-sizing: border-box;
	line-height: 1;
	font-weight: bold;
	color: #920783;
	border: solid 1px #920783;
	border-radius: 2px;
	transition: background-color 0.3s ease;
}
a.acb1_btn:hover {
	color: #920783;
	background: rgba(255,255,255,.6);
}

.access_map {
	width: 100%;
	margin:0 auto;
	position: relative;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	}
.access_map iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: 21 / 9;
	}

@media screen and (max-width:736px) {/*スマートフォン*/
	.access_map,
	.access_map iframe,
	.ggmap object,
	.ggmap embed {aspect-ratio: 4 / 3;}
}

.ac_block1 {}
.ac_block1 table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.4;
	border-top: solid 1px #adadad;
}
.ac_block1 tr {border-bottom: solid 1px #adadad;}
.ac_block1 hr {
	border: none;
	margin: 16px auto;
}
.ac_block1 th,
.ac_block1 td {
	padding: 4px 16px;
	box-sizing: border-box;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.ac_block1 th,
	.ac_block1 td {display: block;}
	.ac_block1 td:first-child {
		background: rgba(128,128,128,.5);
		font-weight: bold;
		text-align: center;
	}
}


.ac_block2 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}
.ac2_box,
.ac2_img {width: 48%;}

.ac2_box {}
.ac2_img {}

@media screen and (max-width:736px) {/*スマートフォン*/
	.ac_block2 {display: block;}
	.ac2_box,
	.ac2_img {width: 100%;}
}


.ac_t_flex {
	display: flex;
	justify-content: space-between;
}
.ac_t_flex table {
	width: 48%;
	margin: 16px 0;
	text-align: center;
	background: rgba(255,255,255,.6);
}
.ac_t_flex th {
	background: #a77f4d;
	color: #fff;
}

@media only screen and (min-width:737px) and (max-width:1024px) {/*タブレット*/
	.ac_t_flex {display: block;}
	.ac_t_flex table {width: 100%;}
}

@media screen and (max-width:736px) {/*スマートフォン*/
	.ac_t_flex {display: block;}
	.ac_t_flex table {width: 100%;}
	.ac_t_flex th,
	.ac_t_flex td {display: table-cell;}
	.ac_t_flex td:first-child {
		background: none;
		font-weight: normal;
	}
}


ul.r_time {
	margin: 4px 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
}

ul.r_time li {
	margin: 0;
	padding: 0 16px;
	box-sizing: border-box;
	border-right: solid 1px #2b2b2b;
	font-size: 2rem;
	font-weight: bold;
}
ul.r_time li:last-child {border-right: none;}
ul.r_time li:first-child::before,
ul.r_time li::after {
	font-size: 1.16rem;
	font-weight: normal;
}
ul.r_time li:first-child::before {
	content: "毎時";
	margin-right: 8px;
}
ul.r_time li::after {content: "分";}

.r_t_final {
	font-size: 1.5rem;
	font-weight: bold;
}

@media screen and (max-width:736px) {/*スマートフォン*/
}




/*---------------------------------------------------------------------------
　お問い合わせ
---------------------------------------------------------------------------*/
#contact {width: 100%;}

#contact ul {
	margin: 8px 0;
	padding: 0;
	list-style-type: none;
	background: rgba(255,255,255,.6);
	border: solid 1px #adadad;
	
}
#contact li {
	padding: 4px 8px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: solid 1px #adadad;
}
#contact li:last-child {border-bottom: none;}

#contact ul h3,
#contact ul h4 {
	font-weight: normal;
	line-height: 1.25;
	text-align: center;
}

#contact ul h3 {
	width: 30%;
	font-size: 1rem;
}
#contact ul h4 {
	width: 10%;
	font-size: 80%;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	color: #dc143c;
}
#contact ul span {width: 60%;}

@media screen and (max-width:736px) {/*スマートフォン*/
	#contact li {
		padding: 8px;
		flex-wrap: wrap;
	}
	#contact ul h3 {
		width: 90%;
		text-align: left;
	}
	#contact ul span {width: 100%;}
}

/*フォームのデザイン*/
input[type="text"],input[type="email"],input[type="tel"],input[type="date"],input[type="number"]{
	width:100%;
	border: solid 1px #dcdcdc;
	border-radius:2px;
	padding:8px;
	box-sizing:border-box;
	font-size: 1rem;
}
textarea{
	width:100%;
	border: solid 1px #dcdcdc;
	border-radius:4px;
	padding:8px;
	box-sizing:border-box;
	height: calc( 1.5em * 6 );
	font-size: 1rem;
}
/*送信ボタンのデザイン変更*/
#formbtn input[type="submit"],
#formbtn input[type="button"] {
	display: block;
	padding:15px;
	width:24%;
	background: #fff;
	color:#a77f4d;
	font-size:18px;
	font-weight:bold;
	border-radius:2px;
	margin:25px auto 0;
	letter-spacing: 2px;
	transition: background-color 0.3s ease;
	border:2px solid #a77f4d;
}
/*送信ボタンマウスホバー時*/
#formbtn input[type="submit"]:hover,
#formbtn input[type="button"]:hover {
	background:#a77f4d; 
	color:#fff;
}

@media screen and (max-width:736px) {/*スマートフォン*/
	#formbtn input[type="submit"],
	#formbtn input[type="button"] {width:75%;}
}



/*---------------------------------------------------------------------------
　撮影に関するお願い
---------------------------------------------------------------------------*/
#gfp {}
#gfp img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.ghp_signature {
	margin-top: .5em;
	text-align: right;
}



/*---------------------------------------------------------------------------
　000
---------------------------------------------------------------------------*/
