@charset "utf-8";

/*-------------------------------
	kome
-------------------------------*/

.kome {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
}

.kome::before {
	content:"※";
}
/*-------------------------------
	object fit
-------------------------------*/

.obf_contain img {
	width:100%;
	height:100%;
	object-fit: contain;
}

.obf_cover img {
	width:100%;
	height:100%;
	object-fit: cover;
}

/*-------------------------------
	main
-------------------------------*/

main.change__nav {
	padding-top:var(--header-height);
}

/*-------------------------------
	Subpagevisual
-------------------------------*/

.Subpagevisual__inner {
	width: calc(100% + (var(--padding-leftright) * 2));
	margin-left: calc(var(--padding-leftright) * -1);
	position:relative;
}

.Subpagevisual__img  {
	overflow: hidden;
}

.Subpagevisual__img  img {
	width:100%;
	height:100svh;
}

.Subpagevisual__txt {
	width:100%;
	position:absolute;
	left:0;
	bottom:5rem;
	right:0;
	margin:0 auto;
	padding-left:var(--padding-leftright);
	padding-right:var(--padding-leftright);
}

.Subpagevisual__txt h1 {
	font-size:1.8rem;
	font-weight:500;
	letter-spacing: 5%;
	color:#fff;
	line-height:1;
	margin-bottom:4.5rem;
}

.Subpagevisual__txt h1 span {
	font-family:var(--en);
	font-size:9rem;
	font-weight:600;
	letter-spacing: 0;
	display: block;
	line-height:1.25;
}

.Subpagevisual__txt p {
	color:#fff;
	line-height:1.75;
	max-width:32.4rem;
	letter-spacing: 5%;
}

/*-------------------------------
	Subpagevisual-02
-------------------------------*/

.Subpagevisual-02 {
	width:100%;
	position:relative;
	padding:var(--padding-topbottom) 0;
	border-bottom:1px solid #000;
}

.Subpagevisual-02__inner {
	display: flex;
	flex-wrap:wrap;
}

.Subpagevisual02__title {
	width:50%;
}

.Subpagevisual02__title-en {
	font-size:9rem;
	font-weight:600;
	font-family: var(--en);
	line-height:1;
}

.Subpagevisual02__title-jp {
	font-size:1.8rem;
	font-weight:500;
	letter-spacing: 5%;
	line-height:1;
	margin-top:0.75em;
	color:var(--subcolor);
}

.Subpagevisual02__txt {
	width:50%;
	max-width:32.4rem;
}

.Subpagevisual02__txt h2 {
	font-size:2.4rem;
	font-weight:500;
	letter-spacing: 5%;
	line-height:1.375;
	margin-bottom:1.5em;
}

/*-------------------------------
	tag red
-------------------------------*/

.tag__red {
	line-height:1;
}

.tag__red span {
	display: inline-block;
	padding:0.325em 0.5525em;
	line-height:1;
	text-align: center;
	color:#fff;
	font-family: var(--en);
	font-weight:600;
	font-size:1.4rem;
	letter-spacing: 5%;
	background:var(--subcolor);
	margin-bottom:0.5em;
}

/*-------------------------------
	page link
-------------------------------*/

.page__link-wrap {
	position:sticky;
	left:0;
	top:var(--header-height);
	z-index: 5000;
	background:#ececec;
}

.page__link-inner {
	display:flex;
	flex-wrap:wrap;
}

.page__link-block {
	width:calc(100% / 3);
}

.page__link-block a,
.page__link-block .a {
	display: flex;
	align-items: center;
	width: 100%;
	height:100%;
	position:relative;
	padding:4rem 6rem 4rem 3rem;
	border-bottom:1px solid #000;
	border-right:1px solid #000;
	opacity: 1 !important;
}

.page__link-block a::before,
.page__link-block .a::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:var(--maincolor);
	position:absolute;
	left:0;
	bottom:0;
	transition:transform .3s var(--transition-easing);
	transform-origin:top;
	transform:scaleY(0);
}

.page__link-block:nth-of-type(3n) a,
.page__link-block:nth-of-type(3n) .a {
	border-right:none;
}

.page__link-txt {
	font-size:1.6rem;
	display: block;
	letter-spacing: 10%;
	font-weight: 500;
	position:relative;
	transition:var(--transition);
	line-height:1.25;
}

.page__link-arrow-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width:2.3rem;
	height:2.3rem;
	border-radius:50%;
	border:1px solid var(--maincolor);
	position:absolute;
	right:3rem;
	top:0;
	bottom:0;
	margin:auto 0;
	overflow:hidden;
	transition:var(--transition);
}

.page__link-arrow {
	width:1rem;
	height:0.6rem;
	margin-top:0.2rem;
	position:relative;
	transition: .6s all var(--transition-easing);
	background:url(../images/common/icon_arrow_link-green.svg) no-repeat center / contain;
}

