@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 120px 0 0;
	width: 100%;
	line-height: 1.8;
    color: rgba(255,255,255,0.9);
    font-family: 'Noto Serif JP', 'Times New Roman', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', 'MS PMincho', serif;
	font-weight: 300;
}
body::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/cmn/bg_all.jpg") repeat-y center top;
	background-size: 100% 300px;
    z-index: -1;
}
#wrapper {
	overflow: hidden;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}
#introduction, #nenkan, #satsuki, #goteian, #access {
    margin-top: -140px;
    padding-top: 140px;
}

@media screen and (max-width:1279px) {
    body {
        padding: 60px 0 0;
    }
    #introduction, #nenkan, #satsuki, #goteian, #access {
        margin-top: -70px;
        padding-top: 70px;
    }
}

@media screen and (max-width:599px) {
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: url("../img/cmn/bg_all.jpg") repeat-y center top;
	background-size: 100% 300px;
	line-height: 1;
	z-index: 1010;
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 30px 0px 30px;
	width: 100%;
    max-width: 1460px;
    height: 120px;
}
.hd-logo {
	position: relative;
	margin: 0px 0 0 0;
	width: 223px;
	text-align: left;
}
.hd-logo img {
}
.hd-info {
	width: calc(100% - 223px);
    vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}
.hd-contact {
}
.hd-tel {
	margin: 0 40px 0 60px;
    text-align: left;
}
.hd-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 45px;
	font-size: 24px;
    line-height: 1.2;
	letter-spacing: 2px;
	font-weight: 300;
}
.hd-tel strong::before {
	content: "TEL.";
	display: block;
	position: absolute;
	transform: translateY(-50%);
	top: 60%;
	left: 0;
	margin: 0;
	font-size: 16px;
    line-height: 1;
	letter-spacing: 1px;
	font-weight: 300;
}
.hd-tel p {
	padding: 0 0 0 0;
	font-size: 16px;
    line-height: 1.6;
	font-weight: 300;
	letter-spacing: 1px;
}
.hd-mail {
}
.hd-mail a {
    display: block;
    width: 220px;
	background-image:  url("../img/cmn/icon_hd_mail01.png"), url("../img/cmn/icon_hd_mail02.png"), url("../img/cmn/icon_hd_mail03.png"), url("../img/cmn/icon_hd_mail04.png"), url("../img/cmn/bg_hd_mail.jpg");
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: 1% 5%, 99% 5%, 1% 95%, 99% 95%, center center;
    background-size: auto, auto, auto, auto, cover;
    text-align: center;
}
.hd-mail a span {
    display: inline-block;
	padding: 13px 0 0 0;
    height: 50px;
	font-size: 15px;
    line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
    color: #000000;
}

@media screen and (max-width: 1400px) {
    .hd-tel {
        margin: 0 30px 0 40px;
    }
    .hd-tel strong {
        padding: 0 0 0 40px;
        font-size: 22px;
    }
    .hd-tel strong::before {
        font-size: 14px;
    }
    .hd-tel p {
        font-size: 15px;
    }
    .hd-mail a {
        width: 200px;
    }
    .hd-mail a span {
        padding: 14px 0 0 0;
        font-size: 14px;
    }
}

@media screen and (max-width: 1279px) {
	.hd-inr {
        padding: 0px 15px 0px 20px;
        height: 60px;
	}
	.hd-logo {
        width: 190px;
	}
    .hd-logo img {
    }
	.hd-info {
		width: calc(100% - 190px);
		padding: 0 55px 0 0;
		align-items: center;
	}
	.hd-menu {
		margin: 0;
		padding: 0;
	}
    .hd-tel {
        margin: 0 30px 0 0;
    }
    .hd-tel strong {
        padding: 0 0 0 35px;
        font-size: 20px;
    }
    .hd-tel strong::before {
        font-size: 13px;
    }
    .hd-tel p {
        font-size: 12px;
    }
    .hd-mail {
        margin: 0 20px 0 0;
    }
    .hd-mail a span {
        padding: 9px 0 0 0;
        font-size: 14px;
        height: 40px;
    }
}

