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

/*------------------------------
 ▼共通デザイン（モバイル向け）
 -------------------------------*/
body {
	font-family: 'kozuka-gothic-pr6n', sans-serif;
	font-size: 14px;
	color: #4f535a;
	line-height: 1.6;
	font-feature-settings: "palt";
	letter-spacing: .05em
}

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

/*    画像LPバナー（images/lp/配下の画像を並べる領域）   */
#lp-sections {
	display: block;
}

.lp-banner {
	display: block;
	width: 100%;
}

.pc__left_wrapper {
	display: none;
}

/*    ここからトップの設定   */
.top {
	position: relative;
}

/* レイヤー構成（背景動画＋ロゴ＋期間）のときだけ、動画を画面いっぱいに敷くための高さを指定する */
.top--layered {
	height: 100vh;
	max-height: 720px;
}

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

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

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

.main-detail {
	max-width: 430px;
	padding: 0 50px;
	margin: auto;
}

/*    ここから動画スライダーの設定   */
.video-slider-section {
	padding: 48px 0 40px;
	background: var(--video-slider-bg, #FFF1EC);
	color: var(--video-slider-text, #4f535a);
	text-align: center;
	overflow: hidden;
}

.video-slider-title {
	position: relative;
	display: inline-block;
	margin: 0 0 32px;
	padding: 14px 28px;
	border-radius: 30px;
	background: var(--video-slider-color, #FF7FA6);
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}

.video-slider-title::after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 12px 10px 0 10px;
	border-color: var(--video-slider-color, #FF7FA6) transparent transparent;
}

.video-slider__slide {
	padding: 0 8px;
}

/* 動画が1本だけのとき（スライダー化しない）は中央寄せの単体表示にする */
.video-slider--single {
	max-width: 500px;
	margin: 0 auto;
}

.video-slider__slide video {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 16px;
	background: #d9d9d9;
}

.video-slider .slick-dots {
	position: static;
	margin: 16px 0 0;
	line-height: 1;
}

.video-slider .slick-dots li button:before {
	font-size: 8px;
	color: var(--video-slider-color, #FF7FA6);
	opacity: .4;
}

.video-slider .slick-dots li.slick-active button:before {
	opacity: 1;
}

/*    音声プレイヤー（profile-audioブロックで使用）   */
.audio-txt {
	max-width: 375px;
	margin: 24px auto 12px;
}

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

/*    ここからProfileの設定   */
.profile {
	padding: 40px 16px;
	background: var(--profile-audio-bg, #E3DAFF);
	color: var(--profile-audio-text, #4f535a);
}

.profile__inner {
	position: relative;
	margin: 20px auto;
	text-align: center;
	max-width: 500px;
	padding: 0 0 20px;
	border-bottom: #fff 2px dashed;
}

.profile__inner:last-child {
	border-bottom: none;
	padding: 0;
}

.profile__img {
	max-width: 500px;
	margin: auto;
	border-radius: 6px;
}

.profile__txt {
	max-width: 500px;
	text-align: center;
}

.profile__title {
	display: inline-block;
	padding: 4px 8px;
	margin: 10px 0;
	color: #fff;
	background: #5BB4FF;
}

/*ここからフッター*/
.footer {
	position: relative;
	padding: 0;
	background: #E3DAFF;
}

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

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

/*-------------------------------
 ▼大型画面向けデザイン（PCなど）
 --------------------------------*/
@media screen and (min-width: 769px) {
	.pc__top {
		background-image: url("../images/site/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 {
		display: inline;
		max-width: 160px;
		padding: 8px;
		background: #fff;
		border-radius: 6px;
		text-align: center;
	}

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

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

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

	.pc__right_form {
		display: none;
	}

	.top--layered {
        max-height: 720px;
	}

	}
