body {
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.5;
	margin: 0;
	min-height: 100vh;
	padding: 0;
}

a {
	-webkit-text-decoration: auto;
	color: inherit;
	text-decoration: auto;
	transition: opacity 0.3s;
}

h1,
h2,
h3,
h4 {
	font-weight: 400;
}

ul,
ol {
	list-style: none;
}

header {
	display: block;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	background: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 16px;
	line-height: 1.6;
}

img {
	height: auto;
	max-width: 100%;
}

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
}

a {
	color: inherit;
}

.l-wrapper {
	background: #FAFAFA;
	overflow: hidden;
	text-align: center;
}

.l-header {
	padding: 0 6rem 0 2rem;
	width: 100%;
	z-index: 50;
}

.l-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	position: relative;
}

.l-section {
	margin: 0 auto;
	max-width: 1200px;
	padding-top: 6rem;
	text-align: center;
}

.l-category {
	margin: 0 auto;
}

.l-archive {
	margin: 0 auto;
	max-width: 85%;
}

.l-singe {
	margin: 0 auto;
	max-width: 800px;
	padding: 40px 20px;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 1200px;
}

.l-content {
	padding-bottom: 120px;
	padding-top: 60px;
}

.l-content__inner {
	display: flex;
	flex-wrap: wrap;
}

.c-hamburger {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	height: 22px;
	justify-content: space-between;
	padding: 0;
	width: 30px;
	z-index: 100; /* ✕ アニメーション */
}

.c-hamburger span {
	background: #333333;
	border-radius: 2px;
	display: block;
	height: 3px;
width: 100%;
	transform-origin: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.c-hamburger.is-active span:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.c-hamburger.is-active span:nth-child(2) {
	opacity: 0;
}

.c-hamburger.is-active span:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

.c-btn-primary {
	background-color: #145B35;
	border: 2px solid #145B35;
	border-radius: 60px;
	color: #fff;
	display: block;
	font-size: 0.8rem;
	font-weight: bold;
	padding: 0.5rem 2rem;
	text-decoration: none;
	transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.c-btn-primary:hover {
	background-color: #FAFAFA;
	color: #145B35;
}

.c-btn-primary__text {
	display: inline-block;
}

.l-btn-primary {
	display: flex;
	justify-content: center;
	margin: 3rem 0 0;
}

.c-tag {
	margin: 0;
}

.c-tag__text {
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: bold;
	padding: 0.2em 0.6em;
}

.c-tag__text.cat-1 {
	background-color: #2b55d4;
}

.c-tag__text.cat-3 {
	background-color: #f4a261;
}

.c-tag__text.cat-7 {
	background-color: #2a9d8f;
}

.c-section-title {
	color: #145B35;
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 4rem;
	position: relative;
}

.c-section-title::after {
	background-color: #145B35;
	content: "";
	display: block;
	height: 2px;
	margin: 0.8rem auto 0;
	width: 60px;
}

.c-page-top {
	align-items: center;
	background-color: rgba(160, 160, 160, 0.7);
	bottom: 20px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	color: #fff;
	display: flex;
	height: 50px;
	justify-content: center;
	opacity: 1;
	position: fixed;
	right: 20px;
	text-decoration: none;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	visibility: hidden;
	width: 50px;
	z-index: 1000;
}

.c-page-top__arrow {
	font-size: 18px;
	line-height: 1;
}

.c-page-top.is-show {
	opacity: 1;
	visibility: visible;
}

.c-br-sp {
	display: none;
}

.c-entry-heading-type1 {
	background: #ebebeb;
	border-radius: 3px;
	border-top: 6px solid #145B35;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	padding: 24px 20px;
	position: relative;
	text-align: left;
}

.c-entry-heading-type1:after {
	border: 5px solid transparent;
	border-top: 15px solid #ebebeb;
	content: "";
	height: 0;
	left: 24px;
	position: absolute;
	top: 100%;
	width: 0;
}

.c-entry-heading-type2 {
	border-bottom: 3px solid #145B35;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.4;
	padding-bottom: 14px;
}

.c-entry-heading-type2::after {
	border: 5px solid transparent;
	border-top: 15px solid #ebebeb;
	content: "";
	height: 0;
	left: 24px;
	position: absolute;
	top: 100%;
	width: 0;
}

.c-entry-heading-type3 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	padding-left: 42px;
	position: relative;
}

.c-entry-heading-type3::after {
	color: #145B35;
	content: "\f00c";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-size: 26px;
	font-weight: 900;
	left: 0;
	position: absolute;
	top: -8px;
}

.c-widget-title {
	font-size: 18px;
	font-weight: 600;
	padding: 0 0 16px;
}

.p-header-nav {
	width: 100%;
}

.p-header-nav__menu {
	align-items: center;
	display: flex;
	gap: 2rem;
}

.p-header-nav__logo {
	margin: 8px auto 8px 0;
}

.p-header-nav__list {
	gap: 2rem;
	list-style: none;
}

.p-header-nav__item a {
	color: #333333;
	text-decoration: none;
}

.p-header-nav__logo {
	display: block;
	max-width: 244px;
	width: 100%;
}

.p-header-nav__logo img {
	display: block;
	height: auto;
	width: 100%;
}

.p-hamburger-nav { /* 各アイテムの下線とフェードイン */ /* メニュー全体が開いたら子アイテムを順にフェードイン */
}

.p-hamburger-nav__list {
	background-color: #fff; /* 初期状態（閉じている） */
	display: flex;
	flex-direction: column;
	gap: 0; /* 区切り線を目立たせたいので間隔ゼロ */
	left: 0; /* 全幅に伸ばす */
	list-style: none;
	margin: 0;
	opacity: 0;
	padding: 1rem 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 100%;
	transform: translateY(-10px);
	transition: opacity 0.35s ease, transform 0.35s ease; /* PC では常に非表示（別ナビがあるなら） */ /* 開いた状態 */
}

.p-hamburger-nav__list.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	z-index: 100;
}

