/* 共通 */

/* フォント */
/* R
font-family: source-han-sans-japanese, sans-serif;
font-weight: 400;
font-style: normal; */

/* B
font-family: source-han-sans-japanese, sans-serif;
font-weight: 700;
font-style: normal; */

/* VDL-LogoJr R
font-family: vdl-logojr,sans-serif;
font-weight: 400;
font-style: normal;

/* VDL-LogoJr BK
font-family: vdl-logojrblack, sans-serif;
font-weight: 900;
font-style: normal; */

html,
body {
	height: 100%;
}
body {
	background: #fff;
	color: #333;
	counter-reset: number 0;
	font-family: source-han-sans-japanese, sans-serif;
	font-size: 18px;
	line-height: 1.875;
	overflow-x: hidden;
}

*,
*:before,
*:after {
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* 追加：2025/12/16 */
.warp {
	overflow: hidden;
	position: relative;
}
.accText {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}
/* //----- 追加：2025/12/16 */

a {
	color: #e7345b;
	outline: none;
	text-decoration: underline;
}

a:hover {
	color: #4dc1ea;
	text-decoration: none;
}
a img {
	outline: none;
}
h1,
h2,
h3,
h4 {
	color: #000;
}
nav {
	background: none;
}

ul,
ol {
	margin-left: 0;
	padding-left: 0;
}
ul {
	list-style: none;
}

dl,
dt,
dd {
	margin: 0;
	padding: 0;
}
.margin-bottom {
	margin-bottom: 0.65rem;
}

img {
	border: 0;
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

.wp-block-embed {
	margin-bottom: 0 !important;
}
.wp-block-column {
	margin-bottom: 0 !important;
}
.wp-block-columns {
	margin-bottom: 0 !important;
}
figcaption {
	display: none !important;
}

.fs-17 {
	font-size: 17px;
}
.fs-16 {
	font-size: 16px;
}
.fs-12 {
	font-size: 12px;
}
.bold {
	font-weight: bold !important;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

.alignleft {
	float: left;
	margin-bottom: 30px;
	margin-right: 20px;
}

.alignright {
	float: right;
	margin-bottom: 30px;
	margin-left: 20px;
}

@media (max-width: 767px) {
	.alignleft,
	.alignright {
		display: block;
		float: none;
		margin: 0 auto;
		margin-bottom: 20px;
		width: 100%;
	}
	.alignleft img,
	.alignright img {
		margin: 0 auto;
	}
}
/* iOSでのフォーム周りデフォルトスタイルをリセット */

input[type="submit"],
input[type="button"] {
	-webkit-appearance: button;
	appearance: button;
	border: none;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}

/* ========== ========== */
/* ヘッダー
/* ========== ========== */
header {
	background: #fff45f;

	/* PC -------------------- */
	/* & .headerSmall {
		display: block;
	} */
	& .headerSmall {
		display: none;

		& .headerInner {
			/* margin-left: 10px;
			margin-top: 14px; */

			& .webName {
				margin-left: 10px;
				margin-top: 14px;
			}
			& .webName {
				margin-left: 15px;
				margin-top: 5px;
			}
		}
	}
	& .headerSmall {
		background: #fff45f url("../imgs/bg-header-3.png?date=202601061145") top
			center no-repeat;
		background-size: cover;
		height: 5.63689605vw;
		min-height: 76px;
		width: 100%;
		z-index: 10;
	}

	& .headerSmall {
		background: #fff45f url("../imgs/bg-header-2.png?date=202601061145") top
			center no-repeat;
		background: #fff45f;
		background-size: cover;
		display: none;
		left: 0;
		min-height: 45px;
		position: fixed;
		top: 0;
		width: 100%;

		& .headerInner {
			/* display: flex;
			height: 100%;
			justify-content: space-between;
			width: 100%; */
			& .smallHeadTop a {
				display: inline-block;
				height: 100%;
				margin-right: 12px;
				margin-top: 0.75vw;
				pointer-events: none;
				width: 96.33px;
			}

			& .webName {
				align-items: center;
				display: flex;
				height: 100%;
				margin-bottom: 0;
				/* margin-left: 14.934vw;
				margin-top: 0.6vw; */
				/* min-width: 100px; */
				min-width: 122.2px;
				/* width: 8.94vw; */
				width: 8.94582723279649vw;

				& a img {
					height: auto;
					width: 100%;
				}
			}
			& .siteName {
				margin-bottom: 0;
				margin-left: 0;
				margin-top: 0;
				/* min-width: 118px; */
				/* width: 15vw; */
			}
		}

		& .gnavWarp {
			opacity: 0;
			position: static !important;
			visibility: hidden;
		}
	}

	/* 共通 -------------------- */
	& .headerDefault {
		background: url("../imgs/bar.svg?date=202601061145") top center no-repeat;
		background-size: cover;
		display: block;
		height: 7vw;
		left: 0;
		min-height: 33px;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 10;

		& .headerInner {
			align-items: center;
			display: flex;
			height: 100%;
			justify-content: flex-end;
			margin-top: -0.586vw;
			padding: 0 20px;

			& p {
				margin-bottom: 0;
				margin-left: 0;
				margin-top: 0;
				min-width: 118px;
				width: 15vw;

				& a {
					cursor: pointer;
					pointer-events: auto;
				}
			}
		}
	}

	/* スマホ -------------------- */
	& .headerFixedPhone {
		display: block;
		left: 0;
		opacity: 1;
		position: fixed;
		top: 0;
		visibility: visible;
		width: 100%;
		z-index: 15;
	}
	& .headerFixedPhone {
		/* opacity: 0;
		visibility: hidden; */
		display: none;

		& .smallMenu {
			background: #fff45f;
			/* display: none; */
			height: 68px;
			left: 0;
			position: relative;
			position: sticky;
			top: 0;
			z-index: 14;
		}

		& .smallMenuInner {
			align-items: center;
			display: flex;
			height: 100%;
			justify-content: space-between;
			width: 100%;
		}

		& .smallMenuInner .smallMenuLogo {
			margin-bottom: 0;
			margin-left: 18px;
			width: 122.2px;
		}

		& .smallMenuInner span {
		}
		& .smallMenuInner span:before {
			align-items: center;
			background: #b5013f;
			color: #fff;
			content: "menu";
			cursor: pointer;
			display: flex;
			font-family: vdl-logojrblack, sans-serif;
			font-size: 16px;
			height: 68px;
			justify-content: center;
			width: 68px;
		}
	}
	& .headerFixedPhone.fixed {
		display: block;
	}
}

.single {
	& header {
		/* PC -------------------- */
		& .headerSmall {
			display: block;
		}
		& .headerSmall {
			position: static;
		}
		& .headerSmall {
			/* display: block !important;
			height: 5.63689605vw;
			min-height: 77px;  */
		}
		& .headerSmall {
			/* left: 0;
			position: fixed;
			top: 0;
			width: 100%;
			z-index: 15; */

			& .headerInner {
				/* background: #fff45f; */
				background: #fff45f;
				height: 5.63689605vw;
				min-height: 77px;

				& .smallHeadTop {
					background: #b5003f url(../imgs/bg-header-3.png) bottom center
						no-repeat;
					background-size: contain;
					display: flex;
					height: 2.92825769vw;
					justify-content: flex-end;
					min-height: 32px;

					& a {
						display: inline-block;
						height: 100%;
						margin-right: 12px;
						margin-top: 8px;
						pointer-events: auto;
						width: 96.33px;
					}
				}
			}
		}

		/* 共通 -------------------- */
		& .headerDefault {
			display: none;
			/* display: block; */
		}
	}
}

@media (min-width: 768px) {
	header {
		/* PC -------------------- */
		& .headerSmall {
			/* display: block; */
			& .headerInner {
				display: flex;
				flex-direction: row-reverse;
				height: 100%;
				justify-content: space-between;
				width: 100%;

				& .webName {
					margin-left: 14.934vw;
					margin-top: 0.6vw;
				}
			}

			& .headerInner {
				background: #fff45f url(../imgs/bg-header-2.png?date=202601061145) top
					center no-repeat;
				background-size: cover;
			}
		}

		/* スマホ -------------------- */
		& .headerFixedPhone {
			display: none !important;
		}
		& .headerFixedPhone.fixed {
			display: none !important;
		}
	}

	.single {
		& header {
			& .headerSmall {
				left: 0;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 15;

				& .headerInner {
					background: #fff45f url(../imgs/bg-header-2.png?date=202601061145) top
						center no-repeat;
					background-size: cover;
					/* background: none; */
					/* background: #fff45f; */
					height: 5.63689605vw;
					min-height: 77px;

					& .smallHeadTop {
						background: none;
						& a {
							margin-top: 0.75vw;
							/* display: inline-block;
							height: 100%;
							margin-right: 0;
							margin-top: 0;
							pointer-events: auto;
							width: auto; */
						}
					}
				}
				& .gnavWarp {
					opacity: 1;
					visibility: visible;
				}
			}
		}
	}
}

@media (min-width: 992px) {
}

/* //----- 追加：2025/12/16 */

/* @media (max-width: 767px) {
	body.single.fixed #smallHead.headerSmall {
		display: none;
	}
} */

/* .siteName {
	margin-right: 10px;
	margin-top: 0.732vw;
	width: 96.33px;
} */

.siteName a {
	pointer-events: none;
}

.spMenuHead {
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 15;
}

.spMenuHead span {
	font-size: 12px !important;
}

@media (max-width: 767px) {
	.siteName {
		/* margin-right: 10px;
		margin-top: 6px; */
		/* width: 96.33px; */
	}
}
@media (max-width: 991px) {
	.siteName a {
		cursor: pointer;
		pointer-events: auto;
	}
}

/* .smallHeadTop {
	background: #b5003f url("../imgs/bg-header-3.png?date=202601061145") bottom
		center no-repeat;
	background-size: contain;
	display: flex;
	height: 2.92825769vw;
	justify-content: flex-end;
	min-height: 32px;
}

.smallHeadTop a {
	display: inline-block;
	height: 100%;
	margin-right: 12px;
	margin-top: 0.75vw;
	pointer-events: none;
	width: 96.33px;
}

.smallHeadTop a img {
	height: auto;
	width: 96.33px;
}

.smallHeadBottom h1 {
	margin-bottom: 0;
	margin-left: 15.0073206vw;
	margin-top: -0.585651537vw;
	min-width: 122.2px;
	width: 8.94582723279649vw;
}

.smallHeadBottom h1 a img {
	height: auto;
	width: 122.2px;
} */

/* gnav */
.gnavWarp {
	background: #8bc24c;
	height: 72px;
	padding: 0 6px;
	width: 100%;
}

.gnavWarp ul {
	display: flex;
	height: 100%;
	justify-content: space-between;
	justify-content: space-evenly;
	margin-bottom: 0;
}

.gnavWarp ul li {
	font-size: 16px;
	height: 100%;
	padding-left: 5px;
	padding-right: 5px;
	transition: 0.3s;
	width: 12.5%;
}

.gnavWarp ul li.active,
.gnavWarp ul li:hover {
	background: #f29c2b;
	transition: 0.3s;
}

.gnavWarp ul li a {
	align-items: center;
	color: #fff;
	display: flex;
	font-weight: bold;
	height: 100%;
	justify-content: center;
	line-height: 1.4;
	text-decoration: none;
}

.gnavWarp ul li a span span {
	display: block;
	text-align: center;
	transition: 0.3s;
}

.gnavWarp ul li.active a,
.gnavWarp ul li:hover a {
	color: #000;
}

.gnavWarp.fixed {
	left: 0;
	position: fixed;
	top: 5.63vw;
	z-index: 15;
}

.collarBorder {
	display: flex;
	justify-content: space-between;
}

.collarBorder > div {
	display: block;
	height: 1.32vw;
	min-height: 8.5px;
	width: 100%;
}

.color-1 {
	background: #29a2c6;
}
.color-2 {
	background: #ffcb18;
}
.color-3 {
	background: #83b373;
}
.color-4 {
	background: #ff6d31;
}
.color-5 {
	background: #58355e;
}

.spMenuWarp {
	background: #8bc24c;
	display: none;
	/* height: 100%; */
	height: 100vh;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 20;
}

.spMenuHead,
.spHeadMenuInner {
	align-items: center;
	background: #fff45f;
	display: flex;
	height: 68px;
	justify-content: space-between;
	position: fixed;
	width: 100%;
	z-index: 15;
}

.spMenuLogo {
	height: 33.22px;
	margin-left: 18px;
	width: 122.2px;
}

.spMenuHead span,
.spHeadMenuInner span {
	align-items: center;
	background: #b5013f;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: vdl-logojrblack, sans-serif;
	font-size: 12px;
	height: 68px;
	justify-content: center;
	width: 68px;
}

.spMenuWarp .spMenuHead span {
	font-size: 32px !important;
}

.spMenuInner ul {
	display: none;
	margin-bottom: 0;
}

.spMenuInner ul li {
	float: left;
	line-height: 1.4;
	text-align: center;
	width: 25%;
}

.spMenuInner ul li a {
	align-items: center;
	color: #fff;
	display: flex;
	font-weight: bold;
	height: 72px;
	justify-content: center;
	text-decoration: none;
	transition: 0.3s;
	width: 100%;
}

.spMenuInner ul li a span {
	display: block;
}
.spMenuInner ul li:hover a,
.spMenuInner ul li.active a {
	background: #f29c2b;
}

.spHeadMenu {
	display: none;
}

@media (max-width: 767px) {
	/* html.is-fixed, */
	html.is-fixed body {
		/* height: 100%; */
		overflow: hidden;
	}
}

.spMenuButton {
	align-items: center;
	background: #fff45f;
	display: flex;
	height: 68px;
	justify-content: space-between;
	width: 100%;
}

.spMenuButton span {
	background: #b5013f;
	height: 68px;
	position: relative;
	width: 68px;
}

.spMenuButton span:before {
	align-items: center;
	color: #fff;
	content: "X";
	cursor: pointer;
	display: flex;
	font-family: vdl-logojrblack, sans-serif;
	font-size: 32px;
	height: 68px;
	justify-content: center;
	position: absolute;
	width: 68px;
}

.spMenuButton.open span:before {
	align-items: center;
	color: #fff;
	content: "menu";
	display: flex;
	font-family: vdl-logojrblack, sans-serif;
	font-size: 16px;
	height: 68px;
	justify-content: center;
	position: absolute;
	width: 68px;
}

@media (max-width: 1346px) {
	.gnavWarp {
		height: 144px;
	}
	.gnavWarp ul {
		flex-wrap: wrap;
	}
	.gnavWarp ul li {
		height: 72px;
		width: 25%;
	}
}

@media (max-width: 1239px) {
	.gnavWarp {
		height: 144px;
	}
	.gnavWarp ul {
		display: flex;
		flex-wrap: wrap;
		height: 100%;
	}
}

@media (max-width: 991px) {
	body.home .gnavWarp {
		display: block;
	}
}

@media (max-width: 767px) {
	.gnavWarp {
		display: none;
	}
	.spMenuInner ul li {
		line-height: 1.4;
		text-align: center;
		width: 50%;
	}
	.gnavWarp {
		height: 288px;
		padding: 0 0;
	}
	.gnavWarp ul li {
		width: 50%;
	}
	.gnavWarp.fixed {
		position: static;
	}
}

/* footer */

footer {
	background: #b5013f;
	padding: 60px 0;
}

.policyLink {
	display: block;
	text-align: center;
}

.policyLink a {
	color: #fff;
	font-size: 16px;
}

.footerContents ul {
	color: #fff;
	font-weight: bold;
	margin-top: 40px;
}

.footerContents p {
	color: #fff;
	font-size: 14px;
}

.footerCopyright {
	color: #fff;
	font-size: 12px;
	margin-bottom: 0;
	margin-top: 30px;
	text-align: center;
}

.footerAddress {
}
.footerAddress dl {
	margin-top: 40px;
}

.footerAddress dl dt {
	color: #fff;
}

.footerAddress dl dd {
	color: #fff;
	font-size: 14px;
	line-height: 1.6;
	margin-top: 10px;
}

.footerAddress dl dd a {
	color: #fff;
	pointer-events: none;
	text-decoration: none;
}

@media (max-width: 767px) {
	footer {
		padding: 40px 0;
	}
	.footerContents ul {
		font-size: 15px;
		margin-top: 20px;
	}
	.footerContents p {
		display: block;
		font-size: 14px;
		line-height: 1.4;
	}
	.footerCopyright {
		margin-top: 10px;
	}
	.footerAddress dl {
		margin-top: 20px;
	}
	.footerAddress dl dt {
		font-size: 15px;
	}
	.footerAddress dl dd a {
		pointer-events: auto;
		text-decoration: underline;
	}
	.footerAddress dl dd a:hover {
		text-decoration: none;
	}
}

/* article */

article {
	padding-top: 10.9077599vw;
}
body.home article {
	padding-top: 0;
}

.articleInner {
	background: url("../imgs/star.svg?date=202601061145") top center no-repeat;
	margin-top: 60px;
	padding-bottom: 130px;
}

.articleInner .section {
	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
}

.articleInner .section h1 {
	background: url("../imgs/heading_bottom.png?date=202601061145") bottom center
		no-repeat;
	background-size: 57px;
	color: #e7345b;
	font-family: vdl-logojr, sans-serif;
	font-size: 44px;
	font-style: normal;
	/* font-family: vdl-logojrblack, sans-serif; */
	font-weight: 900;
	line-height: 1.4;
	margin: 15px 0 30px 0;
	padding-bottom: 22px;
	text-align: center;
}

.articleInner .section h2 {
	background: #fff45f;
	border-radius: 10px;
	color: #333;
	font-family: vdl-logojr, sans-serif;
	font-size: 28px;
	font-style: normal;
	/* font-family: vdl-logojrblack, sans-serif; */
	font-weight: 800;
	line-height: 1.4;
	margin: 40px 0 20px 0;
	padding: 10px 20px;
}

.articleInner .section h3 {
	border-bottom: #e8e8e8 solid 5px;
	color: #29a2c6;
	font-size: 24px;
	line-height: 1.4;
	margin: 40px 0 20px 0;
	padding: 0 10px 18px;
}

.articleInner .section table {
	background: #fff;
	border-top: #e8e8e8 solid 1px;
	width: 100%;
}

.articleInner .section table tr {
	border-bottom: #e8e8e8 solid 1px;
}

.articleInner .section table th {
	background: #fdf3d0;
	padding: 10px 15px;
	width: 25%;
}

.articleInner .section table td {
	padding: 10px 15px;
}

.articleInner .section ul {
	margin-bottom: 10px;
	margin-left: 12px;
}

.articleInner .section ul li {
	background: url("../imgs/list_yellow.png?date=202601061145") top 6px left
		no-repeat;
	margin-bottom: 5px;
	padding-left: 25px;
}

.articleInner .section ol {
	margin-bottom: 10px;
	margin-left: 37px;
}

.articleInner .section ol li {
	margin-bottom: 5px;
}

.articleInner .section ul li ol,
.articleInner .section ol li ol {
	margin-left: 0;
	margin-top: 5px;
}

.articleInner .section ul li ol li,
.articleInner .section ol li ol li {
	counter-increment: cnt;
	list-style: none;
	list-style-position: inside;
	margin-left: 1.5em;
}

.articleInner .section ul li ol li:before,
.articleInner .section ol li ol li:before {
	content: "(" counter(cnt) ") ";
	display: inline-block;
	margin-left: -1.5em; /* サイトに合せて調整 */
	width: 1.5em; /* サイトに合せて調整 */
}

.articleInner .section .caption p {
	font-size: 12px !important;
	line-height: 1.4;
	margin-bottom: 0;
	margin-top: 10px;
	text-align: center;
}

.articleInner .section hr {
	border: none;
	clear: both;
	display: block;
	float: none;
	overflow: hidden;
}

img.align-center {
	margin: 0 auto;
}

@media (max-width: 1346px) {
	article {
		padding-top: calc(10.9077599vw + 144px);
	}
}

@media (max-width: 767px) {
	article {
		padding-top: 5.63689605vw;
	}
	.articleInner {
		margin-top: 30px;
		padding-bottom: 60px;
	}
	.articleInner .section {
		padding-left: 0;
		padding-right: 0;
	}
	.articleInner .section h1 {
		font-size: 40px;
		margin: 15px 0 15px 0;
	}
	.articleInner .section h2 {
		font-size: 24px;
	}
	.articleInner .section h3 {
		font-size: 20px;
		margin: 30px 0 15px 0;
		padding: 0 10px 10px;
	}
	.articleInner .section p {
		font-size: 17px !important;
	}
	.articleInner .section ul,
	.articleInner .section ol {
		font-size: 17px;
	}
	.articleInner .section table {
		font-size: 16px;
		white-space: nowrap;
		width: 100%;
	}
	.scroll {
		overflow: auto;
		white-space: nowrap;
	}
	.scroll::-webkit-scrollbar {
		height: 5px;
	}
	.scroll::-webkit-scrollbar-track {
		background: #f1f1f1;
	}
	.scroll::-webkit-scrollbar-thumb {
		background: #bcbcbc;
	}
}

/* リンク無効化 */

/* .gnavWarp ul li a {
 pointer-events: none!important;
 opacity: 0.75;
}

.newsBox ul li a {
 pointer-events: none!important;
}

.policyLink a {
 pointer-events: none!important;
 text-decoration: none!important;
}

.headerInner h1 a {
 pointer-events: none!important;
}

.siteName a {
 pointer-events: none!important;
}

.spMenuInner ul li a {
 pointer-events: none!important;
 opacity: 0.75;
}

.gnavWarp ul li:hover {
 background: #8BC24C!important;
}

.gnavWarp ul li:hover a span {
 color: #fff!important;
}

.spMenuInner ul li:hover a {
 background: #8BC24C!important;
}

.spMenuInner ul li:hover a span {
 color: #fff!important;
} */

.flexCenter {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-left: 0 !important;
}

.gridCenter {
	align-items: center;
	display: grid;
	justify-content: center;
	justify-items: center;
	margin-left: 0 !important;
}
