@charset "UTF-8";

body {
	margin: 0;
	font-family: "Noto Serif JP", serif;
	/* font-family: Arial, sans-serif; */
	color: #3c3c3c;
}
h2 {
	position: relative;
	margin-bottom: 50px;
	font-size: 23px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 2px;
}
h2::after{
	content: '';
	width: 40px;
	height: 1px;
	display: inline-block;
	background-color: #3c3c3c;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
h3 {
	font-size: 16px;
	font-weight: bold;
}
a {
	color: #3c3c3c;
}
img {
	width: 100%;
}

@media (max-width: 750px) {
	h2 {
		margin-bottom: 50px;
		font-weight: bold;
	}
}


/** 共通パーツ
********************/
section {
	padding: 50px 0;
}
.wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}


/** header
********************/
.header {
	background-color: #FFF;
	color: #FFF;
    padding: 20px 40px;
	border-bottom: 1px solid #dddddd;
}

.header_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}

.logo {
	font-size: 20px;
	font-weight: bold;
	line-height: 0;
}

.logo a {
	display: block;
}

.logo img {
	height: 33px;
}

.nav-menu {
	display: flex;
	gap: 30px;
}

.nav-menu a {
	color: #3d3d3d;
	text-decoration: none;
	font-size: 16px;
	letter-spacing: 1px;
}

.hamburger {
	display: none;
	flex-direction: column;
	gap: 7px;
	cursor: pointer;
}

.hamburger div {
	width: 30px;
	height: 2px;
	background-color: #373737;
}

.mobile-menu {
	position: fixed;
	top: 0;
	right: -250px;
	width: 250px;
	height: 100%;
	background-color: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 60px;
	transition: right 0.4s ease-in-out;
	z-index: 999;
}

.mobile-menu a {
	color: #FFF;
	text-decoration: none;
	font-size: 18px;
	margin: 10px 0;
}

.mobile-menu.active {
	right: 0;
}

@media (max-width: 750px) {
	.header {
		padding: 15px 20px;
	}
	.nav-menu {
			display: none;
	}

	.hamburger {
			display: flex;
	}
}


/** fv
********************/
section.fv_buddhist {
	padding: 0;
	background-image: url(../images/buddhist_main.jpg);
    background-repeat: no-repeat;
    background-size: cover;
	background-position: 0 -30px;
}
section.fv {
	padding: 0;
	background-image: url(../images/kuyou_main.jpg);
	background-repeat: no-repeat;
    background-size: cover;
    background-position: center top -22vw;
}
section.fv_relics {
	padding: 0;
	background-image: url(../images/relics_main.jpg);
	background-size: auto 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top -20vw;
}
.fv_wrap {
	max-width: 1200px;
	margin: 0 auto;
}
.fv_con {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40vh;
}
h1 {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: clamp(28px, 7.2vw, 32px);
	color: #FFF;
	font-weight: bold;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "游明朝", "MS PMincho", serif!important;
}
.fv_tit {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: clamp(28px, 7.2vw, 32px);
	color: #FFF;
	font-weight: bold;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "游明朝", "MS PMincho", serif!important;
}

.fv-title {
    color: transparent;
    font-size: 1px;
    line-height: 0;
    height: 0;
    overflow: hidden;
}

@media (max-width: 750px) {
	section.fv_buddhist {
		background-position: calc(50% - 70px) center;
	}
	section.fv {
		padding: 0;
		background-image: url(../images/kuyou_main.jpg);
		background-size: cover;
		background-position: unset;
	}
	section.fv_relics {
		background-position: unset;
	}
}



/** concept
********************/
#concept {
    padding: 120px 0;
    background-image: url(../images/concept_bg.png);
    background-repeat: no-repeat;
    background-position: right -232px bottom 10%;
    background-size: 560px;
}
#concept .concept_content {
	max-width: 1000px;
	margin: 0 auto;
}
#concept .concept_content p {
	font-size: 15px;
	text-align: center;
	line-height: 36px;
}

@media (min-width: 749px) {
	#concept {
		padding: 120px 0;
		background-image: url(../images/concept_bg.png);
		background-repeat: no-repeat;
		background-position: right -60px bottom -100px;
		background-size: 760px;
	}
	#concept .concept_content p {
		height: 320px;
		margin: 0 auto;
		line-height: 48px;
		font-size: 17px;
		text-align: justify;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}
}


