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

/*------------------------------
 ▼共通デザイン（モバイル向け）
 -------------------------------*/
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	color: #2E4567;
	line-height: 1.6;
}

img {
	display: block;
	width: 100%;
}

.pc__left_wrapper {
	display: none;
}

/*    ここからトップの設定   */
.top {
	position: relative;
	height: 100vh;
	max-height: 720px;
}

.top__img {
	position: absolute;
	top: 40%;
	width: 100%;
	pointer-events: none;
}

.top__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-logo {
	display: block;
	width: 100%;
	max-width: 400px;
	padding: 0 8px;
	margin: auto;
}

.main-detail {
	max-width: 400px;
	padding: 16px 60px;
	margin: auto;
}

/*    ここからAboutの設定   */
.about {
	padding: 20px 16px 30px;
	background-image: url(../images/about_bg.jpg);
	background-size: cover;
}

.about__inner {
	margin: 20px 0 0 0;
	text-align: center;
}

.section__title {
	text-align: center;
	line-height: 1.2;
	font-size: 14px;
	color: #ffffff;
}

.section__title::before {
	content: "";
	display: block;
	height: 49px;
	margin: 0 auto 8px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.about__img {
	/* max-width: 321px; */
	border: 2px solid #fff;
	border-radius: 10px;
	/* box-shadow: 3px 3px 0px 0px #00A0E9; */
	box-shadow: 0px 0px 15px 0px rgba(235, 255, 254, 1), 0px 0px 30px 0px rgba(130, 201, 255, 1);
}

.about__img-primary {
	margin: 24px auto 0;
	max-width: 178px;
}

.about__txt {
	margin: 8px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 2;
}

.about__txt-important {
	color: #ff98c4;
	font-weight: bold;
}

.about__txt-img {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

.about__txt_bg {
	background: #fff0f7;
	color: #ff98c4;
	padding: 2px 8px;
	margin: 0 0 0 2px;
	line-height: 2.5;
	font-size: 20px;
}

.about__txt_bg-white {
	background: #FFFFFF;
	color: #ff98c4;
	padding: 2px 8px;
	margin: 0 2px 2px;
	line-height: 2.5;
	font-size: 16px;
}

.about__txt_dashed {
	border-bottom: dashed 2px #ff98c4;
	color: #ff98c4;
	font-weight: bold;
}

/*   ここからbg-imgの設定   */
.section__title-img {
	max-width: 264px;
	margin: 0 auto;
}

.bg-img {
	padding: 40px 24px;
	background-image: url("../images/pick_bg.jpg");
	background-size: cover;
}

.bg-img .section__title::before {
	background-image: url("../images/affiliation.png");
	height: 35px;
	margin: 0 auto 10px;
}

.bg-img .section__title {
	color: #F0EBE8;
}

.bg-img__inner {
	max-width: 500px;
	margin: 24px auto 0;
	color: #F6F8DE;
}

.bg-img__main {
	max-width: 295px;
	margin: 0 auto;
}

.bg-img__container {
	text-align: center;
}

.bg-img__caption {
	text-align: left;
}

.bg-img__logo {
	max-width: 187px;
	margin: 0 auto;
}

.bg-img__caption-band {
	max-width: 239px;
	margin: 40px auto 16px;
}

.bg-img__caption-sub {
	max-width: 160px;
	margin: 8px auto 0;
}

.bg-img__caption-item {
	display: inline-block;
	margin: 2px;
	padding: 4px 16px;
	background: rgb(255 255 255 / .5);
	color: #fff;
	font-size: 12px;
	border-radius: 4px;
}

.bg-img__contents {
	max-width: 225px;
	margin: 32px auto 10px;
}

.bg-img__contents_first {
	margin: 0 auto 10px;
}

.bg-img__txt {
	font-size: 20px;
	line-height: 1;
    margin: 10px 0 8px;
}

.bg-img__txt-sub {
	display: inline-block;
	line-height: 1;
	color: #3F3263;
	background: linear-gradient(90deg, #F6F8DE, #E2F8FF);
	font-weight: bold;
	padding: 8px;
	border-radius: 4px;
}

/*    ここからsupporterの設定   */

.supporter {
	padding: 40px 16px;
	background-image: url(../images/supporter_bg.jpg);
	background-size: cover;
	color: #fff;
}

.supporter .section__title::before {
	background-image: url("../images/supporter.png");
}

.supporter__inner {
	margin: 20px 0 0 0;
	text-align: center;
}

.supporter__card {
	margin: 0 0 40px;
}

.supporter__card:nth-last-child(1) {
	margin: 0;
}

.supporter__img {
	width: 125px;
	margin: 0 auto;
	border-radius: 50%;
	box-shadow: 0px 0px 15px 0px rgba(235, 255, 254, 1), 0px 0px 30px 0px rgba(130, 201, 255, 1);
}

.supporter__card-name {
	display: flex;
	margin: 16px 0;
	justify-content: center;
	align-items: center;
}

.supporter__name-sub {
	margin: 0 8px 0 0;
	padding: 4px 8px;
	background-color: #EBFFFE;
	color: #2E4567;
	font-size: 10px;
	border-radius: 3px;
}

.supporter__name {
	font-size: 20px;
	font-weight: bold;
}

.supporter__txt {
	margin: 0 auto;
	padding: 16px;
	width: 300px;
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 10px;
}


/*    ここからimportantの設定   */
.important {
	background: linear-gradient(90deg, #c3f4b4, #f5ffba);
	padding: 40px 16px 24px;
}

.important .section__title {
	color: #62c71b;
}

.important .section__title::before {
	background-image: url("../images/works2.png");
}

.important__title_img {
	width: 220px;
	margin: 0 auto;
}

.important__inner {
	margin: 20px 0 0 0;
}

.important__card {
	position: relative;
	max-width: 500px;
	margin: 0 auto 16px;
	padding: 24px 16px;
	border-radius: 6px;
	background: #fff;
}

.card__title {
	text-align: center;
	line-height: 1.4;
	color: #62c71b;
	font-size: 20px;
}

.card__txt-title {
	margin: 16px 0 8px 0;
	padding: 0 0 0 8px;
    font-size: 16px;
    line-height: 1.6;
    border-left: 4px solid;
}

.card__txt {
	max-inline-size: max-content;
	margin: 8px auto 0;
}

.card__txt-important {
	font-weight: bold;
	color: #62c71b;
}

.card__img {
	margin: 12px 0 0 0;
	border-radius: 6px;
}

.important .section__title_second::before {
	background-image: url("../images/point.png");
	max-width: 196px;
	margin: 40px auto 0;
}

.table__row {
	width: 97px;
	font-size: 12px;
	vertical-align: middle;
	background: #e7eeff;
}

.table__row_long {
	width: 107px;
}

.table {
	width: 100%;
	border-collapse: separate;
    border-spacing: 6px;
}

.table-title {
	margin: 8px 0 0 6px;
	font-size: 16px;
}

.table-container {
	margin: 0 auto;
}

/*    ここからSchedule  */
.schedule {
	padding: 40px 16px;
	background: #fff4fe;
}

.schedule .section__title {
	color: #ff98c4;
}

.schedule .section__title::before {
	background-image: url("../images/flow2.png");
}

.schedule__inner {
	max-width: 500px;
	margin: 20px auto 0;
}

.schedule__card {
	display: flex;
	width: 100%;
	margin: 0 0 16px 0;
	background: #FFFFFF;
	border-radius: 10px;
	border: 2px solid #ff98c4;
	overflow: hidden;
}

.schedule__title {
	display: grid;
	place-items: center;
	padding: 12px;
	background: #ff98c4;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}s

.schedule__day {
	color: #ff98c4;
	font-size: 16px;
	font-weight: bold;
}

.schedule__day-sub {
	font-size: 12px;
	line-height: 1.4;
}

.schedule__txt {
	flex: 1;
	padding: 12px;
}

.schedule__sub {
	padding: 16px;
	background: rgba(255, 192, 190, 0.3);
	border-radius: 10px;
	text-align: center;
	color: #ff98c4;
	font-weight: bold;
	font-size: 16px;
}

.schedule__subtxt {
	line-height: 2;
}

.list__item {
	margin: 0 0 12px 0;
}

.list__item:last-child {
	margin: 0;
}

.audio {
	display: block;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}

.audio-txt {
	max-width: 275px;
	margin: 24px auto 16px;
}

/*     ここから応募条件        */
.detail {
	padding: 40px 16px;
	background: #c3f4b4;
}

.detail .section__title {
	color: #62c71b;
}

.detail .section__title::before {
	background-image: url("../images/entry2.png");
}

.detail__box {
	position: relative;
	max-width: 500px;
	margin: 0 auto 45px;
	padding: 50px 16px 32px 24px;;
	border: 2px solid #62c71b;
	border-radius: 20px;
	background: #FFFFFF;
}

.detail__box:first-of-type {
	margin: 45px auto;
}

.detail__box:last-of-type {
	margin: 0 auto;
}

.title__box {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 284px;
	padding: 0 24px;
}

/* comment */

.comment {
	padding: 40px 16px;
	background: #fffde9;
}

.comment .section__title {
	color: #9be9b5;
}

.comment .section__title::before {
	background-image: url("../images/comment2.png");
	max-width: 333px;
}

.comment__inner {
	margin: auto;
	max-width: 500px;
}

.comment__card {
	margin: 24px 0 0;
	padding: 24px 16px;
	background: #fff;
	border-radius: 10px;
}

.comment__card-prf {
	display: flex;
	padding: 0 0 16px 0;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.comment__card-img {
	width: 150px;
	border-radius: 5px;
}

.comment__card-prftxt {
	margin: 0 0 0 8px;
	width: 150px;
	text-align: center;
}

.comment__card-name {
	padding: 8px 0 0;
	font-size: 16px;
	font-weight: bold;
}

.comment__card-group {
	font-size: 10px;
}

/*    h2の見出しデザイン  */
.detail__title {
	padding: 12px 0;
	border: 2px solid #62c71b;
	border-radius: 30px;
	background: #e6ffd4;
	box-shadow: 4px 4px 0 0 #62c71b;
	color: #62c71b;
	font-size: 18px;
	text-align: center;
	line-height: 1;
}

.detail__list {
	position: relative;
	padding: 0 0 0 14px;
}

.list__item_mark::before {
	content: "・";
	position: absolute;
	left: 0;
	color: #424e64;
}

/*     ここからFAQ        */

.inquiry {
	padding: 40px 16px;
	background: #fffde9;
}

.inquiry .section__title {
	color: #9be9b5;
}

.inquiry .section__title::before {
	background-image: url("../images/inquiry2.png");
}

.inquiry__inner {
	padding: 24px 0 0;
}

.accordion {
	max-width: 500px;
	margin: auto;
}

.accordion__check {
	display: none;
}

.accordion__label {
	display: block;
	position: relative;
	padding: 24px 40px;
	background: #fff;
	border-radius: 20px;
	color: #2E4567;
	cursor: pointer;
}

.accordion__content {
	position: relative;
	height: 0;
	margin: 6px 0 16px 0;
	background: #BFF7FF;
	border-radius: 20px;
	opacity: 0;
	visibility: hidden;
}

.triangle {
	display: block;
	border-right: 32px solid transparent;
	border-left: 32px solid transparent;
	border-top: 24px solid #ff98c4;
	width: 32px;
	height: 16px;
	margin: 0 auto 8px;
}

/*    Q・A疑似要素    */
.accordion__label::before {
	content: "q";
	position: absolute;
	left: 16px;
	font-size: 16px;
	color: #2E4567;
	text-transform:uppercase;
}

.accordion__label::after {
	content: '';
	position: absolute;
	top: 0;
	right: 16px;
	bottom: 0;
	width: 8px;
	height: 8px;
	margin: auto 0;
	border-top: 2px solid #9be9b5;
	border-right: 2px solid #9be9b5;
	transform: rotate(135deg);
}

.accordion__content::before {
	content: "a";
	position: absolute;
	left: 16px;
	height: 0;
	font-size: 16px;
	color: #00A0E9;
	text-transform:uppercase;
}

/*    開閉時    */
.accordion__check:checked + .accordion__label + .accordion__content {
	height: auto;
	padding: 16px 16px 16px 40px;
	opacity: 1;
	visibility: visible;
}

.accordion__check:checked + .accordion__label::after {
	transform: rotate(-45deg);
}

.content__list_marker {
	display: table-cell;
}

.content__list_text {
	display: table-cell;
}

.content__list_ltem {
	margin: 8px 0;
}

/*group*/
.group {
	padding: 40px 16px;
	background: #fff4fe;
}

.group .section__title::before {
	background-image: url("../images/group2.png");
}

.group .section__title {
	color: #ff98c4;
}

.idol__inner {
	padding: 24px 10px 0 10px;
}

.idol__img {
	border-radius: 20px;
}

.idol__title {
	margin: 4px 0 0 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

/*inc*/

.inc {
	padding: 40px 16px;
	background: #f6bbd4;
}

.inc .section__title::before {
	background-image: url("../images/message2.png");
}

.inc .section__title {
	color: #fff;
}

.inc__logo {
	max-width: 200px;
	margin: 0 auto 24px;
}

.inc__box {
	border-radius: 10px;
	background: #ffffff;
	padding: 24px 16px;
}

.inc__idol-name {
	text-align: center;
    font-size: 16px;
    font-weight: bold;
    margin: 16px 0 8px;
    line-height: 1;
}

.inc__idol-name-sub {
	text-align: center;
    font-size: 10px;
    margin: 0 0 8px;
    line-height: 1;
	color: #8493b6;
}

.inc__idol-wrapper {
	margin: 16px 0 0;
	padding: 16px;
	border-radius: 6px;
	background: #fff;
}

.inc__container {
	max-width: 500px;
	margin: 20px auto 0;
}

.inc__idol-txt {
	margin: 0 0 30px;
}

.inc__idol-txt:last-of-type {
	margin: 0;
}

.inc__group {
	max-width: 295px;
    margin: 50px auto 24px;
}

.inc__logo-container {
	margin: 24px 0 0;
	border-top: 2px dashed #fff;
}

.inc__information {
	display: flex;
	padding: 24px 0 0;
}

.inc__information-img {
	max-width: 100px;
    margin: 0 16px 0 0;
}

.inc__information-main-txt {
	margin: 0 0 4px;
	font-size: 20px;
	font-weight: bold;
}

/*ここからフッター*/
.footer {
	position: relative;
	padding: 24px 0 94px;
	background: #545b6c;
}

.back-top {
	position: absolute;
	left: 50%;
	top: -20px;
	transform: translateX(-50%);
	width: 60px;
	height: 60px;
	background: #545b6c;
	border-radius: 50%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.back-top::before {
	content: '';
	position: absolute;
	left: 50%;
	top: -20px;
	bottom: 0;
	transform: translateX(-50%) rotate(-45deg);
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.footer__logo {
	position: relative;
}

.main-logo-small {
	width: 260px;
	padding: 0 16px 16px;
}

.form {
	display: flex;
	position: fixed;
	bottom: 16px;
	width: 100%;
	padding: 0 8px;
	text-align: center;
	justify-content: center;
}

.form__link {
	display: inline-block;
	width: 100%;
	max-width: 343px;
	padding: 16px 0;
	margin: 0 8px;
	border-radius: 28px;
	line-height: 1;
	background: #39E5AB;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}

.footer__copyright {
	color: #fff;
	text-align: center;
	font-size: 10px;
}

/*-------------------------------
 ▼大型画面向けデザイン（PCなど）
 --------------------------------*/
@media screen and (min-width: 769px) {
	.pc__top {
		background-image: url("../images/pc_bg.jpg");
		background-attachment: fixed;
		background-size: cover;
		background-position: center;
	}

	.pc__top_wrapper {
		display: flex;
		justify-content: center;
		margin: 0 40px;
	}

	.pc__left_wrapper {
		position: sticky;
		top: 0;
		height: 100vh;
		display: flex;
		width: 100%;
		max-width: 460px;
		margin: 0 80px 0 0;
		flex: 1;
	}

	.pc__left {
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
	}

	.form {
		position: static;
		display: block;
	}

	.form__txt {
		margin: 0 0 12px;
		;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
	}

	.form__qr {
		max-width: 160px;
		margin: 0 auto;
		padding: 8px;
		background: #fff;
		border-radius: 6px;
	}

	.pc__right {
		width: 375px;
		background-color: #fff;
	}

	.pc__main-logo {
		width: 100%;
		padding: 0 0 16px;
	}

	.pc__main-detail {
		max-width: 70%;
		padding: 0 16px 24px;
	}

	.footer {
		padding: 32px 16px;
	}

	.pc__right_form {
		display: none;
	}

}