@charset "utf-8";

/* ==================================================

	WEB FONTS
	[ Japanese ] Noto Sans JP 400,500,700
	[ English ] Oswald 500
	[ English ] Sen 500,700
*/

/* ==================================================

	CONFIG

*/
:root {
	--color-standard: #007a00;
	--color-standard-light: #3c9a46;
	--color-standard-bright: #a4e56e;
	--color-blue-pure: #259cfe;
	--color-orange-pure: #ee7700;
	--color-gray: #eaeef0;
	--color-gray-hover: #d5dee0;
	--color-bg: #f6f7e6;
	--color-red: #e0301d;
	--color-price: #cf294a;
	--icon-arrow-down: "\e900";
	--icon-arrow-next: "\e901";
	--icon-arrow-prev: "\e902";
	--icon-arrow-up: "\e903";
}

/* ==================================================

	YakuHan FONTS

*/
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/YakuHanJPs-Regular.woff2") format("woff2");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f,
    U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b,
    U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/YakuHanJPs-Medium.woff2") format("woff2");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f,
    U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b,
    U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/YakuHanJPs-Bold.woff2") format("woff2");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f,
    U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b,
    U+ff5d;
}

/* ==================================================

	ICON FONTS

*/
@font-face {
	font-family: 'icon';
	src: url('../fonts/icon.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icon' !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}
.icon-arrow-down:before {
	content: var(--icon-arrow-down);
}
.icon-arrow-next:before {
	content: var(--icon-arrow-next);
}
.icon-arrow-prev:before {
	content: var(--icon-arrow-prev);
}
.icon-arrow-up:before {
	content: var(--icon-arrow-up);
}

/* ==================================================

	RESET

*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	background-color: transparent;
	background-repeat: no-repeat;
	text-decoration: none;
	text-indent: 0;
	text-transform: none;
	font-style: normal;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
	color: inherit;
}
html, body {
	width: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
table {
	border-collapse: collapse;
}
ul {
	list-style-type: none;
}
img {
	display: block;
}
iframe {
	display: block;
	border: 0;
	outline: none;
}
input, select, textarea, button {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	border-radius: 0;
	resize: none;
}
*:disabled {
	cursor: default;
}

/* ==================================================

	PLACEHOLDER

*/
::placeholder {
	color: #ccc;
}
::-ms-input-placeholder {
	color: #ccc;
}
:-ms-input-placeholder {
	color: #ccc;
}

/* ==================================================

	HTML

*/
html {
	overflow-y: scroll;
	font-size: 10px;
}
body {
	font-family: "YakuHanJPs", "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: break-all;
}

/* ==================================================

	MAIN

*/
main {
	padding-top: 90px;
}
@media only screen and (max-width: 768px) {
	main {
		padding-top: 60px;
	}
}

/* ==================================================

	POPUP

*/
main.popup {
	margin: 0 auto;
	padding: 80px 50px 30px 50px;
	max-width: 900px;
}
.popup-copyright {
	display: block;
	margin-top: 50px;
	font-size: 12px;
	line-height: 1.5;
}

/* ==================================================

	SUP

*/
sup {
	font-size: 50%;
}

/* ==================================================

	IMG

*/
img.img,
svg.img {
	width: 100%;
	height: auto;
}

/* ==================================================

	HR

*/
hr.hr {
	border: 0;
	border-top: 1px solid #ccc;
}
hr.hr-black {
	border: 0;
	border-top: 1px solid #000;
}

/* ==================================================

	A / BUTTON

*/
a,
button {
	cursor: pointer;
}
button:disabled {
	pointer-events: none;
}

a[href="#"],
a[href=""] {
	text-decoration: none;
	pointer-events: none;
	opacity: 0.3 !important;
}

/* ==================================================

	FX
*/
.js-fx-fade {
	opacity: 0;
	transition: opacity 1.2s linear;
}
.js-fx-fade.inview {
	opacity: 1;
}
.js-fx-fade-up {
	transform: translateY(30px);
	opacity: 0;
	transition: transform 0.8s ease 0.1s, opacity 0.8s ease 0.1s;
}
.js-fx-fade-up.inview {
	transform: translateY(0px);
	opacity: 1;
}
.js-fx-zoomout {
	transform: scale(1.1);
	opacity: 0;
	transition: transform 1.2s ease, opacity 1.2s ease;
}
.js-fx-zoomout.inview {
	transform: scale(1);
	opacity: 1;
}

/* ==================================================

	SECTION

*/
.section {
	margin-top: 100px;
}
.l-header-kv + .container .section:first-child,
.l-header-kv + .container-middle .section:first-child,
.c-heading-content + .section {
	margin-top: 50px;
}
@media only screen and (max-width: 768px) {
	.section {
		margin-top: 60px;
	}
	.l-header-kv + .container .section:first-child,
	.l-header-kv + .container-middle .section:first-child,
	.c-heading-content + .section {
		margin-top: 35px;
	}
}

/* ==================================================

	CONTAINER

*/
.container,
.container-middle,
.container-short {
	box-sizing: content-box;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-left: 50px;
	padding-right: 50px;
}
.container {
	max-width: 1160px;
}
.container-middle {
	max-width: 960px;
}
.container-short {
	max-width: 820px;
}
.container .container,
.container .container-middle,
.container .container-short,
.container-middle .container-short {
	padding-left: 0;
	padding-right: 0;
}
@media only screen and (max-width: 768px) {
	.container,
	.container-middle,
	.container-short {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ==================================================

	VISIBLE

*/
@media only screen and (min-width: 981px) {
	.visible-tb {
		display: none;
	}
}
@media only screen and (min-width: 769px) {
	.visible-sp {
		display: none;
	}
}
@media only screen and (max-width: 768px) {
	.visible-pc {
		display: none;
	}
}

/* ==================================================

	HIDDEN

*/
@media only screen and (max-width: 768px) {
	.hidden-sp {
		display: none;
	}
}
@media only screen and (max-width: 980px) {
	.hidden-tb {
		display: none;
	}
}
@media only screen and (min-width: 769px) {
	.hidden-pc {
		display: none;
	}
}

/* ==================================================

	WIDTH

*/
[class^="w-"], [class*=" w-"] {
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

.w-5 { max-width: calc(1160 / 10 * 0.5 * 1px); } /* 58px */
.w-10 { max-width: calc(1160 / 10 * 1 * 1px); } /* 116px */
.w-15 { max-width: calc(1160 / 10 * 1.5 * 1px); } /* 174px */
.w-20 { max-width: calc(1160 / 10 * 2 * 1px); } /* 232px */
.w-25 { max-width: calc(1160 / 10 * 2.5 * 1px); } /* 290px */
.w-30 { max-width: calc(1160 / 10 * 3 * 1px); } /* 348px */
.w-35 { max-width: calc(1160 / 10 * 3.5 * 1px); } /* 406px */
.w-40 { max-width: calc(1160 / 10 * 4 * 1px); } /* 464px */
.w-45 { max-width: calc(1160 / 10 * 4.5 * 1px); } /* 522px */
.w-50 { max-width: calc(1160 / 10 * 5 * 1px); } /* 580px */
.w-55 { max-width: calc(1160 / 10 * 5.5 * 1px); } /* 638px */
.w-60 { max-width: calc(1160 / 10 * 6 * 1px); } /* 696px */
.w-65 { max-width: calc(1160 / 10 * 6.5 * 1px); } /* 754px */
.w-70 { max-width: calc(1160 / 10 * 7 * 1px); } /* 812px */
.w-75 { max-width: calc(1160 / 10 * 7.5 * 1px); } /* 870px */
.w-80 { max-width: calc(1160 / 10 * 8 * 1px); } /* 928px */
.w-85 { max-width: calc(1160 / 10 * 8.5 * 1px); } /* 986px */
.w-90 { max-width: calc(1160 / 10 * 9 * 1px); } /* 1002px */
.w-95 { max-width: calc(1160 / 10 * 9.5 * 1px); } /* 1044px */
.w-100 { max-width: 1160px; }

.w-5p { width: 5%; }
.w-10p { width: 10%; }
.w-15p { width: 15%; }
.w-20p { width: 20%; }
.w-25p { width: 25%; }
.w-30p { width: 30%; }
.w-35p { width: 35%; }
.w-40p { width: 40%; }
.w-45p { width: 45%; }
.w-50p { width: 50%; }
.w-55p { width: 55%; }
.w-60p { width: 60%; }
.w-65p { width: 65%; }
.w-70p { width: 70%; }
.w-75p { width: 75%; }
.w-80p { width: 80%; }
.w-85p { width: 85%; }
.w-90p { width: 90%; }
.w-95p { width: 95%; }
.w-100p { width: 100%; }

@media only screen and (max-width: 768px) {
	.w-5-sp { min-width: calc(1160 / 10 * 0.5 * 1px); } /* 58px */
	.w-10-sp { min-width: calc(1160 / 10 * 1 * 1px); } /* 116px */
	.w-15-sp { min-width: calc(1160 / 10 * 1.5 * 1px); } /* 174px */
	.w-20-sp { min-width: calc(1160 / 10 * 2 * 1px); } /* 232px */
	.w-25-sp { min-width: calc(1160 / 10 * 2.5 * 1px); } /* 290px */
	.w-30-sp { min-width: calc(1160 / 10 * 3 * 1px); } /* 348px */
	.w-35-sp { min-width: calc(1160 / 10 * 3.5 * 1px); } /* 406px */
	.w-40-sp { min-width: calc(1160 / 10 * 4 * 1px); } /* 464px */
	.w-45-sp { min-width: calc(1160 / 10 * 4.5 * 1px); } /* 522px */
	.w-50-sp { min-width: calc(1160 / 10 * 5 * 1px); } /* 580px */
	.w-55-sp { min-width: calc(1160 / 10 * 5.5 * 1px); } /* 638px */
	.w-60-sp { min-width: calc(1160 / 10 * 6 * 1px); } /* 696px */
	.w-65-sp { min-width: calc(1160 / 10 * 6.5 * 1px); } /* 754px */
	.w-70-sp { min-width: calc(1160 / 10 * 7 * 1px); } /* 812px */
	.w-75-sp { min-width: calc(1160 / 10 * 7.5 * 1px); } /* 870px */
	.w-80-sp { min-width: calc(1160 / 10 * 8 * 1px); } /* 928px */
	.w-85-sp { min-width: calc(1160 / 10 * 8.5 * 1px); } /* 986px */
	.w-90-sp { min-width: calc(1160 / 10 * 9 * 1px); } /* 1002px */
	.w-95-sp { min-width: calc(1160 / 10 * 9.5 * 1px); } /* 1044px */
	.w-100-sp { min-width: 1160px; }

	.w-5p-sp { width: 5%; }
	.w-10p-sp { width: 10%; }
	.w-15p-sp { width: 15%; }
	.w-20p-sp { width: 20%; }
	.w-25p-sp { width: 25%; }
	.w-30p-sp { width: 30%; }
	.w-35p-sp { width: 35%; }
	.w-40p-sp { width: 40%; }
	.w-45p-sp { width: 45%; }
	.w-50p-sp { width: 50%; }
	.w-55p-sp { width: 55%; }
	.w-60p-sp { width: 60%; }
	.w-65p-sp { width: 65%; }
	.w-70p-sp { width: 70%; }
	.w-75p-sp { width: 75%; }
	.w-80p-sp { width: 80%; }
	.w-85p-sp { width: 85%; }
	.w-90p-sp { width: 90%; }
	.w-95p-sp { width: 95%; }
	.w-100p-sp { width: 100%; }
}

/* ==================================================

	MARGIN

*/
.mg-5-t  { margin-top: 5px !important; }
.mg-10-t  { margin-top: 10px !important; }
.mg-20-t  { margin-top: 20px !important; }
.mg-30-t  { margin-top: 30px !important; }
.mg-40-t  { margin-top: 40px !important; }
.mg-50-t  { margin-top: 50px !important; }
.mg-60-t  { margin-top: 60px !important; }
.mg-70-t  { margin-top: 70px !important; }
.mg-80-t  { margin-top: 80px !important; }
.mg-90-t  { margin-top: 90px !important; }
.mg-100-t { margin-top: 100px !important; }

.mg-5-b  { margin-bottom: 5px !important; }
.mg-10-b  { margin-bottom: 10px !important; }
.mg-20-b  { margin-bottom: 20px !important; }
.mg-30-b  { margin-bottom: 30px !important; }
.mg-40-b  { margin-bottom: 40px !important; }
.mg-50-b  { margin-bottom: 50px !important; }
.mg-60-b  { margin-bottom: 60px !important; }
.mg-70-b  { margin-bottom: 70px !important; }
.mg-80-b  { margin-bottom: 80px !important; }
.mg-90-b  { margin-bottom: 90px !important; }
.mg-100-b { margin-bottom: 100px !important; }

.mg-1rem-t { margin-top: 1rem !important; }

.mg-1rem-b { margin-bottom: 1rem !important; }

/* TB */
@media only screen and (max-width: 980px) {
	.mg-0-t-tb  { margin-top: 0 !important; }
	.mg-0-b-tb  { margin-bottom: 0 !important; }
}

/* SP */
@media only screen and (max-width: 768px) {
	.mg-40-t  { margin-top: 30px !important; }
	.mg-50-t  { margin-top: 40px !important; }
	.mg-60-t  { margin-top: 50px !important; }
	.mg-70-t  { margin-top: 50px !important; }
	.mg-80-t  { margin-top: 50px !important; }
	.mg-90-t  { margin-top: 50px !important; }
	.mg-100-t { margin-top: 50px !important; }
	.mg-40-b  { margin-bottom: 30px !important; }
	.mg-50-b  { margin-bottom: 40px !important; }
	.mg-60-b  { margin-bottom: 50px !important; }
	.mg-70-b  { margin-bottom: 50px !important; }
	.mg-80-b  { margin-bottom: 50px !important; }
	.mg-90-b  { margin-bottom: 50px !important; }
	.mg-100-b { margin-bottom: 50px !important; }

	.mg-0-t-sp  { margin-top: 0 !important; }
	.mg-5-t-sp  { margin-top: 5px !important; }
	.mg-10-t-sp  { margin-top: 10px !important; }
	.mg-20-t-sp  { margin-top: 20px !important; }
	.mg-30-t-sp  { margin-top: 30px !important; }
	.mg-40-t-sp  { margin-top: 40px !important; }
	.mg-50-t-sp  { margin-top: 50px !important; }
	.mg-60-t-sp  { margin-top: 60px !important; }
	.mg-70-t-sp  { margin-top: 70px !important; }
	.mg-80-t-sp  { margin-top: 80px !important; }
	.mg-90-t-sp  { margin-top: 90px !important; }
	.mg-100-t-sp { margin-top: 100px !important; }
	.mg-0-b-sp  { margin-bottom: 0 !important; }
	.mg-5-b-sp  { margin-bottom: 5px !important; }
	.mg-10-b-sp  { margin-bottom: 10px !important; }
	.mg-20-b-sp  { margin-bottom: 20px !important; }
	.mg-30-b-sp  { margin-bottom: 30px !important; }
	.mg-40-b-sp  { margin-bottom: 40px !important; }
	.mg-50-b-sp  { margin-bottom: 50px !important; }
	.mg-60-b-sp  { margin-bottom: 60px !important; }
	.mg-70-b-sp  { margin-bottom: 70px !important; }
	.mg-80-b-sp  { margin-bottom: 80px !important; }
	.mg-90-b-sp  { margin-bottom: 90px !important; }
	.mg-100-b-sp { margin-bottom: 100px !important; }

	.mg-0-sp { margin: 0 !important; }
}

/* ==================================================

	PADDING

*/
.pd-10 { padding: 10px }
.pd-20 { padding: 20px }
.pd-30 { padding: 30px }
.pd-40 { padding: 40px }
.pd-50 { padding: 50px }
.pd-60 { padding: 60px }
.pd-70 { padding: 70px }
.pd-80 { padding: 80px }
.pd-90 { padding: 90px }
.pd-100 { padding: 100px }

.pd-10-x { padding-left: 10px !important; padding-right: 10px !important; }
.pd-20-x { padding-left: 20px !important; padding-right: 20px !important; }
.pd-30-x { padding-left: 30px !important; padding-right: 30px !important; }
.pd-40-x { padding-left: 40px !important; padding-right: 40px !important; }
.pd-50-x { padding-left: 50px !important; padding-right: 50px !important; }
.pd-60-x { padding-left: 60px !important; padding-right: 60px !important; }
.pd-70-x { padding-left: 70px !important; padding-right: 70px !important; }
.pd-80-x { padding-left: 80px !important; padding-right: 80px !important; }
.pd-90-x { padding-left: 90px !important; padding-right: 90px !important; }
.pd-100-x { padding-left: 100px !important; padding-right: 100px !important; }

.pd-10-y { padding-top: 10px; padding-bottom: 10px; }
.pd-20-y { padding-top: 20px; padding-bottom: 20px; }
.pd-30-y { padding-top: 30px; padding-bottom: 30px; }
.pd-40-y { padding-top: 40px; padding-bottom: 40px; }
.pd-50-y { padding-top: 50px; padding-bottom: 50px; }
.pd-60-y { padding-top: 60px; padding-bottom: 60px; }
.pd-70-y { padding-top: 70px; padding-bottom: 70px; }
.pd-80-y { padding-top: 80px; padding-bottom: 80px; }
.pd-90-y { padding-top: 90px; padding-bottom: 90px; }
.pd-100-y { padding-top: 100px; padding-bottom: 100px; }

/* TB */
@media only screen and (max-width: 980px) {

}

/* SP */
@media only screen and (max-width: 768px) {
	.pd-30 { padding: 20px !important; }
	.pd-40 { padding: 20px !important; }
	.pd-50 { padding: 20px !important; }
	.pd-60 { padding: 20px !important; }
	.pd-70 { padding: 20px !important; }
	.pd-80 { padding: 20px !important; }
	.pd-90 { padding: 20px !important; }
	.pd-100 { padding: 20px !important; }

	.pd-30-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-40-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-50-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-60-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-70-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-80-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-90-x { padding-left: 20px !important; padding-right: 20px !important; }
	.pd-100-x { padding-left: 20px !important; padding-right: 20px !important; }

	.pd-50-y { padding-top: 40px; padding-bottom: 40px; }
	.pd-60-y { padding-top: 50px; padding-bottom: 50px; }
	.pd-70-y { padding-top: 50px; padding-bottom: 50px; }
	.pd-80-y { padding-top: 60px; padding-bottom: 60px; }
	.pd-90-y { padding-top: 60px; padding-bottom: 60px; }
	.pd-100-y { padding-top: 60px; padding-bottom: 60px; }

	.pd-0-sp { padding: 0px !important; }
	.pd-10-sp { padding: 10px !important; }
}

/* ==================================================

	FONT FAMIRY

*/
.ff-en {
	font-family: "Sen", sans-serif;
}
.ff-num {
	font-family: "Oswald", sans-serif;
	font-weight: 500 !important;
}

/* ==================================================

	FONT SIZE

*/
.fs-1rem {
	font-size: 1rem !important;
}
.fs-10 {
	font-size: 10px !important;
}
.fs-12 {
	font-size: 12px !important;
}

/* ==================================================

	TEXT WEIGHT

*/
.fw-normal {
	font-weight: 400 !important;
}
.fw-medium {
	font-weight: 500 !important;
}
.fw-bold {
	font-weight: 700 !important;
}

/* ==================================================

	TEXT NORAP

*/
.text-nowrap {
	white-space: nowrap;
}
.text-break {
	word-break: break-all;
}

/* ==================================================

	TEXT COLOR

*/
.text-color {
	color: var(--color-standard);
}
.text-color-red {
	color: var(--color-red);
}
.text-color-blue {
	color: var(--color-blue-pure);
}
.text-color-price {
	color: var(--color-price);
}

/* ==================================================

	TEXT POSITION

*/
.text-start {
	text-align: left !important;
}
.text-center {
	text-align: center !important;
}
.text-end {
	text-align: right !important;
}
/* PC */
@media only screen and (min-width: 769px) {
	.text-start-pc {
		text-align: left !important;
	}
	.text-center-pc {
		text-align: center !important;
	}
	.text-end-pc {
		text-align: right !important;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.text-start-sp {
		text-align: left !important;
	}
	.text-center-sp {
		text-align: center !important;
	}
	.text-end-sp {
		text-align: right !important;
	}
}

/* ==================================================

	TEXT LINK

*/
.text-link,
.text-link-blank {
	text-decoration: underline;
	color: #003a70;
	word-break: break-all;
}
.text-link-blank::after {
	content: '　';
	display: inline-block;
	margin: 0 0.3em;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-blank.svg);
	background-size: contain;
	font-size: 15px;
}
/* HOVER */
.device-pc .text-link:hover,
.device-pc .text-link-blank:hover {
	text-decoration: none;
}

.text-link-pdf::after,
.text-link-csv::after,
.text-link-doc::after {
	content: '　';
	display: inline-block;
	margin: 0 0.3em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.text-link-pdf::after {
	background-image: url(../img/common/icon-file-pdf.svg);
}
.text-link-csv::after {
	background-image: url(../img/common/icon-file-csv.svg);
}
.text-link-doc::after {
	background-image: url(../img/common/icon-file-doc.svg);
}

.text-link-arrow {
	display: table;
	text-decoration: none;
	font-weight: 500;
}
.text-link-arrow span {
	position: relative;
	display: inline-block;
}
.text-link-arrow span:last-child::after {
	content: var(--icon-arrow-next);
	display: inline-block;
	position: relative;
	top: 0.16em;
	margin-left: 5px;
	width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 50%;
	background-color: var(--color-standard-light);
	font-family: 'icon' !important;
	font-size: 20px;
	line-height: 1;
	color: #fff;
}
/* HOVER */
@media only screen and (min-width: 769px) {
	.device-pc .text-link-arrow span:last-child::before {
		right: 25px;
	}
	.device-pc .text-link-arrow span::before {
		content: '';
		display: inline-block;
		position: absolute;
		bottom: 4px;
		left: 0;
		right: 0;
		height: 1px;
		background-color: var(--color-standard-light);
		opacity: 0;
		transition: bottom 0.3s ease, opacity 0.3s ease;
	}
	.device-pc .text-link-arrow:hover span::before {
		bottom: 0;
		opacity: 1;
	}
}

/* ==================================================

	HEADING FONT SIZE

*/
[class^="h-"], [class*=" h-"] {
	font-weight: 700;
}
.h-36 {
	font-size: 36px;
	line-height: 1.3;
}
.h-30 {
	font-size: 30px;
	line-height: 1.4;
}
.h-24 {
	font-size: 24px;
	line-height: 1.4;
}
.h-20 {
	font-size: 20px;
	line-height: 1.4;
}
.h-16 {
	font-size: 16px;
	line-height: 1.4;
}
/* SP */
@media only screen and (max-width: 768px) {
	.h-36 {
		font-size: 26px;
	}
	.h-30 {
		font-size: 22px;
	}
	.h-24 {
		font-size: 20px;
	}
	.h-20 {
		font-size: 18px;
	}
	.h-20-sp {
		font-size: 20px;
		line-height: 1.4;
	}
	.h-16-sp {
		font-size: 16px;
		line-height: 1.5;
	}
}
@media only screen and (max-width: 374px) {
	.h-36 {
		font-size: calc(24 / 374 * 100vw);
	}
	.h-30 {
		font-size: calc(22 / 374 * 100vw);
	}
	.h-24 {
		font-size: calc(20 / 374 * 100vw);
	}
	.h-20 {
		font-size: calc(18 / 374 * 100vw);
	}
}

/* ==================================================

	HEADER

*/
.header {
	position: fixed;
	z-index: 990;
	top: 0;
	left: 0;
	width: 100%;
}
.header a {
	text-decoration: none;
}
.header img {
	width: 100%;
	height: auto;
}
.header__wrapper {
	position: relative;
	z-index: 999;
	background-color: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
}
.header__wrapper .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 90px;
}
.header h1 {
	width: 184px;
}
.header h1 a {
	display: block;
}
.header__logo {
	width: 184px;
}
.header__logo h1 a {
	display: block;
}
.header__mypage {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 130px;
	width: 188px;
	height: 54px;
	border-radius: 999em;
	background-color: var(--color-gray);
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	transition: background-color 0.3s ease;
}
.header__mypage::before {
	content: '';
	display: block;
	margin: 0 12px 0 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--color-standard-light);
	background-image: url(../img/common/icon-mypage.svg);
	background-size: contain;
}
.header .megamenu-opener {
	position: absolute;
	top: 0;
	right: 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 4px 0 0 0;
	width: 90px;
	height: 100%;
	background-color: var(--color-standard);
	font-size: 12px;
	line-height: 1.5;
	color: #fff;
}
.header .megamenu-opener span {
	display: block;
	position: relative;
	width: 35px;
	height: 26px;
}
.header .megamenu-opener span::before,
.header .megamenu-opener span::after,
.header .megamenu-opener span i {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	margin-top: -1px;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background-color: #fff;
	transition: all 0.4s ease;
}
.header .megamenu-opener span::before {
	margin-top: -10px;
}
.header .megamenu-opener span::after {
	margin-top: 8px;
}
.header .megamenu-opener[aria-expanded=true] span::before {
	margin-top: -1px;
	transform: rotate(45deg);
}
.header .megamenu-opener[aria-expanded=true] span::after {
	margin-top: -1px;
	transform: rotate(-45deg);
}
.header .megamenu-opener[aria-expanded=true] span i {
	opacity: 0;
}
/* HOVER */
@media only screen and (min-width: 769px) {
	.device-pc .header .header__mypage:hover {
		background-color: var(--color-gray-hover);
	}
}
/* TB */
@media only screen and (max-width: 980px) {
	.header .megamenu-opener {
		right: 0;
	}
	.header .header__mypage {
		margin-right: 80px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.header__wrapper {
		box-shadow: 0 0 4px rgba(0,0,0,0.2);
	}
	.header__wrapper .container {
		padding-right: 75px;
		height: 60px;
	}
	.header h1 {
		width: 134px;
	}
	.header__logo {
		width: 134px;
	}
	.header .header__mypage {
		margin-right: 0;
		padding: 0 10px 0 5px;
		width: auto;
		height: 40px;
		font-size: 11px;
		line-height: 1.4;
	}
	.header .header__mypage::before {
		margin: 0 5px 0 0;
		width: 30px;
		height: 30px;
	}
	.header .megamenu-opener {
		right: 0;
		width: 60px;
		font-size: 10px;
	}
	.header .megamenu-opener span {
		width: 28px;
		height: 18px;
	}
	.header .megamenu-opener span::before {
		margin-top: -7px;
	}
	.header .megamenu-opener span::after {
		margin-top: 5px;
	}
}
@media only screen and (max-width: 360px) {
	.header__wrapper .container {
		padding-right: 70px;
	}
	.header h1 {
		width: 110px;
	}
	.header .header__mypage {
		font-size: 10px;
	}
}

/* ==================================================

MEGAMENU

*/
.megamenu {
	position: fixed;
	top: 90px;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 0;
	overflow: hidden;
}
.megamenu[aria-hidden=false] {
	height: 100%;
}
.megamenu::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	opacity: 0;
	transition: opacity 0.4s ease;
}
.megamenu-opened::before {
	opacity: 1;
}
.megamenu__content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: transform 0.4s ease;
}
.megamenu__nav {
	background-color: #fff;
	overflow: auto;
}
.os-ios .megamenu__nav {
	overscroll-behavior: none;
}
.megamenu .container {
	padding-top: 20px;
	padding-bottom: 80px;
}
.megamenu__head {
	padding: 2rem 0;
	font-size: 24px;
	line-height: 1.5;
}
.megamenu__row {
	display: flex;
	margin: 0 -30px;
}
.megamenu__col {
	position: relative;
	padding: 0 30px;
	width: 100%;
}
.megamenu__col::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background-color: #d4dae1;
}
.megamenu__col:last-child::after {
	content: none;
}
.megamenu__list {
	line-height: 1.5;
}
.megamenu__list button {
	display: none;
	align-items: center;
	position: relative;
	padding: 0 20px;
	width: 100%;
	min-height: 50px;
	font-weight: 700;
	font-size: 16px;
	text-align: left;
}
.megamenu__list button img {
	display: block;
	margin-right: 10px;
	width: 30px;
	height: auto;
}
.megamenu__list button i {
	display: block;
	position: absolute;
	top: 50%;
	right: 24px;
	margin-top: -6px;
	width: 12px;
	height: 12px;
}
.megamenu__list button i::before,
.megamenu__list button i::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
	width: 100%;
	height: 2px;
	border-radius: 99px;
	background-color: var(--color-standard);
}
.megamenu__list button i::after {
	transform: rotate(90deg);
}
.megamenu__list > li {
	margin-bottom: 1.5rem;
}
.megamenu__list > li:last-child {
	margin-bottom: 0;
}
.megamenu__list > li ul {
	padding: 0.6rem 0 0 16px;
}
.megamenu__list > li ul li {
	margin-bottom: 0.8rem;
}
.megamenu__list h3 {
	font-size: 16px;
}
.megamenu__list h3 img {
	display: none;
	margin-right: 12px;
	width: 30px;
	height: auto;
}
.megamenu__cta {
	padding: 0.5rem 0;
}
.megamenu__cta li {
	margin-top: 20px;
}
.megamenu__cta a {
	max-width: 250px;
}
.megamenu__customer {
	line-height: 1.5;
}
.megamenu__customer li {
	margin-top: 1rem;
}
.megamenu__customer:first-child li:first-child {
	margin-top: 0;
}
.megamenu__customer span {
	display: inline-block;
}
/* HOVER */
.device-pc .megamenu__head a,
.device-pc .megamenu__list h3 a,
.device-pc .megamenu__list > li ul a,
.device-pc .megamenu__customer a {
	transition: color 0.3s ease;
}
.device-pc .megamenu__head a:hover,
.device-pc .megamenu__list h3 a:hover,
.device-pc .megamenu__list > li ul a:hover,
.device-pc .megamenu__customer a:hover {
	color: var(--color-standard);
}
@media only screen and (min-width: 769px) {
	.megamenu__content {
		transform: translateY(-100%);
		transition: transform 0.6s ease;
	}
	.megamenu-opened .megamenu__content {
		transform: translateY(0%);
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.megamenu {
		top: 0;
	}
	.megamenu__content {
		position: relative;
		padding-top: 60px;
		height: 100%;
		transform: translateX(100%);
	}
	.megamenu-opened .megamenu__content {
		transform: translateX(0%);
	}
	.megamenu__nav {
		height: 100%;
		overflow-y: scroll;
	}
	.megamenu .container {
		padding: 0 0 50px 0;
	}
	.megamenu__head {
		padding: 0;
		line-height: 1.3;
	}
	.megamenu__head a {
		display: block;
		position: relative;
		padding: 1rem 50px 1rem 20px;
	}
	.megamenu__row {
		display: block;
		margin: 0;
	}
	.megamenu__col {
		padding: 0;
	}
	.megamenu__col::after {
		content: none;
	}
	.megamenu__list button {
		display: flex;
		padding: 0.5rem 50px 0.5rem 20px;
	}
	.megamenu__list button + div {
		overflow: hidden;
		height: 0;
		transition: height 0.4s ease;
	}
	.megamenu__list > li {
		margin-bottom: 0;
		border-top: 2px solid var(--color-gray);
	}
	.megamenu__list > li[aria-expanded="true"] > button i::after {
		content: none;
	}
	.megamenu__list > li ul {
		padding: 0;
	}
	.megamenu__list > li ul li {
		margin-bottom: 0;
		border-top: 2px solid var(--color-gray);
	}
	.megamenu__list > li ul a {
		display: flex;
		align-items: center;
		padding: 0.5rem 20px 0.5rem 60px;
		min-height: 50px;
	}
	.megamenu__list h3 img {
		display: block;
	}
	.megamenu__list h3 a {
		display: flex;
		align-items: center;
		position: relative;
		padding: 0.5rem 50px 0.5rem 20px;
		min-height: 50px;
	}
	.megamenu__list--other > li {
		border-color: #fff;
	}
	.megamenu__list--other > li:first-child {
		border: 0;
	}
	.megamenu__list--other h3 a {
		background-color: var(--color-gray);
	}
	.megamenu__cta {
		margin-bottom: 20px;
		padding: 0;
	}
	.megamenu__cta li {
		padding: 0 20px;
	}
	.megamenu__customer {
		border-bottom: 2px solid var(--color-gray);
	}
	.megamenu__customer li {
		margin: 0;
		border-top: 2px solid var(--color-gray);
	}
	.megamenu__customer li a {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		padding: 0.5rem 50px 0.5rem 20px;
		min-height: 50px;
	}
	.megamenu__head a::after,
	.megamenu__list h3 a::after,
	.megamenu__customer li a::after {
		content: var(--icon-arrow-next);
		display: block;
		position: absolute;
		top: 50%;
		right: 20px;
		margin-top: -10px;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background-color: var(--color-standard-light);
		font-family: 'icon' !important;
		font-weight: normal;
		font-size: 20px;
		line-height: 1;
		color: #fff;
	}
}

/* ==================================================

	FOOTER

*/
.footer {
	position: relative;
	font-size: 12px;
	line-height: 1.5;
}
.footer a {
	text-decoration: none;
}
.is-fixed-btn-cta .footer {
	padding-bottom: 80px;
}
.is-fixed-cta .footer {
	padding-bottom: 120px;
}
.footer .container {
	padding-top: 30px;
	padding-bottom: 30px;
}
.footer::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray);
}
.footer nav {
	display: flex;
}
.footer ul {
	display: flex;
}
.footer ul li {
	position: relative;
	margin: 0 10px 0 0;
	padding: 0 11px 0 0;
}
.footer ul li::after {
	content: '';
	position: absolute;
	top: 0.24em;
	bottom: 0.16em;
	right: 0;
	width: 1px;
	background-color: #000;
}
.footer ul:last-child li:last-child::after {
	content: none;
}
.footer small {
	display: block;
	margin: 30px 0 0 0;
}
/* HOVER */
.device-pc .footer nav a:hover {
	text-decoration: underline;
}
/* TB */
@media only screen and (max-width: 1040px) {
	.footer nav {
		flex-direction: column;
	}
	.footer ul {
		margin: 0 0 10px 0;
	}
	.footer ul:last-child {
		margin: 0;
	}
	.footer ul li:last-child::after {
		content: none;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.footer {
		text-align: center;
	}
	.is-fixed-cta .footer {
		padding-bottom: 60px;
	}
	.footer .container {
		padding: 30px 10px;
	}
	.footer nav {
		align-items: center;
	}
	.footer ul li {
		margin: 0;
		padding: 0 11px 0 10px;
	}
}
@media only screen and (max-width: 360px) {
	.footer ul li {
		padding: 0 8px 0 7px;
	}
}

/* ==================================================

	FOOTER COOKIE AGREE

*/
.has-cookie-agree .footer {
	padding-bottom: 160px;
}
.footer .cookie-agree {
	display: none;
	position: fixed;
	z-index: 99999;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: #eaeef0;
}
.has-cookie-agree .footer .cookie-agree {
	display: block;
}
.footer .cookie-agree .container {
	display: flex;
	align-items: center;
}
.footer .cookie-agree .detail {
	padding-right: 30px;
	font-size: 14px;
}
.footer .cookie-agree .detail .link {
	margin-top: 1em;
}
.footer .cookie-agree .detail .link a {
	text-decoration: underline;
}
.footer .cookie-agree .detail .link a:hover {
	text-decoration: none;
}
.footer .cookie-agree .agree button {
	min-width: 200px;
	background-color: #73c92d;
	border-color: #73c92d;
	font-size: 15px;
	box-shadow: none;
}
.device-pc .footer .cookie-agree .agree button:hover {
	background-color: #fff;
	transform: translateY(0);
}
/* SP */
@media only screen and (max-width: 768px) {
	.has-cookie-agree .footer {
		padding-bottom: 210px;
	}
	.footer .cookie-agree .detail {
		padding: 0;
		text-align: left;
		font-size: 12px;
	}
	.footer .cookie-agree .container {
		display: block;
		padding: 20px;
	}
	.footer .cookie-agree .agree {
		display: flex;
		justify-content: center;
		margin-top: 20px;
	}
}

/* ==================================================

	PAGETOP

*/
.pagetop {
	display: block;
	position: absolute;
	z-index: 10;
	bottom: -50px;
	right: 50px;
}
.pagetop a {
	display: block;
	text-decoration: none;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.5;
}
.pagetop a::before {
	content: '';
	display: block;
	margin: 0 auto 8px auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: var(--color-standard-light);
	background-image: url(../img/common/icon-arrow-pagetop.svg);
	background-size: contain;
	transition: transform 0.3s ease;
}
/* HOVER */
.device-pc .pagetop a:hover::before {
	transform: translateY(-6px);
}
/* SP */
@media only screen and (max-width: 768px) {
	.pagetop {
		position: static;
		display: flex;
		justify-content: flex-end;
		margin: 30px 0 10px 0;
	}
}

/* ==================================================

	BREADCRUMB

*/
.breadcrumb {
	margin: 80px 0 0 0;
	padding: 20px 0;
	font-size: 12px;
	line-height: 2;
}
.breadcrumb a {
	text-decoration: none;
}
.breadcrumb ul {
	display: inline;
}
.breadcrumb li {
	display: inline;
}
.breadcrumb li::after {
	content: '　';
	display: inline;
	padding: 0 0 0 0.5em;
	background-position: 60% 60%;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-arrow-breadcrumb.svg);
	background-size: 12px 12px;
}
.breadcrumb li:last-child::after {
	content: none;
}
/* HOVER */
.device-pc .breadcrumb a:hover {
	text-decoration: underline;
}
/* SP */
@media only screen and (max-width: 768px) {
	.breadcrumb {
		margin: 0;
		padding: 0 0 20px 0;
	}
}

