@charset "UTF-8";

@font-face {
	font-family: "源ノ明朝";
	src: url("../font/SourceHanSerifJP-Medium.woff") format("woff"), url("../font/SourceHanSerifJP-Medium.otf") format("opentype");
	font-display: swap;
}

@font-face {
	font-family: "DIN1451";
	src: url("../font/din1451.woff") format("woff"), url("../font/din1451.otf") format("opentype");
	font-display: swap;
}

@font-face {
	font-family: "HG正楷書体-PRO";
	src: url("../font/hgrskp.woff2") format("woff2"), url("../font/hgrskp.woff") format("woff");
	font-display: swap;
}

/********************************************
    共通：ピンチアウト禁止
*********************************************/
/*
html {
    touch-action: manipulation;
}
*/
.windowWidth {
	flex-direction: row;
}

/********************************************
    共通：描画領域設定
*********************************************/
/*-----  サイト幅  */
.siteWidth {
	/* PC & TB & SP */
	width: 98%;
	margin: 0 auto;
	max-width: 1200px;

	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/*-----  コンテンツ幅  */
.contentsWidth {
	/* PC & TB & SP */
	max-width: 1100px;
}

.contentsWidth_50p {
	/* PC & TB & SP */
	max-width: 550px;
}

.contentsWidth_60p {
	/* PC & TB & SP */
	max-width: 660px;
}

.contentsWidth_70p {
	/* PC & TB & SP */
	max-width: 770px;
}

/********************************************
    共通：フォント設定
*********************************************/
/*-----  既定の設定 */
body {
	font-family: "Noto Sans Japanese", sans-serif;
}

/*-----  個別フォント設定 
    Hiragino Sans の代わりに Noto Sans */
.FNT_Serif {
	/* 明朝 */
	font-family: "Noto Serif JP", serif;
	font-style: normal;
}

.FNT_GenMincho {
	font-family: "源ノ明朝", serif;
	font-style: normal;
}

.FNT_DIN1451 {
	font-family: "DIN1451", sans-serif;
	font-style: normal;
}

.FNT_HGKaisho {
	font-family: "HG正楷書体-PRO", sans-serif;
	font-style: normal;
}

/********************************************
    共通：書式設定
*********************************************/
/*-----  文字フロー  */
.FMT_WordFlow_JP {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

/*-----  カテゴリー背景色 */
.FMT_categoryRed {
	background-color: #c11920;
}
.FMT_categoryBlue {
	background-color: #5c8896;
}
.FMT_categoryYellow {
	background-color: #d2a143;
}

/*-----  太字 */
.FMT_fontWeight__semibold {
	font-weight: 400;
}

.FMT_fontWeight__bold {
	font-weight: 900;
}

/*-----  文字配置 */
.FMT_textAlign__center {
	text-align: center;
}

.FMT_textAlign__right {
	text-align: right;
}

/********************************************
    共通：マージン・パディング
*********************************************/
.MG_topLarge {
	margin-top: 50px;
}

.MG_topMiddle {
	margin-top: 30px;
}

.MG_topSmall {
	margin-top: 15px;
}

.MG_bottomLarge {
	margin-bottom: 50px;
}

.MG_bottomMiddle {
	margin-bottom: 30px;
}

.MG_bottomSmall {
	margin-bottom: 15px;
}

/********************************************
    共通：ボタンパーツ
*********************************************/
/*----- Link Button Pattern 1
                -> ex.[ お知らせ一覧 ] */
.link_button01 {
	text-align: center;

	display: block;
	width: 255px;
	height: 50px;

	background-color: #fff;
	border: 1px solid #000;

	margin: 0 auto;
	position: relative;

	z-index: 2;
}

.link_button01_text span:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	right: 15px;
	content: ">";
}

.link_button01_text {
	content: "";
	display: block;
	width: 255px;
	height: 50px;
	padding: 10px;
	font-size: 14px;
	position: absolute;
	top: -5px;
	left: -5px;
	border: 3px double #fff;
	background-color: #000;
	color: #fff;
	transition: all 500ms;
}

.link_button01_text:hover {
	top: 0;
	left: 0;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	background-color: #fff;
	color: #000;
}
/* //Link Button Pattern 1 */

/*----- Link Button Pattern 2
                -> ex.[ 詳しく見る ] */
.link_button02 {
	flex: 0 0 90%;

	text-align: center;
	vertical-align: middle;
	background: #000;
	color: #fff;
	border: none;
	position: relative;
	/*    font-size:12px; */
	font-size: 2.5vw;
	padding: 10px 10px;
	cursor: pointer;
	transition: 800ms ease all;
	outline: none;

	margin-top: 10px;
	margin-bottom: 30px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.link_button02 {
		flex: 0 0 170px;

		/* height: 50px; */
		margin-bottom: 0;
		font-size: 17px;
		padding: 8px 10px;
	}
}

.link_button02:hover {
	background: #fff;
	color: #000;
}

.link_button02:before,
.link_syosai:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 2px;
	width: 0;
	background: #fff;
	transition: 400ms ease all;
}

.link_button02:after {
	right: inherit;
	top: inherit;
	left: 0;
	bottom: 0;
}

.link_button02:hover:before,
.link_button02:hover:after {
	width: 100%;
	transition: 800ms ease all;
}

/********************************************
    共通：テキスト枠
*********************************************/
/* Text Frame Pattern 1 */
.Frame_Text01 {
	border: 4px double #ccc;
	margin-left: 4vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.Frame_Text01 {
		margin-left: 0;
	}
}

/* Text Frame Pattern 2 */
.Frame_Text02 {
	margin: 2em 0;
	position: relative;
	padding: 0.25em 0.75em;
	border-top: solid 2px black;
	border-bottom: solid 2px black;
}

.Frame_Text02:before,
.Frame_Text02:after {
	content: "";
	position: absolute;
	top: -10px;
	width: 2px;
	height: -webkit-calc(100% + 20px);
	height: calc(100% + 20px);
	background-color: black;
}

.Frame_Text02:before {
	left: 10px;
}

.Frame_Text02:after {
	right: 10px;
}

.Frame_Text02 p {
	margin: 0;
	padding: 0;
	background-color: #e6e6e6;

	font-size: 26px;
	text-align: center;
}

/* Text Frame Pattern 3 */
.Frame_Text03 {
	background-color: #000;
	color: #fff;
	display: inline-block;
	transform: skewX(-30deg);
}

/*----- 傾けた文字を戻す */
.Return_Frame_Text03 {
	display: inline-block;
	transform: skewX(30deg);
}

/*----- Text Frame Pattern 4 */
.Frame_Text04 {
	text-align: center;

	display: block;
	background-color: #fff;
	border: 1px solid #000;

	position: relative;

	z-index: 2;
}

.Frame_Text04_text {
	content: "";
	display: block;
	padding: 10px;
	font-size: 14px;
	position: absolute;
	top: -5px;
	left: -5px;
	border: 3px double #fff;
	background-color: #000;
	color: #fff;
	transition: all 500ms;
}

/********************************************
    共通：各セクションの上下余白設定
*********************************************/
.SectionMargin {
	margin-top: 1.5vh;
	margin-bottom: 1.5vh;
	padding-top: 3vh;
	padding-bottom: 3vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SectionMargin {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 4vh;
		padding-bottom: 4vh;
	}
}

/********************************************
    共通：セクションの背景設定
*********************************************/
.SectionBackground_Gray {
    background-color:rgba(0, 0, 0, 0.2);
    background-blend-mode:darken;
}
@media screen and (max-width: 1199px) {
	.SectionBackground_Gray.__spNone {
		background-image: none;
		background-color: #fff;
	}
}

.SectionBackground_Gold {
	background-image: url(../image/common/bg_gold.png);
	background-repeat: repeat;
}
@media screen and (max-width: 1199px) {
	.SectionBackground_Gold.__spNone {
		background-image: none;
		background-color: #fff;
	}
}


.sp_none {
	display: none;
}

/*--- br -> PCの場合改行しない */
@media screen and (min-width: 1200px) {
	/* PC */
	.sp_none {
		display: block;
	}
	.pc_none {
		display: none;
	}
}

/********************************************
    共通：トップへ戻るボタン
*********************************************/
#topBtn {
	/*-----必須-----*/
	position: fixed;
	bottom: 10px;
	right: 10px;

	/*-----装飾-----*/
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background-color: #dab300;
	color: #000;
}

.arrow-top {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-top: 16px;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	transform: rotate(45deg);
}

.footer {
	position: relative;
}

/********************************************
 ********************************************
    TOPページ
        ページ内共通
        Header Section        topHeader
        ナビゲーション  nav
        お知らせ        topInfo
        各種ご案内      topGuide
        年間行事        topSchedule
        お守り          topAmulet
 ********************************************
*********************************************/

/*--------------------------------
    ページ内共通：タイトル領域
----------------------------------*/
.topSection_TitleBox {
	/* SP */
	flex: 1 0 100%;
	width: 100%;
	margin-bottom: 5vh;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topSection_TitleBox {
		flex: 0 0 5%;
	}
}

/*----- ロゴ */
.topSection_TitleBox > img {
	width: 10vw;
	margin-bottom: 1vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topSection_TitleBox > img {
		width: 3vw;
		margin-bottom: 0.8vw;
	}
}

/*----- テキスト */
.topSection_TitleBox > h2 {
	text-align: center;
	letter-spacing: 0.1rem;
	font-weight: normal;
	font-size: 3.16vw;
}
.topSection_TitleBox > h2 > span {
	display: inline-block;
	line-height: 1;
	margin-bottom: 1.5vw;
	font-size: 6vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topSection_TitleBox > h2 {
		font-size: 19px;
		writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		letter-spacing: 0;
	}
	.topSection_TitleBox > h2 > span {
		font-size: 33px;
		margin-bottom: 1vh;
	}
}

/*--------------------------------
    ページ内共通：コンテンツ領域
----------------------------------*/
.topSection_ContentsBox {
	flex: 0 0 100%;
	width: 100%;
	margin-bottom: 5vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topSection_ContentsBox {
		justify-content: flex-start;
		flex: 1 1 80%;
	}
}

