@charset "UTF-8";

/* --------------------
	Reset
-------------------- */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

ul {
	padding-left:0;
}

li {
	list-style:none;
}

a {
	display: block;
	text-decoration: none;
	color: #272624;
}

html, body {
	overflow-x: hidden;
}

/* --------------------
	Base
-------------------- */
:root {
	--max-width: 540px;
}

html {
	color: #272624;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.78;
	font-optical-sizing: auto;
	font-style: normal;
	letter-spacing: .08em;
	scroll-behavior: smooth;
}

html.is-locked,
body.is-locked {
	overflow: hidden;
}

body {
	position: relative;
	background: linear-gradient(to right,#fff,#f4f4f4);
}

body::after {
	position: fixed;
	bottom: 0;
	content: '';
	background: url(img/top_bg-img_pc.png) no-repeat center bottom;
	background-size: contain;
	width: 100%;
	height: 580px;
	z-index: -1;
}

img {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}

.link-btn {
	position: relative;
	width: 100%;
	padding: 16px;
	background-color: #fff;
	color: #665137;
	font-size: 19px;
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	text-align: center;
	transition: 0.4s;
}

.link-btn::after,
.cta__btn_sp::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 40px;
	height: 5px;
	transform: translateY(-50%);
	background: url(img/arrow.svg) no-repeat center / contain;
	transition: right 0.4s ease;
}

.link-btn:hover::after,
.cta__btn_sp:hover::after {
	right: 10px;
}

.sp_only {
	display: none;
}

/* --------------------
	Typography
-------------------- */
h3 {
	font-size: clamp(18px, 5.8vw, 25px);
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	line-height: 1.5em;
	letter-spacing: .05em;
}

h4 {
	font-size: 22px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	line-height: 1.5;
}

.text_bold {
	font-weight: bold;
}

.text_color01 {
	color: #CBA16E;
}

.text_lg {
	font-size: 1.3em;
}

.note-small {
	display: block;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3em;
}

.text-dots {
	padding-top: .2em;
	background-position: top left 0px;
	background-repeat: repeat-x;
	background-size: 1.0em .3em;
	background-image: radial-gradient(.10em .10em at center center, #c7c7c7, #c7c7c7 100%, transparent, transparent);
	letter-spacing: 0.02em;
}

/* title */
.title {
	margin-bottom: 48px;
	text-align: left;
}

.title__label {
	position: relative;
	margin-bottom: 6px;
	padding-bottom: 10px;
	color: #999997;
	font-size: 37px;
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	letter-spacing: .04em;
	line-height: 1em;
}

.title_border02 {
	position: relative;
	padding-bottom: 20px;
	text-align: center;
}

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

.title_border02.title_border-left .title__label::after {
	left: 0;
	transform: none;
}

.title_border01 {
	position: relative;
	padding-bottom: 14px;
}

.title_border01::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	height: 1px;
	width: 56px;
	background-color: #999997;
}

.title_border02 .title__label::after {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
	content: '';
	height: 1px;
	width: 56px;
	background-color: #C7C7C7;
}

.title_color01 .title__label {
	color: #EADCB9;
}

.title_color01 .title__label::after {
	background-color: #BDA283;
}

.title-box {
	position: relative;
	left: -16px;
	padding: 18px;
	background-color: #CBA16E;
	color: #fff;
	text-align: left;
}

.title-box .title__label {
	margin-bottom: 0;
	padding-bottom: 0;
	color: #fff;
}

.title-box .title__text {
	font-family: "Zen Old Mincho", serif;
	font-size: 18px;
}

.text-color__yellow {
	color: #FFEB89;
}

/* --------------------
	nav
-------------------- */
.pc-nav .gnav a {
	transition: 0.4s;
}

