@charset "utf-8";

#mainBody {
	overflow:hidden;
}
.categoryBlock {
	padding: 0;
	background-color: transparent;
}
.categoryBlock .wrapper {
	margin-top: 0;
}

@media screen and (max-width:829px) {
	.toyou {
		font-size: calc(100 / 780 * 1vw);
	}
}
.toyou {
	--color-white: #fff;
	--color-black: #000;
	--color-gray: #4d4d4d;
	font-weight: 700;
	font-feature-settings: "palt";
}
.font_cal {
	font-family: "Cal Sans", sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
}
.inner {
	max-width: 1280px;
	margin-inline: auto;
}
.toyou img {
	width: 100%;
	height: auto;
}
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 0;
}
@media screen and (min-width:830px) {
	.inner {
		padding-inline: 65px;
	}
}
@media screen and (max-width:829px) {
	.inner {
		padding-inline: 40em;
	}
}
button {
	transition: color .2s ease;
	font-weight: 700;
	cursor: pointer;
	color: inherit;
}
button:active, button:hover {
    text-decoration: none;
    color: #eb0a1e !important;
}

/* 切り替え */
@media (min-width: 830px) {
    [data-disp-only]:not([data-disp-only~='pc']) {
        display: none !important;
    }
}
@media (max-width: 829px) {
    [data-disp-only]:not([data-disp-only~='sp']) {
        display: none !important;
    }
}

/* KV */
.kv_cont {
    position: relative;
}
.kv_img {
	background: url(images/kv_img.jpg) no-repeat center / cover;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
}
.kv_logo {
	width: 97.8%;
	height: auto;
}
.kv_img_list {
	position: absolute;
	top: 0;
	height: 100%;
}
.kv_img_list_l {
	left: 50%;
}
.kv_img_list_r {
	right: 50%;
}
.kv_img_list li {
	width: 100%;
	line-height: 0;
}
@media screen and (min-width:830px) {
	.kv {
		padding-bottom: 158px;
	}
	.kv_cont {
		padding-block: 0 286px;
	}
	.kv_img_wrap {
		padding-block: 64px;
	}
	.kv_img {
		width: 720px;
		height: 510px;
		margin-top: clamp(0px, calc((100vh - 800px) / 3), calc((1120px - 800px) / 3));
	}
	.kv_img_list {
		width: 440px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		padding-top: 16px;
	}
	.kv_img_list_l {
		margin-left: -860px;
	}
	.kv_img_list_l li:nth-child(odd) img,
	.kv_img_list_r li:nth-child(even) img {
		margin-left: auto;
		display: block;
	}
	.kv_img_list_r {
		margin-right: -860px;
	}
	.kv_img_list li > img {
		width: 180px;
	}
	.kv_article {
		margin-top: 22px;
	}
}
@media screen and (max-width:829px) {
	.kv {
		padding-block: 30em 192em;
	}
	.kv_cont {
		padding-block: 0;
	}
	.kv_img_wrap {
		padding-block: 336em;
		position: relative;
		z-index: 1;
	}
	.kv_img {
		width: 576em;
		height: 408em;
	}
	.kv_img_list {
		width: 408em;
	}
	.kv_img_list_l {
		margin-left: -432em;
	}
	.kv_img_list_r {
		margin-right: -432em;
	}
	.kv_img_list li {
		width: 180em;
		position: absolute;
	}
	.kv_img_list_l li:nth-child(1) {
		top: 0;
		right: 0;
	}
	.kv_img_list_l li:nth-child(2) {
		top: 75em;
		left: 0;
	}
	.kv_img_list_l li:nth-child(3) {
		top: 463em;
		left: 0;
	}
	.kv_img_list_l li:nth-child(4) {
		top: 851em;
		left: 0;
	}
	.kv_img_list_l li:nth-child(5) {
		top: 776em;
		right: 0;
	}
	.kv_img_list_r li:nth-child(1) {
		top: 100em;
		left: 0;
	}
	.kv_img_list_r li:nth-child(2) {
		top: 50em;
		right: 0;
	}
	.kv_img_list_r li:nth-child(3) {
		top: 421em;
		right: 0;
	}
	.kv_img_list_r li:nth-child(4) {
		top: 826em;
		right: 0;
	}
	.kv_img_list_r li:nth-child(5) {
		top: 876em;
		left: 0;
	}
	.kv_article {
		margin-top: 224em;
	}
}
/* kv animation */
.animation_ready .kv_logo {
	opacity: 0.5;
	transition: opacity 0.7s 0.4s;
}
.animation_ready.animation_loaded .kv_logo {
	opacity: 1;
}
.animation_ready .kv_img_list li {
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	transition: clip-path 0.7s cubic-bezier(0.25, 1, 0.5, 1) 0.4s;
}
.animation_ready.animation_loaded .kv_img_list li {
	clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 0%);
}