/*--------------------------------
    ページ内共通：タイトルボックスとコンテンツボックスの位置関係
----------------------------------*/
/* SP -> 縦並び */
.topTitle_Right {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
/* PC -> 左：コンテンツ、右：タイトル */
@media screen and (min-width: 1200px) {
	/* PC */
	.topTitle_Right {
		/* justify-content: flex-start; */
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: flex-start;
	}
}

/* SP -> 縦並び */
.topTitle_Left {
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
/* PC -> 左：コンテンツ、右：タイトル */
@media screen and (min-width: 1200px) {
	/* PC */
	.topTitle_Left {
		justify-content: flex-start;
		flex-direction: row;
		align-items: flex-start;
	}
}

/*--------------------------------
    Header Section
----------------------------------*/
/*-----  全体 */
#topHeader {
	width: 100%;
}

/*-----  背景 */
.topHeader_VisualBlock {
	width: 100%;
	height: 95vh;
	background-color: #000;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_VisualBlock {
		height: 100vh;
	}
}

/*-----  背景画像 */
.topHeader_VisualBlock img {
	width: 100%;
	height: 95vh;
	object-fit: cover;
	object-position: 50% 50%;
	opacity: 0.9;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_VisualBlock img {
		height: 100vh;
	}
}

/*-----  中央ロゴ領域 */
.topHeader_LogoWrapper {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	z-index: 10;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_LogoWrapper {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		z-index: 10;
	}
}

/*-----  中央ロゴ */
.topHeader_LogoBox {
	/*    width: 100%; */
	max-width: 24vw;
	margin: 8vh auto 0;
	height: 80vh;
}
.topHeader_LogoBox img {
	width: 100%;
}
@media screen and (max-width: 1200px) and (orientation: landscape) {
	/* 横向き */
	.topHeader_LogoBox {
		max-width: 6.5vw;
		margin-top: 5vh;
	}
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_LogoBox {
		width: 8vw;
		max-width: 150px;
		margin-top: 10vh;
	}
}

/*-----  キャッチコピー */
.topHeader_CopyBox {
	top: 8vh;
	right: 5vw;

	position: absolute;
	line-height: 220%;
	color: #fff;
	font-size: 3.5vw;
	letter-spacing: 5px;
}
@media screen and (max-width: 1200px) and (orientation: landscape) {
	/* 横向き */
	.topHeader_CopyBox {
		top: 0;
		margin-top: 5vh;
		font-size: 2vw;
	}
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_CopyBox {
		top: 10vh;
		right: 0;
		font-size: 34px;
	}
}

/*-----  スクロールアニメーション */
.topHeader_scroll {
	width: 100%;
	position: absolute;
	bottom: 10%;
	left: 0;
	z-index: 30;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topHeader_scroll {
		bottom: 5%;
		left: 0;
	}
}
.topHeader_scroll p {
	font-size: 1rem;
	letter-spacing: 0;
	text-align: center;
	color: #ffffff;
	position: relative;
}
.topHeader_scroll p::before {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	margin: auto;
	width: 7px;
	height: 7px;
	border: 3px solid #fff;
	border-left: none;
	border-top: none;
	transform: rotate(45deg);
	animation: topScroll 1.5s linear 0s infinite;
}
@keyframes topScroll {
	0% {
		transform: translateY(0%) rotate(45deg);
	}
	100% {
		transform: translateY(250%) rotate(45deg);
	}
}

/*--------------------------------
    Navigation Section
----------------------------------*/
#topNavi_PC {
	background-color: #000;
	display: none; /*-> PC版は非表示 */

	width: 100%;
}

/*-----  PC用ナビゲーション テキストリンク */
.topNavi_PC_NaviWrapper {
	margin: 0 auto;

	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
}
.topNavi_PC_NaviTxtBox {
	flex: 0 0 85%;

	margin: 0 auto;
	height: 80px;

	font-size: 17px;
	letter-spacing: 2px;

	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
}
.topNavi_PC_Link {
	position: relative;
	text-decoration: none;
	color: #fff;
}
.topNavi_PC_Link::before {
	content: "";
	position: absolute;
	bottom: 5px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	opacity: 0;
}
.topNavi_PC_Link:hover::before {
	opacity: 1;
	bottom: -2px;
}

.subMenu_Fix {
	position: fixed;
	z-index: 100;
}
.subMenu_Style {
	flex: 0 0 100%;
	/*SNS開設時    flex:0 0 85%; */
}
.subMenu_Style > a:nth-child(1) {
	flex: 0 0 20%;
	margin-right: auto;
}
.subMenu_Style > a:nth-child(1) > img {
	width: 100%;
}
.subMenu_Style > a:nth-child(n + 2) {
	margin-right: 40px;
}

/*-----  PC用ナビゲーション アイコンリンク */
.topNavi_PC_NaviIconBox {
	flex: 0 0 5%;

	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
.snsIcon {
	background-color: #fff;
	color: #000;
	border-radius: 50%;
	padding: 10px;
	font-size: 24px;
	margin-left: 1vw;
	transition: all 0.1s ease 0s;
}
.snsIcon:hover {
	font-size: 30px;
	padding: 7px;
}

/*----- スマホ用ナビゲーション */
#topNavi_SP {
	position: fixed;
	height: 100vh;
	width: 60%;
	left: -60%;
	top: 0;
	background: #ffffff;
	transition: 0.7s;
	z-index: 50;
}
#topNavi_SP ul {
	padding-top: 80px;
}
#topNavi_SP ul li {
	list-style-type: none;
	font-size: 16px;
}
#topNavi_SP a {
	display: block;
	text-decoration: none;
	color: #000000;
	margin: 0 15px;
	padding: 10px;
	transition: 0.5s;
}
#topNavi_SP li a:hover {
	color: #ffffff;
	background: #666;
	border-bottom: none;
}
#hamburger {
	display: block;
	position: fixed;
	top: 20px;
	left: 20px;
	width: 46px;
	height: 44px;
	cursor: pointer;
	transition: 1s;
	background-color: #fff;
	z-index: 50;
}
.inner_line {
	display: block;
	position: absolute;
	left: 0;
	width: 25px;
	height: 3px;
	background-color: #ffffff;
	background-color: #000;
	transition: 1s;
	border-radius: 4px;
	left: 11px;
}
#line1 {
	top: 10px;
}
#line2 {
	top: 20px;
}
#line3 {
	bottom: 10px;
}
.in {
	transform: translateX(100%);
}
.line_1,
.line_2,
.line_3 {
	background: #000000;
}
.line_1 {
	transform: translateY(10px) rotate(-45deg);
	top: 10px;
}
.line_2 {
	opacity: 0;
}
.line_3 {
	transform: translateY(-10px) rotate(45deg);
	bottom: 10px;
}
.mailto_link {
	display: inline-block !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0.5em !important;
	padding-top: 5px !important;
	padding-bottom: 5px !important;
	padding-left: 0 !important;
	padding-right: 0.5em !important;
}

/*----- 問合せについて */
.topNavi_SP_InquryBox {
	margin: 10px 1.5em 0;
	border: 1px solid #333;
	padding: 10px;
	line-height: 180%;
	width: 50vw;
	font-size: 13px;
}

.topNavi_SP_InquryBox .InquryTitle {
	font-size: 16px;
	line-height: 220%;
}
.topNavi_SP_InquryBox .InquryCaution {
	font-size: 12px;
}

/*---- メニュー表示制御 */
@media screen and (min-width: 1200px) {
	/* PC */
	#nav {
		display: none;
	}
	#hamburger {
		display: none;
	}
	#topNavi_PC {
		display: inline-block;
	}
}
#nav-sticky {
	position: sticky;
}

/*--------------------------------
    Information Section
----------------------------------*/
.topInfoContents {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	/*    align-items: flex-start; */

	/*    width: 96%; */
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topInfoContents {
		width: 96%;
		margin-left: 4%; /* 20220317 */
	}
}

.topInfo_ArticleBox {
	flex: 0 0 48%;
	margin-bottom: 3vh;

	/*
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
*/
	border: 1px solid #fff;
	padding: 15px;
	box-shadow: 0 1.9px 2.5px rgba(0, 0, 0, 0.057), 0 5px 6.1px rgba(0, 0, 0, 0.076), 0 10.1px 11.4px rgba(0, 0, 0, 0.086), 0 19.2px 19.8px rgba(0, 0, 0, 0.092), 0 38.4px 34.8px rgba(0, 0, 0, 0.1), 0 101px 74px rgba(0, 0, 0, 0.13);

	position: relative;
	padding-bottom: 4em;
}
.topInfo_ArticleBox:hover {
	background-color: #e9e9e9;
}

.topInfo_ArticleBox.is-empty {
	background-color: #fff;
	box-shadow: none;
	height: 0;
	margin-bottom: 0;

	display: none;
}

/*-----  記事画像 */
.topInfo_ArticleBox img {
	width: 100%;
	min-height: 200px;
	object-fit: cover;
	margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topInfo_ArticleBox {
		flex-direction: row;
		justify-content: space-around;

		/* flex: 0 0 29%; 20200317*/
		flex: 0 0 90%;
		margin-bottom: 10px;
	}
	.topInfo_ArticleBox:nth-child(3n) {
		margin-right: 0;
	}
	.topInfo_ArticleBox img {
		margin-bottom: 10px;
		height: 280px;
	}
}

/*-----  記事日付 */
.topArticle_Date {
	flex: 0 1 10%;
	/* font-size: 3.4vw; */
	font-size: 5.1vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topArticle_Date {
		font-size: 23px;
		letter-spacing: 2px;
	}
}

/*-----  記事カテゴリー */
.topArticle_Category {
	flex: 1 0 100%;
	width: 100%;
	text-align: center;
	padding: 5px 0;
	color: #fff;
	font-size: 2.4vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topArticle_Category {
		flex: 0 0 50%;
		font-size: 17px;
	}
}

/*-----  記事タイトル */
.topArticle_Title {
	width: 100%;
	font-weight: 900;
	/* font-size: 2.5vw; */
	font-size: 4vw;
	border-top: 1px solid #ccc;
	/* margin-top: 10px; */
	/* padding: 10px 0 10px; */
	text-decoration: underline;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topArticle_Title {
		font-size: 17px;
		margin-top: 0.5vw;
		padding: 10px 0 10px;
		text-decoration: none;
	}
}

