style.css
body {
	animation: fadeIn 1s ease 0s 1 normal;
	background-color: #fff;
	color: #13141A;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", -apple-system, BlinkMacSystemFont, source-han-sans-japanese, sans-serif !important;
    -webkit-text-size-adjust: 100%; /* iPhoneでの文字サイズ自動調整を防止 */
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
	scroll-behavior: smooth;
}

body.is-hidden {
	overflow: hidden;
}

.u-pc {
	display: block;
}

.u-lg {
	display: none;
}

.u-sp {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.6;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	cursor: pointer;
}

summary {
	list-style: none;
}

summary::-webkit-details-marker {
	display: none;
}

/* Slider */

.slick-loading .slick-list {
	background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */

@font-face {
	font-family: "slick";
	font-style: normal;
	font-weight: normal;
	src: url("./fonts/slick.eot");
	src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
}

/* Arrows */

.slick-prev,
.slick-next {
	background: transparent;
	border: none;
	color: transparent;
	cursor: pointer;
	display: block;
	font-size: 0px;
	height: 20px;
	outline: none;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 20px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background: transparent;
	color: transparent;
	outline: none;
	opacity: .8;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: white;
	font-family: "slick";
	font-size: 20px;
	opacity: 0.75;
}

.slick-prev {
	left: -25px;
}

[dir=rtl] .slick-prev {
	left: auto;
	right: -25px;
}

.slick-prev:before {
	content: "←";
}

[dir=rtl] .slick-prev:before {
	content: "→";
}

.slick-next {
	right: -25px;
}

[dir=rtl] .slick-next {
	left: -25px;
	right: auto;
}

.slick-next:before {
	content: "→";
}

[dir=rtl] .slick-next:before {
	content: "←";
}

/* Dots */

.slick-dotted.slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	bottom: -25px;
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}

.slick-dots li {
	cursor: pointer;
	display: inline-block;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	position: relative;
	width: 20px;
}

.slick-dots li button {
	background: transparent;
	border: 0;
	color: transparent;
	cursor: pointer;
	display: block;
	font-size: 0px;
	height: 20px;
	outline: none;
	padding: 5px;
	width: 20px;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: black;
	content: "•";
	font-family: "slick";
	font-size: 6px;
	height: 20px;
	left: 0;
	opacity: 0.25;
	position: absolute;
	text-align: center;
	top: 0;
	width: 20px;
}

.slick-dots li.slick-active button:before {
	color: black;
	opacity: 0.75;
}

/* Slider */

.slick-slider {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
	display: block;
	position: relative;
	touch-action: pan-y;
	user-select: none;
}

.slick-list {
	display: block;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0, 0, 0);
}

.slick-track {
	display: block;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	top: 0;
}

.slick-track:before,
.slick-track:after {
	content: "";
	display: table;
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}

[dir=rtl] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	border: 1px solid transparent;
	display: block;
	height: auto;
}

.slick-arrow.slick-hidden {
	display: none;
}

.about {
	padding-bottom: 100px;
	padding-top: 100px;
	position: relative;
	z-index: 0;
}

.about::before {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 78%);
	background-color: #f2f2f2;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 78%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.about::after {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
	background-color: #EBFAFF;
	clip-path: polygon(0 0, 100% 0, 100% 78%, 0 100%);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2;
}

.about__desc {
	letter-spacing: 0.04em;
	text-align: center;
}

.about__desc span {
	font-size: 1.125rem;
}

.about__contents-title-wrap {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: center;
	padding-left: 130px;
}

.about__contents-title-wrap img {
	-o-object-fit: contain;
	aspect-ratio: 110/100;
	max-width: 110px;
	object-fit: contain;
}

.about__contents-title {
	display: inline-block;
	font-size: 20px;
	letter-spacing: 0.04em;
	margin-top: 28px;
	position: relative;
	text-align: center;
}

.about__contents-title::before {
	background-color: #13141A;
	content: "";
	display: block;
	height: 20px;
	left: -11px;
	position: absolute;
	top: 4px;
	transform: rotate(-15deg);
	width: 2px;
}

.about__contents-title::after {
	background-color: #13141A;
	content: "";
	display: block;
	height: 20px;
	position: absolute;
	right: -11px;
	top: 4px;
	transform: rotate(15deg);
	width: 2px;
}

.about__triangle {
	border-bottom: 0;
	border-left: 70px solid transparent;
	border-right: 70px solid transparent;
	border-style: solid;
	border-top: 60px solid #13141A;
	height: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	position: relative;
	width: 0;
	z-index: 0;
}

.about__triangle span {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	left: 50%;
	position: absolute;
	top: -38px;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	z-index: 1;
}

.about__desc-bottom {
	font-size: 20px;
	letter-spacing: 0.04em;
	margin-top: 20px;
	text-align: center;
}

.about__desc-bottom span {
	font-size: 24px;
}