/* lead */
.lead_txt {
	text-align: center;
}
@media screen and (min-width:830px) {
	.lead {
		margin-top: 44px;
	}
	.lead_txt {
		font-size: 20px;
		line-height: calc(44/20);
	}
}
@media screen and (max-width:829px) {
	.lead {
		margin-top: 104em;
	}
	.lead_txt {
		font-size: 36em;
		line-height: calc(68/36);
	}
}
.animation_ready .lead_txt_block {
	opacity: 0;
	transition: opacity 1s cubic-bezier(0.32, 0, 0.67, 0);
}
.animation_ready.animation_loaded .lead_txt_block.is_active {
	opacity: 1;
}

/* article */
@media screen and (min-width:961px) {
	.article_list {
		--column-num: 3;
	}
	.article_list .article_block:nth-child(n + 4) {
		margin-top: 72px;
	}
}
@media screen and (max-width:960px) and (min-width:830px) {
	.article_list {
		--column-num: 2;
	}
	.article_list .article_block:nth-child(n + 3) {
		margin-top: 72px;
	}
}
.article_area {
	display: flex;
}
.article_area_ttl {
    font-weight: 700;
}
.article_area_thumb_txt {
    color: var(--color-white);
    background-color: #eb0a1e;
    display: block;
}
.article_area_thumb,
.article_thumb {
	width: 100%;
	padding-top: calc(180/320*100%);
	position: relative;
	overflow: hidden;
	display: block;
}
.article_area_thumb {
	background-color: var(--color-black);
}
.article_area_thumb::after,
.article_thumb::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	z-index: 2;
}
.article_thumb::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.2);
	z-index: 1;
}
.article_block[data-article="movie"] .article_area_thumb::after,
.article_block[data-article="movie"] .article_thumb::after {
	background: url(images/article_movie_icon.svg) no-repeat center / contain;
}
.article_block[data-article="article"] .article_area_thumb::after,
.article_block[data-article="article"] .article_thumb::after {
	background: url(images/article_icon.svg) no-repeat center / contain;
}
button.article_block {
	border: none;
	text-align: left;
	font-size: inherit;
	padding: 0;
	font: inherit;
}
.article_area_thumb img,
.article_thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.article_txt,
.article_detail_txt {
	display: block;
}
.article_detail_txt {
	font-weight: 400;
	color: var(--color-gray);
}
.article_area_txt a {
	text-decoration: underline;
}
.article_area_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 1px;
}
.article_area_btn::before {
	content: ">";
	line-height: 1;
}
.article_area_btn_size {
	line-height: 1;
}
@media screen and (min-width:830px) {
    .article_area {
        justify-content: space-between;
		align-items: flex-start;
    }
    .article_area_inner {
        width: calc(575/1150*100%);
    }
    .article_area_thumb_wrap {
        width: calc(448/1150*100%);
		flex-shrink: 1;
    }
    .article_area_ttl {
        font-size: 36px;
    }
    .article_area_txt {
        margin-top: 50px;
        font-size: 16px;
		line-height: calc(28/16);
    }
	.article_area_thumb::after {
		width: 48px;
		height: 48px;
	}
    .article_area_thumb_txt {
        padding: 6px 16px;
        font-size: 16px;
    }
	.article_list {
        margin-top: 80px;
		display: grid;
		grid-template-columns: repeat(var(--column-num), 1fr);
		grid-template-rows: auto auto 1fr;
		--gap-row: 94px;
		gap: 0 var(--gap-row);
	}
	.article_block {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		gap: 0;
	}
	.article_thumb::after {
		width: 24px;
		height: 24px;
	}
	.article_txt {
		margin-top: 8px;
	}
	.article_txt_size {
		font-size: 16px;
		line-height: calc(24/16);
	}
	.article_detail_txt {
		margin-top: 7px;
	}
	.article_detail_txt_size {
		font-size: 14px;
		line-height: calc(22/14);
	}
	.article_area_btn {
		width: 140px;
		height: 40px;
		gap: 4px;
		border: 2px solid var(--color-black);
		margin-top: 46px;
	}
	.article_area_btn::before {
		font-size: 16px;
	}
	.article_area_btn_size {
		font-size: 16px;
	}
}
@media screen and (max-width:829px) {
    .article_area {
        flex-direction: column-reverse;
        gap: 82em;
		padding-inline: 30em;
    }
    .article_area_inner {
        display: flex;
        flex-direction: column;
    }
    .article_area_ttl {
        font-size: 54em;
		line-height: 1;
    }
    .article_area_txt {
		margin-top: 48em;
    }
	.article_area_txt_size {
        font-size: 28em;
		line-height: calc(52/28);
	}
	.article_area_thumb::after {
		width: 72em;
		height: 72em;
	}
    .article_area_thumb_txt {
        padding: 12em 38em;
    }
	.article_area_thumb_txt_size {
        font-size: 32em;
		line-height: calc(48/32);
	}
	.article_list {
		display: flex;
        margin-top: 124em;
		flex-direction: column;
		gap: 64em;
		padding-inline: 30em;
	}
	.article_list li {
		width: 100%;
	}
	.article_thumb::after {
		width: 48em;
		height: 48em;
	}
	.article_txt {
		margin-top: 12em;
	}
	.article_txt_size {
		font-size: 32em;
		line-height: calc(48/32);
	}
	.article_detail_txt {
		margin-top: 14em;
	}
	.article_detail_txt_size {
		font-size: 26em;
		line-height: calc(40/26);
	}
	.article_area_btn {
		width: 245em;
		height: 70em;
		gap: 8em;
		border: 2em solid var(--color-black);
		margin-top: 20em;
	}
	.article_area_btn::before {
		font-size: 28em;
	}
	.article_area_btn_size {
		font-size: 28em;
	}
}
@media screen and (min-width:830px) {
    @media screen and (hover:hover) {
        .article_area_thumb_txt {
            transition: color 0.2s, background-color 0.2s;
			border-top: 1px solid transparent;
			border-bottom: 1px solid transparent;
        }
        .article_area_thumb_wrap:hover .article_area_thumb_txt {
            color: var(--color-white);
            background-color: var(--color-black);
			border-top-color: #868686;
        }
		.article_area_btn {
			transition: background-color 0.2s, color 0.2s;
		}
		.article_area_btn:hover {
			background-color: var(--color-black);
			color: var(--color-white) !important;
		}
        @media (prefers-color-scheme: dark) {
            .article_area_thumb_wrap:hover .article_area_thumb_txt {
                color: var(--color-black);
                background-color: var(--color-white);
            }
			.article_area_btn:hover {
				background-color: var(--color-white);
				color: var(--color-black) !important;
			}
        }
    }
}
@media (prefers-color-scheme: dark) {
	.article_detail_txt {
		color: var(--color-white);
	}
	.article_area_btn {
		border-color: var(--color-white);
	}
}