/*-----  記事内容 */
/*.topArticle_Contents,*/
.topInfo_ArticleBox > p:nth-child(5) {
	/*    border-top: 1px solid #ccc; */
	/*    padding-top:1.6vw; */
	overflow-y: hidden;
	font-size: 2.8vw;
	width: 100%;
	/*    height: 15vh; */
	overflow: hidden;
}
@media screen and (min-width: 1200px) {
	/* PC */
	/*    .topArticle_Contents, */
	.topInfo_ArticleBox > p:nth-child(5) {
		font-size: 17px;
		/*        margin-top:20px; */
		/*        padding-top:20px; */
		/*        height: 20vh; */
	}
}

/*-----  詳しく見る */
.topArticle_Readmore {
	padding: 0.5em 0 0 0;
	font-size: 2.8vw;

	position: absolute;
	bottom: 0.5em;
}
.topArticle_Readmore:after {
	content: ">";
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topArticle_Readmore {
		font-size: 17px;
	}
}

.info-link-list {
	width: 80%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-evenly;
}
.info-link-list a:first-of-type {
	margin-bottom: 4vh;
}

@media screen and (min-width: 1200px) {
	/* PC */
	.info-link-list a:first-of-type {
		margin-bottom: 0;
	}
}

/*--------------------------------
    Guide Section
----------------------------------*/
/*-----  コンテンツBox 基本形 */
.topGuide_Wrapper {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topGuide_Wrapper {
		flex-direction: row;
		justify-content: space-between;
		margin-bottom: 5%;
	}
}

/*-----  コンテンツBox 画像 */
.topGuide_Wrapper > img {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topGuide_Wrapper > img {
		max-width: 950px;
		order: 1;
	}
	.topGuideBox-1st > img {
		margin-left: auto;
		margin-right: 0;
	}
	.topGuideBox-2nd > img {
		margin-left: 0;
		margin-right: auto;
	}
}

/*-----  テキストボックス */
.top_GuideBox,
.top_GuideBoxLeft_Single {
	flex: 0 0 90%;

	background-color: #000;
	border: 4px double #fff;
	padding: 1.6vw;
	margin-top: 0;
	color: #fff;
	text-align: center;
}
.top_GuideBoxLeft_Single {
	font-size: 3vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.top_GuideBoxLeft_Single {
		font-size: 17px;
	}
}

@media screen and (min-width: 1200px) {
	/* PC */
	.top_GuideBox,
	.top_GuideBoxLeft_Single {
		flex: 0 0 333px;
		padding: 20px;
		margin-top: -100px;
		order: 2;
	}

	.top_GuideBox_w600 {
		flex: 0 0 600px;
	}

	/*----- 1列目 */
	.topGuideBox-1st .top_GuideBox {
		margin-left: -50px;
		order: 2;
	}

	/*----- 2列目 */
	.topGuideBox-2nd .top_GuideBox {
		order: 3;
	}
}

/*----- テキストボックス タイトル */
.topGuide_Title {
	color: #fff;
	text-align: center;
	font-size: 3.5vw;
	border-bottom: 1px solid #fff;
	padding-bottom: 1.6vw;
	margin-bottom: 1.6vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topGuide_Title {
		font-size: 24px;
		padding-bottom: 20px;
		margin-bottom: 20px;
		letter-spacing: 3px;
	}
}

/*----- テキストボックス 文章 */
.topGuide_Contents {
	color: #fff;
	font-size: 3.2vw;
	text-align: left;
	line-height: 180%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topGuide_Contents {
		font-size: 16px;
		line-height: 180%;
	}
}

@media screen and (min-width: 1200px) {
	.link_button02 {
		flex: 0 0 170px;
		order: 3;
	}
	.topGuideBox-1st .link_button02 {
		order: 3;
	}
	.topGuideBox-2nd .link_button02 {
		order: 2;
	}
}

/*----- 2カラム */
@media screen and (min-width: 1200px) {
	/* PC */
	.c2-box {
		display: flex;
		justify-content: space-between;
	}
	.c2-box .topGuide_Wrapper {
		flex: 0 0 48%;
		width: 40%;
	}
	.c2-box .topGuide_Wrapper img {
		margin-left: auto;
		margin-right: 0;
	}
	.c2-box .link_syosai {
		margin-top: 17px;
	}
	.top_GuideBoxLeft_Single {
		background-color: #000;
		border: 4px double #fff;
		flex: 0 0 262px;
		padding: 0.8em 1em 0;

		margin-top: -25px;
	}
	.top_GuideBoxLeft_Single p {
		color: #fff;
		text-align: center;
		font-size: 21px;
		padding-bottom: 0.5em;
	}
}

/*--------------------------------
    Schedule Section
----------------------------------*/
.swiper-custom-parent {
	width: 100%;
	margin: 0 0 0;
	position: relative;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.swiper-custom-parent {
		width: 95%;
		max-width: 1040px;
		margin: 50px 0 0;
	}
}

.swiper {
	width: 70%;
	height: auto;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.swiper {
		width: 88%;
		max-width: 990px;
	}
}

/*---- スライド1つ分 */
.swiper-slide div {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.swiper-slide div {
		width: 200px;
	}
}

/*---- 次、前ボタン */
.swiper-button-next {
	right: 0;
	color: #666;
}

.swiper-button-prev {
	left: 0;
	color: #666;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.swiper-button-next {
		right: 20px;
		color: #666;
	}
	.swiper-button-prev {
		left: 20px;
		color: #666;
	}
}

/*---- スライド画像 */
.swiper-slide div img {
	width: 100%;
}

/*-----  日付 */
.topSchedule_Date {
	font-size: 5vw;
}

/*-----  タイトル */
.topSchedule_Title {
	font-size: 6vw;
}

/*-----  文章 */
.topSchedule_Content {
	font-size: 4vw;
	padding: 0 5px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topSchedule_Date {
		font-size: 15px;
	}
	.topSchedule_Title {
		font-size: 24px;
	}
	.topSchedule_Content {
		font-size: 15px;
	}
}

/*--------------------------------
    Amulet Section
----------------------------------*/
.topAmulet_Box2 {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-around;
	align-items: flex-start;
}

/*----- コンテンツBox */
.topAmulet_Wrapper {
	flex: 0 0 50%;
	margin-bottom: 15px;

	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Wrapper {
		flex: 0 0 25%;
	}
}

.topAmulet_Wrapper.is-empty {
	height: 0;
	margin-bottom: 0;
}

/*----- 20241213 お守り画像配置変換 */
.topAmulet_SectionWrapper.is-empty {
	height: 0;
	margin-bottom: 0;
}

/*----- お守り画像 */
.topAmulet_Wrapper > img {
	width: 150px;
	height: 150px;
	/*20201103    object-fit: cover; */
	object-fit: contain;
}

/*----- 商品名 */
.topAmulet_Wrapper > p {
	text-align: center;
	font-size: 4vw;
	margin-top: 16px;
	margin-bottom: 3vh;
}

/*----- 価格 */
.topAmulet_Wrapper > p > span {
	font-size: 4vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Wrapper > p {
		text-align: center;
		font-size: 20px;
		margin-top: 16px;
	}

	.topAmulet_Wrapper > p > span {
		font-size: 18px;
	}
}

/* 画面外にいる状態 */
.fadein {
	opacity: 0.1;
	transform: translate(0, 50px);
	transition: all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/*----- もっと見るボタンを押したとき */
.topAmulet_Box > div {
	opacity: 1;
	transition: all 0.4s ease 0s;
}
.topAmulet_Box > div.is-hidden {
	opacity: 0;
	height: 0;
	margin: 0;
}

.more {
	text-align: center;
}

/*
button {
    background-color: #bbdeff;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    height: 32px;
    line-height: 32px;
    width: 120px;
    border-radius: 16px;
}
*/

/*--------------------------------
    Detail Section
----------------------------------*/
#topDetail {
	background-color: #000;
	color: #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 15px auto;
	/*margin: 30px auto;*/
}
@media screen and (min-width: 1200px) {
	/* PC */
	#topDetail {
		background-color: #000;
		color: #fff;
		margin: 100px auto;
	}
}

/*----- 詳細画像 */
#topDetail img {
	flex: 0 0 100%;
	width: 100%;
	order: 1;
}
@media screen and (min-width: 1200px) {
	/* PC */
	#topDetail img {
		flex: 0 0 50%;
		width: 50%;
	}
}

/*---- 拝観のご案内 */
#topDetail h2 {
	flex: 0 0 5%;
	/*    margin-right: 30px; */
	margin-top: 15px;
	order: 2;
	padding: 20px 10px;
	/*    background-color: #D2A143; */
}
#topDetail h2 span {
	font-size: 5.2vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	#topDetail h2 {
		flex: 0 0 3%;
		margin-right: 20px;
		margin-top: 30px;
		order: 3;
		padding: 20px;
		/*        background-color: #D2A143; */
	}
	#topDetail h2 span {
		font-size: 32px;
	}
}

#topDetail div {
	flex: 0 0 70%;
	margin: 30px 0;
	/*margin: 30px 0;*/
	padding: 0 3vw 0 0;
	order: 3;
	/*    background-color: #D2A143; */
}
@media screen and (min-width: 1200px) {
	/* PC */
	#topDetail div {
		flex: 0 0 35%;
		margin: 30px 0 0;

		padding: 0 15px;
		order: 2;
		/*        background-color: #D2A143; */
	}
}

.topDetail_Time {
	font-size: 3.5vw;
	/*font-size: 4.5vw;*/
	margin-bottom: 10px;
	/*margin-bottom: 30px;*/
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topDetail_Time {
		font-size: 23px;
		/*font-size: 27px;*/
		margin-bottom: 30px;
		/*margin-bottom: 60px;*/
	}
}

.topDetail_Time span {
	font-size: 3.2vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topDetail_Time span {
		font-size: 20px;
		/*font-size: 20px;*/
	}
}

.topDetailTraf_Title {
	text-align: left;
	font-size: 3.8vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topDetailTraf_Title {
		font-size: 20px;
		/*font-size: 23px;*/
	}
}

