/*!
Theme Name: iam
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: iam
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

iam is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:1em;margin:0}h2,h3{margin:0;}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
/*# sourceMappingURL=normalize.min.css.map */
html.lenis,
html.lenis body {
  height: auto;
}
.parallax {
  will-change: transform;
}
body {
	color: #000;
	font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
	font-weight: 500;
	overflow-x: hidden;
	background-color: #f5f5f5;
	/* background: url(./images/common/bg.webp) center / cover; */
}
*{
	box-sizing: border-box;
}
a{
	transition: .2s all linear;
	text-decoration: none;
}
a:hover{
	opacity: .6;
}
ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
/* common */
.input-check{
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	position: relative;
}
.input-check input[type='checkbox']{
	display: none;
}
.input-check > span{
	display: flex;
	align-items: center;
}
.input-check > span:before{
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 1px solid #000;
	margin-right: 14px;
}
.input-check > span::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 3px;
	width: 6px;
	height: 10px;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(45deg);
	opacity: 0;
}
.input-check input:checked + span::after {
  opacity: 1;
}
.none-pc{
	display: none !important;
}
.page-wrap{
	margin-top: 78px;
}
.d-flex{
	display: flex;
}
.d-flex .j-c-s-b{
	justify-content: space-between;
}
.d-flex .a-i-c{
	align-items: center;
}
.t-left{
	text-align: left;
}
.m-t-10{ margin-top: 10px; }
.m-t-20{ margin-top: 20px; }
.m-t-30{ margin-top: 30px; }
.btn{
	background: #000;
	color: #FFF;
	padding: 6px 10px;
	font-size: 16px;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: max-content;
	line-height: 1;
	letter-spacing: 2px;
	font-family: "Barlow Condensed"
}
.btn:after{
	content: "";
	display: block;
	width: 4px;
	height: 7px;
	background: url('./images/common/caret-right.svg') no-repeat center / contain;
}
.btn.btn-back:after{
	content: none;
}
.btn.btn-back:before{
	content: "";
	display: block;
	width: 4px;
	height: 7px;
	background: url('./images/common/caret-left.svg') no-repeat center / contain;
}
.text{
	font-family: 'Noto Sans JP';
	line-height: 1.8;
}
.t-link{
	color: #60A5FA;
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	.none-pc{
		display: inherit !important;
	}
	.none-sp{
		display: none !important;
	}
	.page-wrap.page-home{
		margin-top: 0;
	}
	.btn{
		font-size: 11px;
		gap: 0 4px;
		padding: 6px 8px;
	}
}
/* header */
.header{
	background: #000000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	transition: all 0.3s linear;
}
.header .header-inner{
	max-width: calc(1200px + 60px);
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 30px;
}
.header .site-title {
	margin: 0;
}
.header .site-title img{
	display: block;
}
.header .g-menu{
	display: flex;
	gap: 0 60px;
}
.header .g-menu .menu{
	color: #FFF;
	font-size: 24px;
	transition: inherit;
}
.header.shrink .g-menu .menu{
	font-size: 18px;
}
.header.shrink .img-site-logo{
	width: 20px;
}
.header .hamburger{
	display: none;
}
@media screen and (max-width: 768px) {
	.header{
		background: transparent;
	}
	.header.header-other{
		background: #000;
	}
	.header .header-inner{
		padding: 9px 24px;
	}
	.header .site-title .link-home{
		display: block;
		width: 20px;
	}
	.header .site-title .link-home .img-site-logo{
		width: 100%;
	}
	.header .hamburger{
		display:block;
		z-index:1001;
		position: relative;
		width: 26px;
		height: 18px;
		cursor: pointer;
		background: transparent;
		border: none;
	}
	.header .hamburger span{
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #000;
		border-radius: 4px;
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
	}
	.header.header-other .hamburger span{
		background: #FFF;
	}
	.header .hamburger span:nth-of-type(1) {
		top: 0;
	}
	.header .hamburger span:nth-of-type(2) {
		top: 8px;
	}
	.header .hamburger span:nth-of-type(3) {
		bottom: 0;
	}
	.header .hamburger.active span:nth-of-type(1) {
		transform: translateY(9px) rotate(-45deg);
		background-color: #FFF;
	}
	.header .hamburger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.header .hamburger.active span:nth-of-type(3) {
		transform: translateY(-7px) rotate(45deg);
		background-color: #FFF;
	}
	.g-menu-wrap {
		position: fixed;
		inset: 0;
		background: #000;
		opacity: 0;
		visibility: hidden;
		transition: opacity .4s ease;
		z-index: 1000;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* 開いた状態 */
	.g-menu-wrap.active {
		opacity: 1;
		visibility: visible;
	}
	.g-menu-wrap .g-menu {
		padding: 0;
		flex-direction: column;
		gap: 35px 0;
	}
	.header .g-menu .menu {
		color: #fff;
		font-size: 2rem;
		text-decoration: none;
	}
}
/* footer */
.footer{
}
.footer .footer-inner{
	max-width: calc(1200px + 60px);
	padding: 160px 30px 240px;
	position: relative;
	margin: auto;
}
.footer .footer-inner:after{
	content:"";
	display: block;
	width: 470px;
	height: 700px;
	background: url('./images/common/logo-iam-b.svg') no-repeat center bottom / contain;
	position: absolute;
	right: -50px;
	bottom: 110px;
}
.footer .site-title{
	font-size: 178px;
	font-weight: 600;
	position: relative;
	z-index: 10;
}
.footer .menu-wrap{
	margin-top: 72px;
	display: flex;
	flex-direction: column;
	gap: 23px 0;
}
.footer .menu-wrap .menu{
	font-size: 30px;
	color: #000000;
	display: block;
	width: max-content;
}
.footer .menu-wrap .menu + .menu{
}
@media screen and (max-width: 768px) {
	.footer .footer-inner{
		overflow: hidden;
		padding: 56px 20px 90px;
	}
	.footer .footer-inner:after{
		width: 263px;
		height: 338px;
		right: -113px;
		bottom: 0px;
	}
	.footer .site-title{
		font-size: 48px;
	}
	.footer .menu-wrap{
		gap: 14px 0;
		margin-left: 70px;
	}
	.footer .menu-wrap .menu{
		font-size: 20px;
	}
}
/*------------------------*/
/* page common */
/*------------------------*/
.page-common .sec-contact{
	background: url('./images/home/bg-contact.webp') no-repeat center / cover;
	color: #FFF;
}
.page-common .sec-contact .sec-inner{
	padding: 180px 120px 238px;
	display: flex;
	justify-content: space-between;
}
.page-common .sec .sec-title{
	font-size: 38px;
	font-weight: 600;
	font-style: italic;
}
.page-common .sec .sec-title-jp{
	font-size: 44px;
	letter-spacing: 0.88px;
	font-weight: 700;
	font-family: 'Noto Sans JP';
}
.page-common .sec .text{
	font-size: 18px;
	line-height: 26px;
	letter-spacing: 0.36px;
	font-family: 'Noto Sans JP';
}
.page-common .sec-contact .sec-title-contact{
	font-size: 52px;
	font-weight: 600;
	font-style: italic;
}
.page-common .sec-contact .desc-wrap{
	margin-left: min(25.69vw, 370px);
	flex: 1;
}
.page-common .sec-contact .desc-wrap .d-flex{
	display: flex;
	align-items: flex-end;
}
.page-common .sec-contact .desc-wrap .d-flex .img-wrap{
	margin-left: 154px;
}
.page-common .sec-contact .desc-wrap .text-1{
	font-size: 80px;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	opacity: .7;
}
.page-common .sec-contact .desc-wrap .text-2{
	margin-top: 30px;
	font-size: 18px;
	line-height: 26px;
	letter-spacing: 0.36px;
}
.page-common .sec-contact .desc-wrap .btn-contact{
	margin-top: 74px;
	margin-left: auto;
	letter-spacing: 0;
}
.page-common .sec .sec-inner{
	max-width: calc(1200px + 60px);
	margin: auto;
	padding: 100px 30px;
}
.page-common .sec .sec-inner.sec-page-title-inner{
	padding: 82px 30px 17px;
}
.page-common .page-title{
	font-size: 90px;
	font-weight: 600;
	font-style: italic;
}
.page-common .page-main-img{
	width: 100%;
	height: 520px;
	overflow: hidden;
}
.page-common .page-main-img > img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.page-common .sec-event .sec-inner{
	padding-bottom: 228px;
}
.page-common .sec-event .sec-title-jp{
	margin-top: 10px;
}
.page-common .sec-event .event-list{
	/* display: grid; */
	grid-template-columns: repeat(2, 1fr);
	gap: 170px 228px;
	margin-top: 116px;
}
.page-common .sec-event .event-list .event{
	display: flex;
	gap: 0 min(130px, 15.87vw);
}
.page-common .sec-event .event-list .event + .event{
	margin-top: 116px;
}
.page-common .sec-event .event-list .event .thumb{
	width: 485px;
	flex-shrink: 0;
}
.page-common .sec-event .ev-title{
	font-size: 38px;
	font-weight: 600;
	font-style: italic;
}
.page-common .sec-event .ev-title-jp{
	font-size: 23px;
	font-weight: 700;
	margin-top: 10px;
	font-family: 'Noto Sans JP';
}
.page-common .sec-event .ev-text{
	margin-top: 43px;
}
.page-common .sec-event .event .thumb img{
	width: 100%;
}
.page-common .sec-event .event .btn-wrap{
	margin-top: 20px;
}
.page-common .sec-event .event .btn{
	margin-left: auto;
}
.page-common .sec-apparel .sec-inner{
	display: flex;
	justify-content: space-between;
	gap: 0 75px;
}
.page-common .sec-apparel .text-wrap{
	max-width: 430px;
}
.page-common .sec-apparel .img-wrap{
	flex: 1;
}
.page-common .sec-apparel .img-wrap img{
	width: 100%;
}
.page-common .sec-apparel .text{
	margin-top: 87px;
	font-size: 22px;
}
.page-common .sec-apparel .link-wrap{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0 18px;
	margin-top: 30px;
}
.page-common .sec-apparel .link-wrap .link{
	width: 40px;
	height: 40px;
}
.page-common .sec-apparel .link-wrap .link img{
	width: 100%;
}
@media screen and (max-width: 768px) {
	.page-common .sec-contact .sec-inner{
		display: block;
		text-align: center;
		padding: 30px 20px;
	}
	.page-common .sec .sec-title{
		font-size: 26px;
	}
	.page-common .sec .sec-title-jp{
		font-size: 22px;
		letter-spacing: 0.44px;
	}
	.page-common .sec .text{
		font-size: 12px;
		line-height: 18px;
	}
	.page-common .sec-contact .sec-title-contact{
		font-size: 22px;
	}
	.page-common .sec-contact .desc-wrap{
		margin-left: 0;
	}
	.page-common .sec-contact .desc-wrap .text-1{
		display: none;
	}
	.page-common .sec-contact .desc-wrap .text-2{
		font-size: 12px;
		line-height: 18px;
		margin-top: 20px;
	}
	.page-common .sec-contact .desc-wrap .text-2 + .img-wrap{
		margin-top: 20px;
	}
	.page-common .sec-contact .desc-wrap .img-wrap img{
		width: 20px;
	}
	.page-common .sec-contact .desc-wrap .btn-contact{
		margin: 22px auto 0;
	}
	.page-common{
		margin-top: 48px;
	}
	.page-common .sec .sec-inner.sec-page-title-inner{
		padding: 20px 20px 10px;
	}
	.page-common .page-title{
		font-size: 38px;
	}
	.page-common .sec .sec-inner{
		padding: 40px 20px;
	}
	.page-common .page-main-img{
		max-height: 175px;
	}
	.page-common .sec-event .sec-inner{
		padding-bottom: 173px;
	}
	.page-common .sec-event .event-list{
		display: block;
		margin-top: 24px;
	}
	.page-common .sec-event .event-list .event{
		display: block;
	}
	.page-common .sec-event .event-list .event .thumb{
		width: auto;
	}
	.page-common .sec-event .ev-title{
		font-size: 33px;
		margin-top: 21px;
	}
	.page-common .sec-event .ev-title-jp{
		font-size: 17px;
		margin-top: 6px;
	}
	.page-common .sec-event .ev-text{
		font-size: 12px;
		margin-top: 22px;
	}
	.page-common .sec-event .event + .event{
		margin-top: 143px;
	}
	.page-common .sec-event .event .btn-wrap{
		margin-top: 16px;
	}
	.page-common .sec-apparel .sec-inner{
		display: block;
	}
	.page-common .sec-apparel .text{
		margin-top: 34px;
		font-size: 12px;
	}
	.page-common .sec-apparel .text-wrap{
		max-width: none;
	}
	.page-common .sec-apparel .text-wrap .img-wrap{
		margin-top: 30px;
	}
	.page-common .sec-apparel .link-wrap{
		margin-top: 20px;
	}
	.page-common .sec-apparel .link-wrap .link {
		width: 32px;
		height: 32px;
	}
}

/*------------------------*/
/* page home */
/*------------------------*/
.page-home .sec-inner{
	max-width: 1200px;
	padding: 200px 110px;
	margin: auto;
}
.page-home .sec-title{
	max-width: 700px;
}
.page-home .sec-title .top{
	font-size: 83px;
	font-weight: 600;
	border-bottom: 1px solid #000;
	font-style: italic;
	line-height: 66px;
}
.page-home .sec-title .bottom{
	text-align: right;
	font-size: 35px;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	opacity: .7;
	line-height: 25px;
	font-style: normal;
	letter-spacing: -1.43px;
}
.page-home .sec-top{
	position: relative;
	overflow: hidden;
}
.page-home .sec-top-bg{
	background-image: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url('./images/home/top-bg.webp');
	background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('./images/home/top-bg.webp');
	background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .7) 50%, rgba(0, 0, 0, 0.8) 100%), url(./images/home/top-bg.webp);
	background-image: linear-gradient(rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.7) 30%, rgba(0, 0, 0, .7) 50%, rgba(0, 0, 0, 0.8) 100%), url(./images/home/top-bg.webp);
	background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.1) 30%, rgba(0, 0, 0, .7) 50%, rgba(0, 0, 0, 0.8) 100%), url(./images/home/top-bg.webp);
	background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 40%, rgba(0, 0, 0, .7) 50%, rgba(0, 0, 0, 0.8) 100%), url(./images/home/top-bg.webp);
}
.page-home .bg-parallax{
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: top;
	will-change: transform;
}
.page-home .sec-top .sec-inner{
	position: relative;
	z-index: 2;
	color: #000;
	color: #FFF;
	padding: 0 110px 500px;
}
.page-home .first-view{
	max-width: 1000px;
	max-width: 890px;
	margin: auto;
	height: 100vh;
	padding-top: 43vh;
}
.page-home .first-view .logo-iam{
	width: 77px;
	height: auto;
	transform: translateY(50px);
}
.page-home .first-view .logo-iam > img{
	width: 100%;
}
.page-home .first-view .text-main{
	font-size: 78px;
	font-weight: 600;
	margin-left: auto;
	line-height: 1.2;
	width: max-content;
	/* color: #000; */
}
.page-home .text-about{
	width: 500px;
}
.page-home .text-about .top{
	border-bottom: 1px solid #000;
	border-color: #FFF;
}
.page-home .text-about .bottom{
}
.page-home .sec-top .second-view{
	margin: auto;
	max-width: 990px;
}
.page-home .sec-top .text-wrap{
	margin-left: 300px;
	max-width: 630px;
	font-family: 'Noto Sans JP';
}
.page-home .sec-top .text-jp{
	font-size: 62px;
	font-weight: 700;
	margin-top: 70px;
	letter-spacing: 1.86px;
	line-height: 70px;
}
.page-home .sec-top .text-jp-2{
	font-size: 24px;
	font-weight: 500;
	margin-top: 80px;
	line-height: 1.4;
}
.page-home .sec-top .text-wrap .btn-wrap{
	margin-top: 38px;
}
.page-home .sec-top .text-wrap .btn-wrap .btn-more{
	margin-left: auto;
	background-color: #666666;
}
.page-home .sec-business{
	background: url(./images/home/bg-our-business.svg?v=2) no-repeat 573px 1288px / 100%;
}
.page-home .sec-business .sec-inner{
	padding-bottom: 200px;
}
.page-home .sec-business .sec-title{
	max-width: 800px;
}
.page-home .sec-business .desc-wrap{
	margin-left: 600px;
}
.page-home .sec-business .text-desc{
	margin-top: 46px;
	font-size: 18px;
	line-height: 22px;
	letter-spacing: 0.36px;
}
.page-home .sec-business .desc-wrap .btn-more{
	margin-left: auto;
}
.page-home .sec-business .img-business{
	margin-top: 40px;
	text-align: center;
}
.page-home .sec-business .img-business img{
	width: 100%;
}
.page-home .sec-business .service{
	margin-top: 254px;
	display: flex;
	justify-content: space-between;
	/* align-items: flex-start; */
}
.page-home .sec-business .service .name{
	font-size: 28px;
	font-weight: 600;
	white-space: nowrap;
	font-style: italic;
	width: 205px;
}
.page-home .sec-business .service .texts{
	max-width: 425px;
	flex: 1;
}
.page-home .sec-business .service .texts .title{
	display: flex;
	flex-direction: column;
}
.page-home .sec-business .service .texts .title .jp{
	font-size: 28px;
	font-family: 'Noto Sans JP';
	margin-bottom: 20px;
}
.page-home .sec-business .service .texts .title .en{
	font-size: 68px;
	font-weight: 700;
	font-family: "Inter", sans-serif;
	line-height: 66px;
	letter-spacing: -1.63px;
}
.page-home .sec-business .service .texts .desc{
	margin-top: 15px;
	font-size: 18px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	line-height: 22px;
	letter-spacing: 0.36px;
}
.page-home .sec-business .service .texts .desc .btn{
	margin-left: auto;
}
.page-home .sec-business .service .img-service{
	margin-left: 108px;
	flex: 1;
	max-width: 453px;
	flex-shrink: 0;
}
.page-home .sec-business .service .img-service img{
	width: 100%;
}
.page-home .sec-business .service + .service{
	margin-top: 357px;
}
.page-home .sec-logo {
	height: 430px;
	position: relative;
	background: url(./images/home/logo-bg-fixed.svg) no-repeat center 45px / contain;
	background: url(./images/common/logo-iam.svg) no-repeat center 118px / 600px;
	background-attachment: fixed;
	opacity: .8;
}
.page-home .sec-logo .sec-logo-bg{
	background: url('./images/home/bg-iam-logo.webp') no-repeat center / cover;
	background-attachment: fixed;
}
.page-home .sec-artists{
	background: url('./images/home/bg-artists.svg?v=2') no-repeat -441px 268px / contain;
}
.page-home .sec-artists .sec-title{
	max-width: 621px;
}
.page-home .sec-artists .artists-wrap{
	margin-top: 68px;
	margin-left: auto;
	display: grid;
	grid-template-columns: 282px 282px 282px;
	width: max-content;
	gap: 74px 24px;
}
.page-home .sec-artists .artists-group-wrap{
	margin-top: 74px;
}
.page-home .sec-artists .artists-wrap .artist:hover{
	opacity: 1;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap{
	padding: 10px 16px;
	background: #FF0019;
	color: #FFF;
	position: relative;
}
.page-home .sec-artists .artists-wrap.artist-group-wrap .artist .desc-wrap{
	background-color: #EDB62E;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap:after{
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url('./images/common/corner.svg') no-repeat center / contain;
	position: absolute;
	right: 16px;
	bottom: 10px;
}
.page-home .sec-artists .artists-wrap .artist .img-wrap > img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap .genre{
	font-size: 18px;
	font-style: italic;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap .name{
	font-size: 38px;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap .name.name-vi{
	font-size: 38px;
}
.page-home .sec-artists .artists-wrap .artist .desc-wrap .name-jp{
	margin-top: 5px;
	font-size: 14px;
}
.page-home .sec-clients{
	padding-top: 50px;
	text-align: center;
}
.page-home .sec-clients .title{
	font-size: 72px;
	font-weight: 600;
}
.page-home .sec-clients .text{
	font-size: 28px;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	margin-top: 10px;
}
.page-home .sec-clients .client-list{
	margin-top: 70px;
}
.page-home .sec-clients .client-list img{
	width: 100%;
	max-width: 731px;
}
.btn-contact{
	background: #666666;
}
@media screen and (max-width: 768px) {
	.page-home .sec-inner{
		padding: 100px 20px;
	}
	.page-home .sec-top .sec-inner{
		padding: 0px 20px 342px;
	}
	.page-home .sec-top-bg{
		background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 1) 100%), url(./images/home/top-bg-wide.webp);
	}
	.page-home .sec-title{
		max-width: 300px;
	}
	.page-home .sec-title .top{
		font-size: 32px;
		line-height: .8;
	}
	.page-home .sec-title .bottom{
		font-size: 14px;
		line-height: .7;
		letter-spacing: -0.56px;
	}
	.page-home .first-view{
		display: flex;
		justify-content: center;
		align-items: center;
		height: calc(100vh - 20px);
		padding: 0;
	}
	.page-home .first-view .logo-iam {
		width: 42px;
		transform: none;
	}
	.page-home .first-view .text-main{
		font-size: 21px;
		margin-left: 55px;
		margin-left: 14px;
		line-height: 1.35;
	}
	.page-home .sec-top .text-wrap{
		margin: 0;
	}
	.page-home .sec-top .text-about{
		max-width: 225px;
	}
	.page-home .sec-top .text-jp{
		font-size: 22px;
		margin-top: 12px;
		line-height: 26px;
		letter-spacing: 0;
	}
	.page-home .sec-top .text-jp-2{
		font-size: 12px;
		margin-top: 24px;
	}
	.page-home .sec-business{
		background: none;
	}
	.page-home .sec-business .sec-inner{
		padding: 100px 20px;
	}
	.page-home .sec-business .sec-title{
		max-width: 318px;
	}
	.page-home .sec-business .text-desc{
		font-size: 12px;
		line-height: 18px;
		margin-top: 34px;
	}
	.page-home .sec-business .img-business{
		width: 80%;
		margin: 50px auto 0;
	}
	.page-home .sec-business .img-business img{
		max-width: 475px;
	}
	.page-home .sec-business .service{
		display: block;
		margin-top: 77px;
	}
	.page-home .sec-business .service + .service{
		margin-top: 48px;
	}
	.page-home .sec-business .desc-wrap{
		margin: 0;
	}
	.page-home .sec-business .service .name{
		font-size: 26px;
		margin-bottom: 27px;
	}
	.page-home .sec-business .service .texts{
		max-width: inherit;
	}
	.page-home .sec-business .service .texts .title{
		font-size: 26px;
	}
	.page-home .sec-business .service .texts .title .jp{
		font-size: 18px;
		margin-bottom: 5px;
	}
	.page-home .sec-business .service .texts .title .en{
		font-size: 32px;
		letter-spacing: -0.96px;
		line-height: 1;
	}
	.page-home .sec-business .service .texts .desc{
		font-size: 12px;
		margin-top: 10px;
		line-height: 18px;
		display: block;
	}
	.page-home .sec-business .service .texts .desc .btn{
		margin-left: auto;
		margin-top: 10px;
	}
	.page-home .sec-business .service .img-service{
		width: 100%;
		margin: 7px auto 0;
	}
	.page-home .sec-business .service .img-service img{
		width: 100%;
	}
	.page-home .sec-logo {
		height: 464px;
		position: relative;
		background: url(./images/common/logo-iam-b.svg) no-repeat center 0px / 300px;
		opacity: .6;
		display: none;
	}
	.page-home .sec-logo__bg {

	}
	.page-home .sec-artists{
		background: none;
	}
	.page-home .sec-artists .sec-title{
		max-width: 325px;
	}
	.page-home .sec-artists .artists-wrap {
		margin-top: 30px;
		grid-template-columns: repeat(2, 1fr);
		gap: 52px 14px;
		width: auto;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap{
		padding: 9px 9px 7px;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap:after{
		width: 10px;
		height: 10px;
		right: 9px;
		bottom: 8px;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap .genre{
		font-size: 12px;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap .name{
		font-size: 23px;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap .name.name-vi{
		font-size: 20px;
	}
	.page-home .sec-artists .artists-wrap .artist .desc-wrap .name-jp{
		font-size: 9px;
	}
	.page-home .sec-clients{
		padding-top: 0;
	}
	.page-home .sec-clients .sec-inner{
		padding-top: 20px;		
	}
	.page-home .sec-clients .title{
		font-size: 35px;
	}
	.page-home .sec-clients .text{
		font-size: 14px;
	}
	.page-home .sec-clients .client-list img{
		max-width: 235px;
	}
	.client-list-sp{
		display:grid;
		grid-template-columns:repeat(3,1fr);
		gap:40px;
		list-style:none;
		padding:0;
		margin-top:40px;
	}
	.client-list-sp img{
		max-width:140px;
		height:auto;
		margin:auto;
		display:block;
		transition:.3s;
	}
}

/* ---------------- */
/* page about */
/* ---------------- */
.page-about .sec-motto{
	text-align: center;
	padding: 105px 50px 110px;
}
.page-about .sec-motto .logo-iam{
	width: 72px;
}
.page-about .sec-motto .motto-1{
	font-size: 78px;
	font-weight: 600;
	margin-top: 50px;
}
.page-about .sec-motto .motto-2{
	font-size: 45px;
	font-weight: 700;
	margin-top: 40px;
}
.page-about .sec-who{
	background: url('./images/about/bg-1.webp') no-repeat center / cover;
}
.page-about .sec-who .sec-inner{
	padding: 115px 30px 250px 529px;
	color: #FFF;
}
.page-about .sec-who .sec-title-jp{
	margin-top: 36px;
}
.page-about .sec-who .text-who{
	font-size: 18px;
	margin-top: 56px;
	line-height: 26px;
	letter-spacing: 0.36px;
}
.page-about .sec-stance{
	background: url('./images/about/bg-2.webp') no-repeat center / cover;
	background: linear-gradient(to right, transparent 0%, #c2c2c4 70%, #9b9b9b 100%);
	overflow: hidden;
}
.page-about .sec-stance .sec-inner{
	padding-top: 190px;
	padding-bottom: 190px;
	position: relative;
	min-height: 855px;
}
.page-about .sec-stance .sec-title-jp{
	margin-top: 60px;
}
.page-about .sec-stance .text-stance{
	margin-top: 44px;
	max-width: 522px;
}
.page-about .sec-stance .ceo-wrap{
	position: absolute;
	bottom: -4px;
	right: 0;
}
.page-about .sec-stance .ceo-wrap .img-steez{
	width: 450px;
	display: block;
}
.page-about .sec-stance .text-ceo{
	line-height: 42px;
	position: absolute;
	top: 665px;
	right: calc(100% + 15px);
	width: max-content;
}
.page-about .sec-profile{
	background-color: #000000;
	color: #FFF;
}
.page-about .sec-profile .sec-inner{
	display: flex;
	gap: 0 279px;
}
.page-about .sec-profile .profile-wrap{
	flex: 1;
}
.page-about .sec-profile .profile-wrap .item{
	border-top: 1px solid #FFF;
	display: flex;
	padding: 20px 0;
	font-size: 15px;
	line-height: 2;
	font-family: 'Noto Sans JP';
}
.page-about .sec-profile .profile-wrap .item .name{
	width: 236px;
	flex-shrink: 0;
}
.page-about .sec-profile .profile-wrap .g-map{
	margin-top: 20px;
}
.page-about .sec-profile .profile-wrap .g-map > iframe{
	width: 100%;
}
@media screen and (max-width: 768px) {
	.page-about .sec-motto{
		padding: 0;
	}
	.page-about .sec-motto .logo-iam{
		width: 19px;
	}
	.page-about .sec-motto .motto-1{
		margin-top: 14px;
		font-size: 22px;
		letter-spacing: 0.44px;
	}
	.page-about .sec-motto .motto-2{
		margin-top: 10px;
		font-size: 14px;
		letter-spacing: 0.28px;
	}
	.page-about .sec-who{
		background-image: url('./images/about/bg-1-sp.webp');
	}
	.page-about .sec-who .sec-inner{
		padding: 54px 20px;
	}
	.page-about .sec-who .sec-title-jp{
		margin-top: 20px;
	}
	.page-about .sec-who .text-who{
		font-size: 12px;
		margin-top: 20px;
	}
	.page-about .sec-stance{
		/* background: url(./images/about/steez-sp.webp) no-repeat center / contain; */
	}
	.page-about .sec-stance .sec-inner{
		padding-top: 60px;
		padding-bottom: 0;
		display: flex;
		min-height: inherit;
		flex-direction: column;
	}
	.page-about .sec-stance .sec-title-jp{
		margin-top: 10px;
	}
	.page-about .sec-stance .text-stance{
		margin-top: 18px;
		/* max-width: 182px; */
		/* padding-right: 48px; */
		max-width: none;
	}
	.page-about .sec-stance .ceo-wrap{
		position: static;
		display: flex;
		flex-direction: row-reverse;
		justify-content: end;
		align-items: flex-end;
		margin-top: 36px;
	}
	.page-about .sec-stance .ceo-wrap .img-steez{
		width: 180px;
	}
	.page-about .sec-stance .text-ceo{
		line-height: 16px;
		position: static;
		text-align: right;
		transform: translate(2px, -54px);
	}
	.page-about .sec-profile .sec-inner{
		display: block;
	}
	.page-about .sec-profile .profile-wrap{
		margin-top: 20px;
	}
	.page-about .sec-profile .profile-wrap .item{
		font-size: 12px;
	}
	.page-about .sec-profile .profile-wrap .item .name {
		width: 95px;
	}
	.page-about .sec-profile .profile-wrap .g-map > iframe{
		height: 158px;
	}
}

/* Page Contact */
.page-contact .mail-form{
	max-width: 690px;
	margin-left: auto;
}
.page-contact .mail-form .note{
	font-size: 20px;
}
.page-contact .mail-form .form-item-wrap{
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 45px 0;
	font-size: 20px;
	margin-top: 100px;
	/* margin-bottom: 80px;
	padding-bottom: 80px;
	border-bottom: 1px dashed #000; */
}
.page-contact .mail-form .form-item-wrap > dt{
	width: 200px;
	font-weight: 700;
}
.page-contact .mail-form .form-item-wrap > dt.required:after{
	content:"*";
}
.page-contact .mail-form .form-item-wrap > dd{
	margin: 0;
	flex: 1;
}
.page-contact .mail-form .form-item-wrap .error-blank,
.page-contact .mail-form .form-item-wrap .error-format{
	color: #FF0019;
	margin-top: 5px;
	display: block;
	font-size: 15px;
}
.page-contact .mail-form .form-item-wrap input,
.page-contact .mail-form .form-item-wrap textarea{
	width: 100%;
	border: 1px solid #000;
	background-color: transparent;
	padding: 10px;
	font-family: 'Noto Sans JP';
}
.page-contact .mail-form .form-item-wrap textarea {
	height: 269px;
}
.page-contact .mail-form .text{
	line-height: 1.4;
	text-align: right;
}
.page-contact .mail-form .text-border{
	border: 1px solid #000;
	padding-top: 10px;
	padding-bottom: 10px;
	margin: 30px 0 100px;
}
.page-contact .mail-form .agreement{
	text-align: right;
	font-size: 18px;
}
.page-contact .mail-form .form-submit{
	margin-top: 30px;
}
.page-contact .mail-form .form-submit .btn-submit{
	font-size: 36px;
	margin-left: auto;
	padding: 10px 30px;
	letter-spacing: 5px;
	border: none;
	cursor: pointer;
}
.page-contact .mail-form .form-submit .btn-submit:disabled{
	background-color: #ccc;
	pointer-events: none;
}
.page-contact .mail-form .form-submit .btn-submit:after{
	width: 8px;
	height: 14px;
}
/* contact thanks */
.thanks-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
	z-index: 9999;
}
.thanks-popup.active {
	opacity: 1;
	visibility: visible;
}
.thanks-inner {
	background: #fff;
	padding: 40px;
	border-radius: 10px;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.page-contact .mail-form .note{
		font-size: 10px;
	}
	.page-contact .mail-form .form-item-wrap{
		grid-template-columns: 106px 1fr;
		margin-top: 52px;
		font-size: 10px;
		gap: 22px 0;
		/* margin-bottom: 40px;
		padding-bottom: 40px; */
		font-size: 12px;
	}
	.page-contact .mail-form .form-item-wrap > dt{
		width: 106px;
	}
	.page-contact .mail-form .text{
		font-size: 10px;
		padding: 0;
		white-space: nowrap;
		letter-spacing: -0.1px;
	}
	.page-contact .mail-form .text-border{
		padding: 15px 25px;
		margin: 20px 0 48px;
	}
	.page-contact .mail-form .agreement {
		font-size: 10px;
	}
	.page-contact .mail-form .form-submit {
		margin-top: 20px;
	}
	.page-contact .mail-form .form-submit .btn-submit {
		font-size: 18px;
		padding: 7px 15px;
		letter-spacing: 2px;
	}
	.page-contact .mail-form .form-submit .btn-submit:after{
		width: 4px;
		height: 7px;
	}
	.input-check > span:before{
		width: 10px;
		height: 10px;
		margin-right: 6px;
	}
	.input-check > span::after {
		left: 4px;
		top: -2px;
		width: 4px;
		height: 9px;
	}
}

/*our business*/
.page-our-business .sec-title{
}
.page-our-business .sec-title-jp{
}
.page-our-business .sec-what{
	position: relative;
}
.page-our-business .sec-what::before{
	content: '';
	display: block;
	width: 100%;
	height: 1506px;
	background: url('./images/our-business/bg-1.svg') no-repeat left center / contain;
	position: absolute;
	z-index: -1;
	top: -533px;
}
.page-our-business .sec-what .desc-wrap{
	max-width: 792px;
	margin-left: auto;
}
.page-our-business .sec-what .sec-title-jp{
	margin-top: 8px;
}
.page-our-business .sec-what .text{
	margin-top: 60px;
	font-size: 22px;
}
.page-our-business .sec-service{
	position: relative;
}
.page-our-business .sec-service .sec-inner{
	padding-left: 140px;
}
.page-our-business .sec-service:nth-child(2n+1) .service-wrap{
	max-width: 792px;
	margin-left: auto;
}
.page-our-business .sec-service .title-wrap .top{
	display: flex;
	align-items: center;
	gap: 0 72px;
}
.page-our-business .sec-service .title-jp{
	font-size: 28px;
	font-weight: 700;
}
.page-our-business .sec-service .title-en{
	display: block;
	font-size: 58px;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	margin-top: 50px;
}
.page-our-business .sec-service .text{
	margin-top: 20px;
}
.page-our-business .sec-service .image-wrap{
	margin-top: 60px;
	display: flex;
	align-items: flex-start;
	gap: 0 44px;
}
.page-our-business .sec-service .image-wrap > img{
	width: 588px;
	height: auto;
}
.page-our-business .sec-service.-service-1::before{
	content: '';
	display: block;
	width: 100%;
	height: 1380px;
	background: url('./images/our-business/bg-2.svg') no-repeat right center / contain;
	position: absolute;
	z-index: -1;
	top: -33px;
}
.page-our-business .sec-service.-service-3::before{
	content: '';
	display: block;
	width: 100%;
	height: 1476px;
	background: url('./images/our-business/bg-3.svg') no-repeat right center / contain;
	position: absolute;
	z-index: -1;
	top: 400px;
	left: -600px;
}
.page-our-business .sec-service .btn{
	font-size: 18px;
}
.page-our-business .sec-social-impact{
	background: url('./images/our-business/bg-4.webp') no-repeat center top / cover;
	background-image: linear-gradient(rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.5) 70%, rgba(0,0,0,1) 100%), url(./images/our-business/bg-4.webp);
	color: #FFF;
	margin-top: 100px;
}
.page-our-business .sec-social-impact .sec-inner{
	padding: 657px 140px 0px;
}
.page-our-business .sec-social-impact .sec-title-jp{
	margin-top: 30px;
}
.page-our-business .sec-social-impact .text{
	margin-top: 40px;
}
.page-our-business .sec-social-impact-2{
	color: #FFF;
	background: linear-gradient(#000 0%, #000 10%, #000000 70%, #0000007a 87%, #f5f5f5 100%);
}
.page-our-business .sec-social-impact-2 .sec-inner{
	padding: 200px 140px 500px;
}
.page-our-business .sec-social-impact-2 .method-wrap .method{
	display: flex;
	align-items: flex-start;
}
.page-our-business .sec-social-impact-2 .method-wrap .method + .method{
	margin-top: 80px;
}
.page-our-business .sec-social-impact-2 .method-wrap .method .name{
	font-size: 32px;
	font-weight: 700;
	width: 406px;
	border-bottom: 1px solid #FFF;
	line-height: 1;
	flex-shrink: 0;
}
.page-our-business .sec-social-impact-2 .method-wrap .method .cont{
	margin-top: 28px;
}
.page-our-business .sec-img-business img{
	width: 100%;
	max-width: 950px;
	display: block;
	margin: auto;
}
@media screen and (max-width: 768px) {
	.page-our-business .sec-title{
		font-size: 18px;
	}
	.page-our-business .sec-title-jp{
		font-size: 22px;
		margin-top: 10px;
	}
	.page-our-business .sec-what::before{
		content: none;
	}
	.page-our-business .sec-what .sec-title-jp{
		margin-top: 10px;
	}
	.page-our-business .sec-what .text{
		margin-top: 20px;
		font-size: 12px;
	}
	.page-our-business .sec-img-business .img-business{
		width: 80%;
		margin: auto;
	}
	.page-our-business .sec-service .sec-inner{
		padding-left: 20px;
	}
	.page-our-business .sec-service .title-wrap .top{
		flex-direction: column;
		align-items: flex-start;
		gap: 20px 0;
	}
	.page-our-business .sec-service .title-jp{
		font-size: 18px;
		letter-spacing: -0.36px;
	}
	.page-our-business .sec-service .title-en{
		font-size: 32px;
		letter-spacing: -0.96px;
		margin-top: 4px;
	}
	.page-our-business .sec-service .image-wrap{
		margin-top: 20px;
	}
	.page-our-business .sec-service .image-wrap > img{
		width: 100%;
	}
	.page-our-business .sec-service .text{
		margin-top: 15px;
		font-size: 12px;
		line-height: 18px;
	}
	.page-our-business .sec-service .btn{
		margin-left: auto;
		font-size: 11px;
	}
	.page-our-business .sec-service + .sec-service{
		margin-top: 30px;
	}
	.page-our-business .sec-social-impact{
		/* background-image: url('./images/our-business/bg-4-sp.webp'); */
		background-image: linear-gradient(rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 1) 61%, rgba(0, 0, 0, 1) 100%), url(./images/our-business/bg-4-sp.webp);
		background-image: url(./images/our-business/bg-4-sp-long.webp);
		margin-top: 100px;
	}
	.page-our-business .sec-social-impact .sec-inner{
		padding: 358px 20px 60px;
	}
	.page-our-business .sec-social-impact .sec-title-jp{
		margin-top: 6px;
	}
	.page-our-business .sec-social-impact .text{
		margin-top: 26px;
	}
	.page-our-business .sec-social-impact-2{
		margin-top: -1px;
	}
	.page-our-business .sec-social-impact-2 .sec-inner{
		padding: 0 20px 272px;
	}
	.page-our-business .sec-social-impact-2 .method-wrap .method{
		display: block;
	}
	.page-our-business .sec-social-impact-2 .method-wrap .method + .method {
		margin-top: 30px;
	}
	.page-our-business .sec-social-impact-2 .method-wrap .method .name{
		font-size: 22px;
		letter-spacing: 0.44px;
		width: inherit;
		border: none;
	}
	.page-our-business .sec-social-impact-2 .method-wrap .method .cont{
		margin-top: 20px;
	}
}

/* List of artists */
.page-artist .sec-profile{
	position: relative;
}
.page-artist .sec-profile::before{
	content: '';
	display: block;
	width: 100%;
	height: 1666px;
	background: url('./images/artist/bg-1.svg') no-repeat left center / contain;
	position: absolute;
	z-index: -1;
	top: -690px;
}
.page-artist .sec-profile .sec-inner{
	display: flex;
	justify-content: space-between;
	gap: 0 177px;
}
.page-artist .sec-profile .sec-inner .info-wrap{
	flex: 1;
}
.page-artist .sec-profile .sec-inner .info-wrap .btn-wrap{
	margin-top: 100px;
}
.page-artist .sec-profile .info-wrap .genre{
}
.page-artist .sec-profile .info-wrap .name{
	font-size: 90px;
	font-weight: 600;
}
.page-artist .sec-profile .info-wrap .name-jp{
	font-size: 38px;
	font-weight: 700;
	margin-top: 8px;
}
.page-artist .sec-profile .profile{
	margin-top: 80px;
}
.page-artist .sec-profile .flex-wrap + .flex-wrap{
	margin-top: 70px;
}
.page-artist .sec-profile .flex-wrap {
	display: flex;
	border-bottom: 1px dashed #000;
	padding-bottom: 4px;
	font-family: 'Noto Sans JP';
}
.page-artist .sec-profile .flex-wrap .left{
	font-weight: 700;
	width: 50%;
}
.page-artist .sec-profile .flex-wrap .right{
	flex: 1;
	font-weight: 500;
}
.page-artist .sec-profile .img-wrap{
	width: 100%;
	max-width: 410px;
}
.page-artist .sec-profile .img-wrap img{
	width: 100%;
	height: auto;
	position: sticky;
	top: 118px;
}
.page-artist .sec-profile .others-wrap{
	margin-top: 90px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.page-artist .sec-profile .others-wrap .icons{
	display: flex;
	gap: 0 14px;
}
.page-artist .sec-profile .others-wrap .icons > a{
	width: 40px;
	height: 40px;
}
.page-artist .sec-profile .others-wrap .icons > a img{
	width: 100%;
}
.page-artist .profile .title{
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 26px;
}
.page-artist .result-wrap{
	margin-top: 250px;
}
.page-artist .title-result{
	font-size: 38px;
	font-weight: 700;
	margin-bottom: 26px;
}
.page-artist .result-list{
	margin-bottom: 100px;
}
.page-artist .result{
	display: flex;
	justify-content: space-between;
	border-top: dashed 1px #000;
	padding: 26px 0 26px 100px;
	font-family: 'Noto Sans JP';
}
.page-artist .result:last-child{
	border-bottom: dashed 1px #000;
}
.page-artist .result .left{
	font-weight: 700;
}
.page-artist .result .btn-back{
	font-size: 25px;
}
.page-artist .result + .btn-wrap{
	margin-top: 100px;
}
.page-artist .btn-back{
	font-size: 24px;
	padding: 11px 17px;
}
.page-artist-group .sec-profile .profile .flex-wrap{
	flex-direction: column;
	gap: 10px 0;
	padding-bottom: 14px;
}
.page-artist-group .result{
	padding-left: 0;
	line-height: 1.8;
}
@media screen and (max-width: 768px) {
	.page-artist .sec-profile .info-wrap .genre{
		font-size: 22px;
	}
	.page-artist .sec-profile .info-wrap .name{
		font-size: 46px;
		margin-top: 10px;
	}
	.page-artist .sec-profile .info-wrap .name-jp{
		font-size: 22px;
	}
	.page-artist .sec-profile .info-wrap .img-wrap{
		width: 100%;
		padding: 0 40px;
		margin: 30px auto 0;
	}
	.page-artist .sec-profile .info-wrap .img-wrap img{
		width: 100%;
		height: auto;
		position: static;
	}
	.page-artist .sec-profile .profile {
		margin-top: 50px;
	}
	.page-artist .sec-profile .flex-wrap{
		font-size: 14px;
	}
	.page-artist .sec-profile .flex-wrap{
		padding-bottom: 5px;
	}
	.page-artist .sec-profile .flex-wrap + .flex-wrap{
		margin-top: 40px;
	}
	.page-artist .sec-profile .others-wrap {
		margin-top: 50px;
	}
	.page-artist .sec-profile .others-wrap .icons > a {
		width: 24px;
		height: 24px;
	}
	.page-artist .sec-profile .others-wrap .icons {
		gap: 0 10px;
	}
	.page-artist .profile .title{
		font-size: 22px;
	}
	.page-artist .result-wrap{
		margin-top: 80px;
	}
	.page-artist .title-result {
		font-size: 22px;
	}
	.page-artist .result-list{
		margin-bottom: 45px;
	}
	.page-artist .sec-profile .sec-inner .info-wrap .btn-wrap{
		margin-top: 45px;
	}
	.page-artist .result{
		font-size: 12px;
		padding: 14px 0;
	}
	.page-artist .result + .btn-wrap{
		margin-top: 40px;
	}
	.page-artist .btn-back{
		font-size: 12px;
		padding: 5px 8px;
	}
}



/* page-artist-management */
.page-artist-management .sec{
	position: relative;
}
/* .page-artist-management .sec-what::before {
    content: '';
    display: block;
    width: 100%;
    height: 1918px;
    background: url(./images/our-business/bg-1.webp) no-repeat left center / contain;
    position: absolute;
    z-index: -1;
    top: -833px;
} */
.page-artist-management .sec-support .sec-inner{
	display: flex;
}
.page-artist-management .sec-support .sec-inner .sec-title-jp{
	margin-top: 10px;
}
.page-artist-management .sec-support .sec-inner .img-wrap{
	flex: 1;
}
.page-artist-management .sec-support .sec-inner .img-wrap img{
	width: 100%;
}
.page-artist-management .sec-support .sec-inner .text-wrap{
	margin-left: 55px;
}
.page-artist-management .sec-support .sec-inner .text-wrap .list-disc{
	margin-top: 65px;
	font-size: 22px;
}
.page-artist-management .sec-support .sec-inner .text-wrap .list-disc li + li{
	margin-top: 10px;
}
.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap{
	margin-top: 50px;
}
.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap .name{
	font-size: 36px;
	border-bottom: 1px solid #000;
	line-height: .78;
	font-style: italic;
	font-weight: 600;
}
.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap .btn{
	margin-left: auto;
	font-size: 24px;
}
@media screen and (max-width: 768px) {
	.page-artist-management .sec-support .sec-inner .text-wrap{
		margin: 0;
	}
	.page-artist-management .sec-support .sec-inner .sec-title-jp{
		margin-top: 20px;
	}
	.page-artist-management .sec-support .sec-inner .text-wrap .img-wrap{
		margin-top: 14px;
	}
	.page-artist-management .sec-support .sec-inner .text-wrap .list-disc{
		margin-top: 35px;
		text-align: center;
		font-size: 13px;
	}
	.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap{

	}
	.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap .name{
		font-size: 16px;
		border: none;
		text-align: center;
	}
	.page-artist-management .sec-support .sec-inner .text-wrap .link-wrap .btn{
		margin: 10px auto 0;
		font-size: 11px;
	}
}

/* Loading */
.loading {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	transition: transform 0.8s cubic-bezier(0.76, 0, 0.24, 1);
}
.loading.is-loaded {
	transform: translateY(-100%);
}
.loading-logo-wrap {
	position: relative;
	width: 140px;
}
/* ベース：薄く見せるロゴ */
.loading-logo-base {
	width: 100%;
	height: auto;
	display: block;
	opacity: 0.15;
}
/* マスクで下から上に塗りつぶされるロゴ */
.loading-logo-mask {
	position: absolute;
	inset: 0;
	clip-path: inset(100% 0% 0% 0%);
	transition: clip-path 0.15s ease-out;
}
.loading-logo-fill {
	width: 100%;
	height: auto;
	display: block;
}
@media screen and (max-width: 768px) {
	.loading-logo-wrap {
		width: 90px;
	}
}
.loading-percent {
	color: #fff;
	font-family: "Barlow Condensed", sans-serif;
	font-size: min(3vw, 22px);
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 20px;
}
@media screen and (max-width: 768px) {
	.loading-percent {
		font-size: 3.5vw;
		bottom: 10vw;
	}
}

/* page-404 */
.page-404 {
	height: 80vh;
}
.page-404 .text-404{
	font-size: 18px;
}
@media screen and (max-width: 768px) {
	.page-404 .text-404{
		font-size: 14px;
	}
}

/* privacy policy */
.privacy-cont{
	font-size: 16px;
	line-height: 1.5;
	padding-left: min(320px, 22.22vw);
	font-family: 'Noto Sans JP';
}
.article{
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px solid #ccc;
}
.article .article-ttl{
	font-size: 24px;
}
@media screen and (max-width: 768px) {
	.privacy-cont{
		padding-left: 0;
	}
}

/* page-event */
.header-event{
	background: #FFF;
	padding: 0 30px;
	border-bottom: 1px solid #e0e0e0;
}
.header-event .header-inner{
	max-width: 960px;
	margin: 0 auto;
	padding: 14px 0;
}
.header-event .logo{
	width: 215px;
	flex-shrink: 0;
}
.header-event .logo-iam{
	width: 51px;
}
.header-event .logo img{
	width: 100%;
}
.header-event .contact-box {
	border: 1px solid #ccc;
	border-radius: 8px;
	padding: 10px 16px;
	max-width: 600px;
	position: relative;
}
.header-event .contact-box__label {
	display: inline-block;
	background: #fff;
	font-size: 12px;
	color: #333;
	padding: 0 8px;
	position: relative;
	top: -10px;
	white-space: nowrap;
}
.header-event .contact-box__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.header-event .contact-box__tel-text {
	font-size: 13px;
	color: #333;
	margin-bottom: 4px;
}
.header-event .contact-box__tel-num {
	font-size: 26px;
	font-weight: bold;
	color: #00aaff;
	text-decoration: none;
	letter-spacing: 2px;
}
.header-event .contact-box__btn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #808080;
	color: #fff;
	text-decoration: none;
	padding: 11px 15px;
	border-radius: 4px;
	font-size: 14px;
	white-space: nowrap;
}
.header-event .contact-box__btn .emoji {
	font-size: 16px;
}
.page-event {
	--bg: #f5f4f0;
	--bg2: #ffffff;
	--text: #111;
	--text2: #444;
	--text3: #999;
	--red: #d0191c;
	--border: #e0e0e0;
	--nav-bg: #111;
	--info-bg: #ffffff;
	--step-bg: #ffffff;
	--btn-entry: #111;
	--btn-entry-text: #fff;
	--sec-label: #999;
	/* background: var(--bg); */
	color: var(--text);
	transition: background 0.25s, color 0.25s;
	font-size: 15px;
	line-height: 1.7;
	margin-top: 44px;
}
.page-event.dark {
	--bg: #111;
	--bg2: #1a1a1a;
	--text: #f0f0f0;
	--text2: #aaa;
	--text3: #555;
	--border: #2a2a2a;
	--nav-bg: #000;
	--info-bg: #1a1a1a;
	--step-bg: #1a1a1a;
	--btn-entry: #f0f0f0;
	--btn-entry-text: #111;
	--sec-label: #555;
}
.page-event .c-red {
	color: var(--red);
}
.page-event .content-wrap {
	max-width: 960px;
	margin: 0 auto;
}
.page-event .hero {
	width: 100%;
	background: #fff;
	border-bottom: 1px solid #e0e0e0;
	overflow: hidden;
	min-height: 200px;
	padding: 0 24px;
}
.page-event .hero .hero-inner {
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	height: 100%;
	padding: 28px 0;
}
.page-event .hero-eyebrow {
	font-size: 13px;
	letter-spacing: 0.2em;
	color: var(--red);
	font-weight: 700;
	margin-bottom: 8px;
	text-transform: uppercase;
}
.page-event .hero-title {
	font-size: 48px;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 0.9;
	margin-bottom: 12px;
	text-transform: uppercase;
	font-family: "Barlow Condensed";
	letter-spacing: 1px;
}
.page-event .hero-title span {
	display: block;
}
.page-event .hero-meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.page-event .hero-meta-row {
	font-size: 15px;
	color: rgba(0, 0, 0, 0.5);
	letter-spacing: 0.07em;
	font-weight: 600;
}
.page-event .hero-meta-row strong {
	color: rgba(0, 0, 0, 0.85);
}
.page-event .img-block {
	flex-shrink: 0;
	width: 52%;
}
.page-event .img-block img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: bottom;
	display: block;
}
.page-event .text-block {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.page-event .entry-wrap {
	padding: 28px 24px;
	background: var(--bg2);
	border-bottom: 1px solid var(--border);
	transition: background 0.25s, border-color 0.25s;
}
.page-event .entry-inner {
	max-width: 960px;
	margin: 0 auto;
}
.page-event .entry-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
.page-event .sec-label {
	font-size: 20px;
	letter-spacing: 0.18em;
	font-weight: 700;
	color: var(--sec-label);
	text-transform: uppercase;
	font-family: "Barlow Condensed";
	letter-spacing: 1px;
	border: 1px solid #999;
	padding: 0 10px;
}
.page-event .badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	padding: 3px 10px;
	border-radius: 2px;
}
.page-event .badge-open {
	background: var(--red);
	color: #fff;
}
.page-event .badge-soon {
	background: #555;
	color: #FFF;
}
.page-event .badge-closed {
	background: var(--border);
	color: var(--text3);
}
.page-event .timeline {
	display: flex;
	margin-bottom: 20px;
}
.page-event .tl-item {
	flex: 1;
	text-align: center;
	position: relative;
}
.page-event .tl-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--border);
	margin: 0 auto 5px;
	position: relative;
	z-index: 1;
	transition: background 0.25s;
}
.page-event .tl-dot.active {
	background: var(--red);
}
.page-event .tl-dot.done {
	background: var(--text3);
}
.page-event .tl-line {
	position: absolute;
	top: 4px;
	left: 50%;
	right: -50%;
	height: 1px;
	background: var(--border);
	z-index: 0;
}
.page-event .tl-date {
	font-size: 14px;
	font-weight: 700;
	color: var(--text2);
	letter-spacing: 0.04em;
}
.page-event .tl-label {
	font-size: 13px;
	color: var(--text3);
	letter-spacing: 0.06em;
}
.page-event .entry-note {
	background: var(--bg);
	border-radius: 2px;
	padding: 12px 14px;
	font-size: 14px;
	color: var(--text2);
	margin-bottom: 16px;
	border-left: 3px solid var(--red);
	line-height: 1.8;
	transition: background 0.25s;
}
.page-event .entry-note strong {
	color: var(--red);
}
.page-event .entry-btn {
	display: block;
	width: 100%;
	padding: 15px;
	border: none;
	border-radius: 2px;
	font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.14em;
	cursor: pointer;
	transition: all 0.15s;
	text-transform: uppercase;
	text-align: center;
}
.page-event .entry-btn.open {
	background: var(--btn-entry);
	color: var(--btn-entry-text);
}
.page-event .entry-btn.open:hover {
	opacity: 0.82;
}
.page-event .entry-btn.soon,
.page-event .entry-btn.closed {
	background: transparent;
	color: var(--text3);
	border: 1px solid var(--border);
	cursor: not-allowed;
}
.page-event .section {
	padding: 36px 24px;
	border-bottom: 1px solid var(--border);
	transition: border-color 0.25s;
}
.page-event .section-inner {
	max-width: 960px;
	margin: 0 auto;
}
.page-event .section .sec-label {
	margin-bottom: 16px;
}
.page-event .sec-title {
	font-size: 24px;
	font-weight: 900;
	letter-spacing: 0.02em;
	margin-bottom: 14px;
	line-height: 1.15;
}
.page-event .sec-body {
	font-size: 15px;
	color: var(--text2);
	line-height: 1.95;
	font-weight: 400;
}
.page-event .sec-body.c-red {
	color: var(--red);
}
.page-event .note-bar {
	margin-top: 16px;
	padding: 10px 14px;
	border-left: 3px solid var(--red);
	background: var(--step-bg);
	font-size: 12px;
	color: var(--text2);
	font-weight: 500;
	transition: background 0.25s;
}
.page-event .info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	margin-top: 20px;
}
.page-event .info-cell {
	background: var(--info-bg);
	padding: 15px 18px;
	transition: background 0.25s;
}
.page-event .info-cell-label {
	font-size: 14px;
	letter-spacing: 0.16em;
	color: var(--text3);
	text-transform: uppercase;
	margin-bottom: 4px;
	font-weight: 700;
	font-family: "Barlow Condensed";
	letter-spacing: 1px;
}
.page-event .info-cell-val {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
}
.page-event .info-fee-wrap {
	display: flex;
	gap: 10px 25px;
	flex-wrap: wrap;
}
.page-event .info-cell-val .tax {
	font-size: 12px;
}
.page-event .info-cell.red .info-cell-val {
	color: var(--red);
}
.page-event .info-cell.full {
	grid-column: 1 / -1;
}
.page-event .info-cell .text-u-line {
    text-decoration: underline;
}
.page-event .info-cell-sub {
	font-size: 12px;
	color: var(--text3);
	margin-top: 2px;
}
.page-event .instructors {
	display: flex;
	flex-direction: column;
	gap: 0;
	border: 1px solid var(--border);
}
.page-event .instructor {
	display: flex;
	gap: 14px;
	padding: 18px 16px;
	border-bottom: 1px solid var(--border);
	transition: border-color 0.25s;
}
.page-event .instructor:last-child {
	border-bottom: none;
}
.page-event .instructor-avatar {
	flex-shrink: 0;
	width: 90px;
	height: auto;
	background: var(--bg);
	border-radius: 2px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	font-size: 9px;
	color: var(--text3);
	letter-spacing: 0.04em;
	text-align: center;
	font-weight: 700;
	line-height: 1.4;
	transition: background 0.25s;
}
.page-event .instructor-avatar img {
	width: 100%;
	height: auto;
}
.page-event .instructor-body {
	flex: 1;
}
.page-event .instructor-name {
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 2px;
}
.page-event .instructor-kana {
	font-size: 11px;
	color: var(--text3);
	letter-spacing: 0.06em;
	margin-bottom: 6px;
	font-weight: 600;
}
.page-event .instructor-bio {
	font-size: 13px;
	color: var(--text2);
	line-height: 1.8;
	font-weight: 400;
}
.page-event .instructor-tags {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 8px;
	display: none;
}
.page-event .instructor-tag {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 2px 8px;
	border-radius: 2px;
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text3);
	transition: background 0.25s;
}
.page-event .instructor-tag.red {
	background: var(--red);
	border-color: var(--red);
	color: #fff;
}
.page-event .steps {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.page-event .step {
	display: flex;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--border);
	transition: border-color 0.25s;
}
.page-event .step:last-child {
	border-bottom: none;
}
.page-event .step-num {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	background: var(--text);
	color: var(--bg2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.04em;
	border-radius: 2px;
	font-family: "Barlow Condensed", sans-serif;
	transition: background 0.25s, color 0.25s;
}
.page-event .step-body {
	flex: 1;
}
.page-event .step-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 4px;
}
.page-event .step-desc {
	font-size: 14px;
	color: var(--text2);
	line-height: 1.8;
}
.page-event .step-notes {
	margin-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.page-event .step-note {
	font-size: 12px;
	color: var(--text3);
	line-height: 1.6;
}
.page-event .step-note::before {
	content: "※ ";
	color: var(--red);
	font-weight: 700;
}
.page-event .after-entry {
	margin-top: 28px;
}
.page-event .after-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--text);
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--border);
}
.page-event .after-steps {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.page-event .after-step {
	background: var(--step-bg);
	border: 1px solid var(--border);
	border-radius: 2px;
	padding: 14px 16px;
	transition: background 0.25s;
}
.page-event .after-step-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}
.page-event .after-step-num {
	font-size: 11px;
	font-weight: 900;
	color: var(--red);
	letter-spacing: 0.1em;
}
.page-event .after-step-title {
	font-size: 14px;
	font-weight: 700;
}
.page-event .after-step-desc {
	font-size: 14px;
	color: var(--text2);
	line-height: 1.8;
}
.page-event .contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	margin-top: 16px;
}
.page-event .contact-cell {
	background: var(--info-bg);
	padding: 15px 18px;
	transition: background 0.25s;
}
.page-event .contact-cell.full {
	grid-column: 1 / -1;
}
.page-event .contact-label {
	font-size: 14px;
	letter-spacing: 0.14em;
	color: var(--text3);
	text-transform: uppercase;
	margin-bottom: 4px;
	font-weight: 700;
}
.page-event .contact-val {
	font-size: 18px;
	font-weight: 700;
}
.page-event .contact-val a {
	color: var(--red);
	text-decoration: none;
}
.page-event .img-wrap img {
	width: 100%;
}
.page-event .sec-note .sec-label {
	color: #c84f50;
}
/* ── JUDGE / DJ / MC レイアウト ── */