.p-hamburger-nav__item { /* 区切り線（最後の要素は線を消す） */
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	opacity: 0;
	padding: 0.8rem 1rem;
	text-align: center;
	transform: translateY(8px);
	transition: opacity 0.4s ease, transform 0.4s ease;
	width: 100%; /* ふわっと遅延表示 */
}

.p-hamburger-nav__item:last-child {
	border-bottom: none;
}

.p-hamburger-nav__item:nth-child(1) {
	transition-delay: 0.05s;
}

.p-hamburger-nav__item:nth-child(2) {
	transition-delay: 0.1s;
}

.p-hamburger-nav__item:nth-child(3) {
	transition-delay: 0.15s;
}

.p-hamburger-nav__item:nth-child(4) {
	transition-delay: 0.2s;
}

.p-hamburger-nav__item:nth-child(5) {
	transition-delay: 0.25s;
}

.p-hamburger-nav__item:nth-child(6) {
	transition-delay: 0.3s;
}

.p-hamburger-nav__item:nth-child(7) {
	transition-delay: 0.35s;
}

.p-hamburger-nav__item:nth-child(8) {
	transition-delay: 0.4s;
}

.p-hamburger-nav__item:nth-child(9) {
	transition-delay: 0.45s;
}

.p-hamburger-nav__item:nth-child(10) {
	transition-delay: 0.5s;
}

.p-hamburger-nav__list.is-open .p-hamburger-nav__item {
	opacity: 1;
	transform: translateY(0);
}

.p-hamburger-nav__link {
	color: #333333;
	display: block;
	text-decoration: none;
	width: 100%;
}

.p-fv {
	height: 80vh;
	position: relative; /* ─── SP / タブレット：テキストを画像の下へ ─── */
}

.p-fv__slider {
	height: 100%;
}

.p-fv__slider .swiper-slide img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition-timing-function: linear;
}

.p-fv__content {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	inset: 0;
	justify-content: center;
	padding: 0 1rem;
	position: absolute;
	text-align: center;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	z-index: 30;
}

.p-fv__title {
	font-family: "Gothic A1", sans-serif;
	font-size: clamp(1.8rem, 3.5vw, 3.5rem);
	font-weight: bold;
}

.p-fv__text {
	font-family: "Zen Maru Gothic", system-ui;
	line-height: 1.6;
	max-width: 42rem;
}

.p-news__list {
	display: grid;
	gap: 2rem;
	margin: 0 auto;
	max-width: 800px;
}

.p-news__item {
	border-bottom: 1px solid #333333;
	padding-bottom: 1rem;
}

.p-news-block {
	align-items: flex-start;
	text-align: left;
}

.p-news-block__link {
	align-items: center;
	display: flex;
	gap: 1.2rem;
	text-decoration: none;
}

.p-news-block__thumb {
	flex-shrink: 0;
	height: 136px;
	width: 25%;
}