.page__link-arrow::after {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:url(../images/common/icon_arrow_link-white.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:100%;
	/* bottom:100%; */
	transition: none;
	opacity:0;
}

.page__link-block a:hover::before,
.page__link-block .a:hover::before,
.page__link-wrap.Works .page__link-block.-current a::before,
.page__link-wrap.Works .page__link-block.-current .a::before{
	transform:scaleY(1);
	transform-origin:bottom;
}

.page__link-block a:hover .page__link-txt,
.page__link-block .a:hover .page__link-txt,
.page__link-wrap.Works .page__link-block.-current .page__link-txt{
	color:#fff;
}

.page__link-block a:hover .page__link-arrow-wrap,
.page__link-block .a:hover .page__link-arrow-wrap,
.page__link-wrap.Works .page__link-block.-current .page__link-arrow-wrap {
	border-color:#fff;
}

.page__link-block a:hover .page__link-arrow,
.page__link-block .a:hover .page__link-arrow,
.page__link-wrap.Works .page__link-block.-current .page__link-arrow {
	transform:translateY(-100%);
}

.page__link-block a:hover .page__link-arrow::after,
.page__link-block .a:hover .page__link-arrow::after,
.page__link-wrap.Works .page__link-block.-current .page__link-arrow::after {
	opacity:1;
}

/*-------------------------------
	More btn
-------------------------------*/

.More__btn-wrap {
	margin-top:7.5rem;
	padding:0 var(--padding-leftright);
}

.More__btn:has(.C-Button__text) {
	width:44.8rem;
	height:6.1rem;
	border-radius:3.1rem;
	margin:0 auto;
}

.More__btn .C-Button__inner {
	text-align: center;
	justify-content: center;
}

.More__btn .C-Button__text {
	font-size:1.4rem;
}

/*-------------------------------
	Page bottom
-------------------------------*/

.Page__bottom {
	border-top:1px solid var(--blackcolor);
	border-bottom:1px solid var(--maincolor);
}

.Page__bottom a{
	padding-left: var(--padding-leftright);
	padding-right: var(--padding-leftright);
	width: 100%;
	height: 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	opacity: 1 !important;
}
.Page__bottom a::before{
	transition: transform .3s var(--transition-easing);
	background: var(--maincolor);
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	transform: scaleY(0);
	transform-origin: top;
}
.Page__bottom-text{
	transition: var(--transition);
	font-size: 1.6rem;
	margin-right: 1.6rem;
	font-weight: 500;
	line-height: 1;
	display: block;
}

.Page__bottom a:hover::before{
	transform: scaleY(1);
	transform-origin: bottom;
}
.Page__bottom a:hover .Page__bottom-text{
	color: #fff;
}
.Page__bottom a:hover .Page__button{
	border-color: #fff;
}

.Page__bottom:hover {
	border-bottom:1px solid #fff;
}

/*-------------------------------

-------------------------------*/

/*-------------------------------
	
-------------------------------*/

/*-------------------------------
	responsive	
-------------------------------*/

@media screen and (max-width:1100px){

/*-------------------------------
	Subpagevisual-02
-------------------------------*/

.Subpagevisual02__title {
	width:100%;
}

.Subpagevisual02__txt {
	width:100%;
	max-width:100%;
	margin-top:3.5rem;
}

/*-------------------------------
	page link
-------------------------------*/

.page__link-block a,
.page__link-block .a {
	padding:3rem 6rem 3rem 3rem;
}




} /* end 1100px */

/*-------------------------------
	ver SP
-------------------------------*/

@media screen and (max-width:768px){

/*-------------------------------
	title
-------------------------------*/

.sec__header-title-jp {
	margin-top:0rem;
}

.sec__header-title-en {
	line-height:1;
}

/*-------------------------------
	Subpagevisual
-------------------------------*/

.Subpagevisual__txt h1 {
	font-size:1.8rem;
	margin-bottom:3.5rem;
}

.Subpagevisual__txt h1 span {
	font-size:4.8rem;
	margin-bottom:1rem;
}

.Subpagevisual__txt p {
	max-width:26.5rem;
}

/*-------------------------------
	Subpagevisual-02
-------------------------------*/

.Subpagevisual02__title {
	width:100%;
}

.Subpagevisual02__title-en {
	font-size:5rem;
}

.Subpagevisual02__title-jp {
	font-size:1.4rem;
	margin-top:0.75em;
}

.Subpagevisual02__txt {
	width:100%;
	max-width:100%;
	margin-top:4.5rem;
}

.Subpagevisual02__txt h2 {
	font-size:2rem;
	margin-bottom:1.25em;
}

/*-------------------------------
	tag red
-------------------------------*/

.tag__red span {
	margin-bottom:1em;
}

/*-------------------------------
	page link
-------------------------------*/

.page__link-block a,
.page__link-block .a {
	display: block;
	text-align: center;
	padding:2rem var(--padding-leftright);
}

.page__link-block:nth-of-type(3n) a,
.page__link-block:nth-of-type(3n) .a {
	border-right:none;
}

.page__link-txt {
	font-size:1.2rem;
	text-align: center;
}

.page__link-arrow-wrap {
	display: none;
}

/*-------------------------------
	More btn
-------------------------------*/

.More__btn-wrap {
	margin-top:7rem;
	padding:0 var(--padding-leftright);
}

.More__btn:has(.C-Button__text) {
	width:26rem;
	height:5.2rem;
	border-radius:2.6rem;
}

/*-------------------------------
	Page bottom
-------------------------------*/

.Page__bottom {
	border-top:1px solid var(--blackcolor);
}

.Page__bottom a{
	height: 9.4rem;
	justify-content: flex-end;
}

.Page__bottom-text{
	margin-right: 1.4rem;
}

} /* end 768px */