@charset "UTF-8";

/*
Theme Name: nousan-sh
Version: 1.1
Author: OWNDMEDIA.LAB
*/

/*--------------------------------------------------------------

## 共通

--------------------------------------------------------------*/
:root {
	/*--- color ---*/
	--color-beige-100: #f8f6f2;
	--color-beige-200: #f1f0ed;
	--color-beige-300: #dcd8d0;
	--color-beige-400: #c8bfaf;
	--color-beige-500: #a69c8b;
	--color-accent-100: #f1f1f5;
	--color-accent-200: #dcdde5;
	--color-accent-300: #5e658f;
	--color-accent-400: #4f5578;
	--color-accent-500: #414663;
	--color-gray-100: #f7f7f7;
	--color-gray-200: #eaeaea;
	--color-gray-300: #d5d5d5;
	--color-gray-400: #b5b5b5;
	--color-gray-500: #888888;
	--color-gray-600: #555555;
	--color-text: #3f4148;
	/*--- font type ---*/
	--font-family-jp: 'Shippori Mincho', serif;
	--font-family-en: 'Cormorant Garamond', serif;
	/*--- font size ---*/
	--fs-sm-1: clamp(1.2rem, 1.15rem + 0.15vw, 1.4rem);
	/* 12px ~ 14px */
	--fs-sm-2: clamp(1.4rem, 1.35rem + 0.2vw, 1.6rem);
	/* 14px ~ 16px */
	--fs-base: clamp(1.6rem, 1.5rem + 0.3vw, 1.8rem);
	/* 16px ~ 18px */
	--fs-md-1: clamp(1.8rem, 1.7rem + 0.4vw, 2rem);
	/* 18px ~ 20px */
	--fs-md-2: clamp(2rem, 1.8rem + 0.6vw, 2.4rem);
	/* 20px ~ 24px */
	--fs-lg-1: clamp(2.4rem, 2.1rem + 1vw, 3.2rem);
	/* 24px ~ 32px */
	--fs-lg-2: clamp(3rem, 2.6rem + 1.4vw, 4rem);
	/* 30px ~ 40px */
	--fs-xl-1: clamp(3.6rem, 3rem + 2vw, 4.8rem);
	/* 36px ~ 48px */
	--fs-xl-2: clamp(4.8rem, 3.8rem + 2.5vw, 6.4rem);
	/* 48px ~ 64px */
	--fs-xl-3: clamp(6.4rem, 4.8rem + 4vw, 9.6rem);
	/* 64px ~ 96px */
	--fs-catch-sm: clamp(1.6rem, 1.4rem + 0.516vw, 2.4rem);
	/* 16px ~ 24px */
	--fs-catch-md: clamp(2rem, 1.62rem + 1.032vw, 3.6rem);
	/* 20px ~ 36px */
	--fs-catch-lg: clamp(2.4rem, 1.82rem + 1.548vw, 4.8rem);
	/* 24px ~ 48px */
	--fs-catch-xl: clamp(3.2rem, 2.43rem + 2.065vw, 6.4rem);
	/* 32px ~ 64px */
	/*--- space ---*/
	--space-1: clamp(0.4rem, 0.36rem + 0.1vw, 0.8rem);
	/* 4px ~ 8px */
	--space-2: clamp(0.8rem, 0.72rem + 0.15vw, 1.2rem);
	/* 8px ~ 12px */
	--space-3: clamp(1.2rem, 1.12rem + 0.2vw, 1.6rem);
	/* 12px ~ 16px */
	--space-4: clamp(1.6rem, 1.44rem + 0.3vw, 2.4rem);
	/* 16px ~ 24px */
	--space-5: clamp(2.4rem, 2.08rem + 0.5vw, 3.2rem);
	/* 24px ~ 32px */
	--space-6: clamp(3.2rem, 2.72rem + 0.8vw, 4.8rem);
	/* 32px ~ 48px */
	--space-7: clamp(4.8rem, 4rem + 1.2vw, 6.4rem);
	/* 48px ~ 64px */
	--space-8: clamp(6.4rem, 5.44rem + 1.6vw, 9.6rem);
	/* 64px ~ 96px */
	--space-9: clamp(9.6rem, 8rem + 2vw, 12.8rem);
	/* 96px ~ 128px */
	--space-10: clamp(12.8rem, 10.4rem + 2.5vw, 16rem);
	/* 128px ~ 160px */
	--space-section: clamp(16rem, 12.8rem + 5vw, 24rem);
	/*--- shadow ---*/
	--shadow-xs: 0 1px 2px rgba(61, 58, 59, 0.05);
	--shadow-sm: 0 2px 8px rgba(61, 58, 59, 0.05), 0 6px 16px rgba(61, 58, 59, 0.03);
	--shadow-md: 0 6px 16px rgba(61, 58, 59, 0.06), 0 12px 32px rgba(61, 58, 59, 0.05);
	--shadow-lg: 0 12px 24px rgba(61, 58, 59, 0.07), 0 24px 48px rgba(61, 58, 59, 0.06);
	/*--- easing ---*/
	--ease-hover: cubic-bezier(0.4, 0, 0.2, 1);
}

html,
body {
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	/*(=1rem)*/
	background-color: #ffffff;
	color: var(--color-text);
	font-family: var(--font-family-jp);
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.14em;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	overflow-x: clip;
}

body.is-menu-open {
	overflow: hidden;
}

html,
body,
#page #scroll__contents {
	margin: 0 auto;
}

.wrapper {
	width: 100%;
}

h1 {
	font-size: 3.5rem;
}

h2 {
	font-size: 3rem;
}

h3 {
	font-size: 2.5rem;
}

h4 {
	font-size: 2.2rem;
}

p {
	font-size: 1.6rem;
}

a {
	font-size: 1.6rem;
	text-decoration: none;
	color: var(--color-text);
	-webkit-transition: 0.4s var(--ease-hover);
	transition: 0.4s var(--ease-hover);
}

ul,
ol,
li {
	list-style: none;
}

li,
th,
td {
	font-size: 1.6rem;
}

a:hover,
a:focus {
	color: var(--color-gray-500);
}

/**** 画像 ****/
img {
	max-width: 100%;
	height: auto;
}

.p-footer_sns {
	max-width: 20px;
}

/*** サムネイル画像 ***/
.post_thum_images {
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/5;
	margin-bottom: var(--space-3);
}

.post_thum_images img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: 0.8s;
	transition: 0.8s;
}

.post_thum_images:hover img {
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
	-webkit-transition: all 0.8s;
	transition: all 0.8s;
	opacity: 0.7;
}

/**** タイトル ****/
.c-section-ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: var(--space-5);
	font-size: var(--fs-lg-1);
	font-weight: 500;
	line-height: 1.6;
	margin-bottom: var(--space-8);
}
.c-section-ttl::after {
	content: '';
	width: 10rem;
	height: 1px;
	background-color: var(--color-beige-300);
}