/* ==================================================

	PAGINATION

*/
.pagination {
	display: flex;
	justify-content: center;
	margin: 0 0 90px 0;
	font-weight: 700;
	color: #000;
}
.pagination a {
	text-decoration: none;
	color: inherit;
}
.pagination > * {
	display: block;
	margin: 0 5px;
}
.pagination .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	width: 60px;
	height: 60px;
	background-color: var(--color-gray);
	border-radius: 50%;
	font-size: 20px;
	transition: background-color 0.3s ease;
}
.pagination .page-numbers.current {
	background-color: var(--color-standard);
	color: #fff;
}
.pagination .page-numbers.dots {
	width: 30px;
	background-color: transparent;
	border-radius: 0;
}
/* HOVER */
.device-pc .pagination a.page-numbers:hover {
	background-color: var(--color-gray-hover);
}
/* SP */
@media only screen and (max-width: 768px) {
	.pagination {
		margin: 10px -3px 50px -3px;
		font-weight: 500;
	}
	.pagination > * {
		margin: 0 3px;
	}
	.pagination .page-numbers {
		padding-bottom: 0.1em;
		width: 34px;
		height: 34px;
		font-size: 16px;
	}
	.pagination .page-numbers.dots {
		width: 18px;
	}
}
@media only screen and (max-width: 360px) {
	.pagination .page-numbers {
		width: 28px;
		height: 28px;
		font-size: 14px;
	}
}

