/* Sanitize
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
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;
}

table {
		table-layout: fixed;
}

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: 1240px;*/
@media screen and (max-width: 767px) {
		html, body {
				overflow-x: hidden;
		}
}

html {
		font-size: 62.5%;
}

@media screen and (max-width: 767px) {
		html {
				font-size: 2.6666666667vw;
		}
}
body {
		color: #141400;
		font-size: 1.4rem;
		font-family: "Noto Sans JP", sans-serif;
}

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

img {
		-webkit-backface-visibility: hidden;
		        backface-visibility: hidden;
}

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;
		}
}
.l-main {
		background: #ffffff;
		width: 100%;
}
@media print, screen and (min-width: 768px) {
		.l-main {
				width: 100%;
				max-width: 37.5rem;
				position: absolute;
				left: 50%;
				top: 4rem;
		}
}

@media print, screen and (min-width: 768px) {
		.l-pc {
				position: fixed;
				background: url(../img/bg_pc.png) no-repeat left top/cover;
				width: 100vw;
				height: 100vh;
				z-index: -1;
		}
}

/*$base-width: 1240px;*/
/*$base-width: 1240px;*/
body {
		scroll-behavior: smooth;
		position: relative;
}

.m-red {
		color: #C81414;
}

.m-yellow {
		color: #E4D444;
}

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

.m-en {
		font-family: "Arial", sans-serif;
}

.c-inner {
		padding: 0 10.6%;
}
.c-inner.m-thin {
		padding: 0 5%;
}

/*-------------- parts --------------*/
.c-secttl {
		font-size: 2.1rem;
		font-weight: bold;
		text-align: center;
}

.c-secsubttl {
		font-size: 1.6rem;
		font-weight: bold;
		text-align: center;
}

.c-txt {
		font-size: 1.6rem;
		line-height: 1.9;
}

