@charset "UTF-8";

/*
Theme Name: MY THEME 
Author: Zenshin
Description: オリジナルテーマ
Version: 1.0
*/
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

.img-full img {
	width: 100%;
	height: auto;
	text-align: center;
	vertical-align: bottom;
}


@media screen and (max-width: 780px) {
	.flex_res {
		flex-direction: column;
		align-items: center;
	}
}

.flex_hanyo {
	display: flex;
	justify-content: center;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-center {
	display: flex;
	justify-content: center;
}

.flex-base {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}

.alignleft {
	float: left;
	margin-left: 0;
	margin-right: 1em;
}

.alignright {
	float: right;
	margin-left: 1em;
	margin-right: 0;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-categories.aligncenter,
.wp-block-latest-posts.aligncenter,
.wp-block-archives.aligncenter,
.wp-block-tag-cloud.aligncenter,
.wp-block-latest-comments.aligncenter,
.wp-block-rss.aligncenter {
	text-align: center;
}

figure {
	margin-left: 0;
	margin-right: 0;
}

body {
	box-sizing: border-box;
}

body *,
body *::before,
body *::after {
	box-sizing: inherit;
}

ul {
	padding-inline-start: 1rem;
}

pre {
	font-family: unset;
}

/* 変数 */
:root {
	--f1: 2.44em;
	/* 39.04px */
	--f2: 1.95em;
	/* 31.2px */
	--f3: 1.56em;
	/* 24.96px */
	--f4: 1.25em;
	/* 20px */
	--f5: 1em;
	/* 16px */
	--f6: 0.8em;
	/* 12.8px */

	--f7: 0.66em;
	/* 12.8px */

	--basecolor: #63a211;
	/* 基本色 */
	--gradient: linear-gradient(81.7deg, rgba(34, 126, 34, 1) 8.1%, rgba(99, 162, 17, 1) 86.5%);

	--myfont: "Zen Maru Gothic", sans-serif;
	--myw: 720px;
	/*標準幅*/
}


/* フォント */
body {
	font-family: var(--myfont);
	font-size: 21px;
}

p {
	line-height: 1.8;
	font-size: var(--f5);
}


h1 {
	font-size: var(--f1);
	font-weight: 300;
}

h2 {
	font-size: var(--f3);
	margin-block-start: 0;
}

h3 {
	font-size: var(--f3);
}

h4 {
	font-size: var(--f4);
}

h5 {
	font-size: var(--f5);
}

h6 {
	font-size: var(--f6);
}

.text_item_double_L {
	width: 55%;
	padding: 30px 0;
	margin: 0 auto;
}

.text_item_double_L p {
	font-size: 18px;
}

.text_img_double_R {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45%;
	padding: 30px 0;
	margin-left: 8%;
}

.text_img_double_R img {
	vertical-align: middle;
}

.title_wrapper {
	margin-right: 50%;
}

.title_img {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px 0;
}

.top_assist_text {
	font-size: 14px;
	/* margin-top: 35px; */
}

@media screen and (max-width: 780px) {
	.text_item_double_L {
		width: 100%;
		display: flex;
		flex-direction: column;
		/* 要素を縦方向に並べる */
		justify-content: center;
		/* 横方向（左右方向）の中央揃え */
		align-items: center;
		/* 縦方向（上下方向）の中央揃え */
		padding: 0;
	}

	.text_img_double_R {
		width: 70%;
		margin-left: 0;
		margin-bottom: 10px;
	}

	.title_img {
		width: 70%;
		margin: 20px 0 30px 0;
	}

	.text_item_double_L p {
		font-size: 14px;
	}

	.title_wrapper {
		width: 100%;
		display: flex;
		flex-direction: column;
		/* 要素を縦方向に並べる */
		justify-content: center;
		/* 横方向（左右方向）の中央揃え */
		align-items: center;
		/* 縦方向（上下方向）の中央揃え */
	}

	.osirase_img {
		width: 50%;
	}
}

.syakyou-header {
	background: #5aa382;
	color: #fff;
	display: grid;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 15px;
	font-weight: bold;
	padding-left: 3%;
}

/* 横幅 */
body {
	margin: 0;
}


.alignfull {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.alignwide {
	margin-top: 5%;
	padding-left: 25%;
	padding-right: 25%;
}

/*スマホ*/
@media (max-width: 600px) {
	.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (min-width: 1320px) {}


/*配置*/
.center {
	text-align: center;
}

.space-between {
	justify-content: space-between;
}

/* ポジション */
.relative {
	position: relative;
}

.top {
	vertical-align: top;
}

/*リンク*/
a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
	opacity: 0.7;
}

/*色*/
.white {
	color: white;
}

.red {
	color: red;
}

.green {
	color: green;
}

.grey {
	background-color: #F2F2F2;
	padding-bottom: 5%;
}

.white-bg {
	background-color: white;
}

/*スマホ限定/PC限定*/
/*フッターの画像切替のみに使用 bootstrapのxlに対応*/

@media only screen and (max-width:768px) {
	.sp-md {
		display: block;
	}

}

/*-----マージン共通-----*/
.margin_hanyo {
	margin-top: 120px;
}

.margin_hanyo_sub2 {
	margin-top: 100px;
}

.margin_right_pc {
	margin-right: 20px;
}

.margin_hanyo_bottom {
	margin-bottom: 5%;
}

@media screen and (max-width: 780px) {
	.margin_hanyo {
		margin-top: 50px;
	}

	.margin_hanyo_sub {
		margin-top: 10px;
	}

	.margin_hanyo_sub2 {
		margin-top: 50px;
	}

	.margin_top_res {
		margin-top: 15px;
	}

	.margin_right_pc {
		margin-right: 0;
	}
}

p {
	font-size: 21px;
}

/* ベーシックプラン用。汎用CSS */
.bg-green {
	background-color: #5aa382;
}

.bg-green-thin {
	background-color: #e5eee7;
}

.font-green {
	color: #5aa382;
}

.font-green-4e {
	color: #4ea585;
}

.b-r-10 {
	border-radius: 10px;
}

.light-blue {
	color: #29abe2;
}

.ta-head {
	background-color: #5aa382;
	display: flex;
	justify-content: space-between;
}

.p-b-10 {
	padding-bottom: 10px;
}

/* width指定 */
.w-10 {
	width: 10%
}

.w-12 {
	width: 12%;
}

.w-15 {
	width: 15%
}

.w-20 {
	width: 20%
}

.w-22 {
	width: 22%;
}

.w-25 {
	width: 25%
}

.w-30 {
	width: 30%
}

.w-33 {
	width: 33%
}

/* flexの3等分用 */
.w-40 {
	width: 40%
}

.w-45 {
	width: 45%
}

.w-48 {
	width: 48%
}

/* flexの2等分用 */
.w-50 {
	width: 50%
}

.w-60 {
	width: 60%
}

.w-65 {
	width: 65%
}

/* flexの2:1の比率用 */
.w-70 {
	width: 70%
}

.w-75 {
	width: 75%
}

.w-80 {
	width: 80%
}

/* 基本のサイズ */
.w-90 {
	width: 90%
}

.w-95 {
	width: 95%
}

.w-100 {
	width: 100%
}

.w-fit {
	width: fit-content
}

/* 余白 */
.p-10 {
	padding: 10px
}

.p-15 {
	padding: 15px
}

.p-20 {
	padding: 20px
}

.p-30 {
	padding: 30px
}

.p-60 {
	padding: 60px
}

/* flexなど位置系 */
.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2%
}

.flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
	justify-content: center;
	/* 横中央 */
	gap: 25px;
}

.column {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2%
}

.flex-start {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 2%
}

.flex-end {
	display: flex;
	justify-content: center;
	/* ← 右寄せやめる */
	;
	align-items: center;
	gap: 2%
}

.right {
	text-align: right !important;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

/* font-size汎用 */
.font14 {
	font-size: 14px
}

.font16 {
	font-size: 16px
}

.font18 {
	font-size: 18px
}

.font20 {
	font-size: 20px
}

.font24 {
	font-size: 24px
}

.font30 {
	font-size: 30px;
	font-weight: bold
}

.font40 {
	font-size: 40px;
	font-weight: bold
}

/* その他汎用 marginやpaddingそのほか */
.style-none {
	list-style: none;
	padding: 0;
}

.bold {
	font-weight: bold
}

.m-auto {
	margin: auto
}

.m-0 {
	margin: 0
}

.m-l-3 {
	margin-left: 3%
}

.m-l-5 {
	margin-left: 5%
}

.m-t-5 {
	margin-top: 5%;
}

.m-b-10 {
	margin-bottom: 10px;
}

.p-l-8 {
	padding: 0 0 0 8%;
}

.p-l-3 {
	padding-left: 3%;
}

.p-l-15px {
	padding-left: 15px;
}

.p-b-5 {
	padding-bottom: 5px;
}

.p-t-5 {
	padding-top: 5px;
}

.p-t-15 {
	padding-top: 15px;
}

.vertical-top {
	vertical-align: top;
}

.p-y-20 {
	padding-top: 20px;
	padding-bottom: 20px;
}

.p-x-20 {
	padding: 10px 20px;
}

.p-y-10 {
	padding: 10px 0;
}

.p-r-20 {
	padding: 0 20px 0 0;
}

.news-thumbnail,
.ov-hidden {
	border-radius: 10px;
	overflow: hidden;
}

/* レスポ化用汎用 */
@media only screen and (min-width: 769px) {
	.sp {
		display: none
	}

	/* SP表示（769px未満で表示） */
}

@media only screen and (max-width: 768px) {
	.pc {
		display: none
	}

	/* PC表示（768px以上で表示） */
	.sp-column {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.hamburger_menu_btn_wrap.sp {
		display: block;
	}

	.sp-w-70 {
		width: 70%;
	}

	.font16 {
		font-size: 14px
	}

	.font18 {
		font-size: 16px
	}

	.font20 {
		font-size: 18px
	}

	.font24 {
		font-size: 20px
	}

	.font30 {
		font-size: 24px;
		font-weight: bold
	}

	.font40 {
		font-size: 30px;
		font-weight: bold
	}
}

@media only screen and (min-width: 561px) {
	.sm {
		display: none
	}

	/* スマホ表示（561px未満で表示） */
}

@media only screen and (max-width: 560px) {
	.extra {
		display: none
	}

	/* それ以外表示（560px以上で表示） */
	.sm-column {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.sm-w-90 {
		width: 90%;
	}

	.font18 {
		font-size: 15px
	}

	.font20 {
		font-size: 16px
	}

	.font24 {
		font-size: 18px
	}

	.font30 {
		font-size: 20px;
		font-weight: bold
	}

	.font40 {
		font-size: 24px;
		font-weight: bold
	}

	.w-48 {
		width: 100%;
	}
}

/* header */
.myhead {
	padding: 2% 0;
	background-color: #f0f8ff;
	box-shadow: 1px 2px 9px rgba(0, 0, 0, 0.4)
}

/*-----ハンバーガーメニュー-----*/
.hamburger_menu_btn_wrap {
	display: none;
	margin-right: 1.4%;
	margin-left: auto;
	position: fixed;
	right: 0;
	top: 15%;
}

.hamburger_menu_btn {
	width: 30px;
	height: 24px;
	position: relative;
	cursor: pointer;
	z-index: 1001;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.hamburger_menu_btn span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: #4ea585;
	border-radius: 2px;
	transition: all 0.3s ease;
}

.hamburger_menu_btn.active span:nth-child(1) {
	transform: translateY(10.5px) rotate(45deg);
}

.hamburger_menu_btn.active span:nth-child(2) {
	opacity: 0;
}

.hamburger_menu_btn.active span:nth-child(3) {
	transform: translateY(-10.5px) rotate(-45deg);
}

.hamburger_window {
	position: fixed;
	top: 0;
	right: -300px;
	width: 300px;
	height: 100vh;
	background-color: rgba(30, 30, 30, 0.95);
	padding-top: 80px;
	box-sizing: border-box;
	transition: right 0.5s ease;
	z-index: 1000;
	visibility: hidden;
	overflow-y: auto;
}

.hamburger_window.open {
	right: 0;
	visibility: visible;
}

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

.hamburger_list_item li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.hamburger_list_item li:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.hamburger_list_item li a {
	display: block;
	padding: 15px 20px;
	color: white;
	text-decoration: none;
	font-size: 1.1rem;
	transition: background-color 0.3s ease;
}

.hamburger_list_item li a:hover {
	background-color: rgba(255, 255, 255, 0.1);
}

.hamburger_background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease;
}

.hamburger_background.open {
	opacity: 1;
	visibility: visible;
}

/* footer */
.myfoot {
	background-color: #e5eee7;
	padding: 20px 0 0;
}

.sp-li {
	background-color: #fff;
	color: #4ea585;
	margin-bottom: 10px;
	width: 100%;
	text-align: center;
	font-weight: bold
}

.lit-left {
	position: relative;
	left: -40px;
	margin: 0 !important;
}

@media only screen and (max-width: 850px) {
	.c-width {
		width: 90% !important;
		margin: auto;
	}

	.pc-850 {
		display: none !important;
	}
}

@media only screen and (min-width: 851px) {
	.sp-850 {
		display: none !important;
	}
}

/* front-page */
.bg-sky {
	background-color: #fdf8ee
}

.bg-blue {
	background-color: #0071bc
}

.bg-white {
	background-color: #fff
}

.font-blue {
	color: #4ea585
}

.arrow-button {
	background-color: #3a75bb;
	color: #fff;
	width: fit-content;
	padding: 1px 6px;
	border-radius: 100%;
}

.arrow-button-wh {
	background-color: #fff;
	color: #3a75bb;
	width: fit-content;
	padding: 1px 6px;
	border-radius: 100%;
}

.b-tandb-wh {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

/* お知らせ欄 */
.l-font {
	font-size: 120px;
	font-weight: bold;
	color: white;
	text-align: center;
	margin: 0;
	line-height: 1.0;
}

.s-font {
	font-size: 18px;
	color: white;
	text-align: right;
	margin-right: 115px;
}

@media only screen and (max-width: 900px) {
	.pc-900 {
		display: none !important;
	}

	.sp-900-column {
		flex-direction: column;
	}

	.sp-900-w-100 {
		width: 100%;
	}

	.sp-900-w-90 {
		width: 90%;
	}

	.l-font {
		font-size: 80px;
	}

	.s-font {
		text-align: center;
		margin-right: 0;
	}
}

@media only screen and (min-width: 901px) {
	.sp-900 {
		display: none !important;
	}
}

/* overview */
.font-pale {
	color: #2e3192;
}

.b-b-blue {
	border-bottom: 1px solid #29abe2;
	font-weight: normal
}

.b-b-ash {
	border-bottom: 1px solid #ccc
}

.normal {
	font-weight: normal
}

/* contact */
.cform {
	width: 100%
}

.cform tbody {
	width: 100%
}

.cform tr {
	width: 100%;
}

.bg-form {
	background-color: #5aa382;
	color: #fff;
	padding: 10px 25px 10px 25px;
	width: 40%;
}

.bg-form p,
.border-form p {
	margin: 0;
	font-size: 18px;
}

.b-b-black {
	border-bottom: 1px solid #000
}

.required-srt {
	background-color: #c1272d;
	padding: 2px 15px;
	border-radius: 12px;
	font-size: 16px !important;
}

.border-form input[type="text"],
.border-form textarea {
	width: 90%;
	margin: 10px 0 10px 4%;
}

.border-form input[type="tel"],
.border-form input[type="email"] {
	width: 60%;
	margin: 10px 0 10px 4%;
}

.zip-code {
	width: 40%
}

.short input[type="text"] {
	width: 80% !important;
	margin: 10px 0 10px 11%
}

.short {
	display: flex;
	justify-content: flex-start;
	gap: 15px;
	align-items: center;
}

.credential {
	font-size: 14px;
	margin: 0;
}

.a-tag {
	color: #29abe2
}

.a-tag:hover {
	opacity: 0.6;
	color: #5aa382;
}

.sending-button {
	background: url('./image/contact/bg-but.png');
	background-repeat: no-repeat;
	background-position: center bottom;
	padding: 40px 0 30px;
	background-size: 40%;
}

.sending-button p {
	margin: 0;
	font-size: 24px;
	text-align: center;
}

.sending-button input {
	color: #fff;
	background-color: #5aa382;
	border: none;
	box-shadow: none;
}

.wpcf7-spinner {
	display: none !important;
}

@media only screen and (max-width: 1200px) and (min-width: 769px) {
	.zip-code {
		width: 60%
	}

	.short input[type="text"] {
		width: 80% !important;
		margin: 10px 0 10px 12%
	}
}

@media only screen and (max-width: 768px) and (min-width: 561px) {
	.sp-w-90 {
		width: 90%
	}

	.cform tr {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.bg-form {
		width: 100%;
	}

	.border-form {
		width: 100%;
		text-align: center;
	}

	.border-form input[type="text"],
	.border-form textarea {
		width: 90%;
		margin: 10px auto;
	}

	.border-form input[type="tel"],
	.border-form input[type="email"] {
		width: 90%;
		margin: 10px auto;
	}

	.zip-code {
		width: 100%
	}

	.short input[type="text"] {
		width: 90% !important;
		margin: 10px auto
	}

	.short {
		flex-direction: column;
	}

	.credential {
		width: 90%;
	}
}

@media only screen and (max-width: 560px) {
	.sp-w-90 {
		width: 95%
	}

	.cform tr {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.bg-form {
		width: 100%;
	}

	.border-form {
		width: 100%;
		text-align: center;
	}

	.border-form input[type="text"],
	.border-form textarea {
		width: 90%;
		margin: 10px auto;
	}

	.border-form input[type="tel"],
	.border-form input[type="email"] {
		width: 90%;
		margin: 10px auto;
	}

	.zip-code {
		width: 100%
	}

	.short input[type="text"] {
		width: 90% !important;
		margin: 10px auto
	}

	.short {
		flex-direction: column;
	}

	.credential {
		width: 90%;
	}
}

/* info */
.b-b-green {
	border-bottom: 1px solid #5aa382;
	padding-bottom: 5px;
}

/* recruit */
.bef-hash {
	margin-left: 8%;
	position: relative;
}

.bef-hash::before {
	width: 3.5vw;
	height: 2px;
	background-color: #0071bc;
	position: absolute;
	content: '';
	top: 50%;
	left: -8.7%;
}

.f-ash {
	color: #999;
}

.table-pad {
	padding-top: 15px;
	padding-bottom: 15px;
}

@media only screen and (max-width: 560px) {
	.sm-bg-ash {
		background-color: #999;
	}

	.sm-f-white {
		color: #fff;
	}

	.sm-w-100 {
		width: 100% !important;
		text-align: center !important;
	}
}

/* equip */
.bg-ash {
	background-color: #ccc;
}

/* products */
.bef-half-square {
	position: relative;
	margin-left: 35px;
}

.bef-half-square::before {
	position: absolute;
	content: '';
	width: 15px;
	height: 30px;
	top: 25%;
	left: -30px;
	background-color: #0071bc;
}

/* sending-button */
.send-btn-wrap {
	position: relative;
}

.send-btn-wrap input[type="submit"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	z-index: 2;
}

.fake-btn {
	display: block;
	padding: 22px 70px 22px 40px;
	border-radius: 999px;
	background: #5aa382;
	color: #fff;
	position: relative;
	width: 25%;
	margin: auto;
	text-align: center;
}

.fake-btn .arrow {
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	background: #fff;
	color: #5aa382;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 25px;
}

@media only screen and (max-width: 1300px) and (min-width: 1000px) {
	.fake-btn {
		width: 50%;
	}
}

@media only screen and (max-width: 1000px) and (min-width: 700px) {
	.fake-btn {
		width: 60%;
	}
}

@media only screen and (max-width: 700px) and (min-width: 500px) {
	.fake-btn {
		width: 70%;
	}
}

@media only screen and (max-width: 500px) {
	.fake-btn {
		width: 80%;
	}
}

/* 小川追加 */
.center-wrap {
	display: flex;
	justify-content: center;
	/* 横中央 */
	gap: 20px;
	/* 間隔（任意） */
}

.center-wrap img {
	display: block;
	margin: 0 auto;
	/* 画像も中央 */
}

.logo-area {
	display: flex;
	align-items: center;
	/* 縦中央揃え */
	gap: 10px;
	/* ロゴと文字の間 */
	margin-left: 40px;
}

.logo-area img {
	width: 60px;
	height: auto;
}

.logo-text p {
	margin: 0;
	/* ←これが間隔詰めるポイント */
	line-height: 1.2;
	/* 行間も少し詰める */
}

/* 右側まとめ */
.footer-right {
	display: flex;
	justify-content: flex-end;
	/* ←右に寄せる */
	gap: 40px;
	/* メニュー同士の間隔 */
}

@media screen and (max-width: 768px) {
	.address {
		white-space: normal;
	}

	.pc li a {
		white-space: nowrap;
	}

	.column {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 2%;
	}
}

/* ここからinfo */

.new img {
	width: 40%;
	/* ← 小さく（お好みで20〜50%） */
}

.new img {
	display: block !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 120px !important;
}

.number {
	text-align: center;
}

.pdf {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3%;
}

/* 全体ボックス */
.donation-box {
	background: #e9efec;
	border-radius: 15px;
	overflow: hidden;
	font-size: 18px;
	width: 80%;
	margin: 0 auto;
	/* ← これが中央寄せ */
}

/* ヘッダー */
.donation-header {
	background: #5aa382;
	color: #fff;
	display: grid;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 15px;
	font-weight: bold;
}

.donation-header-spe {
	background: #5aa382;
	color: #fff;
	display: grid;
	grid-template-columns: 1fr 4fr 4fr;
	padding: 15px;
	font-weight: bold;
}

.donation-header-wide {
	background: #5aa382;
	color: #fff;
	display: grid;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 15px;
	font-weight: bold;
}

/* 行 */
.donation-row {
	display: grid;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 12px 15px;
}

/* 最後の線消す */
.donation-row:last-child {
	border-bottom: none;
}

.donation-row-spe {
	display: grid;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 12px 15px;
}

/* 最後の線消す */
.donation-row-spe:last-child {
	border-bottom: none;
}

/* リンク風 */
.link {
	color: #0073aa;
}

/* 外枠 */
.green-box {
	border: 2px solid #5aa382;
	/* 緑の枠 */
	border-radius: 12px;
	background: #fff;
	padding: 25px;
	width: 80%;
	margin: 0 auto;
	/* 中央寄せ */
}

/* タイトル */
.green-title {
	color: #4ea585;
	text-align: center;
	margin-bottom: 20px;
	font-size: 25px;
}

/* 本文 */
.green-box p {
	line-height: 1.8;
	margin-bottom: 15px;
	justify-content: center;
	text-align: left;
}

/* リスト */
.green-box ol {
	padding-left: 20px;
}

.green-box li {
	margin-bottom: 10px;
}

.syakyou-box {
	border-radius: 15px;
	overflow: hidden;
	width: 80%;
	margin: 0 auto;
	/* ← これが中央寄せ */
	border: 2px solid #5aa382;
	/* ← 緑のふち追加 */

}

.syakyou-row {
	padding-top: 4%;
	padding-left: 3%;
	color: #4ea585;
}

.syakyou-text {
	padding-left: 3%;
	font-size: 18px;
}

.syakyou-black {
	padding-top: 4%;
	padding-left: 3%;
	color: black;
	font-weight: 500;
}

.syakyou-black {
	width: 60%;
}

.row {
	display: grid;
	grid-template-columns: 1.5fr 3fr 1fr 1fr;
	padding: 8px 0;
}

.price {
	text-align: right;
	/* ← 金額を右揃えで縦にピタッと揃う */
}

.donation-box-info {
	background: #e9efec;
	border-radius: 15px;
	overflow: hidden;
	font-size: 18px;
	width: 80%;
	margin: 0 auto;
	/* ← これが中央寄せ */
}

.p-r-10 {
	padding: 0 10px 0 0;
}

.donation-header,
.donation-row {
	display: grid;
	grid-template-columns: 2fr 2fr 3fr;
	/* ← 左を広げる＆住所も右へ */
	padding: 12px 15px;
}

.donation-header-spe,
.donation-row-spe {
	display: grid;
	grid-template-columns: 1fr 4fr 4fr;
	/* ← 左を広げる＆住所も右へ */
	padding: 12px 15px;
}

/* 1列目：折り返し禁止 */
.donation-row span:first-child {
	white-space: nowrap;
	/* ← 改行させない */
}

/* 2列目（住所）を少し右へ */
.donation-row span:nth-child(2) {
	padding-left: 20px;
	/* ← 微調整 */
}

/* 1列目：折り返し禁止 */
.donation-row-spe span:first-child {
	white-space: nowrap;
	/* ← 改行させない */
}

/* 2列目（住所）を少し右へ */
.donation-row-spe span:nth-child(2) {
	padding-left: 20px;
	/* ← 微調整 */
}

.title {
	font-size: 20px;
	font-weight: bold;
	color: #4ea585;
	width: 80%;
	margin: auto;
}

.square {
	color: #4ea585;
	/* ← 緑色 */
	margin-right: 5px;
}

.houjin {
	text-align: center;

}

.houjin img {
	width: 65%;
}

.blue-link {
	color: #0073aa;
	/* ← 青 */
}

.donation-header-products {
	background: #5aa382;
	color: #fff;
	grid-template-columns: 1fr 3fr 2fr;
	padding: 15px;
	font-weight: bold;
	text-align: center;
}

.pdf2 {
	color: #4ea585;
	display: flex;
	gap: 3%;
}

.syakyou-flex {
	display: flex;
	align-items: flex-start;
	/* 上揃え */
	gap: 20px;
	/* テキストと画像の間 */
}

.syakyou-flex img {
	width: 200px;
	/* サイズ調整（お好みで） */
	height: auto;
}

/* 全体 */
.card-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 75%;
	margin: 0 auto;
}

/* カード */
.card {
	background: #f3f3f3;
	border-radius: 15px;
	overflow: hidden;
}

/* 画像部分 */
.card-img {
	background: #cfcfcf;
	height: 300px;
}

/* 下のテキスト部分 */
.card-body {
	padding: 15px;
}

/* 日付 */
.date {
	font-size: 14px;
	color: #444;
	margin-bottom: 8px;
}

/* 本文 */
.text {
	display: inline;
	line-height: 1.6;
}

.donation-header-wide,
.donation-row-wide {
	display: grid;
	grid-template-columns: 4fr 2fr 2fr;
	/* ← 左を広げる＆住所も右へ */
	padding: 12px 25px;
}

.flex-around {
	display: flex;
	justify-content: space-around;
}

.max-450 {
	max-width: 450px;
}

@media only screen and (max-width: 768px) {
	.sp-w-80-auto {
		width: 80%;
		margin: auto;
	}

	.sp-w-100 {
		width: 100%;
	}

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

	.houjin img {
		width: 100%;
	}

	.bg-form {width: 100%;}
}

/* スライド */
.slider-container {
	position: relative;
	overflow: hidden;
	width: 100%;
	display: inline-block;
	z-index: 10;
	height: 31vw;
}

.slider-container-sp {
	position: relative;
	overflow: hidden;
	width: 100%;
	display: inline-block;
	z-index: 10;
	height: 92vw;
}

.slide {
	opacity: 0;
	/* 初期状態では非表示 */
	transition: opacity 1s ease-in-out;
	/* フェードのアニメーション */
	position: absolute;
	width: 100%;
}

.slide.active {
	opacity: 1;
	/* 表示するとき */
}

.slider-container img {
	width: 100%;
}

/* 左右の矢印 */
.arrow {
	position: absolute;
	top: 50%;
	font-size: 40px;
	/* 矢印のサイズ */
	color: white;
	opacity: 0.6;
	cursor: pointer;
	z-index: 3;
	transform: translateY(-50%);
}

.left-arrow {
	left: 10px;
}

.right-arrow {
	right: 10px;
}

/* 半透明の背景とホバー時に色を濃く */
.arrow:hover {
	opacity: 1;
}

/* 左右の矢印のスタイル */
.arrow {
	position: absolute;
	top: 50%;
	font-size: 30px;
	color: white;
	opacity: 0.6;
	cursor: pointer;
	z-index: 1;
}

.left-arrow {
	left: 10px;
	transform: translateY(-50%);
}

.right-arrow {
	right: 10px;
	transform: translateY(-50%);
}

/* 半透明の背景 */
.arrow:hover {
	opacity: 1;
}

.pdf-list {
	display: none;
}

.pdf-list.active {
	display: block;
}

/* news */
.nav-links {
	width: 100%;
}

#nav-links {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 5%;
}

#nav-links li {
	color: #5aa382;
}

#nav-links .current {
	background-color: #5aa382;
	color: white;
	padding: 1px 10px;
}

.flex-wrap {
	flex-wrap: wrap;
}

.align-end {align-items: flex-end !important;}

@media only screen and (max-width: 768px) {
	.slider-container {
		display: none;
	}
}

@media only screen and (min-width: 769px) {
	.slider-container-sp {
		display: none;
	}
}