.p-news-block__thumb img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	border-radius: 8px;
	display: block;
	object-fit: cover;
}

.p-news-block__content {
	flex: 1;
}

.p-news-block__date {
	color: #888888;
	font-size: 0.85rem;
	line-height: 2;
}

.p-news-block__title {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.4;
}

.p-news-block__excerpt {
	font-size: 1rem;
	line-height: 1.6;
	text-align: left;
}

.p-news-block__label {
	display: flex;
	gap: 1rem;
	justify-content: flex-start;
	margin-bottom: 1rem;
}

.p-card__list {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin-top: 2rem;
}

.p-card__item {
	list-style: none;
}

.p-card .p-card-block {
	background-color: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	height: 100%;
	overflow: hidden;
	transition: box-shadow 0.5s ease;
}

.p-card .p-card-block:hover {
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.p-card .p-card-block__link {
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
}

.p-card .p-card-block__content {
	flex: 1;
	padding: 1.2rem;
}

/* ここは「枠」だけを定義する */

.p-card-block__thumb {
	background: #f4f4f4;
	height: 216px;
	overflow: hidden;
	position: relative; /* 幅いっぱいで、アスペクト比 4:3（必要なら数値を変える） */
	width: 100%;
}

/* サムネイル画像そのもの */

.p-card-block__thumb img {
	height: 100%;
	inset: 0; /* 枠いっぱいに引き伸ばし、中央をトリミング */
	position: absolute;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-gallery__list {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
}

.p-gallery__item {
	aspect-ratio: 4/3;
	border-radius: 6px;
	overflow: hidden;
}

.p-gallery__item:hover {
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.p-gallery__item-link {
	display: block;
	height: 100%;
	width: 100%;
}

.p-gallery__item-img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	display: block;
	object-fit: cover;
}

.p-footer {
	background-color: #F1EEE3;
	font-size: 1rem;
	line-height: 1.6;
	margin-top: 4rem;
	padding-top: 4rem;
}

.p-footer__text {
	color: #145B35;
	font-family: "Zen Maru Gothic", system-ui;
	font-weight: bold;
	margin: 0 auto;
	position: relative;
	text-align: center;
}

.p-footer__text::after {
	background-color: #fff;
	content: "";
	display: block;
	height: 2px;
	margin: 2rem auto;
	max-width: 65%;
}

.p-footer__nav {
	margin: 0 auto 2rem;
}

.p-footer__nav .p-footer-nav__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	max-width: 1100px;
}

.p-footer__copyright {
	background: #FAFAFA;
	color: #333333;
	font-size: 1rem;
	margin: 0 auto;
	padding: 1rem 0;
	text-align: center;
}

.p-footer-nav__menu {
	display: flex;
	text-align: center;
}

.p-footer-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-footer-nav__item {
	color: #145B35;
	display: inline-block;
	font-size: 1rem;
	padding: 0.25rem 0.5rem;
	text-decoration: none;
	transition: color 0.3s;
}

.p-footer-nav__item-link {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0 0 0 1rem;
	padding: 0px;
}

.p-footer-nav__item-link-item {
	color: #145B35;
	display: inline-block;
	font-size: 1rem;
	padding: 0.25rem 0.5rem;
	text-decoration: none;
	transition: color 0.3s;
}

.p-head {
	height: 40vh;
	position: relative;
}

.p-head__img {
	height: 100%;
}

.p-head__img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-head__title {
	align-items: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Gothic A1", sans-serif;
	font-size: 3rem;
	font-weight: bold;
	gap: 2rem;
	inset: 0;
	justify-content: center;
	letter-spacing: 5%;
	padding: 0 1rem;
	position: absolute;
	text-align: center;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
	z-index: 30;
}

.p-category {
	margin: 6rem auto;
}

.p-category__list {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: center;
}

.p-category__item {
	text-align: center;
	width: 180px;
}

.p-category__link {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 30px;
	color: #333333;
	display: inline-block;
	font-size: 1rem;
	padding: 10px 24px;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-category__link:hover {
	background-color: #fff;
	border-color: #145B35;
	color: #145B35;
}

.p-category__link.current {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
	pointer-events: none;
}

.p-pagination {
	margin-top: 60px;
	text-align: center;
}

.p-pagination__group {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-pagination__barret {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	color: #333333;
	cursor: pointer;
	font-size: 16px;
	height: 40px;
	line-height: 40px;
	transition: all 0.3s;
	width: 40px;
}

.p-pagination__barret:hover {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
}

.p-pagination__barret.is-current {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
	pointer-events: none;
}

.p-pagination__barret.p-pagination__prev,
.p-pagination__barret.p-pagination__next {
	font-size: 14px;
}

.p-pagination__barret.p-pagination__prev i,
.p-pagination__barret.p-pagination__next i {
	font-size: 14px;
}

a.page-numbers,
span.page-numbers {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	color: #333333;
	cursor: pointer;
	font-size: 16px;
	height: 40px;
	line-height: 40px;
	transition: all 0.3s;
	width: 40px;
}

a.page-numbers:hover,
span.page-numbers:hover {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
}

a.page-numbers.current,
span.page-numbers.current {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
	pointer-events: none;
}

a.post-page-numbers,
span.post-page-numbers {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	color: #333333;
	cursor: pointer;
	font-size: 16px;
	height: 40px;
	line-height: 40px;
	transition: all 0.3s;
	width: 40px;
}

a.post-page-numbers:hover,
span.post-page-numbers:hover {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
}

a.post-page-numbers.current,
span.post-page-numbers.current {
	background-color: #145B35;
	border-color: #145B35;
	color: #fff;
	pointer-events: none;
}

.p-article__header {
	margin-bottom: 24px;
	text-align: center;
}

.p-article__header .p-article__category {
	color: #999;
	font-size: 0.9rem;
}

.p-article__header .p-article__title {
	font-size: 1.8rem;
	font-weight: bold;
	margin: 10px 0;
}

.p-article__header .p-article__date {
	color: #aaa;
	font-size: 0.85rem;
}

.p-article__thumbnail {
	margin-bottom: 24px;
}

.p-article__thumbnail img {
	border-radius: 6px;
	height: auto;
	width: 100%;
}

.p-article__body {
	color: #333;
	line-height: 1.8;
}

.p-article__body h2 {
	border-left: 4px solid #0071bc;
	font-size: 1.4rem;
	margin: 30px 0 15px;
	padding-left: 10px;
}

.p-article__body h3 {
	font-size: 1.2rem;
	margin: 25px 0 10px;
}

.p-article__body ul {
	list-style: disc;
	margin: 10px 0 20px 20px;
}

.p-article__body p {
	margin-bottom: 20px;
}

.p-article__footer {
	margin-top: 40px;
}

.p-article__footer .p-article__tags {
	margin-bottom: 20px;
}

.p-article__footer .p-article__tags .p-article__tag {
	background: #eee;
	border-radius: 4px;
	color: #555;
	display: inline-block;
	font-size: 0.85rem;
	margin-right: 8px;
	padding: 4px 10px;
}

.p-article__footer .p-article__pager {
	display: flex;
	font-size: 0.9rem;
	justify-content: space-between;
}

.p-article__footer .p-article__pager a {
	color: #0071bc;
	text-decoration: underline;
}

.p-article__footer .p-article__pager a:hover {
	text-decoration: none;
}

.p-single {
	font-family: "Noto Sans JP", sans-serif;
	margin: 0 auto;
	max-width: 800px;
	padding: 40px 20px;
}

.p-single__title {
	color: #333;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 24px;
	margin-top: 16px;
}

.p-single__meta {
	align-items: center;
	color: #666;
	display: flex;
	font-size: 14px;
	margin-bottom: 16px;
}

.p-single__meta .label {
	background-color: #2962ff;
	border-radius: 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	margin-right: 12px;
	padding: 4px 8px;
}

.p-single__meta time {
	font-weight: 500;
}

.p-single__eyecatch img {
	border-radius: 8px;
	height: auto;
	margin-bottom: 24px;
	width: 100%;
}

.p-single__toc {
	border: 1px solid #ccc;
	border-radius: 4px;
	margin-bottom: 40px;
	padding: 24px;
}

.p-single__toc h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 12px;
	text-align: center;
}

.p-single__toc ol {
	padding-left: 20px;
}

.p-single__toc ol li {
	line-height: 1.8;
	margin-bottom: 8px;
}

.p-single__toc ol li ul {
	list-style: disc;
	padding-left: 20px;
}

.p-single__toc ol li ul li {
	color: #444;
	font-size: 14px;
}

.p-single__section {
	margin-bottom: 48px;
}

.p-single__section .is-blue {
	background-color: #003366;
	border-radius: 4px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 24px;
	padding: 12px 16px;
}

.p-single__section p {
	color: #333;
	font-size: 16px;
	line-height: 2;
}

.p-single__section img {
	border-radius: 6px;
	height: auto;
	margin-bottom: 24px;
	margin-top: 24px;
	width: 100%;
}

.p-single__wave {
	background: url("/path/to/wave.svg") no-repeat center center;
	background-size: contain;
	height: 40px;
	margin-top: 64px;
}

.p-entry {
	background: #fff;
	box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.16);
	padding: 40px;
	text-align: left;
}

.p-entry__label .c-tag__text {
	font-size: 1rem;
}

.p-entry__title {
	font-size: 30px;
	font-weight: 600;
	line-height: 1.7;
	margin-top: 18px;
}

.p-entry__date {
	align-items: center;
	display: flex;
	margin-top: 18px;
}

.p-entry__published,
.p-entry__updated {
	color: gray;
	font-size: 12px;
}

.p-entry__published::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-weight: 400;
	margin-right: 8px;
}

