@charset "UTF-8";

html {
	font-feature-settings: "palt" 1;
}


/* Layout */

.l-wrapper--flex {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 32px;
}

@media screen and (max-width:672px) {
	.l-wrapper--flex {
		flex-direction: column-reverse;
	}
}

.l-heading--lv1 {
	position: absolute;
	top: 45%;
	left: 10vw;
}

@media screen and (max-width:768px) {
	.l-heading--lv1 {
		display: flex;
		flex-direction: column;
		align-items: center;
		top: 12.5%;
		left: 14%;
	}
}


.l-heading--lv2 {
	padding-top: 80px;
	padding-bottom: 40px;
}

@media screen and (max-width:672px) {
	.l-heading--lv2 {
		padding-top: 40px;
		padding-bottom: 24px;
	}
}

.l-heading--lv3 {
	margin-bottom: 16px;
}

@media screen and (max-width:1024px) {
	.l-heading--lv3 {
		margin-bottom: 8px;
	}
}

.l-needs__paragraph {
	margin-bottom: 32px;
}

@media screen and (max-width:1024px) {
	.l-needs__paragraph {
		margin-bottom: 24px;
	}
}

.l-link-btn--tertiary {
	margin-top: 32px;
	margin-inline: auto;
}

@media screen and (max-width:1024px) {
	.l-link-btn--tertiary {
		margin-top: 24px;
	}
}

.l-screen-size--lg {
	max-width: 1024px;
	margin-inline: auto;
}

.l-screen-size--md {
	max-width: 672px;
	margin-inline: auto;
}

.l-screen-size--sm {
	max-width: 496px;
	margin-inline: auto;
}

.l-wrapper__link-btn {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-top: 40px;
}

@media screen and (max-width:672px) {
	.l-wrapper__link-btn {
		flex-direction: column;
		align-items: center;
		margin-top: 24px;
	}
}

.l-warpper_system {
	margin-block: 40px;
}

@media screen and (max-width:672px) {
	.l-warpper_system {
		margin-block: 24px;
	}
}

/* Component */

.c-heading--lv1 {
	font-size: 3vw;
}

.c-heading--sm {
	font-size: 1.2vw;
	font-weight: 400;
	margin-bottom: 0.6vw;
}

@media screen and (max-width:768px) {
	.c-heading--lv1 {
		font-size: 12.5vw;
	}

	.c-heading--sm {
		font-size: 4vw;
		margin-bottom: 1.6vw;
	}
}