/* ==================================================

	ARTICLE

*/
.article {
	padding: 80px 0 0 0; 
}
.article .l-btn {
	padding: 30px 0 0 0;
	border-top: 1px solid #707070;
}
/* SP */
@media only screen and (max-width: 768px) {
	.article {
		padding: 40px 0 0 0; 
	}
}

/* ==================================================

	ARTICLE INDEX

*/
.l-article-index {
	display: none;
	margin: 50px auto;
	padding: 20px;
	max-width: 500px;
	background-color: #eaeef0;
	border-radius: 10px;
}
.l-article-index h3 {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.5;
	color: var(--color-standard);
}
.l-article-index h3::before {
	content: '';
	display: block;
	margin-right: 5px;
	width: 30px;
	height: 30px;
	background-image: url(../img/common/icon-article-index.svg);
	background-size: contain;
}
.l-article-index ul {
	font-weight: 500;
	font-size: 15px;
}
.l-article-index ul a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}
.device-pc .l-article-index ul a:hover {
	color: var(--color-standard);
}
@media only screen and (max-width: 768px) {
	.l-article-index {
		margin: 30px auto;
		padding: 15px;
	}
}

/* ==================================================

	ARTICLE BODY（旧記事用）

*/
.l-article-body h1,
.l-article-body h2 {
	margin: 30px 0 20px 0;
	padding: 30px 0 0 0;
	font-size: 24px;
	line-height: 1.5;
	color: var(--color-standard);
}
@media only screen and (max-width: 768px) {
	.l-article-body h1,
	.l-article-body h2 {
		font-size: 22px;
	}
}
.l-article-body h3 {
	margin: 30px 0 20px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #000;
	font-size: 20px;
	line-height: 1.5;
}
.l-article-body span[data-ccp-props="{}"] br {
	display: none;
}

