@charset "UTF-8";
/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
html {
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}

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

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
		text-decoration: inherit; /* 1 */
		vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *		IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
		cursor: default; /* 1 */
		line-height: 1.5; /* 2 */
		-moz-tab-size: 4; /* 3 */
		-o-tab-size: 4;
		   tab-size: 4; /* 3 */
		-webkit-tap-highlight-color: transparent; /* 4 */
		-ms-text-size-adjust: 100%; /* 5 */
		-webkit-text-size-adjust: 100%; /* 5 */
		word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
		margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
		margin: 0;
		font-weight: normal;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
		margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
		margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
		height: 0; /* 1 */
		overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
		display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
		list-style: none;
		padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
		font-family: monospace, monospace; /* 1 */
		font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
		background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
		text-decoration: underline;
		-webkit-text-decoration: underline dotted;
		        text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
		font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
		font-family: monospace, monospace; /* 1 */
		font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
		font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
img {
		max-width: 100%;
		height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
		vertical-align: top;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
		display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
		display: none;
		height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
		border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
		border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
		fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
		overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
		border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
		margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
		overflow: visible; /* 1 */
		text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
		-webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
		border: 1px solid #a0a0a0; /* 1 */
		padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
		overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
		display: table; /* 1 */
		max-width: 100%; /* 1 */
		white-space: normal; /* 1 */
		color: inherit; /* 2 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
		display: inline-block; /* 1 */
		vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
		text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
		margin: 0; /* 1 */
		overflow: auto; /* 2 */
		resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
		padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
		-webkit-appearance: textfield; /* 1 */
		outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
		height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
		color: inherit;
		opacity: 0.5;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
		-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
		-webkit-appearance: button; /* 1 */
		font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
		border-style: none;
		padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
		outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
		box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
		display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
		background-color: white;
		border: solid;
		color: black;
		display: block;
		height: -moz-fit-content;
		height: -webkit-fit-content;
		height: fit-content;
		left: 0;
		margin: auto;
		padding: 1em;
		position: absolute;
		right: 0;
		width: -moz-fit-content;
		width: -webkit-fit-content;
		width: fit-content;
}

dialog:not([open]) {
		display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
		display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
		display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
		display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
			in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
		-ms-touch-action: manipulation; /* 1 */
		touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
		display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
		cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
		cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
		cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
		display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
		clip: rect(0, 0, 0, 0);
		position: absolute;
}

/**
 * Add
 */
dl dd {
		margin-left: 0;
}

figure {
		margin: 0;
}

menu {
		padding: 0;
}

picture {
		display: block;
}

p {
		margin: 0;
		padding: 0;
}

ul, li {
		margin: 0;
		padding: 0;
		list-style: none;
}

img {
		max-width: 100%;
		height: auto;
}
@media screen and (max-width: 767px) {
		img {
				width: 100%;
		}
}

/*--------------- form reset ------------*/
button {
		-webkit-transition: 0.3s;
		transition: 0.3s;
		cursor: pointer;
		font-family: inherit;
		font-size: 100%;
		display: block;
		background-color: transparent;
		padding: 0;
		margin: 0;
		border: none;
}
button:hover {
		opacity: 0.7;
}

input, select, textarea {
		font-family: inherit;
		font-size: 100%;
		color: inherit;
}

input[type=checkbox], input[type=radio] {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
}

label {
		position: relative;
		display: block;
		word-break: break-all;
}
label input[type=checkbox] + span {
		position: relative;
		padding-left: 15px;
}
label input[type=radio] + span {
		position: relative;
		padding-left: 25px;
}
label input[type=checkbox] {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		width: 1px;
}
label input[type=checkbox] + span::before {
		border-color: #1E2777;
}
label input[type=checkbox]:checked + span::before {
		background-color: #1E2777;
}
label input[type=checkbox]:checked + span::before {
		background-color: #fff;
}
label input[type=checkbox]:checked + span::after {
		border: 2px solid #313131;
		border-width: 0 2px 2px 0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
}
label input[type=checkbox] + span::before, label input[type=checkbox] + span::after {
		position: absolute;
		top: 7px;
		left: 0;
		display: inline-block;
		content: "";
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}
label input[type=checkbox] + span::before {
		z-index: 0;
		background-color: transparent;
		width: 12px;
		height: 12px;
		border: 1px #313131 solid;
}
label input[type=checkbox] + span::after {
		z-index: 1;
		margin: 2px 4px;
		width: 6px;
		height: 9px;
}
label input[type=radio] {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		width: 1px;
}
label input[type=radio] + span::before {
		position: absolute;
		display: inline-block;
		content: "";
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border: 1px solid #686868;
		border-radius: 50%;
		z-index: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		left: 0;
		background-color: transparent;
		width: 14px;
		height: 14px;
}
label input[type=radio]:checked + span::before {
		border-color: #007acc;
}
label input[type=radio]:checked + span::after {
		position: absolute;
		display: inline-block;
		content: "";
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		background-color: #007acc;
		border-radius: 50%;
		z-index: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		left: 3px;
		width: 8px;
		height: 8px;
}

/*-------- text email tel ---------*/
input[type=text], input[type=email], input[type=tel] {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: #fff;
}

textarea, select {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: #fff;
}

input[type=button], input[type=submit] {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: #fff;
}

button[type=submit], input[type=reset], button[type=button] {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-color: transparent;
}

/*-------- select ------------*/
select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
}
select::-ms-expand {
		display: none;
}

input[type=text], input[type=email], input[type=tel] {
		width: 100%;
		max-width: 100%;
}

textarea {
		width: 100%;
		max-width: 100%;
		resize: vertical;
		overflow: auto;
}

input[type=button] {
		color: #fff;
		border-style: none;
}
input[type=submit] {
		color: #fff;
		border-style: none;
}
input[type=submit]:hover {
		opacity: 0.5;
}

@media screen and (max-width: 767px) {
		input[type=text], input[type=email], input[type=tel] {
				width: 100%;
				font-size: calcvw(28) !important;
		}
		textarea {
				width: 100%;
				font-size: calcvw(28) !important;
		}
}
@media screen and (max-width: 640px) {
		input[type=text], input[type=email], input[type=tel] {
				width: 100%;
				font-size: 16px !important;
		}
		textarea {
				width: 100%;
				font-size: 16px !important;
		}
}
::-webkit-input-placeholder {
		color: #B7B7B7;
}
::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder, ::-ms-input-placeholder, ::placeholder {
		color: #B7B7B7;
}

/*$base-width: 1400px;*/
/*weight*/
/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
		font-family: "Noto Sans JP";
		font-style: normal;
		font-weight: 400;
		src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
		font-display: swap;
}
@font-face {
		font-family: "Noto Sans JP";
		font-style: normal;
		font-weight: 700;
		src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
		font-display: swap;
}
@font-face {
		font-family: "Noto Sans JP vertical";
		font-style: normal;
		font-weight: 400;
		src: url("fonts/NS-400-vertical.woff2") format("woff2"), url("fonts/NS-400-vertical.woff2") format("woff");
		font-display: swap;
}
@font-face {
		font-family: "Noto Sans JP vertical";
		font-style: normal;
		font-weight: 700;
		src: url("fonts/NS-700-vertical.woff2") format("woff2"), url("fonts/NS-700-vertical.woff2") format("woff");
		font-display: swap;
}
/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
		margin: 0;
		font-size: 100%;
}

ul {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
}

img {
		vertical-align: top;
}

li {
		list-style-type: none;
		vertical-align: baseline;
}

input,
button,
textarea,
select {
		margin: 0;
		padding: 0;
		background: none;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
}

/*--------------------------------------
　Base
---------------------------------------*/
img {
		max-width: 100%;
		height: auto;
}

a {
		color: #666666;
		text-decoration: underline;
}

a:hover {
		text-decoration: none;
}

.fl {
		float: left;
}

.fr {
		float: right;
}

.ct {
		text-align: center;
}

.strong {
		font-weight: bold;
}

.f110 {
		font-size: 110%;
}

.f120 {
		font-size: 120%;
}

.f130 {
		font-size: 130%;
}

.f150 {
		font-size: 150%;
}

.f200 {
		font-size: 200%;
}

.f300 {
		font-size: 300%;
}

span.txt_bold {
		font-weight: bold;
}

span.marker {
		background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ccc));
		background: linear-gradient(transparent 50%, #ccc 50%);
}

/*--------------------------------------------------------------------------
   Original Start
---------------------------------------------------------------------------*/
html {
		font-size: 62.5%;
}
@media screen and (max-width: 1530px) {
		html {
				font-size: 0.6535947712vw;
		}
}
@media screen and (max-width: 767px) {
		html {
				font-size: 2.6666666667vw;
		}
}

body {
		color: #383842;
		font-size: 1.5rem;
		font-family: "Noto Sans JP", sans-serif;
}
body.is-fixed {
		position: fixed;
		width: 100%;
		left: 0;
		top: 0;
}

dl, ul, ol {
		margin: 0;
		padding: 0;
}

img {
		image-rendering: -webkit-optimize-contrast;
		vertical-align: middle;
}

.safari img {
		image-rendering: auto;
}

label {
		cursor: pointer;
}

/* link
--------------------------------------------------*/
a {
		color: inherit;
		/*&:hover,
		&:focus {
			text-decoration: underline;
		}*/
}
a:link, a:active, a:visited {
		text-decoration: none;
}

