@charset "UTF-8";

/* ------------------------------

	parts

------------------------------ */
/*****   btn   *****/
.ofr_block_btn {
	--color: var(--color-blue01);
	--bg-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color);
	background: var(--bg-color);
	transition: background 0.15s, color 0.15s ease;
}

.ofr_block_btn__none_text {
	opacity: 0;
	position: absolute;
	pointer-events: none;
}

.ofr_block_btn__text_img {
	--size: 0;
	--aspect: 393/54;
	display: block;
	background: var(--color);
	width: var(--size);
	height: calc(var(--size) / (var(--aspect)));
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: 100%;
	transition: background 0.15s ease;
}

.ofr_block_btn:hover {
	opacity: 0.96;
	color: var(--bg-color);
	background: var(--color);
}

.ofr_block_btn:hover .ofr_block_btn__text_img {
	background: var(--bg-color);
}



/*****   movie   *****/
.video_box01 {
	position: relative;
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 1280/720;
}

.video_box01 iframe {
	width: 100%;
	height: 100%;
	border: none;
	background: #c7c7c7;
}

/*****   ofr_block   *****/
.ofr_block {
	position: relative;
	padding: 4.4rem 0 2rem;
	margin: 0;
	background: var(--color-beige01);
}

.ofr_block__wrapper {
	position: relative;
	margin: 0 auto;
}

.ofr_block__list_heading {
	line-height: 0;
	margin: 0;
}

.ofr_block__list {
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.ofr_block__list_item {
	position: relative;
}


.ofr_block__list_item .ofr_block__list_text {
	width: 100%;
}


.ofr_block__list_img {
	position: absolute;
}


.ofr_block .ofr_block_btn {
	--size: 20.4rem;
	position: relative;
	width: var(--size);
	min-width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	text-align: center;
	box-shadow: 0.62rem 0.51rem 0.44rem 0.18rem rgba(0, 0, 0, 0.25);
	z-index: 10;
	overflow: hidden;
	border: 0.73rem solid var(--color);
}


.ofr_block .ofr_block_btn__text_img {
	--size: 13.4rem;
	--aspect: 228/200;
	mask-image: url(../img/home/text/ofr_block__ofr_text.svg);
}

.ofr_block .ofr_block__list_item:nth-of-type(1) .ofr_block_btn {
	--color: var(--color-red01);
	--bg-color: #fff;
}

.ofr_block .ofr_block_btn__text_img[data-type="02"] {
	--size: 14.4rem;
	--aspect: 140/70;
	mask-image: url(../img/home/text/ofr_block__ofr_text02.svg);
}



@media screen and (min-width: 768px) {
	.ofr_block__wrapper {
		width: auto;
	}

	.ofr_block__list {}

	.ofr_block__list_item:nth-of-type(1) {
		width: 58rem;
	}

	.ofr_block__list_item:nth-of-type(2) {
		width: 61rem;
	}

	.ofr_block__list_item:nth-of-type(1) .ofr_block__list_img {
		display: none;
	}

	.ofr_block__list_item {
		width: 100%;
	}

	.ofr_block__list_heading {
		width: 100%;
	}

	.ofr_block__list_item .ofr_block__list_text {
		text-align: left;
		margin: 1.3rem auto 2rem;
	}

	.ofr_block__list_item:nth-of-type(1) .ofr_block__list_text img {
		width: 93.9%;
	}

	.ofr_block__list_item:nth-of-type(2) .ofr_block__list_text img {
		width: 92.8%;
	}


	.ofr_block .ofr_block_btn {
		position: absolute;
		bottom: -3.28rem;
		right: 0;
	}
}

@media screen and (max-width: 768px) {
	.ofr_block {
		position: relative;
		z-index: 1000;
		padding: 3.4rem 0 5.5rem;
	}

	.ofr_block__wrapper {
		flex-direction: column;
	}

	.ofr_block__list {
		flex-direction: column;
		row-gap: 4.4rem;
	}

	.ofr_block__list_item:nth-of-type(1) .ofr_block__list_img {
		bottom: 0;
		right: 0;
		width: 10rem;
		transform: translateX(4%) translateY(-100%);
	}

	.ofr_block__list_item .ofr_block__list_heading img {
		max-width: 100rem;
		width: 36rem;
	}

	.ofr_block__list_item .ofr_block__list_text {
		width: 96.9%;
		margin: 1.18rem auto 3.9rem;
		margin-left: 0.5%;
	}

	.ofr_block__list_item:nth-of-type(2) .ofr_block__list_text {
		width: 96.2%;
		margin-bottom: 2.5rem;
	}



	.ofr_block .ofr_block_btn {
		--size: 35.5rem;
		position: relative;
		width: 100%;
		min-width: 100%;
		height: 9.2rem;
		border-radius: var(--size);
		text-align: center;
		box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.25);
		border-width: 0.5rem;
	}

	.ofr_block .ofr_block_btn__text_img {
		--size: 23.2rem;
		--aspect: 235/63;
		mask-image: url(../img/home/text/ofr_block__ofr_text-sp.svg);
	}

	.ofr_block .ofr_block_btn__text_img[data-type="02"] {
		--size: 24.4rem;
		--aspect: 247/31;
		mask-image: url(../img/home/text/ofr_block__ofr_text02-sp.svg);
	}

}