.l-article-body .mokuji {
	margin: 50px auto;
	padding: 20px;
	max-width: 500px;
	background-color: #eaeef0;
	border-radius: 10px;
}
.l-article-body .mokuji .mokuji_title {
	margin-bottom: 10px;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.5;
	color: var(--color-standard);
}
.l-article-body .mokuji ul {
	font-weight: 500;
	font-size: 15px;
}
.l-article-body .mokuji ul a {
	color: #000;
	text-decoration: none;
	transition: color 0.3s ease;
}
.device-pc .l-article-body .mokuji ul a:hover {
	color: var(--color-standard);
}

@media only screen and (max-width: 768px) {
	.l-article-body .tbl-scroll {
		overflow-x: auto;
	}
	.l-article-body .tbl-scroll table {
		width: 200vw;
	}
}

.l-old-article-index {
	margin: 50px auto;
	padding: 20px !important;
	max-width: 500px !important;
	background-color: #eaeef0 !important;
	border: 0 !important;
	border-radius: 10px;
}
.l-old-article-index br {
	display: none;
}
.l-old-article-index h2,
.l-old-article-index h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	font-size: 15px !important;
}
.l-old-article-index h2:first-child,
.l-old-article-index h3:first-child {
	margin: 0 0 10px 0 !important;
	font-weight: 500 !important;
	font-size: 20px !important;
	line-height: 1.5 !important;
	color: var(--color-standard) !important;
}
.l-old-article-index a {
	font-weight: 500;
	font-size: 15px !important;
	color: #000 !important;
	text-decoration: none !important;
	transition: color 0.3s ease;
}
.device-pc .l-old-article-index a:hover {
	color: var(--color-standard) !important;
}
@media only screen and (max-width: 768px) {
	.l-old-article-index {
		margin: 30px auto;
	}
}

.l-article-body .tbl {
	margin: 0 0 40px;
	width: 100%;
	border-top: 1px solid #a9b6c3;
	word-break: break-all;
}
.l-article-body .tbl th,
.l-article-body .tbl td {
	padding: 20px 30px;
	border-bottom: 1px solid #a9b6c3;
	background: #fff;
}
.l-article-body .tbl th > :last-child,
.l-article-body .tbl td > :last-child {
	margin-bottom: 0;
}
.l-article-body .tbl th,
.l-article-body .tbl > thead > tr > td {
	background: #e5e9ed;
}
.l-article-body .tbl > thead > tr > th:not(:first-child),
.l-article-body .tbl > thead > tr > td:not(:first-child) {
	background: #f6f7f9;
}
.l-article-body .l-old-w-30 {
	width: 30%;
}
.l-article-body .l-old-w-35 {
	width: 35%;
}
.l-article-body .l-old-w-40 {
	width: 40%;
}
@media only screen and (max-width: 768px) {
	.l-article-body .tbl th,
	.l-article-body .tbl td {
		padding: 15px 15px;
	}
}

.l-article-body ul.list {
	margin: 1rem 0;
	padding: 0;
	list-style-type: none;
}
.l-article-body ul.list > li {
	position: relative;
	margin: 0;
	padding: 0 0 0 1em;
	line-height: 1.6;
}
.l-article-body ul.list > li::before {
	content: '';
	position: absolute;
	top: 0.56em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-standard-bright);
	font-size: inherit;
}

.l-article-body .hdg-l4 {
	margin-top: 40px;
}

.l-article-body img.icon-file,
.l-article-body img[class^="icon-file-"] {
	position: relative;
	top: 0.2em;
	display: inline-block;
	margin: 0 0.5em;
	width: 1em;
}

.l-article-body .media-lyt {
	margin: 40px 0;
}
.l-article-body .media-lyt .media-caption {
	text-align: center;
}

/* ==================================================

	ARTICLE BODY

*/
.l-article-body {
	margin-bottom: 30px;
	padding-bottom: 50px;
	border-bottom: 1px solid #707070;
	word-wrap: break-word;
}
.l-article-body p {
	margin: 1rem 0;
}
.l-article-body > *:first-child {
	margin-top: 0 !important;
}
.l-article-body a {
	text-decoration: underline;
	color: #003a70;
	word-break: break-all;
}
.device-pc .l-article-body a:hover {
	text-decoration: none;
}

.l-article-body img {
	max-width: 100%;
}
.l-article-body > p {
	margin: 1em 0;
}
/* テーブル */
.l-article-body .c-table {
	margin: 1rem 0;
}
/* レイアウト */
.l-article-body .is-layout-flex {
	margin: 1rem 0;
	gap: 1rem;
}
.l-article-body .is-layout-flex .is-layout-flex {
	margin: 0;
}
@media only screen and (max-width: 768px) {
	.l-article-body .is-layout-flex {
		display: block;
	}
	.l-article-body .is-layout-flex > * {
		margin-bottom: 5px;
	}
	.l-article-body .is-layout-flex > *:last-child {
		margin-bottom: 0;
	}
}
/* 引用 */
.l-article-body .wp-block-quote {
	margin: 1rem 0;
	padding: 20px;
	background-color: #eaeef0;
	border-radius: 10px;
	font-size: 12px;
}
@media only screen and (max-width: 768px) {
	.l-article-body .wp-block-quote {
		padding: 15px;
	}
}
/* 区切り */
.l-article-body .wp-block-separator {
	margin: 50px 0;
	border: 0;
	border-top: 1px solid #ccc;
}
@media only screen and (max-width: 768px) {
	.l-article-body .wp-block-separator {
		margin: 30px 0;
	}
}
/* 埋め込み */
.l-article-body .wp-block-embed {
	margin: 1rem 0;
}
.l-article-body .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding: 56.25% 0 0 0;
}
.l-article-body .wp-block-embed__wrapper iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ボタンブロック */
.l-article-body .wp-block-custom-egmkt-button-block {
	margin: 20px 0;
}
/* 通常リスト */
ul.wp-block-list {
	margin: 1rem 0;
	padding: 0;
	list-style-type: none;
}
ul.wp-block-list > * {
	position: relative;
	margin: 0;
	padding: 0 0 0 1em;
	line-height: 1.6;
}
ul.wp-block-list > *::before {
	content: '';
	position: absolute;
	top: 0.56em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-standard-bright);
	font-size: inherit;
}
/* 数字リスト */
ol.wp-block-list {
	margin: 1rem 0;
	padding: 0;
	list-style-type: none;
	counter-reset: number 0; 
}
ol.wp-block-list > li {
	display: flex;
	margin: 0;
	padding: 0;
}
ol.wp-block-list > li::before {
	counter-increment: number 1;
	content: counter(number) ".";
	min-width: 1.4em;
}

ul.wp-block-list ul.wp-block-list,
ul.wp-block-list ol.wp-block-list,
ol.wp-block-list ul.wp-block-list,
ol.wp-block-list ol.wp-block-list {
	margin: 0;
}
/* 大見出し */
.c-article-heading {
	margin: 30px 0 20px 0;
	padding: 30px 0 0 0;
	font-size: 24px;
	line-height: 1.5;
	color: var(--color-standard);
}
/* 中見出し */
.c-article-subhead {
	margin: 30px 0 20px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #000;
	font-size: 20px;
	line-height: 1.5;
}

/* ==================================================

	[ MODAL ]

*/
.modal {
	display: none;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.4s ease;
}
.modal[aria-hidden=false] {
	opacity: 1;
}
.modal::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
.modal-wrapper {
	position: relative;
	display: flex;
	padding: 0 20px;
	width: 100%;
	height: 100%;
	overflow: auto;
}
.modal-outer {
	margin: auto;
	padding: 40px 0;
	width: 100%;
	max-width: 960px;
}
.modal-content {
	position: relative;
	padding: 80px 10% 40px 10%;
	background-color: #fff;
}
.modal-content .icon-close {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 40px;
	right: 40px;
	width: 40px;
	height: 40px;
}
.modal-content .icon-close i {
	display: block;
	position: relative;
	width: 26px;
	height: 26px;
	transform: rotate(45deg);
}
.modal-content .icon-close i::before,
.modal-content .icon-close i::after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.modal-content .icon-close i::after {
	transform: rotate(90deg);
}
/* SP */
@media only screen and (max-width: 768px) {
	.modal-outer {
		padding: 20px 0;
	}
	.modal-content {
		padding: 50px 15px 30px 15px;
	}
	.modal-content .icon-close {
		top: 0;
		right: 0;
	}
}