.topDetailTraf_Contents {
	text-align: right;
	font-size: 3.8vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topDetailTraf_Contents {
		font-size: 20px;
		/*font-size: 23px;*/
		padding-bottom: 20px;
	}
}

/*--------------------------------
    MAP Section
----------------------------------*/
#topMAPSection iframe {
	width: 100%;
	height: 550px;
}

/*--------------------------------
    Footer Section
----------------------------------*/
#topFooterSection {
	width: 100%;
	background-color: #000;
	padding: 20px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	#topFooterSection {
		padding: 50px 0;
	}
}

.footer-wrapper {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer-wrapper {
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
	}
}

.footer-left-contents {
	flex: 0 0 100%;

	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer-left-contents {
		flex: 0 0 40%;

		flex-direction: column;
		align-items: flex-start;
	}
}

.footer-left-contents img {
	width: 250px;
	margin-bottom: 15px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer-left-contents img {
		width: 300px;
	}
}
.footer-address-txt {
	text-align: center;
	color: #fff;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer-address-txt {
		text-align: left;
	}
}

.footer-tel-txt {
	color: #fff;
	text-align: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer-tel-txt {
		text-align: left;
	}
}

.footer-right-contents {
	flex: 0 0 60%;
	justify-items: flex-end;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
}

.footer-sns-navi {
	display: none;
}
.footer-txt-navi {
	display: none;
}

@media screen and (min-width: 1200px) {
	/* PC */
	.footer-sns-navi {
		display: block;
		flex: 0 0 50%;
		margin-bottom: 30px;
	}
	.footer-txt-navi {
		flex: 0 0 100%;
		margin-bottom: 30px;

		display: flex;
		justify-content: flex-end;
	}
	.footer-link {
		/*margin-right: 30px;*/
		flex: 0 0 10em;
		text-align: center;
	}
	.footer-link + .footer-link {
		border-left: 1px solid #fff;
	}
	.footer-link:last-of-type {
		margin-right: 0;
	}
}

.copyright-txt {
	margin-top: 20px;
	margin-bottom: 0;
	color: #fff;
}

@media screen and (min-width: 1200px) {
	/* PC */
	.copyright-txt {
		margin-top: 0;
	}
}

.footer_maillink_box {
	display: none;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.footer_maillink_box {
		display: block;
		color: #fff;
	}

	.footer_maillink_box .mailto_link {
		color: #fff;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-right: 0 !important;
	}

	.footer_maillink_box span {
		display: inline-block;
		margin-left: 1em;
	}
}

/****************************************
    サブページ
*****************************************/

/*--------------------------------
    ページ内共通：上部画像領域
----------------------------------*/
.SubTitleImage {
	height: 50vh;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	background-color: rgba(0, 0, 0, 0.4);
	background-blend-mode: darken;
	position: relative;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SubTitleImage {
		height: 45vh;
		position: relative;
		top: 80px;
	}
}

.SubTitleImage > p {
	font-size: 24px;
	color: #fff;
	letter-spacing: 0.1vw;
}
@media screen and (min-width: 800px) and (max-width: 1440px) {
	.SubTitleImage > p {
		font-size: calc(18px + (100vw - 800px) / 640 * 2);
	}
}
@media screen and (min-width: 1441px) {
	/* PC */
	.SubTitleImage > p {
		font-size: 29px;
		letter-spacing: 0.1vw;
	}
}

.SubPrayerImg {
	background-image: url(../prayer/image/bg_image.jpg);
}
.SubAboutImg {
	background-image: url(../about/image/bg_image.jpg);
}
.SubWorshipImg {
	background-image: url(../worship/image/bg_image.jpg);
}
.SubInfoListImg {
	background-image: url(../info/image/bg_image_list.jpg);
}
.Sub410thImg {
	background-image: url(../410th/image/bg_image.jpg);
}
.SubAbolitionImg {
	background-image: url(../abolition/image/bg_image.jpg);
}

.SubPaperListImg {
	background-image: url(../info/image/bg_image_list.jpg);
}

.BackgroundCaption {
	position: absolute;
	bottom: 1vh;
	right: 0;
	font-size: 0.8em !important;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.BackgroundCaption {
		right: 0;
	}
}

/*--------------------------------
    ページ内共通：タイトル領域
----------------------------------*/
.SectionSubTitleBox {
	flex: 1 0 100%;
	width: 100%;

	margin-top: 5vh;
	margin-bottom: 5vh;

	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.SectionSubTitleBox410 {
	flex: 1 0 100%;
	width: 100%;

	margin-top: 5vh;
	/*margin-bottom: 5vh;*/

	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/*----- ロゴ画像 */
.SectionSubTitleBox img {
	width: 6vw;
	margin-bottom: 1.6vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SectionSubTitleBox img {
		width: 3vw;
		margin-bottom: 0.8vw;
	}
}

/*----- ロゴ画像410 */
.SectionSubTitleBox410 img {
	width: 6vw;
	margin-bottom: 1vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SectionSubTitleBox410 img {
		width: 3vw;
		margin-bottom: 0.5vw;
	}
}

/*----- タイトルテキスト */
.subTitle {
	margin-left: auto;
	margin-right: auto;

	text-align: center;
	letter-spacing: 0.1rem;
	/*    margin-bottom: 30px; */
	font-weight: normal;
	font-size: 6vw;
}
.subTitle span {
	display: inline-block;
	line-height: 1;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.subTitle {
		font-size: 19px;
	}
	.subTitle span {
		line-height: 1;
		font-size: 36px;
	}
}

/*--------------------------------
    ページ内共通：コンテンツ領域
----------------------------------*/
.Fix_Release {
	position: static;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.Fix_Release {
		position: relative;
		top: 80px;
		margin-bottom: 80px;
	}
}

.SubSection_ContentsBox {
	flex: 0 0 100%;
	width: 100%;

	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;

	margin-bottom: 5vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SubSection_ContentsBox {
		justify-content: flex-start;
		flex: 1 1 100%;
	}
}

.SubPage_ContetnsWrapper {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	width: 100%;
	margin-bottom: 5vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SubPage_ContetnsWrapper {
		flex-direction: row-reverse;
		margin-bottom: 10vh;
	}
}

/*----- 画像領域 */
.SubPage_ContetnsWrapper img {
	flex: 0 0 100%;
	width: 100%;
	align-self: flex-start;

	margin-top: 30px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SubPage_ContetnsWrapper img {
		flex: 0 0 465px;
		width: 465px;
	}
}

/*----- テキスト領域 */
.SubPage_TextContetns_wrapper {
	flex: 0 0 40%;
	margin: 0 auto;
	width: 100%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.SubPage_TextContetns_wrapper {
		flex: 0 0 40%;
		margin-right: 0 0 0 10%;
	}
}

/*--------------------------------
    ご祈祷される方へ
----------------------------------*/
/*----- ご相談くださいボックス */
.PrayerBottom_Title > span {
	font-size: 4vw;
	line-height: 180%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Title > span {
		font-size: 24px;
	}
}

.PrayerBottom_Contents > dl {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;

	width: 100%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents > dl {
		width: 970px;
	}
}

.PrayerBottom_Contents > dl > dt,
.PrayerBottom_Contents > dl > dd {
	display: flex;
	align-items: center;
	padding: 10px 10px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents > dl > dt,
	.PrayerBottom_Contents > dl > dd {
		padding: 20px 20px;
	}
}

.PrayerBottom_Contents > dl > dt {
	width: 100%;
	justify-content: center;
	background-color: #000;
	color: #fff;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents > dl > dt {
		width: 167px;
		border-bottom: 1px solid #fff;
	}
}

.PrayerBottom_Contents > dl > dd {
	width: 100%;
	background-color: #fff;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents > dl > dd {
		width: 800px;
		border-bottom: 1px solid #000;
		border-right: 1px solid #000;
	}
}

@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents > dl > dd:first-of-type {
		border-top: 1px solid #000;
	}
}

.PrayerBottom_Contents .Txt_Remarks {
	width: 100%;
	margin: 15px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents .Txt_Remarks {
		width: 970px;
		margin: 30px 0;
	}
}

.PrayerBottom_Contents .Tel_Box {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	width: 95%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerBottom_Contents .Tel_Box {
		width: 50%;
	}
}

.PrayerTelBox {
	padding: 10px 25px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PrayerTelBox {
		padding: 10px 50px;
	}
}

.Tel_Box .Text_TelNo {
	font-size: 18px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.Tel_Box .Text_TelNo {
		font-size: 32px;
	}
}

/*--------------------------------
    弘前八幡宮について
----------------------------------*/
.About_ContetnsWrapper {
	justify-content: space-around;
	flex-direction: column;

	margin-bottom: 3vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.About_ContetnsWrapper {
		justify-content: space-around;
		flex-direction: row-reverse;
	}
}

.About_ContetnsWrapper02 {
	justify-content: space-around;
	flex-direction: column-reverse;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.About_ContetnsWrapper02 {
		justify-content: space-around;
		flex-direction: row-reverse;
	}
}

.About_TextContetns_wrapper {
	margin: 30px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.About_TextContetns_wrapper {
		position: relative;

		margin: 30px 0;
	}
}

.About_Link_Button {
	margin-top: 5vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.About_Link_Button {
		position: absolute;
		bottom: 0;
		right: 0;
	}
}

.About_2nd_Section {
	margin-top: 50px;
}

.About_TextContetns_wrapper_02 {
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.About_TextContetns_wrapper_02 {
		flex: 0 0 465px;
		width: 465px;
		margin: 0;
	}
}

.Wrapper_Image_Left {
	flex-direction: column-reverse;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.Wrapper_Image_Left {
		flex-direction: row;
	}
}

.Wrapper_Image_Left img {
	flex: 0 0 100%;
	width: 100%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.Wrapper_Image_Left img {
		flex: 0 0 465px;
		width: 465px;
	}
}

.About_ContentsBox > p {
	opacity: 1;
	transition: all 0.4s ease 0s;
}
.About_ContentsBox p.is-hidden {
	opacity: 0;
	height: 0;
	margin: 0;
}

/* 画面外にいる状態 */
.fadein_about {
	opacity: 0.1;
	transform: translate(0, 50px);
	transition: all 500ms;

	width: 90%;
}