/*****   ofr_block02   *****/
.ofr_block02 {
	position: relative;
	width: 100%;
	padding: 6.2rem 0 6.6rem;
	margin: 10rem auto 15rem;
	background: var(--color-beige01);
}

.ofr_block02__inner {
	max-width: 90rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.ofr_block02__text,
.ofr_block02__text img {
	text-align: center;
	width: 100%;
}

.ofr_block02__text {
	margin-bottom: 2.9rem;
}

.ofr_block02 .ofr_block_btn {
	width: 100%;
	height: 10rem;
	border-radius: 2.6rem;
	box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}

.ofr_block02 .ofr_block_btn__text_img {
	--size: 39rem;
	--aspect: 393/54;
	mask-image: url(../img/home/text/ofr_block02__ofr_text.svg);
}


@media screen and (max-width: 768px) {
	.ofr_block02 {
		padding: 3.7rem 0 3.8rem;
		margin: 5.5rem auto 6.2rem;
	}

	.ofr_block02__text {
		margin-bottom: 3.2rem;
	}

	.ofr_block02 .ofr_block_btn {
		height: 7.7rem;
		border-radius: 1.6rem;
	}

	.ofr_block02 .ofr_block_btn__text_img {
		--size: 27rem;
	}
}


/* ------------------------------


	main


------------------------------ */
/* ------------------------------

	.fv

------------------------------ */
.fv {
	position: relative;
	padding: 17rem 0 9.2rem;
	background: #fff;
}

.fv::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0;
	width: 100%;
	height: 9.2rem;
	background: #fff;
}

.fv__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fv__bg_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fv__wrapper {
	position: relative;
	width: 96%;
	max-width: 130rem;
	font-size: clamp(5px, 0.77vw, 10px);
}

.fv__text_block {
	position: relative;
	z-index: 10;
}

.fv__lead img,
.fv__tit img,
.fv__list_tit img,
.fv__list img {
	width: 100%;
}


.fv__list {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}

.fv__list_item {
	--bg: var(--color-black01);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bg);
	color: #fff;
	height: auto;
}

.fv__bg_caption img {
	position: absolute;
}



@media screen and (min-width: 768px) {
	.fv {
		min-height: 92rem;
	}

	.fv__text_block {
		width: 91rem;
		padding: 5.4rem 5.5rem 6.44rem 5rem;
		margin-left: 0;
		margin-right: auto;
		background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 55%, rgba(255, 255, 255, 0.51) 82%, rgba(255, 255, 255, 0) 100%);
	}

	.fv__bg_img {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		object-position: 50% 18%;
	}

	.fv__bg_caption img {
		position: absolute;
		bottom: 20%;
		right: 0;
		transform: translateX(5.5%);
		width: 39rem;
	}

	.fv__lead {
		width: 62.8%;
		margin: 0 0 2.8rem;
	}

	.fv__tit {
		width: 100%;
		margin: 0 0 2.5rem;
	}

	.fv__list_tit {
		width: 77%;
		margin: 0 auto 1.3rem;
	}


	.fv__book_img {
		position: absolute;
		top: 0;
		right: 16.6rem;
		z-index: 10;
		width: 18.9rem;
		transform: translateY(-13.9%);
	}

	.fv__label {
		position: absolute;
		top: -5rem;
		right: 0;
		width: 15.5rem;
		z-index: 10;
	}

	.fv__label p:nth-of-type(2) {
		position: relative;
		z-index: -1;
		margin-top: -2rem;
	}
}