/* ==================================================

	[ LAYOUT ]

*/
.l-inline {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
.l-inline > * {
	margin-right: 0.5em;
}
.l-inline > *:last-child {
	margin-right: 0;
}


.l-center {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.l-center.l-center-row {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 48px;
  margin-bottom: 40px;
}
.l-center > * {
	margin-bottom: 40px;
}
/* .l-center > *:last-child {
	margin-bottom: 0;
} */
@media only screen and (max-width: 768px) {
	.l-center > * {
		margin-bottom: 20px;
	}
}


.l-center-pc {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.l-center-pc > * {
	margin-bottom: 40px;
}
.l-center-pc > *:last-child {
	margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
	.l-center-pc {
		display: block;
	}
	.l-center-pc > * {
		margin-bottom: 20px;
	}
	.l-center-sp {
		display: flex;
		justify-content: center;
	}
}


.l-center-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 -20px -40px -20px;
}
.l-center-row > * {
	margin: 0 20px 40px 20px;
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-center-row {
		margin: 0 -10px -20px -10px;
	}
	.l-center-row > * {
		margin: 0 10px 20px 10px;
	}
}

.l-center-row-pc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 -20px -40px -20px;
}
.l-center-row-pc > * {
	margin: 0 20px 40px 20px;
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-center-row-pc {
		display: block;
		margin: 0 0 -20px 0;
	}
	.l-center-row-pc > * {
		margin: 0 0 20px 0;
	}
}

/* ==================================================

	[ LAYOUT ] BUTTON BANNER

*/
[class^="l-btn-banner"], [class*=" l-btn-banner"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -20px -40px -20px;
}
[class^="l-btn-banner"] > *, [class*=" l-btn-banner"] > * {
	margin-bottom: 40px;
	padding: 0 20px;
	flex-shrink: 1;
}
.l-btn-banner-col-2 > * {
	flex-basis: 50%;
}
.l-btn-banner-col-3 > * {
	flex-basis: 33.333%;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-btn-banner-col-2 > * {
		flex-basis: 100%;
	}
	.l-btn-banner-col-3 > * {
		flex-basis: 50%;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	[class^="l-btn-banner"], [class*=" l-btn-banner"] {
		margin: 0 -20px -20px -20px;
	}
	[class^="l-btn-banner"] > *, [class*=" l-btn-banner"] > * {
		margin-bottom: 20px;
	}
	.l-btn-banner-col-3 > * {
		flex-basis: 100%;
	}
}

/* ==================================================

	[ LAYOUT ] COLUMN

*/
[class^="l-col-"], [class*=" l-col-"] {
	display: flex;
	flex-wrap: wrap;
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom: -40px;
}
[class^="l-col-"] > *, [class*=" l-col-"] > * {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 40px;
	padding: 0 20px;
	flex-shrink: 1;
}
[class^="l-col-short-margin"], [class*=" l-col-short-margin"] {
	margin-bottom: -20px;
}
[class^="l-col-short-margin"] > *, [class*=" l-col-short-margin"] > * {
	margin-bottom: 20px;
}
[class^="l-col-"] *, [class*=" l-col-"] * {
	min-width: initial !important;
}
[class^="l-col-"] + [class^="l-col-"],
[class*=" l-col-"] + [class*=" l-col-"],
[class^="l-col-"] + [class*=" l-col-"],
[class*=" l-col-"] + [class^="l-col-"] {
	margin-top: 40px;
}
.l-col-2 > * {
	flex-basis: 50%;
}
.l-col-3 > * {
	flex-basis: 33.333%;
}
.l-col-4 > * {
	flex-basis: 25%;
}
.l-col-center {
	justify-content: center;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-col-3 > * {
		flex-basis: 50%;
	}
	.l-col-4 > * {
		flex-basis: 50%;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	[class^="l-col-"], [class*=" l-col-"] {
		margin-bottom: -20px;
	}
	[class^="l-col-"] > *, [class*=" l-col-"] > * {
		margin-bottom: 20px;
	}
	[class^="l-col-"] + [class^="l-col-"],
	[class*=" l-col-"] + [class*=" l-col-"],
	[class^="l-col-"] + [class*=" l-col-"],
	[class*=" l-col-"] + [class^="l-col-"] {
		margin-top: 20px;
	}
	.l-col-2 > * {
		flex-basis: 100%;
	}
	.l-col-3 > * {
		flex-basis: 100%;
	}
	.l-col-4 > * {
		flex-basis: 100%;
	}
}

/* ==================================================

	[ LAYOUT ] SCROLL

*/
/* SP */
@media only screen and (max-width: 768px) {
	.l-scroll-sp {
		position: relative;
		margin: 0 -20px;
		overflow: hidden;
	}
	.l-scroll-sp__wrap {
		display: flex;
		overflow-x: auto;
		padding: 0 20px 10px 20px;
	}
	.device-sp .l-scroll-sp__wrap::-webkit-scrollbar {
		display: none;
	}
	.l-scroll-sp span {
		display: block;
		position: absolute;
		bottom: 0;
		left: 20px;
		right: 20px;
		height: 3px;
		background-color: #eee;
	}
	.l-scroll-sp span i {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		min-width: 50px;
		height: 3px;
		background-color: #666;
	}
}

/* ==================================================

	[ LAYOUT ] NAV TAGS

*/
.l-nav-tags {
	display: flex;
	justify-content: center;
	list-style-type: none;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.3;
}
.l-nav-tags li a,
.l-nav-tags li span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 25px;
	min-width: 115px;
	height: 54px;
	border-radius: 999em;
	background-color: var(--color-gray);
	text-align: center;
	transition: background-color 0.3s ease;
}
.l-nav-tags li span {
	background-color: var(--color-standard);
	color: #fff;
}
/* HOVER */
.device-pc .l-nav-tags li a:hover {
	background-color: var(--color-gray-hover);
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-nav-tags {
		font-size: 10px;
	}
	.l-nav-tags li a,
	.l-nav-tags li span {
		padding: 0 10px;
		min-width: 70px;
		height: 38px;
	}
}
@media only screen and (max-width: 360px) {
	.l-nav-tags li a,
	.l-nav-tags li span {
		min-width: 65px;
	}
}

/* ==================================================

	[ LAYOUT ] NEWS ARCHIVE

*/
.l-news-archive {
	margin: 40px auto;
}
.l-news-archive ul {
	margin: 0 0 30px 0;
	list-style-type: none;
}
.l-news-archive ul li {
	padding: 15px 0;
	border-bottom: 1px solid #a9b6c3;
}
.l-news-archive ul dl {
	display: flex;
	align-items: center;
}
.l-news-archive ul dt {
	flex-shrink: 0;
	flex-basis: 130px;
	font-size: 14px;
}
.l-news-archive ul .c-badge {
	margin: 0 10px 0 0;
}
.l-news-archive ul .c-badge:last-child {
	margin: 0;
}
.l-news-archive ul a {
	display: inline-block;
	margin: 10px 0 0 0;
	text-decoration: none;
	color: inherit;
}
.l-news-archive ul h3 {
	padding-left: 130px;
	font-weight: inherit;
}
/* HOVER */
.device-pc .l-news-archive ul a:hover {
	text-decoration: underline;
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-news-archive {
		margin: 20px 0 40px 0;
	}
	.l-news-archive ul h3 {
		padding-left: 0;
	}
	.l-news-archive ul dl {
		display: block;
	}
	.l-news-archive ul dt {
		flex-basis: auto;
		margin-bottom: 10px;
	}
}

/* ==================================================

	[ LAYOUT ] CONTACT

*/
.l-contact__frame {
	padding: 40px 0;
	background-color: var(--color-standard);
	border-radius: 50px 0 50px 0;
	text-align: center;
	color: #fff;
}
.l-contact__frame h3 {
	margin: 0 0 30px 0;
	font-size: 16px;
}
.l-contact__row {
	display: flex;
	padding: 0 20px;
}
.l-contact__row > div {
	flex-basis: 50%;
	padding: 0 20px;
}
.l-contact__form,
.l-contact__faq,
.l-contact__tel {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 95px;
	background-color: #fff;
	border-radius: 10px;
	line-height: 1.2;
	color: #000;
}
.l-contact__form-lg,
.l-contact__faq-lg {
	min-height: 118px;
}
.l-contact__form,
.l-contact__faq {
	position: relative;
	text-decoration: none;
	font-weight: 700;
	font-size: 15px;
}
.l-contact__form > span:first-child,
.l-contact__faq > span:first-child {
	display: flex;
	align-items: center;
}
.l-contact__form > span:first-child::before,
.l-contact__faq > span:first-child::before {
	content: '';
	display: block;
	margin-right: 0.3em;
	width: 24px;
	height: 24px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.l-contact__form > span:first-child::before {
	background-image: url(../img/common/icon-contact-mail.svg);
}
.l-contact__faq > span:first-child::before {
	background-image: url(../img/common/icon-contact-faq.svg);
}
.l-contact__form::after,
.l-contact__faq::after {
	content: var(--icon-arrow-next);
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -10px;
	width: 20px;
	height: 20px;
	background-color: var(--color-standard-light);
	border-radius: 50%;
	font-family: 'icon' !important;
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	color: #fff;
}
.l-contact__tel {
	flex-direction: column;
}
.l-contact__tel dl {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
}
.l-contact__tel dt {
	display: flex;
	align-items: center;
	margin-right: 0.5em;
	font-size: 15px;
}
.l-contact__tel dt::before {
	content: '';
	display: block;
	margin-right: 0.3em;
	width: 24px;
	height: 24px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-contact-phone.svg);
	background-size: contain;
}
.l-contact__tel dd {
	font-family: "Sen", sans-serif;
	font-size: 24px;
}
.l-contact__tel p {
	margin-top: 5px;
	font-size: 13px;
	line-height: 1.5;
}
.l-contact__tel p span {
	display: inline-block;
}
.l-contact__text {
	margin-top: 5px;
	font-weight: 400;
	font-size: 13px;
	line-height: 1.7;
}
/* HOVER */
.device-pc .l-contact__form,
.device-pc .l-contact__faq {
	transition: opacity 0.3s ease;
}
.device-pc .l-contact__form:hover,
.device-pc .l-contact__faq:hover {
	opacity: 0.8;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-contact__row {
		display: block;
		margin: 0 auto;
		padding: 0;
		max-width: 480px;
	}
	.l-contact__row > div {
		padding: 0 0 40px 0;
	}
	.l-contact__row > div:last-child {
		padding: 0;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-contact__frame {
		padding: 20px;
	}
	.l-contact__frame h3 {
		margin: 0 0 20px 0;
	}
	.l-contact__row {
		display: block;
		padding: 0;
	}
	.l-contact__row > div {
		padding: 0 0 20px 0;
	}
	.l-contact__form,
	.l-contact__faq,
	.l-contact__tel {
		padding: 20px 0;
		min-height: 70px;
	}
	.l-contact__text {
		font-size: 12px;
	}
}
@media only screen and (max-width: 360px) {
	.l-contact__frame h3 {
		font-size: 15px;
	}
	.l-contact__form {
		font-size: 14px;
	}
	.l-contact__tel dt {
		font-size: 13px;
	}
	.l-contact__tel dd {
		font-size: 22px;
	}
}

/* ==================================================

	[ LAYOUT ] HEADER

*/
.l-header-kv {
	padding-top: 30px;
	text-align: center;
}
.l-header-kv__frame {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
	height: 360px;
	border-radius: 50px 0 50px 0;
	background-position: center;
	background-size: cover;
	color: #fff;
}
.l-header-kv__frame::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
}
.l-header-kv__frame h1,
.l-header-kv__frame h2 {
	position: relative;
	font-size: 36px;
	line-height: 1.4;
}
.l-header-kv-short .l-header-kv__frame {
	height: 210px;
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-header-kv {
		padding-top: 20px;
	}
	.l-header-kv__frame {
		height: 188px;
		border-radius: 20px 0 20px 0;
	}
	.l-header-kv__frame h1,
	.l-header-kv__frame h2 {
		font-size: 24px;
	}
	.l-header-kv-short .l-header-kv__frame {
		height: 106px;
	}
}
@media only screen and (max-width: 375px) {
	.l-header-kv__frame h1,
	.l-header-kv__frame h2 {
		font-size: 6.4vw;
	}
}


/* ==================================================

	[ LAYOUT ] HEADER CAROUSEL

*/
.l-header-carousel {
	overflow: hidden;
	position: relative;
	height: 400px;
}
.l-header-carousel + .container > .section:first-child,
.l-header-carousel + .container-middle > .section:first-child {
	margin-top: 60px;
}
.l-header-carousel__item {
	height: 400px;
	background-color: #fff;
	transform-style: preserve-3d;
}
.l-header-carousel__item a {
	display: block;
	width: 100%;
	height: 100%;
}
.l-header-carousel__item picture,
.l-header-carousel__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-header-carousel .slick-dots {
	display: flex;
	gap: 15px;
	position: absolute;
	z-index: 1;
	bottom: 15px;
	right: 40px;
}
.l-header-carousel .slick-dots button {
	display: block;
	overflow: hidden;
	width: 15px;
	height: 15px;
	border: 1px solid #fff;
	border-radius: 50%;
	background-color: #e7ebee;
	color: transparent;
}
.l-header-carousel .slick-dots .slick-active button {
	background-color: var(--color-standard-light);
	pointer-events: none;
	outline: none;
}
.l-header-carousel a[href="#"] {
	opacity: 1 !important;
}
@media only screen and (min-width: 1366px) {
	.l-header-carousel,
	.l-header-carousel__item {
		height: 29.2826vw;
	}
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-header-carousel,
	.l-header-carousel__item {
		height: 40.8163vw;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-header-carousel,
	.l-header-carousel__item {
		height: 80vw;
	}
	.l-header-carousel .slick-dots {
		right: 0;
		justify-content: center;
		width: 100%;
	}
	.l-header-carousel + .container > .section:first-child,
	.l-header-carousel + .container-middle > .section:first-child {
		margin-top: 40px;
	}
}

/* ==================================================

	[ LAYOUT ] HEADER HEADING

*/
.l-header-heading {
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	color: var(--color-standard);
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-header-heading {
		font-size: 24px;
	}
}

/* ==================================================

	[ LAYOUT ] FLEX

*/
.l-flex {
	display: flex;
}
.l-flex > *:first-child {
	flex-shrink: 0;
}

/* ==================================================

	[ LAYOUT ] TABLE

*/
.l-table {
	display: table;
}
.l-table > * {
	display: table-row;
}
.l-table > * > * {
	display: table-cell;
}

/* ==================================================

	[ LAYOUT ] LIST

*/

/*

	MARGIN
	
*/
.l-list-margin > * {
	margin-bottom: 0.8rem;
}
.l-list-margin > *:last-child {
	margin-bottom: 0;
}

/*

	INDENT
	
*/
.l-list-indent {
	list-style-type: none;
}
.l-list-indent > * {
	padding-left: 1em;
	text-indent: -1em;
}

/*

	ACCORDION

*/
.l-list-accordion > li {
	margin-bottom: 25px;
}
.l-list-accordion > li:last-child {
	margin-bottom: 0;
}
.l-list-accordion > li > button {
	display: flex;
	align-items: center;
	position: relative;
	padding: 15px 60px 15px 30px;
	width: 100%;
	min-height: 70px;
	background-color: var(--color-standard-bright);
	text-align: left;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.l-list-accordion > li > button i {
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 30px;
	height: 30px;
	background-color: #fff;
	border-radius: 50%;
	transform: translateY(-50%);
}
.l-list-accordion > li > button i::before,
.l-list-accordion > li > button i::after {
	content: '';
	display: block;
	position: absolute;
	top: 13px;
	left: 6px;
	width: 18px;
	height: 4px;
	background-color: var(--color-standard);
	border-radius: 999px;
}
.l-list-accordion > li > button i::after {
	transform: rotate(90deg);
}
.l-list-accordion > li > button + div {
	overflow: hidden;
	height: 0;
	transition: height 0.4s ease;
}
.l-list-accordion > li > button + div > div {
	padding: 50px 60px;
}
.l-list-accordion > li[aria-expanded="true"] > button,
.device-pc .l-list-accordion  > li > button:hover {
	background-color: var(--color-standard);
	color: #fff;
}
.l-list-accordion > li[aria-expanded="true"] > button i::after {
	content: none;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-list-accordion > li > button + div > div {
		padding: 40px 30px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-list-accordion > li {
		margin-bottom: 20px;
	}
	.l-list-accordion > li > button {
		padding: 12px 50px 12px 15px;
		min-height: 55px;
		text-align: left;
		font-weight: 500;
		font-size: 15px;
		line-height: 1.3;
	}
	.l-list-accordion > li > button i {
		right: 10px;
	}
	.l-list-accordion > li > button + div > div {
		padding: 20px 15px;
	}
}

/*

	FAQ
	
*/
.l-list-faq > li > button {
	padding-left: 60px;
}
.l-list-faq > li > button::before {
	content: 'Q';
	display: block;
	position: absolute;
	top: 44%;
	left: 20px;
	margin-right: 15px;
	font-weight: 700;
	font-size: 32px;
	color: var(--color-standard);
	transform: translateY(-50%);
	transition: color 0.3s ease;
}
.l-list-faq > li > button + div > div {
	position: relative;
	padding: 35px 0 30px 100px;
	line-height: 1.7;
}
.l-list-faq > li > button + div > div::before {
	content: 'A';
	display: block;
	position: absolute;
	top: 25px;
	left: 60px;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.3;
	color: #e0301d;
}
.l-list-faq > li[aria-expanded="true"] > button::before,
.device-pc .l-list-faq > li > button:hover::before {
	color: #fff;
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-list-faq > li > button {
		padding-left: 45px;
	}
	.l-list-faq > li > button::before {
		left: 10px;
	}
	.l-list-faq > li > button + div > div {
		padding: 25px 0 10px 45px;
	}
	.l-list-faq > li > button + div > div::before {
		top: 15px;
		left: 13px;
	}
}

/*

	PRIMARY
	
*/
.l-list-primary {
	list-style-type: none;
}
.l-list-primary__item {
	display: flex;
	align-items: flex-start;
	margin-bottom: 60px;
}
.l-list-reverse .l-list-primary__item {
	flex-direction: row-reverse;
}
.l-list-primary__item:last-child {
	margin-bottom: 0;
}
.l-list-primary__image {
	flex-basis: 360px;
	position: relative;
}
.l-list-primary__image img {
	width: 100%;
	height: auto;
}
.l-list-primary__base {
	position: relative;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
	background-color: var(--color-gray);
}
.l-list-primary__base-normal {
	border-radius: 0;
	background-color: transparent;
}
.l-list-primary__title,
.l-list-primary__image dl {
	position: absolute;
	top: 10px;
	right: 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-top: 5px;
	width: 86px;
	height: 86px;
	background-color: #fff;
	border: 2px solid var(--color-standard);
	border-radius: 50%;
	text-align: center;
	color: var(--color-standard);
}
.l-list-primary__title {
	padding-top: 0;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
}
.l-list-primary__image dt {
	font-weight: 700;
	font-size: 14px;
	line-height: 1.1;
}
.l-list-primary__image dd {
	font-family: "Sen", sans-serif;
	font-size: 38px;
	line-height: 1.1;
}
.l-list-primary__image .l-list-primary__en {
	margin-bottom: -0.1em;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.1;
}
.l-list-primary__detail {
	flex: 1;
	padding-left: 40px;
}
.l-list-reverse .l-list-primary__detail {
	padding-left: 0;
	padding-right: 40px;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-list-primary__image {
		flex-basis: 300px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-list-primary__item {
		display: block;
		margin-bottom: 40px;
	}
	.l-list-primary__detail,
	.l-list-reverse .l-list-primary__detail {
		margin-top: 15px;
		padding: 0;
	}
}

/* ==================================================

	[ LAYOUT ] FIXED BUTTON CTA

*/
.l-fixed-btn-cta {
	position: fixed;
	z-index: 10;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px 0;
	background-color: #fff;
}
.l-fixed-btn-cta__single {
	display: flex;
	justify-content: center;
	padding-left: 5px;
	padding-right: 5px;
}
.l-fixed-btn-cta__wrap {
	display: flex;
	justify-content: center;
}
@media only screen and (min-width: 769px) {
	.l-fixed-btn-cta .c-btn {
		min-width: 300px;
		min-height: initial;
		font-size: 18px;
	}
	.l-fixed-btn-cta .c-btn img {
		width: 24px;
	}
	.l-fixed-btn-cta__wrap > div {
		padding: 0 20px;
	}
}
@media only screen and (max-width: 768px) {
	.l-fixed-btn-cta {
		padding: 10px 5px;
	}
	.l-fixed-btn-cta .c-btn {
		min-width: initial;
		min-height: 46px;
	}
	.l-fixed-btn-cta__wrap .c-btn {
		padding: 0 28px 2px 2.5vw;
		font-size: 13px;
	}
	.l-fixed-btn-cta__wrap .c-btn img {
		margin-bottom: -2px;
	}
	.l-fixed-btn-cta__wrap .c-btn::after {
		right: 8px;
		width: 15px;
		height: 15px;
		font-size: 15px;
	}
	.l-fixed-btn-cta__wrap {
		display: table;
		width: 100%;
	}
	.l-fixed-btn-cta__wrap > div {
		display: table-cell;
		padding: 0 5px;
	}
	.l-fixed-btn-cta__wrap .c-btn img {
		margin-right: 5px;
	}
}
@media only screen and (max-width: 370px) {
	.l-fixed-btn-cta__wrap .c-btn {
		padding: 0 22px 2px 1vw;
		font-size: 12px;
	}
	.l-fixed-btn-cta__wrap .c-btn::after {
		right: 5px;
	}
}

/* ==================================================

	[ LAYOUT ] FIXED BAR CTA

*/
.l-fixed-cta {
	position: fixed;
	z-index: 10;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px 0;
	background-color: #40899b;
	color: #fff;
}
.l-fixed-cta .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 910px;
}
.l-fixed-cta h2 {
	padding-right: 10px;
	font-size: 20px;
	line-height: 1.5;
}
.l-fixed-cta .c-btn {
	flex-shrink: 0;
	background-color: #fff;
	border-color: #40899b;
}
/* SP */
@media only screen and (max-width: 980px) {
	.l-fixed-cta .container {
		padding: 0 20px;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-fixed-cta {
		padding: 0;
	}
	.l-fixed-cta .container {
		padding: 10px;
		min-height: 56px;
	}
	.l-fixed-cta h2 {
		position: relative;
		padding-right: 30px;
		font-size: 12px;
	}
	.l-fixed-cta .c-btn {
		overflow: hidden;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		padding: 0;
		min-height: initial;
		width: 100%;
		height: 100%;
		border-radius: 0;
		background-color: transparent;
		text-indent: -999em;
	}
	.l-fixed-cta .c-btn::after {
		text-indent: 0;
	}
}

/* ==================================================

	[ LAYOUT ] ENVIRONMENT POINT

*/
.l-environment-point {
	margin: 120px 0;
	padding: 80px 0;
	border-radius: 50px 0 50px 0;
	background-color: #b6ea8a;
}
.l-environment-point h2 {
	margin: 0 0 40px 0;
}
.l-environment-point ul {
	display: flex;
	margin: 0 -20px;
}
.l-environment-point li {
	width: 100%;
	padding: 0 20px;
}
.l-environment-point__card {
	position: relative;
	padding: 50px 25px 25px 25px;
	height: 100%;
	border-radius: 10px;
	background-color: #fff;
}
.l-environment-point__card dl {
	position: absolute;
	top: -22px;
	right: 25px;
	display: flex;
	align-items: flex-end;
	font-family: "Sen", sans-serif;
	color: var(--color-standard);
}
.l-environment-point__card dt {
	padding: 0 0.3em 0.7em 0;
	font-size: 14px;
	line-height: 1.2;
}
.l-environment-point__card dd {
	font-size: 50px;
	line-height: 1.2;
}
.l-environment-point__card h3 {
	margin-bottom: 15px;
	font-size: 20px;
	line-height: 1.5;
	color: #e0301d;
}
.l-environment-point__card p {
	line-height: 1.5;
}
/* TB */
@media only screen and (max-width: 980px) {
	.l-environment-point ul {
		display: block;
		margin: 0;
	}
	.l-environment-point li {
		margin: 0 0 50px 0;
		padding: 0;
	}
	.l-environment-point li:last-child {
		margin: 0;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.l-environment-point {
		margin: 50px 0;
	}
}

/* ==================================================

	[ LAYOUT ] STAFF VOICE

*/
.l-staff-voice {
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 960px;
}
.l-staff-voice__person {
	width: 152px;
}
.l-staff-voice__balloon {
	flex: 1;
	display: flex;
	align-items: center;
	padding-left: 70px;
}
.l-staff-voice__balloon > div {
	flex: 1;
	position: relative;
	display: block;
	padding: 30px 40px;
	border-radius: 25px;
	background-color: var(--color-standard-bright);
}
.l-staff-voice__balloon > div::before {
	content: '';
	display: block;
	position: absolute;
	right: 100%;
	top: 50%;
	width: 38px;
	height: 28px;
	background-color: var(--color-standard-bright);
	transform: translate(0, -50%);
	clip-path: polygon(0% 0%, 100% 10%, 100% 100%);
}
.l-staff-voice__check {
	margin-top: 5px;
}
.l-staff-voice__check li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 26px;
}
.l-staff-voice__check li:last-child {
	margin-bottom: 0;
}
.l-staff-voice__check li::before {
	content: '';
	display: block;
	position: absolute;
	top: 0.24em;
	left: 0;
	width: 20px;
	height: 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon-staff-voice-check.svg);
	background-size: contain;
}
@media only screen and (max-width: 980px) {
	.l-staff-voice__break {
		display: none;
	}
}
@media only screen and (max-width: 768px) {
	.l-staff-voice {
		display: block;
	}
	.l-staff-voice__person {
		margin: 20px auto 25px auto;
	}
	.l-staff-voice__balloon {
		display: block;
		padding-left: 0;
	}
	.l-staff-voice__balloon > div {
		padding: 15px 20px;
	}
	.l-staff-voice__balloon > div::before {
		top: auto;
		bottom: 99%;
		right: 50%;
		width: 18px;
		height: 15px;
		transform: translate(9px, 0);
		clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
	}
	.l-staff-voice__check li::before {
		width: 18px;
		height: 18px;
	}
}

/* ==================================================

	[ LAYOUT ] MESSAGE

*/
.l-message__wrap::after {
	content: '';
	display: block;
	clear: both;
}
.l-message__photo {
	float: left;
	margin: 0 40px 40px 0;
	max-width: 360px;
}
.l-message-reverse .l-message__photo {
	float: right;
	margin: 0 0 40px 40px;
}
.l-message__wrap p {
	margin-bottom: 1.2em;
}
@media only screen and (max-width: 768px) {
	.l-message__photo,
	.l-message-reverse .l-message__photo {
		float: none;
		margin: 0 auto 25px auto;
		max-width: 240px;
	}
	.l-message__photo--wide,
	.l-message-reverse .l-message__photo--wide {
		max-width: 360px;
	}
}

/* ==================================================

	[ COMPONENT ] BUTTON

*/
.c-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 45px;
	min-width: 250px;
	min-height: 54px;
	background-color: var(--color-standard-bright);
	border: 1px solid var(--color-standard-bright);
	border-radius: 999em;
	text-decoration: none !important;
	text-align: center !important;
	font-weight: 500;
	line-height: 1.5 !important;
	color: #000 !important;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	transition: all 0.3s ease;
}
.c-btn img {
	margin-right: 0.5rem;
	width: 20px;
	height: auto;
}
.c-btn::after {
	content: var(--icon-arrow-next);
	display: block;
	position: absolute;
	top: 50%;
	right: 12px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-size: contain;
	background-color: #fff;
	font-family: 'icon' !important;
	font-size: 20px;
	line-height: 1;
	color: var(--color-standard);
	transition: background-color 0.3s ease, color 0.3s ease;
}
/* HOVER */
.device-pc .c-btn:hover {
	background-color: #fff;
	box-shadow: 0 3px 6px rgba(0,0,0,0);
	transform: translateY(3px);
}
.device-pc .c-btn:hover::after {
	background-color: var(--color-standard);
	color: #fff;
}
/* DISABLED */
.c-btn:disabled {
	background-color: #bebebe;
	border-color: #bebebe;
	color: #686868;
	pointer-events: none;
	opacity: 0.5;
}
.c-btn:disabled::after {
	color: #686868;
}

/* DATA */
.c-btn-data {
	background-color: var(--color-blue-pure);
	border: 1px solid var(--color-blue-pure);
}
.c-btn-data::after {
	background-color: #fff;
	color: var(--color-blue-pure);
}
/* HOVER */
.device-pc .c-btn-data:hover {
	background-color: #fff;
}
.device-pc .c-btn-data:hover::after {
	background-color: var(--color-blue-pure);
	color: #fff;
}

/* ACTION */
.c-btn-action {
	background-color: var(--color-orange-pure);
	border: 1px solid var(--color-orange-pure);
}
.c-btn-action::after {
	background-color: #fff;
	color: var(--color-orange-pure);
}
/* HOVER */
.device-pc .c-btn-action:hover {
	background-color: #fff;
}
.device-pc .c-btn-action:hover::after {
	background-color: var(--color-orange-pure);
	color: #fff;
}

/* LARGE */
.c-btn.c-btn-lg {
	min-height: 80px;
	font-size: 18px;
}
.c-btn.c-btn-lg img {
	width: 24px;
}
@media only screen and (max-width: 768px) {
	.c-btn.c-btn-lg {
		min-height: 62px;
		font-size: 15px;
	}
	.c-btn.c-btn-lg img {
		width: 20px;
	}
}

/* ==================================================

	[ COMPONENT ] BUTTON CLOSE

*/
.c-btn-close {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 176px;
	min-height: 54px;
	background-color: var(--color-standard-bright);
	border-radius: 999em;
	text-decoration: none;
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
	color: #000;
}
.c-btn-close i {
	display: block;
	position: relative;
	margin-right: 10px;
	width: 26px;
	height: 26px;
	transform: rotate(45deg);
}
.c-btn-close i::before,
.c-btn-close i::after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.c-btn-close i::after {
	transform: rotate(90deg);
}

/* ==================================================

	[ COMPONENT ] BUTTON CARD

*/
.c-btn-card {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px 35px;
	min-width: 200px;
	min-height: 82px;
	height: 100%;
	border-radius: 10px;
	background-color: var(--color-gray);
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
	transition: all 0.3s ease;
}
.c-btn-card::after {
	content: var(--icon-arrow-next);
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -10px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: var(--color-standard-light);
	font-family: 'icon' !important;
	font-size: 20px;
	line-height: 1;
	color: #fff;
}
.c-btn-card > span {
	display: block;
}
.c-btn-card > span > span {
	display: inline-block;
}
.c-btn-card img {
	width: 100%;
	height: auto;
}
.c-btn-card.c-btn-sm {
	min-height: 62px;
}
.c-btn-card.c-btn-card-logo,
.c-btn-card.c-btn-card-icon,
.c-btn-card.c-btn-card-icon-middle {
	flex-direction: column;
}
.c-btn-card.c-btn-card-icon {
	padding: 10px;
}
.c-btn-card.c-btn-card-icon .icon {
	margin: -2px 0 5px 0;
	width: 38px;
}
.c-btn-card.c-btn-card-icon-middle .icon {
	margin: -2px 0 2px 0;
	width: 50px;
}
.c-btn-card.c-btn-card-logo {
	min-height: 110px;
}
.c-btn-card.c-btn-card-logo img {
	width: auto;
	height: 50px;
}
/* HOVER */
.device-pc .c-btn-card:hover {
	/*transform: translateY(3px);*/
	background-color: var(--color-gray-hover);
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-btn-card {
		min-height: 62px;
	}
	.c-btn-card.c-btn-card-icon {
		flex-direction: row;
		justify-content: flex-start;
		padding: 10px 40px 10px 20px;
		text-align: left;
	}
	.c-btn-card.c-btn-card-icon > span {
		padding: 5px 0;
	}
	.c-btn-card.c-btn-card-icon .icon {
		margin: 0 20px 0 0;
		padding: 0;
		width: 38px;
	}
}

/* ==================================================

	[ COMPONENT ] BUTTON ANCHOR

*/
.c-btn-anchor {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	padding: 10px 45px 10px 30px;
	min-height: 54px;
	background-color: var(--color-gray);
	border-radius: 999px;
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.c-btn-anchor::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 7px 0 7px;
	border-color: #000 transparent transparent transparent;
	transform: translateY(-50%);
	transition: border-color 0.3s ease;
}
/* HOVER */
.device-pc .c-btn-anchor:hover {
	background-color: var(--color-standard);
	color: #fff;
}
.device-pc .c-btn-anchor:hover::after {
	border-top-color: #fff;
}

/* ==================================================

	[ COMPONENT ] BUTTON BANNER

*/
.c-btn-banner {
	z-index: 0;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 56.25%;
	height: 0;
	border-radius: 20px 0 20px 0;
	text-align: center;
	font-weight: 700;
	font-size: 29px;
	line-height: 1.4;
	color: #fff;
}
.c-btn-banner > span {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.c-btn-banner > span:first-child {
	background-size: cover;
	transition: transform 0.6s ease;
}
.c-btn-banner > span:first-child::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
}
.c-btn-banner > span:last-child {
	padding: 0 70px;
}
.c-btn-banner > span:last-child span {
	display: inline-block;
}
.c-btn-banner em {
	display: block;
}
.c-btn-banner::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-color: var(--color-standard-light);
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/common/icon-arrow-banner.svg);
	background-size: contain;
	transform: translateY(-50%);
}
.c-btn-banner .kv-consumer {
	background-position: 50% 20%;
	background-image: url(../img/common/nav-kv-consumer.jpg);
}
.c-btn-banner .kv-consumer-plan-flow {
	background-position: center;
	background-image: url(../img/common/nav-kv-consumer-plan-flow.jpg);
}
.c-btn-banner .kv-consumer-plan-ampere {
	background-position: center;
	background-image: url(../img/common/nav-kv-consumer-plan-ampere.jpg);
}
.c-btn-banner .kv-corporation {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation.jpg);
}
.c-btn-banner .kv-corporation-plan01 {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan01.jpg);
}
.c-btn-banner .kv-corporation-plan02 {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan02.jpg);
}
.c-btn-banner .kv-corporation-plan03 {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan03.jpg);
}
.c-btn-banner .kv-corporation-plan04 {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan04.jpg);
}
.c-btn-banner .kv-corporation-plan05 {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan05.jpg);
}
.c-btn-banner .kv-corporation-plan-achievements {
	background-position: center;
	background-image: url(../img/common/nav-kv-corporation-plan-achievements.jpg);
}
.c-btn-banner .kv-corporation-other {
	background-position: 50% 0%;
	background-image: url(../img/common/nav-kv-corporation-other.jpg);
}
.c-btn-banner .kv-partner-sales {
	background-position: center;
	background-image: url(../img/common/nav-kv-partner-sales.jpg);
}
/* 2025-07-24 - lp-006 の CSS を追加 */
.c-btn-banner .kv-lp-006 {
	background-position: center;
	background-image: url(../img/common/nav-kv-lp-006.jpg);
}