@media screen and (max-width: 959px) {
    .hd-contact {
        height: 40px;
    }
    .hd-tel {
        margin: 0 15px 0 0px;
    }
	.hd-tel a {
		display: block;
		position: relative;
		padding: 0;
		width: 40px;
		height: 40px;
		background: #000000;
	}
	.hd-tel a::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin: 0;
		width: 16px;
		height: 20px;
		background: url("../img/cmn/icon_hd_tel.png") no-repeat center center;
		background-size: contain;
	}
	.hd-tel a strong,
	.hd-tel a small {
		display: none;
	}
	.hd-tel p {
		display: none;
	}
    .hd-mail {
        margin: 0 0px 0 0;
    }
    .hd-mail a {
        display: block;
        width: 40px;
        height: 40px;
        text-align: center;
        background: #000000 url("../img/cmn/icon_hd_mail.png") no-repeat center center;
        background-size: auto;
    }
    .hd-mail a span {
        display: none;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .hd-inr {
        padding: 0px 15px 0px 10px;
	}
	.hd-logo {
        width: 170px;
	}
	.hd-info {
		width: calc(100% - 170px);
		padding: 0 45px 0 0;
	}
    .hd-tel {
        margin: 0 10px 0 0px;
    }
}

@media screen and (max-width: 320px) {
	.hd-logo {
        width: 140px;
	}
    .hd-logo img {
    }
	.hd-info {
		width: calc(100% - 140px);
	}
}

/*	フッター
---------------------------------*/
footer {
	padding-top: 50px;
	padding-bottom: 40px;
    text-align: center;
}
footer .contents-inr {
}

.ft-logo {
    margin: 0px 0 20px 0;
}

.ft-nav {
}
.ft-nav > ul {
	margin: 0;
    font-size: 0;
}
.ft-nav > ul > li {
    display: inline-block;
    vertical-align: top;
	margin: 0px 35px 10px 0px;
	font-size: 14px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.6;
    position: relative;
}
.ft-nav > ul > li:last-of-type {
	margin: 0px 0px 10px 0px;
}
.ft-nav > ul > li::before {
	content: "";
	display: block;
	position: absolute;
	top: 28%;
	right: -18px;
	margin: 0;
	width: 1px;
	height: 12px;
	background: #cccccc;
}

.ft-copyright {
	padding: 40px 0px 0px 0px;
	font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0px;
    font-weight: 300;
}

@media screen and (max-width: 1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
    .ft-nav {
        display: none;
    }
    .ft-logo {
        margin: 0px 0 0px 0;
    }
}

@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 30px;
        height: auto;
    }
    footer {
        padding-top: 40px;
        padding-bottom: 30px;
    }
    .ft-logo {
        max-width: 60%;
        margin: 0px auto 0px auto;
    }
    .ft-copyright {
        padding: 30px 0px 0px 0px;
        font-size: 10px;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 30px 0px 0 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 25px;
	padding: 0 0px 0px 0px;
}
.pc-nav > ul > ul li.first {
	margin: 0;
	padding: 0;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 16px;
    line-height: 1.6;
	font-weight: 300;
    letter-spacing: 1px;
}
.pc-nav > ul > li > a span {
	position: relative;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
}
.pc-nav > ul > li.current a::before,
.pc-nav > ul > li a:hover::before {
}

.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 15px 10px 15px 10px;
	width: 200px;
	max-height: 0;
	background: rgba(0,0,0,0.7);
	text-align: center;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 5px 0px 5px 0px;
	text-align: center;
	font-size: 15px;
    line-height: 1.6;
	font-weight: 300;
    letter-spacing: 1px;
	color: #fff;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

@media screen and (max-width:1400px) {
    .pc-nav > ul > li {
        margin: 0px 0px 0 20px;
    }
    .pc-nav > ul > li > a {
        font-size: 15px;
    }
}

