@charset "UTF-8";
/*----------
	トップページ
----------*/
html {
	scroll-behavior: auto !important;
}

.l-content {
	padding-bottom: 0 !important;
}

@media (width >= 768px), print {
	.l-content,
	.l-mainfooter {
		min-width: 100%;
	}
	.l-mainheader {
		z-index: -1000;
	}
	.l-mainheader.is-fixed {
		z-index: var(--z-header);
	}
}
@media (width < 768px) {
	.l-mainheader {
		background: transparent;
		border-bottom: 0;
	}
	.l-mainheader__inner {
		height: 6rem;
	}
	.l-mainheader__logo {
		display: none;
	}
	.l-mainheader__navtoggle {
		width: 6rem;
		height: 6rem;
	}
	.l-mainheader__navtoggle-inner {
		width: 2rem;
	}
	.l-mainheader__nav {
		top: 6rem;
		z-index: 100;
	}
	.l-mainheader.is-fixed .l-mainheader__logo {
		display: block;
	}
	.l-mainheader.is-open {
		background: #fff;
		border-bottom: 1px solid var(--color-border);
	}
	.l-mainheader.is-open .l-mainheader__logo {
		display: block;
	}
	.l-mainnav__cattop > a span::before {
		top: 0.8rem;
		width: 1.2rem;
		height: 0.8rem;
	}
	.l-mainnav .is-hierarchical .l-mainnav__cattop > a span::before {
		top: 0.5rem;
		width: 1.6rem;
		height: 1.6rem;
	}
	.l-megamenu__item > a {
		padding-left: 2.5rem;
	}
	.l-megamenu__item > a::before {
		width: 1.6rem;
	}
	.l-megamenu__item > a::after {
		width: 0.8rem;
		left: 0.4rem;
	}
	.l-megamenu__bnr-link {
		padding-left: 2.5rem;
	}
	.l-megamenu__bnr-link::before {
		width: 1.6rem;
	}
	.l-megamenu__bnr-link::after {
		width: 0.8rem;
		left: 0.4rem;
	}
}
/*-----------
	animation
----------*/
/* ローディング */
@keyframes loadAnime {
	50%, 100% {
		background-position: 100% 100%, 50% 0, 0 100%;
	}
}
/* swiper スライドタイマー */
@keyframes moveRight {
	0% {
		width: 0.9rem;
	}
	18% {
		width: 0.9rem;
	}
	100% {
		width: 2.8rem;
	}
}
/*-----------
	.loading
----------*/
.loading {
	display: grid;
	place-content: center;
	position: fixed;
	background-color: #fff;
	width: 100%;
	height: 100vh;
	height: 100lvh;
	z-index: var(--z-max);
	opacity: 1;
	transition: var(--t-display);
}
.loading.is-hide {
	display: none;
	opacity: 0;
}
@starting-style {
	.loading.is-hide {
		opacity: 0;
	}
}
.loading .loader {
	width: 40px;
	aspect-ratio: 1.154;
	/*  オレンジ */
	--dot1: no-repeat radial-gradient(farthest-side, #EC6C00 90%, #0000);
	/* イエロー */
	--dot2: no-repeat radial-gradient(farthest-side, #F9BE00 90%, #0000);
	/* ブルー */
	--dot3: no-repeat radial-gradient(farthest-side, #0068B6 90%, #0000);
	background: var(--dot1) 50% 0, var(--dot2) 0 100%, var(--dot3) 100% 100%;
	background-size: 35% 40.39%;
	animation: loadAnime 1s infinite;
}

/*-----------
	top-news
----------*/
.top-news__title {
	margin-bottom: 4rem;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
}
.top-news__title span {
	display: block;
	margin-top: 0.6rem;
	font-family: var(--font-zalando);
	font-weight: 700;
	font-size: 4rem;
	letter-spacing: 0;
}
.top-news__button {
	margin-top: 4rem;
}
.top-news__button a {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	color: #222;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}
.top-news__button a span {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.top-news__button a span::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1.2rem;
	right: 1rem;
	width: 1.2rem;
	height: 0.8rem;
	background-color: #fff;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-1);
}
.top-news__button a span::after {
	content: "";
	display: inline-block;
	width: 3.2rem;
	margin-left: 1.6rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: #222;
}
@media (width >= 768px), print {
	.top-news__title {
		white-space: nowrap;
	}
	.top-news__button {
		margin-top: 6rem;
	}
	.top-news__button a {
		justify-content: flex-start;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.top-news__button a {
		transition: var(--t-color);
	}
	.top-news__button a span::after {
		transition: var(--t-bgColor);
	}
	.top-news__button a:hover {
		color: var(--color-prim-light-hover);
	}
	.top-news__button a:hover span::after {
		background: var(--color-prim-light-hover);
	}
}
.top-news .c-news > a {
	display: block;
	color: var(--color-txt);
}
.top-news .c-news > a .c-news__headline::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1rem;
	right: 0;
	width: 1.2rem;
	height: 0.8rem;
	margin-left: 1.6rem;
	border-radius: 100%;
	background-color: var(--color-txt);
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.top-news .c-news > a[target=_blank] :is(.c-news__title, .c-news__icon) {
	display: inline;
}
.top-news .c-news > a[target=_blank] .c-news__icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: middle;
}
.top-news .c-news > a[target=_blank] .c-news__headline::after {
	display: none;
}
.top-news .c-news > a[target=_blank][href$=".pdf"] .c-news__icon {
	fill: #c6152d;
}
.top-news .c-news__inner {
	padding-block: 1.6rem;
	color: var(--color-txt);
}
.top-news .c-news__detail {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
}
.top-news .c-news__date {
	grid-column: 1;
	grid-row: 1;
	color: var(--color-prim);
	font-weight: 500;
	line-height: 1;
	vertical-align: middle;
}
.top-news .c-news__tag {
	position: relative;
	grid-column: 2;
	grid-row: 1;
	width: auto;
	min-width: auto;
	margin-left: 1rem;
	color: var(--color-prim);
	font-weight: 500;
	line-height: 1;
}
.top-news .c-news__headline {
	position: relative;
	grid-column: 1/3;
	grid-row: 2;
	font-size: 1.6rem;
	margin-top: 1.4rem;
	padding-right: 3.6rem;
	overflow-wrap: anywhere;
}
.top-news .c-news__headline:has(svg) {
	padding-right: 0;
}
@media (width >= 768px), print {
	.top-news .c-news--half .c-news__inner {
		padding-block: 2rem;
	}
	.top-news .c-news--half .c-news__detail {
		display: flex;
		flex-wrap: wrap;
	}
	.top-news .c-news--half .c-news__date {
		flex: 0 0 auto;
		grid-column: 1/2;
		grid-row: 1/2;
	}
	.top-news .c-news--half .c-news__tag {
		flex: 0 0 auto;
	}
	.top-news .c-news--half .c-news__tag::after {
		display: none;
	}
	.top-news .c-news--half .c-news__headline {
		flex: 0 0 100%;
		margin-top: 1.6rem;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.top-news .c-news > a:hover .c-news__headline::after {
		background-color: var(--color-txt-link-hover);
	}
}
.top-news .c-tag > a,
.top-news .c-tag > span {
	display: inline-block;
	min-width: 12.6rem;
	height: 2.3rem;
	padding-inline: 0.5rem;
	line-height: 2.2rem;
}

/*-----------
	.un-category-title
----------*/
.un-category-title-en {
	position: absolute;
	top: 0;
	left: 0;
	margin-block: 0 -0.15em;
	color: #fff;
	font-family: var(--font-zalando);
	font-size: 7rem;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	line-height: 1;
}
.un-category-title-ja {
	color: #fff;
	font-size: 3.3rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-block: calc((1em - 1lh) / 2);
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}
@media (width >= 768px), print {
	.un-category-title-en {
		font-size: 13rem;
	}
	.un-category-title-ja {
		font-size: 4.1rem;
	}
}

/*-----------
	.un-linklist
----------*/
.un-linklist-item + .un-linklist-item > a {
	padding-top: 1.3rem;
}
.un-linklist-item > a {
	display: block;
	position: relative;
	width: 100%;
	padding-bottom: 1.4rem;
	color: #222;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 2;
	z-index: var(--z-1);
}
.un-linklist-item > a::before, .un-linklist-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.3rem;
	height: 1px;
	background-color: #222;
}
.un-linklist-item > a::before {
	width: 0;
	transition: var(--t-width);
}
.un-linklist-item > a::after {
	width: 100%;
}
.un-linklist-item > a > span {
	display: block;
	position: relative;
	padding-right: 3.5rem;
}
.un-linklist-item > a > span::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 0.9rem;
	position: absolute;
	top: 0.8em;
	right: 1.5rem;
	background-color: #222;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.un-linklist--wh .un-linklist-item > a {
	color: #fff;
}
.un-linklist--wh .un-linklist-item > a::before, .un-linklist--wh .un-linklist-item > a::after,
.un-linklist--wh .un-linklist-item > a > span::after {
	background-color: #fff;
}
@media (width >= 768px), print {
	.un-linklist-item + .un-linklist-item > a {
		padding-top: 2.3rem;
	}
	.un-linklist-item > a {
		padding-bottom: 2.3rem;
		font-size: 1.8rem;
		line-height: 1.77;
	}
	.un-linklist-item > a span::after {
		top: 0.6em;
		right: 1rem;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.un-linklist-item a:hover::before {
		width: 100%;
	}
	.un-linklist-item a:hover::after {
		width: 0;
	}
}

/*-----------
	top-header
----------*/
.top-header {
	position: relative;
	width: 100%;
	z-index: var(--z-1);
}
.top-header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30rem;
	aspect-ratio: 300/110;
	clip-path: polygon(0 0, 100% 0, 0 100%);
	background: #fff;
	color: #0068B6;
	z-index: var(--z-1);
}
.top-header::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 10.3rem;
	aspect-ratio: 103/117;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	background: #F9BE00;
	color: #0068B6;
}
.top-header__logo {
	position: absolute;
	top: 1.5rem;
	left: 2rem;
	width: 12rem;
	z-index: var(--z-1);
}
:is(.top-header__language) {
	display: none;
}
.top-header__navtoggle {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	z-index: var(--z-headertoggle);
}
.top-header__navtoggle-inner {
	position: relative;
	display: block;
	width: 20px;
	height: 1px;
	margin: 0 auto;
}
:is(.top-header__navtoggle-bartop, .top-header__navtoggle-barmiddle, .top-header__navtoggle-barbottom) {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color-txt);
	transition: all 0.15s linear;
}
.top-header__navtoggle-bartop {
	transform: translateY(-6px) rotate(0deg);
}
.top-header__navtoggle-barbottom {
	transform: translateY(6px) rotate(0deg);
}
.top-header__navtoggle.is-open .top-header__navtoggle-bartop {
	opacity: 0;
}
.top-header__navtoggle.is-open .top-header__navtoggle-barmiddle {
	transform: translateY(0) rotate(45deg);
}
.top-header__navtoggle.is-open .top-header__navtoggle-barbottom {
	transform: translateY(0) rotate(-45deg);
}
@media (width >= 768px), print {
	.top-header::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 53rem;
		aspect-ratio: 530/194;
		background: #fff;
		color: #0068B6;
	}
	.top-header::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 24.4rem;
		aspect-ratio: 244/288;
		background: #F9BE00;
		color: #0068B6;
	}
	.top-header__logo {
		top: 3rem;
		left: 4rem;
		width: 20.5rem;
	}
	.top-header__navtoggle {
		display: none;
	}
	:is(.top-header__language, .top-header__mainnavs) {
		display: block;
	}
	.top-header__mainnavs {
		position: absolute;
		top: 20rem;
		left: 6rem;
		z-index: var(--z-1);
	}
	.top-header__language {
		position: absolute;
		top: 3.3rem;
		right: 4rem;
		z-index: var(--z-1);
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.top-header__logo a img {
		transition: var(--t-opacity);
	}
	.top-header__logo a:hover img {
		opacity: 0.7;
	}
}

