/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv .category {
	background: rgba(237, 0, 34, .7);
}
.kv .box .resume {
	background: var(--red);
}
.kv .box .resume::before {
	background: var(--red);
}
.kv .box .resume span::before,
.kv .box .resume span::after {
	background: var(--red);
}
@media print, screen and (min-width: 768px) {/* PC */
.kv .box.type02 {
	left: auto;
	right: calc(60 / 1500 * 100vw);
}
}/* @media */
/* -----------------------------------------------
= profile
----------------------------------------------- */
.profile .type {
	background: linear-gradient(90deg, #f13a54 80%, transparent);
}
/* -----------------------------------------------
= index
----------------------------------------------- */
@media (hover:hover) {
.index a:hover {
	color: var(--red);
}
}/* @media */
/* -----------------------------------------------
= side
----------------------------------------------- */
@media (hover:hover) {
.btn-side:hover {
	color: var(--red);
}
}/* @media */
/* -----------------------------------------------
= theme-wrap
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.theme-wrap {
	display: flex;
	gap: 0 50px;
	max-width: 1380px;
	margin: 0 auto 160px;
	padding: 0 60px;
}
.theme-wrap .img-set {
	width: calc(690 / 1380 * 100%);
}
.theme-wrap .img-set-inner {
	position: sticky;
	top: 200px;
	height: calc(100vh - 200px);
}
.theme-wrap .img-layer {
	position: relative;
	width: 100%;
	height: 100%;
}
.theme-wrap .img-set-inner .img {
	position: absolute;
	opacity: 0;
	transition: opacity .8s;
}
.theme-wrap .img-set-inner .img.is-active {
	opacity: 1;
}
.theme-wrap .theme-article {
	flex: 1;
}
}/* @media */
/* -----------------------------------------------
= theme
----------------------------------------------- */
.theme {
	padding: 0 12px 60px;
}
.theme .set {
	margin: 25px 0 0;
}
.theme .num {
	margin-bottom: 10px;
	padding: 2px 5px;
	color: #fff;
	background: linear-gradient(90deg, #ec3947, transparent);
	font-size: calc(1.2rem / 1.6);
	letter-spacing: .04em;
}
.theme .season {
	color: var(--red);
	padding-bottom: 3px;
	border-bottom: 1px solid #ff747e;
	font-family: var(--min);
	font-size: calc(2.2rem / 1.6);
	font-weight: 200;
	letter-spacing: .25em;
}
.theme h2 {
	display: flex;
	align-items: center;
	min-height: 3em;
	margin-bottom: 20px;
	padding-block : 8px;
	border-bottom: 1px solid #ff747e;
	font-family: var(--min);
	font-size: calc(1.8rem / 1.6);
	font-weight: 200;
	line-height: calc(24 / 18);
}
.theme .text {
	margin-bottom: 25px;
	font-size: calc(1.3rem / 1.6);
}
.theme#theme_01 .bg {
	height: 160px;
	margin-bottom: 25px;
	object-fit: cover;
}
.theme .msg {
	position: relative;
	margin-block: 25px;
}
.theme .msg > img {
	height: 210px;
	object-fit: cover;
	object-position: 50% 100%;
}
.theme .msg p img {
	position: absolute;
	top: 52%;
	right: 8px;
	width: 166px;
}
.theme#theme_04 {
	position: relative;
}
.theme#theme_04::before {
	content: "";
	position: absolute;
	top: calc(-210 / 375 * 100vw);
	left: 0;
	z-index: -1;
	width: 100%;
	height: calc(314 / 375 * 100vw);
}
@media print, screen and (min-width: 768px) {/* PC */
.theme {
	position: relative;
}
.theme .set {
	margin: 0;
}
.theme .num {
	padding: 2px 10px;
	font-size: calc(2rem / 1.6);
	letter-spacing: .06em;
}
.theme .season {
	padding-bottom: 3px;
	font-size: calc(4rem / 1.6);
}
.theme h2 {
	margin-bottom: 35px;
	font-size: calc(2.8rem / 1.6);
	line-height: calc(40 / 28);
}
.theme .text {
	margin-bottom: 0;
	padding-right: 10px;
	padding-bottom: 30px;
	font-size: calc(1.6rem / 1.6);
	line-height: calc(28 / 16);
	background: #fff;
}
.theme#theme_01 .set {
	margin-bottom: 300px;
}
.theme#theme_01 .bg {
	position: absolute;
	right: -50px;
	bottom: 160px;
	z-index: -1;
	width: min(700px, calc(700 / 1500 * 100vw));
	height: 500px;
}
.theme .msg {
	position: relative;
	z-index: -1;
	width: min(700px, calc(700 / 1500 * 100vw));
	margin: -200px -60px 25px 0;
}
.theme .msg > img {
	height: 540px;
}
.theme .msg p img {
	top: auto;
	right: 60px;
	bottom: 60px;
	width: 295px;
}
}/* @media */
/* -----------------------------------------------
= oneday
----------------------------------------------- */
.oneday {
	margin: 0 0 80px;
	padding: 80px 25px;
}
.oneday .inner {
	padding: 0 0 50px;
	background: #fff;
}
.oneday h2 {
	margin-bottom: 45px;
	color: var(--red);
	text-align: left;
}
.oneday h2 .en {
	padding: 3px;
	color: #fff;
	background: linear-gradient(90deg, #ec3947, transparent);
	font-family: var(--gothic);
	font-size: calc(1.2rem / 1.6);
	font-weight: 500;
}
.oneday h2 .jp {
	padding: 3px;
	border-bottom: 1px solid #ff747e;
	font-size: calc(2rem / 1.6);
	letter-spacing: .02em;
}
.oneday ol::before {
	top: 10px;
	left: 19px;
	width: 3px;
	height: calc(100% - 40px);
	background: #b3b3b3;
}
.oneday li {
	display: block;
	padding-inline: 40px 15px;
	font-size: calc(1.3rem / 1.6);
	line-height: calc(20 / 13);
}
.oneday li + li {
	margin-top: 30px;
}
.oneday li::before {
	top: 5px;
	left: 12px;
	width: 12px;
	height: 12px;
	background: var(--red);
	border: 3px solid #b3b3b3;
}
.oneday li .time {
	width: 56px;
	margin-bottom: 6px;
	text-align: left;
}
.oneday li h3 {
	margin-bottom: 8px;
	border-bottom: 1px dotted var(--red);
	font-size: calc(1.4rem / 1.6);
	font-weight: 700;
}
.oneday img {
	width: auto;
}
@media print, screen and (min-width: 768px) {/* PC */
.oneday {
	position: relative;
	z-index: 1;
	max-width: 1380px;
	margin: 0 auto 180px;
	padding: 170px 40px 198px;
}
.oneday .inner {
	display: block;
	max-width: 816px;
	padding: 0 0 50px;
}
.oneday h2 {
	margin-bottom: 60px;
}
.oneday h2 .en {
	margin-bottom: 0;
	padding: 5px 15px;
	font-size: calc(2rem / 1.6);
}
.oneday h2 .jp {
	padding: 5px 15px;
	font-size: calc(4rem / 1.6);
	letter-spacing: .1em;
}
.oneday ol {
	display: block;
}
.oneday ol::before {
	display: block;
	left: 68px;
}
.oneday li {
	display: flex;
	gap: 0 27px;
	min-width: 0;
	margin-bottom: 0;
	padding-inline: 94px 60px;
	font-size: calc(1.8rem / 1.6);
	text-align: left;
}
.oneday li + li {
	margin-top: 80px;
}
.oneday li::before {
	top: 3px;
	left: 58px;
	width: 16px;
	height: 16px;
	border-width: 4px;
}
.oneday li::after {
	display: none;
}
.oneday li .time {
	width: 84px;
}
.oneday li .set {
	flex: 1;
}
.oneday li h3 {
	margin-bottom: 15px;
	font-size: calc(2.2rem / 1.6);
	letter-spacing: .06em;
}
.oneday li .text {
	margin: 0;
	writing-mode: horizontal-tb;
}
.oneday img {
	position: static;
	width: auto;
}
}/* @media */
@media print, screen and (max-width: 1300px) and (min-width: 768px) {/* TABLET */
.oneday .inner {
	display: block;
}
}/* @media */
/* -----------------------------------------------
= img_last
----------------------------------------------- */
.img_last {
	height: 233px;
	margin-bottom: 80px;
	object-fit: cover;
}
@media print, screen and (min-width: 768px) {/* PC */
.img_last {
	height: auto;
	margin-bottom: 160px;
}
}/* @media */