.judges-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px 16px;
}

.judge-card {
    width: calc(20% - 13px); /* JUDGE: 5列 */
    min-width: 120px;
}

.judge-avatar-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 10px;
}

.judge-avatar-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.judge-name {
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 2px;
}

.judge-kana {
    font-size: 0.75rem;
    color: #888;
    margin-bottom: 4px;
}

.judge-affiliation {
    font-size: 0.72rem;
    color: #555;
    line-height: 1.4;
}

.judge-bio {
    font-size: 0.8rem;
    margin-top: 6px;
    line-height: 1.5;
}

/* DJ / MC 同一行レイアウト */
.dj-mc-row {
    display: flex;
    gap: 40px;
    margin-top: 48px;
    align-items: flex-start;
}

.dj-mc-block {
    flex: 0 0 auto;
}

/* DJ・MCブロック内のカードは人数に応じて自動幅 */
.dj-mc-block .judges-grid {
    flex-wrap: nowrap;
}

.dj-mc-block .judge-card {
    width: 160px;
}

/* レスポンシブ */
@media (max-width: 768px) {
    .judge-card {
        width: calc(33.333% - 11px); /* SP: 3列 */
    }

    .dj-mc-row {
        flex-direction: column;
        gap: 32px;
    }

    .dj-mc-block .judges-grid {
        flex-wrap: wrap;
    }

    .dj-mc-block .judge-card {
        width: calc(33.333% - 11px);
    }
}