/**** ボタン01 ****/
.btn01 {
	margin-top: 28px;
	font-family: var(--font-family-en);
	letter-spacing: 0.1em;
	font-weight: 500;
}

.btn01 a {
	display: block;
	-webkit-transition: all 0.4s var(--ease-hover);
	transition: all 0.4s var(--ease-hover);
	position: relative;
	z-index: 1;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 280px;
	height: 70px;
	padding-left: 42px;
	color: #fff;
	background-color: var(--color-accent-300);
	line-height: 75px;
}

.btn01 a:hover {
	color: #ffffff;
	background-color: var(--color-accent-400);
}

.btn01 a span {
	position: absolute;
	top: 30px;
	right: 30px;
	display: block;
	width: 62px;
	height: 10px;
	background: url('../img/common/yajirushi01.png') 0 0 no-repeat;
	background-size: 62px 10px;
	overflow: hidden;
}

/**** 白いボタン01 ****/
.btn01--white a {
	-webkit-transition: all 0.4s var(--ease-hover);
	transition: all 0.4s var(--ease-hover);
	color: #fff;
	background-color: transparent;
	border: 1px solid #fff;
}

.btn01--white a:hover {
	color: #fff;
	background-color: transparent;
}

.btn01--white a span {
	background: url('../img/common/yajirushi01.png') 0 0 no-repeat;
	background-size: 62px 10px;
}

.btn01--white a:hover span {
	background: url('../img/common/yajirushi01.png') 0 0 no-repeat;
	background-size: 62px 10px;
}

/**** 黒いボタン01 ****/
.btn01--black a {
	color: var(--color-text);
	border: 1px solid var(--color-text);
	background-color: transparent;
	-webkit-transition: all 0.4s var(--ease-hover);
	transition: all 0.4s var(--ease-hover);
}
.btn01--black a:hover {
	color: var(--color-text);
	background-color: transparent;
}
.btn01--black a span {
	-webkit-filter: brightness(0) opacity(0.6);
	filter: brightness(0) opacity(0.6);
}

/***** ミニボタン01 *****/
.btn01--mini a {
	width: 200px;
	height: 60px;
	padding-left: 32px;
	line-height: 65px;
}

.btn01--mini a span {
	top: 25px;
}

/**** ボタン02 ****/
.btn02 {
	display: inline-block;
	color: #fff;
	line-height: 1.6;
	background-color: var(--color-beige-400);
	padding: var(--space-2) var(--space-4);
	margin-top: var(--space-4);
}
.btn02:hover {
	color: #fff;
	background-color: var(--color-beige-500);
}

.flex {
	display: -ms-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex--space-between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex--space-around {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flex--center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.clearfix::after {
	content: '';
	display: block;
	clear: both;
}

/**** パンくずリスト ****/
.c-breadcrumb {
	padding-inline: var(--space-6);
	margin-block: var(--space-6);
}
.c-breadcrumb__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.c-breadcrumb__list > * + * {
	position: relative;
	padding-left: 2.5rem;
}
.c-breadcrumb__list > * + *::before {
	content: '/';
	position: absolute;
	left: 1rem;
	opacity: 0.6;
}
.c-breadcrumb__item {
	font-size: var(--fs-sm-1);
}
.c-breadcrumb__item--current {
	color: var(--color-text);
}
.c-breadcrumb__link {
	font-size: inherit;
	display: inline-block;
	opacity: 0.6;
}

/**** ページャー ****/
.pagination {
	margin-top: var(--space-8);
}

.archive_pagination {
	text-align: center;
}

.single-pagination {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.single-pagination__prev,
.single-pagination__archive,
.single-pagination__next {
	border-bottom: 1px solid var(--color-gray-300);
}

.page-numbers li {
	display: inline;
	margin: 0 0.6rem 0;
}

.page-numbers.current {
	color: var(--color-accent-300);
	border-bottom: 1px solid var(--color-accent-300);
	padding-bottom: 0.5rem;
	font-size: 1.5rem;
}

/*** サイドバー ***/
.widget_category .wp-block-heading {
	font-size: var(--fs-md-2);
	background: var(--color-beige-200);
	padding: var(--space-2) var(--space-4);
}
.widget_category .wp-block-categories-list li a {
	display: block;
	padding: var(--space-3) var(--space-4);
	border-bottom: 1px solid var(--color-gray-200);
}

/**** スクロールバーデザイン ****/
::-webkit-scrollbar {
	width: 10px;
}

::-webkit-scrollbar-track {
	background: #fff;
	border-left: solid 1px #eee;
}

::-webkit-scrollbar-thumb {
	background: var(--color-accent-400);
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 0 2px #fff;
	box-shadow: inset 0 0 0 2px #fff;
}

/**** ページトップに戻るボタン ****/
#page_top {
	position: fixed;
	right: 2rem;
	bottom: 2rem;
}

#page_top a img {
	padding: 0 4rem;
}

#page_top.is-white a img {
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

/**** マウスドラッグした時の文字色 ****/
::-moz-selection {
	background: var(--color-accent-200);
}
::selection {
	background: var(--color-accent-200);
}

/**** ページ全体の余白など ****/
#page {
	overflow: hidden;
	width: 100%;
}

/**** ユーティリティ ****/
/* スペース調整 */
.u-mb-1 {
	margin-bottom: var(--space-1);
}

.u-mb-2 {
	margin-bottom: var(--space-2);
}

.u-mb-3 {
	margin-bottom: var(--space-3);
}

.u-mb-4 {
	margin-bottom: var(--space-4);
}

.u-mb-5 {
	margin-bottom: var(--space-5);
}

.u-mb-6 {
	margin-bottom: var(--space-6);
}

.u-mb-7 {
	margin-bottom: var(--space-7);
}

.u-mb-8 {
	margin-bottom: var(--space-8);
}

.u-mb-9 {
	margin-bottom: var(--space-9);
}

.u-mb-10 {
	margin-bottom: var(--space-10);
}

.u-mb-section {
	margin-bottom: var(--space-section);
}

/* テキスト調整 */
.u-txt-color {
	color: var(--color-main-500);
}

.u-border {
	border-bottom: 1px solid;
}

.u-accent {
	color: var(--color-accent-300);
}

