@charset "shift_jis";
/* CSS Document */

/*------------------------------
カスタムプロパティ
------------------------------*/
:root {
	--white: #fff;
	--black: #000;
	--gray: #f0efeb;
	--red: #bd4254;
	--blue: #2c3660;
	--orange: #ff8000;
}

/*------------------------------
utility
------------------------------*/
@media screen and (min-width: 751px) {
	.t-right {
		text-align: right !important;
	}

	.t-center {
		text-align: center !important;
	}

	.t-left {
		text-align: left !important;
	}

	.u-margin-center-pc {
		margin: 0 auto;
	}

	.u-mr-0-auto-pc {
		margin-right: 0 !important;
		margin-left: auto !important;
	}

	.u-ml-0-auto-pc {
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.u-hide-pc {
		display: none;
	}
}

@media screen and (max-width: 750px) {
	.sp-t-right {
		text-align: right !important;
	}

	.sp-t-center {
		text-align: center !important;
	}

	.sp-t-left {
		text-align: left !important;
	}

	.u-mr-0-auto-sp {
		margin-right: 0 !important;
		margin-left: auto !important;
	}

	.u-ml-0-auto-sp {
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.u-hide-sp {
		display: none;
	}
}


/*------------------------------
ドラッグ、右クリック禁止
------------------------------*/
img {
	pointer-events: none;
}

/*------------------------------
共通
------------------------------*/
.main_contents {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	background: url(../images/bg_pattern.png) var(--white) repeat;
}

.broadcast_block {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background-color: var(--orange);
}

.c-button {
	position: relative;
	display: flex;
	max-width: 476px;
	min-height: 80px;
	color: var(--black);
	text-align: center;
	word-break: break-all;
	transition: all .35s cubic-bezier(0.37, 0.16, 0.12, 1);
	line-height: 1.375;
}

.c-button::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 30px;
	display: inline-block;
	color: var(--white);
	line-height: 1;
	width: 1.2em;
	height: 1.2em;
	border: 0.45em solid var(--white);
	border-left: 0;
	border-bottom: 0;
	border-radius: 0.2em;
	transform: translate(-25%, -50%) rotate(45deg);
}

.c-button__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: inherit;
	padding: 22px 60px;
	position: relative;
}

.c-button__text {
	font-size: 3.2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
}

.c-button.--orange {
	margin-inline: auto;
	color: var(--white);
	background-color: var(--orange);
	box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.75);
}

.c-button.--white {
	max-width: 200px;
	min-height: 50px;
	color: var(--orange);
	background-color: var(--white);
	border: 2px solid var(--orange);
}

.c-button.--white::after {
	right: 13px;
	color: var(--orange);
	line-height: 1;
	width: 0.8em;
	height: 0.8em;
	border: 0.25em solid var(--orange);
	border-left: 0;
	border-bottom: 0;
	transform: translate(-25%, -50%) rotate(45deg);
}

.c-button.--white .c-button__inner {
	padding: 12px 30px 12px 20px;
}

.c-button.--white .c-button__text {
	font-size: 2rem;
	letter-spacing: normal;
}

.c-text {
	position: relative;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 2.2;
	letter-spacing: 0.08em;
}

.o-wrapper-pd {
	padding-right: 120px;
	padding-left: 120px;
}

@media screen and (min-width: 751px) {
	.main_contents_inner {
		width: 1270px;
		margin: 0 auto;
	}

	.c-button:hover {
		opacity: .9;
	}

	.c-button.--white:hover {
		opacity: .6;
	}
}