.c-pay-btn {
		background: #C81414;
		border-radius: 3rem;
		color: #ffffff;
		font-weight: bold;
		display: block;
		width: 25rem;
		height: 6rem;
		padding: 2rem;
		text-align: center;
		position: relative;
		margin: 0 auto;
		-webkit-box-shadow: 0px 6px 4px -2px rgba(0, 0, 0, 0.3);
		        box-shadow: 0px 6px 4px -2px rgba(0, 0, 0, 0.3);
}
.c-pay-btn span {
		background: #ffffff;
		color: #C81414;
		font-weight: bold;
		display: inline-block;
		position: absolute;
		top: -1.7rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		border-radius: 5px;
		height: 2.4rem;
		width: 10.6rem;
		padding-top: 0.1rem;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
.c-pay-btn span:after {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 4px 0 4px;
		border-color: #ffffff transparent transparent transparent;
		position: absolute;
		bottom: -8px;
		left: 0;
		right: 0;
		margin: 0 auto;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
@media print, screen and (min-width: 768px) {
		.c-pay-btn:hover {
				color: #C81414;
				background: #ffffff;
		}
		.c-pay-btn:hover span {
				background: #C81414;
				color: #ffffff;
		}
		.c-pay-btn:hover span:after {
				border-color: #C81414 transparent transparent transparent;
		}
		.c-pay-btn:hover::after {
				background: #C81414;
				color: #ffffff;
				top: 48%;
				right: 1.8rem;
				width: 1em;
				height: 1em;
		}
}

.c-sttl {
		border-bottom: 1px solid #e7e7e7;
		position: relative;
		font-size: 1.6rem;
		font-weight: 500;
		letter-spacing: 0.3em;
		padding-bottom: 2rem;
		margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
		.c-sttl {
				font-size: calcvw(20);
		}
}
.c-sttl::before {
		content: "";
		width: 1.1em;
		height: 1.1em;
		border-radius: 50%;
		display: inline-block;
		margin-right: 1em;
		position: relative;
		top: 0.2em;
}

.c-present {
		background: #E4D444 url(../img/icn_ribbon.png) no-repeat left top/7rem 6rem;
}

.m-note {
		margin-top: 0.5rem;
		font-size: 1rem;
		text-align: right;
}
.m-note a {
		color: #3E3A39;
		text-decoration: underline;
}
.m-note.m-left {
		text-align: left;
}

.c-cv-box {
		background: #ffffff;
		padding: 2.7rem 2rem 0.4rem;
}
.c-cv-box-ttl {
		font-size: 2.1rem;
		font-weight: bold;
}

.c-price {
		font-size: 1.2rem;
		font-weight: bold;
		margin-bottom: 1.6rem;
}
.c-price-num {
		font-size: 1.8rem;
}
.c-price-num.m-delete {
		display: inline-block;
		position: relative;
}
.c-price-num.m-delete:before, .c-price-num.m-delete:after {
		background: #C81414;
		content: "";
		display: block;
		width: 100%;
		height: 0.1rem;
		position: absolute;
}
.c-price-num.m-delete:before {
		top: calc(50% - 0.2rem);
}
.c-price-num.m-delete:after {
		top: calc(50% + 0.2rem);
}
.c-price-arrow {
		font-size: 1.8rem;
		display: inline-block;
		padding: 0 0.4rem;
}
.c-price-tag {
		margin-top: 0.5rem;
}
.c-price-tag li {
		background: rgba(200, 20, 20, 0.2);
		color: #C81414;
		display: inline-block;
		font-size: 1.2rem;
		font-weight: 300;
		padding: 0.1rem 0.5rem 0;
		margin-right: 0.3rem;
}

.c-btn {
		background: #F5F5F0;
		border-radius: 0.5rem;
		display: block;
		font-weight: bold;
		text-align: center;
		padding: 1.5rem 0;
		margin: 1.6rem 0;
}
@media print, screen and (min-width: 768px) {
		.c-btn:hover {
				background: #C81414;
				color: #ffffff;
				opacity: 1;
		}
}
.c-btn.m-redbtn {
		background: #C81414;
		color: #ffffff;
		-webkit-box-shadow: 0px 6px 6px -2px rgba(0, 0, 0, 0.3);
		        box-shadow: 0px 6px 6px -2px rgba(0, 0, 0, 0.3);
}
@media print, screen and (min-width: 768px) {
		.c-btn.m-redbtn:hover {
				background: #F5F5F0;
				color: #141400;
		}
}
.c-btn.m-thin {
		padding: 0.5rem;
		-webkit-box-shadow: none;
		        box-shadow: none;
		font-weight: 300;
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
@media screen and (max-width: 767px) {
		.pc {
				display: none;
		}
}
@media print, screen and (min-width: 768px) {
		.sp {
				display: none;
		}
}
/* --------------------------------------------------
  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;
}

/*----------- shadow ------------*/
.u-boxshadow {
		-webkit-box-shadow: 0 0 10px rgba(24, 99, 175, 0.25);
		        box-shadow: 0 0 10px rgba(24, 99, 175, 0.25);
}

.l-header {
		background: #ffffff;
		height: 6rem;
		padding-top: 1.5rem;
		position: relative;
}
.l-header .logo {
		margin: 0 0 0 5%;
		width: 17rem;
}
.l-header-btn {
		display: block;
		position: fixed;
		top: 1rem;
		height: auto;
		width: 6.3rem;
		z-index: 10;
		right: 0.6rem;
}
@media print, screen and (min-width: 768px) {
		.l-header-btn {
				top: 5rem;
				left: calc(50% + 37.5rem - 7rem);
		}
		.l-header-btn.is-scroll {
				top: 1rem;
		}
}

/* --------------------------------------------------
    footer
-------------------------------------------------- */
.l-footer {
		padding: 6.2rem 0;
}
.l-footer-ttl {
		font-size: 1.4rem;
		margin-bottom: 3.4rem;
		text-align: center;
}
.l-footer-ttl-logo {
		display: block;
		margin: 0 auto 1rem;
		width: 15.5rem;
}
.l-footer-list {
		margin-bottom: 4.3rem;
}
.l-footer-list li {
		margin-bottom: 1.3rem;
}
.l-footer-copy {
		font-size: 1.2rem;
		text-align: center;
}

.l-pc {
		display: none;
}
@media print, screen and (min-width: 768px) {
		.l-pc {
				display: block;
		}
		.l-pc-icn {
				position: absolute;
				left: 4rem;
				top: 4rem;
				max-width: 20rem;
				width: 20%;
		}
		.l-pc-content {
				position: absolute;
				top: 52.2%;
				left: 0;
				width: 50%;
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
		}
		.l-pc-content-item {
				text-align: center;
				margin: 0 auto;
				max-width: 32rem;
				width: 50%;
		}
		.l-pc-content-item-img {
				margin-left: 3rem;
				max-width: 23.7rem;
				width: 100%;
		}
		.l-pc-content-item-ttl {
				color: #ffffff;
				font-size: 1.4rem;
				text-align: center;
				margin-top: -0.2rem;
		}
		.l-pc-content-item-ttl-en {
				color: #ffffff;
				font-size: 2.5vw;
				letter-spacing: 1.8px;
				margin-top: -1rem;
				text-align: center;
		}
		.l-pc-content-item-btn {
				margin-top: 4.3rem;
				text-align: center;
		}
		.l-pc-content-item-btn .c-pay-btn {
				border-radius: 4rem;
				font-size: 1.4rem;
				padding-top: 2.8rem;
				height: 8rem;
				width: auto;
		}
		.l-pc-content-item-btn .c-pay-btn span {
				font-size: 1.3rem;
				padding-top: 0.2rem;
		}
}
@media screen and (min-width: 1280px) {
		.l-pc .l-pc-content-item-ttl-en {
				font-size: 3.6rem;
				letter-spacing: 1.8px;
		}
		.l-pc .l-pc-content-item-btn .c-pay-btn {
				font-size: 1.8rem;
				width: 32rem;
		}
		.l-pc .l-pc-content-item-btn .c-pay-btn span {
				font-size: 1.9rem;
				height: 3.2rem;
				width: 14.1rem;
		}
}

.l-fv-head {
		position: relative;
}
.l-fv-head-img {
		width: 100%;
}
.l-fv-head-txt {
		position: absolute;
		bottom: 7.3rem;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 27.5rem;
}
.l-fv-body {
		background: url(../img/bg_fv02.png) no-repeat left top -17.5rem/cover;
		position: relative;
		padding: 21.6rem 0 6rem;
}
.l-fv-body-item {
		position: absolute;
		top: -13.4rem;
		left: calc(50% + 4rem);
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		width: 27.8rem;
}
.l-fv-body-ttl {
		color: #ffffff;
		font-size: 1rem;
		text-align: center;
}
.l-fv-body-ttl-en {
		color: #ffffff;
		font-size: 2.6rem;
		letter-spacing: 1.1px;
		text-align: center;
}
.l-fv-body-photo {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 5px 1fr;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 5px;
		margin-top: 2.2rem;
}
.l-fv-body-photo li p {
		background: #DEAF01;
		padding: 1rem 1rem 1.3rem;
		text-align: center;
		color: #ffffff;
		font-weight: bold;
}
.l-fv-body-btn {
		margin-top: 4.8rem;
		text-align: center;
}

.l-sec01 {
		margin-bottom: 4rem;
		padding-top: 6.2rem;
}
.l-sec01-head {
		margin-bottom: 3rem;
}
.l-sec01-head-ttl {
		margin-bottom: 1rem;
}
.l-sec01-head-subttl {
		margin-bottom: 2.6rem;
}
.l-sec01-head-img {
		display: block;
		margin: 0 auto;
		width: 19.1rem;
}
.l-sec01-body-img {
		margin: 2rem 0 0;
}
.l-sec01-body-list {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 5px 1fr 5px 1fr;
		grid-template-columns: 1fr 1fr 1fr;
		grid-column-gap: 5px;
		margin: 2rem 0 3rem -0.6rem;
}
.l-sec01-body-list-wrap {
		overflow: hidden;
		width: 100%;
}
.l-sec01-body-list li {
		background: #E4D444;
		border-radius: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		font-size: 1.6rem;
		font-weight: bold;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		color: #ffffff;
		width: 12.5rem;
		height: 12.5rem;
		text-align: center;
}
.l-sec01-body-checklist {
		margin-top: 3rem;
}
.l-sec01-body-checklist-ttl {
		margin-bottom: 2.4rem;
}
.l-sec01-body-checklist-unit {
		margin-bottom: 1.8rem;
}
.l-sec01-body-checklist-img {
		margin-bottom: 0.8rem;
}
.l-sec01-body-checklist-check {
		font-size: 1.6rem;
		position: relative;
		padding-left: 3rem;
}
.l-sec01-body-checklist-check:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0.2rem;
		background: url(../img/icn_check_yerrow.svg) no-repeat left top/cover;
		width: 2rem;
		height: 2rem;
}
.l-sec02 {
	background-color: #F5F5F0;
	padding-bottom: 60px;
}
.l-sec02-head {
		position: relative;
}
.l-sec02-head-txt {
		position: absolute;
		right: 3.5rem;
		top: calc(50% - 0.4rem);
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.6;
}
.l-sec02-unit-ttl {
		background: #DEAF01;
		color: #ffffff;
		font-weight: bold;
		padding: 1.9rem 0 1.9rem;
		text-align: center;
		position: relative;
}
.l-sec02-unit-ttl:after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		bottom: -18px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 18px 11.5px 0 11.5px;
		border-color: #DEAF01 transparent transparent transparent;
}
.l-sec02-unit-lead-list {
		position: relative;
		top: -4.2rem;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		width: 79%;
		margin: 0 auto -2.3rem;
}
.l-sec02-unit-lead-list li {
		background: #DEAF01;
		border-radius: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		font-size: 1.8rem;
		font-weight: bold;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		color: #ffffff;
		width: 14.5rem;
		height: 14.5rem;
		text-align: center;
}
.l-sec02-unit-efficacy {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1.5rem 1fr;
		grid-template-columns: 1fr 1fr;
		-webkit-column-gap: 1.5rem;
		   -moz-column-gap: 1.5rem;
		        column-gap: 1.5rem;
		row-gap: 1.5rem;
		margin-top: 1.7rem;
}
.l-sec02-unit-efficacy li {
		background: #E4D444;
		color: #ffffff;
		font-weight: bold;
		text-align: center;
		padding: 1.2rem;
}
.l-sec02-unit + .m-unit02 {
		margin-top: 6rem;
}
.l-sec02-unit-img {
		background: #E4D444;
		padding: 3rem 5% 5.8rem;
}

.l-sec03 {
		padding: 6.1rem 0 2rem;
}
.l-sec03-ttl {
		margin-bottom: 4rem;
}
.l-sec03-point {
		background: #F5F5F0;
		border-radius: 2rem;
		padding: 0 2rem;
		margin-bottom: 4rem;
}
.l-sec03-point-head {
		position: relative;
		padding: 2rem 0;
}
.l-sec03-point-head-icn {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 8.5rem;
		top: -2rem;
}
.l-sec03-point-head-num {
		background: #E4D444;
		display: block;
		width: 6rem;
		text-align: center;
		border-radius: 3rem;
		margin: 0 auto;
		padding: 1.3rem;
		font-size: 2.1rem;
		font-weight: bold;
		color: #fff;
		margin-bottom: 2.1rem;
}
.l-sec03-point-body {
		padding: 1.4rem 0 2.7rem;
}
.l-sec03-point-body-ttl {
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.7;
		margin-bottom: 1.3rem;
		text-align: center;
}

.l-sec04-head {
		margin-bottom: 1.3rem;
		padding-bottom: 4.3rem;
		position: relative;
		text-align: center;
}
.l-sec04-head-ttl {
		margin-bottom: 1.5rem;
}
.l-sec04-head-tag {
		display: inline-block;
		background: #E4D444;
		color: .l-sec04-head-tag white;
		border-radius: 0.5rem;
		padding: 0.8rem 1rem;
}
.l-sec04-head-icn {
		position: absolute;
		right: 0;
		width: 8.6rem;
		bottom: 0;
}
.l-sec04-review {
		padding: 4rem 2rem 2.5rem;
		margin: 2rem 0 0;
		background: #F5F5F0;
}
.l-sec04-review-head-ttl {
		margin-bottom: 2.5rem;
}
.l-sec04-review-head-star {
		display: block;
		margin: 0 auto 1.8rem;
		width: 15.8rem;
}
.l-sec04-review-head-fig {
		margin: 0 auto 3rem;
		width: 23.6rem;
}
.l-sec04-review-unit {
		background: #ffffff;
		padding: 2rem 2rem 2.5rem;
		margin-bottom: 2rem;
}
.l-sec04-review-unit-head.m-nolead {
		margin-bottom: 1.5rem;
}
.l-sec04-review-unit-head-pre {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 1fr;
		grid-template-columns: 1fr 1fr;
		margin-bottom: 0.35rem;
}
.l-sec04-review-unit-head-pre-star {
		width: 8.7rem;
}
.l-sec04-review-unit-head-pre-date {
		color: #C8C8C8;
		font-size: 1rem;
		display: block;
		text-align: right;
}
.l-sec04-review-unit-head-ttl {
		text-align: left;
}
.l-sec04-review-unit-head-lead {
		margin-top: 0.4rem;
		color: #C8C8C8;
		font-size: 1rem;
		font-weight: 300;
		line-height: 1.3;
		margin-bottom: 0.6rem;
}
.l-sec04-review-unit-body {
		margin-top: 0.8rem;
}
.l-sec04-review-unit-body-profile {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: auto 1rem 1fr;
		grid-template-columns: auto 1fr;
		-ms-grid-rows: auto 1fr;
		grid-template-rows: auto 1fr;
		grid-column-gap: 1rem;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-bottom: 2.8rem;
}
.l-sec04-review-unit-body-profile > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
}
.l-sec04-review-unit-body-profile > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
}
.l-sec04-review-unit-body-profile > *:nth-child(3) {
		-ms-grid-row: 2;
		-ms-grid-column: 1;
}
.l-sec04-review-unit-body-profile > *:nth-child(4) {
		-ms-grid-row: 2;
		-ms-grid-column: 3;
}
.l-sec04-review-unit-body-profile.m-noinfo .l-sec04-review-unit-body-profile-icn {
		-ms-grid-row-span: 2;
		grid-row-end: 2;
}
.l-sec04-review-unit-body-profile-icn {
		display: inline-block;
		width: 3rem;
		-ms-grid-row: 1;
		    grid-row-start: 1;
		-ms-grid-row-span: 2;
		grid-row-end: 3;
}
.l-sec04-review-unit-body-profile-name {
		font-weight: bold;
}
.l-sec04-review-unit-body-profile-info {
		color: #C8C8C8;
		font-size: 1rem;
		font-weight: 300;
		line-height: 1.3;
}
.l-sec04-review-unit-body-txt p {
		line-height: 1.4;
}
.l-sec04-review-unit-body-txt p + p {
		margin-top: 1rem;
}
.l-sec04-review-present {
		padding: 1.7rem;
}
.l-sec04-review-present p {
		font-weight: bold;
		text-align: center;
}