.u-vertical {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.u-center {
	text-align: center;
}

.u-left {
	text-align: left;
}

.br_pc {
	display: block;
}

.br_1024 {
	display: none;
}

.br_960 {
	display: none;
}

.br_560 {
	display: none;
}

/*--------------------------------------------------------------

## main

--------------------------------------------------------------*/
.contents {
	margin: 0 auto 12vw;
}

.contents--small {
	margin: 0 auto 4vw;
}

.contents--type01 {
	width: 1180px;
	padding: 0 3rem;
}

.contents--type01.flex {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.contents--type02 {
	max-width: 1800px;
}

.contents--type03 {
	max-width: 1800px;
}

/*--------------------------------------------------------------

## footer

--------------------------------------------------------------*/
/********************   コンタクト    **********************/
.footer-contact .btn01 a {
	background: rgba(30, 30, 28, 0.5);
}
.footer-contact__container {
	position: relative;
	clip-path: inset(0 0 0 0);
	width: 100%;
	padding: var(--space-10) 0;
}
.footer-contact__inner {
	width: min(1180px, 90%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-inline: auto;
}
.footer-contact__bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background:
		-webkit-gradient(
			linear,
			left top,
			left bottom,
			from(rgba(30, 30, 28, 0.7)),
			to(rgba(30, 30, 28, 0.5))
		),
		url('../img/common/footer_contact_bg.jpg') no-repeat center/cover;
	background:
		linear-gradient(rgba(30, 30, 28, 0.5), rgba(30, 30, 28, 0.5)),
		url('../img/common/footer_contact_bg.jpg') no-repeat center/cover;
	pointer-events: none;
	z-index: -1;
}
.footer-contact__desc {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.footer-contact__ttl,
.footer-contact__text {
	position: relative;
	z-index: 1;
	color: #fff;
}
.footer-contact__ttl {
	font-size: var(--fs-lg-1);
}
.footer-contact__text {
	font-size: var(--fs-base);
	line-height: 2.8;
	margin-right: var(--space-8);
}
.footer-contact .btn01 {
	margin-top: var(--space-8);
}

/********************   フッターアクセス    **********************/
.access-container {
	padding: 0 10rem 5rem;
	position: relative;
	background-color: var(--color-accent-400);
}

.access-container__bg {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.access__images {
	background-image: url('../img/common/access_bg.jpg');
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: 0 0;
	min-height: 964px;
	width: 100%;
}

.access-container__bg::after {
	content: '';
	background-color: rgba(0, 0, 0, 0.5);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.access-container__box {
	margin: 0 auto;
	padding: var(--space-8) 0;
}

.access-container__txt {
	font-size: var(--fs-sm-1);
}

.access-container__logo a {
	display: block;
}

.access-container__logo img {
	max-width: clamp(16rem, 13.135rem + 12.39vw, 28rem);
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.access-container__logo img:hover {
	opacity: 0.7;
}

.access-container__desc {
	margin-top: var(--space-10);
	color: var(--color-gray-300);
}

.access-container__address {
	font-size: var(--fs-sm-1);
}

.access-container__map {
	color: var(--color-gray-300);
	font-size: var(--fs-sm-2);
	font-family: var(--font-family-en);
	text-decoration: underline;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.access-container__map:hover {
	color: inherit;
	opacity: 0.7;
}

.access-container__tel {
	font-size: var(--fs-sm-1);
	margin-top: var(--space-2);
}
.access-container__tel a {
	color: var(--color-gray-300);
}

.access-container__sns {
	text-align: right;
	margin-top: var(--space-10);
}

.access-container__sns a {
	color: var(--color-gray-300);
	font-size: 2.6rem;
	padding-right: 0.5rem;
}

.access-container__sns a:hover {
	color: var(--color-accent-100);
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}

.access-container__copyright {
	font-size: 1rem;
	color: #fff;
}

.footer-nav__menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: var(--space-3);
}
.footer-nav__item a {
	display: inline-block;
	color: #fff;
	letter-spacing: 0.14em;
	-webkit-transition: -webkit-transform 0.4s ease;
	transition: -webkit-transform 0.4s ease;
	transition: transform 0.4s ease;
	transition:
		transform 0.4s ease,
		-webkit-transform 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
	.footer-nav__item a:hover {
		color: #fff;
		-webkit-transform: translateY(-4px);
		transform: translateY(-4px);
	}
}
/*--------------------------------------------------------------

## front-page.php

--------------------------------------------------------------*/
/***** index-message *****/
.index-message {
	position: relative;
	padding-bottom: var(--space-10);
}
.index-message::after {
	content: '';
	display: block;
	background: -webkit-gradient(
		linear,
		left bottom,
		left top,
		color-stop(0, var(--color-beige-200)),
		to(#fff)
	);
	background: linear-gradient(to top, var(--color-beige-200) 0, #fff 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: var(--space-10);
	z-index: -1;
	pointer-events: none;
}
.index-message .contents--type01 {
	margin-inline: auto;
}
.index-message__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.index-message__inner .btn01 {
	margin-top: var(--space-6);
}
.index-message__desc {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.index-message__title {
	font-size: var(--fs-lg-2);
	letter-spacing: 0.14em;
}
.index-message__text {
	font-size: var(--fs-md-1);
	line-height: 2.8;
	margin-right: var(--space-8);
	margin-top: var(--space-8);
}

/***** index-contents1 *****/
.contents1__ttl {
	letter-spacing: 2px;
	margin-bottom: 3rem;
}

.contents1__txt {
	letter-spacing: 1.4px;
}

/***** index-contents2 *****/
.index-contents2 {
	position: relative;
	background: var(--color-beige-200);
	padding-bottom: var(--space-10);
}
.index-contents2::after {
	content: '';
	display: block;
	background: -webkit-gradient(
		linear,
		left bottom,
		left top,
		color-stop(0, #fff),
		to(var(--color-beige-200))
	);
	background: linear-gradient(to top, #fff 0, var(--color-beige-200) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: var(--space-10);
	z-index: 0;
	pointer-events: none;
}

/***** index-contents-list *****/
.index-contents-list {
	display: block;
}

.index-contents-list__box {
	margin-bottom: 8rem;
}

.index-contents-list__img {
	display: inline-block;
	width: 64%;
	margin-bottom: 0;
	padding-top: 0;
	opacity: 1;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}

.index-contents-list li:nth-child(odd) .index-contents-list__img {
	margin: 0 0 0 36%;
}

.index-contents-list li:nth-child(even) .index-contents-list__img {
	margin: 0 36% 0 0;
}

.index-contents-list__txt {
	position: relative;
	width: 25%;
	margin-top: -25%;
	padding: 8% 11% 5%;
	background-color: #fff;
	opacity: 1;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.index-contents-list li:nth-child(even) .index-contents-list__txt {
	position: relative;
	width: 25%;
	margin: -25% 0 0 53%;
	padding: 8% 11% 5%;
	background-color: #fff;
}

.index-contents-list__ttl {
	position: absolute;
	top: -16%;
	left: 10%;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.index-contents-list li:nth-child(even) .index-contents-list__ttl {
	position: absolute;
	right: 10%;
}

.index-contents-list li:nth-child(even) .index-contents-list__ttl h2::before {
	position: absolute;
	right: -20%;
}

.index-contents-list__ttl h2 {
	font-size: var(--fs-lg-1);
	position: relative;
	display: inline-block;
	font-weight: 500;
	z-index: 0;
}
.index-contents-list__ttl h2::before {
	content: '';
	position: absolute;
	z-index: -1;
	width: 110%;
	height: 100%;
	left: -20%;
	top: 8%;
	background: radial-gradient(
		ellipse at center,
		rgba(166, 156, 139, 0.25) 0%,
		rgba(166, 156, 139, 0.15) 35%,
		rgba(166, 156, 139, 0.05) 60%,
		transparent 78%
	);
	-webkit-filter: blur(20px);
	filter: blur(20px);
}

.index-contents-list__lead .btn01 {
	margin-top: var(--space-6);
}

/***** index-contents3 *****/
.index-contents3 {
	padding: 0 0 var(--space-8);
}

.index-contents3__head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.index-contents3__ttl {
	font-size: var(--fs-lg-1);
	letter-spacing: 0.12em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-bottom: var(--space-6);
}

.index-contents3__box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-6) var(--space-4);
}

.index-contents3__txt {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.index-contents3__txt h3 {
	font-size: var(--fs-md-1);
}

.index-contents3__txt h3:hover {
	color: var(--color-gray-300);
	-webkit-transition: 0.4s var(--ease-hover);
	transition: 0.4s var(--ease-hover);
}

.category-btn01 a {
	color: #fff;
	background: var(--color-beige-400);
	font-size: var(--fs-sm-1);
	padding: 0.5em 1.3em;
	-webkit-transition: 0.4s var(--ease-hover);
	transition: 0.4s var(--ease-hover);
}

.category-btn01 a:hover {
	background: var(--color-beige-500);
}

.index-contents3__btn {
	margin: 0 auto;
}

.index-contents3__btn .btn01 a {
	margin: 8rem auto 0;
}

/***** index-faq *****/
.index-faq__container {
	margin-inline: auto;
}
.index-faq__inner {
	height: 700px;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	background-color: var(--color-beige-200);
}
.index-faq__image {
	grid-column: 1/6;
}
.index-faq__content {
	grid-column: 8/12;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.index-faq__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}
.index-faq__desc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: var(--space-6);
}
.index-faq__ttl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: var(--fs-lg-1);
	letter-spacing: 0.12em;
}
.index-faq .btn01--white {
	margin-top: var(--space-6);
}
.index-faq .btn01--white a {
	color: var(--color-text);
	border-color: var(--color-text);
}
.index-faq .btn01--white a span {
	-webkit-filter: brightness(0) opacity(0.6);
	filter: brightness(0) opacity(0.6);
}

/***** index-news *****/
.index-news {
	padding: 10rem 0 6rem;
}

.index-news__head {
	margin: 0 auto 10rem;
	width: 70%;
}

.index-news__ttl--ja,
.index-news__ttl--en {
	text-align: center;
	display: block;
	line-height: 1.8;
}

.index-news__ttl--en {
	font-size: 1.4rem;
	text-align: left;
}

.index-news__head .btn01 {
	margin-top: 1rem;
}

.index-news__item {
	margin: 0 auto;
}

.index-news-list {
	width: 70%;
	margin: 0 auto;
}

.index-news-list__box {
	margin-bottom: 3rem;
	text-align: left;
}

.index-news-list__box a:hover {
	color: var(--color-accent-400);
}

.index-news-list__date {
	position: relative;
	left: 0;
	top: 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.875;
	margin-bottom: 0;
}

.index-news-list__date::after {
	position: absolute;
	top: 1rem;
	left: 12rem;
	width: 8rem;
	height: 1px;
	background-color: var(--color-accent-300);
	content: '';
}

.index-news-list__ttl {
	padding-left: 14rem;
}

/* 投稿が見つからない */
.not-found__txt {
	color: #f72503;
	text-align: center;
}

/*--------------------------------------------------------------

## index.php / archive.php

--------------------------------------------------------------*/
/***** products *****/
.products {
	padding: var(--space-8) 0;
}

.products__box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-6) var(--space-4);
}

.products__txt {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.products__txt h3 {
	font-size: var(--fs-md-1);
}

.category-btn02 a {
	color: #fff;
	background: var(--color-accent-400);
	font-size: 1.4rem;
	border: 2px solid var(--color-accent-400);
	padding: 0.5rem 1.3rem;
}

.category-btn02 a:hover {
	color: var(--color-accent-400);
	background: #fff;
	border: 2px solid var(--color-accent-400);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}

.products__btn {
	margin: 0 auto;
}

.products__btn .btn01 a {
	margin: 8rem auto 0;
}

/*--------------------------------------------------------------

## single.php

--------------------------------------------------------------*/
/***** .products-single *****/
.products-single__box {
	gap: var(--space-8);
}

.products-single__item {
	width: calc(100% - 280px - var(--space-8));
}

.products-single__ttl {
	text-align: left;
	padding-bottom: var(--space-3);
	margin: 0 0 var(--space-3);
	border-bottom: 1px solid var(--color-gray-200);
}

.products-single__img {
	text-align: center;
}

.products-single__info {
	margin: 0 auto var(--space-8);
}

.products-single__date {
	color: var(--color-gray-600);
}

.products-single__txt {
	margin: var(--space-8) 0 0;
}

.products-single__txt p {
	margin-bottom: 1em;
}

.sidebar {
	width: 280px;
}

label.screen-reader-text {
	display: none;
}

.widget-container_title {
	background-color: var(--color-accent-400);
	font-size: 1.8rem;
	color: #fff;
	margin: 0 auto 1rem;
	padding: 0.5rem 2rem;
}

.searchform {
	position: relative;
}

.searchfield {
	font-size: 14px;
	width: 90%;
	margin: 1rem auto;
	padding: 1.2rem 1rem;
	border: solid 1px #bbb;
	background-color: #efefef;
}

.searchsubmit {
	font-family: 'FontAwesome';
	font-size: 2rem;
	position: absolute;
	top: 0;
	right: 8%;
	margin-top: 2rem;
	padding: 0;
	cursor: pointer;
	color: var(--color-accent-400);
	border: none;
	background: transparent;
}

.searchsubmit:hover {
	opacity: 0.6;
}

/*--------------------------------------------------------------

## archive-faq.php

--------------------------------------------------------------*/
.archive-faq {
	padding: var(--space-8) 0;
}
.archive-faq__text {
	margin-bottom: var(--space-8);
}

.c-faq-list__item--question {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	gap: var(--space-2);
	padding: var(--space-5) var(--space-3);
	border-bottom: 1px solid var(--color-gray-200);
	cursor: pointer;
	-webkit-transition: 0.4s ease;
	transition: 0.4s ease;
}
.c-faq-list__item--question:hover {
	background: var(--color-main-50);
}
.c-faq-list__item--question.is-active .c-faq-list__icon::before {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.c-faq-list__item--question.is-active .c-faq-list__icon::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	opacity: 0;
}
.c-faq-list__item--answer {
	background: color-mix(in srgb, var(--color-beige-100) 70%, transparent);
	padding: var(--space-5) var(--space-3);
	display: none;
	overflow: hidden;
}
.c-faq-list__desc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	-webkit-column-gap: var(--space-2);
	-moz-column-gap: var(--space-2);
	column-gap: var(--space-2);
	font-size: var(--fs-sm-2);
	line-height: 1.8;
}
.c-faq-list__desc::before,
.c-faq-list__desc::after {
	font-size: var(--fs-md-2);
	font-family: var(--font-family-en);
	line-height: 1;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.c-faq-list__desc--question::before {
	content: 'Q.';
	color: var(--color-beige-400);
}
.c-faq-list__desc--answer::before {
	content: 'A.';
	color: var(--color-gray-300);
}
.c-faq-list__desc--answer p a:not(.btn02) {
	text-decoration: underline;
}
.c-faq-list__icon {
	position: relative;
	display: block;
	width: 14px;
	height: 14px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
.c-faq-list__icon::before,
.c-faq-list__icon::after {
	content: '';
	position: absolute;
	background-color: var(--color-gray-300);
	-webkit-transition: -webkit-transform 0.4s ease;
	transition: -webkit-transform 0.4s ease;
	transition: transform 0.4s ease;
	transition:
		transform 0.4s ease,
		-webkit-transform 0.4s ease;
}
.c-faq-list__icon::before {
	top: 6px;
	left: 0;
	width: 14px;
	height: 2px;
}
.c-faq-list__icon::after {
	top: 0;
	left: 6px;
	width: 2px;
	height: 14px;
}

/*--------------------------------------------------------------

## search.php

--------------------------------------------------------------*/
.search_ttl {
	margin: 7rem 0 0;
}

.search_none {
	margin: 4rem 0 0;
}

/*--------------------------------------------------------------

## archive-news.php

--------------------------------------------------------------*/
/***** news *****/
.news {
	padding: 10rem 0 6rem;
}

.news__item {
	margin: 0 auto;
}

.news__box {
	max-width: 600px;
	margin: 4rem auto 0;
}

.news-list__box {
	margin-bottom: 3rem;
	text-align: left;
}

.news-list__box a:hover {
	color: var(--color-accent-400);
}

.news-list__date {
	position: relative;
	left: 0;
	top: 0;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.875;
	margin-bottom: 0;
}

.news-list__date::after {
	position: absolute;
	top: 1rem;
	left: 11rem;
	width: 6rem;
	height: 1px;
	background-color: var(--color-accent-300);
	content: '';
}

.news-list__ttl {
	padding-left: 10rem;
}

/*--------------------------------------------------------------

## single-news.php

--------------------------------------------------------------*/
/***** .news-single *****/
.news-single {
	padding: 10rem 0 6rem;
}

.news-single__item {
	text-align: center;
}

.news-single__ttl {
	text-align: center;
	margin: 0 auto 1rem;
}

.news-single__date {
	text-align: center;
	color: var(--color-accent-400);
	margin: 0 auto 7rem;
}

.news-single .wp-post-image {
	max-width: 100%;
	margin: 0 auto 3rem;
}

.news-single__txt {
	text-align: left;
	margin: 0 auto;
	max-width: 70%;
}

.news-btn {
	margin: 10rem auto 0;
}

.news-btn a {
	margin: 0 auto;
}

/*--------------------------------------------------------------

## その他の下層ページ page.php

--------------------------------------------------------------*/
.page-sub {
	padding: var(--space-8) 0 var(--space-section);
}

.section--color {
	position: relative;
	background-color: var(--color-beige-200);
	padding-block: var(--space-10) var(--space-10);
}
.section--color::before {
	content: '';
	display: block;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		color-stop(0, #fff),
		to(var(--color-beige-200))
	);
	background: linear-gradient(to bottom, #fff 0, var(--color-beige-200) 100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--space-10);
	z-index: 0;
	pointer-events: none;
}
.section--color::after {
	content: '';
	display: block;
	background: -webkit-gradient(
		linear,
		left bottom,
		left top,
		color-stop(0, #fff),
		to(var(--color-beige-200))
	);
	background: linear-gradient(to top, #fff 0, var(--color-beige-200) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: var(--space-10);
	z-index: 0;
	pointer-events: none;
}

.p-page-link__container {
	margin: 0 auto var(--space-8);
}
.p-page-link__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: var(--space-2);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-left: auto;
}
.p-page-link__item a {
	display: inline-block;
	border-right: 1px solid var(--color-gray-300);
	-webkit-transition: all 0.4s var(--ease-hover);
	transition: all 0.4s var(--ease-hover);
}

@media (hover: hover) and (pointer: fine) {
	.p-page-link__item a:hover {
    color: var(--color-text);
		-webkit-transform: translateY(-4px);
		transform: translateY(-4px);
	}
}
/***** page-about / ぬしとう仏葬店について *****/
.p-about-policy__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.p-about-policy__desc {
	-ms-flex-item-align: end;
	align-self: flex-end;
	width: min(600px, 55%);
}
.p-about-policy__text {
	line-height: 2.8;
}
.p-about-policy__image {
	aspect-ratio: 4/5;
	width: min(400px, 35%);
	margin-top: -6rem;
}
.p-about-policy__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}

.p-about-greeting__text {
	font-size: var(--fs-sm-2);
	line-height: 2.2;
}
.p-about-greeting__text + .p-about-greeting__text {
	margin-top: var(--space-4);
}
.p-about-greeting__name {
	margin-top: var(--space-8);
}
.p-about-greeting__person {
	font-size: var(--fs-md-2);
	font-weight: 500;
	margin-left: var(--space-2);
}

.p-about-outline__content {
	display: grid;
	grid-template-columns: 5fr 4fr;
	gap: var(--space-6);
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.p-about-outline__image {
	aspect-ratio: 3/2;
}
.p-about-outline__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}
.p-about-outline__desc {
	padding-inline: var(--space-6);
}
.p-about-outline__table {
	width: 100%;
}
.p-about-outline__table :is(th, td) {
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--color-gray-100);
}
.p-about-outline__table th {
	font-weight: 500;
	text-align: left;
}
.p-about-outline__link-map {
	font-size: var(--fs-sm-1);
	text-decoration: underline;
}

/***** page-funeral / 葬儀について *****/
.p-funeral-message {
	position: relative;
	height: 400px;
}
.p-funeral-message__container {
	margin-inline: auto;
}
.p-funeral-message__image {
	content: '';
	position: absolute;
	top: 6rem;
	left: 0;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: 100%;
	z-index: -1;
	pointer-events: none;
}
.p-funeral-message__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}
.p-funeral-message__image::before {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(30, 30, 28, 0.3);
}
.p-funeral-message__desc {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	-webkit-transform: translateY(-6rem);
	transform: translateY(-6rem);
	background: var(--color-beige-100);
	padding: var(--space-6);
	-webkit-box-shadow: var(--shadow-sm);
	box-shadow: var(--shadow-sm);
}
.p-funeral-message__text {
	line-height: 2.4;
}
.p-funeral-message__text + .p-funeral-message__text {
	margin-top: var(--space-4);
}

.p-funeral-flow__list {
	counter-reset: item;
	width: min(800px, 100%);
	margin-left: auto;
}
.p-funeral-flow__item {
	position: relative;
	counter-increment: item;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	background: #fff;
	padding-bottom: 6rem;
	-webkit-box-shadow: 0 8px 8px -8px rgba(61, 58, 59, 0.06);
	box-shadow: 0 8px 8px -8px rgba(61, 58, 59, 0.06);
}
.p-funeral-flow__item + .p-funeral-flow__item {
	margin-top: 8rem;
}
.p-funeral-flow__item-desc {
	width: calc(100% - 260px);
}
.p-funeral-flow__item-ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	font-size: var(--fs-md-2);
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: var(--space-4);
}
.p-funeral-flow__item-ttl::before {
	content: counter(item, decimal-leading-zero);
	font-size: var(--fs-base);
	font-weight: 400;
	color: var(--color-gray-400);
}
.p-funeral-flow__item-img {
	position: absolute;
	top: -4rem;
	right: 0;
	width: 200px;
	aspect-ratio: 3/2;
	-ms-flex-item-align: end;
	align-self: flex-end;
}
.p-funeral-flow__item-img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}

.p-funeral-venue__content {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--space-6) var(--space-4);
}
.p-funeral-venue__item {
	grid-column: span 2;
}
.p-funeral-venue__item--featured {
	grid-column: span 3;
}
.p-funeral-venue__image {
	overflow: hidden;
	aspect-ratio: 3/2;
}
.p-funeral-venue__image a {
	display: block;
	width: 100%;
	height: 100%;
}
.p-funeral-venue__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
	-webkit-transition: -webkit-transform 0.4s var(--ease-hover);
	transition: -webkit-transform 0.4s var(--ease-hover);
	transition: transform 0.4s var(--ease-hover);
	transition:
		transform 0.4s var(--ease-hover),
		-webkit-transform 0.4s var(--ease-hover);
}
.p-funeral-venue__item:hover .p-funeral-venue__image img {
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}
.p-funeral-venue__caption {
	margin-top: var(--space-3);
	font-size: var(--fs-sm-2);
	line-height: 1.8;
	text-align: center;
}

.p-funeral-price__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--space-8);
}
.p-funeral-price__item + .p-funeral-price__item {
	margin-top: var(--space-8);
}
.p-funeral-price__item:first-of-type .p-funeral-price__item-ttl::before {
	content: '';
	position: absolute;
	inset: var(--space-1);
	border: 1px solid var(--color-beige-300);
}
.p-funeral-price__item-ttl {
	position: relative;
	font-size: var(--fs-md-2);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-align: center;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	background: rgba(255, 255, 255, 0.7);
	padding: var(--space-4) var(--space-6);
}
.p-funeral-price__item-body h4 {
	color: var(--color-beige-500);
	font-size: var(--fs-md-1);
	margin-bottom: var(--space-2);
}
.p-funeral-price__item-value {
	font-size: var(--fs-lg-1);
	font-weight: 500;
	color: var(--color-accent-300);
	margin-bottom: var(--space-6);
}
.p-funeral-price__item-value span {
	font-size: var(--fs-base);
	color: var(--color-text);
}
.p-funeral-price__item-list {
	padding: var(--space-4) var(--space-6);
	border-left: 3px solid var(--color-beige-300);
}
.p-funeral-price__item-list li + li {
	margin-top: var(--space-2);
}
.p-funeral-price__item-list li {
	position: relative;
	padding-left: 1.8rem;
}
.p-funeral-price__item-list li::before {
	content: '';
	position: absolute;
	top: calc(1lh / 2);
	left: 0;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	background-color: var(--color-accent-300);
}

/***** page-product / 仏壇・仏具 *****/
.p-product__columns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: var(--space-8);
}
.p-product__desc {
	width: min(650px, 60%);
	margin-top: var(--space-8);
}
.p-product__text + .p-product__text {
	margin-top: var(--space-4);
}
.p-product__images {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: var(--space-6);
	width: min(700px, 100%);
	margin-left: auto;
	margin-top: var(--space-8);
}
.p-product__images .p-product__image:first-child {
	margin-top: var(--space-6);
}
.p-product__image {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	aspect-ratio: 4/5;
}
.p-product__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}

/*--------------------------------------------------------------

## お問い合わせ page-contact.php

--------------------------------------------------------------*/
.p-contact-message {
	background: var(--color-beige-100);
	padding: var(--space-6);
	margin-bottom: var(--space-8);
}
.p-contact-message__tel a {
	font-size: var(--fs-lg-1);
	color: var(--color-accent-300);
}

.p-contact-form__item {
	margin-bottom: var(--space-6);
}
.p-contact-form__item--submit {
	text-align: center;
	margin-top: var(--space-4);
}
.p-contact-form__item--check {
	text-align: center;
	font-size: var(--fs-sm-2);
	line-height: 1.8;
}
.p-contact-form__label {
	display: block;
	font-size: var(--fs-base);
	font-weight: 500;
	margin-bottom: var(--space-2);
	line-height: 2.8;
}
.p-contact-form__acceptance a {
	color: #4a4a4a;
	text-decoration: underline;
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.p-contact-form__acceptance a:hover {
	color: #c4c4c4;
}
.p-contact-form__badge {
	display: inline-block;
	margin-left: 10px;
	padding: 0.2em 0.5em;
	font-size: var(--fs-sm-1);
	line-height: 1.4;
	color: #fff;
	border-radius: 3px;
	vertical-align: middle;
}
.p-contact-form__badge.required {
	background-color: #e60023;
}
.p-contact-form__badge.any {
	background-color: #1096cf;
}
.p-contact-form__policy {
	width: auto;
	height: 25rem;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 3px;
	overflow: auto;
}
.p-contact-form__policy-inner {
	padding: 6% 3%;
}
.p-contact-form__policy h3 {
	font-size: var(--fs-md-2);
	margin-bottom: var(--space-5);
}
.p-contact-form__policy h4 {
	font-size: var(--fs-md-1);
	margin-bottom: var(--space-2);
	margin-top: var(--space-4);
}
.p-contact-form__policy p {
	font-size: var(--fs-sm-2);
}

/* wpcf7 */
.wpcf7 {
	color: var(--color-text);
	width: 100%;
	border: none;
	background: transparent;
}

.wpcf7 form {
	margin: 0;
}

.wpcf7 input[type='text'],
.wpcf7 input[type='email'],
.wpcf7 input[type='tel'],
.wpcf7 input[type='file'],
.wpcf7 select,
.wpcf7 textarea {
	width: 100%;
	padding: 0.8em;
	font-size: var(--fs-base);
	border: 1px solid #ececec;
	border-radius: 3px;
	background-color: #fcfbfb;
	-webkit-transition:
		border-color 0.3s ease,
		-webkit-box-shadow 0.3s ease;
	transition:
		border-color 0.3s ease,
		-webkit-box-shadow 0.3s ease;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		-webkit-box-shadow 0.3s ease;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.wpcf7 textarea {
	min-height: 160px;
	resize: vertical;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: #005bbb;
	-webkit-box-shadow: 0 0 0 2px rgba(0, 91, 187, 0.15);
	box-shadow: 0 0 0 2px rgba(0, 91, 187, 0.15);
}

.wpcf7 input[type='radio'] {
	margin-right: 4px;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
	font-size: var(--fs-sm-2);
}

.wpcf7 .wpcf7-radio .wpcf7-list-item {
	display: block;
	margin: 0 0 var(--space-4) 0;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	display: inline-block;
	margin: 0 0.5em 0 0;
}

.wpcf7 input[type='submit'] {
	display: block;
	min-width: 240px;
	height: 54px;
	padding: 10px 20px;
	margin-inline: auto;
	font-size: var(--fs-base);
	font-weight: 500;
	line-height: 1;
	color: #fff;
	background-color: #343434;
	border: none;
	border-radius: 50px;
	cursor: pointer;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.wpcf7 input[type='submit']:hover {
	background-color: color-mix(in srgb, #343434 60%, transparent);
}

.wpcf7 input[type='submit']:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	-webkit-transform: none;
	transform: none;
}

.wpcf7-not-valid {
	border-color: #e60023 !important;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 14px;
	color: #e60023;
}

.wpcf7-response-output {
	margin: var(--space-4) 0 0;
	padding: 0.8em;
	font-size: 14px;
	border-radius: 3px;
}

.wpcf7-mail-sent-ok {
	background-color: #e6f4ea;
	color: #1e7e34;
	border: 1px solid #b7dfc8;
}

.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
	background-color: #fdecea;
	color: #b71c1c;
	border: 1px solid #f5c6cb;
}

#autozip {
	display: none !important;
}

/*--------------------------------------------------------------

## 微調整

--------------------------------------------------------------*/
@media screen and (max-width: 1440px) {
	/* フッター */
	.access__images {
		background-attachment: scroll;
	}
}
@media screen and (max-width: 1259px) {
	.contents--type01 {
		width: calc(100% - 165px);
	}
	/* フッター */
	.index-contact__btn {
		margin: 0 auto -160px;
	}
	.contact-btn {
		width: 90%;
		height: 160px;
		margin: 0 auto;
	}
	.contact-btn--en {
		font-size: 2.4rem;
		line-height: 1.6;
	}
}
/*--------------------------------------------------------------

## 1025px

--------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
	/* 改行 */
	.br_1024 {
		display: block;
	}
	/* 共通 */
	.contents {
		margin-bottom: 20vw;
	}
	.contents--small {
		margin-bottom: 10vw;
	}
	.contents--type03 {
		width: 100%;
	}
	/* フッター */
	.access-container {
		padding: 0 5rem 5rem;
	}
}
/*--------------------------------------------------------------

## 960px

--------------------------------------------------------------*/
@media screen and (max-width: 959px) {
	/* 改行 */
	.br_pc {
		display: none;
	}
	.br_960 {
		display: block;
	}
	/* 共通 */
	.contents--type01 {
		width: calc(100% - 10vw);
		margin-right: auto;
	}
	/* フッター */
	.footer-contact__inner {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.footer-contact__desc {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
	.footer-contact__text {
		font-size: var(--fs-sm-2);
		line-height: inherit;
		margin-right: 0;
		margin-top: var(--space-4);
	}
	.footer-contact__bg {
		background-position: 10% 50%;
	}
	.footer-contact .btn01 {
		margin-top: var(--space-6);
	}
	.access-container__box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: var(--space-8);
	}
	.access-container__sns {
		text-align: left;
	}
	.footer-nav__menu {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		padding-left: var(--space-4);
		padding-block: var(--space-2);
		border-left: 1px solid rgba(255, 255, 255, 0.3);
	}
	/* index.php @960px */
	.index-message__desc {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
	.index-message__title {
		letter-spacing: inherit;
	}
	.index-message__text {
		font-size: var(--fs-sm-2);
		line-height: inherit;
		margin-right: 0;
		margin-top: var(--space-4);
	}
	.index-contents-list__ttl {
		position: static;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		margin-bottom: var(--space-4);
	}
	.index-contents-list__ttl h2::before {
		content: none;
	}
	.index-contents-list__img {
		position: relative;
		display: inline-block;
		width: 84%;
		margin-bottom: 40px;
		padding-top: 0;
		opacity: 1;
		-webkit-transition: all 0.6s;
		transition: all 0.6s;
	}
	.index-contents-list li:nth-child(even) .index-contents-list__ttl {
		position: static;
	}
	.index-contents-list li:nth-child(odd) .index-contents-list__img {
		margin: 0 0 0 0%;
	}
	.index-contents-list li:nth-child(even) .index-contents-list__img {
		margin-left: 16%;
	}
	.index-contents-list__txt {
		width: auto;
		margin-top: 5%;
		padding: var(--space-6) 16% var(--space-6) 120px;
	}
	.index-contents-list li:nth-child(even) .index-contents-list__txt {
		width: auto;
		margin: 5% 0 0 0;
		padding: var(--space-6) 16% var(--space-6) 120px;
	}
	.index-contents3__ttl {
		letter-spacing: inherit;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
	.index-contents3__box {
		grid-template-columns: repeat(2, 1fr);
	}
	.index-faq__inner {
		height: auto;
	}
	.index-faq__image {
		aspect-ratio: 3/2;
		grid-column: 1/13;
	}
	.index-faq__content {
		grid-column: 1/13;
		padding: var(--space-8) var(--space-6);
	}
	.index-faq__desc {
		gap: var(--space-4);
	}
	.index-faq__ttl {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		letter-spacing: inherit;
	}
	.index-news__head {
		width: 100%;
		margin: 0 auto 7rem;
	}
	.index-news-list {
		width: 100%;
		margin: 0 auto;
	}
	.index-news-list__ttl {
		padding-left: 6rem;
	}
	.index-news-list__date::after {
		width: 5rem;
		left: 12.3rem;
	}
	/* archive.php */
	.products__box {
		grid-template-columns: repeat(2, 1fr);
	}
	/* single.php */
	.products-single__box {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.products-single__item {
		width: 100%;
	}
	.sidebar {
		width: 100%;
	}
	/* .news-single */
	.news-single__txt {
		max-width: 90%;
	}
	/* page-about.php @960px */
	.p-about-policy__desc {
		width: 90%;
		-ms-flex-item-align: start;
		align-self: flex-start;
	}
	.p-about-policy__text {
		line-height: 2.2;
	}
	.p-about-policy__image {
		width: 75%;
		-ms-flex-item-align: end;
		align-self: flex-end;
		margin-top: var(--space-6);
	}
	.p-about-outline__content {
		grid-template-columns: 1fr;
	}
	.p-about-outline__image {
		width: 85%;
	}
	/* page-funeral.php @960px */
	.p-funeral-message {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
	}
	/* page-product.php @960px */
	.p-product__columns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.p-product__desc {
		width: 90%;
		margin-top: 0;
	}
	.p-product__images {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.p-product__images .p-product__image:first-child {
		margin-top: 0;
	}
	.p-product__images .p-product__image:last-child {
		margin-left: 0;
		margin-right: 15%;
	}
	.p-product__image {
		margin-left: 15%;
	}
}
/*--------------------------------------------------------------

## 768px

--------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	/* index.php */
	.index-news {
		padding: 7rem 0 0rem;
	}
	.index-news-list__ttl {
		font-size: 1.4rem;
		padding-left: 0rem;
	}
	.index-news-list__date {
		display: block;
		color: var(--color-accent-400);
	}
	.index-news-list__date::after {
		display: none;
	}
	/* フッター */
	.access-container__sns {
		margin-top: 4rem;
	}
	/***** .archive-news *****/
	.news {
		padding: 7rem 0 6rem;
	}
	.news-list__ttl {
		padding-left: 0rem;
	}
	.news-list__date {
		display: block;
		color: var(--color-accent-400);
	}
	.news-list__date::after {
		display: none;
	}
	/***** .news-single *****/
	.news-single {
		padding: 7rem 0 6rem;
	}
	.news-single__ttl {
		margin: 4rem auto 0rem;
	}
	.news-single__date {
		margin: 0 auto 4rem;
	}
	.news-single__txt {
		max-width: 100%;
	}
	.news-btn {
		margin: 7rem auto 0;
	}
	/***** page.php *****/
}
/*--------------------------------------------------------------

## 560px

--------------------------------------------------------------*/
@media screen and (max-width: 559px) {
	/* 改行 */
	.br_560 {
		display: block;
	}
	.br_560_none {
		display: none;
	}
	/* 共通 */
	h1 {
		font-size: 3rem;
	}
	h2 {
		font-size: 2.5rem;
	}
	h3 {
		font-size: 2rem;
	}
	h4 {
		font-size: 1.8rem;
	}
	p {
		font-size: 1.4rem;
	}
	a {
		font-size: 1.4rem;
	}
	li,
	th,
	td {
		font-size: 1.4rem;
	}
	.contents--type01,
	.contents--type02 {
		width: calc(100% - 6rem);
	}
	/***** ボタン01 *****/
	.btn01 a {
		width: 260px;
		height: 60px;
		padding-left: 22px;
		line-height: 65px;
	}
	.btn01 a span {
		top: 25px;
		right: 0px;
		width: 40%;
	}
	/***** ミニボタン01 *****/
	.btn01--mini a {
		width: 150px;
		height: 50px;
		padding-left: 20px;
		line-height: 55px;
	}
	.btn01--mini a span {
		top: 20px;
		right: 0px;
		width: 50%;
	}
	/* トップに戻るボタン */
	#page_top {
		bottom: 1rem;
	}
	#page_top a img {
		padding: 0 1rem 0 0;
	}
	/* index.php @560px */
	.index-contents-list__txt {
		position: relative;
		padding-inline: 4rem 6rem;
		opacity: 0;
		-webkit-transition: all 0.6s;
		transition: all 0.6s;
	}
	.index-contents-list li:nth-child(even) .index-contents-list__txt {
		padding-inline: 4rem 6rem;
	}
	.index-contents3__box {
		grid-template-columns: 1fr;
	}
	.index-contents3__lead {
		margin: 4rem auto 4rem;
	}
	.index-contents3__txt h3 {
		font-size: 1.6rem;
	}
	/* フッター @560px */
	.access-container {
		padding: 0 3rem 3rem;
	}
	/* archive.php */
	.products__box {
		grid-template-columns: 1fr;
	}
	.products__lead {
		margin: 4rem auto 4rem;
	}
	.header-sub__bg--pc {
		display: none;
	}
	.header-sub__bg--sp {
		display: block;
	}
	.widget-container_title {
		font-size: 1.6rem;
	}
	/* archive-news.php */
	.news {
		padding: 7rem 0 0rem;
	}
	/* page.php @560px */
	.p-page-link__list {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		gap: unset;
	}
	.p-page-link__item a {
		padding-left: var(--space-3);
		padding-block: var(--space-1);
		border-right: none;
		border-left: 1px solid var(--color-gray-300);
	}
	/* page-about.php @560px */
	.p-about-outline__table :is(th, td) {
		display: block;
		padding-inline: var(--space-4);
	}
	.p-about-outline__table th {
		background: var(--color-beige-100);
	}
	/* page-funeral.php @960px */
	.p-funeral-message__image {
		top: 0;
	}
	.p-funeral-message__image::before {
		background: rgba(30, 30, 28, 0.5);
	}
	.p-funeral-message__desc {
		background: transparent;
		padding: var(--space-8) 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	.p-funeral-message__text {
		color: #fff;
		line-height: inherit;
	}
	.p-funeral-flow__item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: var(--space-6);
		padding-bottom: 4rem;
	}
	.p-funeral-flow__item + .p-funeral-flow__item {
		margin-top: 4rem;
	}
	.p-funeral-flow__item-desc {
		width: auto;
	}
	.p-funeral-flow__item-img {
		position: static;
		width: 75%;
	}
	.p-funeral-price__item {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.p-funeral-price__item-ttl {
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		letter-spacing: inherit;
	}
	.p-funeral-venue__content {
		grid-template-columns: 1fr;
	}
} /*# sourceMappingURL=style.css.map */