@media screen and (max-width:1279px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:1279px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.8);
		font-size: 1.8rem;
		font-weight: 300;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
		font-weight: 300;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 20px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}

	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
		font-weight: 300;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		content: "";
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}
	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 10px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #000000;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 14px;
	}
	header .navToggle {
		right: 10px;
	}
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 0;
}
.main-img-inr {
	position: relative;
	margin: 0 auto;
	width: 100%;
}
.main-img {
	position: relative;
	width: 100%;
	height: 800px;
	background: no-repeat center center / auto 100%;
}
.main-img.img01 {
	background-image: url("../img/top/img_main01.jpg");
}
.main-img.img02 {
	background-image: url("../img/top/img_main02.jpg");
}
.main-img.img03 {
	background-image: url("../img/top/img_main03.jpg");
}
.main-img.img04 {
	background-image: url("../img/top/img_main04.jpg");
}
.main-img.img05 {
	background-image: url("../img/top/img_main05.jpg");
}
.main-img.img06 {
	background-image: url("../img/top/img_main06.jpg");
}
.main-img.img07 {
	background-image: url("../img/top/img_main07.jpg");
}
.main-img.img08 {
	background-image: url("../img/top/img_main08.jpg");
}
.main-img.img09 {
	background-image: url("../img/top/img_main09.jpg");
}
.main-img.img10 {
	background-image: url("../img/top/img_main10.jpg");
}

.main-img-cap {
	position: absolute;
    top: 22%;
    left: calc(50% - 601px);
    width: 601px;
	text-align: right;
	z-index: 1001;
}
.main-img-cap img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.main-img-otr .bx-controls {
	display: none!important;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 9px;
}
.bx-pager-item a {
	display: block;
	width: 10px;
	height: 10px;
	background: #0062c3;
	border-radius: 0;
	text-indent: -9999px;
    border: #ffffff 1px solid;
	text-align: left;
}
.bx-pager-item a.active {
	background: #ffffff;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1600px) {
    .main-img {
        height: 50vw;
        background: no-repeat center center / cover;
    }
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .main-img {
        height: 60vw;
    }
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 30px;
	padding-right: 30px;
	max-width: 1160px;
}
.contents-inr.full {
	max-width: 100%;
	padding: 0;
}
.contents-inr.large {
	max-width: 1460px;
}

@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
    .contents-inr.large {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/*	汎用タイトル
---------------------------------*/
.ttl-cmn01 {
    padding: 15px 10px 15px 10px;
	font-weight: 500;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 0px;
    text-align: center;
    color: #000000;
	background: url("../img/cmn/title_arw01.jpg") center center no-repeat;
    background-size: 100% 100%;
}

.ttl-cmn02 {
    padding: 0px 0px 0px 28px;
	font-weight: 300;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 1px;
    text-align: left;
    color: #f7cb6b;
	background: url("../img/cmn/icon_arw01.png") left center no-repeat;
    background-size: auto;
}
.ttl-cmn02 span {
    display: inline-block;
	margin: 0px 0px 0px 10px;
	font-weight: 300;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: 1px;
    color: #f7cb6b;
}

.ttl-cmn03 {
    text-align: center;
    overflow: hidden;
}
.ttl-cmn03 span {
    display: inline-block;
    padding: 0 20px 0 20px;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.4;
	letter-spacing: 0px;
    color: #f7cb6b;
    position: relative;
}
.ttl-cmn03 span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 100%;
	margin: 0;
	width: 1000px;
	height: 1px;
	background: #9f873c;
}
.ttl-cmn03 span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 100%;
	margin: 0;
	width: 1000px;
	height: 1px;
	background: #9f873c;
}