/** flow
********************/
#flow {
	background-image: url(../img/flow_bg.jpg);
}
#flow ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#flow ul li {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
#flow ul li .flow_image {
	position: relative;
	flex: 0 0 20%;
	max-width: 20%;
	min-width: 240px;
}
#flow ul li .flow_image::before{
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    height: 70px;
	background-repeat: no-repeat;
	background-size: cover;
}
/* #flow ul li:nth-child(1) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step01.png');
}
#flow ul li:nth-child(2) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step02.png');
}
#flow ul li:nth-child(3) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step03.png');
}
#flow ul li:nth-child(4) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step04.png');
}
#flow ul li:nth-child(5) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step05.png');
}
#flow ul li:nth-child(5) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step06.png');
}
#flow ul li:nth-child(6) .flow_image::before{
	content: '';
	background-image: url('../images/flow_step07.png');
} */
#flow ul li .flow_image img {
	display: block;
	width: 100%;
	height: auto;
}
#flow ul li dl {
	flex: 1;
}
#flow ul li dl dt {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 21px;
	font-weight: bold;
	text-align: left;
}
#flow ul li dl dt span {
}
#flow ul li dl dd {
    font-size: 16px;
    line-height: 32px;
	font-family: Arial, sans-serif;
}

@media (max-width: 750px){
	#flow ul {
		flex-wrap: wrap;
	}
	#flow ul li {
		width: 100%;
	}
	#flow ul li .flow_image {
		flex: 0 0 40%;
		max-width: 40%;
		min-width: unset;
	}
	#flow ul li .flow_image::before{
		width: 50px;
		height: 50px;
	}
	#flow ul li dl dt {
		margin-top: 0;
		margin-bottom: 7px;
	}
	#flow ul li dl dd {
        font-size: 14px;
        line-height: 24px;
	}
}


/** price
********************/
#price {
}
#price table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
#price table tr {
	font-family: 'Noto Serif JP', serif!important;
}
#price table th {
	background: #f4eee6;
}
#price table th,
#price table td {
	padding: 20px 0;
	font-size: clamp(16px, 4.27vw, 20px);
	text-align: center;
	border: 1px solid #888;
}
#price table td {
}
#price table td:nth-child(2){
	/* color: #ed3921; */
}
#price table td span.sale {
	font-weight: bold;
}


/** question
********************/
#question {
}
#question ul {
}
#question ul li {
	margin-bottom: 30px;
	padding: 20px;
	background-color: #f7f7f7;
	font-size: 15px;
}
#question ul li .question_q {
	position: relative;
	margin-bottom: 12px;
	padding-left: 45px;
	font-size: 17px;
	font-weight: 500;
}
#question ul li .question_q::before{
	content: "Q";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: auto;
	border-radius: 50%;
	background-color: #2fb2a0;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "游明朝", "MS PMincho", serif!important;
}
#question ul li .question_a {
    position: relative;
    font-size: 13px;
    padding-left: 45px;
    line-height: 24px;
    font-family: Arial, sans-serif;
}
#question ul li .question_a::before {
	/* content: ''; */
	display: block;
	width: 30px;
	height: 30px;
	background-image: url('../images/faq_a.webp');
	background-size: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}



/** footer
********************/
footer {
	padding: 50px 0;
	border-top: 1px solid #dddddd;
	background-color: #f7f7f7;
	font-family: "リュウミン", "Ryumin Pro", "Ryumin Pr6N", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif!important;
}
footer .logo {
	display: flex;
	justify-content: flex-start;
	max-width: 160px;
	margin-bottom: 50px;
}
footer .footer_menu {
	display: flex;
	justify-content: space-between;
	column-gap: 30px;
}
footer .footer_menu .footer_menu_category {
	width: 25%;
}
footer .footer_menu .footer_menu_category ul {
}
footer .footer_menu .footer_menu_category ul li {
	margin-bottom: 10px;
}
footer .footer_menu .footer_menu_category ul li:last-child {
	margin-bottom: 0;
}
footer .footer_menu .footer_menu_category dl {
	font-size: 14px;
	color: #445566;
}
footer .footer_menu .footer_menu_category dl dt {
	margin-bottom: 20px;
	padding-bottom: 20px;
	font-weight: bold;
	border-bottom: solid 1px #e3e3e3;
}
footer .footer_menu .footer_menu_category dl dd {
}
@media (max-width: 750px){
	footer .footer_menu {
		flex-wrap: wrap;
		column-gap: 0;
	}
	footer .footer_menu .footer_menu_category {
		width: 47.5%;
		margin-bottom: 50px;
	}
}

.copy {
	background-color: #000;
}
.copy p {
	padding: 5px 0;
	font-size: 13px;
	text-align: center;
	color: #FFF;
}