@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html {
	font-size: 62.5%;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #000;
	font-size: 16px;
	font-optical-sizing: auto;
	font-family: "Noto Sans JP", serif;
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	background: #fff;
}


a:not([class]) {
	color: #1A00FF;
}

h1,
h2,
h3,
h4 {
	text-wrap: wrap;
}

img {
	display: inline-block;
	max-width: 100%;
	vertical-align: top;
}

* {
	box-sizing: border-box;
}

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

.dsp_li {
	display: inline-block !important;
}


/* --------------------
文字色
--------------------*/
.fc_01 {
	color: #CE0000;
}

/* 赤 */
.fc_02 {
	color: #4BA477;
}

/* 緑 */

/* --------------------
ボタン
--------------------*/
.btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	margin: 55px 3vw 0;
}

/* .btn_link */
.btn_link {
	display: inline-block;
	padding: 0.5em 3em 0.5em 1em;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-decoration: none;
	line-height: 1;
	cursor: pointer;
	background: url("../images/arrow_01.svg") no-repeat center right 1em / 1.2em auto, #CE0000;
}

.btn_link:hover {
	opacity: 0.75;
}

/* .btn_01 */
.btn_01 {
	min-width: 145px;
	margin: 0.5em min(27.5px, 3vw);
	padding: 0.5em 3em;
	color: #fff;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: #4BA477;
	border: 2px solid #4BA477;
}

.btn_01:hover {
	color: #4BA477;
	background: #fff;
	border: 2px solid #4BA477;
}

/* .btn_02 */
.btn_02 {
	min-width: 145px;
	margin: 0.5em min(27.5px, 3vw);
	padding: 0.5em 3em;
	color: #4BA477;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: #fff;
	border: 2px solid #4BA477;
}

.btn_02:hover {
	color: #fff;
	background: #4BA477;
	border: 2px solid #4BA477;
}

/* --------------------
見出し
--------------------*/
/* .headline_01 */
.headline_01 {
	margin: 0 0 1em;
	font-size: 36px;
	text-align: center;
}