.p-entry__updated {
	margin-left: 27px;
}

.p-entry__updated::before {
	content: "\f1da";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-weight: 900;
	margin-right: 8px;
}

.p-entry__img {
	margin-top: 18px;
	text-align: center;
}

.p-entry__img img {
	vertical-align: bottom;
}

.p-entry__body {
	border-bottom: 1px solid #e2e2e2;
	margin-top: 32px;
	padding-bottom: 44px;
}

.p-entry__tag {
	margin-top: 20px;
}

.p-entry__relative {
	margin-top: 20px;
}

.entry-content__h3 {
	color: #145B35;
	margin-top: 1.5rem;
}

.entry-content__link {
	margin-top: 8px;
}

.entry-subsidy {
	margin: 2rem auto;
}

.external-link i {
	margin-left: 4px;
}

.p-entry-content h2 {
	background: #ebebeb;
	border-radius: 3px;
	border-top: 6px solid #145B35;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 38px;
	margin-top: 80px;
	padding: 24px 20px;
	position: relative;
	text-align: left;
}

.p-entry-content h2:after {
	border: 5px solid transparent;
	border-top: 15px solid #ebebeb;
	content: "";
	height: 0;
	left: 24px;
	position: absolute;
	top: 100%;
	width: 0;
}

.p-entry-content h3 {
	border-bottom: 3px solid #145B35;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 24px;
	margin-top: 84px;
	padding-bottom: 14px;
}

