@charset "utf-8";
/* CSS Document */

/*==========
MV
==========*/
.mv {
}

.mv img {
	width: 100%;
}

@media (min-width: 768px) {
	.mv {
	}
}


/*==========
メッセージ
==========*/
.top_message {
	padding: 60px 0 90px;
	background-color: var(--bg_color2);
	margin-top: 60px;
}

.top_message h2 {}

.top_message p {
	line-height: 1.6;
	margin: 4rem 0;
}

@media (min-width: 768px) {
	.top_message {
		padding: 90px 0 120px;
		margin-top: 90px;
	}

	.top_message p {
		margin: 6rem 0;
	}
}


/*==========
出演実績
==========*/
.works {
	padding: 60px 0 90px;
}

.works h3 {
	font-size: 2.2rem;
	margin-top: 3rem;
	line-height: 1.35;
}

.works_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 9px;
	margin: 3rem auto 5rem;
}

.works_wrap img {
	border-radius: 15px;
}

.works p {
	font-size: 1.7rem;
	line-height: 1.6;
	text-align: center;
}

@media (min-width: 768px) {
	.works {
		padding: 90px 0 120px;
	}

}


/*==========
所属タレントの出演歴
==========*/
.credits {
	padding: 60px 0 90px;
}

.credits_lead {
	margin: 4rem 0;
}

.credits_groups {
	margin-bottom: 4rem;
}

.credits_group {
	margin-bottom: 3rem;
	padding-bottom: 2rem;
	border-bottom: dotted 1px #a3a3a3;
}

.credits_group h3 {
	font-size: 1.7rem;
	font-weight: 600;
	margin-bottom: 1rem;
	color: var(--font_color2);
}

.credits_group ul li {
	line-height: 1.6;
	margin-bottom: 0.3rem;
}

.credits_group dt,
.credits_group dd {
	line-height: 1.6;
}

.credits_group dt {
	font-weight: 400;
}

.credits_group dd {
	margin-bottom: 1rem;
}


/*==========
特色
==========*/
.features {
	padding: 60px 0 90px;
	background-color: var(--bg_color2);
}

.features_wrap {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 94%;
	margin: 30px auto 48px;
}

.features_wrap .item img {
	border-radius: 15px;
}

.features_wrap .item h3 {
	color: var(--font_color2);
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	align-items: center;
	margin: 1rem 0;
}

.features_wrap .item h3 .no {
	font-size: 6rem;
	font-family: "Roboto", sans-serif;
}

.features_wrap .item h3 .title {
	font-size: 1.8rem;
	font-weight: 600;
	width: calc(100% - 72px);
	line-height: 1.3;
}

.features_wrap .item p {
	font-size: 1.45rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.features {
		padding: 90px 0 120px;
	}

	.features_wrap .item h3 .no {
		font-size: 8rem;
	}

	.features_wrap .item h3 .title {
		font-size: 2.2rem;
		width: calc(100% - 100px);
		line-height: 1.4;
	}

	.features_wrap {
		margin: 60px auto 90px;
	}

}


/*==========
声
==========*/
.voice {
	padding: 60px 0 90px;
}

.voice_wrap {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 94%;
	margin: 30px auto 72px;
}

.voice_wrap .item header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.voice_wrap .item header img {
	width: 150px;
	height: 150px;
	border-radius: 100vmax;
}

.voice_wrap .item header div {
	width: calc(100% - 15px - 150px);
}

.voice_wrap .item header h3 {
	font-size: 2rem;
	margin-bottom: 2rem;
}

.voice_wrap .item header h4 {
	transform: translateX(-30px);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.voice_wrap .item header h4 span {
	font-size: 1.8rem;
	background-color: var(--sub_color);
	padding: 3px;
	color: #FFF;
	inline-size: fit-content;
}

.voice_wrap .item header h4 span:nth-child(2) {
	transform: translateX(48px);
}

.voice_wrap .item p {
	font-size: 1.5rem;
	line-height: 1.6;
	margin-top: 1rem;
}


@media (min-width: 768px) {
	.voice {
		padding: 90px 0 120px;
	}

	.voice_wrap .item header img {
		width: 160px;
		height: 160px;
	}

	.voice_wrap .item header div {
		width: calc(100% - 15px - 160px);
	}

	.voice_wrap .item header h4 span {
		font-size: 2.6rem;
	}

	.voice_wrap .item p {
		font-size: 1.7rem;
	}
}


/*==========
注文方法
==========*/
.flow {
	padding: 60px 0px 90px;
	background-color: var(--bg_color2);
}

.flow_list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 36px;
	margin: 30px auto 60px;
}

.flow_list .item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
}

.flow_list .item figure {
	width: 36%;
}

.flow_list .item .text {
	width: calc(100% - 36% - 18px);
}

.flow_list .item .text div {
	font-size: 3.6rem;
	color: var(--font_color2);
}

.flow_list .item .text p {
	line-height: 1.55;
	margin-top: 6px;
}


@media (min-width: 768px) {
	.flow {
		padding: 90px 0px 120px;
	}
}



/*==========
募集要項
==========*/
.description {
	padding: 60px 0px 90px;
}

.description h3 {
	text-align: center;
	color: var(--font_color2);
	font-size: 2.4rem;
	margin-top: 36px;
}

.description table {
	width: 100%;
	margin: 18px 0 36px;
}

.description table th,
.description table td {
	padding: 18px 6px;
	border: solid 1px var(--border_color);
	line-height: 1.6;
}

.description table th {
	width: 24%;
	background-color: var(--main_color);
	color: #FFF;
	font-weight: 400;
}