@media (max-width: 480px) {
    .judge-card {
        width: calc(50% - 8px); /* SP小: 2列 */
    }
}

@media (max-width: 390px) {
	.page-event .instructor{
		flex-direction: column;
	}
}
@media (max-width: 768px) {
	.header-event .header-inner{
		padding: 12px 0;
	}
	.header-event .logo{
		width: 124px;
	}
	.header-event .logo-iam{
		width: 32px;
	}
	.header-event .contact-box{
		border: none;
		padding: 0;
	}
	.header-event .contact-box__tel{
		display: none;
	}
	.page-event .hero .hero-inner{
		flex-direction: column-reverse;
		padding: 0;
	}
	.page-event .text-block{
		padding: 28px 0;
	}
	.page-event .img-block{
		width: auto;
		padding: 58px 0 0;
	}
}
@media (min-width: 769px) {
	.page-event{
		margin-top: 99px;
	}
	.page-event .pc-two-col {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
	}
	.page-event .info-grid {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.page-event .info-cell.full {
		grid-column: 1 / -1;
	}
	.page-event .instructors {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0;
	}
	.page-event .instructor {
		border-right: 1px solid var(--border);
		border-bottom: 1px solid var(--border);
	}
	.page-event .instructor:nth-child(2n) {
		border-right: none;
	}
	.page-event .hero {
		max-height: none;
		min-height: 480px;
	}
	.page-event .hero-title {
		font-size: 96px !important;
	}
	.page-event .hero-content {
		padding: 48px 64px !important;
	}
	.page-event .hero-eyebrow {
	}
	.page-event .hero-meta-row {
	}
	.page-event .sec-title {
		font-size: 28px;
	}
	.page-event .section {
		padding: 48px 32px;
	}
	.page-event .entry-wrap {
		padding: 36px 32px;
	}
	.page-event .hero-img{
		object-fit: contain;
	}
}
/* event result secrion */
/* =========================================
   RESULT セクション — King of College 2026
   既存の style.css または battle-event.css に追記してください
   ========================================= */

/* ---------- Gallery grid ---------- */
.sec-result .result-gallery {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin-top: 40px;
}

/* メイン（バク転）: 左3列 */
.result-gallery__item--main {
    grid-column: 1 / 4;
}

/* 1on1バトル: 右3列 */
.result-gallery__item:nth-child(2) {
    grid-column: 4 / 7;
}

/* チームバトル: 左2列 */
.result-gallery__item:nth-child(3) {
    grid-column: 1 / 3;
}

/* 集合写真: 中2列 */
.result-gallery__item:nth-child(4) {
    grid-column: 3 / 5;
}

/* DJ: 右2列 */
.result-gallery__item:nth-child(5) {
    grid-column: 5 / 7;
}

/* 優勝チーム: 全6列 */
.result-gallery__item--winner {
    grid-column: 1 / 7;
}

/* ---------- Image wrap ---------- */
.result-gallery__img-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.result-gallery__item--main .result-gallery__img-wrap,
.result-gallery__item:nth-child(2) .result-gallery__img-wrap,
.result-gallery__item:nth-child(3) .result-gallery__img-wrap,
.result-gallery__item:nth-child(4) .result-gallery__img-wrap,
.result-gallery__item:nth-child(5) .result-gallery__img-wrap {
    aspect-ratio: 4 / 3;
}

.result-gallery__item--winner .result-gallery__img-wrap {
    aspect-ratio: 16 / 6;
}

.result-gallery__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.result-gallery__img-wrap:hover img {
    transform: scale(1.04);
}

/* ---------- Winner badge ---------- */
.result-gallery__badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: #e8002a;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    padding: 6px 14px;
    text-transform: uppercase;
}