@media print, screen and (min-width: 768px) {
		a[href^="tel:"] {
				display: inline-block;
				pointer-events: none;
		}
		a {
				-webkit-transition: 0.3s;
				transition: 0.3s;
		}
		a:hover {
				opacity: 0.7;
		}
		.js-imgHover a:hover,
		.js-imgHover a:hover img {
				opacity: 1;
		}
		a,
		a * {
				outline: 1px solid transparent;
				outline: none;
		}
}
/*$base-width: 1400px;*/
/*weight*/
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
		display: block;
		clear: both;
		content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
		text-align: left;
}

.u-alignC {
		text-align: center;
}

.u-alignR {
		text-align: right;
}

/* --------------------------------------------------
  preload
-------------------------------------------------- */
.u-preload * {
		-webkit-transition: none !important;
		transition: none !important;
}

/* --------------------------------------------------
  font,text
-------------------------------------------------- */
.u-underline {
		text-decoration: underline !important;
}

.u-bold {
		font-weight: bold;
}

.l-header {
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 100;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: opacity 0.5s ease-out;
		transition: opacity 0.5s ease-out;
}
.l-header-toggle {
		display: inline-block;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		position: absolute;
		width: 9.7rem;
		height: 7.2rem;
		background: #fff;
		right: 2.7rem;
		top: 2rem;
		z-index: 10;
		border-radius: 10rem;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		        box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		cursor: pointer;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.l-header-toggle:hover {
				opacity: 0.7;
		}
}
@media screen and (max-width: 767px) {
		.l-header-toggle {
				top: 1.5rem;
				right: 1rem;
				width: 8rem;
				height: 5rem;
		}
}
.l-header-toggle .btn {
		width: 3.2rem;
		height: 1.8rem;
		margin: 2rem auto 0;
		position: relative;
}
@media screen and (max-width: 767px) {
		.l-header-toggle .btn {
				margin-top: 1.1rem;
		}
}
.l-header-toggle .btn span {
		display: inline-block;
		-webkit-transition: all 0.4s;
		transition: all 0.4s;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #383842;
		border-radius: 0;
}
.l-header-toggle .btn span:nth-of-type(1) {
		top: 0;
}
.l-header-toggle .btn span:nth-of-type(2) {
		top: 0.8rem;
}
.l-header-toggle .btn span:nth-of-type(3) {
		bottom: 0;
}
.l-header-toggle .txt:before {
		content: "";
		width: 3.4rem;
		height: 0.8rem;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		top: 4.8rem;
		background: url(img/txt_menu.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.l-header-toggle .txt:before {
				top: 3.2rem;
				width: 3rem;
				height: 1rem;
		}
}
.l-header-toggle.is-open .btn span:nth-of-type(1) {
		-webkit-transform: translateY(0.8rem) rotate(25deg);
		        transform: translateY(0.8rem) rotate(25deg);
}
.l-header-toggle.is-open .btn span:nth-of-type(2) {
		opacity: 0;
}
.l-header-toggle.is-open .btn span:nth-of-type(3) {
		-webkit-transform: translateY(-0.8rem) rotate(-25deg);
		        transform: translateY(-0.8rem) rotate(-25deg);
}
.l-header-toggle.is-open .txt:before {
		background-image: url(img/txt_menu_close.svg);
}
.l-header-logo {
		width: 16.5rem;
}
@media screen and (max-width: 767px) {
		.l-header-logo {
				width: 14rem;
		}
}
.l-header-wrap {
		display: none;
		position: absolute;
		right: 1.5rem;
		top: 2.5rem;
		width: 43rem;
		max-height: calc(100svh - 6rem);
		overflow-y: auto;
		scrollbar-gutter: stable;
		padding: 2.2rem 4rem 7rem;
		border-radius: 3rem;
		background-color: #F2F2F8;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		        box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		-webkit-overflow-scrolling: touch;
		 /* Firefox向け: 細く、枠なしの見た目 */
		 scrollbar-width: thin;
		 scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
		 
}
/* WebKit系 (Chrome, Safari, Edge) のスクロールバー細く＆枠感なしに */
.l-header-wrap::-webkit-scrollbar {
	width: 3px; /* スクロールバーの幅 */
  }
  .l-header-wrap::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.2) ; /* スクロールバーの“つまみ” */
	border-radius: 10px;
	border: none; /* ← これが"枠感"をなくすポイント */
	transition: none;
  }
  
  .l-header-wrap::-webkit-scrollbar-track {
	background: transparent; /* 背景を透明にして枠のような見た目を回避 */
  }

@media screen and (max-width: 767px) {
		.l-header-wrap {
				width: calc(100% - 3rem);
				-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
				        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
		}
}
.l-header-wrap.is-active {
		display: block;
		overflow-y: auto;
}
.l-header-nav {
		margin-top: 2rem;
}
@media screen and (max-width: 767px) {
		.l-header-nav {
				margin-top: 2rem;
		}
}
.l-header-nav .-gnav > li {
		border-bottom: 1px solid #707070;
}
.l-header-nav .-gnav > li:last-child {
		border: none;
}
.l-header-nav li {
		font-size: 1.7rem;
		font-weight: 900;
}
@media screen and (max-width: 767px) {
		.l-header-nav li {
				font-size: 1.4rem;
		}
}
.l-header-nav li .categoryttl {
		display: block;
		cursor: pointer;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		padding: 2rem 3.5rem 2rem 0;
		position: relative;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.l-header-nav li .categoryttl:hover {
				opacity: 0.6;
		}
}
@media screen and (max-width: 767px) {
		.l-header-nav li .categoryttl {
				padding: 1.5rem 3rem 1.5rem 0;
		}
}
.l-header-nav li .categoryttl:after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 2.8rem;
		height: 2.8rem;
		background: url(img/icn_header_open.svg) no-repeat center center/contain;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
		.l-header-nav li .categoryttl:after {
				width: 2rem;
				height: 2rem;
		}
}
.l-header-nav li .categoryttl.is-active:after {
		background-image: url(img/icn_header_close.svg);
}
.l-header-nav li .undernav {
		display: none;
		margin-bottom: 1.5rem;
}
.l-header-nav li .undernav li a {
		font-size: 1.5rem;
		display: block;
		padding: 0.7rem 3.5rem 0.7rem 1rem;
		font-weight: 400;
		position: relative;
}
@media screen and (max-width: 767px) {
		.l-header-nav li .undernav li a {
				font-size: 1.3rem;
				padding: 0.7rem 2rem 0.7rem 0.5rem;
		}
}
.l-header-nav li .undernav li a:after {
		content: "";
		display: block;
		position: absolute;
		right: 1.5rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 1.7rem;
		height: 1rem;
		background: url(img/icn_header_arrow.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.l-header-nav li .undernav li a:after {
				right: 0;
		}
}
.l-header-nav li .categorylink {
		display: block;
		cursor: pointer;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		padding: 2rem 3rem 2rem 0;
		position: relative;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.l-header-nav li .categorylink:hover {
				opacity: 0.6;
		}
}
.l-header-nav li .categorylink:after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 2.8rem;
		height: 2.8rem;
		background: url(img/icn_arrow.svg) no-repeat center center/contain;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
		.l-header-nav li .categorylink:after {
				width: 2rem;
				height: 2rem;
		}
}
.l-header.is-on, .l-header.is-show {
		opacity: 1;
		pointer-events: auto;
}