@media screen and (max-width: 768px) {
	.fv {
		padding-top: 10.2rem;
		padding-bottom: 2.9rem;
		background: #fff;
	}

	.fv::before {
		top: 7rem;
		width: 100%;
		height: 19rem;
		background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 45%, rgba(255, 255, 255, 0) 87%);
		z-index: 10;
	}

	.fv::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: calc(100% + 3.4rem);
		background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 1) 18%, rgba(255, 255, 255, 0.51) 32%, rgba(255, 255, 255, 0) 55%);
		z-index: 1;
	}

	.fv__bg_img {
		position: absolute;
		top: 8.2rem;
		height: auto;
		aspect-ratio: 393/496;
	}

	.fv__bg_caption img {
		position: absolute;
		top: 33.4rem;
		right: 2.8rem;
		width: 7.7rem;
	}

	.fv__wrapper {
		width: 93.8%;
	}

	.fv__text_block {
		width: 91%;
		margin-left: auto;
		margin-right: auto;
	}

	.fv__lead {
		width: 100%;
		margin: 0 0 1.1rem;
	}

	.fv__tit {
		width: 100%;
		margin: 0 0 1.6rem;
	}

	.fv__list_tit {
		width: 81%;
		margin: 0 auto 0.69rem;
	}

	.fv__list {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 92.8vw;
	}

	.fv__book {
		width: 15rem;
		margin-bottom: 1.4rem;
	}

	.fv__label {
		position: absolute;
		display: none;
	}

}





/* ------------------------------

	.introduction

------------------------------ */
.introduction {
	position: relative;
	margin: 15rem auto 10rem;
}

.introduction__box::before,
.introduction__box::after {
	content: "";
	position: absolute;
	top: -4.7rem;
	background-image: url(../img/home/design/introduction__tape_illust01@2x.png);
	width: 32rem;
	height: auto;
	aspect-ratio: 314/115;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 10;
}

.introduction__box::before {
	left: 0;
	transform: translateX(-25%);
}

.introduction__box::after {
	right: 0;
	transform: translateX(25%) rotateY(180deg);
}


.introduction__heading {
	max-width: 66rem;
	margin: 0 auto 9.2rem;
}


.introduction__step_list {
	margin-bottom: 6.2rem;
}

.introduction__step_list_item:nth-of-type(n+2) {
	margin-top: 3.7rem;
}

.introduction__step_list_item:nth-of-type(1) img {
	width: 72rem;
}

.introduction__step_list_item:nth-of-type(2) img {
	width: 87rem;
}

.introduction__step_list_item:nth-of-type(3) img {
	width: 83rem;
}

.introduction__text {
	font-size: 2.2rem;
	line-height: 2.32;
	letter-spacing: 0.05em;
}

.introduction__text+.introduction__text {
	margin-top: 0.55em;
}


@media screen and (max-width: 768px) {
	.introduction {
		margin: 7.6rem auto 5.9rem;
	}

	.introduction__box::before,
	.introduction__box::after {
		width: 11.8rem;
		top: -1.4rem;
	}

	.introduction__box::before {
		left: 0;
		transform: translateX(-20%);
	}

	.introduction__box::after {
		right: 0;
		transform: translateX(20%) rotateY(180deg);
	}

	.introduction__heading {
		max-width: 23.8rem;
		margin: 0 auto 6.6rem;
	}

	.introduction__step_list {
		margin-bottom: 3.8rem;
	}

	.introduction__step_list_item:nth-of-type(n+2) {
		margin-top: 3.1rem;
	}

	.introduction__step_list_item:nth-of-type(1) img {
		width: 25.8rem;
	}

	.introduction__step_list_item:nth-of-type(2) img {
		width: 25.4rem;
	}

	.introduction__step_list_item:nth-of-type(3) img {
		width: 26.2rem;
	}

	.introduction__text {
		font-size: 1.6rem;
		line-height: 1.96;
		letter-spacing: 0.02em;
	}
}