.l-howto {
		margin-top: 8rem;
}
.l-howto-ttl {
		margin-bottom: 1.2rem;
}
.l-howto-list {
		margin: 3.7rem 0 0;
}
.l-howto-list-tag {
		margin-bottom: 1.2rem;
}
.l-howto-list-tag span {
		display: inline-block;
		border: 1px solid #141400;
		border-radius: 2rem;
		padding: 0.5rem 1.8rem;
}
.l-howto-list-txt {
		font-size: 1.6rem;
		line-height: 1.9;
		margin-bottom: 1rem;
}

.l-faq {
		margin: 7.6rem 0 10.5rem;
}
.l-faq-ttl {
		margin-bottom: 3.2rem;
}
.l-faq-list > * {
		padding-left: 2.2rem;
		position: relative;
		line-height: 1.7;
}
.l-faq-list > *:before {
		font-weight: bold;
		font-family: "Arial", sans-serif;
		font-size: 1.6rem;
		position: absolute;
		left: 0;
		top: -0.1rem;
}
.l-faq-list-q {
		margin-bottom: 1.3rem;
}
.l-faq-list-q:before {
		content: "Q";
}
.l-faq-list-a {
		border-bottom: 1px solid #C8C8C8;
		padding-bottom: 1rem;
		margin-bottom: 1.6rem;
}
.l-faq-list-a:before {
		content: "A";
}