/* diary */
.diary_obi {
	width: 100%;
	display: flex;
	align-items: center;
}
.diary_obi .inner {
	width: 100%;
}
.diary_obi_txt {
	color: var(--color-white);
}
.diary_cont {
	display: flex;
	margin-inline: auto;
}
.diary_txt_area {
	position: relative;
	z-index: 1;
}
.diary_ttl {
	line-height: 1;
}
.diary_txt {
	background-color: var(--color-white);
	font-weight: 400;
}
.diary_img {
	line-height: 0;
}
@media screen and (min-width:830px) {
	.diary {
		padding-bottom: 160px;
	}
	.diary_obi {
		height: 60px;
		background: url(images/diary_obi.svg) no-repeat center / 100% 100%;
	}
	.diary_obi_txt {
		font-size: 20px;
	}
	.diary_cont {
		margin-top: 120px;
		max-width: 960px;
		padding-inline: 40px;
		align-items: center;
	}
	.diary_txt_area {
		flex-shrink: 0;
	}
	.diary_ttl_size {
		font-size: 72px;
	}
	.diary_txt {
		width: 504px;
		padding-right: 24px;
		margin-top: 34px;
	}
	.diary_txt_size {
		font-size: 16px;
		line-height: calc(28/16);
	}
	.diary_img {
		width: 100%;
		margin-left: -24px;
	}
	.diary_article {
		margin-top: 80px;
	}
}
@media screen and (max-width:829px) {
	.diary {
		padding-bottom: 124em;
	}
	.diary_obi {
		height: 120em;
		background: url(images/diary_obi_sp.svg) no-repeat center / 100% 100%;
	}
	.diary_obi_txt {
		font-size: 40em;
	}
	.diary_cont {
		margin-top: 97em;
		padding-inline: 40em;
		flex-direction: column;
	}
	.diary_txt_area {
		order: 1;
		margin-top: -50em;
	}
	.diary_ttl {
		background-color: var(--color-white);
		width: fit-content;
		padding-right: 18em;
	}
	.diary_ttl_size {
		font-size: 112em;
	}
	.diary_txt {
		margin-top: 48em;
	}
	.diary_txt_size {
		font-size: 28em;
		line-height: calc(52/28);
	}
	.diary_img {
		width: 600em;
		margin-left: auto;
	}
	.diary_article {
		margin-top: 108em;
	}
}
/* diary */
.animation_ready .diary_img {
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
	transition: clip-path 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
.animation_ready.animation_ready .diary_img.is_active {
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* youtube */

.youtube {
    position: relative;
    overflow: hidden;
    pointer-events: none;
}
.youtube.is_youtube_ready {
    pointer-events: auto;
    cursor: pointer;
}
.youtube_player {
	width: 100%;
}
@media screen and (min-width:830px) {
	.youtube_player {
		height: 450px;
	}
}
@media screen and (max-width:829px) {
	.youtube_player {
		height: 406em;
	}
}

/* ------------
     modal
------------ */
body.is_modal_show {
    overflow: hidden;
}
.modal_content {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    opacity: 0;
    transform: translateY(100%);
    background: rgba(0, 0, 0, 0.8);
    transition: opacity 0.3s 0s, transform 0s 0.3s;
}
.modal_content.is_modal_show {
    opacity: 1;
    transform: translateY(0%);
    transition: opacity 0.3s 0s, transform 0s 0s;
}
.modal_scroll {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    text-align: center;
    letter-spacing: -0.5em; /*inline-blockの隙間をなくす*/
}
.modal_scroll_inner {
    text-align: center;
    margin: auto;
    width: 100%;
    letter-spacing: normal; /* letter-spacing 戻す*/
    line-height: 1.5;
}
.modal_inner {
    position: relative;
    padding: 0; /* 内側の余白*/
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
}
.is_modal_show .modal_inner {
    opacity: 1;
}
@media (min-width: 830px) {
    .modal_scroll_inner {
        padding-block: 40px;
        max-width: 800px;
    }
}
@media (max-width: 829px) {
    .modal_scroll_inner {
        padding: 40em;
    }
}

/* centering */
.modal_scroll_inner,
.modal_scroll:after {
    display: inline-block;
    vertical-align: middle;
}
.modal_scroll:after {
    content: '';
    height: 100%;
}
/* close */
.modal_close {
    position: absolute;
	border: none;
	font-size: inherit;
	padding: 0;
}
.modal_close::before,
.modal_close::after {
	content: "";
	display: block;
	width: 100%;
	background-color: var(--color-white);
	position: absolute;
	inset: 0;
	margin: auto;
}
.modal_close::before {
	rotate: 45deg;
}
.modal_close::after {
	rotate: -45deg;
}
@media (min-width: 830px) {
	.modal_close {
		top: 118px;
		right: 16px;
		width: 60px;
		height: 60px;
	}
	.modal_close::before,
	.modal_close::after {
		height: 2px;
	}
}
@media (max-width: 829px) {
	.modal_close {
		top: 50%;
		right: 40em;
		width: 60em;
		height: 60em;
		translate: 0 -280em;
	}
	.modal_close::before,
	.modal_close::after {
		height: 1px;
	}
}