.c-btn-banner .kv-partner-constructor {
	background-position: center;
	background-image: url(../img/common/nav-kv-partner-constructor.jpg);
}
.c-btn-banner .kv-company-brand {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-brand.jpg);
}
.c-btn-banner .kv-company-business {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-business.jpg);
}
.c-btn-banner .kv-company-message {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-message.jpg);
}
.c-btn-banner .kv-company-about {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-about.jpg);
}
.c-btn-banner .kv-company-history {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-history.jpg);
}
.c-btn-banner .kv-company-group {
	background-position: center;
	background-image: url(../img/common/nav-kv-company-group.jpg);
}
.c-btn-banner .kv-download {
	background-position: center;
	background-image: url(../img/common/nav-kv-download.jpg);
}
.c-btn-banner .kv-column {
	background-position: center;
	background-image: url(../img/common/nav-kv-column.jpg);
}
.c-btn-banner .kv-column-environment-glossary {
	background-position: center;
	background-image: url(../img/common/nav-kv-column-environment-glossary.jpg);
}
.c-btn-banner .kv-column-energy-glossary {
	background-position: center;
	background-image: url(../img/common/nav-kv-column-energy-glossary.jpg);
}
/* LARGE */
.c-btn-banner.c-btn-lg {
	border-radius: 50px 0 50px 0;
	font-size: 40px;
}
.c-btn-banner.c-btn-lg > span:last-child {
	padding: 0 75px;
}
.c-btn-banner.c-btn-lg .c-btn-banner__small {
	font-size: 29px;
}
.c-btn-banner.c-btn-lg::after {
	width: 46px;
	height: 46px;
}
/* SMALL */
.c-btn-banner.c-btn-sm {
	font-size: 20px;
}
.c-btn-banner.c-btn-sm::after {
	background-size: 70% 70%;
}
.c-btn-banner.c-btn-sm > span:last-child {
	padding: 0 60px;
}
/* LAYOUT */
.l-btn-banner-col-2 .c-btn-banner {
	padding-top: 29.8%;
}
.l-btn-banner-col-2 .c-btn-banner.c-btn-lg {
	padding-top: 56.25%;
}
/* HOVER */
.device-pc .c-btn-banner:hover > span:first-child {
	transform: scale(1.1);
}
@media only screen and (min-width: 981px) and (max-width: 1260px) {
	.c-btn-banner {
		font-size: calc(29 / 1260 * 100vw);
	}
	.c-btn-banner.c-btn-lg {
		font-size: calc(40 / 1260 * 100vw);
	}
	.c-btn-banner.c-btn-lg > span:last-child {
		padding: 0 calc(80 / 1260 * 100vw);
	}
	.c-btn-banner.c-btn-lg::after {
		right: calc(20 / 1260 * 100vw);
		width: calc(46 / 1260 * 100vw);
		height: calc(46 / 1260 * 100vw);
	}
	.c-btn-banner.c-btn-lg .c-btn-banner__small {
		font-size: calc(29 / 1260 * 100vw);
	}
}
@media only screen and (max-width: 980px) {
	.c-btn-banner {
		padding-top: 26%;
	}
	.c-btn-banner.c-btn-lg::after {
		right: 20px;
		width: 34px;
		height: 34px;
	}
	/* LARGE */
	.c-btn-banner.c-btn-lg {
		font-size: 29px;
	}
	/* LAYOUT */
	.l-btn-banner-col-2 .c-btn-banner {
		padding-top: 29.8%;
	}
	.l-btn-banner-col-2 .c-btn-banner.c-btn-lg {
		padding-top: 36%;
	}
	.l-btn-banner-col-3 .c-btn-banner {
		padding-top: 56.25%;
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-btn-banner {
		font-size: 20px;
		font-size: min(20px, 5.3vw);
	}
	.c-btn-banner::after,
	.c-btn-banner.c-btn-lg::after {
		right: 10px;
		width: 28px;
		height: 28px;
	}
	.c-btn-banner > span:last-child {
		padding: 0 50px !important;
	}
	/* LARGE */
	.c-btn-banner.c-btn-lg {
		font-size: 24px;
		font-size: min(24px, 6.4vw);
	}
	.c-btn-banner.c-btn-lg .c-btn-banner__small {
		font-size: 24px;
		font-size: min(24px, 6.4vw);
	}
	/* SMALL */
	.c-btn-banner.c-btn-sm {
		font-size: 20px;
		font-size: min(20px, 5.3vw);
	}
	.c-btn-banner.c-btn-sm::after {
		background-size: contain;
	}
	/* LAYOUT */
	.l-btn-banner-col-2 .c-btn-banner.c-btn-lg {
		padding-top: 56.25%;
	}
	.l-btn-banner-col-3 .c-btn-banner {
		padding-top: 29.8%;
	}
}

/* ==================================================

	[ COMPONENT ] PULLDOWN

*/
.c-pulldown {
	display: flex;
}
.c-pulldown > div {
	position: relative;
}
.c-pulldown button {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	padding: 10px 80px 10px 25px;
	min-height: 50px;
	min-width: 260px;
	border: 1px solid #000;
	border-radius: 999px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
	transition: opacity 0.3s ease;
}
.c-pulldown button::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
	background-color: #717171;
}
.c-pulldown button::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	transform: translateY(-50%);
	transition: border-color 0.3s ease;
}
.c-pulldown button:disabled {
	opacity: 0.3;
}
.c-pulldown nav {
	display: none;
	overflow: hidden;
	position: absolute;
	z-index: 10;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 5px;
	border-radius: 10px;
	border: 1px solid #000;
}
.c-pulldown nav[aria-hidden="false"] {
	display: block;
}
.c-pulldown nav ul {
	overflow-y: auto;
	padding: 10px 0;
	max-height: 320px;
	background-color: var(--color-gray);
	border-radius: 10px;
	text-align: center;
	line-height: 1.5;
}
.c-pulldown nav a {
	display: block;
	padding: 10px 0;
	transition: background-color 0.3s ease;
}
.c-pulldown nav .current {
	background-color: #717171;
	color: #fff;
	pointer-events: none;
}
.c-pulldown select {
	display: none;
}
/* HOVER */
.c-pulldown nav a:hover {
	background-color: var(--color-gray-hover);
}