/* =========================================
   SP (768px以下)
   ========================================= */
@media screen and (max-width: 768px) {

    .sec-result .result-gallery {
        grid-template-columns: 1fr 1fr;
        gap: 3px;
        margin-top: 8vw;
    }

    /* SP: 全アイテムを2列で流す */
    .result-gallery__item--main,
    .result-gallery__item:nth-child(2),
    .result-gallery__item:nth-child(3),
    .result-gallery__item:nth-child(4),
    .result-gallery__item:nth-child(5) {
        grid-column: auto;
    }

    .result-gallery__item--main .result-gallery__img-wrap,
    .result-gallery__item:nth-child(2) .result-gallery__img-wrap,
    .result-gallery__item:nth-child(3) .result-gallery__img-wrap,
    .result-gallery__item:nth-child(4) .result-gallery__img-wrap,
    .result-gallery__item:nth-child(5) .result-gallery__img-wrap {
        aspect-ratio: 1 / 1;
    }

    /* 優勝チームのみ全幅 */
    .result-gallery__item--winner {
        grid-column: 1 / 3;
    }

    .result-gallery__item--winner .result-gallery__img-wrap {
        aspect-ratio: 16 / 9;
    }

    .result-gallery__badge {
        font-size: 2.5vw;
        padding: 1vw 3vw;
        top: 2vw;
        left: 2vw;
    }
}