.accordion {
	background: linear-gradient(to right, #005AC3 0%, #009DC3 100%);
	padding-bottom: 1px;
}
.accordion:hover  {
background-image: linear-gradient(90deg, rgba(255, 244, 84, 1), rgba(50, 156, 0, 1) 0%, rgba(74, 215, 137, 1));
}

.accordion__title {
	background: linear-gradient(to right, #005AC3 0%, #009DC3 100%);
	color: #fff;
	cursor: pointer;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 19px 60px;
	position: relative;
	text-align: center;
}

.accordion__title:hover {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
    background-image: linear-gradient(90deg, rgba(255, 244, 84, 1), rgba(50, 156, 0, 1) 0%, rgba(74, 215, 137, 1));
}

.accordion__title::after {
	background-image: url("../../assets/images/common/toggle_pc.webp");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 18px;
	position: absolute;
	right: 25px;
	top: 40%;
	transform: rotate(180deg);
	transition: transform ease-in-out 0.4s 0.1s;
	width: 32px;
}

.js-accordion-title.is-active.accordion__title::after {
	transform: translateY(10%) rotate(360deg);
	transition: transform ease-in-out 0.4s 0.1s;
}

.accordion__body {
	-moz-column-gap: 50px;
	align-items: flex-start;
	background-color: #fff;
	column-gap: 50px;
	display: flex;
	justify-content: center;
	margin: 2px;
	padding: 50px 48px;
	transition: all 0.4s;
}

.accordion__container {
	display: none;
	transition: ease-in-out 0.4s;
	transition: visibility 0s linear 0.4s, opacity 0.4s ease-in-out;
}

.accordion__title.is-active .accordion__container {
	display: block;
	transition: ease-in-out 0.4s;
	transition-delay: 0s;
}

.accordion__contents-title {
	letter-spacing: 0.08em;
	text-align: center;
}

.accordion__contents-title span {
	font-size: 20px;
}

.accordion__contents-img {
	margin-top: 30px;
}

.accordion__contents-img img {
	-o-object-fit: cover;
	aspect-ratio: 425/305;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.accordion__contents-text {
	letter-spacing: 0.04em;
	margin-top: 20px;
}

.accordion__contents-text--small {
	color: #707070;
	font-size: 10px;
	margin-top: 10px;
}

.card1 {
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 73.9375rem;
	width: 100%;
}

.card1 + .card1 {
	margin-top: 50px;
}

.card1:nth-child(even) {
	flex-direction: row-reverse;
}

.card1__img {
	max-width: 54%;
}

.card1:first-child,
.card1:nth-child(3) {
	display: flex;
	justify-content: start;
	margin-right: auto;
}

.card1:nth-child(2) {
	display: flex;
	justify-content: end;
	margin-left: auto;
}

.card1__img1 {
	-o-object-fit: cover;
	aspect-ratio: 611/265;
	height: 100%;
	margin-left: 0;
	object-fit: cover;
	width: 100%;
}

.card1__title {
	-moz-column-gap: 10px;
	align-items: center;
	column-gap: 10px;
	display: flex;
	font-size: 20px;
	letter-spacing: 0.08em;
}

.card1__title span {
	font-family: din-2014, sans-serif;
	font-size: 50px;
	font-style: normal;
	font-weight: 700;
}

.card1__body {
	width: 46.5%;
}

.card1__text-wrap {
	background-color: #EBFAFF;
	padding-bottom: 67px;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 20px;
}

.card1__text {
	letter-spacing: 0.04em;
	margin-left: auto;
	margin-right: auto;
	width: 28.125rem;
}

.card1__img2 {
	-o-object-fit: cover;
	aspect-ratio: 325/95;
	height: 100%;
	margin-top: -50px;
	max-width: 20.3125rem;
	object-fit: cover;
	width: 100%;
}

.card1__img2,
.card1__title {
	margin-left: 50px;
}

.card2__title {
	color: #1554AA;
	text-align: center;
}

.card2__title h3 {
	font-size: 20px;
}

.card2__arrow {
	margin-right: auto;
	margin-top: 141px;
	width: 100px;
}

.card2__arrow img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.card2__img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	max-width: 250px;
}

.card2__img img {
	-o-object-fit: contain;
	aspect-ratio: 1/1;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.card2__text {
	letter-spacing: 0.04em;
	margin-top: 20px;
}

.card2__text a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.card2__text--small {
	color: #707070;
	font-size: 8px;
	margin-top: 10px;
}

.card3 {
	background-color: #fff;
	box-shadow: 10px 10px 20px 0px rgba(0, 0, 0, 0.1);
	padding: 40px;
	position: relative;
	z-index: 0;
}

.card3-1,
.card3-2,
.card3-3 {
	position: relative;
	z-index: 0;
}

.card3:nth-child(odd)::before {
	border-bottom: 100px solid transparent;
	border-left: 250px solid #EBFAFF;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	z-index: 1;
}

.card3:nth-child(2n)::before {
	border-bottom: 100px solid transparent;
	border-right: 250px solid #EBFAFF;
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.card3.card3-1::after {
	background-image: url("../../assets/images/common/voice_01_pc.webp");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 56px;
	position: absolute;
	right: 40px;
	width: 281px;
	z-index: -1;
}

.card3.card3-2::after {
	background-image: url("../../assets/images/common/voice_02_pc.webp");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 56px;
	left: 40px;
	position: absolute;
	width: 281px;
	z-index: -1;
}

.card3.card3-3::after {
	background-image: url("../../assets/images/common/voice_03_pc.webp");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 56px;
	position: absolute;
	right: 40px;
	width: 281px;
	z-index: -1;
}

.card3__inner {
	-moz-column-gap: 40px;
	align-items: center;
	column-gap: 40px;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.card3:nth-child(2n) .card3__inner {
	flex-direction: row-reverse;
}

.card3__img {
	max-width: 300px;
	position: relative;
	width: 100%;
	z-index: 2;
}

.card3__img img {
	-o-object-fit: cover;
	aspect-ratio: 300/260;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.card3__block {
	max-width: 580px;
	width: 100%;
}

.card3__title {
	padding-bottom: 20px;
}

.card3__title h3 {
	color: #1554AA;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.card3__text {
	border-top: 1px solid #13141A;
	font-size: 1rem;
	letter-spacing: 0.04em;
	padding-top: 20px;
}

.card3__info {
	letter-spacing: 0.04em;
	margin-top: 20px;
	text-align: right;
}

.card3__title,
.card3__text,
.card3__info {
	flex-shrink: 0;
}

.card4__inner {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 100%;
}

.card4__img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

body {
	position: relative;
	z-index: -2;
}

main {
	overflow: hidden;
	position: relative;
	z-index: -1;
}

.bold {
	font-weight: 700;
}

.underline {
	background: linear-gradient(180deg, transparent 0%, transparent 60%, #FFF798 60%, #FFF798 100%);
}

.blue {
	color: #1554AA;
}

.black {
	color: #13141A;
}

.ex-big {
	font-family: din-2014, sans-serif;
	font-size: 5rem;
	font-weight: 600;
}

.big {
	font-size: 2.25rem;
}

.mid {
	font-size: 2.5rem;
}

.small1 {
	font-size: 1.125rem;
}

.price660 {
	display: inline-block;
	width: 9.875rem;
}

.price660 img {
	-o-object-fit: contain;
	aspect-ratio: 317/118;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.price30 {
	font-family: din-2014, sans-serif;
	font-size: clamp(1.625rem, 1.534rem + 0.45vw, 1.875rem);
	font-weight: 700;
}

.price50 {
	font-family: din-2014, sans-serif;
	font-size: clamp(1.813rem, 1.335rem + 2.39vw, 3.125rem);
	font-weight: 700;
}

.ribon {
	-o-object-fit: contain;
	aspect-ratio: 60/65;
	margin-top: 20px;
	object-fit: contain;
	width: 3.75rem;
}

.flex {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	margin-top: -20px;
	width: 84%;
}

.fz30 {
	font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
}

.fz24 {
	font-size: clamp(1.063rem, 0.903rem + 0.8vw, 1.5rem);
}

.fz22 {
	font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
}

.fz20 {
	font-size: 1.25rem;
}

.fz18 {
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
}

.fz16 {
	font-size: 1rem;
}

.fz10 {
	font-size: 0.625rem;
}

.name {
	display: none;
}

.name-big {
	font-size: 12px;
}

.voice__items.voice__items--sp.js-slider.slick-initialized.slick-slider {
	position: relative;
}

.prev-arrow {
	background-color: #1554AA;
	border-radius: 50%;
	height: 3.125rem;
	left: -15px;
	position: absolute;
	top: 40%;
	width: 3.125rem;
	z-index: 1;
}

.next-arrow {
	background-color: #1554AA;
	border-radius: 50%;
	height: 3.125rem;
	position: absolute;
	right: -15px;
	top: 40%;
	width: 3.125rem;
	z-index: 1;
}

.prev-arrow::before {
	background-image: url("../../assets/images/common/arrow-left.webp");
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	content: "";
	height: 25px;
	left: 30%;
	position: absolute;
	top: 28%;
	width: 15px;
	z-index: 1;
}

.next-arrow::before {
	background-image: url("../../assets/images/common/arrow-right.webp");
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	content: "";
	height: 25px;
	left: 40%;
	position: absolute;
	top: 28%;
	width: 15px;
	z-index: 1;
}

.cta {
	background-color: #fff;
	position: relative;
	z-index: 0;
}

.cta::before,
.cta::after {
	content: "";
	display: block;
	position: absolute;
}

.cta::before {
	border-right: 85.375rem solid #F2F2F2;
	border-top: 14.1875rem solid transparent;
	bottom: 0;
	content: "";
	position: absolute;
	right: 0;
	z-index: -10;
}

.cta::after {
	border-right: 42.6875rem solid #EBFAFF;
	border-top: 22.6875rem solid transparent;
	bottom: 0;
	content: "";
	position: absolute;
	right: 0;
	z-index: -20;
}

.cta__inner {
	position: relative;
}

.cta__inner img {
	margin-left: auto;
	margin-right: auto;
	max-width: 85.375rem;
	width: 100%;
}

.cta__btn {
	animation: squash 0.8s ease-in-out infinite;
	transition: ease-in-out 0.3s;
	cursor: pointer;
	left: 34%;
	margin-left: auto;
	margin-right: auto;
	max-width: 28.125rem;
	position: absolute;
	top: 60%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.cta__btn img {
	-o-object-fit: contain;
	aspect-ratio: 423/95;
	object-fit: contain;
}

.cta__btn:hover a {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.cta__link {
	animation: squash 0.8s ease-in-out infinite;
	transition: ease-in-out 0.3s;
	position: relative;
	z-index: 2;
}

.flow__desc {
	text-align: center;
}

.flow__inner {
	padding-bottom: 50px;
}

.flow__items {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

.flow__item {
	width: 250px;
}

.footer {
	background-color: #F2F2F2;
	padding-bottom: 50px;
	padding-top: 50px;
}

.footer__link {
	display: block;
	height: 50px;
	width: 317px;
}

.footer__logo {
	-o-object-fit: cover;
	aspect-ratio: 317/50;
	object-fit: cover;
}

.footer__inner {
	margin-top: 40px;
}

.footer__items1 {
	-moz-column-gap: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
	align-items: center;
	column-gap: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
	display: flex;
	padding-bottom: 20px;
}

.footer__item1 a {
	font-size: 1.125rem;
	font-weight: 500;
}

.footer__items2 {
	-moz-column-gap: 40px;
	align-items: center;
	border-top: 2px solid #13141A;
	column-gap: 40px;
	display: flex;
	padding-top: 20px;
}

.footer__copyright {
	margin-top: 20px;
}

.footer__copyright small {
	font-size: 14px;
	letter-spacing: 0.04em;
}

.header {
	background-color: white;
	left: 0;
	padding-bottom: 20px;
	padding-top: 0px;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 5;
}

.header__inner {
	-moz-column-gap: clamp(2.5rem, 1.591rem + 4.55vw, 5rem);
	align-items: center;
	column-gap: clamp(2.5rem, 1.591rem + 4.55vw, 5rem);
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
}

.header__logo {
	height: 30px;
	max-width: 190px;
	width: 100%;
	margin-top: -10px;
}

.header__link img {
	-o-object-fit: cover;
	/* aspect-ratio: 190/30; */
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.header__items {
	-moz-column-gap: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
	align-items: center;
	column-gap: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
	display: flex;
	margin-top: -7px;
}

.header__item:last-child {
	width: 100%;
}

.header__item:last-child img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.header__item a {
	font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
	white-space: nowrap;
}

.header__item a:hover,
.header__btn a:hover {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.header.change-color {
	transition: 0.4s;
}

.info {
	background-color: #fff;
	padding: 35px 50px;
	width: 82%;
}

.info__item {
	align-items: flex-start;
	display: flex;
}

.info__item + .info__item {
	margin-top: 20px;
}

.info__item dt {
	font-weight: 700;
	width: 17%;
}

.info__item dd {
	border-left: 1px solid #13141A;
	padding-left: 20px;
	width: 83%;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1060px;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.logo1 {
	aspect-ratio: 200/35;
}
.logo2 {
	aspect-ratio: 147/40;
}
.logo3 {
	aspect-ratio: 166/45;
}
.logo4 {
	aspect-ratio: 200/44;
}
.logo5 {
	aspect-ratio: 200/42;
}
.logo6 {
	aspect-ratio: 200/40;
}
.logo7 {
	aspect-ratio: 1/1;
}
.logo8 {
	aspect-ratio: 200/34;
}
.logo9 {
	aspect-ratio: 161/45;
}
.logo10 {
	aspect-ratio: 200/32;
}
.logo11 {
	aspect-ratio: 200/28;
}
.logo12 {
	aspect-ratio: 200/40;
}
.logo13 {
	aspect-ratio: 75/60;
}
.logo14 {
	aspect-ratio: 128/45;
}
.logo15 {
	aspect-ratio: 160/45;
}
.logo16 {
	aspect-ratio: 98/45;
}
.logo17 {
	aspect-ratio: 57/60;
}

.logo2,
.logo3,
.logo4,
.logo5,
.logo6,
.logo9,
.logo14,
.logo15,
.logo16 {
	margin-top: 10px;
}
.logo1,
.logo8,
.logo10,
.logo11,
.logo12 {
	margin-top: 14px;
}

.logo7,
.logo13{
	margin-top: 1px;
}

.logo-slider {
	padding-bottom: 10px;
	padding-top: 10px;
}

.logo-slider__item {
	margin-left: 50px;
}

.loopSlide {
	display: flex;
	width: 350%;
	height: 60px;
	overflow: hidden;
	column-gap: 50px;
	background-color: #fff;
}

.loopSlide img {
	aspect-ratio: 3510/60;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.loopSlide img:first-child {
			animation: slide1 30s -30s linear infinite;
	}
.loopSlide img:last-child {
	animation: slide2 30s linear infinite;
}

@keyframes slide1 {
0% {
	transform: translateX(100%);
}
to {
	transform: translateX(-50%);
}
}

@keyframes slide2 {
0% {
	transform: translateX(0);
}
to {
	transform: translateX(-100%);
}
}

.mv {
	overflow-x: hidden;
	position: relative;
}

.mv__main {
	position: relative;
}

.mv__main img {
	-o-object-fit: cover;
	aspect-ratio: 1/0.402635;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* 20251118追記 ここから */
@media screen and (max-width: 1520px) {
.mv__main img { aspect-ratio: 1/0.462635;}
}
@media screen and (max-width: 1320px) {
.mv__main img { aspect-ratio: 1/0.520635;}
}
/* 20251118追記 ここまで */

/* 20251224追記 ここから */
.three_points img { width: 71%; max-width: 490px; margin: 6px 0}

@media screen and (max-width: 1160px) {
.three_points img { width: 50%; min-width: 280px; margin: 0}
}

@media screen and (max-width: 896px) {
.three_points img { width: 50%; min-width: 260px; margin: 0}
}

@media screen and (max-width: 768px) {
.three_points img { width: 60%; min-width: 0 !important; margin: 10px 0 0}
}

@media screen and (max-width: 667px) {
.three_points img { width: 50%; margin: 10px 0 0}
}

@media screen and (max-width: 567px) {
.three_points img { width: 40%; margin: 5px 0 0}
}

@media screen and (min-width: 767px) and (max-width: 1160px) {
.black { clamp(1.7rem, 1.6rem + 0.5vw, 1.875rem); letter-spacing: -0.06em; }
}

/* 20251224追記 ここまで */

.mv__text-wrap {
	left: 13.3967789165%;
	position: absolute;
	top: 12%;
}

.mv__title-sub1 {
	background-color: #13141A;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	max-width: -moz-fit-content;
	max-width: fit-content;
	padding: 3px 20px;
	position: relative;
}

.mv__title-sub1:before {
	border: 7px solid transparent;
	border-top: 11px solid #13141A;
	content: "";
	left: 11%;
	margin-left: -18px;
	position: absolute;
	top: 94%;
	transform: rotate(-11deg);
}

.mv__title-sub2 {
	font-size: clamp(0.875rem, 0.511rem + 1.82vw, 1.875rem);
	font-weight: bold;
	letter-spacing: 0.04em;
	margin-top: 18px;
	padding-bottom: 2px;
}

.mv__title-sub2 span {
	border-bottom: 2px solid #13141A;
}

.mv__title-main {
	align-items: baseline;
	display: flex;
	font-size: clamp(2.5rem, 2.273rem + 1.14vw, 3.125rem);
	font-weight: bold;
	letter-spacing: 0.04em;
	margin-top: 10px;
}

.mv__cta--pc {
	animation: squash 0.8s ease-in-out infinite;
	height: clamp(5rem, 4.659rem + 1.7vw, 5.938rem);
	margin-top: 20px;
	max-width: clamp(20rem, 16.977rem + 15.11vw, 28.313rem);
	transition: ease-in-out 0.3s;
}

.mv__cta--pc:hover a {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.mv__cta--pc img {
	-o-object-fit: contain;
	aspect-ratio: 1/0.20971;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.mv__cta--sp {
	display: none;
}

.mv__cta--sp img {
	display: none;
}

.mv__cta--sp:hover a {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.mv__medals {
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	width: 100%;
}

.mv__medals img {
	-o-object-fit: contain;
	aspect-ratio: 900/98;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.mv__notes-sp {
	display: none;
}

.mv__slider {
	overflow: hidden;
	width: 200%;
}

.option {
	background-color: #13141A;
	padding: 10px;
	width: 100%;
}

.option__head {
	color: #fff;
	font-size: 16px;
	text-align: center;
}

.option__items {
	-moz-column-gap: 10px;
	column-gap: 10px;
	display: flex;
	margin-top: 10px;
	text-align: center;
}

.option__item {
	background-color: #fff;
	width: 33.3333333333%;
}

.option__title {
	font-size: 1rem;
	font-weight: 700;
	padding-bottom: 10px;
	padding-top: 10px;
	position: relative;
	z-index: 0;
}

.option__title::before {
	background-color: #13141A;
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 90%;
}

.option__title::after {
	-webkit-clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
	background: #13141A;
	clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 3.125rem;
	z-index: 1;
}

.option__title span {
	color: #fff;
	font-family: din-2014, sans-serif;
	font-size: 30px;
	font-weight: 700;
	left: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.option__body {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 10px;
}

.option__price-wrap {
	color: #1554AA;
}

.option__price1 {
	font-size: 14px;
	font-weight: 700;
}

.option__price2 {
	font-size: 20px;
	font-weight: 700;
	margin-top: -20px;
}

.option__text--small {
	color: #707070;
	font-size: 10px;
	margin-top: 10px;
	text-align: left;
}

.page-top a {
	align-items: center;
	background: linear-gradient(to bottom right, #005AC3 0%, #009DC3 100%);
	border-radius: 50%;
	bottom: 20px;
	color: #fff;
	display: grid;
	font-weight: bold;
	height: clamp(3.875rem, 3.239rem + 3.18vw, 5.625rem);
	justify-items: center;
	padding-top: 10px;
	place-items: center;
	position: fixed;
	right: calc(50% - min(45%, 31rem));
	width: clamp(3.875rem, 3.239rem + 3.18vw, 5.625rem);
	z-index: 5;
}
.page-top a:hover {
	opacity: 0.7;
	transition: ease-in-out 0.3s;
}
.page-top__arrow {
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
	height: 16px;
	position: absolute;
	top: 30%;
	transform: rotate(-45deg);
	width: 16px;
}

.point {
	margin-left: auto;
	margin-right: auto;
	max-width: 85.375rem;
	padding-bottom: 100px;
	width: 100%;
}

.point__desc {
	letter-spacing: 0.04em;
	text-align: center;
}

.point__cards {
	margin-top: 50px;
}

.qa {
	background-color: #fff;
	padding-bottom: 100px;
	position: relative;
	z-index: 1;
}

.qa__tab {
	margin-top: 50px;
}

.reason {
	background-color: #EBFAFF;
	padding-bottom: 100px;
	padding-top: 100px;
	position: relative;
	z-index: 0;
}

.reason::before {
	background-image: url("../../assets/images/common/triangle-top_pc.webp");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 300px;
	left: 0;
	position: absolute;
	top: 0;
	width: 50%;
	z-index: -1;
}

.reason::after {
	border-right: 1366px solid #FFF;
	border-top: 300px solid transparent;
	bottom: 0;
	content: "";
	height: 300px;
	position: absolute;
	right: 0;
	width: 100%;
	z-index: -1;
}

.reason__desc1 {
	justify-content: center;
	letter-spacing: 0.04em;
	text-align: center;
}

.reason__contents1 {
	display: flex;
	margin-top: 50px;
}

.reason__img {
	width: 100%;
}

.reason__img img {
	aspect-ratio: 1000/223;
	height: 100%;
}

.reason__desc2 {
	letter-spacing: 0.04em;
	margin-top: 50px;
	text-align: center;
}

.reason__contents2 {
	align-items: flex-start;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}

.reason__contents-item {
	width: 200px;
}

.recommendation {
	padding-top: 100px;
}

.recommendation__desc {
	letter-spacing: 0.04em;
	text-align: center;
}

.recommendation__desc span {
	font-size: 18px;
}

.recommendation__items {
	-moz-column-gap: 50px;
	align-items: center;
	column-gap: 50px;
	display: flex;
	justify-content: center;
	margin-top: 50px;
	padding-bottom: 50px;
}

.recommendation__item img {
	-o-object-fit: contain;
	aspect-ratio: 300/305;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.recommendation__item {
	margin-left: auto;
	margin-right: auto;
	max-width: 18.75rem;
	width: 100%;
}

.recommendation__items2 {
	-moz-column-gap: 50px;
	align-items: center;
	column-gap: 50px;
	display: flex;
    max-width:1000px;margin: auto;
	justify-content: center;
	margin-top: -30px;
	padding-bottom: 10px;
}

.recommendation__item2 img {
	-o-object-fit: contain;
	aspect-ratio: 300/305;
	height:auto;
	object-fit: contain;
	max-width: 300px;
}
@media screen and (max-width: 600px) {
 .recommendation__items2 {
	-moz-column-gap: 50px;
	align-items: center;
	column-gap: 10px;
	display: flex;
    max-width:600px;margin: auto;
	justify-content: center;
	margin-top: 0px;
	padding-bottom: 0px;
}

.recommendation__item2 img {
	height:auto;
	max-width: 300px;
}   
 
}
.section-title {
	margin-bottom: 50px;
	text-align: center;
}

.section-title__en {
	font-size: 14px;
	letter-spacing: 0.04em;
	position: relative;
}

.section-title__en::before,
.section-title__en::after {
	background-color: #13141A;
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	width: 50px;
}

.section-title__en::before {
	left: -71px;
}

.section-title__en::after {
	right: -71px;
}

.section-title__ja {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: -5px;
}

.service {
	background-image: url("../../assets/images/common/service-bg.webp");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	overflow-y: scroll;
	padding-bottom: 100px;
	padding-top: 100px;
}

.service__desc {
	letter-spacing: 0.04em;
	text-align: center;
}

.service__desc span {
	font-size: 1.125rem;
}

.service__table {
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	max-width: 66.25rem;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.service__table.js-scrollable.scroll-hint.is-scrollable {
	overflow: visible !important;
}

.service__prices {
	position: relative;
}

.service__prices::before {
	background-image: url("../../assets/images/common/service-img.webp");
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: 27.75rem;
	position: absolute;
	right: -11.375rem;
	top: 30%;
	width: 13.875rem;
}

.service__option {
	margin-top: 20px;
}

.service__notes {
	margin-top: 20px;
}

.js-accordion-title.is-active.service__notes-head::after {
	transform: rotate(180deg) translateY(6px);
	transition: ease-in-out 0.4s;
}

.service__notes-head {
	background-color: #13141A;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding-bottom: 10px;
	padding-top: 10px;
	position: relative;
	text-align: center;
	transform: ease-in-out 0.3s;
}
.service__notes-head:hover {
	
}
.service__notes-head::after {
	border-left: 0px solid transparent;
	border-right: 0px solid transparent;
	border-top: 0px solid #fff;
	content: "";
	height: 0;
	position: absolute;
	right: calc(50% - min(45%, 4.5rem));
	top: 50%;
	transform: translateY(-50%);
	transition: ease-in-out 0.4s;
	width: 0;
}

.service__notes-body {
	background-color: #fff;
	padding: 40px;
}

.js-accordion-title.is-active .service__notes-body {
	display: block;
	transition: ease 0.4s;
}

.service__notes-body p {
	font-size: 10px;
}

.service__notes-body p + p {
	margin-top: 10px;
}

.tab__items {
	align-items: center;
	display: flex;
	gap: 10px;
}

.tab__item {
	align-items: center;
	background: #EBFAFF;
	border-radius: 10px 10px 0 0;
	cursor: pointer;
	display: grid;
	font-size: clamp(0.813rem, 0.745rem + 0.34vw, 1rem);
	font-weight: 700;
	justify-items: center;
	min-height: 88px;
	padding: 18px 2px;
	place-items: center;
	text-align: center;
	transition: ease 0.3s;
	width: 16.6666666667%;
}

.tab__item:hover {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.tab__item.is-active {
	background: linear-gradient(to right, #005AC3 0%, #009DC3 100%);
	color: #fff;
}

.tab-container__card {
	background: linear-gradient(to right, #005AC3 0%, #009DC3 100%);
	border-radius: 0 0 10px 10px;
	padding: 2px;
	width: 100%;
}

.tab__body {
	background: #fff;
	border-radius: 0 0 10px 10px;
	padding: 50px 20px;
}

.tab__content {
	border-bottom: 1px solid #121317;
	list-style: none;
	margin-left: auto;
	margin-right: auto;
	max-width: 50rem;
	padding-bottom: 20px;
	position: relative;
	width: 100%;
}

.tab__content:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.tab__content dt {
	align-items: flex-start;
	color: #1554AA;
	cursor: pointer;
	display: flex;
	font-size: 20px;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: 0.04em;
	padding-bottom: 20px;
	padding-left: 60px;
	position: relative;
	width: 100%;
}

.tab__content dt:hover {
	opacity: 0.8;
	transition: ease-in-out 0.3s;
}

.tab__content dt::before {
	align-items: center;
	background-color: #EBFAFF;
	border-radius: 50%;
	content: "Q";
	display: block;
	display: flex;
	font-family: din-2014, sans-serif;
	font-size: 30px;
	font-weight: 600;
	height: 40px;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	width: 40px;
}

.tab__content-inner {
	display: flex;
}

.tab__answer {
	align-items: center;
	background-color: #1554AA;
	border-radius: 50%;
	color: #fff;
	display: block;
	display: flex;
	font-family: din-2014, sans-serif;
	font-size: 30px;
	font-weight: 600;
	height: 40px;
	justify-content: center;
	margin-right: 20px;
	width: 40px;
}

.tab__answer-text {
	letter-spacing: 0.04em;
	width: 80%;
}

.tab__content + .tab__content {
	margin-top: 20px;
}

.toggle {
	height: 1.875rem;
	transform: ease-in-out 0.4s;
	width: 1.875rem;
}

.js-accordion-title.is-active .toggle {
	transform: rotate(-180deg);
	transform: ease-in-out 0.4s;
}

.tab__content dd {
	display: none;
}

.js-accordion-title.is-active .tab__content dd {
	display: block;
}

.card {
	display: none;
}

.card.is-active {
	display: block;
}

.card__img img {
	-o-object-fit: cover;
	aspect-ratio: 400/300;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tab-answer__link {
	-webkit-text-decoration: underline;
	color: #1554AA;
	text-decoration: underline;
}

.trouble {
	padding-bottom: 100px;
	padding-top: 100px;
	position: relative;
	z-index: -2;
}

.trouble::before {
	-webkit-clip-path: polygon(100% 0, 100% 30%, 50% 30%, 0 30%, 0 0);
	background-color: #EBFAFF;
	clip-path: polygon(100% 0, 100% 30%, 50% 30%, 0 30%, 0 0);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2;
}

.trouble__img::before {
	-webkit-clip-path: polygon(100% 0, 100% 72%, 50% 100%, 0 72%, 0 0);
	background-color: #EBFAFF;
	clip-path: polygon(100% 0, 100% 72%, 50% 100%, 0 72%, 0 0);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.trouble__img {
	margin-top: 43px;
	position: relative;
	z-index: 0;
}

.trouble__contents1 {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: auto;
	margin-top: -100px;
	max-width:1200px;
	position: relative;
	width: 100%;
}

.trouble__wrap {
	display: flex;
}

.trouble__contents2 {
	margin-top: 22px;
	text-align: center;
}

.trouble__contents2-inner {
	margin-top: 20px;
}

.trouble__contents2-text1 {
	font-size: 18px;
	letter-spacing: 0.06em;
}

.trouble__contents2-text2 {
	letter-spacing: 0.04em;
}

.trouble__contents2-text3 {
	font-size: 18px;
	letter-spacing: 0.04em;
}

.voice {
	background-color: #fff;
	padding-bottom: 100px;
	padding-top: 100px;
	position: relative;
	z-index: 0;
}

.voice::before {
	background-image: url("../../assets/images/common/voice_bg_pc.webp");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 130% 100%;
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

.voice__desc {
	text-align: center;
}

.voice__items {
	grid-row-gap: 40px;
	display: grid;
	margin-top: 50px;
	row-gap: 40px;
}

.voice__items--sp {
	display: none;
}
@media screen and (min-width: 1920px) {

	.cta__btn {
		left: 40%;
	}
}
@media screen and (min-width: 1366px) {

.voice::before {
	background-size: 100% 100%;
}

}

@media screen and (max-width: 1160px) {
.loopSlide {
	width: 800%;
	column-gap: 30px;
}

.u-lg {
	display: block;
}

.card1__img {
	max-width: 50%;
}

.card1__text {
	width: 18.75rem;
}

.cta__btn {
	max-width: 21.875rem;
	top: 50%;
}

.flow__items {
	margin-left: auto;
	margin-right: auto;
	max-width: 90%;
	width: 100%;
}

.header__inner {
	padding-left: 10px;
	padding-right: 10px;
}

.logo-slider__item {
	margin-left: 20px;
}

.logo-slider__item img {
	object-fit: contain;
}

.mv__text-wrap {
	top: 15%;
}

.mv__title-sub1 {
	font-size: 1rem;
}

.mv__cta--pc {
	margin-top: 0;
	max-width: 18.75rem;
}

.mv__medals {
	max-width: 70%;
}

.reason::after {
	border-right: 1160px solid #FFF;
}

.reason__contents2 {
	margin-left: auto;
	margin-right: auto;
	max-width: 69%;
	width: 100%;
}

.voice::before {
	background-size: 140% 100%;
}

}

@media (max-width: 1000px) {

html {
	font-size: 1.6vw;
}

}

@media screen and (max-width: 767px) {
	.loopSlide {
		width: 500%;
		column-gap: 20px;
	}
	.loopSlide img {
		aspect-ratio: 2475/60;
	}
	.loopSlide img:first-child {
			animation: slide1 40s -30s linear infinite;
		}
	.loopSlide img:last-child {
		animation: slide2 40s linear infinite;
	}

	@keyframes slide1 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-150%);
	}
	}

	@keyframes slide2 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-150%);
	}
	}
.u-pc {

	display: none;
}

.u-lg {
	display: none;
}

.u-sp {
	display: block;
}

html {
	font-size: 16px;
}

.about {
	padding-bottom: 50px;
	padding-top: 50px;
}

.about::before {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 87%);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 87%);
}

.about::after {
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 87%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 100% 87%, 0 100%);
}

.about__desc span {
	font-size: 1.0625rem;
}

.about__contents-title-wrap {
	display: contents;
}

.about__contents-title-wrap img {
	display: none;
}

.about__contents-title {
	margin-top: 30px;
	width: 100%;
}

.about__contents-title::before {
	height: 54px;
	left: 8px;
	transform: rotate(-22deg);
}

.about__contents-title::after {
	height: 54px;
	right: 8px;
	transform: rotate(22deg);
}

.about__triangle {
	margin-top: 30px;
}

.about__desc-bottom {
	font-size: 17px;
	margin-top: 30px;
}

.about__desc-bottom span {
	font-size: 20px;
}

.accordion__title {
	font-size: 18px;
	margin-top: 30px;
	padding: 20px 50px 20px 20px;
	text-align: left;
}

.accordion__title:hover {
	opacity: initial;
}

.accordion__title::after {
	background-image: url("../../assets/images/common/toggle_sp.webp");
	height: 14px;
	right: 17px;
	top: 43%;
	width: 26px;
}

.accordion__title--ud {
	border-bottom: 1px solid #fff;
	display: inline-block;
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 2px;
	padding-bottom: 3px;
}

.accordion__title--small {
	font-size: 14px;
}

.accordion__body {
	grid-row-gap: 30px;
	display: grid;
	margin: 4px;
	padding: 30px 15px;
	row-gap: 30px;
}

.accordion__contents-title span {
	font-size: 18px;
}

.accordion__contents-img img {
	aspect-ratio: 320/310;
}

.accordion__contents-text {
	letter-spacing: 0.08em;
}

.accordion__contents-text--small {
	font-size: 8px;
	letter-spacing: 0;
}

.card1 {
	flex-direction: column;
}

.card1 + .card1 {
	margin-top: 30px;
}

.card1:nth-child(even) {
	flex-direction: column;
}

.card1__img {
	margin-top: 23px;
	max-width: 78.74%;
}

.card1:first-child .card1__img,
.card1:nth-child(3) .card1__img {
	margin-right: auto;
	position: relative;
}

.card1:nth-child(2) .card1__img {
	margin-left: auto;
	position: relative;
}

.card1:nth-child(odd) .card1__text-wrap {
	margin-left: auto;
}

.card1:nth-child(even) .card1__text-wrap {
	margin-right: auto;
}

.card1:nth-child(odd) .card1__title {
	margin-left: -50px;
}

.card1:nth-child(even) .card1__title {
	margin-right: -50px;
}

.card1__img1 {
	order: 2;
}

.card1__title {
	font-size: 18px;
	order: -1;
}

.card1__title span {
	font-size: 40px;
}

.card1__body {
	display: contents;
	order: 1;
}

.card1__text-wrap {
	margin-top: -30px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 60px;
	width: 93%;
}

.card1:nth-child(2) .card1__text-wrap {
	padding-left: 80px;
}

.card1__text {
	max-width: 21.25rem;
	width: 100%;
}

.card1__img2 {
	margin-top: -40px;
	order: 3;
}

.card1__img2,
.card1__title {
	margin-left: 0;
}

.card2__arrow {
	height: 40px;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	width: 12px;
}

.card2__img {
	max-width: 200px;
}

.card2__text--small {
	margin-top: 20px;
}

.card3 {
	display: flex;
	flex-direction: column;
	padding: 30px 20px 73px 20px;
}

.card3.card3-1::after {
	height: 45px;
	width: 225px;
}

.card3.card3-2::after {
	height: 45px;
	width: 225px;
}

.card3.card3-3::after {
	height: 45px;
	width: 225px;
}

.card3__inner {
	align-items: stretch;
	flex: 1;
	flex-direction: column;
	height: 100%;
}

.card3:nth-child(2n) .card3__inner {
	flex-direction: column;
}

.card3__img {
	max-width: none;
	max-width: initial;
}

.card3__img img {
	aspect-ratio: 320/236;
}

.card3__block {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-top: auto;
}

.card3__title {
	margin-top: 30px;
	padding-bottom: 10px;
}

.card3__title h3 {
	font-size: 17px;
}

.card3__text {
	font-size: 0.875rem;
}

.card3__info {
	font-size: 13px;
	margin-top: 10px;
	margin-top: auto;
}

.big {
	font-size: 22px;
}

.mid {
	font-size: 45px;
}

.small1 {
	font-size: 0.8125rem;
}

.price660 {
	margin-top: 14px;
	width: 9.375rem;
}

.price660 img {
	aspect-ratio: 300/117;
}

.price50 {
	font-size: 1.8125rem;
}

.ribon {
	height: 2.5rem;
	width: 3.125rem;
}

.fz30 {
	font-size: 1.125rem;
}

.fz24 {
	font-size: 1.0625rem;
}

.fz22 {
	font-size: 0.875rem;
}

.name {
	background-color: #fff;
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 3px 5px;
	position: relative;
	right: -90%;
	top: -250px;
}

.prev-arrow {
	top: 43%;
}

.next-arrow {
	top: 43%;
}

.cta {
	padding-bottom: 60px;
	padding-left: 0;
	padding-left: initial;
}

.cta__inner img {
	max-width: 31.25rem;
	padding-left: 27px;
	padding-right: 27px;
}

.cta__btn {
	left: 25%;
	top: 70%;
}

.cta__btn img {
	aspect-ratio: 319/81;
}

.flow {
	padding-top: 50px;
}

.flow__items {
	display: grid;
	justify-content: center;
	margin-top: 30px;
	max-width: none;
	max-width: initial;
}

.flow__item {
	width: 320px;
}

.footer {
	padding-bottom: 20px;
	padding-top: 30px;
}

.footer__link {
	height: 22px;
	width: 140px;
}

.footer__logo {
	aspect-ratio: 140/22;
}

.footer__items1 {
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 5px;
}
.footer__items1 a {
	font-size: clamp(0.875rem, 0.696rem + 0.89vw, 1.125rem);
}
.footer__items2 {
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 5px;
	border-top: 1px solid #13141A;
}
.footer__copyright {
	margin-top: 40px;
	text-align: center;
}

.footer__copyright small {
	font-size: 8px;
}

.header {
	padding-top: 0px;
	padding-bottom: 10px;
}

.header__inner {
	justify-content: space-between;
	padding-left: 27px;
	padding-right: 27px;
}

.header__logo {
	height: 22px;
	max-width: 140px;
}

.header__item:last-child {
	height: 44px;
	max-width: 174px;
}

.header__item:last-child img {
	aspect-ratio: 174/44;
}

.info {
	padding: 35px;
	width: 100%;
}

.info__item + .info__item {
	margin-top: 10px;
}

.info__item dt {
	width: 22%;
}

.info__item dd {
	padding-left: 10px;
}

.inner {
	max-width: 31.25rem;
	padding-left: 27px;
	padding-right: 27px;
}
.logo1 {
	aspect-ratio: 150/26;
}

.logo3 {
	aspect-ratio: 140/37;
}
.logo4 {
	aspect-ratio: 150/33;
}
.logo5 {
	aspect-ratio: 150/31;
}
.logo6 {
	aspect-ratio: 150/30;
}

.logo8 {
	aspect-ratio: 150/25;
}
.logo9 {
	aspect-ratio: 120/33;
}
.logo10 {
	aspect-ratio: 150/23;
}
.logo11 {
	aspect-ratio: 150/21;
}
.logo12 {
	aspect-ratio: 150/30;
}
.logo15 {
	aspect-ratio: 150/42;
}

.logo-slider {
	padding-bottom: 0;
	padding-top: 0;
}

.mv__main img {
	aspect-ratio: 1/1.602657;
}

.mv__text-wrap {
	left: 7%;
	top: 15%;
}

.mv__title-sub1 {
	font-size: 1.5rem;
	padding: 5px 10px;
}

.mv__title-sub1:before {
	left: 15%;
}

.mv__title-sub2 {
	font-size: 1.7rem;
	margin-top: 10px;
}

.mv__title-sub2 span {
	border-bottom: 1px solid #13141A;
}

.mv__title-main {
	display: contents;
}

.mv__title-main .custom-span {
	display: block;
	margin-top: -16px;
}

.mv__cta--pc {
	display: none;
}

.mv__cta--pc img {
	aspect-ratio: 1/0.25;
}

.mv__cta--sp {
	animation: squash 0.8s ease-in-out infinite;
	display: block;
	height: 8rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 30.125rem;
	position: relative;
	top: -250px;
}

.mv__cta--sp img {
	-o-object-fit: contain;
	aspect-ratio: 1/0.25;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.mv__medals img {
	aspect-ratio: 364/100;
}

.mv__bottom {
	margin-top: -102px;
}

.mv__notes-sp {
	color: #707070;
	display: inline-block;
	font-size: 8px;
	left: 50%;
	letter-spacing: 0.04em;
	position: relative;
	top: -140px;
	transform: translateX(-50%);
}

.option__item {
	width: 100%;
}

.option__title {
	font-size: 0.8125rem;
}

.option__price2 {
	font-size: 0.8125rem;
}

.page-top a {
	font-size: 10px;
}

.page-top__arrow {
	border-right: 2px solid #fff;
	border-top: 2px solid #fff;
	height: 14px;
	width: 14px;
}

.point {
	padding-bottom: 50px;
}

.point__desc {
	width: 90%;
}

.point__cards {
	margin-top: 30px;
}

.qa {
	padding-bottom: 50px;
}

.qa__tab {
	margin-top: 20px;
}

.reason {
	padding-bottom: 50px;
	padding-top: 50px;
}

.reason::before {
	background-image: url("../../assets/images/common/triangle-top_sp.webp");
	height: 125px;
	width: 100%;
}

.reason::after {
	border-right: 768px solid #FFF;
	border-top: 130px solid transparent;
	height: 130px;
}

.reason__contents1 {
	display: grid;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	width: 90%;
}

.reason__img img {
	aspect-ratio: 320/322;
}

.reason__desc2 {
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	width: 95%;
}

.reason__contents2 {
	-moz-column-gap: 50px;
	column-gap: 50px;
	flex-wrap: wrap;
	margin-top: 30px;
	max-width: 500px;
	row-gap: 20px;
}

.reason__contents-item {
	width: 140px;
}

.recommendation {
	padding-top: 50px;
}

.recommendation__items {
	grid-row-gap: 30px;
	display: grid;
	margin-top: 30px;
	row-gap: 30px;
}

.recommendation__item img {
	aspect-ratio: 320/280;
}

.recommendation__item {
	max-width: 20rem;
}

.section-title {
	margin-bottom: 30px;
}

.section-title__ja {
	font-size: 1.3125rem;
}

.service {
	background-image: url("../../assets/images/common/service-bg_sp.webp");
	padding-bottom: 50px;
	padding-top: 50px;
}

.service__desc {
	width: 86%;
}

.service__table {
	margin-top: 30px;
	max-width: 45rem;
	padding-left: 27px;
	padding-right: 0;
}

.service__table.js-scrollable.scroll-hint.is-scrollable {
	overflow: scroll !important;
}

.service__prices {
	width: 34.375rem;
}

.service__prices::before {
	display: none;
}

.service__option {
	margin-right: calc(50% - 50vw);
	margin-top: 30px;
	padding-right: 0;
	width: 45rem;
}

.service__notes {
	margin-top: 30px;
}

.service__notes-head {
	padding-right: 40px;
}

.service__notes-head:hover {
	opacity: initial;
}

.service__notes-head::after {
	right: calc(50% - min(45%, 3.2rem));
}

.service__notes-body {
	padding: 30px 21px;
}

.service__notes-body p {
	font-size: 8px;
}

.tab__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.tab__item {
	border-radius: 10px;
	font-size: 13px;
	padding: 13px 2px;
	width: 100%;
}

.tab__item:hover {
	opacity: initial;
}

.tab-container__card {
	border-radius: 10px;
	margin-top: 20px;
}

.tab__body {
	border-radius: 10px;
	padding: 35px 20px 25px 20px;
}

.tab__content dt {
	font-size: 17px;
	padding-left: 40px;
}

.tab__content dt:hover {
	opacity: initial;
}

.tab__content dt::before {
	font-size: 22px;
	height: 30px;
	width: 30px;
}

.tab__answer {
	font-size: 22px;
	height: 30px;
	width: 30px;
}

.tab__answer-text {
	font-size: 13px;
	width: 77%;
}

.trouble {
	padding-bottom: 50px;
	padding-top: 50px;
}

.trouble::before {
	-webkit-clip-path: polygon(100% 0, 100% 46%, 50% 50%, 0 46%, 0 0);
	clip-path: polygon(100% 0, 100% 46%, 50% 50%, 0 46%, 0 0);
}

.trouble__img::before {
	display: none;
}

.trouble__img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	max-width: 31.25rem;
	padding-left: 27px;
	padding-right: 27px;
	width: 100%;
}

.trouble__contents1 {
	display: grid;
	margin: auto;
	max-width:800px;height: auto;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.trouble__wrap img {

	height:auto;
	object-fit:contain;
	width: 100%;
}

.trouble__contents2 {
	margin-top: 40px;
}

.trouble__contents2-inner {
	margin-top: 30px;
}

.trouble__contents2-text1 {
	font-size: 14px;
}

.trouble__contents2-text3 {
	font-size: 15px;
}

.voice {
	padding-bottom: 50px;
	padding-top: 50px;
}

.voice::before {
	background-size: 130% 100%;
}

.voice__items {
	display: none;
	margin-top: 30px;
	row-gap: 0;
}

.voice__items--sp {
	display: block;
}
.black {
	color: #13141A;font-size: 50px;
}
}

@media screen and (max-width: 600px) {
.mv__text-wrap {
	left: 7%;
	top: 10%;
}

.black {
	color: #13141A;font-size: 50px;
}
.mv__title-sub2 {
	font-size: 1.2rem;
	margin-top: 10px;
}
.card1:nth-child(2) .card1__text-wrap {
	padding-left: 46px;
}

.name {
	right: -90%;
	top: -250px;
}

.prev-arrow {
	top: 35%;
}

.next-arrow {
	top: 35%;
}

.cta__btn {
	left: 5%;
	max-width: 90%;
}

.mv__cta--sp {
	max-width: 28rem;
	top: -250px;
}

.mv__medals {
	max-width: 86%;
}

.reason::after {
	border-right: 600px solid #FFF;
}

.trouble__contents1 {
	margin-top: -10px;
}

.voice::before {
	background-image: url("../../assets/images/common/voice_bg_sp.webp");
	background-size: 100% 100%;
}

.logo-slider__item {
	margin-left: 0;
}
}

@media screen and (max-width: 500px) {
.loopSlide {
	width: 700%;
}
.mid {
	font-size: 30px;
}
.name {
	right: -80%;
	top: -310px;
}

.mv__cta--sp {
	top: -180px;height: 6rem;
	max-width: 30.125rem;
}

.reason::after {
	border-right: 414px solid #FFF;
}


.black {
	color: #13141A;font-size: 40px;
}
.mv__title-sub2 {
	font-size: 1.0rem;
	margin-top: 10px;
}
    
.mv__title-sub1 {
	font-size: 1.1rem;
	padding: 5px 10px;
}
}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}
.next-arrow,
.prev-arrow {
	top: 32%;
}
.loopSlide {
	width: 700%;
}
.mid {
	font-size: 20px;
}
.name {
	right: -80%;
	top: -270px;
}

.mv__cta--sp {
	top: -150px;height: 6rem;
	max-width: 20.125rem;
}

.reason::after {
	border-right: 414px solid #FFF;
}


.black {
	color: #13141A;font-size: 30px;
}
.mv__title-sub2 {
	font-size: 1.0rem;
	margin-top: 10px;
}
    
.mv__title-sub1 {
	font-size: 1.0rem;
	padding: 5px 10px;
}
}

@keyframes fadeIn {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes squash {

0% {
	transform: scale(1);
}

50% {
	transform: scale(1.05);
}

100% {
	transform: scale(1);
}

}

@keyframes slide {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-200%);
}

}

@media screen and (min-width: 600px) and (max-width: 660px) {
.mv__title-sub2 { letter-spacing: -0.06em; }
}

/*# sourceMappingURL=style.css.map */

/* 202601追記 */
.mv__title-sub1_202601 img { width: 50%; max-width: 310px; margin: 0 0 -15px; }

@media screen and (max-width: 768px) {
.mv__title-sub1_202601 img { width: 96%; max-width: 500px; margin: 0 0 -15px; }}

@media screen and (max-width: 567px) {
.mv__title-sub1_202601 img { width: 90%; max-width: 460px; margin: 10px 0 -10px; }}

/* 202601追記 */
.mv__title-sub1_202601b img { width: 50%; max-width: 320px; margin: 0 0 -15px; }

@media screen and (max-width: 768px) {
.mv__title-sub1_202601b img { width: 96%; max-width: 510px; margin: 0 0 -15px; }}

@media screen and (max-width: 567px) {
.mv__title-sub1_202601b img { width: 90%; max-width: 460px; margin: 10px 0 -10px; }}

/* --- ヘッダー全体の固定設定 --- */
.header .js-header {
  position: fixed; /* 常に固定 */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  height: auto; /* 高さを内容（ティッカー+ナビ）に合わせる */
}

@media screen and (max-width: 768px) {
.header__logo { margin-top: -20px;}
.header__items { margin-top: -17px;}
}