/* ==================================================

	[ COMPONENT ] BUTTON PULLDOWN

*/
.c-btn-pulldown {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
}
.c-btn-pulldown > div {
	position: relative;
}
.c-btn-pulldown button {
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	padding: 10px 60px 10px 25px;
	min-width: 262px;
	min-height: 50px;
	border: 1px solid #000;
	border-radius: 999px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.5;
}
.c-btn-pulldown button::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 100%;
	background-color: #717171;
}
.c-btn-pulldown button::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 7px 0 7px;
	border-color: #fff transparent transparent transparent;
	transform: translateY(-50%);
	transition: border-color 0.3s ease;
}
.c-btn-pulldown nav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 15px;
}
.c-btn-pulldown nav[aria-hidden="false"] {
	display: block;
}
.c-btn-pulldown nav ul {
	padding: 10px 0;
	background-color: var(--color-gray);
	border: 1px solid #000;
	border-radius: 10px;
	text-align: center;
	line-height: 1.5;
}
.c-btn-pulldown nav a {
	display: block;
	padding: 10px 0;
	transition: background-color 0.3s ease;
}
.c-btn-pulldown nav .current {
	background-color: #717171;
	color: #fff;
	pointer-events: none;
}
/* HOVER */
.c-btn-pulldown nav a:hover {
	background-color: var(--color-gray-hover);
}