/* ------------------------------

	.step_sec

------------------------------ */
.step_sec {
	position: relative;
	margin-bottom: 7.6rem;
}

.step_sec__box::before,
.step_sec__box::after {
	content: "";
	position: absolute;
	top: -4.7rem;
	background-image: url(../img/home/design/step_sec__tape_illust01@2x.png);
	width: 32rem;
	height: auto;
	aspect-ratio: 324/114;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 10;
}

.step_sec__box::before {
	left: 0;
	transform: translateX(-25%);
}

.step_sec__box::after {
	right: 0;
	transform: translateX(25%) rotateY(180deg);
}


@media screen and (max-width: 768px) {
	.step_sec {
		margin-bottom: 6.2rem;
	}

	.step_sec__box::before,
	.step_sec__box::after {
		width: 12.5rem;
		top: -1.4rem;
	}

	.step_sec__box::before {
		left: 0;
		transform: translateX(-20%);
	}

	.step_sec__box::after {
		right: 0;
		transform: translateX(20%) rotateY(180deg);
	}
}

/* ------------------------------
	.step
------------------------------ */
.step {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	padding: 5rem 0 8.6rem;
}

.step:last-child {
	padding-bottom: 2rem;
}

.step:last-child .step__contents>*:last-child {
	margin-bottom: 0;
}


.step[data-step="02"]::before,
.step[data-step="03"]::before {
	content: "";
	position: absolute;
	top: 0;
	background-size: contain;
	background-repeat: no-repeat;
	height: auto;

}

.step[data-step="02"]::before {
	background-image: url(../img/home/design/step02__tape_illust01@2x.png);
	width: 27rem;
	height: auto;
	aspect-ratio: 268/88;
	left: 0;
	transform: translateY(-81%) translateX(-70%);
}

.step[data-step="03"]::before {
	background-image: url(../img/home/design/step03__tape_illust01@2x.png);
	width: 27rem;
	height: auto;
	aspect-ratio: 268/100;
	right: 0;
	transform: translateY(-15%) translateX(20%);
	z-index: 10;
}

.step__img_block {
	position: relative;
}

.step[data-step="01"] .step__img_block .sub_img {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 23.9rem;
	transform: translateX(19%) translateY(31%);
}

.step__tit {
	margin-bottom: 1.7rem;
}

.step[data-step="01"] .step__tit img {
	width: 50rem;
}

.step[data-step="02"] .step__tit img {
	width: 29rem;
}

.step[data-step="03"] .step__tit img {
	width: 47rem;
}

.step__tit_sub {
	font-size: 1.8rem;
	font-weight: 400;
}

.step__text {
	margin-bottom: 8.2rem;
	letter-spacing: 0.05em;
}

.step[data-step="01"] .step__text {
	margin-bottom: 2.6rem;
}