/* =========================================
   archive-event — イベント一覧ページ
   既存の style.css の末尾に追記してください
   ========================================= */

/* ---------- Page title ---------- */
/* .page-archive-event .sec-page-title {
	padding: 80px 0 60px;
	background: #000;
	color: #fff;
	text-align: center;
} */

.page-archive-event .sec-page-title .eyebrow {
	/* font-size: 12px;
	letter-spacing: 0.25em;
	color: #e8002a;
	text-transform: uppercase;
	margin-bottom: 12px; */
	display: none;
}

/* .page-archive-event .sec-page-title .page-title {
	font-size: clamp(48px, 8vw, 96px);
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
} */

/* ---------- Event list section ---------- */
.page-archive-event .sec-event-list {
	/* background: #0a0a0a;
	padding: 80px 0 120px; */
}

.page-archive-event .sec-event-list .sec-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

/* ---------- Event list grid ---------- */
.event-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 24px;
}

/* ---------- Event card ---------- */
.event-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease;
	border: 1px solid #bbb;
}

.event-card:hover {
	transform: translateY(-4px);
}

/* Thumbnail */
.event-card__thumb {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #1a1a1a;
}

.event-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.event-card:hover .event-card__thumb img {
	transform: scale(1.05);
}

/* Status badge */
.event-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 5px 12px;
	text-transform: uppercase;
	line-height: 1;
}