/* --------------------------------------------------
    footer
-------------------------------------------------- */
.l-footer {
		padding: 6.2rem 0 0;
		background: #DCDCE6;
		border-radius: 4rem 4rem 0 0;
		margin-top: -2rem;
		position: relative;
}
@media screen and (max-width: 767px) {
		.l-footer {
				border-radius: 0;
		}
}
.l-footer-pagetop {
		width: 7rem;
		height: 7rem;
		position: fixed;
		bottom: 2rem;
		right: 2rem;
		z-index: 80;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
@media screen and (max-width: 767px) {
		.l-footer-pagetop {
				width: 6rem;
				height: 6rem;
		}
}
.l-footer-pagetop.is-foot {
		position: absolute;
		top: -3.6rem;
}
@media screen and (max-width: 767px) {
		.l-footer-pagetop.is-foot {
				top: -12rem;
		}
}
.l-footer-pagetop.is-on {
		opacity: 1;
		pointer-events: auto;
}
.l-footer-about {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		        justify-content: space-between;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		background: #F2F2F8;
		border: 1px solid #DCDCE6;
		border-radius: 30rem;
		padding: 14.2rem 15rem 5rem 10rem;
		gap: 2.5rem;
		position: relative;
		margin-top: -15rem;
}
@media screen and (max-width: 767px) {
		.l-footer-about {
				padding: 12rem 2rem 2rem;
				border-radius: 30rem 30rem 2rem 2rem;
				display: block;
		}
}
.l-footer-about:before {
		content: "";
		position: absolute;
		top: 5.3rem;
		left: 0;
		right: 0;
		width: 66.7rem;
		height: 4.4rem;
		background: url(img/txt_footer_about_pc.svg) no-repeat center center/contain;
		margin: 0 auto;
}
@media screen and (max-width: 767px) {
		.l-footer-about:before {
				background-image: url(img/txt_footer_about_sp.svg);
				width: 19.8rem;
				height: 5.7rem;
				top: 4rem;
		}
}
.l-footer-about .-logo {
		width: 19.2rem;
		margin-left: 4.2rem;
}
@media screen and (max-width: 767px) {
		.l-footer-about .-logo {
				width: 16rem;
				margin: 0 auto 3rem;
		}
}
.l-footer-about .-txt {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
}
.l-footer-about .-txt .ttl {
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.7;
		margin-bottom: 3.7rem;
}
@media screen and (max-width: 767px) {
		.l-footer-about .-txt .ttl {
				line-height: 1.7;
				margin-bottom: 2rem;
		}
}
.l-footer-about .-txt .detail {
		font-size: 1.5rem;
		line-height: 2;
}
@media screen and (max-width: 767px) {
		.l-footer-about .-txt .detail {
				margin-bottom: 3rem;
		}
}
.l-footer-main {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		        justify-content: space-between;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		gap: 3.5rem;
		margin-top: 6rem;
}
@media screen and (max-width: 767px) {
		.l-footer-main {
				display: block;
				margin-top: 2rem;
		}
}
.l-footer-info {
		width: 38.5rem;
}
@media screen and (max-width: 767px) {
		.l-footer-info {
				width: 100%;
				margin-bottom: 3rem;
		}
}
.l-footer-info .l-footer-disclaimer {
		font-size: 1.3rem;
		margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
		.l-footer-info .l-footer-disclaimer {
				margin-bottom: 3rem;
				font-size: 1.2rem;
		}
}
.l-footer-info .l-footer-note {
		font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
		.l-footer-info .l-footer-note {
				font-size: 1.2rem;
		}
}
.l-footer-body {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
}
@media screen and (max-width: 767px) {
		.l-footer-body {
				margin: 0 -5%;
		}
}
.l-footer-body .-box a, .l-footer-body .-box span {
		display: inline-block;
		color: #383842;
		position: relative;
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box a, .l-footer-body .-box span {
				padding: 1rem 3rem 1rem 0;
				width: 100%;
				display: block;
		}
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box a {
				padding: 1.5rem 3rem 1.5rem 0;
				width: 100%;
				display: block;
		}
		.l-footer-body .-box a:after {
				content: "";
				position: absolute;
				right: 0;
				top: 50%;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
				-webkit-transition: all 0.3s;
				transition: all 0.3s;
				background: url(img/icn_header_arrow.svg) no-repeat center center/contain;
				width: 1.7rem;
				height: 0.9rem;
		}
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box span {
				padding: 1rem 3rem 1rem 0;
				width: 100%;
				display: block;
		}
		.l-footer-body .-box span:after {
				content: "";
				position: absolute;
				right: 0;
				top: 50%;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
				background: url(img/icn_header_open.svg) no-repeat center center/contain;
				width: 2rem;
				height: 2rem;
		}
}
.l-footer-body .-box .ttl {
		font-size: 1.4rem;
		font-weight: 700;
		border-bottom: 1px solid #383842;
		margin-bottom: 1rem;
		padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box .ttl {
				margin-bottom: 0;
				padding: 0 5%;
				border-bottom: 1px solid #CFCFCF;
		}
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box .ttl.js-spAccordion a, .l-footer-body .-box .ttl.js-spAccordion span {
				pointer-events: none;
		}
}
.l-footer-body .-box .ttl.js-spAccordion.is-active a:after, .l-footer-body .-box .ttl.js-spAccordion.is-active span:after {
		background-image: url(img/icn_header_close.svg);
}
.l-footer-body .-box .list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1rem 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem 1rem;
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box .list {
				-ms-grid-columns: 1fr;
				grid-template-columns: repeat(1, 1fr);
				gap: 0.2rem;
				margin-bottom: 2rem;
		}
}
.l-footer-body .-box .list li a {
		font-size: 1.2rem;
		line-height: 1.5;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box .list li a {
				display: block;
				padding: 0.7rem 1rem 0.7rem 3rem;
				border-bottom: 1px solid #CFCFCF;
		}
		.l-footer-body .-box .list li a:after {
				background-image: url(img/icn_arrow_simplewh.svg);
				width: 1.4rem;
				height: 0.8rem;
				right: 1.5rem;
		}
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box .list.js-spAccordion-body {
				display: none;
		}
}
.l-footer-body .-box + .-box {
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.l-footer-body .-box + .-box {
				margin-top: 0;
		}
}
.l-footer-copyright {
		background: #383842;
		color: #fff;
		padding: 1.5rem 0;
		text-align: center;
		font-size: 1.2rem;
		margin-top: 8rem;
}
@media screen and (max-width: 767px) {
		.l-footer-copyright {
				margin-top: 0;
				padding: 0.8rem 0;
		}
}
.l-footer-copyright .c-inner {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		        justify-content: space-between;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
}
@media screen and (max-width: 767px) {
		.l-footer-copyright .c-inner {
				display: block;
		}
}
.l-footer-copyright .-copy a {
		color: #fff;
}
.l-footer-copyright .sitemap a {
		color: #fff;
}

/* --------------------------------------------------
    fixedbnr
-------------------------------------------------- */
.l-fixedbnr {
		position: fixed;
		/* top: calc(50% - -5.75rem); */
		bottom: 20%;
		right:0;
		width: 18.5rem;
		height: 18.5rem;
		border-radius: 30rem;
		background: #E1FF00;
		-webkit-box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
		        box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.1);
		overflow: hidden;
		border: 0.1rem solid #fff;
		z-index: 90;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		z-index: 90;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr {
				width: 13.9rem;
				height: 13.9rem;
				right: auto;
				left: 1rem;
				top: auto;
				bottom: 1rem;
		}
}
.l-fixedbnr a {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		        justify-content: center;
		-ms-flex-align: center;
		-webkit-box-align: center;
		        align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		width: 100%;
		height: 100%;
		position: relative;
		padding-bottom: 1rem;
}
.l-fixedbnr a:before {
		content: "";
		position: absolute;
		top: 2.5rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 9.1rem;
		height: 1.8rem;
		background: url(img/txt_fixedbnr_check.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr a:before {
				content: none;
		}
}
.l-fixedbnr a:after {
		content: "";
		position: absolute;
		bottom: 2.5rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 2.6rem;
		height: 2.6rem;
		background: url(img/icn_fixedbnr_arrow.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr a:after {
				bottom: 0.5rem;
		}
}
.l-fixedbnr a .-txt01 {
		font-size: 1.4rem;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr a .-txt01 {
				font-size: 1.3rem;
				line-height: 1.2;
				text-align: center;
		}
}
.l-fixedbnr a .-name {
		font-size: 2rem;
		font-weight: 700;
		background: #2351A1;
		color: #fff;
		padding: 0.2rem 1.5rem;
		border-radius: 30rem;
		margin: 0.5rem 0 0.5rem;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr a .-name {
				padding: 0.1rem 1rem 0.3rem;
				margin: 0.4rem 0 0.2rem;
		}
}
.l-fixedbnr a .-txt02 {
		font-size: 1.4rem;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.l-fixedbnr a .-txt02 {
				text-align: center;
				font-size: 1.3rem;
				letter-spacing: -0.02rem;
				margin-bottom: 1rem;
		}
}
.l-fixedbnr.is-on {
		opacity: 1;
		pointer-events: auto;
}
.l-fixedbnr.is-foot {
		opacity: 0;
		pointer-events: none;
}

/* --------------------------------------------------
    fixedlogo
-------------------------------------------------- */
.l-fixedlogo {
		position: fixed;
		top: 0;
		left: 0;
		width: 17rem;
		text-align: center;
		background: #fff;
		border-radius: 0 0 2rem 0;
		padding: 1rem;
		opacity: 0;
		pointer-events: none;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		z-index: 90;
}
@media screen and (max-width: 767px) {
		.l-fixedlogo {
				display: none;
		}
}
.l-fixedlogo img {
		width: 15rem;
}
.l-fixedlogo.is-on {
		opacity: 1;
	box-shadow: 2px 2px 20px #38384221;
    pointer-events: auto;
}
.l-fixedlogo.is-foot {
		opacity: 0;
		pointer-events: none;
}

/* --------------------------------------------------
	section size
-------------------------------------------------- */
/*下層、PCのみ非表示*/
@media screen and (min-width: 768px) {
		.l-header-toggle {
				display: none;
		}
}

/*==============================================
レイアウト
===============================================*/
.c-inner {
		width: 110rem;
		margin: 0 auto;
}
@media screen and (max-width: 767px) {
		.c-inner {
				width: 100%;
				padding: 0 5%;
		}
}

.l-page {
		background: url(img/bg_common_pc.jpg);
		padding: 7rem 0 22rem;
}
@media screen and (max-width: 767px) {
		.l-page {
				padding: 11rem 0 20rem;
				background: url(img/bg_common_sp.jpg);
		}
}
.l-page-wrap {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		        justify-content: flex-start;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		gap: 5rem;
}
@media screen and (max-width: 767px) {
		.l-page-wrap {
				display: block;
				padding: 0;
		}
}
@media screen and (min-width: 768px) {
		.l-page-wrap.c-inner {
				width: 120rem;
		}
}
.l-page-left {
		width: 90rem;
}
@media screen and (max-width: 767px) {
		.l-page-left {
				width: 100%;
		}
}
.l-page-right {
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
}

.l-underhead {
		position: relative;
}
.l-underhead .logo {
		position: absolute;
		left: 3rem;
    top: 1.6rem;
    width: 15rem;
}
@media screen and (max-width: 767px) {
		.l-underhead .logo {
				left: 0;
				right: 0;
				margin: 0 auto;
				        top: 4.5rem;
        width: 13rem;
		}
	
}
.l-underhead .pre {
		font-size: 1.1rem;
		line-height: 1.3;
		position: absolute;
		z-index: 2;
		left: calc(67% + 2.5rem);
		top: 0.2rem;
		text-align: right;
}
@media screen and (max-width: 767px) {
		.l-underhead .pre {
				left: 1rem;
				top: 0.5rem;
				text-align: left;
		}
}

/*==============================================
左コンテンツ
===============================================*/
.page-container {
		background: #fff;
		padding: 4.5rem 5rem;
		margin-top: 10rem;
		position: relative;
		border-radius: 5rem;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		        box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		z-index: 2;
}
@media screen and (max-width: 767px) {
		.page-container {
				margin-top: 0;
				padding: 2rem 5% 5rem;
		}
}

/*==============================================
右コンテンツ（サイドナビ）
===============================================*/
.page-sidenavi {
		margin-top: 10rem;
}
.page-sidenavi .sidenavi-list > li {
		font-size: 1.5rem;
		border-radius: 1rem;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		        box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
}
@media screen and (max-width: 767px) {
		.page-sidenavi .sidenavi-list > li {
				font-size: 1.4rem;
		}
}
.page-sidenavi .sidenavi-list > li + li {
		margin-top: 4rem;
}
.page-sidenavi .sidenavi-list > li .categoryttl {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		        justify-content: flex-start;
		-ms-flex-align: center;
		-webkit-box-align: center;
		        align-items: center;
		background: #5D5D6B;
		border-radius: 1rem 1rem 0 0;
		color: #fff;
		cursor: pointer;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		padding: 1.6rem 3rem 1.6rem 1rem;
		min-height: 6.3rem;
		position: relative;
		font-weight: 700;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.page-sidenavi .sidenavi-list > li .categoryttl:hover {
				opacity: 0.6;
		}
}
@media screen and (max-width: 767px) {
		.page-sidenavi .sidenavi-list > li .categoryttl {
				padding: 1.5rem 3rem 1.5rem 0;
		}
}
.page-sidenavi .sidenavi-list > li .categoryttl:after {
		content: "";
		position: absolute;
		right: 1.5rem;
		top: 50%;
		width: 1.1rem;
		height: 0.7rem;
		background: url(img/icn_sidenav_arrow_wh.svg) no-repeat center center/contain;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
		.page-sidenavi .sidenavi-list > li .categoryttl:after {
				width: 2rem;
				height: 2rem;
		}
}
.page-sidenavi .sidenavi-list > li .undernav {
		margin-bottom: 1.5rem;
		background: #fff;
}
.page-sidenavi .sidenavi-list > li .undernav li a {
		font-size: 1.4rem;
		display: block;
	font-weight: bold;
		padding: 1.6rem 3rem 1.6rem 1rem;
		border-bottom: 1px solid #B4B4BC;
		position: relative;
}
@media screen and (max-width: 767px) {
		.page-sidenavi .sidenavi-list > li .undernav li a {
				font-size: 1.3rem;
				padding: 0.4rem 2rem;
		}
}
.page-sidenavi .sidenavi-list > li .undernav li a:after {
		content: "";
		display: block;
		position: absolute;
		right: 1.5rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 1.1rem;
		height: 0.6rem;
		background: url(img/icn_sidenav_arrow.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.page-sidenavi .sidenavi-list > li .undernav li a:after {
				right: 1rem;
		}
}

/*==============================================
ぱんくず
===============================================*/
#pankuzu {
		max-width: 100%;
		margin: 0 auto 2.5rem;
		padding-bottom: 2rem;
		color: #979797;
		font-size: 1rem;
		white-space: nowrap;
		scrollbar-width: none;
}

@media screen and (max-width: 767px) {
		#pankuzu {
				padding-bottom: 1.5rem;
				margin-bottom: 2rem;
		}
}
#pankuzu *[itemprop=itemListElement] {
		color: #979797;
		padding-right: 0.5rem;
		margin-left: 0.5rem;
}

