@charset "utf-8";
*, *::before, *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	/* 10px = 1rem にするための設定 */
	height: 100%;
}
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	height: 100%;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-size: inherit;
}
ol, ul {
	list-style: none;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
}
input, button, textarea, select {
	font: inherit;
	color: inherit;
	background: none;
	border: none;
}
button {
	cursor: pointer;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* 追加のアクセシビリティ向上のための設定 */
:focus {
	outline: 2px solid #4d90fe;
	outline-offset: 1px;
}

/* 印刷時のスタイル */
@media print {
	body {
		background-color: #fff;
	}
}

@media print, screen and (min-width : 768px) {
	.wrap2025 ul, .wrap2025 li {
		margin: 0;
		padding: 0;
	}
	.wrap2025 {
		background: #d2e1f0;
		font-size: 16px;
		box-sizing: border-box;
	}
	.wrap2025 .container {
		margin: 100px auto 100px;
		border-radius: 6px;
		background: #d2e1f0;
	}
	.wrap2025 main {
		padding: 20px;
	}
	.wrap2025 section {
		margin: 20px 0;
		padding: 20px;
		background: #fff;
		border-radius: 6px;
	}
	.sep {
		margin-bottom: 2em;
	}
	p + p {
		margin-top: 1em;
	}
	.wrap2025 .center {
		text-align: center;
	}
	.wrap2025 a:hover {
		opacity: 0.6;
	}
	.wrap2025 .important {
		text-align: center;
		color: #dc6986;
		border: 3px solid #dc6986;
		border-radius: 6px;
	}
	.wrap2025 .important02 {
		text-align: center;
		color: #333333;
		font-weight: bold;
		font-size: 20px;
	}
	.menulist {
		border: 4px solid #054994;
		background: #fff;
		width: 100%;
		margin: auto;
		padding: 20px;
		border-radius: 6px;
		box-sizing: border-box;
		color: #333;
		font-weight: bold;
	}
	.menulist ul {
		margin: 0;
		padding: 0 40px;
	}
	.menulist ul li {
		list-style-type: decimal-leading-zero;
		margin: 0;
		padding: 0 5px;
	}
	.menulist a {
		color: #333;
		text-decoration: none;
		font-weight: bold;
	}
	.menulist a span {
		color: #054994;
	}
	/*リンクボタン*/
	.btn_cv {
		max-width: 700px;
		margin: auto;
		width: 100%;
		height: auto;
	}
	.btn_cv img {
		width: 100%;
		height: auto;
	}
	.btn_cv a {
		color: #333;
		display: inline-block;
	}
	.btn_normal {
		margin: 10px 0;
		transition: all 0.3s ease;
	}
	.btn_normal a {
		color: #555;
		border: 1px solid #aaa;
		font-size: 16px;
		text-align: center;
		padding: 8px 20px;
		border-radius: 4px;
		display: inline-block;
		text-decoration: none;
		background-color: #f8f8f8;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
		transition: all 0.3s ease;
	}
	.btn_normal a:hover {
		background-color: #f0f0f0;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
		transform: translateY(-1px);
	}
	.btn_normal a:active {
		transform: translateY(1px);
		box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
	}
	/*hタグ*/
	.wrap2025 h1 {
		margin: 0 0 20px;
		padding: 0 0 0 20px;
		background: linear-gradient(127deg, rgba(11, 168, 230, 1) 0%, rgba(87, 199, 133, 1) 79%, rgba(191, 255, 0, 1) 100%);
		border-radius: 6px;
		display: table;
		width: 100%;
		height: auto;
	}
	.wrap2025 h1 img {
		margin: 10px 0 0;
		padding: 0;
		width: 100%;
		max-width: 300px;
		height: auto;
	}
	.wrap2025 h1 p:first-child {
		width: 60%;
		padding: 0;
		font-size: 38px;
		color: #fff;
		font-weight: bold;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
		line-height: 1.4;
	}
	.wrap2025 h1 p {
		display: table-cell;
		vertical-align: middle;
		margin: 0 !important;
		padding: 0 !important;
	}
	.wrap2025 h1 span {
		color: #fff;
		font-size: 60%;
		display: block;
		padding-top: 10px;
	}
	.wrap2025 h1 span em {
		margin: 0 5px;
		padding: 5px 10px 0px;
		background: #fff;
		color: #333;
		display: inline-block;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	}
	.wrap2025 h2 span, .wrap2025 h3 span {
		color: #333;
		font-size: 90%;
	}
	.wrap2025 h2 {
		font-size: 28px;
		font-weight: bold;
		text-align: center;
		border: none;
		margin: 20px 0 10px;
		padding: 0;
	}
	.wrap2025 h3 {
		font-size: 20px;
	}
	.wrap2025 h4 {
		font-size: 16px;
	}
	.wrap2025 h3, .wrap2025 h4 {
		font-weight: bold;
		text-align: center;
		border: none;
		margin: 0 !important;
		padding: 0 20px !important;
	}
	/*FAQ*/
	.wrap2025 .faq {
		width: 90%;
		margin: 20px auto;
		font-family: Arial, sans-serif;
		border: 1px solid #ddd;
		border-radius: 5px;
		overflow: hidden;
	}
	.wrap2025 .faq input[type="checkbox"] {
		display: none;
	}
	.wrap2025 .faq label {
		display: block;
		background: #f5f5f5;
		padding: 15px 40px 15px 15px;
		cursor: pointer;
		font-weight: bold;
		border-bottom: 1px solid #ddd;
		position: relative;
	}
	.wrap2025 .faq label:hover {
		background: #eaeaea;
	}
	.wrap2025 .faq label::after {
		content: "+";
		position: absolute;
		right: 15px;
		color: #555;
		font-size: 18px;
		transition: transform 0.3s ease;
	}
	.wrap2025 .faq .content {
		height: 0;
		overflow: hidden;
		transition: height 0.3s ease, padding 0.3s ease;
		background: #fff;
		padding: 0 15px;
		border-bottom: 1px solid #ddd;
	}
	.wrap2025 .faq input[type="checkbox"]:checked ~ label::after {
		content: "-";
		color: #555;
	}
	.wrap2025 .faq input[type="checkbox"]:checked ~ .content {
		height: auto;
		padding: 15px;
	}
	ul.risk {
		display: table;
		width: 100%;
		border-collapse: separate;
		border-spacing: 10px;
		padding: 0 40px;
	}
	ul.risk > li {
		text-align: center;
		display: table-cell;
		width: 25%;
		margin: 20px;
		padding: 10px;
		border: 1px solid #ccc;
		border-radius: 6px;
		background: #eee;
	}
	ul.risk > li > ul > li {
		font-size: 12px;
		text-align: left;
		padding: 0 10px;
	}
	ul.risk > li > ul > li:before {
		content: "・";
	}
	.wrap2025 ul.risk > li img {
		width: 100%;
		max-width: 200px;
		margin: auto;
		padding: 0;
	}
	.styled-faq {
		width: 100%;
		margin: 0px auto;
		border-radius: 10px;
		overflow: hidden;
		padding: 20px;
	}
	.styled-faq dt {
		font-weight: bold;
		margin-top: 0;
		padding: 0px 15px;
		cursor: pointer;
		border-radius: 5px;
		position: relative;
		transition: background-color 0.3s ease;
	}
	.styled-faq dt::before {
		content: counter(question-number) ". ";
		counter-increment: question-number;
		position: absolute;
		left: 0px;
		color: #444;
		font-weight: bold;
	}
	.styled-faq {
		counter-reset: question-number;
	}
	.styled-faq dd {
		margin: 10px;
		padding: 5px 15px;
		border-left: 3px solid #dc6986;
		line-height: 1.6;
	}
	/*カウントダウン*/
	.countdown {
		width: 100%;
		font-size: 36px;
		font-weight: bold;
		color: yellow;
		margin: 15px auto;
		padding: 10px;
		text-align: center;
		background: #222;
		background-image: repeating-linear-gradient(90deg, yellow, yellow 10px, transparent 10px, transparent 20px), repeating-linear-gradient(90deg, yellow, yellow 10px, transparent 10px, transparent 20px);
		background-position: left top, left bottom;
		background-repeat: repeat-x, repeat-x;
		background-size: 100% 5px, 100% 5px;
	}
	.countdown-mini {
		font-size: 26px;
	}
	.ended {
		font-size: 16px;
		font-weight: bold;
		color: #e74c3c;
		padding: 15px;
		border-radius: 5px;
	}
	.countdown-days {
		font-size: 50px;
		font-weight: bold;
		color: yellow;
		padding: 15px;
		border-radius: 5px;
		margin: 0 5px;
		display: inline-block;
		animation: pulse 2s infinite;
		}
	ul.safely {
		margin: 20px 0;
		display: table;
		width: 100%;
		border-collapse: separate;
		border-spacing: 10px 0;
	}
	ul.safely li {
		display: table-cell;
		width: 25%;
		padding: 10px;
		font-size: 14px;
	}
	ul.safely li img {
		width: auto;
		height: 150px;
		margin: 0 auto 10px;
	}
	.bg_bl {
		text-align: center;
		vertical-align: middle;
		background: #333;
		border-radius: 6px;
		font-size: 16px !important;
		padding: 10px;
		color: #fff;
		position: relative;
	}
	.bg_bl::after {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -10px;
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 12px solid #333;
	}
	.bg_bl span {
		color: yellow;
	}
	.disposal_method {
		width: 100%;
		counter-reset: number;
	}
	.disposal_method td {
		background: #fff;
		border: 1px solid #ccc;
		width: 25%;
		padding: 10px;
		text-align: center;
	}
	.disposal_method thead td {
		background: #ccc;
	}
	.disposal_method tbody td {
		font-size: 12px;
		font-weight: normal;
	}
	.disposal_method tbody td:first-child {
		background: #eee;
		line-height: 1.4;
	}
	.disposal_method tbody td:first-child::before {
		counter-increment: number 1;
		content: counter(number);
		display: block;
		width: 1.8em;
		height: 1.8em;
		line-height: 1.8em;
		background: #054994;
		color: #fff;
		font-weight: bold;
		text-align: center;
		border-radius: 50%;
		margin: 0 auto 5px;
		font-size: 1em;
		box-shadow: 0 2px 5px rgba(70, 137, 242, 0.12);
		vertical-align: middle;
	}
	.disposal_method tbody td:first-child span {
		font-size: 16px;
		font-weight: bold;
		display: block;
	}
	.verygood_point {
		background: #c91d1d !important;
		color: yellow;
	}
	.good_point {
		color: #c91d1d;
		font-size: 30px !important;
	}
	.bad_point {
		color: #054994;
		font-size: 30px !important;
	}
	.normal_point {
		font-size: 30px !important;
	}
	.supplement {
		color: #333;
		font-size: 12px;
		background: #eee;
		margin-top: 10px;
		padding: 10px;
		border-radius: 6px;
		line-height: 1.4;
		display: block;
		text-align: left;
	}
	.col3{
		width: 30%!important;
		background: #eee;
		border-radius: 6px;
	}
	.col3 img{
		border-radius: 6px;
	}
}
@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}