@media screen and (max-width: 750px) {
	img {
		height: auto;
	}

	.main_contents_inner {
		width: 100%;
		margin: 0 auto;
	}

	.broadcast_block {
		padding: 8px 40px;
	}

	.c-button {
		max-width: 68vw;
		min-height: 40px;
	}

	.c-button::after {
		right: 15px;
		width: 0.6em;
		height: 0.6em;
		border: 0.225em solid var(--white);
		border-left: 0;
		border-bottom: 0;
		border-radius: 0.1em;
	}

	.c-button__inner {
		padding: 10px 20px;
	}

	.c-button__text {
		font-size: 1.8rem;
	}

	.c-button.--white {
		max-width: 42vw;
		min-height: 40px;
		color: var(--orange);
	}

	.c-button.--white::after {
		right: 7px;
		width: 0.6em;
		height: 0.6em;
		border: 0.225em solid var(--orange);
		border-left: 0;
		border-bottom: 0;
		border-radius: 0.1em;
	}

	.c-button.--white .c-button__inner {
		padding: 6px 15px 6px 10px;
	}

	.c-button.--white .c-button__text {
		font-size: 1.8rem;
	}

	.c-embed {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	.c-embed iframe {
		width: 100%;
		height: 100%;
	}


	.c-text {
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: normal;
	}

	.o-wrapper-pd {
		padding-right: 40px;
		padding-left: 40px;
	}
}

/*------------------------------
プレゼント
------------------------------*/
.main_contents_section[data-bg="present"] {
	background: url(../images/bg_01.webp) no-repeat center / cover;
	aspect-ratio: 1271 / 1014;
	padding: 100px 20px;
	text-align: center;
}

.present_headline {
	display: block;
	max-width: 370px;
	margin-bottom: 50px;
	margin-inline: auto;
	padding: 5px 20px;
	color: var(--white);
	font-size: 3.6rem;
	font-weight: 900;
	background-color: var(--red);
	letter-spacing: 0.18em;
	text-align: center;
}

.present_text {
	display: inline-block;
	padding: 2px 15px;
	margin-inline: auto;
	color: var(--black);
	font-size: 2.6rem;
	font-weight: 800;
	background-color: var(--white);
}

.present_img {
	position: relative;
	display: inline-block;
	padding: 10px;
	background-color: var(--white);
	border-radius: 12px;
}

.present_img::before {
	content: "";
	position: absolute;
	top: -26px;
	right: 189px;
	border-style: solid;
	border-width: 0 15px 26px 15px;
	border-color: transparent transparent var(--white) transparent;
}

@media screen and (max-width: 750px) {
	.main_contents_section[data-bg="present"] {
		padding: 30px 20px;
	}

	.present_headline {
		display: block;
		max-width: 180px;
		margin-bottom: 15px;
		padding: 2px 10px;
		color: var(--white);
		font-size: 1.8rem;
	}

	.present_text {
		padding: 2px 5px;
		font-size: 1.3rem;
	}

	.present_img {
		padding: 5px;
		border-radius: 8px;
	}

	.present_img::before {
		content: "";
		position: absolute;
		top: -16px;
		right: 46%;
		border-style: solid;
		border-width: 0 10px 20px 10px;
	}
}

/*------------------------------
インフォメーション
------------------------------*/
.main_contents_section[data-bg="info"] {
	background-color: var(--gray);
	padding: 100px 0;
	text-align: center;
}

.info_lead_wrap {
	position: relative;
}

.info_lead {
	position: relative;
	z-index: 2;
	margin: 0 30px;
	font-size: 2.4rem;
	font-weight: 800;
	line-height: 2.4;
	text-align: center;
}

.info_headline {
	position: relative;
	z-index: 2;
	display: block;
	max-width: 287px;
	margin-bottom: 100px;
	margin-inline: auto;
	padding: 5px 20px;
	color: var(--white);
	font-size: 3.6rem;
	font-weight: 900;
	background-color: var(--blue);
	letter-spacing: 0.18em;
	text-align: center;
}

.info_cast_list {
	position: relative;
	z-index: 2;
}

.info_cast_list_wrap {
	position: relative;
}

.info_cast_item.x2 ul {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	gap: 75px;
}

.info_cast_item {
	position: relative;
}

.info_nyanko {
	position: absolute;
	top: -56px;
	right: 34%;
	width: 129px;
	height: auto;
}

.info_cast_item figcaption {
	font-size: 2.6rem;
	font-weight: 900;
	line-height: 1.4;
}

.info_cast_position {
	font-size: 2rem;
}

@media screen and (max-width: 750px) {
	.main_contents_section[data-bg="info"] {
		background-color: var(--gray);
		padding: 30px 20px 40px;
	}

	.info_lead {
		font-size: 1.4rem;
		margin: 0;
	}

	.info_headline {
		max-width: 210px;
		margin-bottom: 35px;
		padding: 2px 15px;
		font-size: 1.8rem;
	}

	.info_cast_item.x2 ul {
		gap: 35px;
		width: 70vw;
		margin: 0 auto;
	}

	.info_nyanko {
		top: -20px;
		right: 22%;
		width: 15vw;
	}

	.info_cast_item figcaption {
		font-size: 1.3rem;
	}

	.info_cast_position {
		font-size: 1.1rem;
	}

}

/*------------------------------
モデル
------------------------------*/
.main_contents_section[data-bg="model"] .model_inner {
	background: url(../images/bg_curve.svg) var(--white) no-repeat left top/cover;
}

.model_landmark {
	position: relative;
}

.model_inner {
	position: relative;
	padding: 200px 0 20px;
}

.model_headline {
	font-size: 3.6rem;
	font-weight: 900;
	color: var(--red);
}

.model_nyanko_guidance {
	position: relative;
	margin-right: 45px;
	padding: 30px 35px;
	color: var(--white);
	font-size: 2.4rem;
	line-height: 2;
	font-weight: 600;
	border-radius: 20px;
	background-color: var(--blue);
}

.model_nyanko_guidance::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -26px;
	border-style: solid;
	border-width: 12px 0 12px 26px;
	border-color: transparent transparent transparent var(--blue);
	transform: translateY(-50%);
}