/*-----------
	mainvis
----------*/
.mainvis {
	position: relative;
	width: 100%;
	z-index: var(--z-base);
}
.mainvis__catch {
	position: absolute;
	top: 39.2rem;
	left: 3.3rem;
	color: #fff;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-shadow: 0 0 20px rgba(35, 72, 132, 0.5);
	text-wrap: wrap;
	z-index: var(--z-1);
}
.mainvis__image {
	position: relative;
	width: 100%;
	background-color: #000;
	aspect-ratio: 1128/2076;
	overflow: visible;
}
.mainvis__image img {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mainvis .swiper-pause {
	display: block;
	position: absolute;
	top: 48.8rem;
	right: 2rem;
	width: 2.6rem;
	height: 2.6rem;
	cursor: pointer;
	background-color: #fff;
	mask-image: var(--icon-stop);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-2);
}
.mainvis .swiper-pause.is-paused {
	background-color: #fff;
	mask-image: var(--icon-play);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
@media (width >= 768px), print {
	.mainvis__catch {
		position: absolute;
		top: 36.8rem;
		left: 30rem;
		color: #fff;
		font-size: min(6vw, 8rem);
		font-weight: 700;
		line-height: 1.25;
		letter-spacing: 0.06em;
		text-shadow: 0 0 20px rgba(35, 72, 132, 0.5);
		z-index: var(--z-2);
	}
	.mainvis__image {
		position: relative;
		width: 100%;
		height: 83.2rem;
		aspect-ratio: 1440/832;
	}
	.mainvis__image::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		inset: 0;
		margin: auto;
		background: linear-gradient(320deg, rgba(0, 59, 154, 0) 0%, rgba(0, 45, 129, 0.1) 65%, rgba(0, 45, 129, 0.7) 100%);
		z-index: var(--z-2);
	}
	.mainvis .swiper-pause {
		top: 68.4rem;
		right: auto;
		left: 27.5rem;
	}
}