/* 画面内に入った状態 */
.fadein_about.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/*--------------------------------
    ご参拝される方へ
----------------------------------*/
.COVID-19_Caution {
	background-color: #c11920;
}
.COVID-19_Caution p {
	color: #fff;
	font-size: 16px;
	text-align: left;
	padding: 20px 14px;
	line-height: 160%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.COVID-19_Caution p {
		font-size: 20px;
		text-align: center;
		padding: 50px 0;
		line-height: 240%;
	}
}

.worship_1stBox {
	margin-bottom: 0;
}

/*----- コンテンツ領域 */
.worship_ContetnsWrapper {
	justify-content: center;
	margin: 3vh 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_ContetnsWrapper {
		justify-content: space-between;
		margin: 10vh 0;
	}
}

.worship_ContetnsWrapper img {
	margin: 0;
}

/*----- 小タイトル */
.worship_title01 {
	width: 100%;
	height: 50px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_title01 {
		width: 545px;
		height: 75px;
	}
}

.worship_title01_Text {
	display: flex;
	align-items: center;
	width: 100%;
	height: 50px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_title01_Text {
		width: 545px;
		height: 75px;
	}
}

.worship_title01_Text > dt {
	font-size: 5vw;
	flex: 0 0 10vw;
	padding: 15px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_title01_Text > dt {
		flex: 0 0 55px;
		font-size: 31px;
	}
}

.worship_title01_Text > dd {
	font-size: 5vw;
	border-left: 2px solid #ccc;
	padding-left: 15px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_title01_Text > dd {
		font-size: 25px;
	}
}

/*---- テキスト領域 */
.worship_TextContetns_wrapper {
	margin: 0;
}

.worship_text_area {
	margin-top: 20px;
	margin-bottom: 20px;
	line-height: 240%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_text_area {
		margin-bottom: 0;
	}
}

/*----- 由来ボックス */
.worship_origin {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	margin: 0 auto;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_origin {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		width: 100%;
		margin: 0 auto;
	}
}

.worship_origin > dt {
	display: flex;
	justify-content: center;
	align-items: center;

	font-size: 5vw;
	letter-spacing: 3vh;
	text-indent: 0;
	padding: 2vh 0;
	background-color: #ccc;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_origin > dt {
		flex: 0 0 85px;

		font-size: 23px;
		text-indent: 3vh;
		padding: 0;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		border-left: 1px solid #000;
		border-right: none;

		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
}

.worship_origin > dd {
	font-size: 4vw;
	line-height: 160%;
	display: flex;
	align-items: center;
	border-top: none;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	border-left: 1px solid #000;
	padding: 15px 20px;
	background-color: #fff;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_origin > dd {
		font-size: 18px;
		line-height: 240%;
		display: flex;
		align-items: center;
		border-top: 1px solid #000;
		border-bottom: 1px solid #000;
		border-right: 1px solid #000;
		border-left: none;
		padding: 15px 20px;
		background-color: #fff;
	}
}

.worship_title02_Text {
	display: flex;
	align-items: center;

	text-align: left;
	font-size: 5vw;
	width: 100%;
	height: 50px;
	text-indent: 23px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.worship_title02_Text {
		text-align: left;
		font-size: 23px;
		width: 545px;
		height: 75px;
		text-indent: 23px;
	}
}

/*--------------------------------
    お知らせ（一覧）
----------------------------------*/
.InfoList_ContetnsWrapper {
	flex-direction: column;
	justify-content: center;
	font-size: 19px;

	width: 100%;

	border-bottom: 2px dotted #ccc;
	padding: 20px 0 20px 0;
	margin-bottom: 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_ContetnsWrapper {
		flex-direction: row;
		justify-content: space-between;
		font-size: 19px;

		width: 100%;

		border-bottom: 2px dotted #ccc;
		padding: 45px 0 45px 0;
		margin-bottom: 0;
	}
}

.InfoList_ContetnsWrapper:first-child {
	padding: 0 0 20px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_ContetnsWrapper:first-child {
		padding: 0 0 45px 0;
	}
}

.InfoList_ContetnsWrapper:last-child {
	border-bottom: none;
}

.InfoList_ContetnsWrapper > img {
	margin: 0;
	flex: 0 0 100%;
	width: 100%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_ContetnsWrapper > img {
		flex: 0 0 300px;
		width: 300px;
	}
}

.InfoList_TextContetns_wrapper {
	margin-top: 3vh;
	margin-left: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_TextContetns_wrapper {
		margin-top: 0;
		align-self: flex-start;
		margin-left: 70px;
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
	}
}

.InfoList_Date {
	font-size: 27px;
	flex: 1 0 50%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_Date {
		font-size: 27px;
		flex: 1 0 50%;
		width: 730px;
	}
}

.InfoList_Category {
	font-size: 17px;
	color: #fff;
	flex: 0 0 180px;
	width: 100%;
	text-align: center;
}

.InfoList_Title {
	font-size: 23px;
	margin-top: 20px;
	margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoList_Title {
		width: 100%;
	}
}

.InfoList_Contents,
.InfoList_TextContetns_wrapper p:nth-child(4) {
	border-top: 1px solid #ccc;
	padding-top: 10px;

	width: 100%;
}

.InfoList_Readmore {
	display: block;
	margin-left: auto;
	margin-top: 30px;
}

.InfoList_Readmore > span:after {
	content: " >";
}

/* Pagination */
.pager ul.pagination {
	text-align: center;
	margin: 0 0 50px;
	padding: 0;
}

.pager .pagination li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	background: #ffffff;
	border: 1px solid #000;
	width: 50px;
	height: 50px;
	text-align: center;
	position: relative;
}

.pager .pagination li a {
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: table;
	color: #000;
	text-decoration: none;
}

.pager .pagination li a span {
	display: table-cell;
	vertical-align: middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active {
	color: #fff;
	background: #000;
}

@media only screen and (max-width: 767px) {
	.pager .pagination li {
		display: none;
	}

	.pager .pagination li.pre,
	.pager .pagination li.next {
		display: inline-block;
		width: 40%;
		height: 50px;
		text-align: center;
	}

	.pager .pagination li.pre a,
	.pager .pagination li.next a {
		width: 100%;
		text-align: center;
	}

	.pager .pagination li.pre span::after {
		content: "　前の10件へ";
	}

	.pager .pagination li.next span::before {
		content: "次の10件へ　";
	}
}

/*--------------------------------
    お知らせ（記事詳細）
----------------------------------*/
.InfoArticle_ContentsBox {
	width: 100%;
}

.InfoArticle_ContetnsWrapper {
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 19px;

	width: 100%;

	padding: 20px 0 20px 0;
	margin-bottom: 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_ContetnsWrapper {
		flex-direction: row;
		justify-content: space-between;
		flex-wrap: wrap;

		width: 100%;

		padding: 45px 0 45px 0;
		margin-bottom: 0;
	}
}

.InfoArticle_ContetnsWrapper img {
	flex: 0 0 90%;
	width: 100%;
	margin-top: 3vh;
	margin-bottom: 3vh;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_ContetnsWrapper img {
		margin-top: 30px;
		margin-bottom: 30px;
	}
}

.InfoArticle_Date {
	flex: 1 0 50%;
	width: 50%;
	font-size: 27px;
	background-color: #000;
	color: #fff;

	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_Date {
		flex: 1 0 75%;
		font-size: 27px;
		background-color: #000;
		color: #fff;
		padding: 10px 0 10px 30px;

		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
}

.InfoArticle_Category {
	flex: 0 1 50%;
	width: 50%;
	font-size: 19px;

	display: flex;
	justify-content: center;
	align-items: center;

	color: #fff;
	padding: 10px 0 10px 0;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_Category {
		flex: 0 1 20%;
		font-size: 19px;

		display: flex;
		justify-content: center;
		align-items: center;

		color: #fff;
		padding: 0 0 0 0;
	}
}

.InfoArticle_Title {
	flex: 0 0 100%;
	margin: 3vh 0 3vh 0;
	font-size: 26px;

	padding-bottom: 0;
	border-bottom: 1px solid #000;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_Title {
		flex: 0 0 100%;
		margin: 3vh 0 3vh 0;
		font-size: 26px;

		padding-bottom: 0;
		border-bottom: 1px solid #000;
	}
}

.InfoArticle_Contents {
	flex: 0 0 100%;
	margin: 0 0 5vh;
	line-height: 160%;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.InfoArticle_Contents {
		flex: 0 0 100%;
		margin: 0 0 0;
		line-height: 240%;
	}
}

.photo_c {
	display: block;
	margin: 0 auto;
}
.photo_l {
	display: block;
	margin-right: auto;
}
.photo_r {
	display: block;
	margin-left: auto;
}

/*--------------------------------
    ページ内共通：リスト前余白
----------------------------------*/
.ListBefore_Margin {
	margin-top: 15px;
}

/*--------------------------------
    ページ内共通：リストスタイル
----------------------------------*/
/*----- リストスタイル01 */
.sub-list-style01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	margin-left: 20px;
}

.sub-list-style01 dt {
	flex: 1 0 40%;
}

.sub-list-style01 dt:before {
	content: "◎";
}

.sub-list-style01 dd {
	flex: 0 1 60%;
}

/*----- リストスタイル01-2022年版 */
.sub-list-style01_2022 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	margin-left: 20px;
	padding-top: 2%;
}

.sub-list-style01_2022 dt {
	flex: 0 0 20%;
	padding-bottom: 2%;
}

.sub-list-style01_2022 dt:before {
	/* content: "◎"; */
}

.sub-list-style01_2022 dd {
	flex: 1 0 75%;
	padding-bottom: 2%;
}

.fl-width30 dt {
	flex: 0 0 40%;
}
.fl-width30 dd {
	flex: 0 0 55%;
}

/*----- リストスタイル02 */
.sub-list-style02 {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	margin-left: 20px;
}

.sub-list-style02 li:after {
	content: "、 ";
}

.sub-list-style02 li:last-child:after {
	content: "";
}

/*----- リストスタイル03 */
.sub-list-style03 {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
	margin-left: 20px;
}

.sub-list-style03 span:before {
	content: "◎";
}

.sub-list-style03 li:last-child {
	margin-left: 20px;
}