.l-cv {
		background: #F5F5F0;
		border-radius: 2rem 2rem 0 0;
		padding: 6rem 0;
}
.l-cv-ttl {
		margin-bottom: 3rem;
}
.l-cv-head-ttl {
		font-size: 1rem;
		text-align: center;
}
.l-cv-head-ttl-en {
		font-size: 2.6rem;
		letter-spacing: 1.1px;
		margin-top: 1rem;
		text-align: center;
}
.l-cv-subscription {
		margin: 3.5rem 0 2.8rem;
		padding: 2.6rem 2rem 1rem;
		position: relative;
}
.l-cv-subscription-icn {
		background: #DEAF01;
		border-radius: 10rem;
		padding: 1.6rem 0.6rem 0 0;
		position: absolute;
		right: 0.5rem;
		top: -1.8rem;
		height: 9.6rem;
		font-weight: bold;
		width: 9.6rem;
		text-align: center;
		color: #ffffff;
		line-height: 1.2;
}
.l-cv-subscription-icn .m-num {
		font-size: 3rem;
		font-family: "Arial", sans-serif;
		line-height: 1;
}
.l-cv-subscription-icn .m-per {
		font-size: 1.6rem;
}
.l-cv-subscription-checklist {
		margin-bottom: 1.7rem;
}
.l-cv-subscription-checklist li {
		margin-bottom: 0.4rem;
		position: relative;
		padding-left: 2.2rem;
}
.l-cv-subscription-checklist li:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0.3rem;
		background: url(../img/icn_check_black.svg) no-repeat left top/cover;
		width: 1.5rem;
		height: 1.5rem;
}
.l-cv-subscription-about {
		margin: 0.8rem 0 2rem;
}
.l-cv-subscription-about-ttl {
		cursor: pointer;
		-webkit-transition: 0.3s;
		transition: 0.3s;
		font-size: 1rem;
}
.l-cv-subscription-about-ttl:hover {
		opacity: 0.7;
}
.l-cv-subscription-about-ttl span.is-open {
		display: inline-block;
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
}
.l-cv-subscription-about-txt {
		display: none;
		font-size: 1rem;
		padding-top: 1rem;
}
.l-cv-subscription-about-txt a {
		margin-top: 1rem;
		display: inline-block;
		text-decoration: underline;
}
.l-cv-free {
		background: #ffffff;
		border: 1px solid #C81414;
		border-radius: 0.5rem;
		padding: 0.3rem 1rem;
		text-align: center;
		font-weight: bold;
		font-size: 1.2rem;
}
.l-cv-box {
		margin: 2rem 0;
}
.l-cv-box.m-last {
		margin-bottom: 1rem;
}
.l-cv-plus {
		margin: 0 auto 1rem;
		width: 4rem;
}
.l-cv-present {
		background-size: 8rem 7.7rem;
		padding: 2rem 2rem 1rem;
}
.l-cv-present-ttl {
		font-size: 1.8rem;
		font-weight: bold;
		margin-bottom: 1.5rem;
		text-align: center;
}
.l-cv-present-detail {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 0.3rem 1fr;
		grid-template-columns: 1fr 1fr;
		-webkit-column-gap: 0.3rem;
		   -moz-column-gap: 0.3rem;
		        column-gap: 0.3rem;
}
.l-cv-present-detail li {
		background: #ffffff;
		border-radius: 1rem;
		padding: 1rem 1rem;
		position: relative;
}
.l-cv-present-detail-icn {
		background: #141400;
		border-radius: 100px;
		font-size: 1rem;
		position: absolute;
		right: -0.2rem;
		top: -0.4rem;
		color: #ffffff;
		line-height: 1.1;
		text-align: center;
		height: 4.6rem;
		width: 4.6rem;
		padding-top: 0.7rem;
}
.l-cv-present-detail-icn-num {
		font-size: 1.8rem;
		color: #ffffff;
		display: block;
}
.l-cv-present-detail-ttl {
		font-size: 1.6rem;
		font-weight: bold;
		margin-bottom: 1.2rem;
		text-align: center;
}
.l-cv-present-detail-txt {
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.3;
		margin-top: 1rem;
		text-align: center;
}
.l-cv-present-detail-img01 {
		display: block;
		width: 80%;
		margin-left: 1rem;
}
.l-cv-present-detail-img02 {
		display: block;
		margin: -0.6rem auto 0;
		width: 4.8rem;
}