/*-----------
	top-nav
----------*/
.top-nav + .top-nav {
	margin-top: 5rem;
}
.top-nav__item {
	margin-block: calc((1em - 1lh) / 2);
}
.top-nav__item:not(:first-child) {
	margin-top: 1.5rem;
}
.top-nav__item a {
	position: relative;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
}
@media (width >= 768px) and (any-hover: hover) {
	.top-nav__item a::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -0.3rem;
		width: 0;
		height: 1px;
		background-color: #fff;
		transition: width 0.3s ease;
	}
	.top-nav__item a:hover::after {
		width: 100%;
	}
}

/*-----------
	top-nav-language
----------*/
.top-language {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 1.2rem;
}
.top-language::before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	margin-right: 8px;
	margin-right: 0.8rem;
	background-image: var(--icon-global);
	background-size: cover;
}
.top-language__item {
	position: relative;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.3em;
	line-height: 1;
}
.top-language__item:not(:first-child) {
	margin-left: 10px;
	padding-left: 10px;
	border-left: 1px solid #222;
}
.top-language__item:has(a) {
	text-decoration: none;
}
.top-language__item a {
	color: inherit;
}
@media (width >= 768px) and (any-hover: hover) {
	.top-language__item a:hover {
		text-decoration: underline;
		text-underline-offset: 0.3em;
	}
}