.gnav .link-btn {
	background: linear-gradient(to right,#D8AD79,#B98C54);
	color: #fff;
}

.gnav .link-btn::after {
	background: url(img/arrow_white.svg) no-repeat center / contain;
}

.pc-nav a.is-active {
	font-weight: bold;
}

.pc-nav .gnav a:hover {
	opacity: 0.6;
}

.gnav_list {
	max-width: 329px;
	margin: auto;
	padding: 8px;
	text-align: center;
}

.gnav_link a {
	padding: 8px 0;
}

.link_sp {
	display: none;
}

/* ハンバーガーメニュー */
.hamburger {
	display: none;
	position: fixed;
	top: 20px;
	right: 20px;
	width: 32px;
	height: 10px;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
	z-index: 5;
}

.hamburger span {
	position: absolute;
	right: 0;
	width: 100%;
	height: 2px; 
	background-color: #272624;
	transition: all 0.4s ease-in-out;
}

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

.hamburger span:nth-child(2) {
	bottom: 0;
	width: 18px;
}

.hamburger.active span {
	top: 50%;
}

.hamburger.active span:nth-child(1) {
	transform: translateY(-50%) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
	transform: translateY(-50%) rotate(-45deg);
	bottom: auto;
	width: 100%;
}

/* --------------------
	Layout
-------------------- */
.scroll-content {
	max-width: calc(430 * 1px);
	margin-inline: auto;
	margin: auto;
	background: #fff;
	overflow-x: hidden;
	box-shadow: 0 4px 13px rgba(159, 159, 159, 0.25);
}

.pc-content {
	position: fixed;
	width: calc((100% - 430px) /2);
	height: 100%;
	z-index: 1;
}

.pc-content_left {
	left: 0;
}

.pc-left__name {
	margin-bottom: 10px;
	font-size: 24px;
	font-weight: bold;
}

.pc-left__name .title-name {
	display: block;
	font-size: 1.2em;
}

.pc-left p {
	line-height: 1.5em;
}

.pc-left,.pc-right {
	position: relative;
	top: 50%;
	transform: translate(0 , -50%);
	width: 100%;
	text-align: center;
}

.pc-content_right {
	right: 0;
}

.bg-img {
	background: url(img/bg_img.jpg) no-repeat center / 100% 100%;
}

.section__container {
	position: relative;
	z-index: 2;
	padding: 100px 16px;
	box-sizing: border-box;
}

.cta__btn_pc {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 230px;
	height: 230px;
	margin: 32px auto 0 auto;
	background: linear-gradient(to bottom,#d8ad79,#a27742);
	color: #fff;
	border-radius: 300px;
	box-shadow: 0 0 8.6px -2px rgba(102, 81, 55, 0.4);
	transition: 0.4s;
}

.cta__btn_pc:hover {
	filter: brightness(0.9);
}

.btn__label {
	padding-bottom: 20px;
}

.btn__copy_pc {
	font-size: 18px;
	font-weight: 500;
}

.btn__text {
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	text-shadow: 0 2px 2.9px rgba(100, 70, 26, 0.41);
}

.btn__text_pc {
	font-size: 29px;
	line-height: 1.2em;
}

.cta__btn_sp {
	position: relative;
	bottom: 14px;
	display: flex;
	align-items: center;
	height: 67px;
	margin: 0 10px;
	background: linear-gradient(to right, #B98C54,#D8AD79);
	text-decoration: none;
	z-index: 4;
	transition: transform .4s ease;
}

.cta__btn_sp::after {
	background: url(img/arrow_white.svg) no-repeat center / contain;
}

.cta__btn_sp .btn__line {
	position: relative;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	height: 100%;
	margin-right: 18px;
	padding-left: 14px;
	background: #fff;
	border-bottom: none;
	font-size: 15px;
	font-weight: bold;
	color: #C58A3A;
	white-space: nowrap;
}

.cta__btn_sp .btn__line::after {
	content: "";
	position: absolute;
	top: -1px;
	right: -22px;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 35px solid transparent;
	border-bottom: 35px solid transparent;
	border-left: 22px solid #fff;
	border-right: 0;
}

.btn__line_box {
	position: relative;
	display: inline-block;
	margin-bottom: 8px;
	padding: 6px 18px;
	border-radius: 100px;
	background-color: #fff;
	color: #BF935C;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	z-index: 1;
}

.btn__line_box::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 8px 5.5px 0 5.5px;
	border-color: #fff transparent transparent;
	translate: -50% 100%;
}

.cta__text-wrap {
	padding-left: 10px;
	color: #fff;
	font-family: "Zen Old Mincho", serif;
	text-shadow: 0 2px 2.9px rgba(100, 70, 26, 0.41);
}

.btn__copy_sp {
	font-size: 14px;
	line-height: 1.2em;
	letter-spacing: .03em;
	text-shadow: 0 2px 2.9px rgba(100, 70, 26, 0.41);
}

.btn__text_sp {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
}

/* header */
header .name {
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 100%;
	max-width: 430px;
	padding: 0 16px;
	z-index: 3;
	font-size: 20px;
}

.name {
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	line-height: 1.2em;
	text-shadow: 0 2px 2.9px rgb(174 174 174 / 41%);
}

.title-name {
	line-height: 1em;
	letter-spacing: .03em;
}

/* mv */
.mv {
	position: relative;
	background: linear-gradient(to right, #fff, #F4F4F4);
}

.mv::before {
	position: absolute;
	top: 136px;
	left: 0;
	content: '';
	background: url(img/bg.png) no-repeat center / 100% 100%;
	width: 100%;
	height: 243px;
}

.mv::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	background: url(img/top_bg-img_sp.png) no-repeat center / 100% 100%;
	width: 100%;
	height: 192px;
	z-index: 1;
}

.mv__inner {
	position: relative;
	padding: 100px 16px 80px;
	z-index: 2;
}

.mv__title {
	margin-bottom: 18px;
	font-size: clamp(27px, 8vw, 34px);
	font-weight: bold;
    line-height: 1.5em;
}

.mv__lead {
	margin-bottom: 24px;
}

.mv__sub {
	margin-bottom: 24px;
}

.mv__sub-text {
	position: relative;
	left: -16px;
	display: inline-block;
	padding: 4px 24px;
	background-color: #fff;
	font-size: 20px;
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	box-shadow: 0 2px 4px #83736033;
}

.mv__sub-text:nth-child(n + 2) {
	margin-top: 8px;
}

.mv__point-list {
	display: flex;
	justify-content: space-between;
	margin: 0 8px 20px;
}

.mv__point-item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: calc((100% / 3) - 6px);
	aspect-ratio: 1 / 1;
	border: 1px solid #665137;
	border-radius: 50%;
	text-align: center;
	box-sizing: border-box;
	box-shadow: 0 2px 4px 0 rgba(131, 115, 96, 0.2);
}

.mv__point-icon {
	width: auto;
	height: 42px;
}

.mv__point-text {
	color: #665137;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: normal;
}

.mv__free {
	background-color: #ffffff5c;
	padding: 8px;
	box-shadow: 0 2px 4px rgba(172, 172, 172, 0.25);
	backdrop-filter: blur(1px);
	-webkit-backdrop-filter: blur(1px);
}

.mv__free-text {
	font-size: clamp(14px, 4.5vw, 18px);
	text-align: center;
	line-height: 2em;
}

.mv__fee-item {
	margin-right: 2px;
	padding: 4px 8px;
	background-color: #CBA16E;
	color: #fff;
	font-weight: 500;
}

.mv__free-highlight {
	color: #665137;
	font-size: clamp(23px, 6vw, 28px);
	font-weight: bold;
}

/* preamble */
.section_preamble {
	position: relative;
}

.preamble__conclusion {
	margin-top: 16px;
}

.preamble__img {
	width: 142px;
	margin-bottom: 16px;
}

.preamble__text {
	text-align: center;
}

.preamble__list {
	position: relative;
	height: 190px;
	margin-top: 24px;
}

.preamble__item {
	position: absolute;
	width: 176px;
	margin-bottom: 14px;
	padding: 2px 0;
	background-color: #F0D2AD;
	color: #665137;
	text-align: center;
	font-weight: 400;
	filter: drop-shadow(0 2px 4px rgba(73, 55, 34, 0.25));
}

.preamble__item::after {
	position: absolute;
	bottom: -14px;
	content: '';
	background: url(img/parts01.svg) no-repeat center / 100% 100%;
	width: 14px;
	height: 23px;
}

.preamble__item:nth-child(odd)::after {
	left: 19px;
}

.preamble__item:nth-child(even)::after {
	transform: scaleX(-1);
	right: 19px;
}

.preamble__item:nth-child(2) {
	top: 16px;
	right: 0;
}

.preamble__item:nth-child(3) {
	top: 64px;
	left: 8px;
}

.preamble__item:nth-child(4) {
	top: 80px;
	right: 8px;
}

.preamble__item:nth-child(5) {
	top: 134px;
	left: 50%;
	transform: translate(-50%, 0);
}

.conclusion__text {
	width: 100%;
	padding: 8px 0;
	text-align: center;
	background-color: #CBA16E;
	color: #fff;
	font-weight: 500;
}

/* point */
.section_point {
	background: linear-gradient(to right,#FFFCF7,#FFF6E7);
}

.section__container_point {
	position: relative;
	padding-bottom: 48px !important;
}

.point__item {
	position: relative;
	display: inline-block;
	margin-top: 12px;
	padding: 24px 16px;
	background-color: #ffffff99;
}

.point__item:not(:last-child) {
	margin-bottom: 48px;
}

.point__number {
	position: absolute;
	top: -33px;
	left: 16px;
	display: inline-block;
	color: #c7c7c7;
	font-size: 55px;
	font-weight: 400;
	line-height: normal;
	font-family: "Oswald", sans-serif;
	letter-spacing: .03em;
}

.point__summary {
	position: relative;
	padding: 50px 16px;
	background: #fff;
	overflow: hidden;
}

.point__summary::before {
	position: absolute;
	content: '';
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 120%;
	height: 48px;
	background: linear-gradient(to right,#FFFCF7,#FFF6E7);
	clip-path: polygon(0 0,100% 0,50% 100%);
	z-index: 1;
}

.point__summary-text {
	position: relative;
	margin-top: 32px;
	font-family: "Zen Old Mincho", serif;
	font-size: clamp(14px, 4.9vw, 20px) !important;
	font-weight: bold;
	text-align: center;
}

.point__summary-text p {
	position: relative;
	z-index: 2;
}

.point__summary-text::before,.point__summary-text::after {
	position: absolute;
	content: '';
	top: 50%;
	transform: translate(0 , -50%);
	width: 34px;
	height: 120px;
	background: url(img/decoration02.png) no-repeat;
	background-size: contain;
	z-index: 1;
}

.point__summary-text::before {
	left: 0;
}

.point__summary-text::after {
	right: 0;
	transform: translate(0 , -50%) scale(-1, 1)
}

.point__title {
	margin-bottom: 24px;
	padding-bottom: 12px;
	text-align: center;
	border-bottom: 1px solid #E6DECA;
}

.point__img {
	width: 176px;
	margin-bottom: 24px;
}

.point__points {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.point__list {
	margin-top: 8px;
	margin-bottom: 0;
}

.point__tag {
	display: inline-block;
	padding: 2px 10px;
	background-color: #CBA16E;
	color: #fff;
}

.point__box {
	background-color: #fff;
	margin-top: 24px;
	padding: 8px;
	border-radius: 1px;
}

.point__text_large {
	margin-bottom: 10px;
	color: #665137;
	font-size: 26px;
	font-weight: bold;
}

/* difference */
.compare {
	margin-bottom: 16px;
}

.compare__title {
	margin-bottom: 16px;
	font-weight: bold;
}

.compare__title:before {
	content:'●';
	padding-right: 6px;
	color: #C7C7C7;
}

.compare01 .compare__label {
	padding: 5px 8px 13px;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.compare__lead {
	margin-bottom: 16px;
}

.compare__label {
	overflow: hidden;
}

.compare01 .compare__item_normal {
	border: 8px solid #999997;
}

.compare01 .compare__item_platform {
	margin-top: 16px;
	border: 8px solid #CBA16E;
}

.compare01 .compare__item_normal .compare__label {
	background-color: #999997;
}

.compare01 .compare__item_platform .compare__label {
	background-color: #CBA16E;
}

.compare__description {
	padding: 14px 0 6px;
	color: #fff;
	text-align: center;
	font-weight: bold;
	line-height: 1.4em;
}

.compare__item_normal .compare__description{
	background-color: #999997;
}

.compare__item_platform .compare__description{
	background-color: #CBA16E;
}

.compare02 {
	margin-top: 48px;
}

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

.compare02 .compare__head,
.compare02 .compare__label,
.compare02 .compare__content {
	padding: 20px 4px;
	border: 1px solid #a9a9a9;
	text-align: center;
}

.compare02 .compare__label,
.compare02 .compare__content {
	height: 102px;
}

.compare02 .compare__head {
	padding: 12px 2px;
}

.compare__head-label {
	width: 40px;
}

.compare__head-normal,.compare__head-platform {
	color: #fff;
}

.compare__row .compare__head-label {
	border: none;
}

.compare__head-normal {
	width: 45%;
	background: #999997;
	font-size: 12px;
	line-height: 1.3em;
}

.compare__head-platform {
	width: 55%;
	background: #CBA16E;
}

.compare02 .compare__label {
	width: 40px;
	padding: 4px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2em;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	letter-spacing: 0.2em;
}

.compare__icon {
	width: auto;
	height: 38px;
	margin-bottom: 8px;
}

.compare__text {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2em;
	letter-spacing: .05em;
}

.compare__content-center {
	background-color: #FBF8F4;
}

.compare__head-platform,
.compare__content-center {
	border-left: 6px solid #CBA16E !important;
	border-right: 6px solid #CBA16E !important;
}

.compare__head-platform {
	font-size: 16px;
	border-top: 6px solid #CBA16E !important;
}

.compare__row:last-child .compare__content-center {
	border-bottom: 6px solid #CBA16E;
}

.compare__content-center .compare__text {
	color: #665137;
	font-weight: bold;
}

/* zero-cost */
.section_zero-cost {
	background-color: #f0f0f0;
}

/* faq */
.section_faq {
	position: relative;
}

.section_faq::before {
	position: absolute;
	content: '';
	top: -43px;
	left: 0;
	width: 100%;
	height: 52px;
	background: url(img/decoration.png) no-repeat;
	background-size: contain;
}

.accordion__block-faq .accordion__item {
	background-color: #f6f6f6;
}

/* footer */
.footer {
	padding: 40px 16px;
}

.info__container {
	text-align: center;
}

.info__title {
	margin-bottom: 24px;
}

.info__noto {
	margin-top: 8px;
	font-size: 16px;
	color: #ccc;
}

.footer__copy {
	margin-top: 24px;
	text-align: center;
	font-size: 14px;
}

/* accordion */
.accordion__item {
	overflow: hidden;
	background-color: #fff;
	font-size: 16px;
}

.accordion__block .accordion__item:nth-child(n + 2) {
	margin-top: 16px;
}

.accordion__block .accordion__summary::after {
	position: absolute;
	content: '';
	right: 12px;
	transform: translateY(-25%) rotate(45deg);
	width: 9px;
	height: 9px;
	margin-left: 10px;
	border-bottom: 1px solid #999997;
	border-right: 1px solid #999997;
	transition: rotate .3s;
}

.accordion__block .accordion__item.is-open .accordion__summary::after {
	rotate: 180deg;
}

.accordion__item:nth-child(n + 2) {
	margin-top: 16px;
}

.accordion__summary {
	position: relative;
	display: flex;
	align-items: center;
	padding: 18px 36px 18px 14px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}

.accordion__contents {
	margin: 0 8px;
	padding: 16px 8px;
	border-top: 1px solid #999997;
}

.accordion__inner {
	opacity: 1;
	transform: translateY(0);
}

.js-accordion-content {
	height: 0;
	overflow: hidden;
	transition: height 0.35s ease;
}

/* faq */
.accordion__feature-list {
	margin-bottom: 16px;
}

/* zero-cost */
.zero-cost__text {
	margin-bottom: 24px;
}

.zero-cost__img {
	margin-bottom: 24px;
}

.accordion__reason-list {
	padding-left: 8px;
	border-left: 3px solid #F1F1F1;
}

.accordion__reason-item:nth-child(n + 2) {
	margin-top: 16px;
}

.accordion__feature-item {
	background-color: #fff;
	padding: 14px 8px;
	font-weight: 500;
}

.accordion__feature-item:nth-child(n + 2) {
	margin-top: 12px;
}

.accordion__feature-item .number {
	margin-right: 4px;
	color: #999997;
	font-weight: bold;
	letter-spacing: .03em;
}

/* step */
.accordion__block-step {
	position: relative;
	margin-bottom: 24px;
}

.accordion__block-step .accordion__item:nth-child(n + 2) {
	margin-top: 34px;
}

.accordion__block-step .accordion__summary {
	color: #665137;
}

.accordion__block-step::after {
	position: absolute;
	content: '';
	top: 0;
	left: 50%;
	width: 4px;
	height: 100%;
	background-color: #fff;
	z-index: 1;
}

.step__number {
	position: absolute;
	top: -10px;
	left: 8px;
	margin-right: 4px;
	padding: 2px 8px;
	background-color: #CBA16E;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
}

.accordion__block-step .accordion__item {
	position: relative;
	background-color: #fff;
	overflow: visible;
	z-index: 2;
}

/* voice */
.section_voice {
	background: linear-gradient(to bottom,#FFF6E7,#FFFCF7);
}

.voice__profile {
	display: flex;
	justify-content: center;
	align-items: center;
}

.voice__profile-icon {
	width: 65px;
	margin: 0 24px 0 0;
}

.voice__profile-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
	font-size: 16px;
}

.voice__profile-age {
	font-weight: bold;
}

.voice__profile-tags li {
	background-color: #ebebeb;
	padding: 0 8px;
}

.voice__rating {
	display: flex;
	align-items: center;
	width: 153px;
	margin: 16px auto;
}

.rating-icon {
	width: 20px;
	height: 20px;
}

.voice__rating-score {
	margin-left: 5px;
	color: #FFB443;
	font-weight: bold;
}

.voice__headline {
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
}

.voice__text {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #F1F1F1;
}

.swiper {
	width: 360px;
	height: fit-content;
	overflow: hidden;
}

.swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-shadow: 3px 4px 7.3px rgba(212, 212, 212, 0.25);
	transition: background-color .4s ease;
}

.swiper.swiper-cards {
	width: 90%;
	margin: 0 auto 0 0;
}

.swiper-3d .swiper-slide-shadow {
	background: none !important;
}

.swiper-slide:nth-child(1n) {
	background-color: #f7efe1;
}

.swiper-slide:nth-child(2n) {
	background-color: #f2e9da;
}

.swiper-slide:nth-child(3n) {
	background-color: #e1d7c6;
}

.swiper-slide:nth-child(4n) {
	background-color: #d8cebd;
}


.swiper-slide:nth-child(5n) {
	background-color: #c9c1b3;
}

.swiper-slide-active {
	background-color: #fff !important;
}

/* assessment */
.section_assessment {
	background: url(img/bg_contact.png) no-repeat center / 100% 100%;
	color: #fff;
	text-align: center;
}

.section_assessment .btn__line_box {
	padding: 6px 27px;
	font-size: 16px;
}

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

.section_assessment .section__container {
	padding: 48px 16px;
}

.section_assessment .title__text {
	font-size: 27px;
	text-shadow: 0 2px 4px rgba(102, 81, 55, 0.25);
}

.section_assessment .title {
	margin-bottom: 24px;
}

.assessment-cta__description {
	margin-bottom: 24px;
}

/* --------------------
	form / thanks page
-------------------- */
.page_form,
.page_thanks {
	background: linear-gradient(to right, #fff, #f4f4f4);
}

.page_form::after,
.page_thanks::after {
	display: none;
}

.form-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 16px;
	background-color: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.form-header__back {
	display: inline-flex;
	align-items: center;
	color: #665137;
	font-size: 14px;
	font-weight: bold;
	transition: opacity 0.3s;
}

.form-header__back:hover {
	opacity: 0.6;
}

.form-header__brand {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-size: 18px;
	letter-spacing: 0.04em;
}

.form-header__brand .title-name {
	font-size: 15px;
}

.form-main {
	max-width: var(--max-width);
	margin: 0 auto;
}

.section_form,
.section_thanks {
	background-color: transparent;
}

.section_form .section__container,
.section_thanks .section__container {
	padding: 60px 20px 80px;
}

.section_form .title,
.section_thanks .title {
	text-align: center;
}

.form__lead {
	margin-bottom: 36px;
	text-align: center;
	font-size: 16px;
	line-height: 1.9;
}

.form__lead-em {
	color: #665137;
	font-weight: bold;
	font-size: 19px;
}

/* stepper UI */
.form-stepper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 36px;
	padding: 0;
	list-style: none;
	position: relative;
	counter-reset: stepper;
}

.form-stepper::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 12%;
	right: 12%;
	height: 2px;
	background-color: #e6e2da;
	z-index: 0;
}

.form-stepper__item {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
	text-align: center;
}

.form-stepper__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background-color: #fff;
	border: 2px solid #d8d3cc;
	color: #999997;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: bold;
	transition: 0.3s;
}

.form-stepper__label {
	font-size: 12px;
	color: #999997;
	letter-spacing: 0.02em;
	line-height: 1.4;
}

.form-stepper__item.is-active .form-stepper__num {
	background-color: #665137;
	border-color: #665137;
	color: #fff;
}

.form-stepper__item.is-active .form-stepper__label {
	color: #665137;
	font-weight: 700;
}

.form-stepper__item.is-completed .form-stepper__num {
	background-color: #CBA16E;
	border-color: #CBA16E;
	color: #fff;
}

.form-stepper__item.is-completed .form-stepper__num::before {
	content: "✓";
}

.form-stepper__item.is-completed .form-stepper__num > * {
	display: none;
}

/* form-step (各ステップ) */
.form-step {
	display: none;
}

.form-step.is-active {
	display: block;
	animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.form-step__heading {
	margin-bottom: 24px;
	font-family: "Zen Old Mincho", serif;
	font-size: 19px;
	font-weight: bold;
	text-align: center;
	color: #665137;
}

/* 条件付き表示ブロック */
.form__conditional {
	display: none;
}

.form__conditional.is-active {
	display: block;
}

/* ナビゲーションボタン */
.form-step__nav {
	display: flex;
	gap: 12px;
	margin-top: 32px;
}

.form__btn {
	flex: 1;
	padding: 14px 16px;
	background-color: #fff;
	border: 1px solid #665137;
	color: #665137;
	font-family: "Zen Old Mincho", serif;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	transition: 0.3s;
}

.form__btn:hover {
	background-color: #665137;
	color: #fff;
}

.form__btn_next {
	background-color: #665137;
	color: #fff;
}

.form__btn_next:hover {
	background-color: #4d3d28;
	border-color: #4d3d28;
}

.form__btn_back {
	flex: 0 0 35%;
}

/* radio group vertical */
.form__radio-group_vertical {
	flex-direction: column;
}

.form__radio-group_vertical .form__radio {
	flex: 1;
	min-width: 100%;
}

.form__radio-group_vertical .form__radio-text {
	padding: 18px 16px;
	font-size: 17px;
}

/* textarea */
.form__textarea {
	width: 100%;
	padding: 14px 14px;
	background-color: #fff;
	border: 1px solid #d8d3cc;
	font-family: inherit;
	font-size: 16px;
	color: #272624;
	resize: vertical;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.form__textarea:focus {
	outline: none;
	border-color: #665137;
	box-shadow: 0 0 0 3px rgba(102, 81, 55, 0.15);
}

/* form body */
.form__group {
	margin-bottom: 28px;
}

.form__label {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 500;
	color: #272624;
}

.form__required {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	background-color: #CBA16E;
	color: #fff;
	font-size: 11px;
	font-weight: normal;
	letter-spacing: 0.04em;
	vertical-align: 2px;
}

.form__radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.form__radio {
	position: relative;
	flex: 1 1 calc(33.333% - 10px);
	min-width: 90px;
	cursor: pointer;
}

.form__radio input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

.form__radio-text {
	display: block;
	padding: 14px 8px;
	background-color: #fff;
	border: 1px solid #d8d3cc;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	transition: 0.3s;
}

.form__radio input:checked + .form__radio-text {
	background-color: #665137;
	border-color: #665137;
	color: #fff;
}

.form__radio:hover .form__radio-text {
	border-color: #665137;
}

.form__input,
.form__select {
	width: 100%;
	padding: 14px 14px;
	background-color: #fff;
	border: 1px solid #d8d3cc;
	font-family: inherit;
	font-size: 16px;
	color: #272624;
	transition: border-color 0.3s, box-shadow 0.3s;
	appearance: none;
	-webkit-appearance: none;
}

.form__input:focus,
.form__select:focus {
	outline: none;
	border-color: #665137;
	box-shadow: 0 0 0 3px rgba(102, 81, 55, 0.15);
}

.form__select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23665137' stroke-width='1.5' d='M1 1l5 5 5-5'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 40px;
}

.form__note {
	margin-top: 6px;
	font-size: 13px;
	color: #999997;
	line-height: 1.6;
}

.form__error {
	margin-top: 6px;
	min-height: 1em;
	font-size: 13px;
	color: #c0392b;
	line-height: 1.5;
}

.form__error:empty {
	margin-top: 0;
	min-height: 0;
}

.form__privacy {
	margin: 28px 0 20px;
	padding: 14px;
	background-color: #f7f4ef;
	font-size: 13px;
	text-align: center;
	color: #665137;
}

.form__submit {
	cursor: pointer;
	border: none;
	font-family: "Zen Old Mincho", serif;
}

.form__submit:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.form__submit:not(:disabled):hover {
	background-color: #665137;
	color: #fff;
}

.form__submit:not(:disabled):hover::after {
	filter: brightness(0) invert(1);
}

.form__error_global {
	margin-top: 12px;
	text-align: center;
}

/* thanks page */
.thanks__text {
	margin-bottom: 32px;
	text-align: center;
	font-size: 17px;
	line-height: 1.9;
}

.thanks__box {
	margin-bottom: 24px;
	padding: 24px 18px;
	background-color: #fff;
	border: 1px solid #e6e2da;
}

.thanks__box-title {
	margin-bottom: 12px;
	color: #665137;
	font-family: "Zen Old Mincho", serif;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

.thanks__box-text {
	font-size: 15px;
	line-height: 1.9;
	text-align: center;
}

.thanks__note {
	margin-bottom: 36px;
	text-align: center;
	color: #999997;
}

.thanks__back {
	max-width: 320px;
	margin: 0 auto;
}

/* --------------------
	media
-------------------- */
/* form/thanks ページのスマホ調整 */
@media screen and (max-width: 480px) {
	.form-header {
		padding: 14px 16px;
	}

	.form-header__back-text {
		font-size: 13px;
	}

	.form-header__brand {
		font-size: 16px;
		gap: 6px;
	}

	.form-header__brand .title-name {
		font-size: 13px;
	}

	.section_form .section__container,
	.section_thanks .section__container {
		padding: 40px 16px 60px;
	}

	.form__lead {
		font-size: 15px;
		line-height: 1.8;
	}

	.form__lead-em {
		font-size: 17px;
	}

	.form-stepper {
		margin-bottom: 28px;
	}

	.form-stepper::before {
		top: 16px;
		left: 14%;
		right: 14%;
	}

	.form-stepper__num {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.form-stepper__label {
		font-size: 11px;
		letter-spacing: 0;
	}

	.form-step__heading {
		font-size: 17px;
		margin-bottom: 20px;
	}

	.form__group {
		margin-bottom: 22px;
	}

	.form__btn {
		font-size: 15px;
		padding: 13px 10px;
	}

	.form__radio-group_vertical .form__radio-text {
		padding: 16px 12px;
		font-size: 16px;
	}

	.form__submit {
		font-size: 17px;
	}

	.thanks__text {
		font-size: 16px;
	}

	.thanks__box {
		padding: 20px 14px;
	}

	.thanks__box-title {
		font-size: 16px;
	}

	.thanks__box-text {
		font-size: 14px;
	}
}

@media screen and (max-width: 360px) {
	.form-stepper__label {
		font-size: 10px;
	}

	.form-stepper__num {
		width: 28px;
		height: 28px;
		font-size: 13px;
	}

	.form-stepper::before {
		top: 14px;
	}

	.form__btn_back {
		flex: 0 0 38%;
	}
}

@media screen and (max-width: 999px) {
	.pc-content {
		display: none;
	}

	.hamburger {
		position: fixed;
		top: 30px;
		right: calc((100vw - 430px) / 2 + 16px);
		z-index: 5;
		display: flex;
	}
	
	.gnav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		z-index: 4;
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s ease;
	}

	.gnav.open {
		opacity: 1;
		visibility: visible;
	}

	.gnav_list {
		position: relative;
		top: 100px;
	}

	.link_sp {
		display: block;
		margin-top: 24px;
	}

	.cta_sp {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 3;
		max-width: calc(430 * 1px);
		margin: 0 auto;
		overflow-x: clip;
	}

	.cta__btn_sp {
		box-shadow: 0 0 11px 0 rgba(127, 96, 59, 0.4);
		bottom: 0;
		margin: 0;
	}

	footer {
		margin-bottom: 100px;
	}
}

@media screen and (max-width: 430px) {
	.pc-only {
		display: none;
	}

	.sp_only {
		display: block;
	}

	.hamburger {
		right: 16px;
	}

	.mv {
		min-height: 100vh;
	}

	.mv__fee-item {
		padding: 4px;
	}

	.section__container {
		padding: 100px 16px;
	}

	.point__points {
		gap: 8px;
	}

	.point__tag {
		padding: 2px 8px;
	}

	.voice__profile-icon {
		width: 60px;
		margin: 0 14px 0 0;
	}

	.compare__head-platform {
		font-size: 15px;
	}
}

@media screen and (max-width: 400px) {
	.mv__point-text {
		font-size: 14px;
	}

	.cta__text-wrap {
		padding-left: 20px;
	}

	.cta__btn_sp::after {
		content: none;
	}

	.cta-sp__btn {
		padding: 16px 8px;
	}

	.preamble__item {
		width: 160px;
		font-size: 16px;
	}
	
	.point__summary-text::before, .point__summary-text::after {
		width: 24px;
		height: 91px;
	}

	.info__noto {
		font-size: 14px;
	}
}

@media screen and (max-width: 370px) {
	.mv__inner {
		padding: 100px 12px;
	}

	.mv__free {
		padding: 8px 4px;
	}

	.mv__point-item {
		width: calc((100% / 3) - 4px);
	}

	.mv__point-list {
		margin: 0 0 20px;
	}

	.mv__point-text {
		font-size: 12px;
		font-weight: 500;
	}

	.mv__sub-text {
		padding: 4px 16px;
		font-size: 18px;
	}

	.cta__text-wrap {
		padding-left: 14px;
	}

	.cta__btn_sp .btn__line::after {
		right: -16px;
		border-left: 16px solid #fff;
	}
	
	.cta__btn_sp .btn__line {
		padding-left: 8px;
		font-size: 13px;
		letter-spacing: .05em;
	}

	.cta__text-wrap {
		padding-left: 6px;
	}

	.btn__text_sp {
		letter-spacing: .04em;
	}

	.preamble__item {
		width: 130px;
		font-size: 15px;
	}
}