@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: "Noto Sans JP", sans-serif;
	font-size: 1.4rem;
	color: #000;
	word-wrap: break-word;
	color: #1d394f;
	font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a {
	color: inherit;
}

div[id],
section[id],
article[id] {
	scroll-margin-top: 100px;
}

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;
}

/* 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%;
	height: 100dvh;
	overflow: hidden;
	background-color: #EEF9FF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

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

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

section {
	width: 100%;
}

/* Module */

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

.noscript span {
	color: red;
}

/* Common */

.bubble {
	background-color: #fff;
	padding: clamp(10px, 0.0533333333 * 100vw, 20px) clamp(0px, 0 * 100vw, 0px);
	margin-top: clamp(17.5px, 0.0933333333 * 100vw, 35px);
	position: relative;
	border-radius: 6px;
}

.bubble::after {
	content: "";
	position: absolute;
	background-image: url(../img/icon_bubble_top.webp);
	background-position: center;
	background-repeat: none;
	width: 63px;
	height: 25px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: -20px;
}

.bubble__text {
	font-weight: 600;
	font-size: clamp(9px, 0.048 * 100vw, 18px);
	line-height: 1.7;
	letter-spacing: 0;
	text-align: center;
}

.bubble--mb {
	margin-bottom: clamp(12.5px, 0.0666666667 * 100vw, 25px);
}

.heading {
	text-align: center;
	font-weight: 600;
	position: relative;
	padding-bottom: 18px;
	letter-spacing: 0.05em;
}

.heading__en {
	color: #9ccae0;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	margin-bottom: clamp(7.5px, 0.04 * 100vw, 15px);
	display: block;
}

.heading__jp {
	font-size: clamp(12px, 0.064 * 100vw, 24px);
}

.heading::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 47px;
	height: 3px;
	border-radius: 20px;
	background-color: rgba(112, 135, 153, 0.3490196078);
}

.heading--no-border::after {
	display: none;
}

.heading--faq {
	margin-bottom: clamp(12px, 0.064 * 100vw, 24px);
}

.reasons-heading {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	text-align: center;
	margin: 0 auto clamp(13px, 0.0693333333 * 100vw, 26px);
	gap: clamp(7px, 0.0373333333 * 100vw, 14px);
	font-weight: 600;
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	letter-spacing: 0.05em;
}

.reasons-heading--mt {
	margin-top: clamp(20px, 0.1066666667 * 100vw, 40px);
}

.reasons-heading__text {
	padding-top: clamp(1.5px, 0.008 * 100vw, 3px);
}

.reasons-heading__bubble {
	width: clamp(32px, 0.1706666667 * 100vw, 64px);
	position: relative;
}

.reasons-heading__bubble__text {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
}

.reasons-heading__bubble::after {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	top: clamp(-1px, -0.0053333333 * 100vw, -2px);
	width: clamp(32px, 0.1706666667 * 100vw, 64px);
	height: clamp(19.5px, 0.104 * 100vw, 39px);
	background-image: url(../img/txt_reasons_bubble.webp);
	background-repeat: no-repeat;
	background-size: contain;
}

.strong-text-1 {
	color: #2288dd;
	position: relative;
	z-index: 2;
}

.strong-text-1::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 8px;
	background-color: #ffff00;
	z-index: -1;
}

.strong-text-1--top::after {
	width: 93%;
	height: 14px;
}

.strong-text-1--mt {
	margin: clamp(5px, 0.0266666667 * 100vw, 10px) auto 0;
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: clamp(15px, 0.08 * 100vw, 30px);
}

.strong-text-2 {
	color: #2288dd;
}

.strong-text-2--large {
	font-size: clamp(12px, 0.064 * 100vw, 24px);
}

