@charset "UTF-8";
/**
 * Template: snow-monkey
 * Theme Name: 東洋パスカリオ
 */

/* フォント */
:root {
	--font-family: "Noto Sans JP", sans-serif;
}
@media not all and (min-width: 640px) {
	:root {
		--_global--font-size-px: 14px;
	}
}

/* ボタン */
.smb-btn {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	border-radius: 0;
}
@media (hover: hover) and (pointer: fine) {
	.smb-btn:active, .smb-btn:focus, .smb-btn:hover {
		-webkit-filter: brightness(110%);
		        filter: brightness(110%);
	}
}

/* 改行 */
@media (min-width: 640px) {
	br.sp {
		display: none;
	}
}
@media (min-width: 1024px) {
	br.tb {
		display: none;
	}
}
@media (max-width: 1024px) {
	br.pc {
		display: none;
	}
}
/* 非表示 */
@media not all and (min-width: 640px) {
	p.sp-hidden {
		display: none;
	}
}

/* Header */
.l-header {
	background-color: #231815;
}
.l-header .c-container {
	max-width: inherit;
}
.l-header .c-row {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
@media not all and (min-width: 1024px) {
	.l-header .c-row {
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
	}
}
@media not all and (min-width: 1024px) {
	.l-header .c-row__col.u-invisible-md-down:has(> .p-global-nav) {
		display: block !important;
	}
}
.l-header .c-row__col.u-invisible-md-down:has(> .l-1row-header__content) {
	display: none !important;
}
@media not all and (min-width: 1024px) {
	.l-header .c-site-branding__title a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}
.l-header .p-global-nav .c-navbar__item > a {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	padding: 13px 12px;
}
@media not all and (min-width: 1150px) {
	.l-header .p-global-nav .c-navbar__item > a {
		padding: 8px;
	}
}
@media (min-width: 1350px) {
	.l-header .p-global-nav .c-navbar__item:not(.tel):not(.sp-contact) {
		letter-spacing: 0.18em;
	}
}
.l-header .p-global-nav .c-navbar__item.thoughts > a {
	padding-left: 0 !important;
}
.l-header .p-global-nav .c-navbar__item.shop {
	letter-spacing: 0.02em !important;
}
.l-header .p-global-nav .c-navbar__item.tel > a {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 400;
	letter-spacing: 0.04em;
}
@media (min-width: 1024px) {
	.l-header .p-global-nav .c-navbar__item.tel > a {
		padding-right: 0;
	}
}
@media not all and (min-width: 1024px) {
	.l-header .p-global-nav .c-navbar__item.tel > a {
		font-size: 20px;
		padding: 4px;
		margin-right: 0.5em;
	}
}
@media not all and (min-width: 640px) {
	.l-header .p-global-nav .c-navbar__item.tel > a {
		font-size: 14px;
	}
}
@media (min-width: 1024px) {
	.l-header .p-global-nav .c-navbar__item.sp-contact {
		display: none;
	}
}
.l-header .p-global-nav .c-navbar__item.sp-contact > a {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	padding: 4px;
	gap: 8px;
}
@media not all and (min-width: 640px) {
	.l-header .p-global-nav .c-navbar__item.sp-contact > a {
		gap: 4px;
	}
}
.l-header .p-global-nav .c-navbar__item.sp-contact > a::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/mail-icon.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 28px;
	height: 28px;
	display: block;
}
@media not all and (min-width: 640px) {
	.l-header .p-global-nav .c-navbar__item.sp-contact > a::before {
		width: 20px;
		height: 20px;
	}
}
.l-header .p-global-nav .c-navbar__item.sp-contact > a > span {
	font-family: "Noto Serif JP", serif;
	font-size: 14px;
	font-weight: 500;
}
@media not all and (min-width: 1024px) {
	.l-header .p-global-nav .c-navbar__item:not(.tel):not(.sp-contact) {
		display: none;
	}
}
.l-header .c-hamburger-btn__bars {
	width: 32px;
	height: 20px;
}
@media not all and (min-width: 640px) {
	.l-header .c-hamburger-btn__bars {
		width: 22px;
		height: 16px;
	}
}
.l-header .c-hamburger-btn__bar {
	background-color: #fff;
	border-radius: 999px;
	height: 2px;
}
.l-header .c-hamburger-btn__bar:nth-of-type(2) {
	top: 9px;
}
@media not all and (min-width: 640px) {
	.l-header .c-hamburger-btn__bar:nth-of-type(2) {
		top: 7px;
	}
}
.l-header .c-hamburger-btn__bar:nth-of-type(3) {
	top: 18px;
}
@media not all and (min-width: 640px) {
	.l-header .c-hamburger-btn__bar:nth-of-type(3) {
		top: 14px;
	}
}
.l-header .c-hamburger-btn__label {
	display: none;
}

.c-drawer {
	--_font-size-level: 1;
}
.c-drawer .menu-item.tel {
	margin-top: 1rem;
}
.c-drawer .menu-item.tel > a {
	color: #14a1b4;
	background-color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	text-align: center;
	padding: 6px;
}
.c-drawer .menu-item.sp-contact > a {
	background-color: #14a1b4;
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	text-align: center;
	padding: 6px;
}

/* MV */
section.mv {
	padding: 0;
}
section.mv > .smb-section__inner > .c-container {
	padding-left: 0;
	padding-right: 0;
}
section.mv .spider__slide.slide-01 .mv-inner::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/mv-deco-01.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 50vw;
	max-width: 700px;
	aspect-ratio: 1005/584;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