@media screen and (max-width: 959px) {
    .ttl-cmn02 {
        font-size: 22px;
    }
    .ttl-cmn02 span {
        font-size: 18px;
    }
    .ttl-cmn03 span {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .ttl-cmn01 {
        padding: 10px 5px 10px 5px;
        font-size: 20px;
    }
    .ttl-cmn02 {
        padding: 0px 0px 0px 26px;
        font-size: 18px;
        line-height: 1.2;
        background-size: 18px;
    }
    .ttl-cmn02 span {
        margin: 0px 0px 0px 10px;
        font-size: 14px;
        line-height: 1.2;
    }
    .ttl-cmn03 span {
        font-size: 22px;
    }
}

/*	トップページ
---------------------------------*/
/* 開放された お内仏 */
.top-introduction {
	padding-top: 75px;
	padding-bottom: 120px;
    position: relative;
}
.top-introduction::before {
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	left: 6vw;
	margin: 0;
	width: 295px;
	height: 108px;
	background: url("../img/top/bg_introduction_left.png") center center no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-introduction::after {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	right: 2vw;
	margin: 0;
	width: 399px;
	height: 147px;
	background: url("../img/top/bg_introduction_right.png") center center no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-introduction .contents-inr {
}
.top-introduction h2 {
    margin-bottom: 50px;
    text-align: center;
}
.top-introduction h2 span {
    display: inline-block;
    padding: 40px 45px 22px 45px;
	font-size: 36px;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 2px;
    color: #f7cb6b;
	background-image: url("../img/top/title_introduction_top.png"), url("../img/top/title_introduction_bottom.png");
	background-position: center top, center bottom;
	background-repeat: no-repeat, no-repeat;
    background-size: auto, auto;
}
.top-introduction p {
    margin-bottom: 15px;
	font-size: 16px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 2.2;
    text-align: center;
}
.top-introduction p.mini {
    margin-top: 50px;
	font-size: 12px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.8;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-introduction::before {
        width: 200px;
    }
    .top-introduction::after {
        width: 300px;
    }
    .top-introduction h2 span {
        padding: 40px 35px 22px 35px;
        font-size: 30px;
    }
    .top-introduction p {
        font-size: 14px;
    }
    .top-introduction p.mini {
        font-size: 11px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-introduction {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .top-introduction::before {
        left: 2vw;
        width: 100px;
    }
    .top-introduction::after {
        right: 1vw;
        width: 200px;
    }
    .top-introduction h2 {
        margin-bottom: 30px;
    }
    .top-introduction h2 span {
        display: block;
        padding: 40px 0px 20px 0px;
        font-size: 22px;
    }
    .top-introduction p {
        margin-bottom: 15px;
        font-size: 14px;
        line-height: 2;
        text-align: left;
    }
    .top-introduction p.mini {
        margin-top: 30px;
        margin-bottom: 0px;
        font-size: 11px;
        line-height: 1.8;
    }
}

/* 返照山 圓成寺 */
.top-enjyouji {
	padding-top: 50px;
	padding-bottom: 120px;
	background: url("../img/top/bg_enjyouji.jpg") center center no-repeat;
    background-size: cover;
}
.top-enjyouji .contents-inr {
}
.top-enjyouji .title-enjyouji {
    max-width: 800px;
    height: 62px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
	background: url("../img/top/title_enjyouji.png") center center no-repeat;
    background-size: auto;
}
.top-enjyouji .text-box {
    background: rgba(255,255,255,0.8);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 50px;
}
.top-enjyouji .text-box img {
}
.top-enjyouji .text-box h2 {
    text-align: center;
    padding: 35px 15px 25px 15px;
	font-size: 30px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 1.5px;
    color: #000000;
}
.top-enjyouji .text-box p {
    padding: 0px 15px 0px 15px;
	font-size: 16px;
    letter-spacing: 1px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    color: #000000;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-enjyouji .title-enjyouji {
        height: 50px;
        background-size: auto 100%;
    }
    .top-enjyouji .text-box h2 {
        font-size: 24px;
    }
    .top-enjyouji .text-box p {
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-enjyouji {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .top-enjyouji .text-box {
        padding-bottom: 30px;
    }
    .top-enjyouji .text-box h2 {
        padding: 30px 15px 20px 15px;
    }
    .top-enjyouji .text-box p {
        padding: 0px 15px 0px 15px;
        text-align: left;
    }
}

/* 圓成寺 年間行事 */
.top-nenkan {
	padding-top: 120px;
	padding-bottom: 120px;
	text-align: center;
	background: #000000;
}
.top-nenkan .contents-inr {
}

.top-nenkan .top-nenkan__img {
    margin-bottom: 40px;
}
.top-nenkan .top-nenkan__img li {
	margin: 0 3px 0 0;
	width: 68.181818%;
}
.top-nenkan .top-nenkan__img li:nth-of-type(2) {
	margin: 0 0 0 0;
	width: calc(31.818182% - 3px);
}
.top-nenkan .top-nenkan__img li img {
    width: 100%;
    height: auto;
}
.top-nenkan .top-nenkan__img li img.img-nenkan02 {
    margin-bottom: 3px;
}

.top-nenkan .ttl-cmn01 {
    margin-bottom: 25px;
}
.top-nenkan p {
    margin-bottom: 30px;
	font-size: 18px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.8;
    text-align: left;
}

.top-nenkan .top-nenkan__list {
}
.top-nenkan .top-nenkan__list li {
	margin: 0 100px 0 0;
	width: calc(100% - 540px);
}
.top-nenkan .top-nenkan__list li:nth-of-type(2) {
	margin: 0 0 0 0;
    width: 440px;
}
.top-nenkan .top-nenkan__list li .ttl-cmn02 {
    margin-bottom: 15px;
}

.top-nenkan .top-nenkan__list li table.tbl01
{
    margin: 0 0 0 0;
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.top-nenkan .top-nenkan__list li table.tbl01 th
{
    width: 200px;
    vertical-align:top;
    padding:5px 5px 5px 25px;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
    background: #07362f;
    border-bottom: #000000 3px solid;
}
.top-nenkan .top-nenkan__list li table.tbl01 td
{
    vertical-align:top;
    padding:5px 5px 5px 25px;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
    background: #333333;
    border-bottom: #000000 3px solid;
}

.top-nenkan .top-nenkan__list li table.tbl02
{
    margin: 0 0 0 0;
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.top-nenkan .top-nenkan__list li table.tbl02 th
{
    width: 45px;
    vertical-align:top;
    font-size:14px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
}
.top-nenkan .top-nenkan__list li table.tbl02 td
{
    vertical-align:top;
    font-size:14px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .top-nenkan .top-nenkan__list li {
        margin: 0 30px 0 0;
        width: calc(100% - 460px);
    }
    .top-nenkan .top-nenkan__list li:nth-of-type(2) {
        margin: 0 0 0 0;
        width: 430px;
    }
}

@media screen and (max-width: 959px) {
    .top-nenkan p {
        font-size: 16px;
    }
    .top-nenkan .top-nenkan__list li {
        margin: 0 0px 60px 0;
        width: 100%;
    }
    .top-nenkan .top-nenkan__list li:nth-of-type(2) {
        margin: 0 0 0 0;
        width: 100%;
    }
    .top-nenkan .top-nenkan__list li table.tbl01 th
    {
        width: 160px;
        padding:5px 5px 5px 15px;
        font-size:16px;
    }
    .top-nenkan .top-nenkan__list li table.tbl01 td
    {
        padding:5px 5px 5px 15px;
        font-size:16px;
    }
    .top-nenkan .top-nenkan__list li table.tbl02 th
    {
        width: 43px;
        font-size:13px;
    }
    .top-nenkan .top-nenkan__list li table.tbl02 td
    {
        font-size:13px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-nenkan {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .top-nenkan .top-nenkan__img {
        margin-bottom: 30px;
    }
    .top-nenkan .top-nenkan__img li {
        margin: 0 0 3px 0;
        width: 100%;
    }
    .top-nenkan .top-nenkan__img li:nth-of-type(2) {
        margin: 0 0 0 0;
        width: 100%;
        height: 30vw;
        overflow: hidden;
    }
    .top-nenkan .top-nenkan__img li img.img-nenkan02 {
        width: calc((100% - 3px) / 2);
        height: auto;
        margin-right: 3px;
        margin-bottom: 0px;
    }
    .top-nenkan .top-nenkan__img li img.img-nenkan03 {
        margin-top: -3vw;
        width: calc((100% - 3px) / 2);
        height: auto;
    }
    .top-nenkan .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .top-nenkan p {
        margin-bottom: 25px;
        font-size: 14px;
    }
    .top-nenkan .top-nenkan__list li {
        margin: 0 0px 40px 0;
    }
    .top-nenkan .top-nenkan__list li table.tbl01 th
    {
        width: 140px;
        padding:5px 5px 5px 10px;
        font-size:14px;
    }
    .top-nenkan .top-nenkan__list li table.tbl01 td
    {
        padding:5px 5px 5px 10px;
        font-size:14px;
    }
    .top-nenkan .top-nenkan__list li table.tbl02 th
    {
        width: 40px;
        font-size:12px;
        letter-spacing: 0;
    }
    .top-nenkan .top-nenkan__list li table.tbl02 td
    {
        font-size:12px;
        letter-spacing: 0;
    }
}

/* satsuki廟堂のご案内 */
.top-satsuki {
	padding-top: 120px;
	padding-bottom: 70px;
}
.top-satsuki .contents-inr {
}
.top-satsuki .ttl-cmn01 {
    margin-bottom: 25px;
}
.top-satsuki .top-satsuki__txt {
    margin-bottom: 60px;
	font-size: 18px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0.5px;
    text-align: left;
}
.top-satsuki .top-satsuki__list {
}
.top-satsuki .top-satsuki__list li {
	margin: 0 50px 50px 0;
	width: calc((100% - 50px) / 2);
}
.top-satsuki .top-satsuki__list li:nth-of-type(2n) {
	margin: 0 0px 50px 0;
}
.top-satsuki .top-satsuki__list li:last-of-type {
	margin: 0 0px 50px 0;
}
.top-satsuki .top-satsuki__list li img {
    width: 100%;
    height: auto;
}
.top-satsuki .top-satsuki__list li .ttl-cmn02 {
    margin-top: 20px;
    margin-bottom: 15px;
}
.top-satsuki .top-satsuki__list li p {
	font-size: 16px;
    font-weight: 300;
    letter-spacing: 0px;
    line-height: 1.8;
    text-align: left;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .top-satsuki .top-satsuki__list li {
        margin: 0 30px 50px 0;
        width: calc((100% - 30px) / 2);
    }
    .top-satsuki .top-satsuki__list li:nth-of-type(2n) {
        margin: 0 0px 50px 0;
    }
    .top-satsuki .top-satsuki__list li:last-of-type {
        margin: 0 0px 50px 0;
    }
}

@media screen and (max-width:1160px) {
    .top-satsuki .top-satsuki__txt .pconly {
        display: none;
    }
}

@media screen and (max-width: 959px) {
    .top-satsuki .top-satsuki__txt {
        font-size: 16px;
    }
    .top-satsuki .top-satsuki__list li p {
        font-size: 15px;
    }
    .top-satsuki .top-satsuki__list li p .pconly {
        display: none;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-satsuki {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .top-satsuki .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .top-satsuki .top-satsuki__txt {
        margin-bottom: 40px;
        font-size: 14px;
        letter-spacing: 0px;
    }
    .top-satsuki .top-satsuki__list li {
        margin: 0 0 40px 0;
        width: 100%;
    }
    .top-satsuki .top-satsuki__list li:nth-of-type(2n) {
        margin: 0 0 40px 0;
    }
    .top-satsuki .top-satsuki__list li:last-of-type {
        margin: 0 0 0px 0;
    }
    .top-satsuki .top-satsuki__list li p {
        font-size: 14px;
    }
}

/* 希望に応じた選択肢 */
.top-goteian {
	padding-top: 120px;
	padding-bottom: 140px;
	background: #000000;
}
.top-goteian .contents-inr {
}
.top-goteian .ttl-cmn01 {
    margin-bottom: 40px;
}
.top-goteian .top-goteian__txt {
    padding: 40px 40px 40px 40px;
    margin-bottom: 60px;
	font-size: 18px;
    font-weight: 300;
    line-height: 2.1;
    letter-spacing: 0.5px;
    text-align: left;
	background: url("../img/top/bg_goteian.jpg") right center no-repeat;
    background-size: auto 100%;
    border: #07362f 1px solid;
}
.top-goteian .top-goteian__list {
    margin-bottom: 20px;
}
.top-goteian .top-goteian__list li {
	margin: 0 50px 50px 0;
	width: calc((100% - 50px) / 2);
}
.top-goteian .top-goteian__list li:nth-of-type(2n) {
	margin: 0 0px 50px 0;
}
.top-goteian .top-goteian__list li:last-of-type {
	margin: 0 0px 50px 0;
}
.top-goteian .top-goteian__list li img {
    width: 100%;
    height: auto;
}
.top-goteian .top-goteian__list li .ttl-cmn02 {
    margin-top: 20px;
}
.top-goteian .ttl-cmn03 {
    margin-bottom: 15px;
}
.top-goteian .top-goteian__txt02 {
    margin-bottom: 35px;
	font-size: 18px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0.5px;
    text-align: left;
}
.top-goteian .top-goteian__txt03 {
    margin-top: 15px;
	font-size: 16px;
    font-weight: 300;
    line-height: 1.8;
    letter-spacing: 0.5px;
    text-align: left;
}
.top-goteian table.tbl03
{
    margin: 0 0 0 0;
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.top-goteian table.tbl03 th
{
    width: 150px;
    vertical-align:top;
    padding:10px 0px 10px 0px;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 500;
    text-align: center;
    color: #000000;
	background: url("../img/cmn/title_arw02.png") center center no-repeat;
    background-size: 100% 100%;
    border-bottom: #000000 5px solid;
}
.top-goteian table.tbl03 td
{
    vertical-align:top;
    padding:10px 0px 10px 35px;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
    background: #07362f;
    border-bottom: #000000 5px solid;
}
.top-goteian table.tbl03 td.kin
{
    width: 150px;
    vertical-align:top;
    padding:10px 30px 10px 0px;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: right;
    background: #07362f;
    border-bottom: #000000 5px solid;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .top-goteian .top-goteian__list li {
        margin: 0 30px 50px 0;
        width: calc((100% - 30px) / 2);
    }
    .top-goteian .top-goteian__list li:nth-of-type(2n) {
        margin: 0 0px 50px 0;
    }
    .top-goteian .top-goteian__list li:last-of-type {
        margin: 0 0px 50px 0;
    }
}

@media screen and (max-width: 959px) {
    .top-goteian .top-goteian__txt {
        padding: 30px 30px 30px 30px;
        font-size: 16px;
        background: url("../img/top/bg_goteian.jpg") 30% center no-repeat;
        background-size: auto 100%;
    }
    .top-goteian .top-goteian__txt02 {
        font-size: 17px;
    }
    .top-goteian .top-goteian__txt03 {
        font-size: 15px;
    }
    .top-goteian table.tbl03 th
    {
        width: 120px;
        font-size:16px;
    }
    .top-goteian table.tbl03 td
    {
        padding:10px 0px 10px 20px;
        font-size:16px;
    }
    .top-goteian table.tbl03 td.kin
    {
        width: 120px;
        padding:10px 20px 10px 0px;
        font-size:16px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-goteian {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .top-goteian .ttl-cmn01 {
        margin-bottom: 25px;
    }
    .top-goteian .top-goteian__txt {
        margin-bottom: 40px;
        padding: 10px 15px 40vw 15px;
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: 0px;
        background: url("../img/top/bg_goteian.jpg") right bottom no-repeat;
        background-size: 150%;
    }
    .top-goteian .top-goteian__list li {
        margin: 0 0px 40px 0;
        width: 100%;
    }
    .top-goteian .top-goteian__list li:nth-of-type(2n) {
        margin: 0 0px 40px 0;
    }
    .top-goteian .top-goteian__list li:last-of-type {
        margin: 0 0px 30px 0;
    }
    .top-goteian .ttl-cmn03 {
        margin-bottom: 15px;
    }
    .top-goteian .top-goteian__txt02 {
        font-size: 16px;
        letter-spacing: 0px;
        text-align: left;
    }
    .top-goteian .top-goteian__txt03 {
        margin-top: 10px;
        font-size: 14px;
        line-height:1.6;
        letter-spacing: 0px;
    }
    .top-goteian table.tbl03 th
    {
        display: block;
        width: 100%;
        padding:5px 0px 5px 0px;
        font-size:14px;
        letter-spacing: 1px;
        line-height:1.6;
        border-bottom: none;
    }
    .top-goteian table.tbl03 td
    {
        display: block;
        width: 100%;
        padding:8px 10px 2px 10px;
        font-size:14px;
        letter-spacing: 1px;
        line-height:1.6;
        border-bottom: none;
    }
    .top-goteian table.tbl03 td.kin
    {
        display: block;
        width: 100%;
        padding:0px 10px 8px 10px;
        font-size:14px;
        letter-spacing: 1px;
        line-height:1.6;
    }
}

/* アクセス */
.top-access {
	padding-top: 120px;
	padding-bottom: 110px;
	text-align: center;
}
.top-access .contents-inr {
}
.top-access .ttl-cmn01 {
    margin-bottom: 40px;
}
.top-access iframe {
    width: 100%;
    height: 400px;
}
.top-access table.tbl04
{
    margin: 25px 0 0 0;
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.top-access table.tbl04 th
{
    width: 95px;
    vertical-align:top;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 500;
    text-align: left;
    color: #f7cb6b;
}
.top-access table.tbl04 td
{
    vertical-align:top;
    font-size:18px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 300;
    text-align: left;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-access table.tbl04 th
    {
        width: 90px;
        font-size:16px;
    }
    .top-access table.tbl04 td
    {
        font-size:16px;
    }
    .top-access table.tbl04
    {
        margin: 20px 0 0 0;
    }
    .top-access table.tbl04 th
    {
        width: 70px;
        font-size:14px;
        line-height:1.6;
        padding-bottom: 10px;
    }
    .top-access table.tbl04 td
    {
        font-size:14px;
        line-height:1.6;
        padding-bottom: 10px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-access {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .top-access .ttl-cmn01 {
        margin-bottom: 25px;
    }
    .top-access iframe {
        width: 100%;
        height: 300px;
    }
}

/* お問い合わせ */
.cmn-contact {
    text-align: center;
}
.cmn-contact .contents-inr {
}
.cmn-contact .cmn-contact-inr {
    background: #000000;
    padding: 20px 40px 20px 40px;
}
.cmn-contact h2 {
    width: calc(100% - 580px);
    padding: 13px 0 0 0;
	font-size: 20px;
    line-height: 1.6;
	letter-spacing: 1px;
    font-weight: 500;
    color: #f7cb6b;
    text-align: left;
}
.cmn-contact .cmn-contact-tel {
    width: 260px;
	margin: 2px 0 0 0;
    text-align: left;
}
.cmn-contact .cmn-contact-tel strong {
	display: inline-block;
	position: relative;
	padding: 0 0 0 45px;
	font-size: 24px;
    line-height: 1.2;
	letter-spacing: 2px;
	font-weight: 300;
}
.cmn-contact .cmn-contact-tel strong::before {
	content: "TEL.";
	display: block;
	position: absolute;
	transform: translateY(-50%);
	top: 60%;
	left: 0;
	margin: 0;
	font-size: 16px;
    line-height: 1;
	letter-spacing: 1px;
	font-weight: 300;
}
.cmn-contact .cmn-contact-tel p {
	padding: 0 0 0 0;
	font-size: 16px;
    line-height: 1.6;
	font-weight: 300;
	letter-spacing: 1px;
}
.cmn-contact .cmn-contact-line {
    width: 100px;
    text-align: left;
}
.cmn-contact .cmn-contact__btn {
    width: 220px;
}
.cmn-contact .cmn-contact__btn a {
    display: block;
    width: 220px;
	background-image:  url("../img/cmn/icon_hd_mail01.png"), url("../img/cmn/icon_hd_mail02.png"), url("../img/cmn/icon_hd_mail03.png"), url("../img/cmn/icon_hd_mail04.png"), url("../img/cmn/bg_ft_mail.jpg");
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: 1% 5%, 99% 5%, 1% 95%, 99% 95%, center center;
    background-size: auto, auto, auto, auto, cover;
    text-align: center;
}
.cmn-contact .cmn-contact__btn a span {
    display: inline-block;
	padding: 18px 0 0 0;
    height: 60px;
	font-size: 15px;
    line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
    color: #000000;
}

@media screen and (max-width:1100px) {
    .cmn-contact h2 {
        width: 100%;
        padding: 0px 0 20px 0;
        text-align: center;
    }
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
    .cmn-contact h2 {
        padding: 0px 0 15px 0;
    }
    .cmn-contact .cmn-contact-tel {
        width: 100%;
        margin: 0px 0 20px 0;
        text-align: center;
    }
}

@media screen and (max-width: 599px) {
    .cmn-contact .cmn-contact-inr {
        padding: 20px 15px 20px 15px;
    }
    .cmn-contact h2 {
        font-size: 20px;
        line-height: 1.4;
    }
    .cmn-contact .cmn-contact-tel {
        margin: 0px 0 15px 0;
    }
    .cmn-contact .cmn-contact-line {
        width: 100%;
        margin: 0px 0 15px 0;
        text-align: center;
    }
}

