@charset "UTF-8";

/* base */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

:root {
	--scrollbar: 0;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

html:has(#navi[aria-hidden=false]) {
	overflow: hidden;
}

body {
	font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	font-weight: 300;
	color: #203F3E;
	word-wrap: break-word;
}

a {
	color: inherit;
}

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

input,
textarea,
select,
button {
	font: inherit;
	color: inherit;
	outline: none;
}

button,
a {
	cursor: pointer;
}

button:focus-visible,
a:focus-visible {
	outline: auto;
}

/* for development */

pre {
	padding: 15px;
	background: #eee;
	font-size: 1.2rem;
	line-height: 1.2;
}

/* Tools */

.text-left {
	text-align: left;
}

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

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

.d-block {
	display: block;
}

.d-inline-block {
	display: inline-block;
}

.hidden {
	display: none !important;
}

.clearfix::before,
.clearfix::after {
	content: "";
	display: table;
}

.clearfix::after {
	clear: both;
}

.clear {
	clear: both;
}

/* show only  SP/PC
-------------------------------*/

.sp-only {
	display: none !important;
}

.sp-only-2 {
	display: none !important;
}

.pc-only {
	display: block !important;
}

.pc-only-2 {
	display: inline-block !important;
}

/* font
-------------------------------*/

.fw-700 {
	font-weight: 700;
}

/* margin
-------------------------------*/

/* padding
-------------------------------*/

/* gap
-------------------------------*/

/* grid
-------------------------------*/

.grid-1col > *,
.grid-2col > *,
.grid-3col > *,
.grid-4col > * {
	min-width: 0;
}

.grid-1col {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.grid-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.grid-4col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

/* Layout */

.l-body {
	width: 100%;
}

.l-body.is-fixed {
	position: fixed;
}

.l-header {
	padding: 1em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #eee;
}

.l-wrapper {
	position: relative;
	width: 89.33%;
	margin-left: auto;
	margin-right: auto;
}

.l-wrapper--md {
	width: 84.27%;
}

.l-wrapper--xl {
	width: 91.7%;
}

.l-section {
	padding: 80px 0;
	background: #f0f2ef;
	margin-top: 25px;
}

/* Module */

.noscript {
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	padding: 1em;
	border: 3px solid red;
}

.noscript span {
	color: red;
}

.heading-primary {
	z-index: 1;
	position: relative;
	margin-bottom: clamp(20px, 0.1066666667 * 100vw, 40px);
	text-align: center;
	font-weight: 700;
}

.heading-primary__main {
	margin-bottom: clamp(6px, 0.032 * 100vw, 12px);
	color: #028AA8;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	line-height: 1.5;
}

.heading-primary__sub {
	font-weight: 700;
	font-size: clamp(12px, 0.064 * 100vw, 24px);
	line-height: 1.5;
}

.heading-primary--mb20 {
	margin-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.heading-primary--mb35 {
	margin-bottom: clamp(17.5px, 0.0933333333 * 100vw, 35px);
}

.heading-primary--mb30 {
	margin-bottom: clamp(15px, 0.08 * 100vw, 30px);
}

.heading-primary--mb50 {
	margin-bottom: clamp(25px, 0.1333333333 * 100vw, 50px);
}

.heading-secondary {
	color: #203f3e;
	text-align: center;
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: clamp(7.5px, 0.04 * 100vw, 15px);
}

.heading-tertiary {
	padding: clamp(9px, 0.048 * 100vw, 18px) clamp(5px, 0.0266666667 * 100vw, 10px);
	border-top: 2px solid #028AA8;
	border-bottom: 2px solid #028AA8;
	font-weight: 700;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	line-height: 1.5;
	margin-bottom: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.heading-4 {
	margin-bottom: 2.4rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.1em;
}

/*
#styleguide
text-base

SP 16px / PC 18px
デフォルトは左寄せ
```
<p class="text-base">ベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントですベースフォントです</p>
```
*/

.text-base {
	font-size: 1.6rem;
	line-height: 1.8;
}

.text-base p,
.text-base ol,
.text-base ul {
	margin-bottom: 1.8em;
}

/*
#styleguide
text-lg

SP 16px / PC 18px
デフォルトは左寄せ
```
<p class="text-lg">大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです大きめの文字のテキストです</p>
```
*/

.text-lg {
	font-size: 2rem;
	line-height: 1.8;
}

.text-lg p,
.text-lg ol,
.text-lg ul {
	margin-bottom: 1.8em;
}

/*
#styleguide
text-sm

SP 16px / PC 18px
デフォルトは左寄せ
```
<p class="text-sm">小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです小さめの文字のテキストです</p>
```
*/

.text-sm {
	font-size: 1.4rem;
	line-height: 1.8;
}

.text-sm p,
.text-sm ol,
.text-sm ul {
	margin-bottom: 1.8em;
}

/*
#styleguide
text-note

米印の下にテキストの回り込みが内容にします。
```
<p class="text-note">※テキストですテキストです。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。米印の下にテキストの回り込みが内容にします。</p>
```
*/

.text-note {
	padding-left: 1em;
	text-indent: -1em;
}

.buttons-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 20px;
	margin-top: 30px;
}

/*
#styleguide
button-primary

SP 20px / PC 26px
デフォルトは左寄せ
```
<div class="buttons-wrap">
	<a href="#" class="button-primary">ボタン</a>
	<button type="button" class="button-primary">ボタン</button>
</div>
```
*/

.button-primary {
	background: #000;
	color: #FFF;
	border: none;
	padding: 0.5em 1em;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 0;
}

/*
#styleguide
button-secondary

SP 20px / PC 26px
デフォルトは左寄せ
```
<div class="buttons-wrap">
	<a href="#" class="button-secondary">ボタン</a>
	<button type="button" class="button-secondary">ボタン</button>
</div>
```
*/

.button-secondary {
	background: blue;
	color: #FFF;
	border: none;
	padding: 0.5em 1em;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-radius: 0;
}

.bg-light-gray {
	background: #f4f7f6;
}

.bg-box {
	padding: clamp(10px, 0.0533333333 * 100vw, 20px);
	border-radius: 16px;
}

.bg-pink {
	background: #fff9fd;
}

.table-3 {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.table-3__thead .table-3__th {
	border-radius: 5px 5px 0 0;
}

.table-3__thead .table-3__th:first-child {
	border: none;
}

.table-3__th {
	position: relative;
	padding: clamp(3px, 0.016 * 100vw, 6px) clamp(5px, 0.0266666667 * 100vw, 10px);
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
	vertical-align: middle;
}

.table-3__th--radius-upleft {
	border-radius: 5px 0 0 0;
}

.table-3__th--radius-bottomleft {
	border-radius: 0 0 0 5px;
}

.table-3__th--fz-sm {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
}

.table-3__th--bd-bottom {
	border-bottom: 1px solid #bbc7c7;
}

.table-3__th--blue1 {
	background: #0aacd0;
}

.table-3__th--blue2 {
	background: #028AA8;
}

.table-3__th--blue3 {
	background: #04697f;
}

.table-3__th:first-child {
	width: 22.9302%;
	border-top: 1px solid #bbc7c7;
	border-right: 1px solid #bbc7c7;
	border-left: 1px solid #bbc7c7;
	text-align: left;
	font-weight: 600;
}

.table-3__th:not(:first-child) {
	color: #FFF;
	font-weight: 700;
}

.table-3__td {
	width: 79.0698%;
	border-top: 1px solid #bbc7c7;
	border-right: 1px solid #bbc7c7;
	padding: clamp(7px, 0.0373333333 * 100vw, 14px) clamp(4px, 0.0213333333 * 100vw, 8px);
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
	vertical-align: middle;
	text-align: center;
}

.table-3__td--px-sm {
	padding: clamp(4px, 0.0213333333 * 100vw, 8px);
}

.table-3__td--bd-bottom {
	border-bottom: 1px solid #bbc7c7;
}

.table-3__td--radius-bottomright {
	border-radius: 0 0 5px 0;
}

.table-3__td--fz-sm {
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.table-3__td--left {
	text-align: left;
}

.table-3__td__amount {
	font-weight: 800;
	font-size: clamp(9px, 0.048 * 100vw, 18px);
}

.table-3__td__amount--pink {
	color: #FF7E7E;
}

.table-3__td__sm-text {
	font-size: clamp(3px, 0.016 * 100vw, 6px);
}

.table-3__td strong {
	color: #FF7E7E;
}

.table-1 {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
}

.table-1__thead .table-1__th:first-child {
	border: none;
}

.table-1__tr--center .table-1__td {
	text-align: center;
}

.table-1__th {
	position: relative;
	padding: clamp(3px, 0.016 * 100vw, 6px) clamp(5px, 0.0266666667 * 100vw, 10px);
	font-weight: 600;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
	vertical-align: middle;
}

.table-1__th--radius-upleft {
	border-radius: 5px 0 0 0;
}

.table-1__th--radius-upright {
	border-radius: 0 5px 0 0;
}

.table-1__th--bd-bottom {
	border-bottom: 1px solid #bbc7c7;
}

.table-1__th--radius-bottomleft {
	border-radius: 0 0 0 5px;
}

.table-1__th--white {
	background: #FFF;
}

.table-1__th--blue1 {
	background: #0aacd0;
}

.table-1__th--blue2 {
	background: #028aa8;
}

.table-1__th--blue3 {
	background: #04697f;
}

.table-1__th:first-child {
	width: 23.2558%;
	border-top: 1px solid #bbc7c7;
	border-right: 1px solid #bbc7c7;
	border-left: 1px solid #bbc7c7;
	text-align: left;
}

.table-1__th:not(:first-child) {
	font-weight: 700;
	color: #f4f7f6;
}

.table-1__td {
	width: 37.2093%;
	padding: clamp(9px, 0.048 * 100vw, 18px) clamp(2.5px, 0.0133333333 * 100vw, 5px);
	border-top: 1px solid #bbc7c7;
	border-right: 1px solid #bbc7c7;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	background: #FFF;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
}

.table-1__td--bd-bottom {
	border-bottom: 1px solid #bbc7c7;
}

.table-1__td--radius-bottomright {
	border-radius: 0 0 5px 0;
}

.table-1__td--va-top {
	vertical-align: top;
}

.table-1__td--px-lg {
	padding: clamp(17.5px, 0.0933333333 * 100vw, 35px) clamp(2.5px, 0.0133333333 * 100vw, 5px);
}

.table-1__td__lg-text {
	font-weight: 800;
	font-size: clamp(2rem, 0.6285714286rem + 1.7857142857vw, 3.2rem);
}

.table-1__td__xs-text {
	display: block;
	font-size: 1rem;
	line-height: 1.5;
}

.table-2 {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
}

.table-2__tr {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.5;
}

.table-2__tr:first-child .table-2__th {
	border-radius: 10px 0 0 0;
}

.table-2__tr:first-child .table-2__td {
	border-radius: 0 10px 0 0;
}

.table-2__tr:last-child .table-2__th {
	border-radius: 0 0 0 10px;
	border-bottom: 1px solid #bbc7c7;
}

.table-2__tr:last-child .table-2__td {
	border-radius: 0 0 10px 0;
	border-bottom: 1px solid #bbc7c7;
}

.table-2__td,
.table-2__th {
	border-top: 1px solid #bbc7c7;
	border-right: 1px solid #bbc7c7;
	padding: clamp(8px, 0.0426666667 * 100vw, 16px) clamp(7px, 0.0373333333 * 100vw, 14px);
}

.table-2__th {
	width: 40.8163%;
	vertical-align: middle;
	background: #f7f8f8;
	font-weight: 600;
	text-align: left;
}

.table-2__th:first-child {
	border-left: 1px solid #bbc7c7;
}

.list-1__item {
	text-indent: -1em;
	padding-left: 1.5em;
}

.list-1__item::before {
	content: "・";
}

.list-2 {
	list-style: decimal inside;
}

.list-2__item {
	text-indent: -1em;
	padding-left: 1.5em;
}

.menu-btn {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	display: block;
	background: none;
	border: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	padding: 0;
	position: relative;
	z-index: 400;
	width: 36px;
	height: 36px;
	border-radius: 36px;
	background: #FFF;
	-webkit-box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.12);
	box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.12);
}

.menu-btn__icon {
	display: block;
	position: relative;
	width: 18px;
	height: 13px;
	margin: 0 auto;
}

.menu-btn__icon span {
	display: block;
	width: 100%;
	height: 2px;
	border-radius: 10px;
	background: #F46A2F;
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.menu-btn__icon span:nth-child(1) {
	top: 0;
}

.menu-btn__icon span:nth-child(2) {
	top: 50%;
}

.menu-btn__icon span:nth-child(3) {
	top: 100%;
}

.menu-btn__text {
	margin-top: 6px;
	display: block;
}

.menu-btn.is-open {
	background: #F46A2F;
}

.menu-btn.is-open .menu-btn__icon span {
	background: #FFF;
}

.menu-btn.is-open .menu-btn__icon span:nth-child(1) {
	top: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.menu-btn.is-open .menu-btn__icon span:nth-child(2) {
	opacity: 0;
}

.menu-btn.is-open .menu-btn__icon span:nth-child(3) {
	top: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.kv-feature-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: clamp(5.5px, 0.0293333333 * 100vw, 11px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.kv-feature-list__item {
	width: clamp(51px, 0.272 * 100vw, 102px);
	height: clamp(51px, 0.272 * 100vw, 102px);
}

.pc-menu {
	max-width: 535px;
	padding: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	height: 100%;
}

.pc-menu__logo {
	width: 154px;
	display: block;
	margin-bottom: 20px;
}

.pc-menu__price {
	max-width: 344px;
	margin-bottom: 5px;
	pointer-events: none;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
}

.pc-menu__text {
	font-size: 10px;
	margin-top: 25px;
	line-height: 1.4;
}

.pc-menu__item {
	position: relative;
	margin: 0 0 clamp(10.5px, 0.056 * 100vw, 21px) clamp(5px, 0.0266666667 * 100vw, 10px);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.pc-menu__item__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	gap: clamp(7.5px, 0.04 * 100vw, 15px);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-menu__item__icon {
	width: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.pc-menu__item__icon img {
	display: block;
	margin: 0 auto;
}

.pc-menu__item__icon--w13 img {
	width: clamp(6.5px, 0.0346666667 * 100vw, 13px);
}

.pc-menu__item__icon--w11 img {
	width: clamp(5.5px, 0.0293333333 * 100vw, 11px);
}

.pc-menu__item__text {
	font-size: clamp(7.5px, 0.04 * 100vw, 15px);
}

.nav {
	position: fixed;
	width: 100%;
	max-width: 420px;
	padding-top: clamp(7px, 0.0373333333 * 100vw, 14px);
	z-index: 100;
}

.nav__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.nav__logo {
	width: clamp(77px, 0.4106666667 * 100vw, 154px);
}

.nav__open {
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	background-color: #fff;
	-webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.12);
	box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.12);
	z-index: 999;
	position: relative;
}

.nav__open__image {
	width: clamp(8.5px, 0.0453333333 * 100vw, 17px);
}

.navi {
	padding-top: clamp(7px, 0.0373333333 * 100vw, 14px);
	position: relative;
	max-width: 420px;
}

.navi__top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-bottom: clamp(7px, 0.0373333333 * 100vw, 14px);
	border-bottom: 1px solid rgba(32, 63, 62, 0.2509803922);
}

.navi__logo {
	width: clamp(77px, 0.4106666667 * 100vw, 154px);
}

.navi__close {
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	border-radius: 50%;
	border: none;
	padding: 0;
}

.navi__button-wrap {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: clamp(7.5px, 0.04 * 100vw, 15px);
	width: clamp(172.5px, 0.92 * 100vw, 345px);
}

.navi__item {
	position: relative;
	border-bottom: 1px solid rgba(32, 63, 62, 0.2509803922);
}

.navi__item__inner {
	padding-top: clamp(10px, 0.0533333333 * 100vw, 20px);
	padding-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	gap: clamp(6px, 0.032 * 100vw, 12px);
}

.navi__item__icon {
	width: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.navi__item__icon img {
	display: block;
	margin: 0 auto;
}

.navi__item__icon--w18 img {
	width: clamp(9px, 0.048 * 100vw, 18px);
}

.navi__item__icon--w14 img {
	width: clamp(7px, 0.0373333333 * 100vw, 14px);
}

.navi__item__text {
	font-weight: 700;
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.navi__item::after {
	content: "";
	position: absolute;
	pointer-events: none;
	background: url(../img/icon_nav_arrow.webp) no-repeat center/contain;
	right: clamp(3.5px, 0.0186666667 * 100vw, 7px);
	width: clamp(8px, 0.0426666667 * 100vw, 16px);
	height: clamp(8px, 0.0426666667 * 100vw, 16px);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.scroll-contents {
	overflow-y: scroll;
	overflow-x: hidden;
	height: 100vh;
	background-color: #fff;
	position: relative;
	width: 100%;
	max-width: 420px;
}

.main-contents {
	height: 100vh;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	position: relative;
}

.main-contents__text {
	width: 68px;
	position: absolute;
	right: 100px;
	top: 16%;
	display: none;
}

.mv {
	width: 100%;
	position: relative;
	padding: clamp(37.5px, 0.2 * 100vw, 75px) 0 0;
}

.mv__corporate {
	width: clamp(77px, 0.4106666667 * 100vw, 154px);
	position: absolute;
	top: 14px;
	left: 15.5px;
}

.mv__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.mv__bubble {
	font-size: clamp(6.5px, 0.0346666667 * 100vw, 13px);
	color: #fff;
	font-weight: 600;
	margin-left: clamp(21px, 0.112 * 100vw, 42px);
	line-height: 1.4;
	position: relative;
}

.mv__bubble__text {
	z-index: 1;
	position: relative;
}

.mv__bubble::before {
	content: "";
	width: clamp(79.5px, 0.424 * 100vw, 159px);
	height: clamp(33px, 0.176 * 100vw, 66px);
	background: url("../img/deco_bubble.webp") no-repeat center/contain;
	position: absolute;
	left: clamp(-32.5px, -0.1733333333 * 100vw, -65px);
	top: clamp(-10px, -0.0533333333 * 100vw, -20px);
	z-index: 0;
}

.mv__text {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	margin: clamp(11px, 0.0586666667 * 100vw, 22px) 0 clamp(70px, 0.3733333333 * 100vw, 140px) clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
	font-weight: 600;
}

.mv__title {
	position: absolute;
	top: clamp(40px, 0.2133333333 * 100vw, 80px);
	left: clamp(-10px, -0.0533333333 * 100vw, -20px);
	width: clamp(165px, 0.88 * 100vw, 330px);
}

.mv__title img {
	width: 100%;
}

.mv__subtext {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.62;
	margin: clamp(5px, 0.0266666667 * 100vw, 10px) 0 0 clamp(-5px, -0.0266666667 * 100vw, -10px);
}

.mv__subtext--sm {
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
	margin: clamp(2px, 0.0106666667 * 100vw, 4px) 0 clamp(12.5px, 0.0666666667 * 100vw, 25px) clamp(-5px, -0.0266666667 * 100vw, -10px);
	line-height: 1.4;
}

.trouble {
	margin: clamp(22px, 0.1173333333 * 100vw, 44px) 0 clamp(25px, 0.1333333333 * 100vw, 50px);
	padding-top: clamp(20px, 0.1066666667 * 100vw, 40px);
	position: relative;
}

.trouble__button {
	margin-top: clamp(17.5px, 0.0933333333 * 100vw, 35px);
	height: clamp(27px, 0.144 * 100vw, 54px);
	width: 100%;
	background-color: #028aa8;
	z-index: 1;
	position: relative;
	border: none;
	border-radius: 34px;
	color: #fff;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	position: relative;
	padding-right: clamp(19px, 0.1013333333 * 100vw, 38px);
	font-weight: 600;
}

.trouble__button::after {
	content: "";
	position: absolute;
	width: clamp(8px, 0.0426666667 * 100vw, 16px);
	height: clamp(8px, 0.0426666667 * 100vw, 16px);
	background: url("../img/icon_button_plus.webp") no-repeat center/contain;
	bottom: 50%;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	right: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.trouble__list {
	background-color: #f4f7f6;
	padding-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.trouble__item {
	position: relative;
	z-index: 1;
}

.trouble__item--two,
.trouble__item--three {
	margin: clamp(-13px, -0.0693333333 * 100vw, -26px) 0 0;
}

.trouble__item__image {
	width: clamp(90px, 0.48 * 100vw, 180px);
}

.trouble__item__image--two {
	margin-left: auto;
}

.trouble__item__text {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.trouble__item__text--one {
	right: clamp(1px, 0.0053333333 * 100vw, 2px);
	top: clamp(17px, 0.0906666667 * 100vw, 34px);
	width: clamp(98px, 0.5226666667 * 100vw, 196px);
}

.trouble__item__text--two {
	left: clamp(0px, 0 * 100vw, 0px);
	top: clamp(20px, 0.1066666667 * 100vw, 40px);
	width: clamp(101px, 0.5386666667 * 100vw, 202px);
}

.trouble__item__text--three {
	right: clamp(0px, 0 * 100vw, 0px);
	top: clamp(22.5px, 0.12 * 100vw, 45px);
	width: clamp(113.5px, 0.6053333333 * 100vw, 227px);
}

.trouble__item__title {
	font-size: clamp(7.5px, 0.04 * 100vw, 15px);
	font-weight: 700;
	position: relative;
	margin-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.trouble__item__title--three {
	margin-left: clamp(15px, 0.08 * 100vw, 30px);
}

.trouble__item__title::after {
	content: "";
	position: absolute;
	bottom: clamp(-12px, -0.064 * 100vw, -24px);
	left: 0;
	width: clamp(32.5px, 0.1733333333 * 100vw, 65px);
	height: clamp(4px, 0.0213333333 * 100vw, 8px);
	background: url(../img/deco_squigle.webp) no-repeat center/contain;
}

.trouble__top {
	position: absolute;
	width: 100%;
	height: auto;
	top: clamp(-30px, -0.16 * 100vw, -60px);
	left: clamp(0px, 0 * 100vw, 0px);
}

.trouble__bottom {
	position: absolute;
	width: 100%;
	height: auto;
	bottom: clamp(-132.5px, -0.7066666667 * 100vw, -265px);
	left: clamp(0px, 0 * 100vw, 0px);
}

.glp1-details {
	padding-top: clamp(25px, 0.1333333333 * 100vw, 50px);
}

.glp1-details__title {
	font-size: clamp(9px, 0.048 * 100vw, 18px);
	font-weight: 600;
	position: relative;
	margin: 0 0 clamp(15px, 0.08 * 100vw, 30px) clamp(15px, 0.08 * 100vw, 30px);
}

.glp1-details__title__text {
	margin-bottom: clamp(52.5px, 0.28 * 100vw, 105px);
}

.glp1-details__title__image {
	position: absolute;
	top: clamp(-7px, -0.0373333333 * 100vw, -14px);
	left: clamp(-26.5px, -0.1413333333 * 100vw, -53px);
	width: clamp(163px, 0.8693333333 * 100vw, 326px);
}

.glp1-details__title span {
	display: block;
}

.glp1-details__block {
	background-color: #f4f7f6;
	border-radius: 8px;
	padding: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.glp1-details__block:not(:first-of-type) {
	margin-top: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.glp1-details__block__wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.glp1-details__block__image-wrap {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.glp1-details__block__image-wrap-image {
	width: clamp(40px, 0.2133333333 * 100vw, 80px);
}

.glp1-details__block__image-wrap-text {
	color: #028aa8;
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	font-weight: 700;
	margin-top: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.glp1-details__block__text {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.7;
}

.glp1-details__block__text--detail {
	margin-top: clamp(15px, 0.08 * 100vw, 30px);
	line-height: 1.6;
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.glp1-details__block__image {
	margin-bottom: clamp(2.5px, 0.0133333333 * 100vw, 5px);
}

.glp1-details__text-wrap {
	margin: clamp(18px, 0.096 * 100vw, 36px) auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.glp1-details__text {
	width: clamp(150px, 0.8 * 100vw, 300px);
	position: relative;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 600;
	text-align: center;
	padding-left: clamp(17.5px, 0.0933333333 * 100vw, 35px);
}

.glp1-details__text:first-of-type {
	margin-bottom: clamp(20px, 0.1066666667 * 100vw, 40px);
}

.glp1-details__text::after {
	content: "";
	position: absolute;
	left: clamp(12.5px, 0.0666666667 * 100vw, 25px);
	top: clamp(-14px, -0.0746666667 * 100vw, -28px);
	width: clamp(127.5px, 0.68 * 100vw, 255px);
	height: clamp(23px, 0.1226666667 * 100vw, 46px);
	background: url(../img/deco_text_wrapper_long.webp) no-repeat center center/contain;
}

.glp1-details__info-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: clamp(5px, 0.0266666667 * 100vw, 10px);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: clamp(20px, 0.1066666667 * 100vw, 40px) auto 0;
}

.glp1-details__info-block {
	width: clamp(72.5px, 0.3866666667 * 100vw, 145px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.glp1-details__info-block__icon {
	width: clamp(50px, 0.2666666667 * 100vw, 100px);
	margin-top: clamp(7px, 0.0373333333 * 100vw, 14px);
}

.glp1-details__info-block__icon--second {
	margin-top: clamp(12px, 0.064 * 100vw, 24px);
}

.glp1-details__info-block__text {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 600;
	margin-top: clamp(5px, 0.0266666667 * 100vw, 10px);
	padding-bottom: clamp(3px, 0.016 * 100vw, 6px);
}

.glp1-details__info-block__text--pink {
	color: #ff8080;
	border-bottom: 3px solid #ff8080;
}

.glp1-details__info-block__text--gray {
	color: #c8c8c8;
	border-bottom: 3px solid #c8c8c8;
}

.points {
	padding: 0 0 clamp(25px, 0.1333333333 * 100vw, 50px);
}

.points__item:not(:last-child) {
	margin-bottom: clamp(25px, 0.1333333333 * 100vw, 50px);
}

.points__heading {
	margin-bottom: clamp(6px, 0.032 * 100vw, 12px);
}

.points__heading__main {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 700;
	line-height: 1.5;
	color: #FF7E7E;
	margin-bottom: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.points__heading__sub {
	font-size: clamp(12px, 0.064 * 100vw, 24px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.083em;
}

.points__text {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.7;
	margin-bottom: clamp(9px, 0.048 * 100vw, 18px);
}

.points__text span {
	font-weight: 600;
	color: #FF7E7E;
}

.points__image {
	position: relative;
	left: -4.5256%;
	width: 104.5256%;
	border-radius: 0 20px 20px 0;
	border-width: 5px 5px 5px 0;
	border-style: solid;
	border-color: #FFF;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}

.points__image--reverse {
	left: 0;
	border-radius: 20px 0 0 20px;
	border-width: 5px 0 5px 5px;
}

.points__image::before {
	content: "";
}

.points__image img {
	display: block;
}

.points__table {
	margin: clamp(12px, 0.064 * 100vw, 24px) 0 clamp(15px, 0.08 * 100vw, 30px);
}

.plan {
	padding: clamp(25px, 0.1333333333 * 100vw, 50px) 0 0;
}

.plan__text {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.7;
	margin-bottom: clamp(12.5px, 0.0666666667 * 100vw, 25px);
}

.plan__item:not(:last-child) {
	margin-bottom: clamp(15px, 0.08 * 100vw, 30px);
}

.plan__note {
	margin-top: clamp(3.5px, 0.0186666667 * 100vw, 7px);
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
	line-height: 1.4;
	letter-spacing: -0.05em;
}

.modal {
	position: relative;
	z-index: 10000;
	display: none;
}

.modal.is-open {
	display: block;
}

.modal {
	height: calc(100% - 40px);
	position: absolute;
	top: 0;
	left: 0;
}

.modal__overlay {
	position: fixed;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	right: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 420px;
	width: 100%;
}

.modal__container {
	position: relative;
	background: rgba(244, 247, 246, 0.9490196078);
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: clamp(20px, 0.1066666667 * 100vw, 40px) 0 clamp(17.5px, 0.0933333333 * 100vw, 35px);
}

.modal__inner {
	height: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.modal__close {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	position: absolute;
	top: clamp(7.5px, 0.04 * 100vw, 15px);
	right: clamp(7.5px, 0.04 * 100vw, 15px);
	z-index: 10;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	width: clamp(15px, 0.08 * 100vw, 30px);
	height: clamp(15px, 0.08 * 100vw, 30px);
	border-radius: 50%;
	background: url(../img/icon_close_modal.webp) no-repeat center center/contain;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.modal__header {
	font-weight: 700;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	margin-bottom: clamp(3px, 0.016 * 100vw, 6px);
	padding-left: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	margin-top: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.modal__text {
	padding-left: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.6;
}

.modal__subtext {
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
	line-height: 1.6;
	margin-top: clamp(5px, 0.0266666667 * 100vw, 10px);
}

/**************************\
	Demo Animation Style
\**************************/

.modal[aria-hidden=false] .modal__overlay {
	-webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
	animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=false] .modal__container {
	-webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
	animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__overlay {
	-webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
	animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal[aria-hidden=true] .modal__container {
	-webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
	animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal .modal__container,
.modal .modal__overlay {
	will-change: transform;
}

.banner {
	position: relative;
	z-index: 1;
	margin: clamp(28px, 0.1493333333 * 100vw, 56px) 0 0;
}

.banner__text-top {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	font-weight: 500;
	margin-left: clamp(18px, 0.096 * 100vw, 36px);
}

.banner__text-top::before {
	content: "";
	position: absolute;
	left: clamp(7px, 0.0373333333 * 100vw, 14px);
	top: clamp(-5px, -0.0266666667 * 100vw, -10px);
	width: clamp(113px, 0.6026666667 * 100vw, 226px);
	height: clamp(14px, 0.0746666667 * 100vw, 28px);
	background: url(../img/deco_text_lines.webp) no-repeat center center/contain;
}

.banner__bubble {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	color: #fff;
	font-weight: 600;
	margin: clamp(11px, 0.0586666667 * 100vw, 22px) 0 0 clamp(3px, 0.016 * 100vw, 6px);
	line-height: 1.4;
	position: relative;
	width: clamp(122px, 0.6506666667 * 100vw, 244px);
}

.banner__bubble__text {
	z-index: 1;
	position: relative;
	text-align: center;
}

.banner__bubble::before {
	content: "";
	width: clamp(122px, 0.6506666667 * 100vw, 244px);
	height: clamp(52px, 0.2773333333 * 100vw, 104px);
	background: url("../img/deco_bubble_2.webp") no-repeat center/contain;
	position: absolute;
	left: clamp(0px, 0 * 100vw, 0px);
	top: clamp(-19px, -0.1013333333 * 100vw, -38px);
	z-index: 0;
}

.banner__bubble--second {
	margin: clamp(16px, 0.0853333333 * 100vw, 32px) 0 0 clamp(3px, 0.016 * 100vw, 6px);
}

.banner__bubble--second::before {
	top: clamp(-27.5px, -0.1466666667 * 100vw, -55px);
}

.banner__text-wrap {
	margin: clamp(81px, 0.432 * 100vw, 162px) auto clamp(12.5px, 0.0666666667 * 100vw, 25px);
	width: clamp(167.5px, 0.8933333333 * 100vw, 335px);
	position: relative;
	padding-left: clamp(20px, 0.1066666667 * 100vw, 40px);
}

.banner__text-wrap--second {
	margin: clamp(86px, 0.4586666667 * 100vw, 172px) auto clamp(12.5px, 0.0666666667 * 100vw, 25px);
}

.banner__text {
	position: relative;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	font-weight: 600;
	text-align: center;
	z-index: 1;
	text-align: left;
}

.banner__text:not(:last-of-type) {
	margin-bottom: clamp(16px, 0.0853333333 * 100vw, 32px);
}

.banner__text span {
	font-size: clamp(3.5px, 0.0186666667 * 100vw, 7px);
}

.banner__text::before {
	content: "";
	position: absolute;
	left: clamp(-40px, -0.2133333333 * 100vw, -80px);
	top: clamp(-14px, -0.0746666667 * 100vw, -28px);
	width: clamp(102.5px, 0.5466666667 * 100vw, 205px);
	height: clamp(20px, 0.1066666667 * 100vw, 40px);
	background: url(../img/deco_text_wrapper_short.webp) no-repeat center center/contain;
	z-index: -1;
}

.banner__catch-text {
	position: absolute;
	width: clamp(55px, 0.2933333333 * 100vw, 110px);
	top: clamp(-265px, -1.4133333333 * 100vw, -530px);
	right: clamp(-15px, -0.08 * 100vw, -30px);
}

.banner__price {
	position: relative;
	display: block;
	margin: 0 auto;
	width: clamp(167.5px, 0.8933333333 * 100vw, 335px);
}

.banner__price__topper {
	width: clamp(55px, 0.2933333333 * 100vw, 110px);
	width: clamp(55px, 0.2933333333 * 100vw, 110px);
	position: absolute;
	top: -68px;
	right: -12px;
}

.banner__subtext {
	font-size: clamp(5px, 0.0266666667 * 100vw, 10px);
	line-height: 1.4;
}

.banner__subtext--top {
	margin: clamp(8.5px, 0.0453333333 * 100vw, 17px) 0 clamp(3px, 0.016 * 100vw, 6px);
}

.banner__image {
	width: 100%;
	height: auto;
	position: absolute;
	left: 0;
	top: 40px;
}

.recommend {
	position: relative;
	background-color: #f4f7f6;
	padding: clamp(25px, 0.1333333333 * 100vw, 50px) 0;
}

.recommend::before {
	content: "";
	height: clamp(150px, 0.8 * 100vw, 300px);
	width: 100%;
	background-color: #f4f7f6;
	position: absolute;
	left: 0;
	top: clamp(-150px, -0.8 * 100vw, -300px);
}

.recommend__wrapper {
	background-color: #fff;
	border-radius: 8px;
	padding: clamp(10px, 0.0533333333 * 100vw, 20px) clamp(22px, 0.1173333333 * 100vw, 44px) clamp(15px, 0.08 * 100vw, 30px);
	z-index: 1;
	position: relative;
}

.recommend__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(5px, 0.0266666667 * 100vw, 10px) clamp(13.5px, 0.072 * 100vw, 27px);
}

.recommend__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: clamp(1px, 0.0053333333 * 100vw, 2px);
	text-align: center;
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.6;
}

.flow {
	position: relative;
	padding: clamp(25px, 0.1333333333 * 100vw, 50px) 0;
}

.flow::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: clamp(455px, 2.4266666667 * 100vw, 910px);
	background: -webkit-gradient(linear, right top, left top, from(#ffe1d1), to(#b2f9ff));
	background: linear-gradient(to left, #ffe1d1 0%, #b2f9ff 100%);
}

.flow__list {
	margin: clamp(0px, 0 * 100vw, 0px) 0 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.flow__item {
	position: relative;
}

.flow__item:not(:last-of-type) {
	margin-bottom: clamp(22.5px, 0.12 * 100vw, 45px);
}

.flow__item:not(:last-of-type)::after {
	content: "";
	position: absolute;
	right: clamp(64px, 0.3413333333 * 100vw, 128px);
	bottom: clamp(-38px, -0.2026666667 * 100vw, -76px);
	width: clamp(8.5px, 0.0453333333 * 100vw, 17px);
	height: clamp(15px, 0.08 * 100vw, 30px);
	background: url(../img/icon_arrow.webp) no-repeat center/contain;
}

.flow__item__image {
	display: block;
	position: absolute;
	width: clamp(52px, 0.2773333333 * 100vw, 104px);
	left: 0;
	top: clamp(-20px, -0.1066666667 * 100vw, -40px);
}

.flow__item__text-wrapper {
	background-color: #fff;
	padding: clamp(4px, 0.0213333333 * 100vw, 8px) clamp(12px, 0.064 * 100vw, 24px) clamp(4px, 0.0213333333 * 100vw, 8px) clamp(31.75px, 0.1693333333 * 100vw, 63.5px);
	width: clamp(142.5px, 0.76 * 100vw, 285px);
	margin: 0 0 0 auto;
	border-radius: 8px;
	min-height: clamp(32px, 0.1706666667 * 100vw, 64px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.flow__item__title {
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 700;
	line-height: 1.5;
}

.flow__item__subtext {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.5;
	font-weight: 600;
}

.flow__item__text {
	background-color: #fff9fd;
	padding: clamp(6px, 0.032 * 100vw, 12px) clamp(5px, 0.0266666667 * 100vw, 10px);
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.7;
	margin: clamp(5px, 0.0266666667 * 100vw, 10px) 0;
}

.faq {
	position: relative;
	border-radius: 4px;
	background: #fff;
	-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.08);
}

.faq:not(:last-child) {
	margin-bottom: clamp(9px, 0.048 * 100vw, 18px);
}

.faq__question button {
	border: none;
	background: 0 0;
	border-radius: 0;
	padding: 0;
	width: 100%;
	text-align: left;
	border-radius: 4px;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	font-weight: 700;
	line-height: 1.5;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.faq__question button span {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	min-height: clamp(35px, 0.1866666667 * 100vw, 70px);
	padding: clamp(9px, 0.048 * 100vw, 18px) clamp(22.5px, 0.12 * 100vw, 45px) clamp(8px, 0.0426666667 * 100vw, 16px) clamp(32.5px, 0.1733333333 * 100vw, 65px);
}

.faq__question button span::before {
	content: "";
	position: absolute;
	top: clamp(8px, 0.0426666667 * 100vw, 16px);
	left: clamp(8px, 0.0426666667 * 100vw, 16px);
	z-index: 2;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	border-radius: 50%;
	background: url(../img/txt_question.webp) no-repeat center/contain;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.faq__question button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: clamp(7px, 0.0373333333 * 100vw, 14px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
	width: clamp(11px, 0.0586666667 * 100vw, 22px);
	height: clamp(11px, 0.0586666667 * 100vw, 22px);
	background: url(../img/icon_faq_open.webp) no-repeat center center/contain;
}

.faq__question button.is-open::after {
	background-image: url(../img/icon_faq_close.webp);
}

.faq__answer__inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: clamp(-16px, -0.0853333333 * 100vw, -32px);
	min-height: clamp(46px, 0.2453333333 * 100vw, 92px);
	padding: clamp(9px, 0.048 * 100vw, 18px) clamp(22.5px, 0.12 * 100vw, 45px) clamp(8px, 0.0426666667 * 100vw, 16px) clamp(32.5px, 0.1733333333 * 100vw, 65px);
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
}

.faq__answer__inner::before {
	content: "";
	position: absolute;
	top: clamp(9px, 0.048 * 100vw, 18px);
	left: clamp(9px, 0.048 * 100vw, 18px);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	border-radius: 50%;
	background: url(../img/txt_answer.webp) no-repeat center/contain;
}

.faq-wrapper {
	margin-bottom: clamp(30px, 0.16 * 100vw, 60px);
	padding-top: clamp(25px, 0.1333333333 * 100vw, 50px);
}

.medicine__item:not(:last-child) {
	margin-bottom: clamp(20px, 0.1066666667 * 100vw, 40px);
}

.medicine-caution {
	margin-top: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.medicine-caution__index {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.medicine-caution__item:not(:last-child) {
	margin-bottom: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.medicine-caution__heading {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.medicine-caution__text {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.5;
}

.medicine-caution__note {
	font-weight: 600;
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.5;
	margin-bottom: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.footer-bottom {
	padding: clamp(16px, 0.0853333333 * 100vw, 32px) 0;
	background: #0096ff;
	color: #fff;
	z-index: 10;
	position: relative;
}

.footer-bottom__title {
	text-align: center;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	margin-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 600;
}

.footer-bottom__address {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
}

.footer-bottom__note {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.5;
	margin-bottom: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.footer-bottom__link {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: clamp(7.5px, 0.04 * 100vw, 15px) auto clamp(7.5px, 0.04 * 100vw, 15px);
	line-height: 1.5;
	text-decoration: none;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	padding-right: clamp(7.5px, 0.04 * 100vw, 15px);
	position: relative;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.footer-bottom__link::after {
	content: "";
	width: clamp(10px, 0.0533333333 * 100vw, 20px);
	height: clamp(10px, 0.0533333333 * 100vw, 20px);
	position: absolute;
	right: 0;
	top: 0;
	background: url(../img/icon_external_link.webp) no-repeat center/contain;
}

.footer-bottom__copyright {
	text-align: center;
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	line-height: 1.5;
	letter-spacing: -0.15px;
}

.main-button {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: clamp(7px, 0.0373333333 * 100vw, 14px);
	padding: clamp(6px, 0.032 * 100vw, 12px) clamp(5px, 0.0266666667 * 100vw, 10px) clamp(6px, 0.032 * 100vw, 12px) clamp(7.5px, 0.04 * 100vw, 15px);
	border-radius: 100px;
	text-decoration: none;
	background: #f46a2f;
	color: #fff;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	font-weight: 600;
	line-height: 1.5;
	border: 1px solid #f46a2f;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	width: clamp(172.5px, 0.92 * 100vw, 345px);
	height: clamp(30.5px, 0.1626666667 * 100vw, 61px);
	transition: 0.4s;
	margin: 0 auto;
}

.main-button--left {
	margin: 0 auto 0 0;
}

.main-button__note {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	padding: clamp(3px, 0.016 * 100vw, 6px) clamp(5px, 0.0266666667 * 100vw, 10px);
	border-radius: 34px;
	background: #fff;
	color: #f46a2f;
	font-size: clamp(7.5px, 0.04 * 100vw, 15px);
	font-weight: 600;
	line-height: 1.3333;
	-webkit-transition: 0.4s;
	transition: 0.4s;
	width: clamp(94px, 0.5013333333 * 100vw, 188px);
}

.main-button__note::before {
	content: "";
	width: clamp(12.5px, 0.0666666667 * 100vw, 25px);
	height: clamp(12.5px, 0.0666666667 * 100vw, 25px);
	-webkit-mask-image: url(../img/icon_calendar.webp);
	mask-image: url(../img/icon_calendar.webp);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background: currentColor;
}

.main-button__main {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	color: #fff;
	font-size: clamp(9.5px, 0.0506666667 * 100vw, 19px);
	font-weight: 600;
	line-height: 1.5;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.main-button__main::before {
	content: "";
	width: clamp(9.5px, 0.0506666667 * 100vw, 19px);
	height: clamp(9.5px, 0.0506666667 * 100vw, 19px);
	-webkit-mask-image: url(../img/icon_communication.webp);
	mask-image: url(../img/icon_communication.webp);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	background: currentColor;
}

.fixed-cta {
	position: fixed;
	height: clamp(37.5px, 0.2 * 100vw, 75px);
	width: 100%;
	max-width: 420px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: 0;
	z-index: 10;
	display: none;
	background: -webkit-gradient(linear, left top, right top, from(#ffe1d1), to(#b2f9ff));
	background: linear-gradient(90deg, #ffe1d1 0%, #b2f9ff 100%);
	-webkit-box-shadow: 0 -8px 12px rgba(0, 0, 0, 0.08);
	box-shadow: 0 -8px 12px rgba(0, 0, 0, 0.08);
}

.fixed-cta__inner {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0 clamp(7.5px, 0.04 * 100vw, 15px);
}

.greeting__name {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 24px;
	margin-bottom: 9px;
	padding-left: 22px;
	gap: 12px;
}

.greeting__name::after,
.greeting__name::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 10px;
	height: 10px;
}

.greeting__name::before {
	margin-top: -6px;
	background: #028aa8;
}

.greeting__name::after {
	margin-top: 8px;
	background: #ff7e7e;
}

.greeting__name__jp {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.75;
	white-space: nowrap;
}

.greeting__name__en {
	color: #a6c8c7;
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.75;
	white-space: nowrap;
}

.text-base {
	font-size: 1.2rem;
	line-height: 1.8;
}

.text-base p {
	margin-bottom: 0;
}

/*
#styleguide
タブ
```
<div class="js-accordion">
	<button type="button" aria-expanded="false" aria-controls="【コンテンツとボタンを紐付けするid名】" class="js-accordion-btn">トリガーボタンテキスト <img src="img/icon_arrow_red.svg" alt="開く" class="js-accordion-icon"></button>
	<div id="【コンテンツとボタンを紐付けするid名】" class="js-accordion-content" aria-hidden="true">
		ここが開閉により表示が変わるテキストです。
	</div>
</div>
```
*/

.js-accordion-content {
	display: none;
}

@media (hover: hover) {

.pc-menu__item__inner:hover {
	opacity: 0.6;
}

.modal__close:hover:hover::after {
	background: #FFF;
}

.footer-bottom__link:hover {
	opacity: 0.6;
}

.main-button:hover {
	background: #FFF;
}

.main-button:hover .main-button__note {
	color: #FFF;
	background: #F46A2F;
}

.main-button:hover .main-button__main {
	color: #F46A2F;
}

}

@media (min-width: 375px) and (max-width: 420px) {

.mv__image {
	top: calc(0px + -25 * (100vw - 375px) / 45);
}

.banner__image {
	top: calc(40px + -20 * (100vw - 375px) / 45);
}

}

@media (min-width: 421px) and (max-width: 1100px) {

.mv__image {
	top: -25px;
}

.banner__image {
	top: 20px;
}

}

@media screen and (min-width: 1101px) {

.text-pc-left { /* pc */
	text-align: left;
}

.text-pc-center { /* pc */
	text-align: center;
}

.text-pc-right { /* pc */
	text-align: right;
}

.nav { /* pc */
	display: none;
}

.scroll-contents { /* pc */
	max-width: 375px;
	height: calc(100vh - 40px);
	border-radius: 40px 40px 0 0;
	margin-right: 31%;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}

.main-contents { /* pc */
	background-image: url(../img/bg_pc.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.modal__overlay { /* pc */
	max-width: 375px;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	left: unset;
	right: unset;
	height: calc(100% - 40px);
	top: unset;
}

.fixed-cta { /* pc */
	display: none !important;
}

}

@media (min-width: 1101px) {

.mv__image {
	top: 0;
}

.banner__image {
	top: 40px;
}

}

@media (min-width: 1240px) {

.main-contents__text {
	display: block;
}

}

@media screen and (max-width: 1100px) {

.text-sp-left { /* sp */
	text-align: left;
}

.text-sp-center { /* sp */
	text-align: center;
}

.text-sp-right { /* sp */
	text-align: right;
}

.sp-only { /* sp */
	display: block !important;
}

.sp-only-2 { /* sp */
	display: inline-block !important;
}

.pc-only { /* sp */
	display: none !important;
}

.pc-only-2 { /* sp */
	display: none !important;
}

/* sp */

.sp-grid-1col {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

.sp-grid-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.sp-grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.sp-grid-4col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.--sp-grid-2col { /* sp */
	grid-template-columns: repeat(2, 1fr);
}

.--sp-grid-1col { /* sp */
	grid-template-columns: repeat(1, 1fr);
}

.l-footer { /* sp */
	padding-bottom: clamp(37.5px, 0.2 * 100vw, 75px);
}

.l-navi { /* sp */
	display: none;
	position: fixed;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 100;
}

.pc-menu { /* sp */
	display: none;
}

}

@-webkit-keyframes mmfadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes mmfadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@-webkit-keyframes mmfadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

@keyframes mmfadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

@-webkit-keyframes mmslideIn {

from {
	-webkit-transform: translateY(15%);
	transform: translateY(15%);
}

to {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@keyframes mmslideIn {

from {
	-webkit-transform: translateY(15%);
	transform: translateY(15%);
}

to {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

}

@-webkit-keyframes mmslideOut {

from {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

to {
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}

}

@keyframes mmslideOut {

from {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

to {
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}

}

