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


/*トップコンテンツ*/
body.goma .page-top-contents{
	background-image: url("../img/kitou/goma-top.jpg");
	background-position: center top 30%;
}
body.sanki .page-top-contents{
	background-image: url("../img/kitou/sanki-top.jpg");
	background-position: center bottom 30%;
}
body.seitan .page-top-contents{
	background-image: url("../img/kitou/seitan-top.jpg");
	background-position: center center;
}
body.hoshi .page-top-contents{
	background-image: url("../img/kitou/hoshimatsuri-top.jpg");
	background-position: center center;
}
body.dedication .page-top-contents{
	background-image: url("../img/dedication/dedication-main.jpg");
	background-position: center center;
}
body.dedication-thanks .page-top-contents{
	background-image: url("../img/dedication/thanks/thanks-main.jpg");
	background-position: center bottom 25%;
}
body.manner .page-top-contents{
	background-image: url("../img/top-back2.jpg");
	background-position: center center;
}
body.kuyou .page-top-contents,
body.zazen .page-top-contents,
body.shakyo .page-top-contents,
body.ajikan .page-top-contents{
	background-image: url("../img/kuyou.jpg");
	background-position: center center;
}
body.goma .page-top-copy h1,
body.sanki .page-top-copy h1{
	letter-spacing: 0.025em;
}
body.sanki .page-top-copy h1,
body.dedication-thanks .page-top-copy h1{
	line-height: 1.4em;
}