.p-entry-content h3::after {
	border: 5px solid transparent;
	border-top: 15px solid #ebebeb;
	content: "";
	height: 0;
	left: 24px;
	position: absolute;
	top: 100%;
	width: 0;
}

.p-entry-content h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	margin-bottom: 16px;
	margin-top: 82px;
	padding-left: 42px;
	position: relative;
}

.p-entry-content h4::after {
	color: #145B35;
	content: "\f00c";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-size: 26px;
	font-weight: 900;
	left: 0;
	position: absolute;
	top: -8px;
}

.p-entry-content p {
	font-size: 1rem;
	line-height: 1.875;
	margin-top: 30px;
}

.p-entry-content__text {
	line-height: 1.875;
	margin-top: 30px;
}

.p-entry-content__toc {
	margin-top: 64px;
}

.p-entry-content__h2 {
	margin-bottom: 38px;
	margin-top: 80px;
}

.p-entry-content__h3 {
	margin-bottom: 24px;
	margin-top: 84px;
}

.p-entry-content__h4 {
	margin-bottom: 16px;
	margin-top: 82px;
}

.p-entry-content__button {
	margin-bottom: 1em;
	margin-top: 1em;
	text-align: center;
}

.p-entry-content__link {
	font-weight: 600;
	text-decoration: underline;
	transition: all 0.3s ease 0s;
}

.p-entry-content__link:hover {
	opacity: 0.6;
}

.p-entry-content__strong {
	font-weight: 700;
}

.entry-privacy {
	-moz-text-align-last: left;
	margin: 0 1rem;
	max-width: 100%;
	text-align-last: left;
}

.entry-privacy p {
	text-align: left;
}

.entry-privacy h2 {
	margin: 1rem 1rem 0;
}

.entry-privacy ul {
	margin: 1rem;
}

.entry-privacy li {
	font-weight: bold;
}

#toc_container {
	background: #fff;
	border: 2px solid #145B35;
	margin: 1.5rem 0;
	padding: 20px 30px;
	width: 100%;
}

#toc_container li {
	margin: 1rem;
}