/* ==================================================

	[ COMPONENT ] IMAGE

*/
.c-img-frame {
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}

/* ==================================================

	[ COMPONENT ] HEADLINE

*/
.c-headline {
	padding: 20px 0;
	text-align: center;
	font-size: 36px;
	color: var(--color-standard);
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-headline {
		font-size: 24px;
	}
}
@media only screen and (max-width: 374px) {
	.c-headline {
		font-size: calc(24 / 374 * 100vw);
	}
}

/* ==================================================

	[ COMPONENT ] HEADING

*/

/*

	CONTENT
	
*/
.c-heading-content {
	padding-top: 60px;
	text-align: center;
	font-size: 36px;
	line-height: 1.3;
}
.c-heading-content::after {
	content: '';
	display: block;
	margin: 40px auto 0 auto;
	width: 160px;
	height: 3px;
	background-color: var(--color-standard-light);
}
.c-heading-content span {
	display: block;
	font-size: 24px;
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-heading-content {
		padding-top: 40px;
		font-size: 24px;
		line-height: 1.5;
	}
	.c-heading-content::after {
		margin: 35px auto 0 auto;
		height: 2px;
	}
	.c-heading-content span {
		font-size: 20px;
	}
}
@media only screen and (max-width: 374px) {
	.c-heading-content {
		font-size: calc(24 / 374 * 100vw);
	}
	.c-heading-content span {
		font-size: calc(20 / 374 * 100vw);
	}
}

/*

	SECTION
	
*/
.c-heading-section {
	text-align: center;
	font-size: 30px;
	line-height: 1.5;
}
.c-heading-section__marker {
	background: linear-gradient(transparent 68%, #b6ea8a 68%, #b6ea8a 94%, transparent 94%);
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-heading-section {
		font-size: 22px;
	}
}
@media only screen and (max-width: 374px) {
	.c-heading-section {
		font-size: calc(22 / 374 * 100vw);
	}
}

/*

	UNDERLINE
	
*/
.c-heading-underline {
	position: relative;
	margin-bottom: 1rem;
	padding: 0 0 10px 0;
	font-size: 20px;
	line-height: 1.4;
}
.c-heading-underline::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
}

/*

	NUMBER
	
*/
.c-heading-number {
	position: relative;
	margin-bottom: 1rem;
	padding: 0 0 10px 40px;
	width: 100%;
	font-size: 20px;
	line-height: 1.4;
}
.c-heading-number::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
}
.c-heading-number i {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0.04em;
	left: 0;
	padding-bottom: 0.1em;
	width: 28px;
	height: 28px;
	background-color: #fff;
	border-radius: 5px;
	line-height: 1;
}

/*

	FLOW
	
*/
.c-heading-flow {
	display: flex;
	align-items: flex-start;
	margin-bottom: 1rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 20px;
}
.c-heading-flow > span:first-child {
	display: block;
	flex-shrink: 0;
	padding: 0 1em;
	background-color: #73c92d;
	border-radius: 8px;
}
.c-heading-flow > span:last-child {
	display: block;
	padding-left: 1em;
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-heading-flow {
		flex-direction: column;
		align-items: center;
		margin-bottom: 1rem;
		padding-bottom: 0;
		text-align: center;
		font-size: 18px;
	}
	.c-heading-flow > span:last-child {
		margin: 0.5rem 0 1rem 0;
		padding: 0;
	}
}

/* ==================================================

	[ COMPONENT ] BADGE

*/
.c-badge {
	display: inline-block;
	padding: 0.5em;
	border: 1px solid #a9b6c3;
	background-color: #f6f8f9;
	font-size: 12px;
	line-height: 1.1;
}
.c-badge-consumer {
	border: 1px solid #3b9744;
	background-color: #ecf5ed;
}
.c-badge-corporation {
	border: 1px solid #73c92d;
	background-color: #f1f9ea;
}

/* ==================================================

	[ COMPONENT ] LIST

*/

/*

	DISC
	
*/
.c-list-disc > * {
	position: relative;
	padding-left: 1em;
	line-height: 1.6;
}
.c-list-disc > *::before {
	content: '';
	position: absolute;
	top: 0.56em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-standard-bright);
	font-size: inherit;
}

/*

	NUMBER
	
*/
.c-list-number {
	counter-reset: number 0; 
}
.c-list-number > li {
	position: relative;
	padding-left: 1.2em;
}
.c-list-number > li::before {
	counter-increment: number 1;
	content: counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}

/*

	NUMBER NOTE
	
*/
.c-list-number-note {
	counter-reset: number 0; 
	list-style-type: none;
}
.c-list-number-note > li {
	position: relative;
	padding-left: 2.5em;
}
.c-list-number-note > li::before {
	counter-increment: number 1;
	content: "※" counter(number) ".";
	position: absolute;
	top: 0;
	left: 0;
}

/* ==================================================

	[ COMPONENT ] CARD

*/

/*

	CARD
	
*/
.c-card {
	border-radius: 10px;
	background-color: var(--color-gray);
}


/*

	BORDER RADIUS
	
*/
.c-card-border-radius {
	min-height: 100%;
	background-color: #fff;
	border: 3px solid var(--color-standard-bright);
	border-radius: 10px;
}

/*

	BORDER STANDARD
	
*/
.c-card-border-standard {
	min-height: 100%;
	background-color: #fff;
	border: 3px solid var(--color-standard-bright);
	border-radius: 20px 0 20px 0;
}

/* ==================================================

	[ COMPONENT ] CROP

*/
.c-crop-standard {
	z-index: 1;
	will-change: transform;
	display: block;
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}
.c-crop-standard-lg {
	z-index: 1;
	will-change: transform;
	display: block;
	overflow: hidden;
	border-radius: 50px 0 50px 0;
}

/* ==================================================

	[ COMPONENT ] NOTES

*/
.c-notes > li {
	padding-left: 1em;
	text-indent: -1em;
}

/* ==================================================

	[ COMPONENT ] TABLE

*/
.c-table {
	width: 100%;
}
.c-table th,
.c-table td {
	padding: 15px 20px;
	border: 1px solid #707070;
}
.c-table th {
	background-color: var(--color-gray);
	vertical-align: middle;
	text-align: center;
	font-weight: 700;
}
.c-table td {
	vertical-align: top;
}
.c-table-center td {
	vertical-align: middle;
}
/* SP */
@media only screen and (max-width: 768px) {
	.c-table {
		font-size: 14px;
	}
	.c-table th,
	.c-table td {
		padding: 12px 15px;
	}
	.c-table-static-sp th {
		width: 1em;
		white-space: nowrap;
	}
}

/* ==================================================

	[ COMPONENT ] ARROW

*/
.c-arrow {
	display: flex;
	justify-content: center;
}
.c-arrow::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 44px 55px 0 55px;
	border-color: var(--color-standard-bright) transparent transparent transparent;
}

/* ==================================================

	[ COMPONENT ] RADIUS STANDARD

*/
.c-radius-standard {
	overflow: hidden;
	border-radius: 20px 0 20px 0;
}

/* ==================================================

	[ PROJECT ] SITEMAP

*/
.p-sitemap {
	line-height: 1.5;
}
.p-sitemap .list {
	display: flex;
	flex-wrap: wrap;
	margin: 40px -10px 0 -10px;
}
.p-sitemap .list > div {
	flex-basis: 50%;
	margin-bottom: 50px;
	padding: 0 10px;
}
.p-sitemap .list h3 {
	font-size: 20px;
}
.p-sitemap .list ul {
	margin-top: 20px;
	padding-left: 1em;
	font-weight: 500;
	font-size: 15px;
}
.p-sitemap .list ul li {
	margin-bottom: 0.6em;
}
.device-pc .p-sitemap .list a {
	transition: color 0.3s ease;
}
.device-pc .p-sitemap .list a:hover {
	color: var(--color-standard);
}
/* SP */
@media only screen and (max-width: 768px) {
	.p-sitemap .list {
		display: block;
		margin: 40px 0 0 0;
	}
	.p-sitemap .list > div {
		margin-bottom: 40px;
		padding: 0;
	}
	.p-sitemap .list h3 {
		font-size: 18px;
	}
}