@media only screen and (max-width:767px)  {
	.wrap2025 ul, .wrap2025 li {
		margin: 0;
		padding: 0;
	}
	.wrap2025 {
		background: #d2e1f0;
		font-size: 16px;
		box-sizing: border-box;
	}
	.wrap2025 .container {
		margin: 20px auto;
		border-radius: 6px;
		background: #d2e1f0;
	}
	.wrap2025 main {
		padding:0 20px;
	}
	.wrap2025 section {
		margin: 20px 0;
		padding: 20px;
		background: #fff;
		border-radius: 6px;
	}
	.sep {
		margin-bottom: 2em;
	}
	p + p {
		margin-top: 1em;
	}
	.wrap2025 .center {
		text-align: center;
	}
	.wrap2025 a:hover {
		opacity: 0.6;
	}
	.wrap2025 .important {
		text-align: center;
		color: #dc6986;
		border: 3px solid #dc6986;
		border-radius: 6px;
	}
	.wrap2025 .important02 {
		text-align: center;
		color: #333333;
		font-weight: bold;
		font-size: 16px;
	}
	.wrap2025 p{ line-height: 1.6;}
	.menulist {
		border: 4px solid #054994;
		background: #fff;
		width: 100%;
		margin: auto;
		padding: 10px;
		border-radius: 6px;
		box-sizing: border-box;
		color: #333;
		font-weight: bold;
	}
	.menulist ul {
		margin: 0;
		padding: 0 0 0 30px;
	}
	.menulist ul li {
		list-style-type: decimal-leading-zero;
		margin: 0;
		padding:5px;
	}
	.menulist a {
		color: #333;
		text-decoration: none;
		font-weight: bold;
	}
	.menulist a span {
		color: #054994;
	}
	/*リンクボタン*/
	.btn_cv {
		max-width: 80%;
		margin: auto;
		width: 100%;
		height: auto;
	}
	.btn_cv img {
		width: 100%;
		height: auto;
	}
	.btn_cv a {
		color: #333;
		display: inline-block;
	}
	.btn_normal {
		margin: 10px 0;
		transition: all 0.3s ease;
	}
	.btn_normal a {
		color: #555;
		border: 1px solid #aaa;
		font-size: 16px;
		text-align: center;
		padding: 8px 20px;
		border-radius: 4px;
		display: inline-block;
		text-decoration: none;
		background-color: #f8f8f8;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
		transition: all 0.3s ease;
	}
	.btn_normal a:hover {
		background-color: #f0f0f0;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
		transform: translateY(-1px);
	}
	.btn_normal a:active {
		transform: translateY(1px);
		box-shadow: 0 0 2px rgba(0, 0, 0, 0.1);
	}
	/*hタグ*/
	.wrap2025 h1 {
		margin: 0 0 20px;
		padding: 10px;
		background: linear-gradient(127deg, rgba(11, 168, 230, 1) 0%, rgba(87, 199, 133, 1) 79%, rgba(191, 255, 0, 1) 100%);
		border-radius: 6px;
		display: table;
		width: 100%;
		height: auto;
	}
	.wrap2025 h1 img {
		margin: 10px auto 0;
		padding: 0;
		width: 70%;
		height: auto;
	}
	.wrap2025 h1 p:first-child {
		width: 100%;
		padding: 0;
		font-size: 20px;
		color: #fff;
		font-weight: bold;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
		line-height: 1.4;
	}
	.wrap2025 h1 p {
		margin: 0;
		padding: 0;
	}
	.wrap2025 h1 span {
		color: #fff;
		font-size: 80%;
		display: block;
		padding-top: 10px;
	}
	.wrap2025 h1 span em {
		margin: 0 5px 5px;
		padding:5px 5px 0;
		background: #fff;
		color: #333;
		display: inline-block;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
		font-size: 24px;
	}
	.wrap2025 h2 span, .wrap2025 h3 span {
		color: #333;
		font-size: 90%;
	}
	.wrap2025 h2 {
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		border: none;
		margin: 20px 0 10px;
		padding: 0;
	}
	.wrap2025 h3 {
		font-size: 16px;
	}
	.wrap2025 h4 {
		font-size: 16px;
	}
	.wrap2025 h3, .wrap2025 h4 {
		font-weight: bold;
		text-align: center;
		border: none;
		margin: 0 !important;
		padding: 0 20px !important;
	}
	
	/*FAQ*/
	.wrap2025 .faq {
		width: 90%;
		margin: 20px auto;
		font-family: Arial, sans-serif;
		border: 1px solid #ddd;
		border-radius: 5px;
		overflow: hidden;
	}
	.wrap2025 .faq input[type="checkbox"] {
		display: none;
	}
	.wrap2025 .faq label {
		display: block;
		background: #f5f5f5;
		padding: 15px 40px 15px 15px;
		cursor: pointer;
		font-weight: bold;
		border-bottom: 1px solid #ddd;
		position: relative;
	}
	.wrap2025 .faq label:hover {
		background: #eaeaea;
	}
	.wrap2025 .faq label::after {
		content: "+";
		position: absolute;
		right: 15px;
		color: #555;
		font-size: 18px;
		transition: transform 0.3s ease;
	}
	.wrap2025 .faq .content {
		height: 0;
		overflow: hidden;
		transition: height 0.3s ease, padding 0.3s ease;
		background: #fff;
		padding: 0 15px;
		border-bottom: 1px solid #ddd;
	}
	.wrap2025 .faq input[type="checkbox"]:checked ~ label::after {
		content: "-";
		color: #555;
	}
	.wrap2025 .faq input[type="checkbox"]:checked ~ .content {
		height: auto;
		padding: 15px;
	}
	ul.risk {
		width: 100%;
		padding: 0;
	}
	ul.risk > li {
		width: 100%;
		text-align: center;
		margin:10px 0px;
		padding: 10px;
		border: 1px solid #ccc;
		border-radius: 6px;
		background: #eee;
	}
	ul.risk > li > ul > li {
		font-size: 12px;
		text-align: left;
		padding: 0;
		line-height: 1.6;
	}
	ul.risk > li > ul > li:before {
		content: "・";
	}
	.wrap2025 ul.risk > li img {
		width: 100%;
		max-width: 200px;
		margin: auto;
		padding: 0;
	}
	.styled-faq {
		width: 100%;
		margin: 0px auto;
		border-radius: 10px;
		overflow: hidden;
		padding: 20px;
	}
		.styled-faq dt {
			font-weight: bold;
			margin-top: 0;
			padding: 0px 5px;
			cursor: pointer;
			border-radius: 6px;
			position: relative;
			transition: background-color 0.3s ease;
		}
		.styled-faq dt::before {
			content: counter(question-number) ". ";
			counter-increment: question-number;
			position: absolute;
			left: 0px;
			color: #444;
			font-weight: bold;
		}
		.styled-faq {
			counter-reset: question-number;
		}
		.styled-faq dd {
			margin: 5px;
			padding: 0;
			border-left: 3px solid #dc6986;
			line-height: 1.6;
		}
		/*カウントダウン*/
		.countdown {
			width: 100%;
			font-size: 16px;
			font-weight: bold;
			color: yellow;
			margin: 15px auto;
			padding: 10px;
			text-align: center;
			background: #222;
			background-image: repeating-linear-gradient(90deg, yellow, yellow 10px, transparent 10px, transparent 20px), repeating-linear-gradient(90deg, yellow, yellow 10px, transparent 10px, transparent 20px);
			background-position: left top, left bottom;
			background-repeat: repeat-x, repeat-x;
			background-size: 100% 5px, 100% 5px;
		}
		.countdown-mini {
			font-size: 12px;
		}
		.ended {
			font-size: 16px;
			font-weight: bold;
			color: #e74c3c;
			padding: 15px;
			border-radius: 5px;
		}
		.countdown-days {
			font-size: 30px;
			font-weight: bold;
			color: yellow;
			padding: 0;
			border-radius: 5px;
			margin: 0 5px;
			display: inline-block;
			animation: pulse 2s infinite;
		}
		/* ベーステーブルスタイル */
		.disposal_method {
			width: 100%;
			counter-reset: number;
		}
		.disposal_method td {
			background: #fff;
			border: 1px solid #ccc;
			width: 25%;
			padding: 10px;
			text-align: center;
			vertical-align: top;
		}
		.disposal_method thead td {
			background: #ccc;
		}
		.disposal_method tbody td {
			font-size: 12px;
			font-weight: normal;
		}
		.disposal_method tbody td:first-child {
			background: #eee;
			line-height: 1.4;
		}
		.disposal_method tbody td:first-child::before {
			counter-increment: number 1;
			content: counter(number);
			display: block;
			width: 1.8em;
			height: 1.8em;
			line-height: 1.8em;
			background: #054994;
			color: #fff;
			font-weight: bold;
			text-align: center;
			border-radius: 50%;
			margin: 0 auto 5px;
			font-size: 1em;
			box-shadow: 0 2px 5px rgba(70, 137, 242, 0.12);
			vertical-align: middle;
		}
		.disposal_method tbody td:first-child span {
			font-size: 16px;
			font-weight: bold;
			display: block;
		}
		.disposal_method td[data-label]::before {
			content: attr(data-label) "：";
			font-weight: bold;
			color: #174F8A;
			font-size: 12px;
			display: block;
		}
		ul.safely {
			margin: 20px 0;
			width: 100%;
			display: block;
		}
		ul.safely li {
			width: 100%;
			display: block;
			padding: 10px;
			font-size: 14px;
		}
		ul.safely li img {
			width: auto;
			height: 150px;
			margin: 0 auto 10px;
		}
		.bg_bl {
			text-align: center;
			vertical-align: middle;
			background: #333;
			border-radius: 6px;
			font-size: 16px !important;
			padding: 10px;
			color: #fff;
			position: relative;
		}
		.bg_bl::after {
			content: "";
			position: absolute;
			left: 50%;
			transform: translateX(-50%);
			bottom: -10px;
			width: 0;
			height: 0;
			border-left: 10px solid transparent;
			border-right: 10px solid transparent;
			border-top: 12px solid #333;
		}
		.bg_bl span {
			color: yellow;
		}
		.verygood_point {
			background: #c91d1d !important;
			color: yellow;
		}
		.good_point {
			color: #c91d1d;
			font-size: 16px !important;
		}
		.bad_point {
			color: #054994;
			font-size: 16px !important;
		}
		.normal_point {
			font-size: 16px !important;
		}
		.supplement {
			color: #333;
			font-size: 12px!important;
			background: #eee;
			margin-top: 10px;
			padding: 10px;
			border-radius: 6px;
			line-height: 1.4;
			display: block;
			text-align: center;
		}
	.btn001 a + a {margin-top: 20px;}
	.col3{
		background: #eee;
		border-radius: 6px;
		margin: 10px 0!important;
	}
	.col3 img{
		border-radius: 6px;
	}
}