.step__contents_img_block {
	width: 100%;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

.step[data-step="01"] .step__contents_img_block figcaption {
	margin-top: 0.5em;
	padding-right: 5%;
	font-size: 1.6rem;
	text-align: right;
}


.step__movie_list_wrapper {
	margin: 0 auto 7.7rem;
}

.step__movie_list_heading {
	text-align: center;
	width: 100%;
	max-width: 69rem;
	margin: 0 auto 2.1rem;
}

.step__movie_list_tit {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 1.8rem 5rem 1.6rem;
	background: #C7B299;
}

.step__movie_list_tit img {
	width: 24.4rem;
}

.step__movie_list {
	--border: 2px solid #C7B299;
	display: block;
	margin: 0 auto 1rem;
	border: var(--border);
}

.step__movie_list_item {
	padding: 0.89em 3.4rem 0.87em;
	font-size: 2.2rem;
	line-height: 1.5;
	letter-spacing: 0.2em;
}

.step__movie_list_item:nth-of-type(n+2) {
	border-top: var(--border);
}

.step__movie_list_wrapper .attention_text {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
}


.step__movie {
	margin: 0 auto 5.5rem;
	text-align: center;
}

.step__movie_heading {
	margin-bottom: 1.8rem;
}

.step__movie_heading img {}

.step__movie_caption {
	margin-top: 0.76rem;
}


@media screen and (min-width: 768px) {
	.step {
		grid-template-columns: auto 1fr;
		row-gap: 3.7rem;
		column-gap: 4rem;
	}

	.step:nth-of-type(n+2) {
		grid-template-columns: 1fr auto;
	}

	.step__heading {
		grid-column: 1;
		grid-row: 1;
		width: 25rem;
	}

	.step:nth-of-type(2n) .step__heading {
		grid-column: 2;
	}

	.step__img_block {
		grid-column: 2;
		grid-row: 1;
		width: 60rem;
	}

	.step__img_block img {
		width: 100%;
	}

	.step:nth-of-type(2n) .step__img_block {
		grid-column: 1;
	}

	.step[data-step="03"] .step__heading {
		width: 22rem;
	}

	.step__contents {
		grid-column: 1 / 3;
	}

	.step__tit_sub {
		padding-left: 1rem;
	}
}

@media screen and (max-width: 768px) {
	.step {
		display: block;
		padding: 1rem 0 8.0rem;
	}

	.step:last-child {
		padding-bottom: 2rem;
	}

	.step[data-step="02"]::before {
		width: 10rem;
		transform: translateY(-132%) translateX(-45%);
	}

	.step[data-step="03"]::before {
		width: 13rem;
		transform: translateY(-106%) translateX(32%);
	}


	.step__heading {
		margin-bottom: 1.8rem;
		text-align: center;
	}

	.step[data-step="01"] .step__heading img {
		width: 26.2rem;
	}

	.step[data-step="02"] .step__heading img {
		width: 25.6rem;
	}

	.step[data-step="03"] .step__heading img {
		width: 25rem;
	}

	.step__img_block {
		margin-bottom: 2rem;
	}

	.step[data-step="01"] .step__img_block .sub_img {
		width: 11.5rem;
		transform: translateX(20%) translateY(17%);
	}

	.step__tit {
		margin-bottom: 1.5rem;
	}

	.step[data-step="01"] .step__tit img {
		width: 50rem;
	}

	.step[data-step="02"] .step__tit img {
		width: 19.6rem;
	}

	.step[data-step="02"] .step__tit {
		margin-bottom: 1rem;
	}

	.step[data-step="03"] .step__tit img {
		width: 47rem;
	}

	.step__tit_sub {
		display: block;
		font-size: 1.4rem;
		line-height: 1.6;
	}

	.step__text {
		margin-bottom: 4.4rem;
	}

	.step[data-step="01"] .step__text {
		margin-bottom: 1.8rem;
	}


	.step__contents_img_block {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 30.4rem;
		max-width: 30.4rem;
	}

	.step[data-step="01"] .step__contents_img_block figcaption {
		font-size: 1.4rem;
	}


	.step__movie_list_wrapper {
		margin-bottom: 3.7rem;
	}

	.step__movie_list_tit {
		padding: 1.8rem 2rem 1.6rem;
	}

	.step__movie_list_item {
		padding: 0.89em 1rem 0.87em 2rem;
		font-size: 1.6rem;
	}

	.step__movie_list_wrapper .attention_text {
		font-size: 1.3rem;
	}

	.step__movie {
		margin-bottom: 0.5rem;
	}

	.step__movie .video_box01 {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 33.4rem;
	}
}




/* ------------------------------

	message

------------------------------ */
.message {
	position: relative;
	margin: 17rem 0 0;
}

.message__box::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background-image: url(../img/home/design/message__tape_illust01@2x.png);
	width: 38rem;
	height: auto;
	aspect-ratio: 386/188;
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateX(18%) translateY(-59.6%);
	z-index: 10;
}

.message__heading {
	width: 60rem;
	margin-bottom: 5.5rem;
}

.message__lead_block {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	column-gap: 3.8rem;
	margin-bottom: 1.9rem;
}