/*----- リストスタイル04 */
.sub-list-style04 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;

	padding-top: 2%;
	padding-left: 20px;
}

.sub-list-style04 dt {
	width: 10%;
	padding-bottom: 2%;
}
.sub-list-style04 dd {
	width: 84%;
	padding-bottom: 2%;
}

/*----- リストスタイル05 */
.sub-list-style05_2022 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding-left: 20px;
	padding-top: 2%;
}

.sub-list-style05_2022 dt {
	width: 15%;
}

.sub-list-style05_2022 dd {
	width: 79%;
	padding-bottom: 5%;
	line-height: 180%;
}

/****************************************
    CUROCO 関連
*****************************************/
.CRC_anim_in25_000 {
	opacity: 0;
}
.CRC_anim_in25_000_ON {
	animation: bottomCenter 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s 1 normal;
	animation-fill-mode: forwards;
}

/****************************************
 メモ
*****************************************/
@media screen and (max-width: 1050px) and (min-width: 768px) and (orientation: portrait) {
	/* TB */
}
@media screen and (min-width: 1100px) and (min-height: 1100px) {
	/* PC */
}

/* 棒付き矢印 */
.stickarrow {
	width: 40px;
	height: 8px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: skew(45deg);
}

/*余白下*/
.mb410 {
	margin-bottom: 50px;
}
.mb0 {
	margin-bottom: 0px;
}

/*410ストラップテキスト*/
.strap_text {
	font-size: 18px;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.strap_text {
		font-size: 20px;
	}
}

/****************************************
 はぢまんさま通信
*****************************************/
.PaperList_ContentsBox {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}

.PaperList_Readmore {
	flex: 0 1 45%;
	transition: all 0.4s ease-in-out;
	margin-right: 1.5%;
	margin-bottom: 50px;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.22);
}
@media screen and (min-width: 1200px) {
	/* PC */
	.PaperList_Readmore {
		flex: 0 1 20%;
		margin-bottom: 50px;
	}
}

.PaperList_Readmore:last-of-type {
	margin-right: 0;
}

.PaperList_Readmore:hover {
	/*    box-shadow: 0 1.9px 2.5px rgb(0 0 0 / 6%), 0 5px 6.1px rgb(0 0 0 / 8%), 0 10.1px 11.4px rgb(0 0 0 / 9%), 0 19.2px 19.8px rgb(0 0 0 / 9%), 0 38.4px 34.8px rgb(0 0 0 / 10%), 0 101px 74px rgb(0 0 0 / 13%); */
	box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
	transform: translateY(-4px);
}

.PaperList_Title {
	text-align: center;
}

/*===================================================
	2022/3/17 トップの記事お知らせセクション表示変更
==================================================*/
.topSection {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;

	margin-right: 2%;
}
@media screen and (min-width: 1200px) {
	.topSection:nth-of-type(1) {
		margin-left: -2%;
	}

	.topSection {
		width: 31%;
		flex-direction: row-reverse;
	}
	.topSection:nth-of-type(3) {
		margin-right: 0;
	}
}

#topSection01 {
	order: 1;
}

#topSection02 {
	order: 2;
}

#topSection03 {
	order: 3;
}

@media screen and (min-width: 1200px) {
	#topSection01 {
		order: 3;
	}

	#topSection02 {
		order: 2;
	}

	#topSection03 {
		order: 1;
	}
}

@media screen and (min-width: 1200px) {
	.topArticle2 {
		display: none;
	}
}

.link_button01_mgt30 {
	margin-top: 30px;
}

.link_button01_mgt20 {
	margin-top: 20px;
}

/*===================================================
	2023/6/27/ 年末年始の廃止ページ
==================================================*/

.for-pc {
	display: block;
}
.for-sp {
	display: none;
}

@media only screen and (max-width: 767px) {
	.for-pc {
		display: none !important;
	}
	.for-sp {
		display: block !important;
	}
}

.CenterArea {
	margin: 0 auto;
	text-align: center;
}

.Img-Area {
}

@media screen and (min-width: 768px) {
	.Img-Area {
		width: 800px;
		margin: 0 auto;
	}
}

.Left-imgArea {
	width: 200px;
	float: none;
	margin: 0 auto 15px;
}

@media screen and (min-width: 768px) {
	.Left-imgArea {
		width: 394px;
		float: left;
		margin-right: 70px;
	}
}

.Right-textArea {
	float: none;
}

@media screen and (min-width: 768px) {
	.Right-textArea {
		width: 300px;
		float: left;
	}
}

.AB-cl {
	clear: both;
}

.b-back {
	background-color: #000;
	padding: 10px;
	color: #fff;
}

.img60 {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.img60 {
		width: 70%;
	}
}
.r-text {
	color: #f00;
}

/**
 * 2023/10/13 TOPページ改修
 * ※主に打消し系のCSS追加
 */

/* 高さ固定を解除 */
.hp_height_auto {
	height: auto;
}

/* flexにする */
.hp_flex {
	display: flex;
}

/* flex方向をrowへ */
.hp_flex_row {
	flex-direction: row;
}

/* flex方向をcolumnへ */
.hp_flex_column {
	flex-direction: column;
}

/* flex方向をrow-reverseへ */
.hp_flex_row_reverse {
	flex-direction: row-reverse;
}

/* flexの指定を解除 */
.hp_flex_none {
	flex: none;
}

/* justify-contentをcenterへ */
.hp_justify_content_center {
	justify-content: center;
}

/* justify-contentをspace-betweenへ */
.hp_justify_content_space_between {
	justify-content: space-between;
}

/* justify-contentをspace-aroundへ */
.hp_justify_content_space_around {
	justify-content: space-around;
}

/* align-itemsをflex-startへ */
.hp_align_items_flex_start {
	align-items: flex-start;
}

/* align-itemsをflex-endへ */
.hp_align_items_flex_end {
	align-items: flex-end;
}

/* align-itemsをcenterへ */
.hp_align_items_center {
	align-items: center;
}

/* align-itemsをcenterへ */
.hp_align_items_baseline {
	align-items: center;
}

/* orderを1にする */
.hp_order_1 {
	order: 1;
}

/* orderを2にする */
.hp_order_2 {
	order: 2;
}

/* gapを0.75em持たせる */
.hp_gap_0_75em {
	gap: 0.75em;
}

/* gapを1em持たせる */
.hp_gap_1em {
	gap: 1em;
}

/* gapを2em持たせる */
.hp_gap_2em {
	gap: 2em;
}

/* gapを3em持たせる */
.hp_gap_3em {
	gap: 3em;
}

/* widthを初期値へ */
.hp_width_auto {
	width: auto !important;
}

/* positionをabsoluteへ */
.hp_position_absolute {
	position: absolute;
}

/* bottomを0にする */
.hp_bottom_0 {
	bottom: 0;
}

/* bottomを5emずらす */
.hp_bottom_5em {
	bottom: 5em;
}

/* leftを0にする */
.hp_left_0 {
	left: 0;
}

/* leftを2emずらす */
.hp_left_2em {
	left: 2em;
}

/* max-widthを1500pxにする */
.hp_max_width_1500px {
	max-width: 1500px;
}

/* max-widthを1600pxにする */
.hp_max_width_1600px {
	max-width: 1600px;
}

/* max-widthを1700pxにする */
.hp_max_width_1700px {
	max-width: 1700px;
}

/* max-widthを1800pxにする */
.hp_max_width_1800px {
	max-width: 1800px;
}

/* max-widthを1920pxにする */
.hp_max_width_1920px {
	max-width: 1920px;
}

/* 背景を透明色にする */
.hp_background_transparent {
	background-color: transparent !important;
}

/* ポジションをrelativeにする */
.hp_position_relative {
	position: relative;
}

/* Topから1emずらす */
.hp_top_1em {
	top: 1em;
}

/* Topから1.5emずらす */
.hp_top_1_5em {
	top: 1.5em;
}

/* 縦書きリンクに対し、
hover時にテキストの右側にラインを表示する */
.topNavi_PC_Link2 {
	position: relative;
	text-decoration: none;
	color: #fff;
}

.topNavi_PC_Link2::before {
	content: "";
	position: absolute;
	top: 0;
	right: -2px;
	width: 2px;
	height: 0%;
	background-color: #fff;
	transition: all 0.3s;
}

.topNavi_PC_Link2:hover::before {
	height: 100%;
}

/* フォントのサイズを1.1倍にする */
.hp_font_size_1_1em {
	font-size: 1.1em;
}

/* フォントのサイズを1.25倍にする */
.hp_font_size_1_25em {
	font-size: 1.25em;
}

/* フォントのサイズを1.5倍にする */
.hp_font_size_1_5em {
	font-size: 1.5em;
}

/* フォントのサイズを2倍にする */
.hp_font_size_2em {
	font-size: 2em;
}

/* フォントのサイズを2.25倍にする */
.hp_font_size_2_25em {
	font-size: 2.25em;
}

/* フォントのサイズを2.5倍にする */
.hp_font_size_2_5em {
	font-size: 2.5em;
}

/* フォントのサイズを3倍にする */
.hp_font_size_3em {
	font-size: 3em;
}

/* フォントの太さを標準にする */
.hp_font_weight_normal {
	font-weight: normal;
}

/* 太字にする */
.hp_font_weight_bold {
	font-weight: 700;
}

/* リンクを下に落とすための目印のクラス */
.ut_linkbox_under {
	/* height: 100%; */
	flex-grow: 1;
}

.ut_linkbox_under > a {
	flex-grow: 1;
}

/*文字間に0.1remのスペースを取る*/
.hp_letter_spacing_0_1rem {
	letter-spacing: 0.1rem;
}

/*文字間に0.25emのスペースを取る*/
.hp_letter_spacing_0_25em {
	letter-spacing: 0.25em;
}

/* 幅を最大に持つ */
.hp_width_max {
	width: 100%;
}

/* 幅を4%にする */
.hp_width_3p {
	width: 3%;
}

/* 幅を4%にする */
.hp_width_4p {
	width: 4%;
}

/* 幅を5%にする */
.hp_width_5p {
	width: 5%;
}

/* 幅を6%にする */
.hp_width_6p {
	width: 6%;
}