.toc_title {
	border-bottom: 2px solid #145B35;
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 30px;
	margin-top: 0;
	padding-bottom: 6px;
	text-align: center;
}

.toc_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.toc_list > li {
	counter-increment: toc;
	line-height: 1.6;
	margin-bottom: 20px;
	margin-top: 1.5rem;
}

.toc_list > li > a {
	display: inline-block;
	font-weight: 600;
	padding-left: 36px;
	position: relative;
	text-decoration: none;
}

.toc_list > li > a::before {
	background: #145B35;
	border-radius: 50%;
	color: #fff;
	content: counter(toc);
	font-weight: 700;
	height: 26px;
	left: 0;
	line-height: 26px;
	margin-top: -2px;
	min-width: 26px;
	position: absolute;
	text-align: center;
	top: 0;
}

.toc_list > li > a:hover {
	opacity: 0.6;
}

.toc_list > li > ul {
	list-style: none;
	margin-top: 6px;
	padding-left: 36px;
}

.toc_list > li > ul > li {
	margin-bottom: 2px;
	margin-top: 0;
}

.toc_list > li > ul > li > a {
	display: inline-block;
	font-weight: 400;
	padding-left: 10px;
	position: relative;
	text-decoration: none;
}

.toc_list > li > ul > li > a::before {
	background: #145B35;
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	top: 8px;
	width: 5px;
}

.toc_list > li > ul > li > a:hover {
	opacity: 0.6;
}

.p-entry-relative__title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 22px;
}

.p-entry-relative__items {
	display: flex;
	flex-wrap: wrap;
}

.p-entry-relative__item {
	width: calc(25% - 13.5px);
}

.p-entry-relative__item:not(:nth-child(4n+1)) {
	margin-left: 18px;
}

.p-entry-relative__item:nth-child(n+5) {
	margin-top: 21px;
}