.message__lead_block_img_block {
	position: relative;
	width: 27.6rem;
	max-width: 100%;
}

.message__lead_block_img_block_caption {
	position: absolute;
	bottom: 2.7rem;
	right: 2.7rem;
	width: 15rem;
}

.message__lead_block_text_block {
	flex: 1;
}

.message__lead_block_text,
.message__lead_block_list_item,
.message__text {
	font-size: 2.2rem;
	line-height: 2.34;
	margin: 0;
	padding: 0;
	letter-spacing: 0.05em;
}

.message__text {
	letter-spacing: 0.032em;
}

.message__lead_block_list_item::before {
	content: "・";
}

.message__introduction {
	margin-top: 3.4rem;
	font-size: 1.5rem;
	letter-spacing: -0.028em;
	line-height: 2.8rem;
}

.message__introduction_name {
	display: inline-block;
	font-size: 2rem;
	margin-bottom: 0.15em;
}


@media screen and (min-width: 768px) {
	.message__box {
		padding-bottom: 5.9rem;
	}

	.message__lead_block_img_block_img {
		width: 37.6rem;
		margin-left: -10rem;
		max-width: 100rem;
	}
}

@media screen and (max-width: 768px) {
	.message {
		margin-top: 8.2rem;
		margin-bottom: 6.6rem;
	}

	.message__box::before {
		width: 16rem;
		transform: translateX(15%) translateY(-32%);
	}

	.message__heading {
		width: 18rem;
		margin-bottom: 1.9rem;
	}

	.message__lead_block {
		flex-direction: column;
	}

	.message__lead_block_img_block {
		margin-bottom: 3.2rem;
	}

	.message__lead_block_img_block_caption {
		bottom: auto;
		top: 1rem;
		right: 0.92rem;
		width: 8.0rem;
	}

	.message__lead_block_text,
	.message__lead_block_list_item,
	.message__text {
		font-size: 1.6rem;
		line-height: 1.96;
		letter-spacing: 0.02em;
	}

	.message__lead_block_list_item {
		margin-top: 1.4rem;
	}

	.message__text+.message__text {
		margin-top: 1.4rem;
	}

	.message__introduction {
		margin-top: 2.2rem;
		font-size: 1.4rem;
	}

	.message__introduction_name {
		display: inline-block;
		font-size: 1.6rem;
		margin-bottom: 0.05em;
	}
}



/* ------------------------------

	voices

------------------------------ */
.voices {
	position: relative;
	margin: 0;
	margin-bottom: 18rem;
}

.voices__box::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: url(../img/home/design/voices__tape_illust02@2x.png);
	width: 28rem;
	height: auto;
	aspect-ratio: 280/135;
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateX(-37%) translateY(44%);
}

.voices__heading {
	width: 40rem;
	margin-bottom: 6.2rem;
}


.voices__contents_profile {
	position: relative;
	width: 100%;
	margin: 0 0 4rem;
	padding: 2.2rem 1.9rem 2.28rem 3.4rem;
	font-size: 2rem;
	border-left: 1.25rem solid var(--color-blue01);
	background: #008BAE15;
}

.voices__contents_profile_name {
	margin-bottom: 0.2em;
	color: var(--color-blue01);
	font-size: 2.44rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.04em;
}

.voices__contents_profile_text {
	font-size: 2.0rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
}

.voices__contents_profile dl,
.voices__contents_profile dt,
.voices__contents_profile dd {
	display: inline;
}


.voices__contents_text {
	font-size: 2.2rem;
	line-height: 2.44;
	letter-spacing: 0.047em;
}

.voices__tit {
	margin: 9.6rem auto 5.4rem;
	text-align: center;
}


.voices__block_item {
	--color: var(--color-red01);
	position: relative;
	width: 100%;
	max-width: 62.8rem;
	padding: 1.7rem 1.9rem 1.9rem 3.4rem;
	font-size: 2rem;
}

.voices__block_item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 1.25rem;
	height: 100%;
	background: var(--color);
}

.voices__block_item::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color);
	opacity: 0.1;
}

.voices__block_item:nth-of-type(2n) {
	margin-left: auto;
	margin-right: 0;
}

