@charset "utf-8";

/*============================
MV
============================*/
.hero {
	position: relative;
	overflow: hidden;
	padding: 0.07rem 0 0;
	min-height: 5.00rem;
	background-color: #FFF;
}

@media screen and (max-width: 640px) {
	.hero {
		padding: 0.08rem 0 0;
		min-height: auto;
		height: auto;
		overflow: hidden;
	}
}

.hero .deco01 {
	width: 1.19rem;
	height: 0.63rem;
	background-image: url(../img/top/mv_deco01.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 1.20rem;
	left: calc(50% - 4.80rem);
	z-index: 0;
}

@media screen and (max-width: 640px) {
	.hero .deco01 {
		width: 0.60rem;
		height: 0.30rem;
		top: 0.60rem;
		left: calc(50% - 1.70rem);
	}
}

.hero .deco02 {
	width: 2.20rem;
	height: 1.40rem;
	background-image: url(../img/top/mv_deco02.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0.80rem;
	right: calc(50% - 6.00rem);
	z-index: 0;
}

@media screen and (max-width: 640px) {
	.hero .deco02 {
		width: 1.00rem;
		height: 0.70rem;
		bottom: 1.80rem;
		right: calc(50% - 1.90rem);
	}
}

.hero_slider {
	margin: 0;
}

.hero_slider .slick-list {
	overflow: visible;
}

.hero_slider .slide {
	width: 7.83rem;
	height: 4.86rem;
	margin: 0 0.19rem;
	box-sizing: content-box;
}

@media screen and (max-width: 640px) {
	.hero_slider .slide {
		width: 3.20rem;
		height: 2.40rem;
		margin: 0 0.08rem;
		padding: 0;
	}
}

.hero_slider .slide .pic {
	position: absolute;
	width: 7.50rem;
	height: 4.60rem;
	border-radius: 2.30rem;
	overflow: hidden;
	box-shadow: 0 0.16rem 0.36rem rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 640px) {
	.hero_slider .slide .pic {
		width: 3.04rem;
		height: 2.28rem;
		border-radius: 1.00rem;
		box-shadow: 0 0.08rem 0.16rem rgba(0, 0, 0, 0.15);
	}
}

.hero_slider .slide .pic.back {
	left: 0.33rem;
	top: 0.26rem;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.hero_slider .slide .pic.back {
		left: 0.12rem;
		top: 0.10rem;
	}
}

.hero_slider .slide .pic.front {
	position: relative;
	left: 0;
	top: 0;
	z-index: 2;
}

.hero_slider .slide img {
	width: 100%;
	height: 4.60rem;
	object-fit: cover;
	display: block;
}

@media screen and (max-width: 640px) {
	.hero_slider .slide img {
		width: 100%;
		height: 2.28rem;
		border-radius: 0.60rem;
	}
}

.hero_stage {
	position: absolute;
	left: 50%;
	top: 0;
	width: 14.00rem;
	height: 100%;
	transform: translateX(-50%);
	z-index: 3;
	pointer-events: none;
}

@media screen and (max-width: 640px) {
	.hero_stage {
		position: relative;
		width: 100%;
		left: 0;
		top: auto;
		height: auto;
		transform: none;
		top: -0.50rem;
		padding: 0 0.24rem 0;
		box-sizing: border-box;
	}
}

.hero_copy {
	position: absolute;
	left: 1.60rem;
	top: 2.25rem;
	z-index: 2;
	color: #fff;
	pointer-events: none;
}

@media screen and (max-width: 640px) {
	.hero_copy {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
	}
}

.hero_copy .catch01 {
	font-size: 0.30rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	margin-bottom: 0.08rem;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch01 {
		font-size: 0.14rem;
		margin-bottom: 0.06rem;
		text-align: center;
	}
}

.hero_copy .catch01 span {
	padding: 0.035rem 0.07rem;
	background-color: #FFF;
	color: var(--goshin-black);
	display: inline-block;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch01 span {
		padding: 0.03rem 0.06rem;
	}
}

.hero_copy .catch02 {
	font-size: 0.30rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	margin-bottom: 0.12rem;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch02 {
		font-size: 0.14rem;
		margin-bottom: 0.08rem;
		text-align: center;
	}
}

.hero_copy .catch02 span {
	padding: 0.035rem 0.07rem;
	background-color: var(--goshin-blue);
	color: #FFF;
	display: inline-block;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch02 span {
		padding: 0.03rem 0.06rem;
	}
}

.hero_copy .catch03 {
	display: block;
	font-size: 0.40rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	margin: 0 0 0.17rem;
	text-shadow: 0 0.04rem 0.16rem rgba(0, 0, 0, 0.35);
	background: none;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch03 {
		font-size: 0.26rem;
		line-height: 1.35;
		margin: 0.08rem 0;
		letter-spacing: 0.02em;
		color: var(--goshin-black);
		text-shadow: none;
		text-align: center;
	}
}

.hero_copy .catch04 {
	font-size: 0.13rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch04 {
		font-size: 0.12rem;
		line-height: 1.5;
		white-space: normal;
		text-align: center;
	}
}

.hero_copy .catch04 span {
	padding: 0.035rem 0.04rem;
	background-color: #FFF;
	color: var(--goshin-black);
	display: inline-block;
}

@media screen and (max-width: 640px) {
	.hero_copy .catch04 span {
		padding: 0.02rem 0.04rem;
		max-width: 100%;
		box-sizing: border-box;
		white-space: normal;
	}
}

/*============================
NEWS
============================*/
.news {
	padding-top: 0.80rem;
	padding-bottom: 1.00rem;
	text-align: center;
	background-color: #FFF;
}

@media screen and (max-width: 640px) {
	.news {
		padding-top: 0;
		padding-bottom: 0.70rem;
	}
}

.news .sec_en {
	color: var(--goshin-blue);
}

.news .sec_jp {
	margin-bottom: 0.32rem;
}

@media screen and (max-width: 640px) {
	.news .sec_jp {
		margin-bottom: 0.20rem;
	}
}

.news_list {
	max-width: 10.00rem;
	margin: 0 auto;
	text-align: left;
}

.news_list li + li {
	margin-top: 0.12rem;
}

@media screen and (max-width: 640px) {
	.news_list li + li {
		margin-top: 0.08rem;
	}
}

.news_list a {
	display: flex;
	align-items: center;
	gap: 0.40rem;
	color: var(--goshin-black);
	font-size: 0.16rem;
	font-weight: 500;
	line-height: 1.6;
	padding: 0.08rem 0;
}

@media screen and (max-width: 640px) {
	.news_list a {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.04rem;
		font-size: 0.14rem;
		padding: 0.06rem 0;
	}
}

.news_list time {
	flex-shrink: 0;
	font-family: "Inter", sans-serif;
	font-size: 0.14rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 640px) {
	.news_list time {
		font-size: 0.12rem;
	}
}

.news_list a p {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-decoration: underline;
	transition: all 0.3s;
}

@media screen and (max-width: 640px) {
	.news_list a p {
		flex: none;
		min-width: 0;
		overflow: visible;
		white-space: normal;
		text-overflow: clip;
	}
}

.news_list a:hover p {
	color: var(--goshin-blue);
}

.news_btn {
	margin-top: 0.36rem;
}

@media screen and (max-width: 640px) {
	.news_btn {
		margin-top: 0.24rem;
	}
}

/*============================
VOICES
============================*/
/* .page_top main {
	overflow: visible;
}

@media screen and (max-width: 640px) {
	.page_top main {
		overflow-x: hidden;
	}
}

.page_top .cta_block {
	padding: 0.40rem 0 0.80rem;
}

@media screen and (max-width: 640px) {
	.page_top .cta_block {
		padding: 0.32rem 0 0.48rem;
	}
}

.page_top .cta_block .deco {
	left: calc(50% + 5.80rem);
}

@media screen and (max-width: 640px) {
	.page_top .cta_block .deco {
		display: none;
	}
}

.page_top .cta_body h2 {
	font-size: 0.4532rem;
}

@media screen and (max-width: 640px) {
	.page_top .cta_body h2 {
		font-size: 0.22rem;
	}
}

.page_top .cta_body h2::before {
	top: -0.50rem;
	left: -0.20rem;
	width: 1.16rem;
	height: 0.53rem;
}

@media screen and (max-width: 640px) {
	.page_top .cta_body h2::before {
		top: -0.28rem;
		left: -0.08rem;
		width: 0.72rem;
		height: 0.32rem;
	}
}

.page_top .cta_lead {
	font-size: 0.20rem;
	margin-bottom: 0.24rem;
}

@media screen and (max-width: 640px) {
	.page_top .cta_lead {
		font-size: 0.14rem;
		margin-bottom: 0.20rem;
	}
}

.page_top .cta_block .btn_outline {
	max-width: 2.80rem;
}

@media screen and (max-width: 640px) {
	.page_top .cta_block .btn_outline {
		max-width: 100%;
		width: 100%;
	}
}

.page_top .voice_block {
	padding: 0.70rem 0 0.80rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_block {
		padding: 0.48rem 0 0.40rem;
		border-radius: 0.32rem 0.32rem 0 0;
	}
}

.page_top .voice_block::before {
	height: 7.00rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_block::before {
		height: 4.80rem;
	}
}

.page_top .voice_block .deco01,
.page_top .voice_block .deco02 {
	opacity: 1;
}

@media screen and (max-width: 640px) {
	.page_top .voice_block .deco01,
	.page_top .voice_block .deco02 {
		display: none;
	}
}

.page_top .voice_block .sec_jp {
	margin-bottom: 0.48rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_block .sec_jp {
		margin-bottom: 0.20rem;
	}
}

.page_top .voice_block .lead {
	font-size: 0.16rem;
	padding-bottom: 0.50rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_block .lead {
		font-size: 0.13rem;
		line-height: 1.7;
		padding-bottom: 0.28rem;
		text-align: left;
	}
}

.page_top .voice_list {
	gap: 0.73rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list {
		flex-direction: column;
		gap: 0.32rem;
	}
}

.page_top .voice_list .item {
	max-width: 3.18rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .item {
		max-width: none;
	}
}

.page_top .voice_list .num {
	top: 3.00rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .num {
		top: 1.72rem;
		width: 0.72rem;
	}
}

.page_top .voice_list .thumb {
	height: 3.70rem;
	border-radius: 1.20rem;
	margin-bottom: 0.16rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .thumb {
		height: 2.20rem;
		border-radius: 0.48rem;
		margin-bottom: 0.12rem;
	}
}

.page_top .voice_list .txt_box {
	min-height: 2.10rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .txt_box {
		min-height: 0;
		padding-bottom: 0.44rem;
	}
}

.page_top .voice_list .txt_box .name {
	padding-top: 0.20rem;
	font-size: 0.16rem;
	margin-bottom: 0.12rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .txt_box .name {
		padding-top: 0.28rem;
		font-size: 0.14rem;
		margin-bottom: 0.08rem;
	}
}

.page_top .voice_list .txt_box .name strong {
	font-size: 0.24rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .txt_box .name strong {
		font-size: 0.20rem;
	}
}

.page_top .voice_list .txt_box .catch {
	font-size: 0.15rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .txt_box .catch {
		font-size: 0.13rem;
		line-height: 1.7;
	}
}

.page_top .voice_list .txt_box .more_btn span {
	font-size: 0.18rem;
}

@media screen and (max-width: 640px) {
	.page_top .voice_list .txt_box .more_btn span {
		font-size: 0.15rem;
	}
} */

/*============================
FEATURE
============================*/
.feature {
	position: relative;
	padding: 0.80rem 0 0.25rem;
	height: 5.80rem;
	background-color: #FFF;
}

@media screen and (max-width: 640px) {
	.feature {
		height: auto;
		padding: 0.32rem 0 0.40rem;
	}
}

.feature_panel {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	border-radius: 0.80rem;
}

@media screen and (max-width: 640px) {
	.feature_panel {
		border-radius: 0.32rem;
	}
}

.intro .feature_panel,
.benefits .feature_panel {
	left: 2.75rem;
	top: 0.79rem;
	width: calc(100% - 3rem);
	height: 4.57rem;
	background: #e4f6fb;
}

@media screen and (max-width: 640px) {
	.intro .feature_panel,
	.benefits .feature_panel {
		left: 0.20rem;
		right: 0;
		top: 0.60rem;
		bottom: 0;
		width: calc(100% - 0.4rem);
		height: auto;
	}
}

.feature .sec_en {
	color: #00A3D9;
}

@media screen and (max-width: 640px) {
	.feature .sec_en {
		font-size: 0.24rem;
		text-align: center;
	}
}

.feature .sec_jp {
	font-size: 0.16rem;
}

@media screen and (max-width: 640px) {
	.feature .sec_jp {
		font-size: 0.11rem;
		font-weight: 500;
		line-height: 1.5;
		text-align: center;
	}
}

.about .feature_panel {
	left: 1.51rem;
	top: 0.91rem;
	width: calc(100% - 3rem);
	height: 4.44rem;
	background: #ecfbf4;
}

@media screen and (max-width: 640px) {
	.about .feature_panel {
		left: 0.20rem;
		right: 0;
		top: 0.60rem;
		bottom: 0;
		width: calc(100% - 0.40rem);
		height: auto;
	}
}

.feature_photos {
	position: absolute;
	z-index: 2;
	top: 0;
}

@media screen and (max-width: 640px) {
	.feature_photos {
		position: relative;
		top: auto;
		margin-bottom: 0.16rem;
	}
}

.intro .feature_photos,
.benefits .feature_photos {
	left: 1.00rem;
	width: 4.80rem;
	height: 5.26rem;
}

@media screen and (max-width: 640px) {
	.intro .feature_photos,
	.benefits .feature_photos {
		position: relative;
		left: 0;
		width: calc(100% - 0.60rem);
		height: 66vw;
		margin: auto;
	}
}

.about .feature_photos {
	left: 8.40rem;
	width: 4.80rem;
	height: 5.26rem;
}

@media screen and (max-width: 640px) {
	.about .feature_photos {
		position: relative;
		left: 0;
		width: calc(100% - 0.60rem);
		height: 66vw;
		margin: auto;
	}
}

.feature_photos .pic {
	position: absolute;
	overflow: hidden;
}

@media screen and (max-width: 640px) {
	.feature_photos .pic {
		position: relative;
		height: 100%;
	}
}

.feature_photos .pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.feature_photos .pic.front {
	width: 4.60rem;
	height: 5.01rem;
	left: 0;
	top: 0;
	border-radius: 30%;
	z-index: 2;
	box-shadow: 0 0.20rem 0.30rem rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 640px) {
	.feature_photos .pic.front {
		width: 100%;
		height: 100%;
		border-radius: 0.40rem;
		box-shadow: 0 0.08rem 0.16rem rgba(0, 0, 0, 0.12);
	}
}

.feature_body {
	position: relative;
	z-index: 3;
	width: 5.80rem;
}

@media screen and (max-width: 640px) {
	.feature_body {
		width: auto;
		padding: 0.30rem;
	}
}

.intro .feature_body,
.benefits .feature_body {
	margin-left: 5.80rem;
	padding-top: 1.45rem;
}

@media screen and (max-width: 640px) {
	.intro .feature_body,
	.benefits .feature_body {
		margin-left: 0;
		padding-top: 0.30rem;
	}
}

.about .feature_body {
	margin-left: 1.80rem;
	padding-top: 1.52rem;
}

@media screen and (max-width: 640px) {
	.about .feature_body {
		margin-left: 0;
		padding-top: 0.30rem;
	}
}

.feature_body .txt {
	font-size: 0.16rem;
	line-height: 2;
	margin-top: 0.28rem;
}

@media screen and (max-width: 640px) {
	.feature_body .txt {
		font-size: 0.14rem;
		line-height: 1.8;
		margin-top: 0.16rem;
	}
}

.feature.intro {
	padding-bottom: 0.80rem;
}

@media screen and (max-width: 640px) {
	.feature.intro {
		padding-top: 0;
		padding-bottom: 0.16rem;
	}
}

.feature.intro .deco {
	width: 1.51rem;
	height: 1.62rem;
	background-image: url(../img/common/bg_deco03.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0.50rem;
	right: -1.80rem;
}

@media screen and (max-width: 640px) {
	.feature.intro .deco {
		display: none;
	}
}

.feature.about {
	padding-bottom: 0.80rem;
}

@media screen and (max-width: 640px) {
	.feature.about {
		padding-bottom: 0.16rem;
	}
}

.feature.about .deco {
	width: 2.42rem;
	height: 2.06rem;
	background-image: url(../img/common/bg_deco04.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0.50rem;
	left: -1.60rem;
}

@media screen and (max-width: 640px) {
	.feature.about .deco {
		display: none;
	}
}

.feature.benefits {
	padding-bottom: 0.80rem;
}

@media screen and (max-width: 640px) {
	.feature.benefits {
		padding-bottom: 0.60rem;
	}
}

.feature.benefits .deco {
	width: 1.85rem;
	height: 1.64rem;
	background-image: url(../img/common/bg_deco02.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 2.30rem;
	right: -2.00rem;
}

@media screen and (max-width: 640px) {
	.feature.benefits .deco {
		display: none;
	}
}

.feature_body .link_arrow {
	margin-top: 0.40rem;
	border-bottom: 0.02rem solid var(--goshin-black);
	padding-bottom: 0.10rem;
	position: relative;
}

@media screen and (max-width: 640px) {
	.feature_body .link_arrow {
		margin-top: 0.20rem;
		min-width: 100%;
		width: 100%;
		box-sizing: border-box;
	}
}

.feature_body .link_arrow::after {
	content: "";
	width: 0.17rem;
	height: 0.17rem;
	background: url(../img/common/icon_link_arrow_blue.svg) no-repeat center / contain;
	position: absolute;
	right: 0;
	top: 0;
	transform: rotate(0);
	transition: transform 0.3s;
	flex-shrink: 0;
}

.feature_body .link_arrow span {
	padding-right: 0.20rem;
	display: block;
}

.feature_body .link_arrow span::after {
	position: absolute;
	bottom: -0.02rem;
	left: 0;
	content: '';
	width: 100%;
	height: 0.02rem;
	background: var(--goshin-blue);
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	z-index: 1;
}

.feature_body .link_arrow:hover span::after {
	transform-origin: left top;
	transform: scale(1, 1);
}

/*============================
MID PHOTO
============================*/
.mid_photo {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}

@media screen and (max-width: 640px) {
	.mid_photo {
		/* height: 2.00rem; */
	}
}

.mid_photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/*============================
VOICE
============================*/
.voice_block {
	margin-top: 40vw;
}

@media screen and (max-width: 640px) {
	.voice_block {
		margin-top: 60vw;
	}
}

/*============================
FAQ
============================*/
.faq {
	position: relative;
	padding: 0.80rem 0 1.20rem;
	background: none;
	background-color: #FFF;
}

@media screen and (max-width: 640px) {
	.faq {
		padding: 0.40rem 0 0.80rem;
	}
}

.faq::before {
	content: "";
	position: absolute;
	left: 0.30rem;
	top: 0;
	width: calc(100% - 0.60rem);
	height: 100%;
	background: #f2fafd;
	border-radius: 0.30rem;
	z-index: 0;
}

@media screen and (max-width: 640px) {
	.faq::before {
		left: 0.20rem;
		right: 0.20rem;
		width: auto;
		height: calc(100% - 0.40rem);
		border-radius: 0.24rem;
	}
}

.faq .in {
	position: relative;
	z-index: 1;
	max-width: 10.00rem;
	padding-left: 0;
	padding-right: 0;
}

@media screen and (max-width: 640px) {
	.faq .in {
		max-width: none;
		padding-left: 0.40rem;
		padding-right: 0.40rem;
	}
}

.faq .sec_en,
.faq .sec_jp {
	text-align: center;
}

.faq .sec_en {
	color: var(--goshin-blue);
}

.faq .sec_jp {
	margin-bottom: 0.48rem;
}

@media screen and (max-width: 640px) {
	.faq .sec_jp {
		margin-bottom: 0.24rem;
	}
}

.faq .faq_list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 0.40rem 0;
}

@media screen and (max-width: 640px) {
	.faq .faq_list {
		gap: 0.20rem 0;
	}
}

.faq .faq_list .faq_item {
	width: 100%;
}

.faq .faq_list .acc_title {
	display: flex;
	align-items: center;
	gap: 0.12rem;
	padding: 0.28rem 0.50rem 0.28rem 0;
	border-bottom: 0.01rem solid #CCC;
	font-size: 0.20rem;
	font-weight: 700;
	position: relative;
}

@media screen and (max-width: 640px) {
	.faq .faq_list .acc_title {
		font-size: 0.15rem;
		line-height: 1.5;
		gap: 0.06rem;
		padding: 0.18rem 0.32rem 0.18rem 0;
	}
}

.faq .faq_list .acc_title::before {
	content: "";
	width: 2.00rem;
	height: 1px;
	background-color: var(--goshin-blue);
	position: absolute;
	left: 0;
	bottom: -1px;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.faq .faq_list .acc_title::before {
		width: 1.20rem;
	}
}

.faq .faq_list .acc_title .q {
	color: var(--goshin-blue);
	font-family: "Inter", sans-serif;
}

.faq .faq_list .acc_title::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 0.24rem;
	height: 0.24rem;
	margin-top: -0.12rem;
	background: url(../img/common/icon_acc_btn.svg) no-repeat center / contain;
	transition: transform 0.3s;
}

@media screen and (max-width: 640px) {
	.faq .faq_list .acc_title::after {
		width: 0.18rem;
		height: 0.18rem;
		margin-top: -0.09rem;
	}
}

.faq .faq_list .acc_title.open::after {
	transform: rotate(180deg);
}

.faq .faq_list .acc_contents {
	font-size: 0.16rem;
	line-height: 1.8;
	display: none;
}

@media screen and (max-width: 640px) {
	.faq .faq_list .acc_contents {
		font-size: 0.14rem;
		line-height: 1.85;
	}
}

.faq .faq_list .acc_contents .flex_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 640px) {
	.faq .faq_list .acc_contents .flex_box {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.16rem;
	}
}

.faq .faq_list li:last-child .acc_title {
	border-bottom: 0.01rem solid #ddd;
}

.faq_list .acc_contents {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-left: 0;
	padding-top: 0.15rem;
}

@media screen and (max-width: 640px) {
	.faq_list .acc_contents {
		display: block;
		padding-top: 0.12rem;
		padding-bottom: 0.08rem;
	}
}

.faq_list .acc_contents .faq_face {
	width: 1.20rem;
	height: 1.20rem;
	border-radius: 50%;
	overflow: hidden;
}

@media screen and (max-width: 640px) {
	.faq_list .acc_contents .faq_face {
		flex-shrink: 0;
		margin: auto;
	}
}

.faq_list .acc_contents .faq_face img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.faq_list .acc_contents .txt_box {
	width: calc(100% - 1.40rem);
}

@media screen and (max-width: 640px) {
	.faq_list .acc_contents .txt_box {
		width: 100%;
	}
}

.faq_list .acc_contents .txt {
	overflow: hidden;
}