.p-relative-card {
	display: inline-block;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.p-relative-card:hover {
	opacity: 0.6;
}

.p-relative-card__image {
	aspect-ratio: 4/3;
	overflow: hidden;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-relative-card__image img {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-relative-card__title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.57143;
	margin-top: 10px;
}

.p-side-items__widget:nth-child(n+2) {
	margin-top: 50px;
}

.p-profile-box__img {
	margin-bottom: 26px;
	text-align: center;
}

.p-profile-box__img img {
	width: 230px;
}

.p-profile-box__content {
	font-size: 14px;
	line-height: 1.71429;
	margin-bottom: 38px;
	padding: 0 18px;
}

.p-profile-box__sns {
	align-items: center;
	display: flex;
	justify-content: center;
}

.p-profile-box__sns-item:nth-child(n+2) {
	margin-left: 40px;
}

.p-profile-box__sns-item a {
	color: inherit;
	font-size: 26px;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.p-profile-box__sns-item a:hover {
	opacity: 0.6;
}

.p-profile-box__sns-item.p-profile-box__sns-item--twitter {
	color: #1da1f2;
}

.p-profile-box__sns-item.p-profile-box__sns-item--facebook {
	color: #3b5998;
}

.p-profile-box__sns-item.p-profile-box__sns-item--instagram {
	color: #c13584;
}

.p-entry-404 {
	padding-bottom: 0;
	padding-top: 18px;
}

.p-entry-404-head {
	color: #145B35;
	font-size: 80px;
	margin-bottom: 36px;
}

.p-entry-404-head span {
	display: block;
}

.p-entry-404-head span::after {
	display: none;
}

.p-entry-404-lead {
	font-size: 20px;
	margin-bottom: 34px;
}

.p-entry-404-lead .m_sp {
	display: block;
}

.p-entry-404-content {
	font-size: 12px;
	padding-left: 24px;
	padding-right: 24px;
}

.mainvisual-title.is-page-contact::before {
	content: "\f0e0";
}

.mainvisual-title {
	color: #145B35;
	font-size: 30px;
	font-weight: bold;
}

.mainvisual-content {
	margin-top: 3rem;
}

label {
	display: block;
}

.entry-content-contact {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	max-width: 100%;
}

.entry-content-contact p {
	text-align: center;
}

.entry-content-contact.inner {
	margin: 0 auto;
	padding-top: 3rem;
	width: 880px;
}

.form {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e2e2;
	display: flex;
	flex-direction: column;
	gap: 42px;
	justify-content: center;
	padding: 80px 64px;
}

.form__fields {
	display: flex;
	flex-direction: column;
	gap: 50px;
	width: 100%;
}

.form__privacy {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-align: center;
}

.form__privacy-text {
	color: #3a4247;
	font-size: 16px;
	line-height: 1.6;
}

.form__privacy-text a {
	font-weight: 600;
	outline: initial;
	text-decoration-line: underline;
	transition: opacity 0.3s;
}

.form__privacy-text a:hover {
	opacity: 0.6;
}

.form__privacy-text a:focus-visible {
	outline: solid 1px #989898;
}

.form-field {
	align-items: center;
	display: flex;
	gap: 30px;
	width: 100%;
}

.form-field--flex-start {
	align-items: flex-start;
}

.form-field__head {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	font-size: 18px;
	font-weight: 600;
	gap: 10px;
	padding-left: 10px;
	width: 210px;
}

.form-field--flex-start .form-field__head {
	margin-top: 0.4em;
}

.form-field__label {
	font-weight: 600;
}

.form-field__tag {
	background: #145B35;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	padding: 4px 8px;
	text-align: center;
}

.form-field__item {
	flex-grow: 1;
	text-align: left;
}

.form-text {
	border: 1px solid #e2e2e2;
	color: #333;
	font-size: 16px;
	font-weight: 300;
	padding: 10px;
	width: 100%;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #bababa;
	font-size: 16px;
}

input:focus-visible,
textarea:focus-visible {
	outline: solid 1px #989898;
}

.from-radio {
	display: flex;
	gap: 20px;
	padding-left: 8px;
}

input[type=radio] {
	height: 1px;
	margin: 0;
	overflow: hidden;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}

input[type=radio]:checked + span::after {
	opacity: 1;
}

input[type=radio] + span {
	cursor: pointer;
	padding: 10px 10px 10px 28px;
	position: relative;
}

input[type=radio]:focus-visible + span {
	outline: solid 1px #989898;
}

input[type=radio] + span::before,
input[type=radio] + span::after {
	border-radius: 50%;
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

input[type=radio] + span::before {
	border: 1px solid #e2e2e2;
	height: 24px;
	left: 0;
	transition: border-color 0.3s;
	width: 24px;
}

input[type=radio] + span::after {
	background: #868686;
	height: 10px;
	left: 7px;
	opacity: 0;
	width: 10px;
}

.form-select {
	font-size: 16px;
	padding: 12px 30px 12px 10px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: #fff;
	border: 1px solid #e2e2e2;
	cursor: pointer;
	transition: border-color 0.3s;
}

.form-select:focus-visible {
	outline: solid 1px #989898;
}

.form-textarea {
	background: #fff;
	border: 1px solid #e2e2e2;
	font-size: 16px;
	height: 180px;
	padding: 10px;
	transition: border-color 0.3s;
	width: 100%;
}

.form-checkbox {
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}

.form-checkbox:checked + span::after {
	opacity: 1;
}

.form-checkbox + span {
	color: #3a4247;
	cursor: pointer;
	font-size: 16px;
	line-height: 1.6;
	padding-left: 30px;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

.form-checkbox:focus-visible + span::before {
	border-width: 2px;
}

.form-checkbox + span::before {
	border: 1px solid #989898;
	border-radius: 1px;
	height: 20px;
	transition: border-color 0.3s;
	width: 20px;
}

.form-checkbox + span::after {
	height: 20px;
	opacity: 0;
	width: 20px;
}

.form-checkbox + span::before,
.form-checkbox + span::after {
	content: "";
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.form-btn {
	background-color: #145B35;
	border: 2px solid #145B35;
	border-radius: 60px;
	color: #fff;
	display: block;
	font-size: 0.8rem;
	font-weight: bold;
	padding: 0.5rem 2rem;
	text-decoration: none;
	transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}

.form-btn:hover {
	background-color: #FAFAFA;
	color: #145B35;
}

.form-btn:focus-visible {
	outline: solid 1px #989898;
}

.form-btn:hover {
	opacity: 0.6;
}

.wpcf7-list-item {
	margin: 0;
}

@media screen and (min-width: 768px) {

a:hover {
	opacity: 0.7;
}

.l-header {
	padding-right: 2rem;
}

.l-inner {
	padding-left: 24px;
	padding-right: 24px;
}

.p-header-nav__list {
	display: none;
}

.p-gallery__list {
	grid-template-columns: repeat(4, 1fr);
}

.p-footer-nav__item-link {
	margin: 0 auto;
}

.p-category__list {
	gap: 1rem;
}

}

@media screen and (min-width: 1200px) {

.c-hamburger {
	display: none;
}

.p-header-nav__list {
	display: flex;
}

.p-hamburger-nav__list {
	display: none;
}

}

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

.l-header {
	padding: 0 1.5rem;
	position: fixed;
}

.l-section {
	margin: 0 1rem;
}

.l-inner {
	padding-left: 16px;
	padding-right: 16px;
}

.l-content {
	padding-bottom: 60px;
	padding-top: 40px;
}

.l-content__side {
	margin-left: 0;
	margin-top: 70px;
	width: 100%;
}

.c-hamburger {
	background-color: #FAFAFA;
	border: 1px solid #333333;
	border-radius: 50%;
	height: 47px;
	padding: 13px;
	width: 50px;
}

.c-hamburger.is-active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.c-section-title {
	font-size: 1.5rem;
	margin-bottom: 2rem;
}

.c-page-top {
	display: none;
}

.c-br-sp {
	display: block;
}

.c-entry-heading-type1 {
	font-size: 20px;
	padding: 27px 17px;
}

.c-entry-heading-type2 {
	font-size: 20px;
}

.p-header-nav__list {
	display: none;
}

.p-header-nav__logo {
	display: none;
	max-width: 180px;
}

.p-fv__text {
	font-size: 0.8rem;
}

.p-fv {
	height: auto;
}

.p-fv__slider {
	height: 60vh;
}

.p-news-block__link {
	flex-flow: column;
}

.p-news-block__thumb {
	height: 216px;
	width: 100%;
}

.p-news-block__excerpt {
	font-size: 0.8rem;
}

.p-footer-nav__menu {
	flex-direction: column;
}

.p-footer-nav__list {
	flex-direction: row;
	justify-content: space-between;
	margin: 0 1rem;
}

.p-footer-nav__item {
	border-bottom: 1px solid #fff;
	text-align: center;
	width: 45%;
}

.p-footer-nav__item-link {
	justify-content: center;
	margin: 2rem 0 0 0;
}

.p-footer-nav__item-link-item {
	text-align: center;
}

.p-head__title {
	font-size: 2rem;
	justify-content: center;
}

.p-category {
	margin: 2rem auto;
}

.p-category__list {
	gap: 0.5rem;
}

.p-category__item {
	width: 150px;
}

.p-category__link {
	padding: 8px 18px;
}

.p-pagination__barret {
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	width: 36px;
}

a.page-numbers,
span.page-numbers {
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	width: 36px;
}

a.post-page-numbers,
span.post-page-numbers {
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	width: 36px;
}

.p-entry {
	padding: 30px 10px 10px;
}

.p-entry__title {
	font-size: 24px;
	line-height: 1.41667;
}

.p-entry__published,
.p-entry__updated {
	font-size: 11px;
}

.p-entry__updated {
	margin-left: 18px;
}

.entry-content__h3 {
	font-size: 1rem;
}

.p-entry-content h2 {
	font-size: 20px;
	padding: 27px 17px;
}

.p-entry-content h3 {
	font-size: 20px;
}

#toc_container {
	padding-left: 20px;
	padding-right: 20px;
}

.toc_title {
	margin-bottom: 20px;
}

.p-entry-relative__item:not(:nth-child(4n+1)) {
	margin-left: 0;
}

.p-entry-relative__item:nth-child(n+5) {
	margin-top: 0;
}

.p-entry-relative__item {
	width: calc(50% - 15px);
}

.p-entry-relative__item:not(:nth-child(2n+1)) {
	margin-left: 20px;
}

.p-entry-relative__item:nth-child(n+3) {
	margin-top: 21px;
}

.p-entry-404-head {
	font-size: 40px;
}

.entry-content-contact p {
	font-size: 1rem;
	margin: 0 1rem;
	text-align: left;
}

.entry-content-contact.inner {
	padding-top: 2rem;
}

.form {
	margin: 0 1rem;
}

.entry-content-contact.inner {
	padding-block: 33px;
}

.wp-block-spacer {
	height: 44px !important;
}

.form {
	padding: 40px 13px 30px;
}

.form__fields {
	gap: 33px;
}

.form__privacy {
	gap: 1.5rem;
}

.form__privacy-text {
	line-height: 1.8;
	text-align: left;
}

.form-field {
	align-items: start;
	flex-direction: column;
	gap: 10px;
}

.form-field--radio {
	gap: 15px;
}

.form-field__item {
	width: 100%;
}

.from-radio {
	gap: 10px;
}

}