/*-----------
	hero-lower
----------*/
.hero-lower {
	position: relative;
	z-index: var(--z-1);
}
.hero-lower::before {
	content: "";
	position: absolute;
	top: -39.8rem;
	left: -15.3rem;
	width: 89.1rem;
	height: 75.6rem;
	aspect-ratio: 89.1/75.6;
	clip-path: polygon(100% 0, 0 87%, 81% 100%);
	rotate: 25deg;
	background: linear-gradient(90deg, rgb(0, 124, 217) 0%, rgb(0, 104, 182) 46%, rgb(0, 67, 162) 100%);
}
.hero-lower::after {
	content: "";
	position: absolute;
	top: 19rem;
	left: 0;
	width: 77.8rem;
	height: 54.3rem;
	aspect-ratio: 77.8/54.3;
	clip-path: polygon(0 0, 100% 0, 100% 61%, 0% 100%);
	background: linear-gradient(180deg, rgb(236, 108, 0) 0%, rgb(236, 108, 0) 20%, rgb(249, 190, 1) 65%, rgb(255, 246, 217) 90%, rgba(255, 255, 255, 0.4) 100%);
	z-index: var(--z-back);
}
@media (width < 768px) {
	.hero-lower {
		padding-top: 15rem;
		margin-bottom: 8rem;
	}
}
@media (width >= 768px), print {
	.hero-lower {
		padding-top: 15.6rem;
		margin-bottom: 20.5rem;
	}
	.hero-lower::before {
		top: -106rem;
		left: 18rem;
		width: 213rem;
		height: 180.7rem;
		aspect-ratio: 2130/1807;
	}
	.hero-lower::after {
		top: 0;
		left: 0;
		width: 146.1rem;
		height: 102.1rem;
		aspect-ratio: 1461/1021;
		clip-path: polygon(0 0, 100% 0, 100% 61%, 0% 100%);
		background: linear-gradient(180deg, rgb(236, 108, 0) 0%, rgb(236, 108, 0) 20%, rgb(249, 190, 1) 65%, rgb(255, 246, 217) 90%, rgba(255, 255, 255, 0.4) 100%);
		z-index: var(--z-back);
	}
}

/*-----------
	lead
----------*/
.hero-lead {
	position: relative;
	margin-bottom: 3.2rem;
	color: #fff;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.6;
	z-index: var(--z-1);
}
@media (width >= 768px), print {
	.hero-lead {
		padding-inline: 8rem;
		margin-bottom: 9rem;
		font-size: clamp(1.2rem, 3vw, 3.8rem);
		letter-spacing: 0.07em;
	}
}

/*-----------
	topics
----------*/
.wrap-topics {
	position: absolute;
	top: -15rem;
	right: 0;
	z-index: var(--z-1);
}

.topics {
	display: flex;
	flex-direction: column;
	color: #fff;
	padding-right: 3rem;
	padding-bottom: 3rem;
	border-bottom: 1px solid #fff;
	display: none;
}
@media (width < 768px) {
	.topics {
		min-height: 28rem;
	}
}
.topics.is-show {
	display: flex;
}
.topics__num {
	font-family: var(--font-barlow);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1;
}
.topics__num span {
	padding-right: 6px;
	font-family: var(--font-audiowide);
	font-size: 10rem;
	font-weight: 400;
	letter-spacing: -0.02em;
}
.topics__title {
	margin-block: calc((1em - 1lh) / 2);
	font-family: var(--font-zalando);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}
.topics__lead {
	margin-top: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: var(--line-height-m);
}
.topics__button {
	margin-top: 2rem;
}
.topics__button a {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}
.topics__button a span {
	display: inline-flex;
	align-items: center;
	position: relative;
}
.topics__button a span::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1.2rem;
	right: 1rem;
	width: 1.2rem;
	height: 0.8rem;
	background-color: #222;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-1);
}
.topics__button a span::after {
	content: "";
	display: inline-block;
	width: 3.2rem;
	margin-left: 1.6rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: #fff;
}
@media (width >= 768px) and (any-hover: hover) {
	.topics__button a span::before, .topics__button a span::after {
		transition: var(--t-bgColor);
	}
	.topics__button a:hover span::before {
		background-color: #fff;
	}
	.topics__button a:hover span::after {
		background-color: #222;
	}
}
@media (width >= 768px), print {
	.topics {
		flex-direction: row;
		padding-right: 6rem;
		padding-bottom: 1.8rem;
	}
	.topics__num {
		font-size: 3.2rem;
		text-align: right;
	}
	.topics__num span {
		display: block;
		padding-right: 0;
		margin-bottom: -1.5rem;
		font-size: 15rem;
		text-align: left;
	}
	.topics__detail {
		margin-top: 2.4rem;
		margin-left: 3.5rem;
	}
	.topics__title {
		font-size: 2.4rem;
	}
	.topics__lead {
		margin-top: 1.5rem;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: var(--line-height-m);
	}
}