.voices__block_item:nth-of-type(n+2) {
	margin-top: 3.2rem;
}

.voices__block_item:nth-of-type(3n+1) {
	--color: var(--color-red01);
}

.voices__block_item:nth-of-type(3n+2) {
	--color: var(--color-brown01);
}

.voices__block_item:nth-of-type(3n) {
	--color: var(--color-blue01);
}

.voices__block_text,
.voices__block_profile {
	font-weight: 400;
}

.voices__block_profile {
	color: var(--color);
}


@media screen and (min-width: 768px) {
	.voices__contents_img_block {
		float: right;
		max-width: 37rem;
		margin-top: 1rem;
		margin-bottom: 1.6rem;
		margin-left: 2.9rem;
		margin-right: -10rem;
	}


	.voices__block_item:nth-of-type(2n) {
		padding: 1.7rem 3.2rem 1.9rem 3.1rem;
	}

	.voices__block_item:nth-of-type(2n)::before {
		left: auto;
		right: 0;
	}

	.voices__block_text,
	.voices__block_profile {
		font-size: 1em;
		line-height: 1.8;
		letter-spacing: 0;
	}

	.voices__block_profile {
		font-size: 2rem;
	}
}

@media screen and (max-width: 768px) {
	.voices {
		margin-top: 5.9rem;
		margin-bottom: 8.9rem;
	}

	.voices__box::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		background-image: url(../img/home/design/voices__tape_illust01@2x.png);
		width: 17rem;
		height: auto;
		aspect-ratio: 164/58;
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateX(-7.7%) translateY(-69%);
	}

	.voices__box::after {
		left: auto;
		right: 0;
		width: 18rem;
		height: auto;
		transform: rotateY(180deg) translateX(-15%) translateY(39%);
	}


	.voices__heading {
		width: 22rem;
		margin: 0 auto 2.8rem;
	}


	.voices__contents {
		display: flex;
		flex-direction: column;
	}

	.voices__contents_profile {
		margin-bottom: 2.2rem;
		padding: 1.7rem 0.55rem 1.76rem 2.28rem;
	}

	.voices__contents_profile_name {
		margin-bottom: 0.32em;
		font-size: 1.8rem;
	}

	.voices__contents_profile_text {
		font-size: 1.4rem;
	}

	.voices__contents_profile dl {
		display: inline-flex;
		flex-wrap: wrap;
	}
	.voices__contents_profile dd {
		flex: 1;
	}

	.voices__contents_img_block {
		float: none;
		order: -1;
		margin-bottom: 0;
	}

	.voices__contents_text {
		font-size: 1.6rem;
		line-height: 1.92;
	}

	.voices__tit {
		margin: 6.2rem auto 2.5rem;
	}


	.voices__block_item {
		padding: 0.5rem 0 0.5rem 3.1rem;
		font-size: 1.6rem;
	}

	.voices__block_item::before {
		transform: translateY(-51%);
		height: calc(100% - 2.8rem);
	}

	.voices__block_item::after {
		display: none;
	}

	.voices__block_item:nth-of-type(n+2) {
		margin-top: 2.9rem;
	}

	.voices__block_text,
	.voices__block_profile {
		letter-spacing: 0.04em;
		line-height: 1.96;
	}

	.voices__block_profile {
		color: var(--color);
	}
}




/* ------------------------------

	.qanda

------------------------------ */
.qanda {
	position: relative;
	margin-top: 15rem;
	margin-bottom: 10rem;
}


.qanda__box::before,
.qanda__box::after {
	content: "";
	position: absolute;
	top: 0;
	background-image: url(../img/home/design/qanda__tape_illust01@2x.png);
	width: 22.8rem;
	height: auto;
	aspect-ratio: 222/82;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 10;
}

.qanda__box::before {
	left: 0;
	transform: translateX(-14%) translateY(-28%);
}

.qanda__box::after {
	right: 0;
	transform: rotateY(180deg) translateX(-14%) translateY(-28%);
}

.qanda__heading {
	margin-bottom: 5.6rem;
}


.qanda__block .acc_wrapper:nth-of-type(n+2) {
	margin-top: 2rem;
}