.fine-text {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 300;
	text-align: center;
	margin-top: clamp(10px, 0.0533333333 * 100vw, 20px);
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.fancy-text {
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 600;
	text-align: center;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 40px auto 0;
	padding: 0 clamp(7px, 0.0373333333 * 100vw, 14px);
}

.fancy-text::before,
.fancy-text::after {
	content: "";
	position: absolute;
	bottom: -2px;
	width: 1px;
	height: 1.1111111111em;
	background-color: #333;
}

.fancy-text::before {
	left: 0;
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}

.fancy-text::after {
	right: 0;
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}

/* PC Contents */

.pc-main {
	display: none;
}

.pc-main__logo {
	margin: 26px auto clamp(3rem, -3.4705882353rem + 5.8823529412vw, 5rem);
	text-align: center;
	width: 318px;
}

.pc-main__text {
	font-size: 3.8rem;
	font-size: clamp(3.2rem, 1.2588235294rem + 1.7647058824vw, 3.8rem);
	font-weight: 700;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: 22px;
}

.pc-main__model {
	width: 215px;
	width: clamp(15rem, -6.0294117647rem + 19.1176470588vw, 21.5rem);
	position: absolute;
	bottom: -4px;
	left: 5%;
}

.pc-nav {
	display: none;
}

.pc-nav a {
	text-decoration: none;
}

.pc-nav__items {
	width: 100%;
	margin-left: 16.07%;
}

.pc-nav__item {
	font-size: clamp(1.4rem, 0.7529411765rem + 0.5882352941vw, 1.6rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: clamp(1rem, -1.5882352941rem + 2.3529411765vw, 1.8rem);
}

.pc-nav__item__inner {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-nav__item__inner::before {
	content: "";
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	left: 0;
	top: -2px;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-nav__item__inner {
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-nav__item--1__inner::before {
	width: 21px;
	height: 21px;
	background-image: url(../img/icon_pc_nav_1.webp);
}

.pc-nav__item--2__inner::before {
	width: 20.8px;
	height: 20.8px;
	background-image: url(../img/icon_pc_nav_2.webp);
}

.pc-nav__item--3__inner::before {
	width: 19.9px;
	height: 19.9px;
	background-image: url(../img/icon_pc_nav_3.webp);
}

.pc-nav__item--4__inner::before {
	width: 18.1px;
	height: 20.9px;
	background-image: url(../img/icon_pc_nav_4.webp);
}

.pc-nav__item--5__inner::before {
	width: 18.1px;
	height: 18.1px;
	background-image: url(../img/icon_pc_nav_5.webp);
}

.pc-nav__item--6__inner::before {
	width: 18.1px;
	height: 18.1px;
	background-image: url(../img/icon_pc_nav_6.webp);
}

.pc-nav__children {
	padding: 20px 0 0 38px;
	font-size: 1.4rem;
	font-weight: 300;
}

.pc-nav__children__item {
	padding-left: 17px;
	margin-bottom: clamp(0.8rem, -1.4647058824rem + 2.0588235294vw, 1.5rem);
	position: relative;
	cursor: pointer;
}

.pc-nav__children__item::after {
	content: "";
	width: 6px;
	height: 6px;
	background-color: #2288dd;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-nav__children__item {
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.pc-nav__children__item:last-of-type {
	margin-bottom: 32px;
	margin-bottom: clamp(0.8rem, -6.9647058824rem + 7.0588235294vw, 3.2rem);
}

/* Elements */

.kv__text1 {
	margin: 0 0 clamp(15px, 0.08 * 100vw, 30px) clamp(5.5px, 0.0293333333 * 100vw, 11px);
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	position: relative;
	color: white;
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
}

.kv__text1 span {
	font-weight: 800;
	font-size: clamp(5.5px, 0.0293333333 * 100vw, 11px);
}

.kv__text1::after {
	content: "";
	position: absolute;
	left: clamp(-12.5px, -0.0666666667 * 100vw, -25px);
	top: clamp(-11px, -0.0586666667 * 100vw, -22px);
	width: clamp(83.5px, 0.4453333333 * 100vw, 167px);
	height: clamp(20.5px, 0.1093333333 * 100vw, 41px);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/txt_kv_1.webp);
	z-index: -1;
}

.kv__text2 {
	font-size: clamp(11px, 0.0586666667 * 100vw, 22px);
	font-weight: 700;
	margin: 0 0 clamp(6px, 0.032 * 100vw, 12px) clamp(2px, 0.0106666667 * 100vw, 4px);
	font-family: "Noto Sans JP", sans-serif;
}

.kv__data {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 313px;
	gap: clamp(7px, 0.0373333333 * 100vw, 14px);
	margin: 0 auto 0;
}

.kv__illust {
	max-width: 312px;
	margin: 0 auto clamp(10px, 0.0533333333 * 100vw, 20px);
}

.kv__logo {
	margin: 0 0 clamp(15px, 0.08 * 100vw, 30px) clamp(2.5px, 0.0133333333 * 100vw, 5px);
}

.campaign-frame {
	height: 100%;
	width: 100%;
	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;
	position: relative;
}

.campaign-frame__inner {
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.campaign-frame iframe {
	height: 100%;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.campaign-frame iframe html {
	height: 100%;
}

.campaign-frame iframe section {
	height: 100%;
}

.campaign-frame .open-modal {
	width: 100%;
	height: 75%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
}

.problem {
	background-color: #f3f5f6;
	height: 100%;
	width: 100%;
	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;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.problem__item {
	position: relative;
	font-weight: 600;
	font-size: clamp(9px, 0.048 * 100vw, 18px);
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.problem__item__text {
	position: absolute;
}

.problem__item--top {
	margin: clamp(18px, 0.096 * 100vw, 36px) 0 clamp(0px, 0 * 100vw, 0px) clamp(0px, 0 * 100vw, 0px);
}

.problem__item--top__image {
	width: clamp(87px, 0.464 * 100vw, 174px);
}

.problem__item--top__text {
	top: clamp(21px, 0.112 * 100vw, 42px);
	left: clamp(54px, 0.288 * 100vw, 108px);
}

.problem__item--middle {
	margin: clamp(0px, 0 * 100vw, 0px) 0 clamp(5px, 0.0266666667 * 100vw, 10px) clamp(45px, 0.24 * 100vw, 90px);
}

.problem__item--middle__image {
	width: clamp(122.5px, 0.6533333333 * 100vw, 245px);
}

.problem__item--middle__text {
	top: clamp(25.5px, 0.136 * 100vw, 51px);
}

.problem__item--bottom {
	margin: 0 clamp(0px, 0 * 100vw, 0px) 0 clamp(0px, 0 * 100vw, 0px);
}

.problem__item--bottom__image {
	width: clamp(87px, 0.464 * 100vw, 174px);
}

.problem__item--bottom__text {
	top: clamp(22px, 0.1173333333 * 100vw, 44px);
	left: clamp(54px, 0.288 * 100vw, 108px);
}

.reasons {
	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;
	background: #EEF9FF;
}

.reasons--one {
	background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(30%, #eef9ff), color-stop(30%, #eef9ff), to(#eef9ff));
	background: linear-gradient(to bottom, white 0%, #eef9ff 30%, #eef9ff 30%, #eef9ff 100%);
}

.reasons__ph {
	max-width: 287px;
	width: 100%;
	margin: 0 auto;
}

.reason-companies {
	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;
	background-color: #EEF9FF;
}

.reason-companies__title {
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 600;
	text-align: center;
}

.brands {
	padding: clamp(5px, 0.0266666667 * 100vw, 10px) clamp(7px, 0.0373333333 * 100vw, 14px) clamp(5px, 0.0266666667 * 100vw, 10px);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(17px, 0.0906666667 * 100vw, 34px) 0;
}

.brands__item {
	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;
}

.brands__item img {
	width: 100%;
}

.brands__item--1__image {
	width: clamp(68.5px, 0.3653333333 * 100vw, 137px);
}

.brands__item--2__image {
	width: clamp(63.5px, 0.3386666667 * 100vw, 127px);
}

.brands__item--3__image {
	width: clamp(61px, 0.3253333333 * 100vw, 122px);
}

.brands__item--4__image {
	width: clamp(64.5px, 0.344 * 100vw, 129px);
}

.brands__item--5__image {
	width: clamp(45.5px, 0.2426666667 * 100vw, 91px);
}

.brands__item--6__image {
	width: clamp(66.5px, 0.3546666667 * 100vw, 133px);
}

.insurance-type {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	padding: clamp(5px, 0.0266666667 * 100vw, 10px) clamp(15px, 0.08 * 100vw, 30px);
}

.insurance-type__item {
	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;
	height: 36px;
	color: #fff;
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	letter-spacing: 0.05em;
	border-radius: 6px;
	background-color: #708799;
	opacity: 0.6;
}

.place {
	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;
	margin-top: clamp(8px, 0.0426666667 * 100vw, 16px);
}

.place__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;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: clamp(5px, 0.0266666667 * 100vw, 10px);
}

.place__item--second {
	margin: 0 clamp(12.5px, 0.0666666667 * 100vw, 25px) 0 clamp(12.5px, 0.0666666667 * 100vw, 25px);
}

.place__item--last {
	margin-left: clamp(7px, 0.0373333333 * 100vw, 14px);
}

.place__item__text {
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	color: #708799;
	font-weight: 600;
}

.place__image {
	width: clamp(25px, 0.1333333333 * 100vw, 50px);
	height: clamp(25px, 0.1333333333 * 100vw, 50px);
}

.faq {
	height: 100%;
	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;
}

.faq__items {
	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;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: clamp(6px, 0.032 * 100vw, 12px);
}

.faq__item {
	background-color: #EEF9FF;
	padding: clamp(10px, 0.0533333333 * 100vw, 20px) clamp(8px, 0.0426666667 * 100vw, 16px) clamp(10px, 0.0533333333 * 100vw, 20px) clamp(26.5px, 0.1413333333 * 100vw, 53px);
}

.faq__item__q,
.faq__item__a {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.05em;
	position: relative;
}

.faq__item__q::after,
.faq__item__a::after {
	position: absolute;
	left: clamp(-31.5px, -0.168 * 100vw, -63px);
	top: clamp(-2.5px, -0.0133333333 * 100vw, -5px);
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 700;
	font-family: "Poppins", sans-serif;
}

.faq__item__a {
	font-weight: 300;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	line-height: 1.6;
}

.faq__item__a::after {
	content: "A";
	color: #000;
}

.faq__item__a__strong {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.faq__item__q {
	margin-bottom: clamp(8.5px, 0.0453333333 * 100vw, 17px);
}

.faq__item__q::after {
	content: "Q";
	color: #2288dd;
}

.faq__item__mt {
	margin-top: clamp(4.5px, 0.024 * 100vw, 9px);
}

.search {
	height: 100%;
	background-color: #EEF9FF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.search__wrapper {
	margin: 0 auto;
}

.search__bg {
	width: 100%;
	position: relative;
}

.search__bg__img {
	position: absolute;
	width: clamp(118px, 0.6293333333 * 100vw, 236px);
	right: clamp(10px, 0.0533333333 * 100vw, 20px);
	bottom: clamp(90px, 0.48 * 100vw, 180px);
}

.flow {
	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;
}

.flow__items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	padding: clamp(19px, 0.1013333333 * 100vw, 38px) 0 0 clamp(7.5px, 0.04 * 100vw, 15px);
	gap: clamp(10px, 0.0533333333 * 100vw, 20px);
}

.flow__item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	gap: clamp(10px, 0.0533333333 * 100vw, 20px);
	position: relative;
}

.flow__item::after {
	content: "";
	position: absolute;
	width: clamp(7px, 0.0373333333 * 100vw, 14px);
	height: clamp(7px, 0.0373333333 * 100vw, 14px);
	left: clamp(13px, 0.0693333333 * 100vw, 26px);
	bottom: clamp(-17px, -0.0906666667 * 100vw, -34px);
	background-image: url(../img/icon_flow_arrow.webp);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

.flow__item:last-of-type::after {
	display: none;
}

.flow__item__icon {
	width: clamp(32.5px, 0.1733333333 * 100vw, 65px);
	height: clamp(32.5px, 0.1733333333 * 100vw, 65px);
}

.flow__item__text {
	font-size: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-weight: 600;
	letter-spacing: 0.05em;
}

.voice__image {
	padding: clamp(2.5px, 0.0133333333 * 100vw, 5px);
	margin-bottom: clamp(4px, 0.0213333333 * 100vw, 8px);
}

.voice__image img {
	border-radius: 5px 5px 0 0;
}

.voice__attribute {
	text-align: center;
	font-weight: 600;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
}

.voice__attribute span {
	font-size: clamp(6px, 0.032 * 100vw, 12px);
	margin-top: clamp(3px, 0.016 * 100vw, 6px);
	display: block;
}

.voice__text {
	font-size: clamp(8px, 0.0426666667 * 100vw, 16px);
	line-height: 1.5;
	margin-top: clamp(6.5px, 0.0346666667 * 100vw, 13px);
	padding: 0 clamp(7.5px, 0.04 * 100vw, 15px);
	font-weight: 300;
}

.voice-swiper {
	width: 100%;
	height: 452px !important;
	padding-bottom: clamp(27.5px, 0.1466666667 * 100vw, 55px);
	overflow: visible;
	margin-top: clamp(13px, 0.0693333333 * 100vw, 26px);
}

.voice-swiper .swiper-slide {
	background-color: #f3f5f6;
	max-height: 400px !important;
	border-radius: 6px;
	overflow: hidden;
	width: 265px !important;
}

.voice-swiper .swiper-pagination {
	bottom: clamp(5.5px, 0.0293333333 * 100vw, 11px);
	z-index: 10;
}

.voice-swiper .swiper-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 6px;
	background: #d9d9d9;
	opacity: 1;
}

.voice-swiper .swiper-pagination .swiper-pagination-bullet-active {
	background: #f79626;
}

.voice-swiper .swiper-button-next,
.voice-swiper .swiper-button-prev {
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	bottom: 0;
	top: unset;
}

.voice-swiper .swiper-button-next::after,
.voice-swiper .swiper-button-prev::after {
	content: "";
	width: clamp(18px, 0.096 * 100vw, 36px);
	height: clamp(18px, 0.096 * 100vw, 36px);
	background-size: contain;
	background-repeat: no-repeat;
}

.voice-swiper .swiper-button-next {
	right: clamp(22.5px, 0.12 * 100vw, 45px);
}

.voice-swiper .swiper-button-next::after {
	background-image: url(../img/icon_swiper_arrow_next.webp);
}

.voice-swiper .swiper-button-prev {
	left: clamp(22.5px, 0.12 * 100vw, 45px);
}

.voice-swiper .swiper-button-prev::after {
	background-image: url(../img/icon_swiper_arrow_prev.webp);
}

.end {
	background-image: url(../img/bg_end.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	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;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.end__logo {
	width: clamp(130px, 0.6933333333 * 100vw, 260px);
	margin: clamp(6px, 0.032 * 100vw, 12px) auto 0;
}

.cta {
	height: 60px;
	position: absolute;
	width: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: 0;
	padding: 10px;
	-webkit-box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.1);
	z-index: 10;
	background-color: #fff;
}

.cta__items {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 5px;
}

.cta__item {
	width: 100%;
}

.cta__button {
	position: relative;
	border-radius: 40px;
	font-size: clamp(7px, 0.0373333333 * 100vw, 14px);
	text-decoration: none;
	height: 40px;
	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;
	font-weight: 600;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.cta__button::after {
	content: "";
	position: absolute;
	width: 6px;
	height: 12px;
	right: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.cta__button::before {
	content: "";
	width: 28px;
	height: 28px;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 6px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.cta__button::before img {
	width: 100%;
}

.cta__button--contact {
	background-color: #f79626;
	color: #fff;
	padding-left: 18px;
	position: relative;
	border: 1px solid #f79626;
}

.cta__button--contact::after {
	background-image: url(../img/icon_contact_arrow.webp);
}

.cta__button--contact::before {
	background-image: url(../img/icon_contact.webp);
}

.cta__button--search {
	border: solid 1px #2288dd;
	color: #2288dd;
	background-color: #fff;
	padding-left: 12px;
}

.cta__button--search::after {
	background-image: url(../img/icon_search_arrow.webp);
}

.cta__button--search::before {
	background-image: url(../img/icon_search.webp);
}

.cta__button--topper {
	position: absolute;
	width: 78px;
	height: 32px;
	right: 0;
	top: -20px;
	z-index: 2;
}

.search-cta__inner {
	text-decoration: none;
	border: solid 1px #2288dd;
	color: #2288dd;
	background-color: #fff;
	height: 50px;
	width: clamp(157.5px, 0.84 * 100vw, 315px);
	border-radius: 40px;
	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;
	margin: 0 auto;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: clamp(10px, 0.0533333333 * 100vw, 20px);
	font-size: clamp(9.5px, 0.0506666667 * 100vw, 19px);
	font-weight: 600;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.search-cta__inner::before {
	content: "";
	width: 36px;
	height: 36px;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url(../img/icon_search.webp);
	left: 6px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.search-cta__inner::before img {
	width: 100%;
}

.search-cta__inner::after {
	-webkit-transition: 0.4s;
	transition: 0.4s;
	content: "";
	background-image: url(../img/icon_search_arrow.webp);
	position: absolute;
	width: 10px;
	height: 15px;
	right: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.search-cta__image {
	width: 36px;
	height: 36px;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 6px;
}

.search-cta__image img {
	width: 100%;
}

.scroll-contents {
	width: 100%;
	margin: 0 auto;
	height: 100dvh;
	position: relative;
	overflow: hidden;
	max-width: 450px;
	overflow-x: hidden;
}

.main-swiper {
	height: calc(100dvh - 60px);
	max-height: calc(100dvh - 60px);
	width: 100%;
	overflow-x: hidden;
	background-color: #fff;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.main-swiper::-webkit-scrollbar {
	display: none;
}

.main-swiper__slide {
	scroll-margin-top: 100px;
	height: calc(100dvh - 60px);
	max-height: calc(100dvh - 60px);
	overflow: hidden !important;
	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;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

@media (hover: hover) {

.pc-nav__item__inner:hover {
	color: #f79626;
}

.pc-nav__item--1__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_1.webp);
}

.pc-nav__item--2__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_2.webp);
}

.pc-nav__item--3__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_3.webp);
}

.pc-nav__item--4__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_4.webp);
}

.pc-nav__item--5__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_5.webp);
}

.pc-nav__item--6__inner:hover::before {
	background-image: url(../img/icon_pc_nav_orange_6.webp);
}

.pc-nav__children__item:hover {
	color: #f79626;
}

.pc-nav__children__item:hover::after {
	-webkit-transition: 0.4s;
	transition: 0.4s;
	background-color: #f79626;
}

.cta__button:hover::after {
	right: 10px;
}

.cta__button--contact:hover {
	background-color: #fff;
	color: #f79626;
}

.cta__button--contact:hover::after {
	background-image: url(../img/icon_contact_arrow_hover.webp);
}

.cta__button--contact:hover::before {
	background-image: url(../img/icon_contact_hover.webp);
}

.cta__button--search:hover {
	background-color: #2288dd;
	color: #fff;
}

.cta__button--search:hover::after {
	background-image: url(../img/icon_contact_arrow.webp);
}

.cta__button--search:hover::before {
	background-image: url(../img/icon_search_hover.webp);
}

.search-cta__inner:hover {
	background-color: #2288dd;
	color: #fff;
}

.search-cta__inner:hover::after {
	right: 10px;
	background-image: url(../img/icon_contact_arrow.webp);
}

.search-cta__inner:hover::before {
	background-image: url(../img/icon_search_hover.webp);
}

}

@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;
}

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

.pc-main { /* pc */
	position: relative;
	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;
	padding-top: 20vh;
	width: calc(100vw - 375px - 23.26%);
}

.pc-nav { /* pc */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 18vh;
	width: 23.26%;
}

.cta { /* pc */
	width: 100%;
	background-color: transparent;
	position: relative;
	max-width: 585px;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-transform: translateX(0);
	transform: translateX(0);
	left: unset;
}

.cta__items { /* pc */
	gap: 16px;
}

.cta__button { /* pc */
	height: 54px;
	font-size: clamp(1.4rem, 0.1058823529rem + 1.1764705882vw, 1.8rem);
}

.cta__button::after { /* pc */
	width: 12px;
	height: 14px;
}

.cta__button::before { /* pc */
	left: 8px;
	width: 38px;
	height: 38px;
}

.cta__button--topper { /* pc */
	display: none;
}

.search-cta__inner::before { /* pc */
	left: 8px;
	width: 38px;
	height: 38px;
}

.search-cta__inner::after { /* pc */
	width: 12px;
	height: 14px;
}

.scroll-contents { /* pc */
	margin: 0;
	border-radius: 40px 40px 0 0;
	-ms-flex-item-align: end;
	align-self: flex-end;
	height: 100%;
}

.main-swiper { /* pc */
	height: 100%;
	max-height: 100%;
}

.main-swiper__slide { /* pc */
	height: 615px;
}

}

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

.pc-main {
	padding-top: 10vh;
}

.pc-nav {
	padding-top: 10vh;
}

}

@media (min-width: 1101px) {

.campaign-frame {
	background-color: #f3f5f6;
}

.campaign-frame .open-modal {
	display: none;
}

.scroll-contents {
	-webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	max-width: 375px;
	height: calc(100dvh - 60px);
}

.main-swiper__wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	overflow: auto;
}

}

@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);
}

}

@media (max-height: 600px) {

.main-swiper__slide {
	height: 100%;
	max-height: 100%;
}

}