/*ページについての説明*/
.about-page{
	
}
.about-page-sentence{
	width: 90%;
    max-width: 750px;
    margin: 0 auto; 
}
.about-page-sentence h2{
	text-align: justify;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
}
.about-page-sentence h2 + img{
	margin-top: 25px;
}
.about-page-sentence p{
	text-align: justify;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
	text-indent: 1em;
}
body.shakyo .about-page-sentence p{
	text-indent: 0em;
}
.about-page-sentence h2 span.red{
	color: #872f33;
	text-decoration: underline;
}
.about-page-movie-wrap{
	width: 100%;
    max-width: 1200px;
    margin: 80px auto 0;
	padding-bottom: 40px;
	position: relative;
}
.about-page-movie-wrap::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 300px;
	background-color: #e0ded7;
}
.about-page-movie-wrap h2{
	text-align: center;
    color: #872f33;
	font-size: 1.75rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.about-page-movie{
	width: 90%;
	max-width: 750px;
	margin: 30px auto 0;
	position: relative;
	z-index: 1;
}
.about-page-movie iframe{
	width: 100%;
	height: 450px;
}

/*フォームについて*/
.form-all-wrap{
	width: 90%;
	max-width: 1200px;
	margin: 160px auto 0;
}
body.kuyou .form-all-wrap{
	margin: 0px auto;
}

.form-info{
	
}
.form-info + .form-info{
	margin-top: 140px;
}
.form-info-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #872f33;
}
.form-info-title::before,
.form-info-title::after{
	content: "";
	flex-grow: 1;
	height: 3px;
	background-color: #872f33;
}
.form-info-title h3{
	font-size: 1.75rem;
    letter-spacing: 0.025em;
    line-height: 1em;
	margin: 0 2em;
}
.form-info > p,
.form-contents-wrap > p{
	text-align: justify;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
	margin-top: 30px;
}
.form-info > h4{
	margin-top: 30px;
	color: #872f33;
	font-size: 1.75rem;
	letter-spacing: 0.025em;
}
.form-info > h4 + p{
	margin-top: 8px;
}
.form-info > p a.red,
.form-info > p span.red,
.form-contents-wrap > p span.red,
.form-block dd p span.red{
	color: #872f33;
	text-decoration: underline;
}
.form-info-link{
	display: block;
	width: 100%;
	height: 80px;
	color: #872f33;
	border: 3px solid #872f33;
	font-size: 1.75rem;
    letter-spacing: 0.13em;
    line-height: 80px;
	text-align: center;
	margin-top: 30px;
	transition: .3s ease;
}
.form-info-link:hover{
	color: #ffffff;
	background-color: #872f33;
}
.form-contents-wrap{
	margin-top: 30px;
}
.form-info-link + .form-contents-wrap{
	margin-top: 120px;
}
.form-contents-title{
	width: 100%;
	height: 80px;
	color: #ffffff;
	background-color: #872f33;
	font-size: 1.75rem;
    letter-spacing: 0.13em;
    line-height: 80px;
	text-align: center;
}
.form-contents-block{
	margin-top: 75px;
	font-family: YakuHanJP_Narrow, "Yu Gothic", YuGothic, "Yu Gothic Medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
.form-contents-block-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #872f33;
}
.form-contents-block-title::before,
.form-contents-block-title::after{
	content: "";
	flex-grow: 1;
	height: 2px;
	background-color: #872f33;
}
.form-contents-block-title.applicant{
	margin-top: 80px;
}
.form-contents-block-title h5{
	font-size: 1.3rem;
    letter-spacing: 0.025em;
    line-height: 1em;
	margin: 0 2em;
}
.form-block {
    width: 100%;
    margin-top: 40px;
}
.form-block.applicant_form{
	width: 100%;
	padding: 40px;
	border: 1px solid #872f33;
	background-color: #ffffff;
}
.form-block dt{
	color: #872f33;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.13em;
}
.form-block dt .required{
    margin-left: 15px;
    font-size: 0.8rem;
    padding: 0.25em 1em;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #ffffff;
    background-color: #872f33;
}
.form-block dd + dt{
	margin-top: 40px;
}
.form-block.applicant_form > dt:first-of-type{
	width: 100%;
	height: 50px;
	color: #ffffff;
	background-color: #872f33;
	font-size: 1.1rem;
    letter-spacing: 0.13em;
    line-height: 50px;
	text-align: center;
}
.form-block dd{
    margin-top: 15px;
    position: relative;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.025em;
}
.form-block dd p{
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.075em;
	margin-top: 8px;
}
.form-block dd p a,
.form-block dd p + a{
	color: #872f33;
	text-decoration: underline;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.075em;
}
.form-block dd p + label .item-label,
.form-block dd label + label .item-label{
	margin-top: 20px;
}
.form-block dd.select-wrap .select{
    position: relative;
    display: inline-block;
}
.form-block dd.select-wrap > p + .select{
	margin-top: 20px;
}
.form-block dd.select-wrap .select::after {
    font-family: "Font Awesome 6 Free";
    content: "\f078";
    color: #872f33;
    font-size: 0.9rem;
    font-weight: 800;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    transform-origin: center center;
    transition: .3s ease;
}
.form-block dd.select-wrap .select::before {
    content: "";
    position: absolute;
    top: 0;
    right: 43px;
    z-index: 2;
    width: 1px;
    height: 100%;
    background-color: #872f33;
}
.form-block dd.select-wrap.seinen .select::after{
	right: 34px;
}
.form-block dd.select-wrap.seinen .select::before{
	right: 59px;
}
.form-block dd select,
.form-block dd input,
.form-block dd textarea {
    border: 1px solid #872f33;
    background-color: #ffffff;
    padding: 1em 1.5em;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
.form-block dd select[disabled],
.form-block dd input[readonly],
.form-block dd input[disabled],
.form-block dd textarea[readonly] {
    color: gray;
}
.form-block dd input[type="hidden"]+.wpcf7-list-item-label {
    color: #ffffff;
    background-color: gray;
}
.form-block dd textarea {
    width: 100%;
}
.form-block dd select{
	color: #872f33;
    padding: 1em 4em 1em 1.5em;
    cursor: pointer;
}
.form-block dd select:focus{
    outline: none;
}
.form-block dd input[type="radio"]{
    display: none;
}
.form-block dd .item-label{
    display: inline-block;
    border: 1px solid #872f33;
	color: #872f33;
    background-color: #ffffff;
    padding: 1em 1.5em;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    cursor: pointer;
    transition: .3s ease;
	text-align: center;
	width: 100%;
}
.form-block dd input[type="radio"]:checked + .item-label{
    color: #ffffff;
    background-color: #872f33;
}
span.item-label{
    margin: 0 1em 0 0;
}
.form-block dd input + span{
	margin: 0 13px;
}
.form-block dd input[type="radio"] + span{
	margin: 20px 0 0;
}
.form-block dd .pay-info{
	padding: 0.5em;
	color: #872f33;
	border-left: 5px solid #872f33;
	margin-top: 8px;
}
.form-block dd .pay-info p{
	margin-top: 0;
}
.button_area input[type="button"],
.button_area input[type="submit"] {
    width: 100%;
    margin-top: 50px;
    font-size: 1rem;
    font-weight: 600;
    padding: 1em 1.5em;
    color: #ffffff;
    background-color: #872f33;
    border: 1px solid #872f33;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
    transition: .3s ease;
}
.button_area input[type="reset"]{
    width: 100%;
    margin-top: 50px;
    font-size: 1rem;
    font-weight: 600;
    padding: 1em 1.5em;
    color: #872f33;
    background-color: #e0ded7;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    text-align: center;
    transition: .3s ease;
}

.button_area input[type="submit"]+input[type="reset"],
.button_area input[type="button"]+input[type="submit"]{
    margin-top: 20px;
}
/*.button_area input[type="button"]:hover,
.button_area input[type="reset"]:hover,
.button_area input[type="submit"]:hover{
    color: #ffffff;
    background-color: #872f33;
}*/


/*三鬼大権現祈祷ページ*/
.sanki-info-table{
	width: 90%;
    max-width: 1200px;
    margin: 80px auto 0;
}
.sanki-info-table table{
	width: 100%;
	border: 2px solid #872f33;
	border-collapse: collapse;
}
.sanki-info-table table th,
.sanki-info-table table td{
	padding: 1em;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-align: center;
	width: 50%;
	position: relative;
}
.sanki-info-table table th:nth-of-type(1)::before,
.sanki-info-table table td:nth-of-type(1)::before{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 2px;
	height: 100%;
}
.sanki-info-table table th:nth-of-type(1)::before{
	background-color: #ffffff;
}
.sanki-info-table table td:nth-of-type(1)::before{
	background-color: #872f33;
}
.sanki-info-table table th{
	color: #ffffff;
	background-color: #872f33;
}
.sanki-info-table table td{
	color: #872f33;
	border-bottom: 2px solid #872f33;
}
.sanki-info-table-foot{
	margin-top: 60px;
}
ul.sanki-illust-info{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.sanki-illust-info li{
	width: calc(50% - 8px);
}
ul.sanki-illust-info li img{
	height: 370px;
	object-fit: cover;
}
ul.sanki-illust-info li p{
	font-size: 1rem;
	margin-top: 8px;
}
.sanki-info-table-foot > p{
	color: #872f33;
	margin-top: 40px;
	text-align: center;
	font-size: 1.25rem;
}


/*生誕記念御札ページ*/
.seitan-info{
	width: 90%;
	max-width: 750px;
	margin: 70px auto 0;
	border-bottom: 3px solid #872f33;
	border-left: 3px solid #872f33;
	border-right: 3px solid #872f33;
	padding: 40px;
	position: relative;
}
.seitan-info-title{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	top: 1.5px;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}
.seitan-info-title::before,
.seitan-info-title::after{
	content: "";
	flex-grow: 1;
	height: 3px;
	background-color: #872f33;
}
.seitan-info-title h3{
	color: #872f33;
	font-size: 1.25rem;
	letter-spacing: 0.025em;
	margin: 0 1em;
}
.seitan-info p{
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	line-height: 2em;
	letter-spacing: 0.025em;
}
.seitan-info p.main{
	font-size: 1.3rem;
}
.seitan-info p + p{
	margin-top: 1em;
}
.seitan-info.sub p{
	text-align: left;
}
.seitan-gallery-wrap{
	width: 90%;
	max-width: 750px;
	margin: 70px auto 0;
}
.seitan-gallery-wrap h3{
	text-align: center;
	color: #872f33;
	font-size: 1.25rem;
	letter-spacing: 0.025em;
}
.seitan-gallery-wrap p{
	text-align: center;
	color: #872f33;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.025em;
}
ul.seitan-gallery{
	margin-top: 25px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.seitan-gallery li{
	width: calc(100% / 3 - 15px);
}
ul.seitan-gallery li:nth-of-type(n+4){
	margin-top: 25px;
}
ul.seitan-gallery li a{
	display: block;
	width: 100%;
	height: 100%;
}


/*星まつりのご案内*/
.hoshimatsuri-info{
	width: 90%;
    max-width: 750px;
    margin: 70px auto 0;
    border-bottom: 3px solid #872f33;
    border-left: 3px solid #872f33;
    border-right: 3px solid #872f33;
    padding: 50px 40px 40px;
    position: relative;
	text-align: center;
}
.hoshimatsuri-info-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 1.5px;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
.hoshimatsuri-info-title::before,
.hoshimatsuri-info-title::after {
    content: "";
    flex-grow: 1;
    height: 3px;
    background-color: #872f33;
}
.hoshimatsuri-info-title h3 {
    color: #872f33;
    font-size: 1.25rem;
    letter-spacing: 0.025em;
    margin: 0 1em;
}
.hoshimatsuri-info p {
	text-align: justify;
    font-size: 1rem;
    font-weight: 500;
    line-height: 2em;
    letter-spacing: 0.025em;
}
.hoshimatsuri-info p.main {
	color: #872f33;
	display: inline-block;
	text-align: left;
    font-size: 1.3rem;
}
.hoshimatsuri-info p + p {
    margin-top: 1em;
}
.hoshimatsuri-table{
	width: 90%;
    max-width: 750px;
    margin: 70px auto 0;
}
.hoshimatsuri-table-title{
	text-align: center;
	position: relative;
	padding-bottom: 20px;
}
.hoshimatsuri-table-title h3{
	color: #872f33;
    font-size: 1.25rem;
    letter-spacing: 0.025em;
}
.hoshimatsuri-table-title::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100px;
	height: 2px;
	background-color: #872f33;
}
.hoshimatsuri-table div + h4{
	margin-top: 50px;
	font-size: 1.1rem;
	letter-spacing: 0.025em;
	color: #872f33;
}
.hoshimatsuri-table table{
	width: 100%;
    border-top: 2px solid #872f33;
    border-left: 2px solid #872f33;
    border-right: 2px solid #872f33;
	border-collapse: collapse;
}
.hoshimatsuri-table table th:not(:first-of-type)::before,
.hoshimatsuri-table table td:not(:first-of-type)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 100%;
}
.hoshimatsuri-table table th:not(:first-of-type)::before{
	background-color: #ffffff;
}
.hoshimatsuri-table table td:not(:first-of-type)::before{
	background-color: #872f33;
}
.hoshimatsuri-table table th,
.hoshimatsuri-table table td {
    padding: 0.5em;
    font-size: 0.9rem;
	line-height: 1.1em;
    font-weight: 700;
    text-align: center;
    position: relative;
}
.hoshimatsuri-table table th{
    color: #ffffff;
    background-color: #872f33;
	border-bottom: 2px solid #ffffff;
}
.hoshimatsuri-table table td{
	border-bottom: 2px solid #872f33;
}
#year_table th{
	position: -webkit-sticky;
	position: sticky;
	z-index: 1;
}
#year_table tr:first-child th {
	top: 0;
}
#year_table tr:nth-child(2) th {
	top: 52px;
}
#year_table tr:nth-child(3) th {
	top: 84px;
}
#year_table td {
	width: calc(100% / 9);
}
#year_table td:nth-child(3),
#year_table td:nth-child(4),
#year_table td:nth-child(9) {
	font-weight: bold;
	color: #872f33;
}
#year_table tr:first-child th:nth-child(3),
#year_table tr:first-child th:nth-child(4),
#year_table tr:first-child th:nth-child(9),
#kikkyo tr:nth-child(1) th:nth-child(1),
#kikkyo tr:nth-child(6) th:nth-child(1),
#kikkyo tr:nth-child(7) th:nth-child(1){
	font-size: 1.5rem;
}
#kikkyo td{
	width: 80%;
	text-align: left;
}
.hoshimatsuri-recommend{
	width: 90%;
    max-width: 750px;
    margin: 70px auto 0;
}
.hoshimatsuri-recommend-title{
	text-align: center;
	position: relative;
	padding-bottom: 20px;
}
.hoshimatsuri-recommend-title h3{
	color: #872f33;
    font-size: 1.25rem;
    letter-spacing: 0.025em;
}
.hoshimatsuri-recommend-title::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100px;
	height: 2px;
	background-color: #872f33;
}
.hoshimatsuri-recommend-item{
	width: 100%;
    margin: 50px auto 0;
    border-bottom: 3px solid #872f33;
    border-left: 3px solid #872f33;
    border-right: 3px solid #872f33;
    padding: 50px 40px 40px;
    position: relative;
}
.hoshimatsuri-recommend-item-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 1.5px;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
.hoshimatsuri-recommend-item-title::before,
.hoshimatsuri-recommend-item-title::after {
    content: "";
    flex-grow: 1;
    height: 3px;
    background-color: #872f33;
}
.hoshimatsuri-recommend-item-title h4{
    color: #872f33;
    font-size: 1.25rem;
    letter-spacing: 0.025em;
    margin: 0 1em;
}
.hoshimatsuri-recommend-item p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 2em;
    letter-spacing: 0.025em;
}
.hoshimatsuri-recommend-item .hoshimatsuri-recommend-image,
.hoshimatsuri-recommend-item .hoshimatsuri-recommend-image + p{
    margin-top: 1em;
}
.hoshimatsuri-recommend-sub{
	margin-top: 15px;
}
.hoshimatsuri-recommend-sub h4,
.hoshimatsuri-recommend-sub p{
	text-align: justify;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
}
.hoshimatsuri-recommend-sub h4{
	color: #872f33;
}
.hoshimatsuri-recommend-sub p span,
.hoshimatsuri-recommend-sub p a{
	color: #872f33;
    text-decoration: underline;
}