@media (min-width: 768px) {
	.description {
		padding: 90px 0px 120px;
	}

	.description h3 {
		font-size: 3rem;
		margin-top: 54px;
	}

	.description table {
		margin: 30px 0 60px;
	}

	.description table th,
	.description table td {
		padding: 24px 9px;
	}
}



/*==========
よくある質問
==========*/
.faq {
	padding: 60px 0px 90px;
	background-color: var(--bg_color2);
}

.faq_wrap {
	margin: 4rem 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.faq_item {
	border: solid 1px var(--border_color);
	background-color: #FFF;
	border-radius: 6px;
	padding: 0 12px;
}

.faq_item .question {
	padding: 2rem 0;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	align-items: center;
}

.faq_item .question:hover {
	cursor: pointer;
}

.faq_item .question:before {
	content: "Q";
	font-size: 4rem;
	/* font-weight: 600; */
	/* background-color: var(--main_color); */
	color: var(--main_color);
	/* padding: 6px 9px; */
}

.faq_item .question h4 {
	width: calc(100% - 50px);
	font-size: 1.65rem;
	line-height: 1.5;
	padding: 6px 18px 6px 9px;
}

.faq_item .question img {
	width: 24px;
	height: 24px;
	transform: rotate(-90deg);
	position: absolute;
	right: 0px;
}

.faq_item .answer {
	padding: 1rem 1rem 3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	line-height: 1.6;
}

.faq_item .question img {
	transition: transform 0.3s ease;
}

.faq_item .question img.open {
	transform: rotate(90deg);
}

@media (min-width: 768px) {
	.faq {
		padding: 90px 0px 120px;
	}

	.faq_wrap {
		margin: 6rem 0;
	}
}



/*==========
メッセージ
==========*/
.bottom_message {
	padding: 60px 0px 90px;
	background-image: url(../img/bg_message.jpg);
	background-size: cover;
}

.bottom_message hgroup p {
	font-size: 2.4rem;
	margin-bottom: 1rem;
}

.bottom_message .body {
	margin-top: 3rem;
	line-height: 1.6;
}

@media (min-width: 768px) {
	.bottom_message {
		padding: 90px 0px 120px;
	}

	.bottom_message hgroup p {
		font-size: 3.6rem;
		margin-bottom: 1rem;
	}

	.bottom_message .body {
		line-height: 1.;
	}
}



/* ==========
応募フォーム
========== */
.contact {
	padding: 60px 0px 90px;
	background-color: var(--bg_color2);
}

.contact form {
	margin-top: 5rem;
}

.contact form .item {
	margin-top: 3rem;
}

.contact form .item label {
	display: block;
	margin-bottom: 6px;
}

.contact form .item label span {
	color: #FF0000;
	font-size: 1.4rem;
	padding-left: 6px;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
	width: 100%;
	font-size: 1.6rem;
	background-color: #FFF;
	border: solid 1px var(--border_color);
	padding: 12px 6px;
	border-radius: 3px;
}

input[type="submit"] {
	width: 100%;
	font-size: 1.8rem;
	color: #FFF;
	text-align: center;
	padding: 24px 0;
	border-radius: 100vmax;
	background-color: var(--btn_color);
	margin-top: 5rem;
	box-shadow: 3px 6px 0 rgba(0, 0, 0, 0.6);
}

input::placeholder {
	color: #a8a8a8;
}

.item_recaptcha p {
	font-size: 1.4rem;
	line-height: 1.5;
}

.wpcf7 form .wpcf7-response-output {
	margin: 3rem auto 0;
	padding: 2rem 1.5rem;
	border: 3px solid #00a0d2;
	background-color: #ffffff;
	line-height: 1.6;
}

.wpcf7-not-valid-tip {
	color: #FFF;
	background-color: #FF0000;
	font-size: 1.3rem;
	display: inline-block;
	margin-top: 0.5rem;
	padding: 3px 9px
}

@media (min-width: 768px) {
	.contact {
		padding: 90px 0px 120px;
	}

	.contact form {
		width: 90%;
		margin: 6rem auto 0;
	}


}


/*==========
固定フッター
==========*/
.footer_fixed {
	position: fixed;
	bottom: 0;
	z-index: 99;
	width: 100%;
	padding: 1rem;
}

.footer_fixed a {
	width: 96%;
	max-width: 420px;
	height: 66px;
	border-radius: 100vmax;
	background-color: var(--btn_color);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 9px;
	margin: 0 auto;
	box-shadow: 3px 6px 0 rgba(0, 0, 0, 0.6);
}

.footer_fixed a span {
	color: #FFF;
}

.footer_fixed a img {
	width: 18px;
}


.grecaptcha-badge {
	visibility: hidden;
}



/*==========
サンクスページ
==========*/
.thanks_page {
	min-height: calc(100svh - 150px);
}

.thanks {
	padding: 5rem 0 0 0;
}

.thanks h1 {
	text-align: center;
	font-size: 4rem;
	color: var(--main_color);
	margin-bottom: 3rem;
}

.thanks p {
	line-height: 1.65;
	margin-bottom: 2rem;
}

.thanks p span {
	font-size: 1.8rem;
	text-align: center;
	inline-size: fit-content;
	margin-inline: auto;
	display: block;
}

.thanks .line {
	text-align: center;
	margin-top: 4rem;
}

.thanks .btn_line {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	border: solid 3px #adadad;
	padding: 6px 0;
	border-radius: 50vmax;
	width: 90%;
	margin: 0 auto;
	max-width: 360px;
}

.thanks .btn_line img {
	height: 48px;
	width: auto;
}

.thanks .btn_line span {
	font-size: 1.8rem;
	font-weight: 600;
	color: #13ce5f;
}