#pankuzu::-webkit-scrollbar {
		display: none;
}

/*==============================================
simplebar
===============================================*/
.simplebar-scrollbar {
		top: 0 !important;
}

.simplebar-scrollbar::before {
		background: #C7C7C7 !important;
		border-radius: 1rem;
		height: 1rem !important;
		opacity: 1 !important;
}

.simplebar-scrollbar.simplebar-visible::before {
		opacity: 1;
}

.simplebar-track {
		background: #DFDFDF !important;
		height: 1rem !important;
		padding: 0;
		border-radius: 1rem;
}

/*==============================================
TOC
===============================================*/
.toc__wrap {
		background: #F2F2F8;
		border-radius: 1rem;
		max-width: 60rem;
		width: 100%;
		padding: 2rem 6rem;
		margin: 4rem auto;
		position: relative;
}
@media screen and (max-width: 767px) {
		.toc__wrap {
				padding: 2rem;
				width: 110%;
				margin: 2rem -5%;
		}
}
.toc__wrap:before {
		content: "";
		width: 6.5rem;
		height: 1.4rem;
		position: absolute;
		top: 3rem;
		left: 6rem;
		background: url(img/txt_index.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
		.toc__wrap:before {
				left: 3rem;
				top: 3.2rem;
		}
}
.toc__wrap .ttl {
		font-size: 1.6rem;
		font-weight: bold;
		margin: 0.4rem 0 1.2rem 8rem;
		color: #A5A5AD;
}
@media screen and (max-width: 767px) {
		.toc__wrap .ttl {
				margin: 0.6rem 0 1rem 9rem;
		}
}
.toc__wrap .more {
		text-align: right;
		padding: 1rem 0;
		position: relative;
		margin-right: -3.3rem;
}
@media screen and (max-width: 767px) {
		.toc__wrap .more {
				margin-right: 0;
		}
}
.toc__wrap .more .toc_morebtn {
		display: inline-block;
}
.toc__wrap .more .toc_morebtn img {
		width: 13.9rem;
		height: 2.5rem;
		cursor: pointer;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.toc__wrap .more .toc_morebtn:hover {
				opacity: 0.6;
		}
}
.toc__wrap .more .toc_morebtn.is-active img {
		width: 8.9rem;
}

#toc {
		padding: 0 1rem;
		display: -ms-grid;
		display: grid;
		-webkit-transition: 0.3s ease-out;
		transition: 0.3s ease-out;
		counter-reset: mycounter;
}
@media screen and (max-width: 767px) {
		#toc {
				padding: 0 1rem 0;
		}
}
#toc .chapter {
		padding: 0;
		overflow: hidden;
		height: auto;
}
#toc .chapter + .chapter {
		display: none;
}
#toc .chapter .chapter-h {
		font-size: 1.5rem;
		margin: 0.8rem 0 0;
		color: #444;
		padding: 0 0 0.6rem 1.7rem;
		background: none;
		position: relative;
}
#toc .chapter .chapter-h:last-child {
		margin-bottom: 0;
}
#toc .chapter .chapter-h a {
		line-height: 1.4;
		color: #444;
		text-decoration: none;
		padding: 0;
		display: inline-block;
}
#toc .chapter .chapter-h a:hover {
		text-decoration: underline;
}
#toc .chapter .chapter-h br {
		display: none;
}
#toc .chapter .chapter-h.chapter-h-two {
		counter-increment: mycounter;
		position: relative;
		list-style: none;
		padding-left: 3.2rem;
}
#toc .chapter .chapter-h.chapter-h-two:before {
		content: counter(mycounter, decimal-leading-zero);
		color: #26D2CA;
		position: absolute;
		top: 0.2rem;
		left: 0;
		border: none;
		line-height: 1;
		font-size: inherit;
		height: auto;
		margin: 0;
		font-weight: bold;
		font-size: 1.5rem;
}
#toc .chapter .chapter-h.chapter-h-three {
		font-size: 1.3rem;
		margin: 0.4rem 0 0.4rem 3rem;
		list-style: none;
}
@media screen and (max-width: 767px) {
		#toc .chapter .chapter-h.chapter-h-three {
				margin: 0 0 0 3.5rem;
		}
}
#toc .chapter .chapter-h.chapter-h-three:before {
		content: "";
		display: block;
		position: absolute;
		top: 0.4rem;
		left: 0;
		margin: 0;
		line-height: 1;
		width: 1.2rem;
		height: 0.8rem;
		background: url(img/icn_chapter.svg) no-repeat center center/contain;
}