/*信徒会館改築*/
.dedication-sub-image{
	width: 100%;
	max-width: 1200px;
	height: 800px;
	margin: 80px auto 0;
	position: relative;
}
.dedication-sub-image::after,
.dedication-sub-image::before{
	content: "";
	position: absolute;
	width: 60%;
	height: 60%;
	background-position: center center;
	background-size: cover;
}
.dedication-sub-image::after{
	top: 0;
	right: 0;
	z-index: 0;
	background-image: url("../img/dedication/dedication-image_03.jpg");
}
.dedication-sub-image::before{
	bottom: 0;
	left: 0;
	z-index: 1;
	background-image: url("../img/dedication/dedication-main.jpg");
}

.dedication-contents{
	padding: 160px 0 0;
}
.dedication-current-title,
.dedication-details-title,
.dedicator-title{
	text-align: center;
    color: #872f33;
}
.dedication-current-title h2,
.dedication-details-title h2,
.dedicator-title h2{
	font-size: 2rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.dedication-current-title p,
.dedication-details-title p,
.dedicator-title p{
	margin-top: 15px;
    font-size: 0.85rem;
    letter-spacing: 0.2em;
}
.dedication-current{
	width: 90%;
	max-width: 750px;
	margin: 0 auto;
}
.dedication-current > p{
	font-size: 1rem;
	letter-spacing: 0.13em;
	text-align: right;
}
.dedication-image {
    width: 100%;
}
.dedication-image li{
    width: 100%;
	position: relative;
}
.dedication-image li:not(:last-of-type)::before{
	font: var(--fa-font-solid);
    content: "\f0d7";
    position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translate(-50%,100%);
	font-size: 40px;
	color: #872f33;
}
.dedication-image li:not(:first-of-type){
	margin-top: 80px;
}
.dedication-details-title,
.dedicator-title{
	margin-top: 120px;
}
.dedication-details{
	width: 90%;
	max-width: 1200px;
	margin: 35px auto 0;
}
.dedication-details-table{
	width: 100%;
    background-color: #ffffff;
    border: 3px solid #872f33;
    border-collapse: collapse;
}
.dedication-details-table th,
.dedication-details-table td {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.025em;
    padding: 2em 1.25em;
}
.dedication-details-table th {
    width: 25%;
    color: #ffffff;
    background-color: #872f33;
}
.dedication-details-table tr:not(:last-of-type) th {
    border-bottom: 3px solid #ffffff;
}
.dedication-details-table td {
    width: 75%;
    color: #872f33;
    border-bottom: 3px solid #872f33;
}
p.dedication-details-table-coution{
	margin-top: 20px;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.025em;
}
.dedication-details-sub-table-wrap{
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.dedication-details-sub-table-wrap .table-sec{
	width: calc(50% - 20px);
}
.dedication-details-sub-table-wrap .table-sec h3{
	font-size: 1.1rem;
	letter-spacing: 0.025em;
}
.dedication-details-sub-table{
	width: 100%;
    border: 1px solid #000000;
    border-collapse: collapse;
}
.dedication-details-sub-table th,
.dedication-details-sub-table td{
	text-align: center;
    font-size: 0.9rem;
    letter-spacing: 0.025em;
    padding: 0.75em;
	border: 1px solid #000000;
}
.dedication-details-sub-table th{
	text-align: left;
}
.dedication-details-sub-table td{
	text-align: right;
}
.dedication-application{
	display: block;
	width: 90%;
	max-width: 1200px;
	height: 120px;
	margin: 110px auto 0;
	background-color: #ffffff;
	border: 5px solid #872f33;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	position: relative;
	padding: 0 20px;
	color: #872f33;
	transition: .3s ease;
}
.dedication-application:hover{
	color: #ffffff;
	background-color: #872f33;
}
.dedication-application p{
	text-align: left;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 110px;
	transition: .3s ease;
}
.dedication-application p span{
	margin-left: 2em;
	font-size: 0.75em;
}
.dedication-application::after{
	font: var(--fa-font-solid);
    content: "\f56d";
    position: absolute;
    top: 50%;
    right: 20px;
	transform: translateY(-50%);
    font-size: 60px;
	transition: .3s ease;
}
.dedication-kirie-info{
	width: 90%;
	max-width: 1200px;
	margin: 110px auto 0;
	color: #ffffff;
	background-color: #872f33;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 30px;
}
.dedication-kirie-image{
	width: 450px;
	height: 350px;
	background-image: url("../img/dedication/dedication-kirie.jpg");
	background-position: center center;
	background-size: cover;
}
.dedication-kirie-sentence{
	width: calc(100% - 470px);
}
.dedication-kirie-sentence h3{
	font-size: 1.5rem;
	line-height: 1.5em;
	letter-spacing: 0.025em;
}
.dedication-kirie-sentence p{
	margin-top: 15px;
	text-align: justify;
	font-size: 1rem;
	line-height: 1.8em;
	letter-spacing: 0.025em;
}
.dedicator-list-wrap{
	width: 90%;
	max-width: 1200px;
	margin: 35px auto 0;
}
.dedicator-list-wrap dl:not(:first-of-type){
	margin-top: 40px;
}
.dedicator-list-wrap dl dt{
	display: flex;
	align-items: center;
}
.dedicator-list-wrap dl dt p{
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	color: #872f33;
	margin:0 0.75em;
}
.dedicator-list-wrap dl dt::before,
.dedicator-list-wrap dl dt::after{
	content: "";
	flex-grow: 1;
	height: 1px;
	background-color: #872f33;
}
.dedicator-list-wrap dl dd{
	width: 100%;
	overflow-x: auto;
	margin-top: 12px;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	padding-bottom: 15px;
}
.dedicator-list-wrap dl dd p{
	font-size: 1rem;
	line-height: 1.8em;
	font-weight: 700;
}

/*「厳島御室会館」落慶のご報告と御礼*/
.dedication-thanks-contents{
	padding: 160px 0 0;
}
.dedication-thanks-history,
.dedication-thanks-pay,
.dedication-thanks-dedicator{
	margin-top: 120px;
}
.dedication-thanks-galley-title,
.dedication-thanks-history-title,
.dedication-thanks-pay-title,
.dedication-thanks-dedicator-title{
	text-align: center;
    color: #872f33;
}
.dedication-thanks-galley-title h2,
.dedication-thanks-history-title h2,
.dedication-thanks-pay-title h2{
	font-size: 2rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.dedication-thanks-galley-title p,
.dedication-thanks-history-title p,
.dedication-thanks-pay-title p{
	margin-top: 15px;
    font-size: 0.85rem;
    letter-spacing: 0.2em;
}
.dedication-thanks-dedicator-title h2{
	margin-top: 10px;
	font-size: 2rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.dedication-thanks-dedicator-title p{
    font-size: 1rem;
    letter-spacing: 0.2em;
}
.dedication-thanks-galley-list{
	width: 90%;
    max-width: 1200px;
    margin: 35px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.dedication-thanks-galley-list li{
	width: calc(25% - 15px);
}
.dedication-thanks-galley-list li:nth-of-type(n+5){
	margin-top: 20px;
}
.dedication-thanks-galley-list li a{
	display: block;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background-color: #000000;
    position: relative;
}
.dedication-thanks-galley-list li a::before{
	font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f00e";
    position: absolute;
    bottom: 15px;
    right: 15px;
    z-index: 1;
    color: #ffffff;
    font-size: 20px;
    transition: .3s ease;
}
.dedication-thanks-galley-list li img{
	height: 100%;
    vertical-align: bottom;
    object-fit: cover;
    transition: .3s ease;
}
.dedication-thanks-galley-list li:hover img{
	opacity: 0.5;
}
.dedication-thanks-history-list,
.dedication-thanks-pay-list,
.dedication-thanks-dedicator-list{
	width: 90%;
	max-width: 750px;
	margin: 35px auto 0;
	position: relative;
}
.dedication-thanks-history-list{
	padding: 20px 0 20px 60px;
}
.dedication-thanks-history-list::before{
	content: "";
	position: absolute;
	top: 0;
	left: 30px;
	transform: translateX(-50%);
	width: 2px;
	height: 100%;
	background-color: #872f33;
}
.dedication-thanks-history-list li{
	position: relative;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
.dedication-thanks-history-list li::before{
	content: "";
	position: absolute;
	top: 4px;
	left: -30px;
	z-index: 1;
	transform: translateX(-50%);
	width: 16px;
	height: 16px;
	border: 3px solid #872f33;
	background-color: #ffffff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.dedication-thanks-history-list li:not(:first-of-type){
	margin-top: 30px;
}
.dedication-thanks-pay-list h3{
	text-align: center;
	color: #872f33;
	font-size: 1.5rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.dedication-thanks-pay-list > ul{
	margin-top: 30px;	
}
.dedication-thanks-pay-list > ul li{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.dedication-thanks-pay-list > ul li:nth-of-type(n+2){
	margin-top: 30px;
}
.dedication-thanks-pay-list > ul li .data {
	position: relative;
	padding-right: 0.5em;
	white-space: nowrap;
	order: 0;
	font-weight: 500;
	letter-spacing: 0.025em;
}
.dedication-thanks-pay-list > ul li::before{
	content: "";
	flex-grow: 1;
	height: 1px;
	border-bottom: 1px dotted #242424;
	position: relative;
	order: 1;
}
.dedication-thanks-pay-list > ul li .amount{
	white-space: nowrap;
	padding-left: 0.5em;
	order: 2;
	position: relative;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.025em;
}
.dedication-thanks-pay-list > ul li .amount p{
	position: absolute;
	bottom: 0;
	right: 0;
	transform: translateY(100%);
	font-size: 0.7rem;
}
p.total-amount{
	margin-top: 30px;
	text-align: center;
	color: #872f33;
	font-size: 1.5rem;
    letter-spacing: 0.025em;
    line-height: 1em;
}
.dedication-thanks-pay-list + p{
	margin-top: 40px;
	text-align: center;
	color: #872f33;
	font-size: 1.5rem;
    letter-spacing: 0.025em;
    line-height: 1.8em;
}
.dedication-thanks-dedicator-list dl:not(:first-of-type){
	margin-top: 30px;
}
.dedication-thanks-dedicator-list dt,
.dedication-thanks-dedicator-list dd{
	font-size: 1rem;
	line-height: 1.5em;
    font-weight: 500;
    letter-spacing: 0.025em;
	text-align: justify;
}
.dedication-thanks-dedicator-list dt{
	color: #872f33;
}
a.dedication-thanks-link{
	display: block;
	width: 90%;
	max-width: 750px;
	margin: 30px auto 0;
	height: 100px;
	color: #872f33;
	background-color: #ffffff;
	border: 3px solid #872f33;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 94px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	transition: .3s ease;
}
a.dedication-thanks-link:hover{
	color: #ffffff;
	background-color: #872f33;
}



/*参拝方法*/
.manner-video-link{
	width: 90%;
	max-width: 1200px;
	margin: 85px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.manner-video-link li{
	width: calc(50% - 10px);
}
.manner-video-link li:nth-of-type(n+3){
	margin-top: 20px;
}
.manner-video-link li a{
	display: block;
	width: 100%;
	color: #ffffff;
	background-color: #872f33;
	padding: 1em;
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 0.13;
}
.manner-video-contents{
	width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
    padding-bottom: 40px;
    position: relative;
}
.manner-video-contents::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 300px;
    background-color: #e0ded7;
}
.manner-video-title{
	display: flex;
    justify-content: space-between;
    align-items: center;
    color: #872f33;
}
body.shakyo .manner-video-title{
	margin-top: 120px;
}
.manner-video-title::before,
.manner-video-title::after{
	content: "";
    flex-grow: 1;
    height: 3px;
    background-color: #872f33;
}
.manner-video-title h3{
	font-size: 1.75rem;
    letter-spacing: 0.025em;
    line-height: 1em;
    margin: 0 2em;
}
.manner-video-title + p{
	text-align: center;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
    margin-top: 30px;
}
body.shakyo .manner-video-title + p{
	text-align: justify;
}
.manner-video{
	margin: 30px auto 0;
	width: 90%;
    max-width: 750px;
    position: relative;
	overflow: hidden;
    z-index: 1;
}
.manner-video video{
	width: 100%;
}


/*座禅体験*/
.zazen-experience,
.zazen-experience-info{
    width: 90%;
    max-width: 1200px;
    margin: 120px auto 0;
}
.zazen-experience-title{
	width: 100%;
    height: 80px;
    color: #ffffff;
    background-color: #872f33;
    font-size: 1.75rem;
    letter-spacing: 0.13em;
    line-height: 80px;
    text-align: center;
}
.zazen-experience-list-wrap{
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 70px auto 0;
	padding-left: 60px;
}
.zazen-experience-list-wrap::before{
	content: "";
	position: absolute;
	top: 0;
	left: 30px;
	z-index: 0;
	transform: translateX(-50%);
	width: 3px;
	height: 100%;
	background-color: #872f33;
}
.zazen-experience-list li{
	position: relative;
}
.zazen-experience-list li:not(:first-of-type){
	margin-top: 80px;
}
.zazen-experience-list li::before{
	content: "";
	position: absolute;
	top: 0;
	left: -30px;
	z-index: 1;
	transform: translateX(-50%);
	width: 35px;
	height: 35px;
	background-color: #ffffff;
	border: 3px solid #872f33;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.zazen-experience-list p{
	text-align: justify;
    font-size: 1rem;
    font-weight: 600;
    line-height: 2em;
    letter-spacing: 0.025em;
}
.zazen-experience-list p + img{
	margin-top: 20px;
}
.zazen-experience-table{
	margin-top: 70px;
}
.zazen-experience-table table{
    width: 100%;
    background-color: #ffffff;
    border: 3px solid #872f33;
    border-collapse: collapse;
}
.zazen-experience-table table th,
.zazen-experience-table table td {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    padding: 2em 1.25em;
}
.zazen-experience-table table th {
    width: 35%;
    color: #ffffff;
    background-color: #872f33;
}
.zazen-experience-table table tr:not(:last-of-type) th{
    border-bottom: 3px solid #ffffff;
}
.zazen-experience-table table td {
    width: 65%;
    color: #872f33;
    border-bottom: 3px solid #872f33;
}


/*写経体験と写仏体験*/
.zazen-experience h4{
	margin-top: 25px;
	text-align: center;
	color: #872f33;
	font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.025em;
	text-decoration: underline;
}




/*調整用*/
@media screen and (max-width:1000px) {

}

/*スマートフォン*/
@media screen and (max-width:780px) {
	/*ページについての説明*/
	.about-page-sentence h2{
		font-size: 0.8rem;
	}
	.about-page-movie-wrap{
		margin: 40px auto 0;
		padding-bottom: 20px;
	}
	.about-page-movie-wrap::after{
		height: 150px;
	}
	.about-page-movie-wrap h2{
		font-size: 1.3rem;
	}
	body.sanki .about-page-movie-wrap h2{
		font-size: 1.1rem;
	}
	.about-page-movie{
		margin: 20px auto 0;
	}
	.about-page-movie iframe{
		height: 220px;
	}
	.form-all-wrap{
		margin: 80px auto 0;
	}
	.form-info-title::before,
	.form-info-title::after,
	.form-contents-block-title::before,
	.form-contents-block-title::after{
		height: 1px;
	}
	.form-info-title h3,
	.form-contents-block-title h5{
		font-size: 1.1rem;
		margin: 0 1em;
	}
	.form-block.applicant_form{
		padding: 25px 15px;
	}
	.form-info > p,
	.form-contents-wrap > p{
		font-size: 0.8rem;
	}
	.form-info > h4{
		font-size: 1.1rem;
	}
	.form-info-link{
		font-size: 1.1rem;
		height: 60px;
		line-height: 60px;
	}
	.form-info + .form-info{
		margin-top: 70px;
	}
	.form-contents-title{
		font-size: 0.9rem;
		height: 60px;
		line-height: 60px;
		letter-spacing: 0.025em;
	}
	.form-contents-block{
		margin-top: 55px;
	}
	.form-block dt{
		font-size: 0.9rem;
		letter-spacing: 0em;
	}
	.form-block dt .required{
		display: inline-block;
		margin-left: 8px;
		font-size: 0.7rem;
	}
	.form-block dd input{
        width: 100%;
    }
	.form-block dd input[name="zip1"],
	.form-block dd input[name="zip2"],
	.form-block dd input[name="tel1"],
	.form-block dd input[name="tel2"],
	.form-block dd input[name="tel3"],
	.form-block dd input[type="number"]{
		width: auto;
	}
	.form-block dd input[name="toshi"],
	.form-block dd input[name="kazoe2"]{
		width: 80px;
	}
	.form-block dd input + span{
		margin: 0 5px;
	}
	.form-block dd input[type="radio"] + span{
		margin: 20px 0 0;
	}
	.form-block dd select,
	.form-block dd input,
	.form-block dd textarea{
		padding: 0.5em 0.25em;
		-webkit-border-radius: 3px;
		border-radius: 3px;
	}
	.form-block dd .item-label{
		-webkit-border-radius: 3px;
		border-radius: 3px;
	}
	.form-block dd select{
		padding: 0.5em 3em 0.5em 0.25em;
	}
	
	/*三鬼大権現祈祷ページ*/
	.sanki-info-table{
		margin: 40px auto 0;
	}
	.sanki-info-table table th,
	.sanki-info-table table td{
		font-size: 0.9rem;
	}
	.sanki-info-table-foot{
		margin-top: 25px;
	}
	ul.sanki-illust-info li{
		width: 100%;
	}
	ul.sanki-illust-info li:nth-of-type(n+1){
		margin-top: 15px;
	}
	ul.sanki-illust-info li img{
		height: auto;
	}
	ul.sanki-illust-info li p{
		font-size: 0.8rem;
	}
	.sanki-info-table-foot > p{
		font-size: 0.9em;
		text-align: left;
		margin-top: 15px;
	}
	
	/*生誕記念御札ページ*/
	.seitan-info{
		margin: 40px auto 0;
		padding: 20px;
	}
	.seitan-info p{
		font-size: 0.8rem;
	}
	.seitan-info p.main{
		font-size: 1rem;
	}
	.seitan-gallery-wrap{
		margin: 40px auto 0;
	}
	ul.seitan-gallery li{
		width: calc(50% - 8px);
	}
	ul.seitan-gallery li:nth-of-type(n+3){
		margin-top: 15px;
	}
	
	/*星まつりのご案内*/
	.hoshimatsuri-info{
		margin: 40px auto 0;
		padding: 35px 20px 20px;
	}
	.hoshimatsuri-info p,
	.hoshimatsuri-recommend-item p,
	.hoshimatsuri-recommend-sub h4,
	.hoshimatsuri-recommend-sub p{
		font-size: 0.8rem;
	}
	.hoshimatsuri-info p.main{
		font-size: 0.9rem;
	}
	.hoshimatsuri-table,
	.hoshimatsuri-recommend{
		margin: 50px auto 0;
	}
	.hoshimatsuri-table div + h4{
		margin-top: 30px;
	}
	.hoshimatsuri-table-inner > p{
		font-size: 0.8rem;
		font-weight: 500;
		padding-bottom: 5px;
	}
	#year_table{
		 table-layout: fixed;
    }
    #year_table th{
		width: 80px;
    }
    .scroll {
		overflow-x: scroll;
		height: 80vh;
    }
	.hoshimatsuri-recommend-item{
		margin: 40px auto 0;
		padding: 35px 20px 20px;
	}
	.hoshimatsuri-recommend-sub h4{
		text-align: center;
	}
	
	/*信徒会館改築*/
	.about-page-sentence p{
		font-size: 0.8rem;
	}
	.dedication-sub-image{
		margin-top: 40px;
		height: 300px;
	}
	.dedication-contents{
		padding: 80px 0 0;
	}
	.dedication-current-title h2,
	.dedication-details-title h2,
	.dedicator-title h2{
		font-size: 1.5rem;
	}
	.dedication-current-title p,
	.dedication-details-title p,
	.dedicator-title p{
		margin-top: 10px;
        font-size: 0.7rem;
	}
	.dedication-current > p{
		font-size: 0.9rem;
		margin-right: 0.25em;
	}
	.dedication-details-title,
	.dedicator-title{
		margin-top: 80px;
	}
	.dedication-details-table th, 
	.dedication-details-table td{
        display: block;
        font-size: 1rem;
        padding: 1.25em;
        width: 100%;
        border-bottom: none;
    }
	p.dedication-details-table-coution{
		font-size: 0.8rem;
	}
	.dedication-application{
		margin-top: 60px;
		height: auto;
		border: 3px solid #872f33;
		padding: 15px;
	}
	.dedication-application p{
		position: initial;
		font-size: 1rem;
		line-height: 1em;
	}
	.dedication-application p span{
		display: block;
		line-height: 1em;
		margin-left: 0em;
		margin-top: 8px;
	}
	.dedication-application::after{
		right: 15px;
		font-size: 35px;
	}
	.dedication-kirie-info{
		margin-top: 60px;
		padding: 15px;
	}
	.dedication-kirie-image{
		width: 100%;
		height: 250px;
	}
	.dedication-kirie-sentence{
		margin-top: 15px;
		width: 100%;
	}
	.dedication-kirie-sentence h3{
		font-size: 1rem;
	}
	.dedication-kirie-sentence p{
		font-size: 0.8rem;
		margin-top: 8px;
	}
	.dedication-details-sub-table-wrap .table-sec{
		width: 100%;
	}
	.dedication-details-sub-table-wrap .table-sec:nth-of-type(2){
		margin-top: 25px;
	}
	.dedication-details-sub-table-wrap .table-sec h3{
		font-size: 0.9rem;
	}
	.dedication-details-sub-table th,
	.dedication-details-sub-table td{
		font-size: 0.8rem;
	}
	.dedicator-list-wrap dl dt p{
		font-size: 1rem;
	}
	.dedicator-list-wrap dl dd p{
		font-size: 0.9rem;
	}
	
	/*「厳島御室会館」落慶のご報告と御礼*/
	.dedication-thanks-contents{
		padding-top: 80px;
	}
	.dedication-thanks-galley-title h2,
	.dedication-thanks-history-title h2,
	.dedication-thanks-pay-title h2{
		font-size: 1.5rem;
	}
	.dedication-thanks-galley-title p,
	.dedication-thanks-history-title p,
	.dedication-thanks-pay-title p{
		margin-top: 10px;
		font-size: 0.7rem;
	}
	.dedication-thanks-dedicator-title p{
		font-size: 0.9rem;
	}
	.dedication-thanks-galley-list li{
		width: calc(50% - 7.5px);
	}
	.dedication-thanks-galley-list li a{
		height: 150px;
	}
	.dedication-thanks-galley-list li:nth-of-type(n+3){
		margin-top: 15px;
	}
	.dedication-thanks-history,
	.dedication-thanks-pay,
	.dedication-thanks-dedicator{
		margin-top: 80px;
	}
	.dedication-thanks-history-list{
		padding: 10px 0 10px 30px;
	}
	.dedication-thanks-history-list::before{
		left: 15px;
	}
	.dedication-thanks-history-list li::before{
		left: -15px;
	}
	.dedication-thanks-history-list li{
		letter-spacing: 0.025em;
	}
	.dedication-thanks-history-list li:not(:first-of-type){
		margin-top: 20px;
	}
	.dedication-thanks-pay-list h3{
		font-size: 1rem;
	}
	.dedication-thanks-pay-list > ul li .amount p{
		font-size: 10px;
	}
	p.total-amount{
		font-size: 1.2rem;
	}
	.dedication-thanks-pay-list + p{
		font-size: 1rem;
	}
	.dedication-thanks-dedicator-list dd{
		margin-top: 10px;
		font-size: 0.85rem;
	}
	body.dedication-thanks #lightcase-case,
	body.dedication-thanks .lightcase-contentInner,
	body.dedication-thanks .lightcase-contentInner img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: auto !important;
        object-fit: cover;
    }
	a.dedication-thanks-link{
		height: 60px;
		font-size: 1rem;
		line-height: 56px;
		border-width: 2px;
	}
	
	
	/*参拝方法*/
	.manner-video-link{
		margin-top: 40px;
	}
	.manner-video-link li{
		width: 100%;
	}
	.manner-video-link li:nth-of-type(n+2){
		margin-top: 15px;
	}
	.manner-video-link li a{
		font-size: 1rem;
	}
	.manner-video-contents{
		margin-top: 60px;
		padding-bottom: 20px;
	}
	.manner-video-contents::after{
		height: 150px;
	}
	.manner-video-title{
		width: 90%;
		margin: 0 auto;
	}
	body.shakyo .manner-video-title{
		margin-top: 80px;
	}
	.manner-video-title::before,
	.manner-video-title::after{
		height: 1px;
	}
	.manner-video-title h3{
		font-size: 1.1rem;
		margin: 0 1em;
	}
	.manner-video-title + p{
		width: 90%;
		margin: 30px auto 0;
		text-align: justify;
		font-size: 0.8rem;
	}
	body.shakyo .manner-video-title + p{
		width: 100%;
	}
	
	/*座禅体験*/
	.zazen-experience,
	.zazen-experience-info{
		margin-top: 80px;
	}
	.zazen-experience-title{
		font-size: 0.9rem;
        height: 60px;
        line-height: 60px;
        letter-spacing: 0.025em;
	}
	.zazen-experience-list-wrap{
		margin-top: 30px;
		padding-left: 30px;
	}
	.zazen-experience-list-wrap::before{
		left: 15px;
		width: 2px;
	}
	.zazen-experience-list li::before{
		left: -15px;
		width: 20px;
		height: 20px;
		border-width: 2px;
	}
	.zazen-experience-list p{
		font-size: 0.8rem;
	}
	.zazen-experience-list li:not(:first-of-type){
		margin-top: 40px;
	}
	.zazen-experience-table{
		margin-top: 30px;
	}
	.zazen-experience-table table th,
	.zazen-experience-table table td{
		display: block;
        font-size: 0.9rem;
        padding: 1.25em;
        width: 100%;
        border-bottom: none;
	}
	
	/*写経体験と写仏体験*/
	.zazen-experience h4{
		text-align: justify;
		font-size: 0.9rem;
	}
}