@media not all and (min-width: 640px) {
	section.mv .spider__slide.slide-01 .mv-inner::before {
		width: 230px;
		left: -10%;
		bottom: -1%;
	}
}
section.mv .spider__slide.slide-02 .mv-inner::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/mv-deco-02.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 50vw;
	max-width: 700px;
	aspect-ratio: 979/674;
	position: absolute;
	top: 3%;
	right: -5%;
	z-index: 1;
}
@media not all and (min-width: 640px) {
	section.mv .spider__slide.slide-02 .mv-inner::before {
		width: 230px;
		top: 1%;
		right: -10%;
	}
}
section.mv .spider__slide.slide-03 .mv-inner::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/mv-deco-03.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 50vw;
	max-width: 700px;
	aspect-ratio: 979/596;
	position: absolute;
	top: 3%;
	left: -8%;
	z-index: 1;
}
@media not all and (min-width: 640px) {
	section.mv .spider__slide.slide-03 .mv-inner::before {
		width: 230px;
		left: -15%;
	}
}
section.mv .mv-inner {
	height: calc(100vh - 80px);
	padding: 0;
}
@media not all and (min-width: 1024px) {
	section.mv .mv-inner {
		max-height: 800px;
	}
}
@media not all and (min-width: 640px) {
	section.mv .mv-inner {
		max-height: 580px;
	}
}
section.mv .mv-inner > .smb-section__inner {
	height: 100%;
}
section.mv .mv-inner > .smb-section__inner > .c-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	height: 100%;
}
@media not all and (min-width: 1024px) {
	section.mv .mv-inner .smb-section__contents-wrapper {
		width: 100%;
	}
}
section.mv h2.mv-catch {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 32px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.5em;
	margin-top: 0;
	margin-bottom: 0;
}
@media not all and (min-width: 640px) {
	section.mv h2.mv-catch {
		-webkit-writing-mode: vertical-rl;
		    -ms-writing-mode: tb-rl;
		        writing-mode: vertical-rl;
		text-orientation: mixed;
		font-size: 22px;
		text-align: left !important;
		margin-top: 1em;
	}
}
@media not all and (min-width: 640px) {
	section.mv h2.mv-catch._01 {
		text-shadow: 0 0 20px #1d2088, 0 0 20px #1d2088, 0 0 20px #1d2088, 0 0 20px #1d2088, 0 0 40px #1d2088, 0 0 40px #1d2088, 0 0 40px #1d2088, 0 0 60px #1d2088, 0 0 60px #1d2088, 0 0 60px #1d2088;
	}
}
section.mv h2.mv-catch._02 {
	text-shadow: 0 0 20px #007a39, 0 0 20px #007a39, 0 0 20px #007a39, 0 0 20px #007a39, 0 0 40px #007a39, 0 0 40px #007a39, 0 0 40px #007a39, 0 0 60px #007a39, 0 0 60px #007a39, 0 0 60px #007a39;
}
section.mv h2.mv-catch._03 {
	text-shadow: 0 0 20px #4e1909, 0 0 20px #4e1909, 0 0 20px #4e1909, 0 0 20px #4e1909, 0 0 40px #4e1909, 0 0 40px #4e1909, 0 0 40px #4e1909, 0 0 60px #4e1909, 0 0 60px #4e1909, 0 0 60px #4e1909;
}
section.mv .mv-logo {
	position: absolute;
	top: 30px;
	right: 30px;
}
@media not all and (min-width: 640px) {
	section.mv .mv-logo {
		right: unset;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
@media not all and (min-width: 640px) {
	section.mv .mv-logo img {
		width: 125px;
	}
}
section.mv .mv-badge {
	position: absolute;
	left: 50%;
	bottom: 30px;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	z-index: 2;
}
@media not all and (min-width: 640px) {
	section.mv .mv-badge {
		display: none;
	}
}

/* Thoughts */
section.thoughts {
	padding-top: 90px;
	padding-bottom: 96px;
}
@media not all and (min-width: 1024px) {
	section.thoughts {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}
section.thoughts::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/thoughts-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 712/584;
	position: absolute;
	top: 58%;
	left: 0;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.thoughts::before {
		content: none;
	}
}
section.thoughts h2.thoughts-heading {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.3em;
}
@media not all and (min-width: 640px) {
	section.thoughts h2.thoughts-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
	}
}
section.thoughts h2.thoughts-heading._02 {
	margin-top: 80px;
	margin-bottom: 70px;
}
@media not all and (min-width: 1024px) {
	section.thoughts h2.thoughts-heading._02 {
		margin-top: 40px;
		margin-bottom: 30px;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts h2.thoughts-heading._02 {
		margin-top: 30px;
	}
}
section.thoughts h2.thoughts-heading._04 {
	margin-top: 80px;
}
@media not all and (min-width: 1024px) {
	section.thoughts h2.thoughts-heading._04 {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts h2.thoughts-heading._04 {
		margin-top: 0;
	}
}
section.thoughts h3.thoughts-heading {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 22px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	line-height: 1.6;
	letter-spacing: 0.3em;
}
@media not all and (min-width: 1024px) {
	section.thoughts h3.thoughts-heading {
		margin-top: 30px;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts h3.thoughts-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
		margin-bottom: 20px;
	}
}
section.thoughts .thoughts-items {
	z-index: 2;
}
section.thoughts .thoughts-items._01 {
	margin-top: 90px;
}
@media (min-width: 1024px) {
	section.thoughts .thoughts-items._01 {
		max-width: unset;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
}
@media not all and (min-width: 1024px) {
	section.thoughts .thoughts-items._01 {
		margin-top: 30px;
	}
	section.thoughts .thoughts-items._01 .c-row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-items._01 {
		margin-top: 30px;
	}
}
@media (min-width: 1024px) {
	section.thoughts .thoughts-items._02 {
		max-width: unset;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-items._02 {
		max-width: unset;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-items._02 .left-col {
		padding-left: 32px;
		padding-right: 32px;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-items._02 .right-col {
		padding-left: 0;
		padding-right: 0;
	}
}
section.thoughts .thoughts-items._03 {
	margin-top: 0;
}
section.thoughts .thoughts-text {
	color: #fff;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.15em;
	line-height: 2.2;
}
@media (min-width: 1024px) {
	section.thoughts .thoughts-text {
		font-size: 18px;
		margin-top: -0.5em;
	}
}
@media not all and (min-width: 1024px) {
	section.thoughts .thoughts-text {
		text-align: center;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-text {
		text-align: justify;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-text br {
		display: none;
	}
}
@media not all and (min-width: 1024px) {
	section.thoughts .thoughts-en {
		display: none;
	}
}
section.thoughts .thoughts-btn {
	margin-top: 20px;
}
@media not all and (min-width: 1024px) {
	section.thoughts .thoughts-btn {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-btn {
		margin-top: 0;
	}
}
section.thoughts .thoughts-btn .smb-btn {
	letter-spacing: 0.2em;
	padding: 6px 90px;
}
@media not all and (min-width: 1024px) {
	section.thoughts .flex-group {
		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;
		margin-top: 0;
	}
}
@media not all and (min-width: 1024px) {
	section.thoughts .hpp-img.alignright {
		float: unset;
		margin-left: auto;
		margin-right: auto;
	}
}
section.thoughts .thoughts-img-01 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-right: 0 !important;
}
section.thoughts .thoughts-img-02 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-img-02 img {
		width: 100%;
	}
}
section.thoughts .thoughts-img-03 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
@media not all and (min-width: 640px) {
	section.thoughts .thoughts-img-03 {
		width: 250px;
	}
}

/* Gallery */
section.gallery {
	padding: 0;
}
section.gallery .smb-section__inner > .c-container {
	padding: 0;
}
section.gallery .gallery-items {
	max-width: 1920px;
}
@media not all and (min-width: 640px) {
	section.gallery .gallery-items .sp-hidden {
		display: none;
	}
}
@media not all and (min-width: 640px) {
	section.gallery .gallery-img._01-02 img {
		aspect-ratio: 4/3;
		-o-object-fit: cover;
		   object-fit: cover;
	}
}

/* Technology */
section.technology {
	padding-top: 150px;
	padding-bottom: 0;
}
@media not all and (min-width: 1024px) {
	section.technology {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.technology {
		padding-top: 30px;
	}
}
section.technology::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/technology-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 713/507;
	position: absolute;
	top: 10%;
	left: -3%;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.technology::before {
		content: none;
	}
}
section.technology h2.technology-heading {
	color: #14a1b4;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: center;
	letter-spacing: 0.3em;
}
@media not all and (min-width: 640px) {
	section.technology h2.technology-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
		margin-bottom: 20px;
	}
}
section.technology .technology-items {
	margin-top: 130px;
	z-index: 2;
}
@media not all and (min-width: 1024px) {
	section.technology .technology-items {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.technology .technology-items {
		margin-top: 20px;
	}
}
@media (min-width: 1024px) {
	section.technology .technology-items .c-row {
		margin-bottom: calc(var(--_gap) * -2);
	}
}
@media (min-width: 1024px) {
	section.technology .technology-items .c-row__col {
		margin-bottom: calc(var(--_gap) * 2);
	}
}
section.technology h3.technology-title {
	color: var(--accent-color);
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 900;
	margin-top: 28px;
	margin-bottom: 16px;
}
@media (min-width: 640px) {
	section.technology h3.technology-title {
		letter-spacing: 0.2em;
	}
}
@media not all and (min-width: 640px) {
	section.technology h3.technology-title {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.3;
		margin-top: 8px;
		margin-bottom: 0;
	}
}
section.technology .technology-text {
	color: #595757;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: justify;
	letter-spacing: 0.13em;
}

/* Movie */
section.movie {
	padding-top: 100px;
	padding-bottom: 0;
}
@media not all and (min-width: 1024px) {
	section.movie {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.movie {
		padding-top: 30px;
	}
}
section.movie::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/movie-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 713/507;
	position: absolute;
	top: 10%;
	right: -3%;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.movie::before {
		display: none;
	}
}
section.movie h2.movie-heading {
	color: #14a1b4;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.32em;
}
@media not all and (min-width: 640px) {
	section.movie h2.movie-heading {
		font-size: 18px;
		-webkit-font-feature-settings: "palt";
		        font-feature-settings: "palt";
		letter-spacing: 0.15em;
	}
}

/* Menu */
section.menu {
	padding-top: 130px;
	padding-bottom: 130px;
}
@media not all and (min-width: 1024px) {
	section.menu {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.menu {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}
section.menu h2.menu-heading {
	color: #14a1b4;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.32em;
}
@media not all and (min-width: 640px) {
	section.menu h2.menu-heading {
		font-size: 18px;
		-webkit-font-feature-settings: "palt";
		        font-feature-settings: "palt";
		letter-spacing: 0.15em;
	}
}
section.menu .menu-items {
	margin-top: 70px;
}
@media not all and (min-width: 1024px) {
	section.menu .menu-items {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.menu .menu-items {
		margin-top: 20px;
	}
}
@media (min-width: 1024px) {
	section.menu .menu-items .c-row--margin {
		--_gap: 120px;
	}
}
@media not all and (min-width: 640px) {
	section.menu .menu-items .c-row--margin {
		--_gap: 8px;
	}
}
section.menu h3.menu-title {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.38em;
	padding: 48px 0;
}
@media not all and (min-width: 640px) {
	section.menu h3.menu-title {
		font-size: 18px;
		padding: 18px 0;
		margin-bottom: 0;
	}
}
section.menu .menu-text {
	color: #595757;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: justify;
	letter-spacing: 0.15em;
}
section.menu .menu-btn {
	margin-top: 10px;
}
@media not all and (min-width: 640px) {
	section.menu .menu-btn {
		margin-top: 0;
	}
}
section.menu .menu-btn .smb-btn {
	color: #14a1b4;
	letter-spacing: 0.1em;
}
@media (min-width: 1024px) {
	section.menu .menu-btn .smb-btn {
		font-size: 18px;
	}
}

/* Material */
section.material {
	padding-top: 140px;
	padding-bottom: 160px;
}
@media not all and (min-width: 1024px) {
	section.material {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.material {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}
section.material::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/material-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 715/582;
	position: absolute;
	top: 5%;
	right: -2%;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.material::before {
		display: none;
	}
}
section.material h2.material-heading {
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.3em;
	margin-bottom: 6px;
}
@media not all and (min-width: 640px) {
	section.material h2.material-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
	}
}
section.material .material-sub-heading {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
section.material .material-items {
	margin-top: 115px;
}
@media not all and (min-width: 1024px) {
	section.material .material-items {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.material .material-items {
		margin-top: 20px;
	}
}
section.material h3.material-title {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-bottom: -14px;
}
@media not all and (min-width: 640px) {
	section.material h3.material-title {
		font-size: 14px;
		margin-bottom: 0;
	}
}
section.material h4.material-title {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-top: 18px;
	margin-bottom: 10px;
}
@media not all and (min-width: 640px) {
	section.material h4.material-title {
		font-size: 13px;
		margin-top: 4px;
		margin-bottom: 0;
	}
}
section.material .material-text {
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: justify;
	letter-spacing: 0.15em;
	line-height: 1.6;
}
@media not all and (min-width: 640px) {
	section.material .material-text {
		display: none;
	}
}
section.material .material-btn {
	margin-top: 60px;
}
@media not all and (min-width: 640px) {
	section.material .material-btn {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.material .material-btn {
		margin-top: 20px;
	}
}
section.material .material-btn .smb-btn {
	font-weight: 600;
	letter-spacing: 0.2em;
	padding: 6px 90px;
}

/* News */
section.news {
	padding-top: 80px;
	padding-bottom: 0px;
}
@media not all and (min-width: 1024px) {
	section.news {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.news {
		padding-top: 30px;
	}
}
section.news h2.news-heading {
	color: var(--accent-color);
	font-family: "Noto Serif JP", serif;
	font-size: 92px;
	font-weight: 500;
	text-align: center;
	opacity: 36%;
	margin-bottom: 0;
}
@media not all and (min-width: 640px) {
	section.news h2.news-heading {
		font-size: 45px;
	}
}
section.news .smb-recent-posts {
	font-family: "Noto Serif JP", serif;
	font-weight: 500;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 980px;
}
section.news .smb-recent-posts .c-entries {
	border-top: none;
}
section.news .smb-recent-posts .c-entries__item {
	border-bottom: none;
}
section.news .smb-recent-posts .c-entries__item > a {
	padding-top: 8px;
	padding-bottom: 8px;
}
section.news .smb-recent-posts .c-entry-summary__body {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
section.news .smb-recent-posts .c-entry-summary__body .c-entry-summary__meta {
	font-size: 23px;
	width: 5em;
}
@media not all and (min-width: 640px) {
	section.news .smb-recent-posts .c-entry-summary__body .c-entry-summary__meta {
		font-size: 16px;
	}
}
section.news .smb-recent-posts .c-entry-summary__body .c-entry-summary__title {
	font-size: 18px;
}
@media not all and (min-width: 640px) {
	section.news .smb-recent-posts .c-entry-summary__body .c-entry-summary__title {
		font-size: 14px;
	}
}

/* Charm */
section.charm {
	padding-top: 175px;
	padding-bottom: 0px;
}
@media not all and (min-width: 1024px) {
	section.charm {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.charm {
		padding-top: 30px;
	}
}
section.charm::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/charm-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 713/507;
	position: absolute;
	top: 10%;
	left: -3%;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.charm::before {
		content: none;
	}
}
section.charm h2.charm-heading {
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	text-align: center;
	letter-spacing: 0.2em;
}
@media not all and (min-width: 640px) {
	section.charm h2.charm-heading {
		font-size: 18px;
		margin-bottom: 20px;
	}
}
section.charm .charm-items {
	margin-top: 45px;
}
@media not all and (min-width: 640px) {
	section.charm .charm-items {
		margin-top: 20px;
	}
}
section.charm h3.charm-title {
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-bottom: 12px;
}
@media not all and (min-width: 640px) {
	section.charm h3.charm-title {
		font-size: 14px;
		margin-bottom: 0;
	}
}
section.charm h3.charm-title ._large {
	font-size: 1.1em;
}
section.charm h4.charm-title {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.12em;
	margin-top: 12px;
	margin-bottom: 24px;
}
@media not all and (min-width: 640px) {
	section.charm h4.charm-title {
		font-size: 16px;
		margin-top: 0;
		margin-bottom: 8px;
	}
}
@media not all and (min-width: 640px) {
	section.charm .charm-img {
		width: 200px;
	}
}

/* Flow */
section.flow {
	padding-top: 110px;
	padding-bottom: 0px;
}
@media not all and (min-width: 1024px) {
	section.flow {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.flow {
		padding-top: 30px;
	}
}
section.flow h2.flow-heading {
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.48em;
}
@media not all and (min-width: 640px) {
	section.flow h2.flow-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
		margin-bottom: 20px;
	}
}
section.flow .flow-items {
	margin-top: 40px;
}
@media (min-width: 1024px) {
	section.flow .flow-items {
		max-width: calc(100% - 32px);
		margin-left: 0 !important;
	}
}
@media not all and (min-width: 1024px) {
	section.flow .flow-items {
		max-width: 500px;
	}
}
@media not all and (min-width: 640px) {
	section.flow .flow-items {
		margin-top: 20px;
	}
}
section.flow .flow-items .c-row--margin {
	--_gap: 32px;
}
section.flow .flow-items .smb-items__item {
	color: #fff;
	background-color: #9fa0a0;
}
section.flow .flow-items .smb-items__item::after {
	content: "";
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background-color: #9fa0a0;
	width: 32px;
	height: 100%;
	position: absolute;
	top: 50%;
	right: -31.5px;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
@media not all and (min-width: 1024px) {
	section.flow .flow-items .smb-items__item::after {
		clip-path: polygon(0 0, 100% 0%, 50% 100%);
		width: 100%;
		height: 24px;
		top: unset;
		right: unset;
		left: 50%;
		bottom: -23.5px;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}
section.flow .flow-items .smb-items__item__body {
	padding: 14px 0 0;
}
@media (min-width: 1024px) {
	section.flow .flow-items .smb-items__item__body {
		padding: 14px 0 14px 16px;
	}
}
@media not all and (min-width: 1024px) {
	section.flow .flow-images {
		padding-top: 20px;
	}
}
@media not all and (min-width: 640px) {
	section.flow .flow-images {
		max-width: unset;
		margin-top: 40px;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
}
section.flow .flow-images .c-row--margin {
	--_gap: 20px;
}
@media not all and (min-width: 640px) {
	section.flow .flow-images .c-row--margin {
		--_gap: 0px;
	}
}
@media not all and (min-width: 640px) {
	section.flow .flow-img img {
		aspect-ratio: 5/4;
		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: 0% 50%;
		   object-position: 0% 50%;
	}
}
section.flow .flow-text {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.2;
}
section.flow .flow-text ._small {
	font-size: 0.83334em;
	letter-spacing: 0.05em;
}

/* CTA */
section.cta {
	padding-top: 20px;
	padding-bottom: 30px;
}
@media not all and (min-width: 1024px) {
	section.cta {
		padding-top: 50px;
	}
}
@media not all and (min-width: 640px) {
	section.cta {
		padding-top: 30px;
	}
}
section.cta::before {
	content: "";
	background-image: url(/wp-content/uploads/2025/08/cta-deco.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 32vw;
	max-width: 700px;
	aspect-ratio: 713/507;
	position: absolute;
	right: -3%;
	bottom: 0;
	z-index: 1;
}
@media not all and (min-width: 1024px) {
	section.cta::before {
		content: none;
	}
}
section.cta h2.cta-heading {
	font-family: "Noto Serif JP", serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.34em;
	padding: 45px 12px;
}
@media not all and (min-width: 640px) {
	section.cta h2.cta-heading {
		font-size: 18px;
		letter-spacing: 0.15em;
		max-width: unset;
		padding: 32px 24px;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
	}
}
section.cta h3.cta-title {
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.2em;
	margin-top: 80px;
	margin-bottom: 80px;
}
@media not all and (min-width: 1024px) {
	section.cta h3.cta-title {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.cta h3.cta-title {
		font-size: 16px;
		letter-spacing: 0.15em;
		margin-top: 20px;
		margin-bottom: 20px;
	}
}
@media not all and (min-width: 640px) {
	section.cta .cta-img {
		width: 300px;
	}
}
section.cta .cta-btn {
	margin-top: 40px;
}
section.cta .cta-btn .smb-btn {
	-webkit-box-shadow: 10px 10px 8px rgba(0, 0, 0, 0.2);
	        box-shadow: 10px 10px 8px rgba(0, 0, 0, 0.2);
	padding: 40px 115px;
}
@media not all and (min-width: 640px) {
	section.cta .cta-btn .smb-btn {
		padding: 20px 40px;
	}
}
section.cta .cta-btn .smb-btn__label {
	font-size: 25px;
	font-weight: 500;
	letter-spacing: 0.24em;
}
@media not all and (min-width: 640px) {
	section.cta .cta-btn .smb-btn__label {
		font-size: 18px;
	}
}

/* Sticky CTA */
.sticky-cta-btn {
	position: fixed;
	right: 0;
	bottom: 5%;
	margin-top: 0 !important;
	z-index: 999;
}
@media not all and (min-width: 1024px) {
	.sticky-cta-btn {
		display: none;
	}
}
.sticky-cta-btn .smb-panels__item {
	background: linear-gradient(-60deg, #fff 0%, 30%, #c8a931 100%) !important;
	-webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
	        box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
	-webkit-transition: -webkit-filter 0.2s ease-out;
	transition: -webkit-filter 0.2s ease-out;
	transition: filter 0.2s ease-out;
	transition: filter 0.2s ease-out, -webkit-filter 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
	.sticky-cta-btn .smb-panels__item:active, .sticky-cta-btn .smb-panels__item:focus, .sticky-cta-btn .smb-panels__item:hover {
		-webkit-filter: brightness(105%);
		        filter: brightness(105%);
	}
}
.sticky-cta-btn .smb-panels__item__body {
	padding: 28px 12px 12px;
}
.sticky-cta-btn .sticky-cta-title {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 11.34px;
	font-weight: 500;
	letter-spacing: 0.14em;
}
.sticky-cta-btn .sticky-cta-icon {
	margin-top: 0;
}
.sticky-cta-btn .sticky-cta-box {
	padding: 16px;
	margin-top: 28px;
}
.sticky-cta-btn .sticky-cta-text {
	font-family: "Noto Serif JP", serif;
	font-size: 11.34px;
	font-weight: 500;
	letter-spacing: 0.14em;
}
[data-scrolled=true] .sticky-cta-btn .smb-panels__item__body {
	padding: 42px 12px;
}
[data-scrolled=true] .sticky-cta-btn .sticky-cta-title {
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: 17px;
	line-height: 1;
}
[data-scrolled=true] .sticky-cta-btn .sticky-cta-icon {
	display: none;
}
[data-scrolled=true] .sticky-cta-btn .sticky-cta-box {
	display: none;
}

/* Page */
body.page:not(.home) .l-contents {
	background-color: #5eb8ad;
}

/* Privacy Policy */
section.privacy-policy {
	padding-top: 70px;
	padding-bottom: 120px;
}
@media not all and (min-width: 640px) {
	section.privacy-policy {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
section.privacy-policy .smb-section__header {
	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;
}
section.privacy-policy .smb-section__title {
	color: #fff;
	font-size: 25px;
	letter-spacing: 0.42em;
	margin-top: 0;
}
@media not all and (min-width: 640px) {
	section.privacy-policy .smb-section__title {
		font-size: 20px;
	}
}
section.privacy-policy .smb-section__subtitle {
	color: #fff;
	font-size: 18px;
	letter-spacing: 0.12em;
}
@media not all and (min-width: 640px) {
	section.privacy-policy .smb-section__subtitle {
		font-size: 16px;
	}
}
section.privacy-policy .smb-section__body {
	background-color: #fff;
	padding: 60px 60px;
}
@media not all and (min-width: 1024px) {
	section.privacy-policy .smb-section__body {
		padding: 20px 20px 40px;
	}
}
@media not all and (min-width: 640px) {
	section.privacy-policy .smb-section__body {
		padding: 15px 15px 30px;
	}
}
@media (min-width: 1024px) {
	section.privacy-policy .smb-section__body > p {
		font-size: 18px;
	}
}

/* Contact */
section.contact {
	padding-top: 70px;
	padding-bottom: 120px;
}
@media not all and (min-width: 640px) {
	section.contact {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
section.contact .smb-section__title {
	color: #fff;
	font-size: 25px;
	letter-spacing: 0.42em;
	margin-top: 0;
}
@media not all and (min-width: 640px) {
	section.contact .smb-section__title {
		font-size: 20px;
	}
}
section.contact .smb-section__body {
	background-color: #fff;
	padding: 20px 20px 80px;
}
@media not all and (min-width: 1024px) {
	section.contact .smb-section__body {
		padding: 20px 20px 40px;
	}
}
@media not all and (min-width: 640px) {
	section.contact .smb-section__body {
		padding: 15px 15px 30px;
	}
}
section.contact .c-form {
	margin: 0 auto;
}
@media (min-width: 1024px) {
	section.contact .c-form {
		border-top: 1px solid #5eb8ad;
	}
}
section.contact .c-form .form-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
}
@media (min-width: 1024px) {
	section.contact .c-form .form-row {
		border-bottom: 1px solid #5eb8ad;
	}
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .form-row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}
section.contact .c-form .form-label {
	background-color: #d4ecea;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	min-width: 275px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	padding: 14px 28px;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .form-label {
		padding: 10px 12px;
	}
}
section.contact .c-form .form-label .label-title {
	cursor: pointer;
	width: 100%;
	line-height: 1.5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 11px 0;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .form-label .label-title {
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		padding: 0;
	}
}
section.contact .c-form .form-label .label-title .label-text {
	font-size: 19px;
	font-weight: 500;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .form-label .label-title .label-text {
		font-size: 16px;
	}
}
section.contact .c-form .form-label .label-title .label-type {
	font-size: 13.5px;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	line-height: 1;
	white-space: nowrap;
}
section.contact .c-form .form-label .label-title .label-type.required {
	color: #eb6120;
}
section.contact .c-form .form-body {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0px;
	        flex: 1 1 0;
	-ms-flex-item-align: center;
	    align-self: center;
	padding: 12px 0 12px 32px;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .form-body {
		-ms-flex-item-align: auto;
		    align-self: auto;
		padding: 10px 0 15px !important;
	}
}
section.contact .c-form input[type=text],
section.contact .c-form input[type=tel],
section.contact .c-form input[type=email],
section.contact .c-form input[type=url],
section.contact .c-form input[type=date],
section.contact .c-form input[type=number],
section.contact .c-form textarea {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	font-family: inherit;
	font-weight: inherit;
	font-size: 17px;
	color: inherit;
	background-color: #fff;
	border: 1px solid #cbe2e0;
	border-radius: 6px;
	-webkit-box-shadow: none;
	        box-shadow: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: 10px 12px;
	margin: 0;
}
section.contact .c-form input[type=text]::-webkit-input-placeholder, section.contact .c-form input[type=tel]::-webkit-input-placeholder, section.contact .c-form input[type=email]::-webkit-input-placeholder, section.contact .c-form input[type=url]::-webkit-input-placeholder, section.contact .c-form input[type=date]::-webkit-input-placeholder, section.contact .c-form input[type=number]::-webkit-input-placeholder, section.contact .c-form textarea::-webkit-input-placeholder {
	color: #c9caca;
}
section.contact .c-form input[type=text]::-moz-placeholder, section.contact .c-form input[type=tel]::-moz-placeholder, section.contact .c-form input[type=email]::-moz-placeholder, section.contact .c-form input[type=url]::-moz-placeholder, section.contact .c-form input[type=date]::-moz-placeholder, section.contact .c-form input[type=number]::-moz-placeholder, section.contact .c-form textarea::-moz-placeholder {
	color: #c9caca;
}
section.contact .c-form input[type=text]:-ms-input-placeholder, section.contact .c-form input[type=tel]:-ms-input-placeholder, section.contact .c-form input[type=email]:-ms-input-placeholder, section.contact .c-form input[type=url]:-ms-input-placeholder, section.contact .c-form input[type=date]:-ms-input-placeholder, section.contact .c-form input[type=number]:-ms-input-placeholder, section.contact .c-form textarea:-ms-input-placeholder {
	color: #c9caca;
}
section.contact .c-form input[type=text]::-ms-input-placeholder, section.contact .c-form input[type=tel]::-ms-input-placeholder, section.contact .c-form input[type=email]::-ms-input-placeholder, section.contact .c-form input[type=url]::-ms-input-placeholder, section.contact .c-form input[type=date]::-ms-input-placeholder, section.contact .c-form input[type=number]::-ms-input-placeholder, section.contact .c-form textarea::-ms-input-placeholder {
	color: #c9caca;
}
section.contact .c-form input[type=text]::placeholder,
section.contact .c-form input[type=tel]::placeholder,
section.contact .c-form input[type=email]::placeholder,
section.contact .c-form input[type=url]::placeholder,
section.contact .c-form input[type=date]::placeholder,
section.contact .c-form input[type=number]::placeholder,
section.contact .c-form textarea::placeholder {
	color: #c9caca;
}
section.contact .c-form .wpcf7-radio {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.5em 1em;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .wpcf7-radio {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}
section.contact .c-form .wpcf7-list-item {
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.025em;
	margin: 0;
}
section.contact .c-form .wpcf7-not-valid-tip {
	font-size: smaller;
	font-weight: 500;
	color: #ff674f;
}
section.contact .c-form .privacy-policy {
	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-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin-top: 40px;
	gap: 1.5em;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .privacy-policy {
		margin-top: 20px;
	}
}
section.contact .c-form .privacy-policy-text {
	color: #595757;
	letter-spacing: 0.2em;
	line-height: 1.5;
}
section.contact .c-form .privacy-policy-text a {
	font-weight: 700;
	text-decoration: none;
}
section.contact .c-form .privacy-policy-text + p {
	color: #595757;
	font-weight: 500;
	letter-spacing: 0.12em;
	margin-top: 20px;
}
section.contact .c-form .submit-btn {
	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 2rem;
	margin-left: auto;
	margin-right: auto;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .submit-btn {
		margin-top: 1rem;
	}
}
section.contact .c-form .submit-btn input[type=submit] {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	cursor: pointer;
	color: #fff;
	background: #5eb8ad;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.5;
	padding: 40px 200px;
	-webkit-transition-property: -webkit-filter;
	transition-property: -webkit-filter;
	transition-property: filter;
	transition-property: filter, -webkit-filter;
	-webkit-transition-duration: 0.2s;
	        transition-duration: 0.2s;
}
@media not all and (min-width: 1024px) {
	section.contact .c-form .submit-btn input[type=submit] {
		font-size: 24px;
		padding: 20px 100px;
	}
}
@media not all and (min-width: 640px) {
	section.contact .c-form .submit-btn input[type=submit] {
		font-size: 20px;
		padding: 16px 80px;
	}
}
section.contact .c-form .submit-btn input[type=submit]:hover {
	-webkit-filter: brightness(110%);
	        filter: brightness(110%);
}
section.contact .c-form .wpcf7-spinner {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
section.contact .contact-text {
	color: #595757;
	font-family: "Noto Serif JP", serif;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.2em;
	margin-top: 60px;
}
@media not all and (min-width: 1024px) {
	section.contact .contact-text {
		font-size: 18px;
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	section.contact .contact-text {
		font-size: 16px;
		margin-top: 20px;
	}
}

/* Contact Thanks */
section.thanks {
	padding-top: 70px;
	padding-bottom: 120px;
}
@media not all and (min-width: 640px) {
	section.thanks {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
section.thanks .smb-section__title {
	color: #fff;
	font-size: 25px;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.42em;
	margin-top: 0;
}
@media not all and (min-width: 640px) {
	section.thanks .smb-section__title {
		font-size: 20px;
	}
}
section.thanks .smb-section__body {
	background-color: #fff;
	padding: 30px 40px 30px;
}
@media not all and (min-width: 640px) {
	section.thanks .smb-section__body {
		padding: 15px;
	}
}
@media (min-width: 1024px) {
	section.thanks .smb-section__body > p {
		font-size: 18px;
	}
}

/* Post */
body.single-post .l-contents__body {
	background-color: #5eb8ad;
}
body.single-post .l-contents__inner:first-child {
	padding-top: 100px;
}
@media not all and (min-width: 640px) {
	body.single-post .l-contents__inner:first-child {
		padding-top: 40px;
	}
}
body.single-post .c-entry::before {
	content: "News";
	color: #fff;
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 90px;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	opacity: 0.36;
	margin-left: auto;
	margin-right: auto;
}
@media not all and (min-width: 640px) {
	body.single-post .c-entry::before {
		font-size: 45px;
	}
}
body.single-post .c-entry__header {
	max-width: 890px;
	background-color: #fff;
	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-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	padding: 60px 75px;
	margin-top: 50px;
	margin-bottom: 40px;
}
@media not all and (min-width: 640px) {
	body.single-post .c-entry__header {
		padding: 20px;
		margin-top: 30px;
		margin-bottom: 20px;
	}
}
body.single-post .c-entry__meta {
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	margin-top: 0;
	margin-bottom: var(--_margin1);
}
@media not all and (min-width: 640px) {
	body.single-post .c-entry__meta {
		font-size: 18px;
		margin-bottom: var(--_margin-2);
	}
}
body.single-post .c-entry__meta .c-meta__item--published {
	margin-right: 0;
}
body.single-post .c-entry__meta .c-meta__item--published .svg-inline--fa {
	display: none;
}
body.single-post .c-entry__meta .c-meta__item--modified {
	display: none;
}
body.single-post .c-entry__meta .c-meta__item--author {
	display: none;
}
body.single-post .c-entry__meta .c-meta__item--categories {
	display: none;
}
body.single-post .c-entry__title {
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.1em;
}
@media not all and (min-width: 640px) {
	body.single-post .c-entry__title {
		font-size: 18px;
	}
}
body.single-post .p-entry-content {
	max-width: 890px;
	background-color: #fff;
	padding: 60px 75px;
}
@media not all and (min-width: 640px) {
	body.single-post .p-entry-content {
		padding: 20px;
	}
}
body.single-post .p-entry-content p {
	font-weight: 500;
	text-align: justify;
	line-height: 2;
	letter-spacing: 0.02em;
}
body.single-post .c-entry__footer .c-prev-next-nav {
	display: none;
}
body.single-post .p-related-posts .p-related-posts__title {
	display: none;
}
body.single-post .p-related-posts .c-entries {
	max-width: 990px;
	margin-left: auto;
	margin-right: auto;
}
body.single-post .p-related-posts .c-entries--text {
	border-top: none;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	--entries--gap: var(--_padding-1);
}
body.single-post .p-related-posts .c-entries--text .c-entries__item {
	border-bottom: none;
}
body.single-post .p-related-posts .c-entries--text .c-entry-summary__body {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
}
body.single-post .p-related-posts .c-entries--text .c-entry-summary__meta {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}
@media not all and (min-width: 640px) {
	body.single-post .p-related-posts .c-entries--text .c-entry-summary__meta {
		font-size: 14px;
	}
}
body.single-post .p-related-posts .c-entries--text .c-entry-summary__title {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}
@media not all and (min-width: 640px) {
	body.single-post .p-related-posts .c-entries--text .c-entry-summary__title {
		font-size: 14px;
	}
}

/* Footer */
.l-footer {
	border-top: none;
}
.l-footer .l-footer-widget-area {
	padding-top: 110px;
	padding-bottom: 0;
}
@media not all and (min-width: 1024px) {
	.l-footer .l-footer-widget-area {
		padding-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	.l-footer .l-footer-widget-area {
		padding-top: 30px;
	}
}
.l-footer section.footer {
	padding-top: 0;
	padding-bottom: 0;
}
@media not all and (min-width: 640px) {
	.l-footer .footer-logo {
		width: 200px;
	}
}
.l-footer .footer-tel-text {
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 900;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.1em;
	line-height: 1.3;
	margin-top: 100px;
}
.l-footer .footer-tel-text ._large {
	font-size: 1.25em;
}
@media not all and (min-width: 1024px) {
	.l-footer .footer-tel-text {
		margin-top: 60px;
	}
}
@media not all and (min-width: 640px) {
	.l-footer .footer-tel-text {
		font-size: 14px;
		margin-top: 40px;
	}
}
.l-footer .tel-btn {
	margin-top: 8px;
}
.l-footer .tel-btn .smb-btn {
	padding: 0;
}
.l-footer .tel-btn .smb-btn .smb-btn__label {
	font-size: 60px;
	line-height: 1;
}
@media not all and (min-width: 640px) {
	.l-footer .tel-btn .smb-btn .smb-btn__label {
		font-size: 36px;
	}
}
.l-footer .footer-text {
	color: #595757;
	font-size: 19px;
	line-height: 1.6;
	margin-top: 16px;
}
@media not all and (min-width: 640px) {
	.l-footer .footer-text {
		font-size: 16px;
	}
}
.l-footer .footer-text .spacer {
	display: block;
	margin-top: 0.5em;
}
.l-footer .sns-items {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 40px;
}
@media not all and (min-width: 640px) {
	.l-footer .sns-items {
		margin-top: 30px;
	}
}
.l-footer .sns-items .c-row--margin {
	--_gap: 32px;
}
.l-footer .sns-items .sns-img {
	-webkit-transition: -webkit-filter 0.2s ease-out;
	transition: -webkit-filter 0.2s ease-out;
	transition: filter 0.2s ease-out;
	transition: filter 0.2s ease-out, -webkit-filter 0.2s ease-out;
}
@media (hover: hover) and (pointer: fine) {
	.l-footer .sns-items .sns-img:active, .l-footer .sns-items .sns-img:focus, .l-footer .sns-items .sns-img:hover {
		-webkit-filter: brightness(120%);
		        filter: brightness(120%);
	}
}
.l-footer div:has(> .gmap) {
	margin-top: 60px;
}
@media not all and (min-width: 1024px) {
	.l-footer div:has(> .gmap) {
		margin-top: 40px;
	}
}
@media not all and (min-width: 640px) {
	.l-footer div:has(> .gmap) {
		margin-top: 30px;
	}
}
.l-footer .gmap {
	height: 750px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
@media not all and (min-width: 1024px) {
	.l-footer .gmap {
		height: 500px;
	}
}
@media not all and (min-width: 640px) {
	.l-footer .gmap {
		height: 375px;
	}
}
body:not(.home) .l-footer .gmap {
	display: none;
}
.l-footer .c-copyright {
	background-color: var(--accent-color);
	font-size: 17px;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.12em;
	padding-top: var(--_padding1);
	padding-bottom: var(--_padding1);
}
@media not all and (min-width: 640px) {
	.l-footer .c-copyright {
		font-size: 14px;
		line-height: 1.3;
		padding-top: var(--_padding-1);
		padding-bottom: var(--_padding-1);
	}
}