.btn-double {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		        justify-content: center;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		gap: 2rem 2rem;
		margin: 3rem 0;
}
@media screen and (max-width: 767px) {
		.btn-double {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
}
.btn-double .btn-web, .btn-double .btn-internal, .btn-double .catchbtn, .btn-double .voicebtn, .btn-double .voicebnr {
		margin: 0;
		width: calc((100% - 2rem) / 2);
}
@media screen and (max-width: 767px) {
		.btn-double .btn-web, .btn-double .btn-internal, .btn-double .catchbtn, .btn-double .voicebtn, .btn-double .voicebnr {
				width: 100%;
		}
}
.btn-double .btn-web a, .btn-double .btn-web .btn-voice, .btn-double .btn-web .bnr-voice, .btn-double .btn-internal a, .btn-double .btn-internal .btn-voice, .btn-double .btn-internal .bnr-voice, .btn-double .catchbtn a, .btn-double .catchbtn .btn-voice, .btn-double .catchbtn .bnr-voice, .btn-double .voicebtn a, .btn-double .voicebtn .btn-voice, .btn-double .voicebtn .bnr-voice, .btn-double .voicebnr a, .btn-double .voicebnr .btn-voice, .btn-double .voicebnr .bnr-voice {
		width: 100%;
}
.btn-double .catchbtn {
		margin-top: 2rem;
}
.btn-double .catchbtn .btn-web, .btn-double .catchbtn .btn-internal {
		width: 100%;
}

.btn-link {
		display: block;
		margin: 3rem 0;
		text-align: right;
}
.btn-link a {
		position: relative;
		display: inline-block;
		font-size: 1.6rem;
		font-weight: 700;
		padding-right: 4.8rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.btn-link a:before, .btn-link a:after {
		position: absolute;
		right: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.btn-link a:before {
		right: 1.4rem;
		background: url("img/icn_arrow_w.svg") no-repeat center center;
		background-size: 100% auto;
		width: 1rem;
		height: 0.7rem;
		z-index: 2;
}
.btn-link a:after {
		content: "";
		width: 3.7rem;
		height: 2.3rem;
		background: #383842;
		border-radius: 2.7rem;
		z-index: 1;
		border: 1px solid #383842;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.btn-link a:hover {
				opacity: 1;
		}
		.btn-link a:hover:before {
				background-image: url("img/icn_arrow_bk.svg");
		}
		.btn-link a:hover:after {
				background: #fff;
		}
}

.catchbtn {
		position: relative;
		margin: 5rem auto;
		width: 40rem;
}
@media screen and (max-width: 767px) {
		.catchbtn {
				width: 100%;
				margin: 3rem auto;
		}
}
.catchbtn .txt {
		position: absolute;
		left: 1.9rem;
		top: -2.4rem;
		width: 6.7rem;
		height: 6rem;
		z-index: 2;
		cursor: pointer;
}
.catchbtn .btn-web a, .catchbtn .btn-internal a {
		padding: 2.5rem 7.5rem;
}

.btn-web {
		position: relative;
		margin: 3rem auto;
		width: 40rem;
}
@media screen and (max-width: 767px) {
		.btn-web {
				width: 100%;
		}
}
.btn-web a {
		position: relative;
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.25;
		font-weight: 700;
		width: 100%;
		margin: 0 auto;
		background: #E1FF00;
		border-radius: 100rem;
		padding: 2.5rem 4.5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.btn-web a:before, .btn-web a:after {
		position: absolute;
		right: 0.9rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.btn-web a:before {
		right: 1.8rem;
		background: url("img/icn_external.svg") no-repeat center center;
		background-size: 100% auto;
		width: 1.4rem;
		height: 1.4rem;
		z-index: 2;
}
.btn-web a:after {
		content: "";
		width: 3rem;
		height: 3rem;
		background: #fff;
		border-radius: 100%;
		z-index: 1;
}

.btn-internal {
		margin: 3rem auto;
		width: 40rem;
}
@media screen and (max-width: 767px) {
		.btn-internal {
				width: 100%;
		}
}
.btn-internal a {
		position: relative;
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.25;
		font-weight: 700;
		color: #fff;
		background: #2351A1;
		border-radius: 100rem;
		padding: 2.5rem 4.5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.btn-internal a:before, .btn-internal a:after {
		position: absolute;
		right: 0.9rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.btn-internal a:before {
		right: 1.8rem;
		background: url("img/icn_arrow_b.svg") no-repeat center center;
		background-size: 100% auto;
		width: 1.2rem;
		height: 0.8rem;
		z-index: 2;
}
.btn-internal a:after {
		content: "";
		width: 3rem;
		height: 3rem;
		background: #fff;
		border-radius: 100%;
		z-index: 1;
}

.voicebtn {
		margin: 3rem auto;
		width: 40rem;
}
@media screen and (max-width: 767px) {
		.voicebtn {
				width: 100%;
		}
}
.voicebtn .btn-voice {
		position: relative;
}
.voicebtn .btn-voice:before {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
		left: 2.3rem;
		background: url("img/icn_voice.svg") no-repeat center center;
		background-size: 100% auto;
		width: 3.7rem;
		height: 4rem;
		z-index: 2;
}
.voicebtn .btn-voice a {
		position: relative;
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.25;
		font-weight: 700;
		width: 100%;
		margin: 0 auto;
		background: #fff;
		border: 2px solid #1F69D2;
		border-radius: 100rem;
		padding: 1.5rem 6rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.voicebtn .btn-voice a:before, .voicebtn .btn-voice a:after {
		position: absolute;
		right: 0.9rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.voicebtn .btn-voice a:before {
		right: 1.95rem;
		background: url("img/icn_arrow02_b.svg") no-repeat center center;
		background-size: 100% auto;
		width: 0.7rem;
		height: 1.3rem;
		z-index: 2;
}
.voicebtn .btn-voice a:after {
		content: "";
		width: 3rem;
		height: 3rem;
		background: #fff;
		border: 1px solid #1F69D2;
		border-radius: 100%;
		z-index: 1;
}

.voicebnr {
		margin: 3rem auto;
		width: 35.9rem;
}
@media screen and (max-width: 767px) {
		.voicebnr {
				width: 100%;
		}
}
.voicebnr .bnr-voice {
		border: 2px solid #C6C6C6;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.voicebnr .bnr-voice .bnr-txt {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.25;
		font-weight: 700;
		background: #FFF1BA;
		padding: 1.1rem 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.voicebnr .bnr-voice .bnr-txt {
				padding: 1.5rem 1rem;
		}
}
.voicebnr .bnr-voice .bnr-img {
		position: relative;
		display: block;
		padding: 1.9rem 6.7rem 1.9rem 4rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.voicebnr .bnr-voice .bnr-img:before, .voicebnr .bnr-voice .bnr-img:after {
		position: absolute;
		right: 0.9rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.voicebnr .bnr-voice .bnr-img:before {
		right: 1.95rem;
		background: url("img/icn_arrow02_b.svg") no-repeat center center;
		background-size: 100% auto;
		width: 0.7rem;
		height: 1.3rem;
		z-index: 2;
}
.voicebnr .bnr-voice .bnr-img:after {
		content: "";
		width: 3rem;
		height: 3rem;
		background: #fff;
		border: 1px solid #1F69D2;
		border-radius: 100%;
		z-index: 1;
}

.btn-web, .btn-internal, .catchbtn, .voicebtn, .voicebnr {
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
		.btn-web:hover, .btn-internal:hover, .catchbtn:hover, .voicebtn:hover, .voicebnr:hover {
				opacity: 1;
				-webkit-transform: scale(1.1);
				        transform: scale(1.1);
		}
		.btn-web:hover a, .btn-internal:hover a, .catchbtn:hover a, .voicebtn:hover a, .voicebnr:hover a {
				opacity: 1;
		}
}

@media screen and (any-hover: hover) and (min-width: 768px) {
		.catchbtn .btn-web:hover, .catchbtn .btn-internal:hover {
				-webkit-transform: none;
				        transform: none;
		}
}

/* --------------------------------------------------
	section size
-------------------------------------------------- */
.l-page-left {
		position: relative;
}
@media screen and (max-width: 767px) {
		.l-page-left {
				padding-top: 7rem;
		}
}
.l-page-left:after {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		margin: 0 auto;
		display: block;
		content: "";
		background: url("img/deco_pagehead_pc.png") no-repeat center center;
		background-size: 100% auto;
		width: 77.5rem;
		height: 23.7rem;
		z-index: 1;
}
@media screen and (max-width: 767px) {
		.l-page-left:after {
				background: url(img/deco_pagehead_sp.png) center top/contain;
				width: 100%;
				aspect-ratio: 374/134;
		}
}

.page-container h1:not([class]) {
		text-align: center;
		font-size: 4.2rem;
		line-height: 1.4285714286;
		letter-spacing: 0.05em;
		font-weight: 700;
		margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
		.page-container h1:not([class]) {
				font-size: 2.4rem;
				margin-bottom: 2rem;
		}
}
.page-container h1:not([class]) a {
		font-size: 4.2rem;
		line-height: 1.4285714286;
		letter-spacing: 0.05em;
		font-weight: 700;
}
.page-container h2:not([class]) {
		font-size: 3rem;
		line-height: 1.6;
		font-weight: 700;
		color: #fff;
		background: #FB9624;
		border-radius: 1rem;
		border: 2px solid #FFBC71;
		padding: 0.4rem 1.5rem 0.5rem 1.5rem;
		margin: 5rem 0 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container h2:not([class]) {
				font-size: 2.2rem;
			margin: 3rem 0 2rem;
		}
}
.page-container h2:not([class]) a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 3rem;
		line-height: 1.6;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container h2:not([class]) a {
				font-size: 2.2rem;
		}
}
.page-container h3:not([class]) {
		    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: 700;
    border-bottom: 1px solid #B4B4BC;
    padding: 0 1.5rem 0.5rem 4.5rem;
    margin: 5rem 0 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
        background: url(img/icn_check_ct.svg) no-repeat left;
    background-size: 30px;
}
@media screen and (max-width: 767px) {
		.page-container h3:not([class]) {
		font-size: 1.9rem;
        line-height: 1.4;
        margin: 2rem 0 2rem;
        padding: 0.8rem 0 0.8rem 4rem;
        background: url(img/icn_check_ct.svg) no-repeat left;
        background-size: 32px 32px;
		}
}
.page-container h3:not([class]) a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 2.4rem;
		line-height: 2;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container h3:not([class]) a {
				font-size: 2rem;
				line-height: 1.4;
		}
}
.page-container h4:not([class]) {
		font-size: 1.8rem;
		line-height: 1.9;
		font-weight: 700;
		background: #F2F2F8;
		padding: 0 1.5rem 0 1.5rem;
		border-radius: 0.5rem;
		margin: 3rem 0 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container h4:not([class]) {
				font-size: 1.7rem;
				line-height: 1.5;
			margin: 2rem 0 2rem;
				padding: 0.5rem 1.5rem 0.8rem;
		}
}
.page-container h4:not([class]) a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 2rem;
		line-height: 1.9;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container h4:not([class]) a {
				font-size: 1.8rem;
				line-height: 1.5;
		}
}
.page-container h5:not([class]) {
		font-size: 1.8rem;
		line-height: 2;
		font-weight: 700;
		margin-bottom: 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container h5:not([class]) {
				font-size: 1.7rem;
				line-height: 1.5;
		}
}
.page-container h5:not([class]) a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 1.8rem;
		line-height: 2;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container h5:not([class]) a {
				font-size: 1.7rem;
				line-height: 1.5;
		}
}
.page-container h6:not([class]) {
		font-size: 1.6rem;
		line-height: 2;
		font-weight: 700;
		margin-bottom: 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container h6:not([class]) {
				line-height: 1.5;
		}
}
.page-container h6:not([class]) a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 1.6rem;
		line-height: 2;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container h6:not([class]) a {
				line-height: 1.5;
		}
}
.page-container h1:not([class]) a, .page-container h2:not([class]) a, .page-container h3:not([class]) a, .page-container h4:not([class]) a, .page-container h5:not([class]) a, .page-container h6:not([class]) a {
		display: inline-block;
		padding-right: 3.4rem;
		position: relative;
}
.page-container h1:not([class]) a:after, .page-container h2:not([class]) a:after, .page-container h3:not([class]) a:after, .page-container h4:not([class]) a:after, .page-container h5:not([class]) a:after, .page-container h6:not([class]) a:after {
		position: absolute;
		right: 0;
		top: 50%;
		content: "";
		background: url(img/btn_color_arrow_gray.svg) no-repeat center center;
		background-size: 100% auto;
		width: 3.2rem;
		height: 2.4rem;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.page-container h1:not([class]) a:hover:after, .page-container h2:not([class]) a:hover:after, .page-container h3:not([class]) a:hover:after, .page-container h4:not([class]) a:hover:after, .page-container h5:not([class]) a:hover:after, .page-container h6:not([class]) a:hover:after {
				background-image: url(img/btn_color_arrow_wh_hv.svg);
		}
}
.page-container h2:not([class]) a:after {
		background-image: url(img/btn_color_arrow_wh.svg);
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.page-container h2:not([class]) a:hover:after {
				background-image: url(img/btn_color_arrow_wh_hv.svg);
		}
}
.page-container h4:not([class]) a:after {
		background-image: url(img/btn_color_arrow_wh.svg);
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.page-container h4:not([class]) a:hover:after {
				background-image: url(img/btn_color_arrow_wh_hv.svg);
		}
}
.page-container p:not([class]) {
		font-size: 1.5rem;
		line-height: 2;
		font-weight: 400;
		margin: 2rem 0;
}
.page-container .sponsor {
		text-align: center;
		font-size: 1.1rem;
		line-height: 1.3636363636;
		font-weight: 400;
}
.page-container .sponsor + h2 {
		margin-top: 5rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor + h2 {
				margin-top: 3rem;
		}
}
.page-container span.txt_bold {
		color: #FB9624;
}
.page-container span.marker {
		font-weight: 700;
		background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #F1FF84));
		background: linear-gradient(transparent 50%, #F1FF84 50%);
}
.page-container ul:not([class]) {
		margin: 3rem 0;
}
.page-container ul:not([class]) li {
		position: relative;
		font-size: 1.5rem;
		line-height: 2;
		font-weight: 400;
		padding-left: 3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.page-container ul:not([class]) li:before {
		position: absolute;
		left: 1rem;
		top: 1rem;
		content: "";
		display: block;
		width: 1rem;
		height: 1rem;
		background: #26D2CA;
		border-radius: 100%;
}
.page-container ol:not([class]) {
		counter-reset: my-counter;
		margin: 4rem 0;
}
.page-container ol:not([class]) li {
		position: relative;
		font-size: 1.5rem;
		line-height: 2;
		font-weight: 500;
		padding-left: 3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container ol:not([class]) li {
				padding-left: 4rem;
		}
}
.page-container ol:not([class]) li:before {
		position: absolute;
		content: counter(my-counter, decimal-leading-zero);
		counter-increment: my-counter;
		color: #FF961F;
		left: 0.7rem;
		top: 0;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container ol:not([class]) li:before {
				top: -0.1rem;
		}
}
.page-container table {
		width: 100%;
		margin: 4rem auto;
}
.page-container table th {
		font-size: 1.8rem;
		font-weight: 400;
		background: #F2F2F8;
		border: 1px solid #C7C7C7;
		padding: 1.3rem 1.3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container table th {
				font-size: 1.6rem;
		}
}
.page-container table td {
		font-size: 1.5rem;
		font-weight: 400;
		border: 1px solid #C7C7C7;
		padding: 1.3rem 3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container table td {
				font-size: 1.4rem;
		}
}
@media screen and (max-width: 767px) {
		.page-container table.scroll-table {
				width: auto;
		}
		.page-container table.scroll-table th, .page-container table.scroll-table td {
				white-space: nowrap;
		}
}
.page-container table.blocktable {
		width: 100%;
}
.page-container table.blocktable th {
		padding: 1.3rem 3rem;
}
.page-container table.blocktable td {
		padding: 1.3rem 3rem;
}
@media screen and (max-width: 767px) {
		.page-container table.blocktable th, .page-container table.blocktable td {
				display: block;
				text-align: center;
		}
}
.page-container .float-wrap {
		margin: 5rem 0;
}
.page-container .float-wrap .float-img {
		margin-top: 0.5rem;
		width: 30rem;
		display: inline-block;
}
@media screen and (max-width: 767px) {
		.page-container .float-wrap .float-img {
				width: 100%;
		}
}
.page-container .float-wrap .float-img.fl {
		margin-right: 4rem;
		margin-bottom: 2rem;
}
.page-container .float-wrap .float-img.fr {
		margin-left: 4rem;
		margin-bottom: 2rem;
}
.page-container .float-wrap .float-img.ct {
		width: 50rem;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
		.page-container .float-wrap .float-img.ct {
				width: 100%;
		}
}
.page-container .float-wrap .float-img img {
		max-width: 100%;
		width: auto;
		height: auto;
}
.page-container .float-wrap .catch {
		font-size: 1.8rem;
		line-height: 1.6666666667;
		font-weight: 700;
		margin: 0 0 2rem 0;
}
@media screen and (max-width: 767px) {
		.page-container .float-wrap .catch {
				line-height: 1.5;
		}
}
.page-container .float-wrap.ct p {
		text-align: left;
}
.page-container .float-wrap.ct .catch {
		text-align: center;
}
.page-container .caption {
		margin-top: 1rem;
		text-align: center;
		font-size: 1rem;
		line-height: 1.3;
		font-weight: 400;
		color: #A1A1A1;
		word-break: break-all;
}
.page-container .checkttl {
		position: relative;
		width: calc(100% - 3.5rem);
		margin: 5rem 0 3rem auto;
		font-size: 2.4rem;
		line-height: 2;
		font-weight: 700;
		line-height: 1.4;
		background: #FFF6EB;
		padding: 1.5rem 5rem 1.5rem 6rem;
		border-radius: 0.5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .checkttl {
				width: 100%;
				margin: 5rem 0 2rem auto;
				padding: 0.6rem 2rem;
				border-radius: 1rem;
				font-size: 2rem;
				line-height: 1.5;
		}
}
.page-container .checkttl .icn {
		position: absolute;
		left: -3rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		width: 6rem;
		height: 6rem;
		border-radius: 100%;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .checkttl .icn {
				z-index: -1;
				left: 0;
				top: 0;
		}
}
.page-container .checkttl a {
		display: block;
		width: 100%;
		height: 100%;
		font-size: 2.4rem;
		line-height: 2;
		font-weight: 700;
		line-height: 1.4;
}
@media screen and (max-width: 767px) {
		.page-container .checkttl a {
				font-size: 2rem;
				line-height: 1.5;
		}
}
.page-container .summary-box {
		position: relative;
		width: 100%;
		max-width: 70rem;
		background: #F2F2F8;
		margin: 10.6rem auto 7rem auto;
		padding: 5.5rem 4rem 1rem 4rem;
		border-radius: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .summary-box {
				padding: 8.5rem 2rem 1rem;
				margin: 7rem auto 5rem;
		}
}
.page-container .summary-box .catch {
		font-size: 1.8rem;
		line-height: 1.6666666667;
		font-weight: 700;
		margin: 0;
}
.page-container .summary-box:before, .page-container .summary-box:after {
		position: absolute;
		display: block;
		content: "";
}
.page-container .summary-box:before {
		top: -3.5rem;
		left: 0.5rem;
		background: url("img/logo.svg") no-repeat center center;
		background-size: 100% auto;
		width: 12.1rem;
		height: 7.2rem;
}
@media screen and (max-width: 767px) {
		.page-container .summary-box:before {
				z-index: 2;
		}
}
.page-container .summary-box:after {
		top: -0.5rem;
		right: -0.5rem;
		background: url("img/txt_summary.svg") no-repeat center center;
		background-size: 100% auto;
		width: 41.5rem;
		height: 5.3rem;
}
@media screen and (max-width: 767px) {
		.page-container .summary-box:after {
				width: 28.9rem;
				height: 3.6rem;
				top: 3.5rem;
				right: 0;
		}
}
.page-container .sponsor-box {
		position: relative;
		width: calc(100% + 10rem);
		margin: 7.5rem -5rem 5rem;
		background: #2351A1;
		padding: 6rem 5rem 2.4rem 5rem;
		border-radius: 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box {
				width: 100%;
				margin: 5rem auto;
				border-radius: 3rem;
				padding: 5rem 2rem 0.1rem;
		}
}
.page-container .sponsor-box:before {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		margin: 0 auto;
		display: block;
		content: "";
		background: url("img/txt_sponsor.svg") no-repeat center center;
		background-size: 100% auto;
		width: 38.6rem;
		height: 3.3rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box:before {
				width: 30.8rem;
				height: 2.6rem;
				top: 0.4rem;
		}
}
.page-container .sponsor-box__head {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		        justify-content: center;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		gap: 2rem 1.5rem;
		margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__head {
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
		}
}
.page-container .sponsor-box__head .supervision {
		position: relative;
		top: 1.2rem;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: center;
		-webkit-box-pack: center;
		        justify-content: center;
		-ms-flex-align: center;
		-webkit-box-align: center;
		        align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		width: 8.4rem;
		height: 3.4rem;
		color: #fff;
		font-size: 1.4rem;
		line-height: 1.7142857143;
		letter-spacing: 0.05em;
		font-weight: 700;
		background: #356AC7;
		border-radius: 2.6rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__head .supervision {
				width: 6.5rem;
				height: 3.4rem;
				font-size: 1.5rem;
				top: 0.3rem;
		}
}
.page-container .sponsor-box__head .name {
		color: #fff;
		font-size: 3rem;
		line-height: 1.7333333333;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__head .name {
				-webkit-box-flex: 1;
				    -ms-flex: 1;
				        flex: 1;
				font-size: 2.6rem;
		}
}
.page-container .sponsor-box__whitebox {
		position: relative;
		background: #fff;
		padding: 2rem 5rem 2rem 0;
		margin-bottom: 3rem;
		border-radius: 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__whitebox {
				padding: 0 0 2rem;
				margin: 14rem 0 1rem;
				border-radius: 1rem;
		}
}
.page-container .sponsor-box__whitebox .float-wrap {
		margin: 0;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__whitebox .float-wrap {
				position: relative;
				padding: 14rem 5% 0;
		}
}
.page-container .sponsor-box__whitebox .float-img {
		width: 32rem;
		background: #22222D;
		border-radius: 1rem;
		padding: 2rem 0;
		margin-top: -4rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__whitebox .float-img {
				width: 28.5rem;
				position: absolute;
				top: -11.5rem;
				left: 0;
				right: 0;
				margin: 0 auto;
		}
}
.page-container .sponsor-box__whitebox .float-img.fl {
		margin-right: 3rem;
		margin-bottom: 3rem;
}
.page-container .sponsor-box__whitebox .float-img.fr {
		margin-left: 3rem;
		margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__whitebox .float-img.fl, .page-container .sponsor-box__whitebox .float-img .fr {
				float: none;
				display: block;
				margin: 0 auto;
		}
}
.page-container .sponsor-box__whitebox .caption {
		color: #fff;
		word-break: break-all;
}
.page-container .sponsor-box__inner {
		padding: 0 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box__inner {
				padding: 0 2rem;
		}
}
.page-container .sponsor-box .btn-double .btn-web,
.page-container .sponsor-box .btn-double .btn-internal {
		max-width: 28.5rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box .btn-double .btn-web,
		.page-container .sponsor-box .btn-double .btn-internal {
				max-width: 100%;
		}
}
.page-container .sponsor-box .btn-link a {
		color: #fff;
		padding-right: 3.5rem;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box .btn-link a {
				margin-right: -2rem;
		}
}
.page-container .sponsor-box .btn-link a:before {
		right: 0.8rem;
}
.page-container .sponsor-box .btn-link a:after {
		width: 2.6rem;
		height: 2.6rem;
		background: none;
		border: 1px solid #fff;
		border-radius: 100%;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
		.page-container .sponsor-box .btn-link a:hover:before {
				background-image: url("img/icn_arrow_b.svg");
		}
		.page-container .sponsor-box .btn-link a:hover:after {
				background: #fff;
		}
}
.page-container .sponsor-box .btn-web a {
		padding: 2.5rem 4.5rem;
}
.page-container .sponsor-box .btn-internal a {
		padding: 2.5rem 4.5rem;
		background: #fff;
		color: #2351A1;
}
.page-container .sponsor-box .btn-internal a:before {
		background-image: url(img/icn_arrow_w.svg);
}
.page-container .sponsor-box .btn-internal a:after {
		background: #2351A1;
}
.page-container .sponsor-box p {
		padding-left: 0;
}
@media screen and (max-width: 767px) {
		.page-container .sponsor-box p {
				padding-left: 0;
		}
}
.page-container .color-box-wrap {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		        justify-content: flex-start;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		gap: 5rem 5rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box-wrap {
				display: block;
		}
}
.page-container .color-box-wrap + .color-box-wrap {
		margin-top: 5rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box-wrap + .color-box-wrap {
				margin-top: 0;
		}
}
.page-container .color-box {
		position: relative;
		width: calc((100% - 5rem) / 2);
		padding: 3rem 2.8rem;
		border-radius: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .color-box {
				width: 100%;
				margin: 3rem 0;
		}
}
.page-container .color-box p {
		margin: 0;
}
.page-container .color-box p + p {
		margin-top: 1.5rem;
}
.page-container .color-box .catch {
		font-size: 1.8rem;
		line-height: 1.6666666667;
		font-weight: 700;
		margin-bottom: 1.5rem;
}
.page-container .color-box .detail {
		margin-top: 1.5rem;
		line-height: 1.9;
}
@media screen and (max-width: 767px) {
		.page-container .color-box .detail {
				line-height: 1.5;
		}
}
.page-container .color-box.-green {
		background: #ECFFFE;
}
.page-container .color-box.-green .catch {
		color: #25BFB8;
}
.page-container .color-box.-green .catch:before {
		background: #26D2CA;
}
.page-container .color-box.-red {
		background: #FFF6F6;
}
.page-container .color-box.-red .catch {
		color: #EC2B2B;
}
.page-container .color-box.-red .catch:before {
		background: #EC2B2B;
}
.page-container .color-box.-w100 {
		width: 100%;
		padding-left: 4rem;
		padding-right: 4rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100 {
				width: 100%;
				padding: 2rem;
		}
}
.page-container .color-box.-w100:before {
		position: absolute;
		display: block;
		content: "";
		z-index: -1;
}
.page-container .color-box.-w100 .catch {
		padding-left: 2rem;
		position: relative;
}
.page-container .color-box.-w100 .catch:before {
		content: "";
		position: absolute;
		left: 0;
		top: 1.2rem;
		display: block;
		width: 1rem;
		height: 1rem;
		border-radius: 100%;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100 .catch:before {
				top: 1rem;
		}
}
.page-container .color-box.-w100.-green {
		margin-top: 6rem;
		border-radius: 10rem 1rem 1rem 10rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100.-green {
				border-radius: 1rem;
				margin-top: 6rem;
		}
}
.page-container .color-box.-w100.-green:before {
		left: 1.4rem;
		top: -4rem;
		background: url("img/deco_box_g.png") no-repeat center center;
		background-size: 100% auto;
		width: 16.1rem;
		height: 11.4rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100.-green:before {
				top: -5.5rem;
				left: 1rem;
		}
}
.page-container .color-box.-w100.-red {
		margin-top: 3rem;
		border-radius: 1rem 10rem 10rem 1rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100.-red {
				border-radius: 1rem;
				margin-top: 8rem;
		}
}
.page-container .color-box.-w100.-red:before {
		right: 5.4rem;
		top: -5rem;
		background: url("img/deco_box_r.png") no-repeat center center;
		background-size: 100% auto;
		width: 11.9rem;
		height: 10.2rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-w100.-red:before {
				top: -5.5rem;
				right: -0.2rem;
		}
}
.page-container .color-box.-flex {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		        justify-content: flex-start;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-flex {
				display: block;
		}
}
.page-container .color-box.-flex .flex-img {
		width: 8.5rem;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-flex .flex-img {
				margin: 0 auto 1.5rem;
		}
}
.page-container .color-box.-flex .flex-img .flame {
		width: 8.5rem;
		height: 8.5rem;
		border-radius: 100%;
		overflow: hidden;
}
.page-container .color-box.-flex .flex-img .caption {
		margin-top: 0;
		text-align: center;
		font-size: 1.2rem;
		line-height: 2.9166666667;
		font-weight: 700;
		color: #383842;
		word-break: break-all;
}
.page-container .color-box.-flex .flex-txt {
		width: calc(100% - 8.5rem);
		padding-left: 2rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .color-box.-flex .flex-txt {
				padding-left: 0;
				width: 100%;
		}
}
.page-container .color-box.-flex.-red {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
}
.page-container .color-box.-flex.-red .flex-txt {
		padding-left: 0;
		padding-right: 2rem;
}
.page-container .checklist-box {
		margin: 4rem auto 4rem;
    padding: 2rem 3rem;
    background: #F2F2F8;
    width: 100%;
    max-width: 70rem;
    border-radius: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .checklist-box {
				padding: 2rem;
				margin: 3rem 0;
		}
}
.page-container .checklist-box .checklist {
		padding: 2rem 3rem;
		background: #fff;
		border-radius: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .checklist-box .checklist {
				padding: 2rem 1rem;
		}
}
.page-container .checklist-box .checklist li {
		position: relative;
		font-size: 1.5rem;
		line-height: 2;
		font-weight: 700;
		border-bottom: 1px solid #B9B9B9;
		padding-bottom: 1rem;
		padding-left: 2.5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .checklist-box .checklist li {
				line-height: 1.6;
		}
}
.page-container .checklist-box .checklist li:before {
		position: absolute;
		left: 0;
		top: 0.8rem;
		display: block;
		content: "";
		background: url("img/icn_check.svg") no-repeat center center;
		background-size: 100% auto;
		width: 1.7rem;
		height: 1.2rem;
}
@media screen and (max-width: 767px) {
		.page-container .checklist-box .checklist li:before {
				top: 0.4rem;
		}
}
.page-container .checklist-box .checklist li + li {
		margin-top: 1.5rem;
}
.page-container .faq .faq-unit {
		padding: 0 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .faq .faq-unit {
				padding: 0;
		}
}
.page-container .faq .faq-unit .-q {
		position: relative;
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 2rem;
		padding-left: 4rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .faq .faq-unit .-q {
				font-size: 1.6rem;
		}
}
.page-container .faq .faq-unit .-q:before {
		position: absolute;
		left: 0;
		top: -0.3rem;
		display: block;
		content: "";
		background: url("img/icn_faq_q.svg") no-repeat center center;
		background-size: 100% auto;
		width: 3.3rem;
		height: 3.3rem;
}
@media screen and (max-width: 767px) {
		.page-container .faq .faq-unit .-q:before {
				top: -0.5rem;
		}
}
.page-container .faq .faq-unit .-a .ttl {
		position: relative;
		font-size: 2rem;
		font-weight: 700;
		padding-left: 4rem;
		margin-bottom: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .faq .faq-unit .-a .ttl {
				font-size: 1.8rem;
		}
}
.page-container .faq .faq-unit .-a .ttl:before {
		position: absolute;
		left: 0.7rem;
		top: 0.4rem;
		display: block;
		content: "";
		background: url("img/icn_faq_a.svg") no-repeat center center;
		background-size: 100% auto;
		width: 1.9rem;
		height: 2.1rem;
}
@media screen and (max-width: 767px) {
		.page-container .faq .faq-unit .-a .ttl:before {
				top: 4px;
		}
}
.page-container .faq .faq-unit .-a .detail {
		font-size: 1.5rem;
		line-height: 2;
		font-weight: 400;
}
.page-container .faq .faq-unit + .faq-unit {
		margin-top: 3rem;
}
.page-container .interview-box {
		position: relative;
		margin: 9rem 0 1.5rem 0;
		background: #FFF6EB;
		border-bottom: 1rem solid #FF961F;
		border-radius: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
}
.page-container .interview-box:before, .page-container .interview-box:after {
		position: absolute;
		display: block;
		content: "";
		background-size: 100% auto !important;
		z-index: -1;
}
.page-container .interview-box:before {
		top: -5.7rem;
		left: 1.5rem;
		background: url("img/deco_box_interview.png") no-repeat center center;
		width: 14.7rem;
		height: 14.7rem;
}
.page-container .interview-box:after {
		top: -4rem;
		right: 0;
		background: url("img/txt_interview.svg") no-repeat center center;
		width: 37rem;
		height: 4.2rem;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box:after {
				width: 23.3rem;
				height: 2.6rem;
				z-index: -2;
				top: -6.5rem;
		}
}
.page-container .interview-box .box-img {
		position: absolute;
		left: 5.5rem;
		top: 3.5rem;
		width: 11.4rem;
		z-index: 2;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box .box-img {
				-webkit-box-ordinal-group: 2;
				    -ms-flex-order: 1;
				        order: 1;
				position: relative;
				width: 100%;
				left: 0;
				top: 0;
				padding-top: 3rem;
		}
		.page-container .interview-box .box-img:before {
				content: "";
				width: 100%;
				height: 11.2rem;
				background: #FFEBD4;
				position: absolute;
				left: 0;
				top: 0;
				z-index: 0;
				border-radius: 1rem 1rem 0 0;
		}
}
.page-container .interview-box .box-img .flame {
		width: 11.4rem;
		height: 11.4rem;
		border-radius: 100%;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box .box-img .flame {
				position: relative;
				margin: 0 auto;
		}
}
.page-container .interview-box .box-img .caption {
		text-align: center;
		font-size: 1.8rem;
		font-weight: 700;
		color: #383842;
		word-break: break-all;
}
.page-container .interview-box .interview-catch {
		font-size: 1.8rem;
		line-height: 1.6666666667;
		font-weight: 700;
		position: relative;
		background: #FFEBD4;
		padding: 2.5rem 5rem 2.5rem 20.2rem;
		border-radius: 1rem 1rem 0 0;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box .interview-catch {
				padding: 2.5rem 2rem;
				background: none;
				-webkit-box-ordinal-group: 4;
				    -ms-flex-order: 3;
				        order: 3;
		}
}
.page-container .interview-box .interview-list {
		min-height: 5.8rem;
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: start;
		-webkit-box-pack: start;
		        justify-content: flex-start;
		-ms-flex-align: start;
		-webkit-box-align: start;
		        align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-line-pack: stretch;
		align-content: stretch;
		gap: 0.5rem 1.3rem;
		padding-left: 20.2rem;
		margin: 2rem 5rem 2rem 0;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box .interview-list {
				padding: 0;
				display: -ms-flexbox;
				display: -webkit-box;
				display: flex;
				-ms-flex-pack: start;
				-webkit-box-pack: start;
				        justify-content: flex-start;
				-ms-flex-align: center;
				-webkit-box-align: center;
				        align-items: center;
				gap: 0.4rem 1.5rem;
				-webkit-box-ordinal-group: 3;
				    -ms-flex-order: 2;
				        order: 2;
				margin: 2rem 5% 0;
		}
}
.page-container .interview-box .interview-list li {
		display: inline-block;
		padding: 0.3rem 1.5rem;
		font-size: 1.4rem;
		font-weight: 400;
		background: #fff;
		border-radius: 1.4rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.page-container .interview-box .interview-detail {
		position: relative;
		padding: 0.8rem 5rem 2.5rem 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		line-height: 1.9;
}
@media screen and (max-width: 767px) {
		.page-container .interview-box .interview-detail {
				padding: 0 1.5rem 3rem;
				-webkit-box-ordinal-group: 5;
				    -ms-flex-order: 4;
				        order: 4;
		}
}

.l-page .recommend {
		margin: 6.4rem auto;
		width: calc(100% - 20rem);
		background: #fff;
		padding: 2.5rem 6rem;
		border-radius: 1rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
		        box-shadow: 0 0 20px rgba(0, 0, 0, 0.13);
}
@media screen and (max-width: 767px) {
		.l-page .recommend {
				width: 100%;
				margin: 5rem 0;
				padding: 2.5rem 2rem;
		}
}
.l-page .recommend-ttl {
		position: relative;
		font-size: 1.6rem;
		font-weight: 700;
		margin-bottom: 1.7rem;
		padding-left: 9.5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.l-page .recommend-ttl:before {
		position: absolute;
		left: 0;
		top: 0.4rem;
		content: "";
		display: block;
		background: url("img/icn_check_black.svg") no-repeat center center;
		background-size: 100% auto;
		width: 7.2rem;
		height: 1.5rem;
}
.l-page .recommend-list li {
		position: relative;
		font-size: 1.5rem;
		font-weight: 400;
		padding-left: 4.3rem;
}
@media screen and (max-width: 767px) {
		.l-page .recommend-list li {
				padding-left: 3.5rem;
		}
}
.l-page .recommend-list li a {
		display: inline-block;
}
.l-page .recommend-list li + li {
		margin-top: 1.3rem;
}
.l-page .recommend-list li:before {
		position: absolute;
		left: 2.2rem;
		top: 0.7rem;
		content: "";
		display: block;
		width: 1rem;
		height: 1rem;
		background: #26D2CA;
		border-radius: 100%;
}
@media screen and (max-width: 767px) {
		.l-page .recommend-list li:before {
				left: 1rem;
		}
}