@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 389px) {
	html {
		font-size: calc(1000vw / 390);
	}
}
body, table, input, textarea, select, option {
	font-family: "Noto Serif JP", serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #262626;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #262626;
}
a:hover {
	color: #262626;
}
a:active {
	color: #262626;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1320px;
	color: #262626;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 400;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	position: relative;
	padding-top: 8rem;
	text-align: left;
	overflow: hidden;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.1rem;
	}
	#container {
		padding-top: 0;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 8rem;
	padding: 1.4rem 5.1rem;
	box-sizing: border-box;
	background-color: #645817;
	z-index: 99;
}
#gHeader h1 {
	width: 17.9rem;
}
#gNavi {
	position: absolute;
	right: 9.2rem;
	top: 2.7rem;
}
#gNavi ul {
	align-items: flex-end;
}
#gNavi li:not(:first-child) {
	margin-left: 2.9rem;
}
#gNavi a {
	color: #FAFAF7;
	letter-spacing: 0.3em;
}
@media all and (min-width: 897px) {
	#gNavi a:hover {
		color: #FFFF1A;
	}
	.menuBox {
		display: none !important;
	}
}
@media all and (min-width: 897px) and (max-width: 1180px){
	#gHeader {
		padding-left: 1rem;
	}
	#gNavi {
		right: 1rem;
	}
	#gNavi li:not(:first-child) {
		margin-left: 1.9rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1000px){
	#gHeader {
		padding-left: 0.5rem;
	}
	#gNavi {
		right: 0.5rem;
	}
	#gNavi li:not(:first-child) {
		margin-left: 0.5rem;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		position: absolute;
		height: auto;
		padding: 2.1rem 1.9rem;
		background-color: transparent;
	}
	#gHeader h1 {
		width: 12.4rem;
	}
	.menu {
		width: 5.7rem;
		position: fixed;
		right: 0;
		top: 0;
		cursor: pointer;
	}
	#gNavi {
		position: absolute;
		right: 9.2rem;
		top: 2.7rem;
		display: none;
	}
	#gNavi ul {
		align-items: flex-end;
	}
	#gNavi li:not(:first-child) {
		margin-left: 2.9rem;
	}
	#gNavi a {
		color: #FAFAF7;
		letter-spacing: 0.3em;
	}
	.menuBox {
		position: fixed;
		left: 2.7rem;
		right: 2.6rem;
		top: 50%;
		transform: translateY(-50%);
		max-height: 60.6rem;
		height: calc(100% - 1rem);
		overflow-y: scroll;
		border-radius: 5.3rem;
		background-color: #645817;
		display: none;
	}
	.menuBox .menuInfo {
		padding: 7.7rem 4rem 2rem;
	}
	.menuBox .menuLogo {
		width: 18.5rem;
		margin: 0 auto 3.1rem;
	}
	.menuBox ul {
		margin-bottom: 4.9rem;
		padding-top: 2.1rem;
		border-top: 1px solid #FFF;
	}
	.menuBox li a {
		padding: 0.8rem 1rem;
		display: block;
		color: #fff;
		font-size: 1.3rem;
		letter-spacing: 0.3em;
		text-align: center;
	}
	.menuBox .close {
		width: 3.6rem;
		margin: 0 auto;
		cursor: pointer;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter .fBg {
	padding: 7.1rem 0 5.2rem;
	background: url(../img/common/f_bg.jpg) no-repeat top center;
	background-size: cover;
}
#gFooter .fLogo {
	width: 13rem;
	margin: 0 auto 9rem;
}
#gFooter .fBox {
	width: 85.8rem;
	margin: 0 auto;
	flex-direction: row-reverse;
}
#gFooter .fInfo {
	width: 51.2rem;
	padding-bottom: 5.2rem;
	border-right: 1px solid #FFF;
	box-sizing: border-box;
}
#gFooter .fLink {
	margin-bottom: 1.7rem;
	width: 21.7rem;
}
#gFooter .fLink a {
	padding: 0.8rem 0 0.9rem;
	display: block;
	text-align: center;
	color: #645817;
	font-size: 1.9rem;
	letter-spacing: 0.23em;
	background-color: #E2CF6C;
	border: 1px solid #E2CF6C;
}
#gFooter .fLink span {
	margin-top: 0.7rem;
	display: block;
	color: #FDFDFD;
	font-size: 1rem;
	letter-spacing: 0.23em;
}
#gFooter .fText {
	color: #FDFDFD;
	font-size: 4rem;
	letter-spacing: 0.33em;
}
#gFooter .fText .jp {
	margin: 0 0 0 1rem;
	display: inline-block;
	vertical-align: middle;
	font-size: 1.5rem;
	letter-spacing: 0.33em;
}
#gFooter .fText .en {
	display: block;
	font-size: 1.3rem;
	letter-spacing: 0.23em;
}
#gFooter .fTel {
	padding-left: 10.4rem;
	position: relative;
	color: #FDFDFD;
	font-size: 1.2rem;
	letter-spacing: 0.23em;
}
#gFooter .fTel a {
	margin-bottom: -0.7rem;
	width: fit-content;
	display: block;
	color: #FDFDFD;
	font-size: 3rem;
	letter-spacing: 0.15em;
}
#gFooter .fTel .sml {
	position: absolute;
	left: 0;
	top: 1.5rem;
	padding: 0.4rem 0;
	width: 7.7rem;
	color: #645817;
	font-size: 0.7rem;
	text-align: center;
	background-color: #E2CF6C;
}
#gFooter .fNavi {
	width: 25rem;
	margin: 0.6rem 2rem 0 0;
}
#gFooter .fNavi p {
	padding-bottom: 1rem;
	margin-bottom: 2.5rem;
	text-align: right;
	color: #E2CF6C;
	font-size: 1.3rem;
	letter-spacing: 0.23em;
	border-bottom: 0.5px solid #e2cf6c;
}
#gFooter .fNavi li:not(:last-child) {
	margin-bottom: 2.2rem;
}
#gFooter .fNavi a {
	color: #FDFDFD;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.33em;
}
#gFooter address {
	padding: 3.8rem 0;
	text-align: center;
	color: #645817;
	font-size: 1rem;
	letter-spacing: 0.22em;
}
@media all and (min-width: 897px) {
	#gFooter .fLink a:hover {
		color: #645817;
		background-color: #FDFDFD;
	}
	#gFooter .fNavi a:hover {
		color: #E2CF6C;
	}
}
@media all and (max-width: 896px) {
	#gFooter .fBg {
		padding: 5.3rem 0 5.5rem;
		background-image: url(../img/common/f_bg_sp.jpg);
	}
	#gFooter .fLogo {
		width: auto;
		text-align: center;
		margin: 0 1rem 4.7rem 0;
	}
	#gFooter .fLogo img {
		width: 11.2rem;
	}
	#gFooter .fBox {
		width: auto;
		display: block;
	}
	#gFooter .fInfo {
		width: auto;
		padding: 15.3rem 0 0;
		position: relative;
		border-right: none;
	}
	#gFooter .fLink {
		margin: 0 auto 1.8rem;
		width: 16.4rem;
	}
	#gFooter .fLink a {
		padding: 0.6rem 0 0.7rem;
		font-size: 1.4rem;
	}
	#gFooter .fLink span {
		margin: 0.7rem -1rem 0;
		text-align: center;
	}
	#gFooter .fText {
		position: absolute;
		left: 0;
		top: 4rem;
		width: 100%;
		font-size: 3rem;
		text-align: center;
	}
	#gFooter .fText .jp {
		margin: 0.2rem 0 1rem;
		display: block;
		font-size: 1.3rem;
	}
	#gFooter .fText .en {
		font-size: 0.95rem;
	}
	#gFooter .fTel {
		width: fit-content;
		margin: 0 auto;
		padding-left: 0;
	}
	#gFooter .fTel a {
		margin-bottom: -0.4rem;
	}
	#gFooter .fTel .sml {
		position: static;
		display: block;
		margin: 0 auto;
	}
	#gFooter .fNavi {
		width: 25rem;
		margin: 0 auto;
		text-align: center;
	}
	#gFooter .fNavi p {
		padding-bottom: 2.7rem;
		margin-bottom: 3.3rem;
		text-align: center;
	}
	#gFooter .fNavi li:not(:last-child) {
		margin-bottom: 2.5rem;
	}
	#gFooter address {
		display: none;
	}
}
@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-LMX */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	pageTitle
------------------------------------------------------------*/
.pageTitle {
	height: 40rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 0 2.1rem 1rem;
	box-sizing: border-box;
	background: url(../img/about/page_title_bg.jpg) no-repeat center center;
	background-size: cover;
}
.pageTitle h2 {
	text-align: center;
	font-size: 2.5rem;
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.53em;
}
.pageTitle h2 span {
	margin-top: 2.1rem;
	display: block;
	font-size: 2rem;
	letter-spacing: 0.53em;
}
@media all and (max-width: 896px) {
	.pageTitle {
		height: 70rem;
		padding-bottom: 4.9rem;
		background-image: url(../img/about/page_title_bg_sp.jpg);
	}
	.pageTitle h2 {
		font-size: 1.6rem;
		text-shadow: 0.3rem 0.3rem 0.6rem rgba(23, 23, 20, 0.75);
	}
	.pageTitle h2 span {
		display: none;
	}
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
	width: 71.6rem;
	margin: 0 auto;
	padding: 0.8rem 0;
	font-size: 0.9rem;
	letter-spacing: 0.16em;
}
#pagePath li {
	margin-right: 0.8rem;
	display: inline;
}
#pagePath li:not(:last-child) {
	margin-right: 0.7rem;
	padding-right: 1.7rem;
	background: url(../img/common/icon01.png) no-repeat right center;
	background-size: 0.7rem auto;
}
#pagePath a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#pagePath {
		width: auto;
		padding: 0.9rem 2rem 0.9rem 4rem;
	}
}
/*------------------------------------------------------------
	scroll
------------------------------------------------------------*/
.scroll {
	width: 90.6rem;
	margin: 0 auto;
}
.scroll a {
	width: 3.5rem;
	display: inline-block;
}
.scroll a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	.scroll {
		display: none;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin: 0 3.9rem 1.6rem 0;
	text-align: center;
}
.headLine01 img {
	width: 7rem;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin: 0 2.4rem 0 0;
	}
	.headLine01 img {
		width: 4.9rem;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	width: fit-content;
	margin: 0 auto 11rem;
	color: #645817;
	font-weight: 400;
}
.headLine02 .jp {
	padding-left: 7.7rem;
	display: block;
	font-size: 3rem;
	letter-spacing: 0.23em;
	background: url(../img/common/icon02.png) no-repeat left 0.6rem top 1rem;
	background-size: 3rem auto;
}
.headLine02 .en {
	width: fit-content;
	position: relative;
	margin: 2rem 0 0 auto;
	display: block;
	font-size: 1.9rem;
	letter-spacing: 0.33em;
}
.headLine02 .en::before {
	position: absolute;
	left: -9.4rem;
	top: 1.7rem;
	width: 6.5rem;
	height: 1px;
	background-color: #645817;
	content: "";
	opacity: 0.5;
}
@media all and (max-width: 896px) {
	.headLine02 {
		width: auto;
		margin: 0 auto 2.5rem;
		text-align: center;
	}
	.headLine02 .jp {
		padding: 3.1rem 0 0;
		font-size: 1.8rem;
		background-position: center top;
		background-size: 2.2rem auto;
	}
	.headLine02 .en {
		margin: 0.5rem 0 0;
		font-size: 1.3rem;
		width: auto;
		color: #707070;
	}
	.headLine02 .en::before {
		display: none;
	}
}
/*------------------------------------------------------------
	comLine
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	.comLine {
		padding: 4.2rem 0 4.6rem;
		position: relative;
	}
	.comLine .headLine02 {
		margin-bottom: 0 !important;
	}
	.comLine .line01 {
		position: absolute;
		left: 0;
		top: 0;
		width: calc(50% + 17.8rem);
		height: 0.2rem;
		background-color: #645817;
		content: "";
		transform: translateX(-100%);
		transition: 1s;
	}
	.comLine .line02 {
		position: absolute;
		right: 0;
		bottom: 0;
		width: calc(50% + 17.8rem);
		height: 0.2rem;
		background-color: #645817;
		content: "";
		transform: translateX(100%);
		transition: 1s;
	}
	.comLine.on .line01 {
		transform: translateX(0);
	}
	.comLine.on .line02 {
		transform: translateX(0);
	}
}
@media all and (max-width: 896px) {
	.comLine .line01,
	.comLine .line02 {
		display: none;
	}
}
/*------------------------------------------------------------
	pageTop
------------------------------------------------------------*/
.pageTop {
	width: 12.3rem;
	margin: 18.4rem auto 18.3rem;
}
.pageTop a {
	height: 12.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	letter-spacing: 0.2em;
	box-sizing: border-box;
	background-color: #A29B74;
	border: 1px solid #A29B74;
	border-radius: 100%;
	box-shadow: 3px 3px 10px rgba(8, 8, 8, 0.16);
}
@media all and (min-width: 897px) {
	.pageTop a:hover {
		color: #645817;
		background-color: #fff;
	}
}
@media all and (max-width: 896px) {
	.pageTop {
		margin: 11.8rem auto 11.8rem;
	}
	.pageTop a {
		font-size: 1.6rem;
	}
}
/*------------------------------------------------------------
	comBgText
------------------------------------------------------------*/
.comBgText {
	width: 50.5rem;
	margin: 0 auto;
	padding: 1.1rem 0;
	position: relative;
	text-align: center;
	font-size: 2.2rem;
	color: #fff;
	letter-spacing: 0.16em;
	background-color: #645817;
}
.comBgText::before {
	position: absolute;
	left: -6.2rem;
	width: 8.4rem;
	height: 1px;
	top: 50%;
	background-color: #BF945B;
	content: "";
}
@media all and (max-width: 896px) {
	.comBgText {
		width: 23.3rem;
		margin: 0 auto 5.9rem;
		padding: 0.7rem 0;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.comBgText::before {
		left: -3.7rem;
		width: 5.8rem;
	}
}
/*------------------------------------------------------------
	comNumList
------------------------------------------------------------*/
.comNumList {
	width: fit-content;
	margin: 0 auto;
}
.comNumList li {
	padding-left: 7.2rem;
	position: relative;
	font-size: 1.5rem;
	line-height: 3;
	letter-spacing: 0.33em;
}
.comNumList li .num {
	position: absolute;
	left: 0;
	top: 1.3rem;
	line-height: 1;
	font-size: 2rem;
}
@media all and (max-width: 896px) {
	.comNumList li {
		padding-left: 1.8rem;
		font-size: 1.2rem;
		line-height: 2.91;
		letter-spacing: 0.15em;
	}
	.comNumList li .num {
		font-size: 1.3rem;
		top: 1rem;
	}
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
	width: 25.7rem;
}
.comLink a {
	padding: 1.6rem 0 1.8rem;
	display: block;
	text-align: center;
	position: relative;
	color: #2E2E2C;
	font-size: 1.8rem;
	letter-spacing: 0.23em;
	background-color: #fff;
	border: 1px solid #141313;
}
.comLink a::before {
	position: absolute;
	left: -3.9rem;
	top: 50%;
	width: 7.8rem;
	height: 1px;
	background-color: #707070;
	content: "";
	transition: .3s;
}
@media all and (min-width: 897px) {
	.comLink a:hover {
		color: #fff;
		background-color: #575654;
	}
	.comLink a:hover::before {
		left: -10rem;
	}
}
@media all and (max-width: 896px) {
	.comLink {
		width: 15.5rem;
	}
	.comLink a {
		padding: 1.2rem 0 1.3rem;
		font-size: 1.1rem;
	}
	.comLink a::before {
		left: -2.8rem;
		width: 4.2rem;
	}
}
/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList li {
	width: 49.3rem;
	margin: 0 1.7rem;
	position: relative;
}
.comList li .ttl {
	text-align: center;
	color: #FAFAF7;
	font-size: 1.5rem;
	letter-spacing: 0.23em;
}
.comList li .ttl img {
	width: 13.3rem;
	display: block;
	margin: 1.4rem auto 0;
}
@media all and (min-width: 897px) {
	.comList li .ttl {
		position: absolute;
		left: 0;
		top: 50%;
		width: 25.4rem;
		transform: translateY(-50%);
	}
	.comList li .comLink {
		position: absolute;
		right: 2.2rem;
		top: 50%;
		transform: translateY(-50%);
	}
	.comList.flexC li .comLink {
		width: 18rem;
	}
	.comList.flexC li .comLink a {
		padding: 1.2rem 0 1.3rem;
		font-size: 1.1rem;
	}
	.comList.flexC li .comLink a::before {
		left: -2.8rem;
		width: 5.5rem;
	}
	.comList li .comLink a:hover::before {
		background-color: #FAFAF7;
	}
	.comList.flexC li .comLink a:hover::before {
		left: -5.5rem;
	}
}
@media all and (max-width: 896px) {
	.comList {
		display: block;
	}
	.comList li {
		width: 26.8rem;
		margin: 0 auto 4.5rem;
	}
	.comList li:last-child {
		margin-bottom: 0 !important;
	}
	.comList li .liBox {
		position: absolute;
		left: 0;
		top: 50%;
		width: 100%;
		transform: translateY(-33%);
	}
	.comList li.list01 .liBox {
		transform: translateY(-50%);
	}
	.comList li .ttl {
		font-size: 1.8rem;
	}
	.comList li .ttl img {
		width: 11rem;
		margin: 0.8rem auto 0;
	}
	.comList li .comLink {
		width: 12.8rem;
		margin: 1rem auto 0;
	}
	.comList li .comLink a {
		padding: 0.6rem 0 0.7rem;
	}
	.comList li .comLink a::before {
		left: -2.5rem;
		width: 3.7rem;
	}
}
/*------------------------------------------------------------
	comContact
------------------------------------------------------------*/
.comContact {
	padding: 10.9rem 0 9.1rem;
	background-color: #EBEBDE;
}
.comContact .imgBox {
	max-width: 120rem;
	margin: 0 auto;
	flex-direction: row-reverse;
}
.comContact .mapBox {
	width: 52.7rem;
}
.comContact .map {
	height: 55.8rem;
	position: relative;
    overflow: hidden;
	box-sizing: border-box;
	border: 0.2rem solid #645817;
}
.comContact .map iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
.comContact .link {
	margin-top: 0.5rem;
	font-size: 1.3rem;
	letter-spacing: 0.23em;
}
.comContact .link a {
	color: #645817;
}
.comContact .link a:hover {
	opacity: 0.7;
}
.comContact .textBox {
	width: 42rem;
	margin: 8.8rem 0 0 9rem;
}
.comContact h2 {
	margin-bottom: 1.4rem;
	color: #645817;
	font-weight: 400;
	font-size: 2.5rem;
	letter-spacing: 0.23em;
}
.comContact h2 span {
	margin: -0.7rem 0 0 4.6rem;
	display: inline-block;
	vertical-align: middle;
	color: #707070;
	font-size: 1.6rem;
	letter-spacing: 0.33em;
}
.comContact dl {
	color: #707070;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: 0.22em;
}
.comContact dt {
	padding-left: 3.2rem;
	background: url(../img/common/icon05.png) no-repeat left top 0.7rem;
	background-size: 1.9rem auto;
}
.comContact dd {
	padding: 0.5rem 0 2.2rem;
}
.comContact dd span {
	margin-top: 0.9rem;
	width: 19.6rem;
	padding: 0.4rem 0;
	display: block;
	color: #FAFAF7;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.33em;
	background-color: #645817;
}
@media all and (min-width: 897px) {
	.comContact dd:not(.noLine) {
		position: relative;
		padding: 0.1rem 0 1.8rem 8.7rem;
	}
	.comContact dd:not(.noLine)::before {
		position: absolute;
		left: 0;
		top: 1.6rem;
		width: 6.5rem;
		height: 1px;
		background-color: #707070;
		content: "";
		opacity: 0.5;
	}
}
@media all and (max-width: 896px) {
	.comContact {
		padding: 0 0 5.3rem;
		background-color: #EBEBDE;
	}
	.comContact .imgBox {
		max-width: inherit;
		display: block;
	}
	.comContact .mapBox {
		width: auto;
	}
	.comContact .map {
		height: 0;
		padding-bottom: 106%;
		border: none;
	}
	.comContact .link {
		margin: 0.3rem 4.2rem 0;
		font-size: 1rem;
		text-align: right;
	}
	.comContact .textBox {
		width: auto;
		margin: 3.4rem 0 0;
	}
	.comContact h2 {
		margin-bottom: 2.6rem;
		font-size: 2.2rem;
		text-align: center;
	}
	.comContact h2 span {
		margin: 0.4rem 0 0;
		display: block;
		font-size: 1.3rem;
	}
	.comContact dl {
		width: 27rem;
		margin: 0 auto;
		font-size: 1.3rem;
		text-align: center;
		line-height: 1.92;
	}
	.comContact dt {
		width: fit-content;
		margin: 0 auto 0.8rem;
		padding: 0 3.2rem;
		font-size: 1.5rem;
		letter-spacing: 0.2em;
		background: url(../img/common/icon05.png) no-repeat left top 0.6rem,url(../img/common/icon05.png) no-repeat right top 0.6rem;
		background-size: 1.9rem auto;
	}
	.comContact dd {
		padding: 0.5rem 0 4.2rem;
		letter-spacing: 0.2em;
		border-top: 1px solid #645817;
	}
	.comContact .noLine {
		padding: 0.8rem 0 4.2rem;
		line-height: 1.53;
		letter-spacing: 0.33em;
	}
	.comContact dd span {
		margin: 0.3rem auto 0;
		width: 17.1rem;
		font-size: 1.5rem;
	}
}
/*------------------------------------------------------------
	comNoteList
------------------------------------------------------------*/
.comNoteList {
	color: #645817;
	font-size: 1.4rem;
	line-height: 2.14;
	letter-spacing: 0.23em;
}
.comNoteList li {
	padding-left: 2rem;
	position: relative;
}
.comNoteList li::before {
	position: absolute;
	left: 0.1rem;
	top: 0;
	content: "※";
	color: #E0511D;
}
@media all and (max-width: 896px) {
	.comNoteList {
		margin-right: -2rem;
	}
	.comNoteList li {
		padding-left: 1.7rem;
	}
}
/*------------------------------------------------------------
	mainImg
------------------------------------------------------------*/
.mainImg {
	margin-bottom: 12.6rem;
	background: url(../img/perpetualmemorialcemetery/sec07_bg01.jpg) no-repeat center center;
	background-size: cover;
}
.mainImg .pho {
	width: 102rem;
	margin: 0 auto;
}
@media all and (max-width: 896px) {
	.mainImg {
		margin-bottom: 6.6rem;
		background: none;
	}
	.mainImg .pho {
		width: auto;
	}
	.mainImg .pho img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(200px);
	transform: translateY(200px);
    transition: 1000ms;
}
.fadeInUp.on {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
@charset "utf-8";
/*------------------------------------------------------------
	perpetualmemorialcemetery
------------------------------------------------------------*/
.pageTitle {
	background-image: url(../img/perpetualmemorialcemetery/page_title_bg.jpg);
}
#main .topBg {
	padding-top: 8.8rem;
	background: url(../img/perpetualmemorialcemetery/sec01_bg.png) no-repeat top 9rem center;
	background-size: 192rem auto;
}
#main .headLine01 {
	margin: 0 0 7.6rem 1rem;
}
#main .headLine01 img {
	width: 3.1rem;
}
#main .sec01 {
	padding: 11rem 0 12.6rem;
}
#main .sec01 .title {
	width: fit-content;
	margin: 0 auto 7.2rem;
	color: #645817;
	font-size: 2.4rem;
	line-height: 2.08;
	letter-spacing: 0.23em;
}
#main .sec01 .title > span {
	margin-left: 9.6rem;
	display: block;
}
#main .sec01 .title .line {
	position: relative;
}
#main .sec01 .title .line::before {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.1rem;
	background: url(../img/common/line01.png) repeat-x left top;
	background-size: 0.7rem auto;
	height: 0.7rem;
	content: "";
}
#main .sec01 .text {
	margin-bottom: 12.9rem;
	text-align: center;
	line-height: 3.23;
	font-size: 1.7rem;
	letter-spacing: 0.16em;
}
#main .sec02 {
	padding: 16.3rem 0 13.2rem;
	position: relative;
	background: url(../img/perpetualmemorialcemetery/sec02_bg.jpg) no-repeat top center #FFFAED;
	background-size: 192rem auto;
}
#main .sec02 .img01 {
	position: absolute;
	left: 50%;
	top: -14.3rem;
	width: 51.5rem;
	margin-left: -77rem;
}
#main .sec02 .img02 {
	position: absolute;
	left: 50%;
	bottom: -23.5rem;
	width: 38.3rem;
	margin-left: -81.5rem;
}
#main .sec02 .imgBox {
	width: 85rem;
	margin: 0 auto;
	position: relative;
}
#main .sec02 .comNumList {
	margin: 0 -14rem 0 8rem;
}
#main .sec02 .comNumList li {
	padding-left: 4.2rem;
	font-size: 1.7rem;
	line-height: 2.64;
}
#main .sec02 .comNumList li .num01 {
	left: -0.5rem;
}
#main .sec03 {
	padding: 16.5rem 0 7.5rem;
	background: linear-gradient(135deg,#FFFFFB 0%, #FFFDE5 100%);
}
#main .sec03 .img {
	width: 36.5rem;
	margin: 0 auto 0.2rem;
}
#main .sec03 .textUl {
	margin-bottom: 2.7rem;
}
#main .sec03 .textUl > li {
	width: 24.5rem;
}
#main .sec03 .textUl h5 {
	margin-bottom: 4.2rem;
	padding: 0.4rem 0 0.5rem;
	position: relative;
	text-align: center;
	color: #191818;
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.23em;
	background-color: #EFCF2C;
}
#main .sec03 .textUl h5 .sml {
	position: absolute;
	left: 0;
	width: 100%;
	bottom: -1.8rem;
	font-weight: 400;
	letter-spacing: 0.23em;
	text-align: center;
	font-size: 1.1rem;
}
#main .sec03 .textList li {
	padding: 0.7rem 0 0.8rem;
	margin-bottom: 1.2rem;
	text-align: center;
	color: #191818;
	letter-spacing: 0.23em;
	background-color: #EFE896;
}
#main .sec03 .textList li > span {
	width: fit-content;
	margin: 0 auto;
	position: relative;
	display: block;
}
#main .sec03 .textList li .sml {
	position: absolute;
	left: -0.6rem;
	bottom: -0.8rem;
	letter-spacing: 0.23em;
	font-size: 0.9rem;
}
#main .sec03 .textUl > li:last-child .textList li {
	font-weight: 700;
	letter-spacing: 0.17em;
}
#main .sec04 {
	padding: 7.2rem 0 7.5rem;
}
#main .sec04 .comLine {
	margin-bottom: 12rem;
}
#main .comPho {
	position: absolute;
	right: -29.6rem;
	top: -3.9rem;
	width: 49.8rem;
}
#main .txtList {
	width: 58.6rem;
	margin: 0 auto -0.2rem;
}
#main .txtList li {
	padding-bottom: 5.2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main .txtList .title {
	position: relative;
	width: 26.3rem;
	height: 7.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #191818;
	font-size: 2rem;
	letter-spacing: 0.23em;
	border: 1px solid rgba(100,88,23,0.5);
	box-sizing: border-box;
}
#main .txtList .title::before {
	position: absolute;
	right: -3.1rem;
	width: 6rem;
	height: 1px;
	top: 50%;
	background-color: #645817;
	content: "";
}
#main .txtList .title .sml {
	display: block;
	font-size: 1.1rem;
	letter-spacing: 0.23em;
}
#main .txtList .txt {
	width: calc(100% - 38.6rem);
	padding-bottom: 0.5rem;
	color: #191818;
	font-size: 1.7rem;
	letter-spacing: 0.23em;
}
#main .txtList .txt span {
	font-weight: 700;
}
#main .sec05 {
	padding: 8.2rem 0 7.5rem;
	background: linear-gradient(135deg,#FFFDE5 0%, #FFFFF8 100%);
}
#main .sec05 .comLine {
	margin-bottom: 4.7rem;
}
#main .sec05 .comPho {
	right: -21.7rem;
	top: 7.7rem;
	width: 37.6rem;
}
#main .comTtl {
	width: 60rem;
	margin: 0 auto 9.3rem;
	padding-left: 10.4rem;
	color: #191818;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.33em;
	box-sizing: border-box;
}
#main .comTtl span {
	margin-top: 1rem;
	width: fit-content;
	display: block;
	border-bottom: 0.2rem solid #191818;
}
#main .sec05 .txtList {
	margin-bottom: -0.8rem;
}
#main .sec06 {
	padding: 8.2rem 0 16.5rem;
}
#main .sec06 .widBox {
	margin-bottom: 44.6rem;
}
#main .sec06 .comLine {
	margin-bottom: 4.7rem;
}
#main .sec06 .comPho {
	right: -21.7rem;
	top: 7.1rem;
	width: 37.6rem;
}
#main .sec06 .comTtl {
	margin-bottom: 13.3rem;
}
#main .sec06 .txtList {
	margin-bottom: -0.8rem;
}
#main .sec07 {
	padding-bottom: 21.1rem;
	position: relative;
	background: url(../img/perpetualmemorialcemetery/sec07_bg02.png) no-repeat right -36.1rem top 58%;
	background-size: 100rem auto;
}
#main .sec07 .text {
	text-align: center;
	font-size: 1.5rem;
	line-height: 3.33;
	letter-spacing: 0.16em;
}
#main .sec07 .text01 {
	margin-bottom: 13.8rem;
	line-height: 3.67;
}
#main .sec07 .img {
	margin: 0 6.7rem 5.2rem 0;
	text-align: center;
}
#main .sec07 .img img {
	width: 55.5rem;
}
#main .sec07 .comNoteList {
	width: 78rem;
	margin: 0 auto 17.1rem;
}
#main .sec07 .comNoteList li {
	font-size: 1.3rem;
	letter-spacing: 0.23em;
}
#main .sec07 .btmText {
	width: 80.8rem;
	margin: 8.7rem auto 0;
	padding: 1.7rem 0 1.8rem;
	color: #645817;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #645817;
	border-top: 1px solid #645817;
}
#main .sec07 .btmPho {
	position: absolute;
	left: 50%;
	bottom: 16.3rem;
	width: 182.4rem;
	margin-left: -90.3rem;
}
#main .sec08 {
	background: url(../img/perpetualmemorialcemetery/sec08_bg02.png) no-repeat left -50.2rem top 67%;
	background-size: 103.2rem auto;
}
#main .sec08 .mainImg {
	margin-bottom: 16rem;
	background-image: url(../img/perpetualmemorialcemetery/sec08_bg01.jpg);
}
#main .sec08 .text {
	margin-bottom: 9.8rem;
	text-align: center;
	font-size: 1.5rem;
	line-height: 3.33;
	letter-spacing: 0.16em;
}
#main .sec08 .btmText {
	width: 80.8rem;
	margin: 0 auto 17rem;
	padding: 1.7rem 0 1.8rem;
	color: #645817;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.15em;
	border-bottom: 1px solid #645817;
	border-top: 1px solid #645817;
}
.pageTop {
	margin: 8rem auto 8.3rem;
}
@media all and (min-width: 897px) {
	#pagePath {
		width: 74.6rem;
	}
	#main .sec02 .headLine02 {
		margin: 0 0 12.8rem;
	}
	#main .sec02 .headLine02 .jp {
		padding-left: 6.5rem;
	}
	#main .sec02 .headLine02 .en {
		margin: 2.1rem -8.5rem 0 auto;
		font-size: 1.3rem;
		letter-spacing: 0.35em;
	}
	#main .sec02 .headLine02 .en::before {
		top: 1.2rem;
		left: -8rem;
	}
	#main .sec02 .imgBoxL .headLine02 {
		margin: 0 -5rem 11rem 0;
	}
	#main .sec02 .imgBoxL .headLine02 .en {
		margin: 2.5rem -1rem 0 auto;
		font-size: 1rem;
	}
	#main .sec02 .imgBoxL .headLine02 .en::before {
		width: 9.6rem;
		top: 0.8rem;
		left: -12.8rem;
	}
	#main .sec02 .pho {
		width: 82rem;
		position: absolute;
		right: -53.5rem;
		top: -0.6rem;
	}
	#main .sec02 .img {
		width: 44.1rem;
		position: absolute;
		left: -40.2rem;
		bottom: -9.8rem;
	}
	#main .sec02 .imgBoxL {
		margin-top: 30.5rem;
		padding-left: 49rem;
	}
	#main .sec02 .imgBoxL .pho {
		right: auto;
		top: -12.7rem;
		left: -53.5rem;
		width: 90.2rem;
	}
	#main .sec02 .imgBoxL .img {
		width: 51.7rem;
		right: -49.2rem;
		left: auto;
		bottom: -32.6rem;
	}
	#main .sec02 .imgBoxL .comNumList {
		margin: 0 -10rem 0 -10.8rem;
	}
	#main .widBox {
		width: 77.4rem;
		margin: 0 auto;
		position: relative;
	}
	.comLine {
		margin-bottom: 0.9rem;
		padding: 2.2rem 0 3rem;
	}
	.comLine .line01 {
		width: calc(50% + 19.2rem);
		height: 1px;
	}
	.comLine .line02 {
		width: calc(50% + 19.3rem);
		height: 1px;
	}
	.comLine .headLine02 .jp {
		padding-left: 6.5rem;
	}
	.comLine .headLine02 .en {
		margin: 2.5rem 0.3rem 0 auto;
		font-size: 1rem;
		letter-spacing: 0.35em;
	}
	.comLine .headLine02 .en::before {
		left: -12.4rem;
		top: 0.7rem;
		width: 9.6rem;
	}
	#main .sec07 .h4Ttl01 {
		margin: 0 6rem 8.6rem 0;
		width: auto;
	}
	#main .sec07 .h4Ttl01 .jp {
		padding-left: 6.8rem;
		width: fit-content;
		margin: 0 auto;
	}
	#main .sec07 .h4Ttl01 .en {
		margin: 2.2rem auto 0;
		padding-left: 17.6rem;
		font-size: 1.1rem;
	}
	#main .sec07 .h4Ttl01 .en::before {
		left: 6.3rem;
		top: 0.9rem;
		width: 9.6rem;
	}
	#main .sec07 .h4Ttl02 {
		margin-bottom: 8.2rem;
	}
	#main .sec07 .h4Ttl02 .en {
		margin: 2.5rem 2.9rem 0 auto;
		font-size: 1rem;
	}
	#main .sec07 .h4Ttl02 .en::before {
		left: -11.5rem;
		top: 0.9rem;
		width: 9.6rem;
	}
	#main .sec08 .headLine02 {
		margin-bottom: 7.2rem;
	}
	#main .sec08 .headLine02 .en {
		margin: 2.5rem 0.9rem 0 auto;
		font-size: 1rem;
	}
	#main .sec08 .headLine02 .en::before {
		left: -11.5rem;
		top: 0.9rem;
		width: 9.6rem;
	}
}
@media all and (max-width: 896px) {
	.pageTitle {
		background-image: url(../img/perpetualmemorialcemetery/page_title_bg_sp.jpg);
	}
	#main .topBg {
		padding-top: 1.5rem;
		background: none;
	}
	#main .headLine01 {
		margin: 0 0 -2.8rem;
	}
	#main .headLine01 img {
		width: 2.3rem;
	}
	#main .sec01 {
		padding: 0 0 6rem;
	}
	#main .sec01 .img {
		margin: 0 auto 6.3rem;
		width: 34.2rem;
		text-align: right;
	}
	#main .sec01 .img img {
		width: 15.5rem;
	}
	#main .sec01 .title {
		margin: 0 auto 5.8rem;
		font-size: 1.6rem;
		text-align: center;
		line-height: 2.18;
		letter-spacing: 0.12em;
	}
	#main .sec01 .title > span {
		margin-left: 0;
	}
	#main .sec01 .title .line::before {
		bottom: -0.6rem;
	}
	#main .sec01 .text {
		margin-bottom: 0;
		line-height: 3.18;
		font-size: 1.1rem;
		letter-spacing: 0.08em;
	}
	#main .sec02 {
		padding: 7.8rem 0 8rem;
	}
	#main .sec02 .img01 {
		top: -3.7rem;
		width: 14.8rem;
		margin-left: -7.4rem;
	}
	#main .sec02 .img02 {
		display: none;
	}
	#main .sec02 .imgBox {
		width: auto;
	}
	#main .headLine02 {
		margin-bottom: 2.8rem;
	}
	#main .headLine02 .jp {
		padding-top: 2.9rem;
	}
	#main .headLine02 .en {
		margin-top: 0.8rem;
		font-size: 1rem;
		letter-spacing: 0.2em;
	}
	#main .sec02 .comNumList {
		margin: 0 2rem 6.1rem 5.5rem;
	}
	#main .sec02 .comNumList li {
		padding-left: 1.6rem;
		font-size: 1.1rem;
		line-height: 3.18;
	}
	#main .sec02 .comNumList li .num {
		top: 1rem;
	}
	#main .sec02 .pho img {
		width: 100%;
	}
	#main .sec02 .img {
		display: none;
	}
	#main .sec02 .imgBoxL {
		margin-top: 9rem;
	}
	#main .sec03 {
		padding: 8.7rem 3rem 9rem;
		background: linear-gradient(135deg,#FFFEF6 0%, #FFFDE7 100%);
	}
	#main .sec03 .img {
		width: 28.4rem;
		margin: 0 auto 0.9rem;
	}
	#main .sec03 .textUl {
		margin-bottom: 3.1rem;
	}
	#main .sec03 .textUl > li {
		width: 32%;
	}
	#main .sec03 .textUl h5 {
		margin-bottom: 1.8rem;
		padding: 0.2rem 0 0rem;
		font-size: 0.9rem;
	}
	#main .sec03 .textUl h5 .sml {
		bottom: -1rem;
		text-align: right;
		font-size: 0.5rem;
	}
	#main .sec03 .textList li {
		padding: 0.2rem 0 0.2rem;
		margin-bottom: 0.4rem;
		font-size: 0.9rem;
	}
	#main .sec03 .textList li .sml {
		position: static;
		font-size: 0.5rem;
	}
	#main .sec03 .textUl > li:last-child .textList li {
		letter-spacing: 0.1em;
	}
	#main .sec04 {
		padding: 7.2rem 3rem 7.5rem;
	}
	#main .sec04 .comLine {
		margin-bottom: 2.9rem;
	}
	#main .comPho {
		margin: 0 -3.5rem 7.9rem -4.6rem;
		position: static;
		width: auto !important;
	}
	#main .comPho img {
		width: 100%;
	}
	#main .txtList {
		width: auto;
		margin: 0 0.5rem 1rem;
	}
	#main .txtList li {
		padding-bottom: 3.6rem;
	}
	#main .txtList .title {
		width: 18.9rem;
		height: 5.2rem;
		font-size: 1.4rem;
	}
	#main .txtList .title::before {
		right: -2.2rem;
		width: 4.3rem;
	}
	#main .txtList .title .sml {
		font-size: 0.7rem;
	}
	#main .txtList .txt {
		width: calc(100% - 22.7rem);
		font-size: 1.2rem;
	}
	#main .sec05 {
		padding: 7.2rem 3rem 7.5rem;
	}
	#main .sec05 .comLine {
		margin-bottom: 5rem;
	}
	#main .sec05 .comPho {
		margin: 0 2.2rem 8.5rem -0.3rem;
	}
	#main .comTtl {
		width: auto;
		margin: 0 auto 7.3rem;
		padding-left: 0;
		text-align: center;
		font-size: 1.4rem;
	}
	#main .comTtl span {
		margin: 0.5rem auto 0;
	}
	#main .sec05 .txtList {
		margin-bottom: 0.8rem;
	}
	#main .sec06 {
		padding: 6.8rem 3rem 12.3rem;
	}
	#main .sec06 .widBox {
		margin-bottom: 7.4rem;
	}
	#main .sec06 .comLine {
		margin-bottom: 5rem;
	}
	#main .sec06 .comPho {
		margin: 0 2.2rem 7rem -0.3rem;
	}
	#main .sec06 .comTtl {
		margin-bottom: 7.2rem;
	}
	#main .sec06 .txtList {
		margin-bottom: 0.8rem;
	}
	#main .sec07 {
		padding-bottom: 8.2rem;
		background: none;
	}
	#main .sec07 .text {
		font-size: 1.2rem;
		line-height: 2.91;
		letter-spacing: 0.15em;
	}
	#main .sec07 .h4Ttl01 .en {
		margin-top: 3.5rem;
		color: #9A4242;
		line-height: 2.27;
		font-size: 1.1rem;
	}
	#main .sec07 .text01 {
		margin-bottom: 7rem;
		line-height: 2.91;
	}
	#main .sec07 .img {
		margin: -1.2rem 7.7rem 0.7rem;
	}
	#main .sec07 .img img {
		width: 100%;
	}
	#main .sec07 .comNoteList {
		width: auto;
		margin: 0 3rem 7.1rem;
	}
	#main .sec07 .comNoteList li {
		font-size: 1.4rem;
		line-height: 2.14;
	}
	#main .sec07 .h4Ttl02 {
		margin-bottom: 8rem;
	}
	#main .sec07 .btmText {
		width: auto;
		margin: 5.5rem 2.2rem 3.5rem;
		padding: 2rem 0 2.3rem;
		font-size: 1.7rem;
		line-height: 2.05;
	}
	#main .sec07 .btmPho {
		position: static;
		width: auto;
		margin: 0 3.4rem 0 4.4rem;
	}
	#main .sec07 .btmPho img {
		width: 100%;
	}
	#main .sec08 {
		background: none;
	}
	#main .sec08 .mainImg {
		margin-bottom: 9rem;
	}
	#main .sec08 .headLine02 {
		margin-bottom: 8rem;
	}
	#main .sec08 .text {
		margin-bottom: 5.6rem;
		font-size: 1.2rem;
		line-height: 2.91;
		letter-spacing: 0.15em;
	}
	#main .sec08 .btmText {
		width: auto;
		margin: 0 2.2rem 9.8rem;
		padding: 2rem 0 2.3rem;
		font-size: 1.7rem;
		line-height: 2.05;
	}
	.pageTop {
		margin: 9.8rem auto 9.6rem;
	}
}