/* 幅を8%にする */
.hp_width_8p {
	width: 8%;
}

/* 幅を10%にする */
.hp_width_10p {
	width: 10%;
}

/* 幅を16.6%にする */
.hp_width_16_6p {
	width: 16.6%;
}

/* 幅を20%にする */
.hp_width_20p {
	width: 20%;
}

/* 幅を25%にする */
.hp_width_25p {
	width: 25%;
}

/* 幅を30%にする */
.hp_width_30p {
	width: 30%;
}

/* 幅を33%にする */
.hp_width_33p {
	width: 33%;
}

/* 幅を50%にする */
.hp_width_50p {
	width: 50%;
}

/* 幅を66%にする */
.hp_width_66p {
	width: 66%;
}

/* border-bottomで線を引く */
.hp_border_bottom_1px {
	border-bottom: 1px solid #ccc;
}

/*padding-leftで1emの余白を持たせる */
.hp_padding_left_1em {
	padding-left: 1em;
}

/*padding-leftで2emの余白を持たせる */
.hp_padding_left_2em {
	padding-left: 2em;
}

/*padding-leftで3emの余白を持たせる */
.hp_padding_left_3em {
	padding-left: 3em;
}

/*padding-rightで1emの余白を持たせる */
.hp_padding_right_1em {
	padding-right: 1em;
}

/*padding-rightで2emの余白を持たせる */
.hp_padding_right_2em {
	padding-right: 2em;
}

/*padding-rightで3emの余白を持たせる */
.hp_padding_right_3em {
	padding-right: 3em;
}

/*padding-topで0.5emの余白を持たせる */
.hp_padding_top_0_5em {
	padding-top: 0.5em;
}

/*padding-topで1emの余白を持たせる */
.hp_padding_top_1em {
	padding-top: 1em;
}

/*padding-topで1.5emの余白を持たせる */
.hp_padding_top_1_5em {
	padding-top: 1.5em;
}

/*padding-topで2emの余白を持たせる */
.hp_padding_top_2em {
	padding-top: 2em;
}

/*padding-topで3emの余白を持たせる */
.hp_padding_top_3em {
	padding-top: 3em;
}

/*padding-bottomで1emの余白を持たせる */
.hp_padding_bottom_0_5em {
	padding-bottom: 0.5em;
}

/*padding-bottomで1emの余白を持たせる */
.hp_padding_bottom_1em {
	padding-bottom: 1em;
}

/*padding-bottomで1.5emの余白を持たせる */
.hp_padding_bottom_1_5em {
	padding-bottom: 1.5em;
}

/*padding-bottomで2emの余白を持たせる */
.hp_padding_bottom_2em {
	padding-bottom: 2em;
}

/*padding-bottomで3emの余白を持たせる */
.hp_padding_bottom_3em {
	padding-bottom: 3em;
}

/*padding-bottomで4emの余白を持たせる */
.hp_padding_bottom_4em {
	padding-bottom: 4em;
}

/*padding-bottomで5emの余白を持たせる */
.hp_padding_bottom_5em {
	padding-bottom: 5em;
}

/*margin-topで1emの余白を持たせる */
.hp_margin_top_1em {
	margin-top: 1em;
}

/*margin-bottomで1emの余白を持たせる */
.hp_margin_bottom_0_5em {
	margin-bottom: 0.5em;
}

/*margin-bottomで1emの余白を持たせる */
.hp_margin_bottom_1em {
	margin-bottom: 1em;
}

/*margin-bottomで2emの余白を持たせる */
.hp_margin_bottom_2em {
	margin-bottom: 2em;
}

/*margin-bottomで3emの余白を持たせる */
.hp_margin_bottom_3em {
	margin-bottom: 3em;
}

/* 背景を白色にする。 */
.hp_bg_white {
	background-color: #fff;
}

/* 書き換え */
.topArticle_Title {
	border: none;
}
@media screen and (min-width: 1200px) {
	.topArticle_Title {
		margin-top: 0;
	}
}

/* ホバー時にアンダーラインを表示 */
.hp_hover_underline:hover .topArticle_Title {
	text-decoration: underline;
}

.topLeftboxWrapper {
	width: calc(50% - 2em);
}

.topRightboxWrapper {
	width: calc(50% - 2em);
}

/* 1199px以下の時に適用されるCSS */
@media screen and (max-width: 1199px) {
	.topLeftboxWrapper {
		width: 100%;
	}
	.topRightboxWrapper {
		width: 100%;
	}
	.hp_flex_column_sp {
		flex-direction: column;
	}
	.hp_flex_column_reverse_sp {
		flex-direction: column-reverse;
	}
	.hp_justify_content_center_sp {
		justify-content: center;
	}
	.hp_align_items_center_sp {
		align-items: center;
	}
	.hp_order_1_sp {
		order: 1;
	}
	.hp_order_2_sp {
		order: 2;
	}
	.hp_font_size_6vw_sp {
		font-size: 6vw;
	}
	.hp_font_size_5vw_sp {
		font-size: 5vw;
	}
	.hp_font_size_4vw_sp {
		font-size: 4vw;
	}
	.hp_font_size_3_16vw_sp {
		font-size: 3.16vw;
	}
	.hp_font_size_2_16vw_sp {
		font-size: 2.16vw;
	}
	.hp_font_size_1_08vw_sp {
		font-size: 1.08vw;
	}
	.hp_gap_0_sp {
		gap: 0;
	}
	.hp_gap_0_25em_sp {
		gap: 0.25em;
	}
	.hp_gap_0_5em_sp {
		gap: 0.5em;
	}
	.hp_gap_1em_sp {
		gap: 1em;
	}
	.hp_gap_2em_sp {
		gap: 2em;
	}
	.hp_gap_3em_sp {
		gap: 3em;
	}
	.hp_gap_4em_sp {
		gap: 4em;
	}
	.hp_width_5vw_sp {
		width: 5vw;
	}
	.hp_width_6vw_sp {
		width: 6vw;
	}
	.hp_width_7vw_sp {
		width: 7vw;
	}
	.hp_width_8vw_sp {
		width: 8vw;
	}
	.hp_width_9vw_sp {
		width: 9vw;
	}
	.hp_width_10vw_sp {
		width: 10vw;
	}
	.hp_width_20p_sp {
		width: 20%;
	}
	.hp_width_25p_sp {
		width: 25%;
	}
	.hp_width_30p_sp {
		width: 30%;
	}
	.hp_width_40p_sp {
		width: 40%;
	}
	.hp_width_85vw_sp {
		width: 85vw;
	}
	.hp_margin_bottom_0_sp {
		margin-bottom: 0;
	}
	.hp_margin_bottom_3em_sp {
		margin-bottom: 3em;
	}
	.hp_padding_left_0_5em_sp {
		padding-left: 0.5em;
	}
	.hp_padding_right_0_5em_sp {
		padding-right: 0.5em;
	}
	.hp_border_left_none_sp {
		border-left: none !important;
	}
	.hp_margin_left_0_sp {
		margin-left: 0 !important;
	}
	.hp_margin_bottom_0_sp {
		margin-bottom: 0 !important;
	}
	.hp_flex_wrap_sp {
		flex-wrap: wrap;
	}
}

/* @media screen and (min-width: 1200px) {
  .topSection {
    width: 31%;
    flex-direction: column;
  }
  .topSection_TitleBox {
    flex: none;
  }
  .topSection_TitleBox > h2 {
    writing-mode: horizontal-tb;
  }
  .topSection_TitleBox > img {
    margin-bottom: 0;
  }

  .topInfo_ArticleBox {
    display: ;
  }

  .topInfo_ArticleBox img {
    height: auto;
  }
  
} */

/*20231019 Recuit*/
.text-Lmargin {
	padding-left: 2em;
	padding-right: 1em;
}

.Year-red {
	color: #f00;
}

/*20231031 TOP-Info */
@media screen and (max-width: 1199px) {
	.info-box2,
	.info-box3,
	.info-box4 {
		display: none;
	}
}

.recruit_list > li::before {
	content: "・";
	display: block;
}

.recruit_list > li {
	display: flex;
}

.recruit_person {
	position: absolute;
	bottom: 0;
	right: 0;
}

.recruit_person > img {
	margin: 0;
}

@media screen and (max-width: 1199px) {
	.recruit_person {
		bottom: 0;
		right: 0;
	}
}

/*202402　祈祷料ページCSS*/
.font-b50 {
	font-size: 50px;
	font-weight: bold;
}

.font-b40 {
	font-size: 40px;
}

.t-banner-left {
	float: left;
	/*margin: 0 20px;*/
	width: 47%;
}

.t-banner-right {
	float: right;
	/*margin: 0 20px;*/
	width: 47%;
}

/*202405　地鎮祭の流れCSS*/
.gc_flow_wrapper {
	background-image: url(../prayer/image/bg_flow.jpg);
}

.hp_txt_limegreen {
	color: #7b962d;
}

.hp_border {
	border-width: 1px;
	border-style: solid;
}

.hp_border_left {
	border-left-width: 1px;
	border-left-style: solid;
}

.hp_border_width_1px {
	border-width: 1px;
}

.hp_border_width_3px {
	border-width: 3px;
}

.hp_border_width_5px {
	border-width: 5px;
}

.hp_border_limegreen {
	border-color: #7b962d;
}

.hp_border_white {
	border-color: #fff;
}

.hp_margin_left_1em {
	margin-left: 1em;
}

.hp_txt_fuchidori_white {
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
}

/*202405　ご祈祷される方へメニュー分岐によるCSS*/
.has-submenu {
	position: relative;
}

.submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: #000;
	padding: 10px 0;
	border: 1px solid #000;
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
	z-index: 1000;
}

.submenu a {
	display: block;
	padding: 10px 20px;
	text-decoration: none;
	color: #fff;
	white-space: nowrap;
}

.has-submenu:hover .submenu {
	display: block;
}

.sp_has-submenu div {
	margin: 0 15px;
	padding: 10px;
}

.sp_submenu {
	text-indent: 0.5em;
}
.hp_padding_top_0 {
	padding-top: 0 !important;
}

.hp_margin_bottom_0 {
	margin-bottom: 0 !important;
}

.hp_font_size_0_8em {
	font-size: 0.8em;
}