.event-card__badge--open {
	background: #e8002a;
	color: #fff;
}

.event-card__badge--soon {
	background: #444;
	color: #fff;
}

.event-card__badge--closed {
	background: #222;
	color: #888;
	border: 1px solid #444;
}

/* Card body */
.event-card__body {
	padding: 20px 20px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 8px;
}

.event-card__eyebrow {
	font-size: 10px;
	letter-spacing: 0.2em;
	color: #888;
	text-transform: uppercase;
}

.event-card__title {
	display: flex;
	flex-direction: column;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.event-card__title-l1 {
	font-size: clamp(20px, 2.5vw, 28px);
}

.event-card__title-l2 {
	font-size: clamp(20px, 2.5vw, 28px);
}

/* Meta (date / place) */
.event-card__meta {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 4px;
}

.event-card__meta-date,
.event-card__meta-place {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: #aaa;
	letter-spacing: 0.05em;
}

.event-card__meta-date svg,
.event-card__meta-place svg {
	flex-shrink: 0;
	opacity: 0.7;
}

/* Arrow */
.event-card__arrow {
	margin-top: auto;
	padding-top: 16px;
	font-size: 14px;
	color: #555;
	transition: color 0.2s ease, transform 0.2s ease;
	display: inline-block;
}

.event-card:hover .event-card__arrow {
	/* color: #fff; */
	transform: translateX(4px);
}

/* ---------- No events ---------- */
.no-events {
	color: #666;
	font-size: 14px;
	text-align: center;
	padding: 60px 0;
}

/* ---------- Pagination ---------- */
.pagination-wrap {
	margin-top: 60px;
	display: flex;
	justify-content: center;
}

.pagination-wrap .nav-links {
	display: flex;
	gap: 8px;
	align-items: center;
}

.pagination-wrap .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	font-size: 13px;
	color: #aaa;
	border: 1px solid #333;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	letter-spacing: 0.05em;
}