/*-----------
	pickup
----------*/
.pickup {
	position: relative;
}
@media (width < 768px) {
	.pickup {
		min-height: 46rem;
	}
}
.pickup__title {
	margin-block: calc((1em - 1lh) / 2);
	color: #fff;
	font-family: var(--font-zalando);
	font-size: 4rem;
	font-weight: 700;
	text-align: right;
	z-index: var(--z-1);
}
.pickup__tag {
	height: 3.3rem;
	margin-top: -3.3rem;
}
.pickup__tag > span {
	display: inline-block;
	width: auto;
	height: 100%;
	padding-inline: 1.3rem;
	background-color: #000;
	color: #fff;
	font-family: var(--font-barlow);
	font-weight: 700;
	font-size: 1.6rem;
	text-align: center;
	line-height: 3.3rem;
}
.pickup__text {
	padding: 2rem;
	background-color: #fff;
	color: #222;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.7;
}
.pickup__usability {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.2rem;
	margin-top: 3rem;
}
.pickup__slide {
	width: 31.5rem;
}
.pickup__slide-inner {
	display: block;
}
.pickup__image {
	position: relative;
	width: 31.5rem;
	aspect-ratio: 315/225;
}
.pickup__image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pickup__detail {
	position: relative;
	z-index: var(--z-1);
}
.pickup .swiper {
	overflow: visible;
}
.pickup .swiper-pagination {
	position: static;
	width: auto;
	line-height: 1;
	cursor: pointer;
}
.pickup .swiper-pagination-bullet {
	width: 0.9rem;
	height: 0.9rem;
	background-color: #CCC;
	margin: 0 0.5rem;
	opacity: 1;
	transition: var(--t-bgColor);
}
.pickup .swiper-pagination-bullet-active {
	background-color: #666;
}
.pickup .swiper-pagination-bullet.swiper-pagination-bullet-active {
	position: relative;
	width: 2.8rem;
	height: 0.9rem;
	border-radius: 100vmax;
	background-color: #CCC;
}
.pickup .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 8rem;
	height: 0.9rem;
	background-color: #666;
	border-radius: 100vmax;
	transform-origin: top left;
	animation: moveRight 4.5s linear forwards;
	z-index: var(--z-1);
}
.pickup .swiper-pagination-bullet.swiper-pagination-bullet-active.is-running::before {
	animation-play-state: running;
}
.pickup .swiper-pagination-bullet.swiper-pagination-bullet-active.is-paused::before {
	animation-play-state: paused;
}
.pickup :is(.swiper-button-prev, .swiper-button-next) {
	display: block;
	position: static;
	width: 1.7rem;
	height: 3.2rem;
	margin-top: 0;
	cursor: pointer;
	color: #666;
}
.pickup :is(.swiper-button-prev, .swiper-button-next)::after {
	font-size: 3.2rem;
}
.pickup .swiper-button-prev {
	margin-right: 4rem;
}
.pickup .swiper-button-next {
	margin-left: 4rem;
}
.pickup .swiper-pause {
	display: block;
	position: relative;
	width: 2.6rem;
	height: 2.6rem;
	margin-left: 2.2rem;
	line-height: 1;
	cursor: pointer;
	background-color: #666;
	mask-image: var(--icon-stop);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.pickup .swiper-pause.is-paused {
	background-color: #666;
	mask-image: var(--icon-play);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.pickup .disabled-swiper {
	max-width: 124rem;
	padding: 0 2rem;
	margin-inline: auto;
}
.pickup .disabled-swiper .swiper-usability {
	display: none;
}
@media (width >= 768px), print {
	.pickup__title {
		position: absolute;
		top: 8rem;
		left: 50%;
		transform: translateX(32rem);
		font-size: 6rem;
	}
	.pickup__contents {
		overflow: visible;
	}
	.pickup__slide {
		width: 110rem;
	}
	.pickup__slide-inner {
		display: flex;
		transform: translateX(2.5rem);
	}
	.pickup__image {
		position: relative;
		width: 64rem;
		height: 45.8rem;
	}
	.pickup__image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.pickup__detail {
		width: 49rem;
		padding-top: 14rem;
		margin-left: -2.5rem;
		z-index: var(--z-1);
	}
	.pickup__text {
		padding: 3rem 3.5rem;
		font-size: 1.8rem;
		letter-spacing: 0.02em;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.pickup__slide-inner .pickup__image {
		overflow: hidden;
	}
	.pickup__slide-inner .pickup__image img {
		transition: var(--t-scale);
	}
	.pickup__slide-inner:hover .pickup__image img {
		scale: 1.08;
	}
	.pickup :is(.swiper-button-prev, .swiper-button-next) {
		transition: var(--t-scale);
	}
	.pickup :is(.swiper-button-prev, .swiper-button-next):hover {
		scale: 1.2;
	}
}

/*-----------
	information
----------*/
@media (width < 768px) {
	.information-grid__item + .information-grid__item {
		margin-top: 7rem;
	}
}
@media (width >= 768px), print {
	.information-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 12rem;
	}
}

/*-----------
	business
----------*/
.business {
	position: relative;
	width: 100%;
	height: 100%;
	padding-block: 8rem 0;
	margin-top: 8rem;
	overflow: hidden;
}
.business::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	aspect-ratio: 1440/1213;
	background: url(/assets_renew/images/top/bg_bussiness.webp) no-repeat 0 0/1440px auto;
}
.business .un-category-title-ja {
	font-size: 3.3rem;
}
.business__inner {
	position: relative;
	z-index: var(--z-1);
}
.business__detail {
	margin-inline: 7rem 2rem;
}
.business__list {
	margin-top: 4.6rem;
}
.business__list-heding {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 3rem;
	font-weight: 600;
	font-size: 2.1rem;
	line-height: 1.3;
}
.business__list-title {
	flex: 1 1 auto;
}
.business__list-title span {
	display: block;
	margin-top: 5px;
	font-family: var(--font-barlow);
	font-weight: 700;
}
.business__list-icon {
	flex: 0 0 6.6rem;
	display: block;
	width: 6.6rem;
	height: 6.2rem;
	text-align: center;
}
.business__list-inner {
	display: block;
	color: #fff;
}
.business__list-text {
	margin-top: 3.7rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.68;
}
.business__list-button {
	margin-top: 20px;
}
.business__list-button span {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 500;
}
.business__list-button span::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1.2rem;
	right: 1rem;
	width: 1.2rem;
	height: 0.8rem;
	background-color: #222;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-1);
}
.business__list-button span::after {
	content: "";
	display: inline-block;
	width: 3.2rem;
	margin-left: 1.6rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: #fff;
}
.business__usability {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 3.2rem;
	margin-top: 5rem;
}
.business .swiper {
	overflow: visible;
}
.business .swiper-pagination {
	position: static;
	width: auto;
	line-height: 1;
	cursor: pointer;
}
.business .swiper-pagination-bullet {
	width: 0.9rem;
	height: 0.9rem;
	background-color: rgba(255, 255, 255, 0.3);
	margin: 0 0.5rem;
	opacity: 1;
	transition: var(--t-bgColor);
}
.business .swiper-pagination-bullet.swiper-pagination-bullet-active {
	position: relative;
	width: 2.8rem;
	height: 0.9rem;
	border-radius: 100vmax;
}
.business .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 2.8rem;
	height: 0.9rem;
	background-color: #fff;
	border-radius: 100vmax;
	transform-origin: top left;
	animation: moveRight 4.5s linear forwards;
	z-index: var(--z-1);
}
.business .swiper-pagination-bullet.swiper-pagination-bullet-active.is-running::before {
	animation-play-state: running;
}
.business .swiper-pagination-bullet.swiper-pagination-bullet-active.is-paused::before {
	animation-play-state: paused;
}
.business :is(.swiper-button-prev, .swiper-button-next) {
	display: block;
	position: static;
	width: 1.7rem;
	height: 3.2rem;
	margin-top: 0;
	cursor: pointer;
	color: #fff;
}
.business :is(.swiper-button-prev, .swiper-button-next)::after {
	font-size: 3.2rem;
}
.business .swiper-button-prev {
	margin-right: 4rem;
}
.business .swiper-button-next {
	margin-left: 4rem;
}
.business .swiper-pause {
	display: block;
	position: relative;
	width: 2.6rem;
	height: 2.6rem;
	margin-left: 2.2rem;
	line-height: 1;
	cursor: pointer;
	background-color: #fff;
	mask-image: var(--icon-stop);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.business .swiper-pause.is-paused {
	background-color: #fff;
	mask-image: var(--icon-play);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.business__service {
	margin-top: 4rem;
	transform: translateX(1rem);
}
.business__card {
	padding-inline: 2rem;
	margin-top: 4rem;
}
.business__card-inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	aspect-ratio: 335/200;
	padding: 2.5rem 3rem;
	color: #fff;
	overflow: hidden;
}
.business__card-inner::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 64%;
	background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.6;
	z-index: var(--z-1);
}
.business__card-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	object-fit: cover;
}
.business__card-text {
	position: relative;
	width: 100%;
	padding-right: 2rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid #fff;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.4;
	z-index: var(--z-1);
}
.business__card-text::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 0.9rem;
	position: absolute;
	top: 0.5em;
	right: 0;
	background-color: #fff;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