.model_landmark_inner {
	position: relative;
}

.model_landmark_headline {
	font-size: 4.6rem;
	font-weight: 900;
	letter-spacing: 0.2em;
}

.model_landmark_headline span {
	font-size: 3.0rem;
}

.copywrite-wrap {
	margin-top: 130px;
	text-align: center;
}

.copywrite {
	font-size: 1.8rem;
	font-weight: 900;
}

@media screen and (min-width: 751px) {
	.model_landmark:not(:last-of-type) {
		margin-bottom: 200px;
	}

	.model_nyanko {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

@media screen and (max-width: 750px) {
	.main_contents_section[data-bg="model"] .model_inner {
		background: url(../images/bg_curve_sp.svg) var(--white) no-repeat left top/cover;
	}

	.model_landmark {
		margin-bottom: 420px;
	}

	.model_inner {
		padding: 25px 0 12px;
	}

	.model_headline {
		margin-top: 250px;
		font-size: 1.8rem;
	}

	.model_nyanko {
		text-align: center;
	}

	.model_nyanko img {
		width: 50%;
	}

	.model_nyanko_guidance {
		margin-right: -20px;
		margin-bottom: 25px;
		margin-left: -20px;
		padding: 15px 20px;
		font-size: 1.2rem;
		text-align: left;
	}

	.model_nyanko_guidance::after {
		top: auto;
		right: 42%;
		bottom: -14px;
		border-width: 15px 10px 0 10px;
		transform: translate(-50%, 0);
		border-color: var(--blue) transparent transparent transparent;
	}

	.model_landmark_number img {
		width: 45%;
	}

	.model_landmark_headline {
		font-size: 3.2rem;
	}

	.model_landmark_headline span {
		font-size: 1.5rem;
		letter-spacing: 0em;
	}

	.copywrite {
		font-size: 1.2rem;
	}
}

/*------------------------------
TOPに戻る
------------------------------*/
.top_btn_link {
	display: block;
	text-align: center;
	padding: 45px;
	background-color: var(--blue);
}

@media screen and (max-width: 750px) {
	.top_btn_link {
		padding: 15px 25px;
	}

	.top_btn img {
		width: 33%;
		height: auto;
	}
}

/*------------------------------
装飾・デコレーション
------------------------------*/
.deco_wrap {
	position: relative;
}

.deco_01 {
	position: absolute;
	top: -60px;
	left: 0;
}

.deco_02 {
	position: absolute;
	bottom: -35px;
	left: 0;
}

.deco_03 {
	position: absolute;
	top: 40px;
	right: 50px;
}

.model_photo_01,
.model_photo_02,
.model_photo_03,
.model_photo_04 {
	position: absolute;
}

.model_photo_01:nth-of-type(1) {
	top: 0;
	right: -120px;
}

.model_photo_01:nth-of-type(2) {
	top: 300px;
	right: 0;
}

.model_thumbnail_01 {
	position: absolute;
	right: -15px;
	bottom: -130px;
}

.model_photo_02:nth-of-type(1) {
	top: -118px;
	left: -120px;
}

.model_photo_02:nth-of-type(2) {
	top: 220px;
	left: -58px;
}

.model_photo_03:nth-of-type(1) {
	top: -200px;
	right: -120px;
}

.model_photo_03:nth-of-type(2) {
	top: 260px;
	right: -120px;
}

.model_photo_04 {
	top: 120px;
	left: -58px;
}

.model_thumbnail_03 {
	position: absolute;
	top: 316px;
	right: 344px;
}

.deco-leaves {
	position: absolute;
}

.deco-leaves.--01 {
	top: 48px;
	right: 564px;
}

.deco-leaves.--02 {
	top: 425px;
	right: 28px;
}

.deco-leaves.--03 {
	top: 20px;
	right: 25px;
}

.deco-leaves.--04 {
	top: 66px;
	right: 395px;
}

.deco-leaves.--05 {
	top: 739px;
	left: -63px;
}

.deco-leaves.--06 {
	top: 18px;
	left: 364px;
}

.deco-leaves.--07 {
	top: 0;
	right: -70px;
}

.deco-leaves.--08 {
	right: -105px;
	bottom: -161px;
}

.deco-leaves.--09 {
	top: -12px;
	left: -63px;
}

.deco-leaves.--10 {
	top: 117px;
	left: 359px;
}

.deco-leaves.--11 {
	right: -26px;
	bottom: -130px;
}

@media screen and (max-width: 750px) {
	.deco_wrap {
		margin-right: -20px;
		margin-left: -20px;
	}

	.deco_01 {
		top: 1vw;
		left: 0;
	}

	.deco_02 {
		bottom: -30px;
	}

	.deco_03 {
		right: auto;
		width: 74%;
		left: -18px;
	}

	.model_photo_01:nth-of-type(1) {
		top: auto;
		right: 0;
		bottom: -192px;
		width: 70%;
		height: auto;
	}

	.model_photo_01:nth-of-type(2) {
		top: auto;
		right: auto;
		bottom: -320px;
		left: 0;
		width: 70%;
		height: auto;
	}

	.model_thumbnail_01 {
		right: -25px;
		bottom: -346px;
		width: 30%;
	}

	.model_photo_02:nth-of-type(1) {
		top: auto;
		left: 0;
		bottom: -230px;
		width: 70%;
		z-index: 1;
	}

	.model_photo_02:nth-of-type(2) {
		top: auto;
		right: 0;
		bottom: -360px;
		left: auto;
		width: 85%;
	}

	.model_photo_03:nth-of-type(1) {
		top: auto;
		right: auto;
		left: 0;
		width: 70%;
		bottom: -200px;
	}

	.model_photo_03:nth-of-type(2) {
		top: auto;
		right: 0;
		left: auto;
		width: 70%;
		bottom: -360px;
	}

	.model_photo_04 {
		top: auto;
		right: 0;
		bottom: -360px;
		left: auto;
		width: 85%;
	}

	.model_thumbnail_03 {
		top: 142px;
		right: 0;
		width: 30%;
	}

	.deco-leaves {
		position: absolute;
	}

	.deco-leaves.--01 {
		top: 51px;
		right: auto;
		left: 30px;
		width: 10%;
	}

	.deco-leaves.--02 {
		top: 450px;
		right: 43px;
		width: 10%;
	}

	.deco-leaves.--04 {
		top: 30px;
		right: -25px;
		width: 29%;
	}

	.deco-leaves.--05 {
		top: auto;
		left: -20px;
		bottom: -410px;
		width: 14%;
	}

	.deco-leaves.--06 {
		top: auto;
		left: auto;
		right: 0;
		bottom: -170px;
		width: 13%;
	}

	.deco-leaves.--07 {
		top: 43px;
		right: -14px;
		width: 9%;
	}

	.deco-leaves.--09 {
		top: -12px;
		left: -9px;
		width: 9%;
	}

	.deco-leaves.--10 {
		top: auto;
		left: auto;
		right: -15px;
		width: 20%;
		bottom: -131px;
	}
}