.headline_01.bg {
	padding: 40px;
	color: #fff;
	background: linear-gradient(to right, #000000 0%, #ce0000 100%);
}

.headline_01 span {
	display: inline-block;
	font-size: 24px;
	font-weight: 500;
}

/* .headline_02 */
.headline_02 {
	margin: 1em 0 2.5em;
	font-size: 22px;
	text-align: center;
}

/* .headline_03 */
.headline_03 {
	margin: 0 0 1em;
	padding: 10px 70px;
	background: #F2F2F2;
}



/* --------------------
リスト
--------------------*/
.list_01 {
	padding: 0;
	list-style: none;
}

.list_01 li {
	margin-left: 1em;
	text-indent: -1em;
	line-height: 1.8;
}

.list_01 li::before {
	content: "・";
}


/* --------------------
.contact
--------------------*/
.contact {
	padding: 3vw;
	color: #fff;
	text-align: center;
	background: #000;
}

.contact p {
	margin: 0 0 1em 0;
	font-size: 24px;
	line-height: 1.8;
}

.contact p span {
	display: inline-block;
}

.contact .btn_link {
	padding: 0.8em 4em 0.8em 2em;
	font-size: 24px;
}




@media screen and (max-width:768px) {
	.pc {
		display: none !important
	}

	.sp {
		display: block !important
	}

	img {
		max-width: 100%;
		height: auto;
		width: auto;
	}

	body {
		min-width: auto !important;
		overflow: inherit !important;
		font-size: 3.4vw;
	}

	div,
	p,
	dd,
	dl,
	dt,
	th,
	td,
	span,
	li {
		box-sizing: border-box;
	}

	.sp_order_1 {
		order: 1;
	}

	.sp_order_2 {
		order: 2;
	}

	.btn_link {
		font-size: 4vw;
	}

	/* .btn_01 */
	.btn_01 {
		min-width: 50vw;
	}

	/* .btn_02 */
	.btn_02 {
		min-width: 50vw;
	}


	.headline_01 {
		font-size: 4.6875vw;
	}

	.headline_01.bg {
		padding: 5vw 3vw;
	}

	.headline_01 span {
		font-size: 3.125vw;
	}

	.headline_02 {
		font-size: 4vw;
	}

	.headline_03 {
		text-align: center;
	}

	.contact p {
		font-size: 3.125vw;
	}

	.contact .btn_link {
		font-size: 3.125vw;
	}

}


/* --------------------

header, footer

--------------------*/
header {
	background: #fff;
}

/* header .inner {
	width: min(100%, 1200px);
	margin: auto;
	height: 75px;
	padding: 25px 3vw 0;
	text-align: right;
} */

header.subpage h1 {
	margin: 0;
	padding: 24px 0;
	background: #4BA477;
	text-align: center;
	font-size: 36px;
	color: #FFFFFF;
}

header.subpage .breadcrumbs {
	margin: 0 auto;
	padding: 8px calc((100% - 1200px) / 2);
	display: flex;
	gap: 16px;
	list-style: none;
	border-bottom: 2px solid #4BA477;
}

header.subpage .breadcrumbs li {
	display: flex;
	gap: 16px;
}


header.subpage .breadcrumbs li::after {
	content: ">";
}

header.subpage .breadcrumbs li:last-child::after {
	content: "";
}

header.form {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 150px;
	padding: 3vw;
	background: #F2F2F2;
}

footer {
	padding: 2.5vw 3vw 4vw;
	color: #fff;
	font-size: 16px;
	text-align: center;
	background: #AAAAAA;
}

footer small {
	display: block;
	margin-bottom: 1em;
	font-size: 16px;
}

footer address {
	font-style: normal;
}

footer address span {
	display: inline-block;
}

@media screen and (max-width:768px) {
	header.subpage h1{
	   font-size:26px;
	}

	header.subpage .breadcrumbs{
		padding:8px;
		flex-wrap:wrap;
		gap:16px 8px;
	}

	footer {
		font-size: 4vw;
	}

	footer small {
		font-size: 4vw;
	}

}

/* --------------------

main

--------------------*/
main.subpage {
	padding: 16px calc((100% - 1200px) / 2);
	display: flex;
	flex-direction: column;
	gap: 24px;
}

main.subpage h2,main.subpage h3 {
	margin: 0;
	font-size: 16px;
	font-feature-settings: "palt";
}

main.subpage section {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

main.subpage p {
	margin: 0;
	word-break: break-all;
}

main.subpage a,header.subpage .breadcrumbs a {
	font-weight:500;
	color:#4BA477;
	transition:0.3s;
	text-decoration:none;
	border-bottom:1px dashed ;
}

main.subpage a:has(img){
	border-bottom:none;
}

@media (any-hover: hover){
	main.subpage a:hover,
	header.subpage .breadcrumbs a:hover {
		opacity:0.6;
	}
}

main.subpage ol {
	margin: 0;
	padding: 0 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

main.subpage ol li p {
	margin: 0;
}

main.subpage ul {
	padding: 0 0 0 2rem;
	list-style: disc;
}

main.subpage .bg_box {
	padding: 32px;
	border: 1px solid;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

main.subpage .bg_box dl {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

main.subpage .bg_box dl dt {
	font-weight: 500;
	display: flex;
	gap: 4px;
}

main.subpage .bg_box dl dt::before {
	content: "●";
}

main.subpage .bg_box dl dd ul {
	margin: 0 0 0 2rem;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

:is(main.subpage .bg_box dl, main.subpage .bg_box dt, main.subpage .bg_box dd) {
	margin: 0;
}

main.subpage table {
	width:100%;
	border:1px solid;
	border-collapse: collapse;
	overflow:hidden;
}

main.subpage table thead{
	width:100%;
	font-feature-settings: "palt";
	border-bottom:1px solid;
}

main.subpage table tr {
	border-bottom:1px solid;
}

main.subpage table th {
	padding:8px;
	background-color:#F2F2F2;
	border-right:1px solid;
	font-weight: 500;
}

main.subpage table td {
	padding:8px;
	border-right:1px solid;
	vertical-align: top;
}

@media screen and (max-width:768px){
	main.subpage {
		padding: 16px;
		font-size: 16px;
		font-feature-settings:"palt";
	}
	main.subpage .bg_box {
		padding: 16px;
	}
	main.subpage table {
		font-size:11px;
		vertical-align:top
	}
}

.text-right{
	text-align: right;
}