.qanda__question {
	position: relative;
	cursor: pointer;
	background: #C7B299;
	color: #fff;
}

.qanda__question:hover {
	opacity: 0.87;
}

.qanda_contents__inner {
	display: flex;
	align-items: center;
	column-gap: 1.8rem;
	padding: 1.9rem 5.5rem 2rem 2rem;
}

.qanda__answer .qanda_contents__inner {
	align-items: flex-start;
	padding-top: 2rem;
	padding-bottom: 1.73rem;
	padding-right: 0rem;
}

.qanda_contents__icon {
	text-align: center;
	min-width: 5rem;
	margin-top: -0.19em;
	color: var(--color-blue01);
	font-size: 2.6rem;
	font-family: var(--font-roboto_mono);
	font-weight: 700;
	transform: translateY(5%);
}

.qanda_contents__icon>img {
	width: 50%;
}

.qanda__answer .qanda_contents__icon {
	color: var(--color-red01);
	transform: translateY(15%);
}

.qanda_contents__text_block {
	flex: 1;
	font-weight: 500;
	font-family: var(--font-sans_serif);
	font-size: 1.8rem;
	line-height: 1.8;
}

.qanda__question .qanda_contents__text_block {
	font-weight: 700;
}

.qanda_contents__text_block .underline {
	text-decoration: underline;
}

.qanda_contents__text_block a {
	text-decoration: underline;
}

.qanda_contents__text_block a:hover {
	text-decoration: none;
}


.qanda_contents__text_block table {
	--border: 1.3px solid #000;
	width: 100%;
	border-top: var(--border);
	border-left: var(--border);
	margin-bottom: 1.8rem;
	margin-top: 0.32rem;
}

.qanda_contents__text_block th,
.qanda_contents__text_block td {
	padding: 0.82em 1.3em 1em;
	line-height: 1.5;
	border-right: var(--border);
	border-bottom: var(--border);
}

.qanda_contents__text_block th {
	background: var(--color-brown01);
	color: #fff;
	font-weight: 700;
}

.qanda_contents__text_block td {}

@media screen and (min-width:769px) {
	.qanda__box {
		padding: 8.7rem 9.6rem 8.9rem;
	}

}

@media screen and (max-width:769px) {
	.qanda {
		margin-top: 7rem;
		margin-bottom: 6.9rem;
	}

	.qanda__box::before,
	.qanda__box::after {
		background-image: url(../img/home/design/qanda__tape_illust01@2x.png);
		width: 13rem;
	}

	.qanda__box::before {
		left: 0;
		transform: translateX(-14%) translateY(-38%);
	}

	.qanda__box::after {
		right: 0;
		transform: rotateY(180deg) translateX(-15%) translateY(-38%);
	}


	.qanda_wrapper {
		grid-template-columns: 1fr;
		row-gap: 0;
	}

	.qanda__heading {
		width: 11.8rem;
		margin-bottom: 2.55rem;
	}

	.qanda__heading img {
		width: 9.2rem;
	}

	.qanda_contents {
		border-radius: 0.05rem;
	}

	.qanda__block .acc_wrapper:nth-of-type(n+2) {
		margin-top: 1.5rem;
	}

	.qanda__question::after {
		right: 1.8rem;
	}



	.qanda_contents__icon {
		min-width: 4.1rem;
		font-size: 2.7rem;
	}

	.qanda_contents__inner {
		padding: 1rem 4rem 1.1rem 0.76rem;
		column-gap: 0.62rem;
	}

	.qanda__answer .qanda_contents__inner {
		padding-top: 1.3rem;
		padding-bottom: 1.8rem;
		padding-right: 1rem;
	}


	.qanda__question .qanda_contents__text_block {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		min-height: 2.88em;
		font-size: 1.5rem;
		line-height: 1.5;
	}

	.qanda__answer .qanda_contents__text_block {
		font-size: 1.5rem;
		letter-spacing: -0.02em;
		line-height: 2;
	}

	.qanda_contents__text_block table {
		margin-bottom: 1.25rem;
	}

	.qanda_contents__text_block th,
	.qanda_contents__text_block td {
		padding: 0.77em 0.77em 0.82em;
		font-size: 1.25rem;
	}
}