.hp_pc_margin_left_auto {
	margin-left: auto;
}
@media screen and (max-width: 1199px) {
	.hp_pc_margin_left_auto {
		margin-left: 0;
	}
	.hp_font_size_0_8em {
		font-size: 1em;
	}
}

.top_prayer_ul > li {
	margin-top: -0.5em;
}

.hp_font_size_0_9em {
	font-size: 0.9em;
}
@media screen and (max-width: 1199px) {
	.hp_font_size_0_9em {
		font-size: 1em;
	}
}

/**
 * 問い合わせフォーム
 * contact_
 */

/* コントロールの題名 */
.contact_control_title {
	font-size: 0.9em;
	width: 20%;
}
@media screen and (max-width: 1199px) {
	.contact_control_title {
		width: 70%;
	}
}
.contact_control_title2 {
	font-size: 0.9em;
	width: 50%;
}
@media screen and (max-width: 1199px) {
	.contact_control_title2 {
		width: 70%;
	}
}

.contact_control_input {
	width: 60%;
	font-size: 1em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
@media screen and (max-width: 1199px) {
	.contact_control_input {
		width: 100%;
	}
}

.contact_control_textarea {
	font-size: 1em;
	width: 60%;
	height: 20vh;
}
@media screen and (max-width: 1199px) {
	.contact_control_textarea {
		width: 100%;
	}
}

/* 必須ラベル */
.hp_required_label {
	background-color: #c95234;
	color: #fff;
	padding: 0.2em 0.75em;
	border-radius: 0.5em;
	font-size: 0.8em;
}

/* 入力フォームパーツの背景色 */
.hp_input_bg_white {
	background-color: #f4f3f3;
}
.hp_input_bg_gray {
	background-color: #f4f3f3;
}

.contact_content_privacy_box {
	overflow-y: scroll;
	height: 45vh;
	padding: 1em;
	width: 78%;
}
@media screen and (max-width: 1199px) {
	.contact_content_privacy_box {
		width: 100%;
	}
}

/**
 * プライバシーポリシー
 * privacy_
 */
.privacy_title {
	font-size: 0.83em;
}
.privacy_content {
	font-size: 0.83em;
}
.privacy_content_innerlist {
	margin-left: 1em;
	list-style: disc;
	list-style-position: inside;
	line-height: 1.8;
}

/*--------------------------------
    Amulet Section v2
----------------------------------*/
.topAmulet_Box2 {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	gap: 2em;
	padding: 0 1em;
	width: 100%;
}

.topAmulet_Box2 .topAmulet_SectionWrapper {
	width: 100%;
}
.topAmulet_Box2.topAmulet_SectionWrapper.is-empty {
	height: 0;
	margin-bottom: 0;
}

.topAmulet_Box2 .topAmulet_SectionTitle {
	margin-bottom: 1.25em;
}

.topAmulet_Box2 .topAmulet_SectionTitle > p {
	font-size: 1.75em;
	/* font-weight: bold; */
}

.topAmulet_Box2 .topAmulet_SectionContents {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0 8%;
	/* gap: 0 1em; */
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Box2 .topAmulet_SectionContents {
		gap: 0 6em;
	}
	.topAmulet_Box2 .topAmulet_SectionContents.gap-4em {
		gap: 0 4em;
	}
}

/*----- コンテンツBox */
.topAmulet_Box2 .topAmulet_Wrapper {
	flex: 0 1 46%;
	margin-bottom: 15px;

	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Box2 .topAmulet_Wrapper {
		flex: 0 0 auto;
	}
}

.topAmulet_Box2 .topAmulet_Wrapper.is-empty {
	height: 0;
	margin-bottom: 0;
}

/*----- お守り画像 */
.topAmulet_Box2 .topAmulet_Wrapper > img {
	width: 100% !important;
	/* height: 100px !important; */
	/*20201103    object-fit: cover; */
	object-fit: contain;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Box2 .topAmulet_Wrapper > img {
		width: auto !important;
		height: 180px !important;
	}
}

/*----- 商品名 */
.topAmulet_Box2 .topAmulet_Wrapper > p {
	text-align: center;
	font-size: 4vw;
	margin-top: 16px;
	margin-bottom: 3vh;
}

/*----- 価格 */
.topAmulet_Box2 .topAmulet_Wrapper > p > span {
	font-size: 4vw;
}
@media screen and (min-width: 1200px) {
	/* PC */
	.topAmulet_Box2 .topAmulet_Wrapper > p {
		text-align: center;
		font-size: 20px;
		margin-top: 16px;
	}

	.topAmulet_Box2 .topAmulet_Wrapper > p > span {
		font-size: 18px;
	}
}

/* 画面外にいる状態 */
.fadein {
	opacity: 0.1;
	transform: translate(0, 50px);
	transition: all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

/*----- もっと見るボタンを押したとき */
.topAmulet_Box2 > div {
	opacity: 1;
	transition: all 0.4s ease 0s;
}
.topAmulet_Box2 div.is-hidden {
	display: none;
	/* opacity: 0;
	height: 0;
	margin: 0; */
}

.more {
	text-align: center;
}

/* topAmulet_Wrapper 幅指定 */
.sp-flex-basis-100 {
	flex-basis: 100% !important;
}
@media screen and (min-width: 1200px) {
	.sp-flex-basis-100 {
		flex-basis: auto !important;
	}
}
.sp-flex-basis-46 {
	flex-basis: 46%;
}
@media screen and (min-width: 1200px) {
	.sp-flex-basis-46 {
		flex-basis: auto;
	}
}

/* topAmulet_Wrapper 余白指定 */
.topAmulet_Wrapper.flex-grow-1 {
	flex-grow: 1;
}

/* topAmulet_Wrapper 位置指定 */
.topAmulet_Wrapper.margin-right-auto {
	margin-right: auto;
}

.sp-width-50 {
	width: 50%;
}
@media screen and (min-width: 1200px) {
	.pc-flex-basis-30 {
		flex-basis: 30% !important;
	}
	.pc-flex-basis-40 {
		flex-basis: 40% !important;
	}
	.pc-flex-grow-1 {
		flex-grow: 1 !important;
	}
}

/* ==========================	*/
/* 新TOPページレイアウト
==================================	*/
/* ページコンテンツエリア */
.n_contents {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 5em;
	max-width: 1600px;
}

/* 休所日カレンダー */
.n_top_calendar {
	margin-left: auto;
	margin-right: auto;
	width: 30%;
	text-align: center;
	padding: 0.5em;
	border-radius: 0.5em;
	margin-bottom: -2em;
}
@media screen and (max-width: 1199px) {
	.n_top_calendar {
		border-bottom: initial;
		width: 100%;
	}
}

.n_top_calendar_title {
	font-size: 2em;
	font-weight: normal;
}

.n_top_calendar_date {
	font-size: 1.5em;
	font-weight: normal;
	color: #fff;
}

/* お知らせエリア */
.n_top_info_box {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 3em 0;
}

/* バックナンバーエリア */
.n_top_backnumber_box {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 1.25em 0;
}

/* 採用情報エリア */
.n_top_recruit_box {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 1.25em 0;
}
@media screen and (max-width: 1199px) {
	.n_top_recruit_box {
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: center;
		gap: 0.75em;
	}	
}

/* セクションタイトル */
.n_section_box_title {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0 2em;
}
@media screen and (max-width: 1199px) {
	.n_section_box_title {
		flex-direction: column;
		justify-content: center;
		gap: 0.75em;
	}	
}


.n_section_box_title_col {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.75em;
}

/* セクションタイトル画像 */
.n_section_box_title_img {
	max-width: 50px;
	width: 100%;
}
@media screen and (max-width: 1199px) {
	.n_section_box_title_img {
		width: 10vw;
	}
}


/* セクションタイトルテキストエリア */
.n_section_box_title_txt {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0 1.5em;
}

@media screen and (max-width: 1199px) {
	.n_section_box_title_txt {
		flex-direction: column;
		justify-content: center;	
		flex-wrap: wrap;
	}
}


/* セクションタイトルテキストエリア（日本語） */
.n_section_box_title_txt_jp {
	font-size: 2em;
	font-weight: normal;
}

/* セクションタイトルテキストエリア（英語） */
.n_section_box_title_txt_en {
	font-size: 1em;
	font-weight: normal;
}

/* セクションコンテンツエリア (横並び: スマホサイズは縦並び)*/
.n_section_box_contents {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5em;
	width: 100%;
}
@media screen and (max-width: 1199px) {
	.n_section_box_contents {
		flex-direction: column;
	}
}

/* セクションコンテンツエリア (縦並び)*/
.n_section_box_contents_col {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 2em;
}

/* セクションコンテンツエリア（お知らせ記事） */
.n_section_box_contents_article {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	padding: 1em;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
	flex-basis: 30%;
	border-radius: 0.5em;
}

.n_section_box_contents_article_title {
	width: 100%;
	text-align: center;
}

.n_section_box_contents_article_img_wrapper {
	background-color: #fff;
	width: 100%;
	aspect-ratio: 16/9;
}

.n_section_box_contents_article_img {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: #fff;
	aspect-ratio: 16/9;
}

.n_section_box_contents_article_btn_wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 3em;
	width: 100%;
}

@media screen and (max-width: 1199px) {
	.n_section_box_contents_article_btn_wrapper {
		gap: 0;
	}	
}

.n_section_box_contents_article_btn_blk {
	background-color: #000;
	color: #fff;
	padding: 0.5em 3em;
	text-decoration: none;
	font-size: 1.25em;
	font-weight: normal;
}
.link_button02.n_section_box_contents_article_btn_blk {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: initial;
}

.n_section_box_contents_article_btn_gold {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: initial;
}

.n_section_box_contents_article_btn_gold {
	background-color: #dab300;
	color: #000;
	padding: 0.5em 3em;
	text-decoration: none;
	font-size: 1.25em;
	font-weight: normal;
}

.n_section_box_contents_article_btn_gold > span.with_arrow:after {
	content: "→";
	margin-left: 0.5em;
}

.n_section_box_contents_recruit_img {
	width: 80%;
}

.n_section_box_contents_article_img > img {
	height: 100%;
	object-fit: contain;
}