.c-heading--lv2 {
	color: var(--black, #333);
	text-align: center;
	font-size: clamp(2.8rem, 2.1066255rem + 1.8489985vw, 4rem);
	font-weight: 700;
	line-height: 1.3; /* 52px */
}

.c-heading--lv3 {
	color: var(--black, #333);
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3; /* 31.2px */
}

.c-img {
	width: 100%;
	height: auto;
}

.c-link {
	color: var(--primary);
	font-weight: 700;
}

.c-link-btn--tertiary {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 236px;
	gap: 8px;
	font-size: 16px;
	font-weight: 700;
	color: var(--primary);
}

.c-link-btn--tertiary::after {
	font-family: "FontAwesome";
	content: "\f105";
	font-size: 1.4em;
	display: block;
	margin-left: 0.5rem;
}

.c-annotation--note {
	font-size: 0.5em;
	vertical-align: super;
}

.c-badge {
	display: flex;
	width: fit-content;
	padding: 4px 16px;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.c-system {
	display: flex;
	padding: 24px 40px;
	justify-content: center;
	align-items: center;
	gap: 24px;
	align-self: stretch;
}

@media screen and (max-width:700px) {
	.c-system {
		flex-direction: column;
		align-items: center;
		padding: 24px;
	}
}

.c-system:nth-child(1) {
	margin-bottom: 24px;
}

.c-system-item {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 32px;
	align-items: center;
	flex: 1 0 0;
	width: -webkit-fill-available;
	width: -moz-available;
	width: stretch;
}

.c-system-item:nth-child(1) {
	padding-right: 24px;	
	border-right: 1px solid var(--neutral-100)
}

@media screen and (max-width:700px) {
	.c-system-item:nth-child(1) {
		padding-right: unset;	
		padding-bottom: 24px;
		border-right: none;
		border-bottom: 1px solid var(--neutral-100);
	}
}

.c-system-paragraph {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	flex: 1 0 0;
}

/* Project */

.p-section-pb--fluid {
	padding-bottom: 80px;
}

@media screen and (max-width:672px) {
	.p-section-pb--fluid {
		padding-bottom: 40px;
	}
}

.p-img--ver1 {
	max-width: 154px;
	height: 100px;
	min-height: 100px;
	margin-bottom: 12px;
}

.p-img--ver2 {
	display: block;
	margin-inline: auto;
	margin-top: 24px;
	margin-bottom: 40px;
	max-width: 343px;
	min-height: 217px;
}

.p-first-view {
	position: relative;
}

.p-firstView__media .c-img{
  width: 100%;
  height: auto;
  display: block;
}

@media (min-width: 768px) {
  .p-first-view {
    background: url("../image/movie-tickets/pc_first-view.png") center / contain no-repeat;
  }
}

.p-wrapper-explain {
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 1.6rem;
	line-height: 1.7;
}

@media screen and (max-width:672px){
	.p-wrapper-explain {
		align-items: center;
		text-align: center;
	}
}

.p-service-supplement {
	font-size: 1.2rem;
	padding: 16px 24px;
	border-radius: 12px;
	background: var(--background-gray);
}

.p-needs__list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-self: center;
	gap: 32px;
}

@media screen and (max-width:1024px) {
	.p-needs__list {
			grid-template-columns: 1fr;
	}
}

.p-needs__list-item {
	display: flex;
	padding: 32px 24px;
	flex-direction: column;
	align-items: left;
	flex: 1 0 0;
	align-self: stretch;
	border-radius: 16px;
	background: var(--white);
	box-shadow: 0 0 32px 0 rgba(255, 96, 67, 0.15);
}

@media screen and (max-width:1024px) {
	.p-needs__list-item {
			max-width: 496px;
			margin-inline: auto;
	}
}

.p-needs__list-item:nth-child(3) {
	position: relative;
}

.p-badge {
	border-radius: 48px;
	background: #FF762E;
	color: var(--white);
	font-size: 14px;
	font-weight: 700;
}

@media screen and (min-width:678px) {
	.p-badge {
		position: absolute;
		top: -1em;
		left: 50%;
		transform: translateX(-50%);
	}
}

.p-bg-orange {
	background-color: #FFF7F1;
}

.p-review__list {
	display: flex;
	gap: 32px;
}

@media screen and (max-width:1024px) {
	.p-review__list {
		flex-direction: column;
	}
}

.p-review__list-item {
	flex: 1 0 0;
	position: relative;
	padding: 24px 32px 24px 112px;
	border-radius: 16px;
	background: rgba(236, 84, 55, 0.10);
}

@media screen and (max-width:1024px) {
	.p-review__list-item {
		max-width: 496px;
		margin-inline: auto;
	}
}

.p-review__list-item:nth-child(1):before {
  background: url(../image/movie-tickets/illust_female.png) no-repeat center / contain;
}

.p-review__list-item:nth-child(2):before {
	background: url(../image/movie-tickets/illust_male.png) no-repeat center / contain;
}

.p-review__list-item::before {
	position: absolute;
	content: "";
	width: 4.57em;
	height: 4.57em;
	top: 50%;
	left: 32px;
	transform: translateY(-50%);
}

.p-system {
	border-radius: 16px;
	background: var(--background-gray);
}

.p-system-txt {
	color: rgba(0, 0, 0, 0.80);
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 30px */
}

.p-system-paragraph {
	font-size: 1.2rem;
}

/* Utility */
.u-mt-8 {
	margin-top: 8px;
}

.u-mb-8 {
	margin-bottom: 8px;
}

.u-mb-16 {
	margin-bottom: 16px;
}

.u-mt-32 {
	margin-top: 32px;
}

.u-mt-fluid {
	margin-top: 80px;
}

@media screen and (max-width:678px) {
	.u-mt-fluid {
		margin-top: 40px;
	}
}

.u-mb-32 {
	margin-bottom: 32px;
}

.u-p-inline-16 {
	padding-inline: 16px;
}

.u-txt-center {
	text-align: center;
}

.u-txt-left {
	text-align: left;
}

.u-d-block {
	display: block;
}

@media screen and (max-width:600px) {
	.u-d-block--sm {
		display: block;
		padding-left: 0.5em;
	}
}

/* other */

/* なぜ動画はチケット制？ */

.why-ticket-system.accordion_container {
	background-color: var(--white);
}

.why-ticket-system.accordion_container>button.accordion_button::after {
	position: initial;
}

@media screen and (max-width:768px) {
		.why-ticket-system.accordion_container>button.accordion_button::after {
		right: clamp(5.6rem, -2.3411rem + 22.0588vw, 14.6rem);
	}
}

.why-ticket-system.accordion_container>button.accordion_button {
	gap: 12px;
	justify-content: center;
	background-color: var(--white);
	margin-top: 24px;
}

.why-ticket-system.accordion_container>div {
	padding-inline: unset;
}

/* よくある質問 */

.accordion_container>button.accordion_button {
	padding: 16px;
}

ul.accordion_faq>li.accordion_container>div {
	gap: unset;
}

ul.accordion_faq>li.accordion_container>div::before  {
	content: "";
	margin: unset;
}