@media (width >= 768px), print {
	.business {
		padding-block: 15.2rem 0;
	}
	.business::after {
		min-width: 100%;
		aspect-ratio: 1440/2540;
		background: url(/assets_renew/images/top/bg_bussiness.webp) no-repeat 0 0/100% auto;
	}
	.business__upper {
		display: flex;
	}
	.business__detail {
		width: 50.4rem;
		margin-inline: 16.6rem 0;
	}
	.business__list {
		margin-top: 8.9rem;
	}
	.business__list-inner {
		display: grid;
		grid-template-columns: auto 36.5rem;
		grid-template-rows: auto auto;
	}
	.business__list-heding {
		display: block;
		grid-column: 1/2;
		grid-row: 1/2;
	}
	.business__list-title {
		display: block;
		margin-top: 2rem;
	}
	.business__list-icon {
		width: 6.9rem;
		height: 6.9rem;
	}
	.business__list-text {
		grid-column: 2/3;
		grid-row: 1/2;
		margin-top: 0;
		margin-left: 5rem;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.68;
	}
	.business__list-button {
		grid-column: 2/3;
		grid-row: 2/3;
		margin-top: 2rem;
		margin-left: 5rem;
	}
	.business__usability {
		margin-top: 6.5rem;
	}
	.business__service {
		display: block;
		width: 78rem;
		margin-top: 0;
	}
	.business__card {
		display: flex;
		justify-content: center;
		padding-inline: 12rem;
		margin-top: 25.6rem;
	}
	.business__card-item {
		flex: 1 1 32rem;
	}
	.business__card-item:nth-child(1) {
		margin-top: -16rem;
	}
	.business__card-item:nth-child(2) {
		margin-top: -8rem;
	}
	.business__card-inner {
		aspect-ratio: 400/500;
		padding: 4rem;
	}
	.business__card-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		margin: auto;
		object-fit: cover;
	}
	.business__card-text {
		position: relative;
		width: 100%;
		padding-right: 2rem;
		padding-bottom: 2rem;
		border-bottom: 1px solid #fff;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 1.4;
		z-index: var(--z-1);
	}
	.business__card-text::after {
		content: "";
		display: inline-block;
		width: 1.2rem;
		height: 0.9rem;
		position: absolute;
		top: 0.5em;
		right: 0;
		background-color: #fff;
		mask-image: var(--icon-arrow-right);
		mask-position: center;
		mask-repeat: no-repeat;
		mask-size: contain;
		transition: var(--t-bgColor);
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.business__list-button span::before, .business__list-button span::after {
		transition: var(--t-bgColor);
	}
	.business__list-inner:hover .business__list-button span::before {
		background-color: #fff;
	}
	.business__list-inner:hover .business__list-button span::after {
		background: #222;
	}
	.business__card-image {
		transition: var(--t-scale);
	}
	.business__card-inner:hover .business__card-image {
		scale: 1.08;
	}
	.business :is(.swiper-button-prev, .swiper-button-next) {
		transition: var(--t-scale);
	}
	.business :is(.swiper-button-prev, .swiper-button-next):hover {
		scale: 1.2;
	}
	.business :is(.swiper-pagination-bullet, .swiper-pause) {
		transition: var(--t-opacity);
	}
	.business :is(.swiper-pagination-bullet, .swiper-pause):hover {
		opacity: 0.7;
	}
}