.pagination-wrap .page-numbers:hover,
.pagination-wrap .page-numbers.current {
	background: #e8002a;
	border-color: #e8002a;
	color: #fff;
}

.pagination-wrap .page-numbers.prev,
.pagination-wrap .page-numbers.next {
	width: auto;
	padding: 0 16px;
	font-size: 11px;
	letter-spacing: 0.15em;
}

/* =========================================
   Responsive — SP (768px以下)
   ========================================= */
@media screen and (max-width: 768px) {

	.page-archive-event .sec-page-title {
		padding: 60px 0 40px;
	}

	.page-archive-event .sec-event-list {
		padding: 10vw 0 16vw;
	}

	.page-archive-event .sec-event-list .sec-inner {
		padding: 0 5vw;
	}

	/* SP: 1列 */
	.event-list {
		grid-template-columns: 1fr;
		gap: 6vw;
	}

	.event-card__title-l1,
	.event-card__title-l2 {
		font-size: 7vw;
	}

	.event-card__body {
		padding: 4vw 4vw 5vw;
	}

	.event-card__eyebrow {
		font-size: 2.8vw;
	}

	.event-card__meta-date,
	.event-card__meta-place {
		font-size: 3vw;
	}

	.pagination-wrap {
		margin-top: 10vw;
	}

	.pagination-wrap .page-numbers {
		width: 10vw;
		height: 10vw;
		font-size: 3.5vw;
	}

	.pagination-wrap .page-numbers.prev,
	.pagination-wrap .page-numbers.next {
		width: auto;
		padding: 0 4vw;
		font-size: 3vw;
	}
}

/* =========================================
   Responsive — タブレット (769px〜1024px)
   ========================================= */
@media screen and (min-width: 769px) and (max-width: 1024px) {

	.event-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 32px 20px;
	}

	.page-archive-event .sec-event-list .sec-inner {
		padding: 0 4vw;
	}
}