/*-----------
	IR
----------*/
.ir {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	padding-top: 12.6rem;
	z-index: var(--z-1);
}
.ir::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	aspect-ratio: 750/2601;
	background: url(/assets_renew/images/top/bg_ir.webp) no-repeat 0 0/cover;
}
.ir .un-category-title-ja {
	font-size: 3.2rem;
}
.ir__inner {
	position: relative;
	z-index: var(--z-1);
}
.ir__detail {
	margin-inline: 7rem 2rem;
}
.ir__list {
	margin-top: 4.3rem;
}
.ir__button a {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}
.ir__button a span {
	display: inline-flex;
	align-items: center;
	position: relative;
}
.ir__button a span::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 1.2rem;
	right: 1rem;
	width: 1.2rem;
	height: 0.8rem;
	background-color: #222;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-1);
}
.ir__button a span::after {
	content: "";
	display: inline-block;
	width: 3.2rem;
	margin-left: 1.6rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: #fff;
}
.ir__lower {
	margin-top: 4rem;
}
.ir__lower-item + .ir__lower-item > a {
	padding-top: 1.3rem;
}
.ir__lower-item > a {
	display: block;
	position: relative;
	width: 100%;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid #fff;
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 2;
	z-index: var(--z-1);
}
.ir__lower-item > a > span {
	display: block;
	position: relative;
	padding-right: 3.5rem;
}
.ir__lower-item > a > span::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 0.9rem;
	position: absolute;
	top: 0.8em;
	right: 1.5rem;
	background-color: #fff;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
}
.ir__lead-block {
	padding: 25rem 1.5rem 17.5rem;
	color: #fff;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.63;
	text-align: center;
}
@media (width >= 768px), print {
	.ir {
		padding-top: 33rem;
	}
	.ir::after {
		min-width: 100%;
		aspect-ratio: 2880/3454;
		background: url(/assets_renew/images/top/bg_ir_pc.png) no-repeat 0 0/cover;
	}
	.ir .un-category-title-en {
		margin-block-end: -0.13em;
	}
	.ir .un-category-title-en span {
		display: block;
		transform: translateX(-3.5rem);
	}
	.ir__detail {
		margin-left: 24.4rem;
	}
	.ir__list {
		width: 36rem;
		margin-top: 7rem;
	}
	.ir__lower {
		margin-top: 6rem;
	}
	.ir__lead-block {
		padding: 24rem 4rem 30.4rem;
		font-size: clamp(1.2rem, 3vw, 3.8rem);
		line-height: 1.84;
		letter-spacing: 0.07em;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.ir__button a span::before,
	.ir__button a span::after {
		transition: var(--t-bgColor);
	}
	.ir__button a:hover span::before {
		background-color: #fff;
	}
	.ir__button a:hover span::after {
		background-color: #222;
	}
}

/*-----------
	esg（sustainability）
----------*/
.esg {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	padding-block: 44rem 15.2rem;
	margin-top: -23rem;
}
.esg::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	aspect-ratio: 750/1280;
	background: url(/assets_renew/images/top/bg_esg.webp) no-repeat 0 0/100% auto;
}
.esg__inner {
	position: relative;
	z-index: var(--z-1);
}
.esg__contents {
	margin-inline: 7rem 2rem;
}
.esg__detail-title {
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.6;
}
.esg__detail-text {
	margin-top: 4rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
}
.esg__detail-button {
	margin-top: 4rem;
}
.esg__detail-button a {
	display: block;
	color: #222;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}
.esg__detail-button a span {
	display: inline-flex;
	align-items: center;
	position: relative;
}
.esg__detail-button a span::before {
	content: "";
	display: block;
	position: absolute;
	top: 1.2rem;
	right: 1rem;
	width: 1.2rem;
	height: 0.8rem;
	background-color: #fff;
	mask-image: var(--icon-arrow-right);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: var(--t-bgColor);
	z-index: var(--z-1);
}
.esg__detail-button a span::after {
	content: "";
	display: inline-block;
	width: 3.2rem;
	height: 3.2rem;
	margin-left: 1.6rem;
	aspect-ratio: 1;
	border-radius: 100%;
	background: #222;
}
.esg .un-category-title-en {
	color: #ddd;
}
.esg__list {
	margin-top: 4rem;
}
@media (width >= 768px), print {
	.esg {
		padding-block: 98rem 23.3rem;
		margin-top: -48.2rem;
	}
	.esg::after {
		min-width: 100%;
		aspect-ratio: 2880/3200;
		background: url(/assets_renew/images/top/bg_esg_pc.webp) no-repeat 0 0/100% auto;
	}
	.esg .un-category-title-en {
		right: 0;
		left: auto;
		transform: translateY(-50%);
		margin-block-start: -0.13em;
	}
	.esg__inner {
		display: flex;
		justify-content: flex-end;
	}
	.esg__contents {
		display: flex;
		justify-content: space-between;
		width: 85rem;
	}
	.esg__detail {
		flex: 0 0 39rem;
	}
	.esg__detail-title {
		margin-block: calc((1em - 1lh) / 2);
		font-size: 4.1rem;
		letter-spacing: 0;
	}
	.esg__detail-text {
		margin-top: 7rem;
	}
	.esg__detail-button {
		margin-top: 5rem;
	}
	.esg__list {
		flex: 0 0 36rem;
		margin-top: 0;
	}
	.esg__lower {
		margin-top: 6rem;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.esg__detail-button a span::after {
		transition: var(--t-bgColor);
	}
	.esg__detail-button a:hover {
		color: var(--color-prim-light-hover);
	}
	.esg__detail-button a:hover span::after {
		background-color: var(--color-prim-light-hover);
	}
}

/*-----------
	.official-links
----------*/
.official-links {
	padding-bottom: 7rem;
	border-bottom: 1px solid #ddd;
}
@media (width < 768px) {
	.official-links {
		min-height: 29rem;
	}
}
.official-links-title {
	margin-block: calc((1em - 1lh) / 2);
	margin-bottom: 3rem;
	font-size: 1.8rem;
	font-weight: 600;
}
.official-links__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 1.2rem;
	margin-inline: 2rem;
}
.official-links :is(.social, .group) {
	display: flex;
	flex-direction: column;
	gap: 2rem 0;
}
.official-links .group {
	margin-inline: auto;
}
.official-links .group img {
	vertical-align: middle;
}
.official-links .group.msh {
	width: 8.3rem;
}
.official-links .group.polite {
	width: 8.6rem;
}
@media (width >= 768px), print {
	.official-links {
		padding-bottom: 4rem;
	}
	.official-links-title {
		margin-bottom: 4rem;
		font-size: 2.1rem;
	}
	.official-links__grid {
		gap: 0 15.6rem;
		margin-inline: 12rem;
	}
	.official-links .social {
		flex-direction: row;
		gap: 0 2.5rem;
	}
	.official-links .group {
		flex-wrap: wrap;
		align-items: flex-end;
		flex-direction: row;
		gap: 4rem;
		max-width: 47rem;
	}
	.official-links .group__item {
		flex: 0 0 auto;
	}
	.official-links .group .japell {
		width: 20rem;
	}
	.official-links .group .ism-corp {
		width: 23rem;
	}
	.official-links .group .msh {
		width: 12.4rem;
	}
	.official-links .group .polite {
		width: 13.5rem;
	}
}
@media (width >= 768px) and (any-hover: hover) {
	.official-links :is(.social__item, .group__item) a {
		transition: var(--t-opacity);
	}
	.official-links :is(.social__item, .group__item) a:hover {
		opacity: 0.7;
	}
}