@charset "utf-8";

:root {
	/* font */
	--font_jp: "Noto Sans JP", sans-serif;
	--font_en: "Public Sans", "Noto Sans JP", sans-serif;

	/* color */
	--main_c: #0050E5;
	--main_c2: #F2F4F6;

	/* margin */
	--main_m: 120px;

	/* padding */
	--main_p: 40px;
}

*{ box-sizing: border-box;}

/* =base
------------------------------------------------------------------------------------------*/
html {overflow-y:scroll; height:100%;}
body {
	text-align: left;
	font-family: var(--font_jp);
	font-weight:600;
	font-size: 16px;
	line-height: 1.8em;
	color: #141414;
	margin: 0;
	min-height:100%;
	overflow-x: hidden;
	background-color:var(--main_c2);
}
.sp_only{display: none;}
.pc_only{display: initial;}

@media only screen and (max-width: 768px){
	body{font-size: 14px;}
	
	.sp_only{display: initial;}
	.pc_only{display: none!important;}
	}

/* common
-------------------------------*/
img{width: auto;height: auto;max-width: 100%;}

a {text-decoration: none;cursor: pointer;color: var(--main_c);outline:none; transition: 0.2s;}
a:link {  text-decoration: none; }
a:hover {  opacity: 0.8;  text-decoration: none; transition: 0.2s;}
a:active {  text-decoration: none;}
a img { outline:none;}
a:hover img {  opacity: .8;  -webkit-opacity: .8;  -moz-opacity: .8;  filter: alpha(opacity=80);  -ms-filter: "alpha(opacity=80)"; transition:0.3s;}

/* container
-------------------------------*/
.container{ max-width: 1200px;width: 90%;margin: 0 auto;}
.container.w600{ max-width: 600px;}
.container.w700{ max-width: 700px;}
.container.w800{ max-width: 800px;}
.container.w900{ max-width: 900px;}
.container.w1100{ max-width: 1100px;}
.container.w1200{ max-width: 1200px;}
.container.w1300{ max-width: 1300px;}
.container.w1400{ max-width: 1400px;}

/* sec tit
-------------------------------*/
.sec_tit{font-family: var(--font_en);font-size: 6em;font-weight: bold;line-height: 1.5em;margin-bottom: calc(var(--main_m)/3);position: relative;padding-left: 0.4em;}
.sec_tit:before{position: absolute;content: "●";color: var(--main_c);font-size: 0.2em;left: 0.4em;top: 50%;transform: translateY(-50%);}

@media only screen and (max-width: 768px){
	.sec_tit{font-size: 4em;margin-bottom: calc(var(--main_m)/10);}
}

/* in page head
-------------------------------*/
.in_page_head{margin-top: 76px;padding: var(--main_p) 0;}
.in_page_head .page_tit{font-size: 6.5em;font-family: var(--font_en);font-weight: bold;line-height: 1.5em;position: relative;padding-left: 0.4em;}
.in_page_head .page_tit:after{position: absolute;content: "●";color: var(--main_c);font-size: 0.2em;left: 0.4em;top: 50%;transform: translateY(-50%);}

@media only screen and (max-width: 768px){
	.in_page_head{margin-top: 62px;padding: calc(var(--main_p)/1.5) 0;}
	.in_page_head .page_tit{font-size: 60px;}
}

/* align box
-------------------------------*/
.center_box{text-align: center;}
.left_box{text-align: left;}
.right_box{text-align: right;}

/* btn
-------------------------------*/
.btn{display: block;width: min(500px,80%);margin: 0 auto min(40px,8vw);background-color: var(--main_c);color: #fff;font-size: min(24px,4.8vw);line-height: 1.5em;padding: 0.7em 0;position: relative;text-align: center;text-decoration: none !important;}
.btn:after{border: 2px solid;border-color: transparent #fff #fff transparent;content: "";position: absolute;top: 50%;right: 0.7em;width: 9px;height: 9px;border-radius: 4px;transform: rotate(-45deg) translateY(-50%);transition: 0.2s;}
.btn:hover:after{right: 0.4em;transition: 0.2s;}

.btn_02{display: inline-block;width: min(200px,80%);margin: 0 auto;background-color: var(--main_c);color: #fff;font-family: var(--font_en);font-size: min(20px,4vw);line-height: 1.5em;padding: 1em 0;position: relative;text-align: center;text-decoration: none !important;}
.btn_03{display: inline-block;width: min(240px,60%);margin: 0 auto;background-color: var(--main_c);color: #fff;font-family: var(--font_en);font-size: min(18px,4vw);line-height: 1.5em;padding: 0.5em 0;position: relative;text-align: center;text-decoration: none !important;}

/* scrollbar
-------------------------------*/
.no_bar::-webkit-scrollbar{display: none;}
.no_bar{-ms-overflow-style: none;scrollbar-width: none;}

/* header
-------------------------------*/
header{display: flex;justify-content: space-between;position: fixed;z-index: 100;top: 16px;left: 2%;width: 96%;height: 60px;background-color: #fff;border-radius: 8px;}
header .logo{width: 160px;position: relative;top: 10px;left: 20px;}
header .global{display: flex;}
header .global li{margin-right: 1.5em;}
header .global li a{color: #000;line-height: 62px;font-family: var(--font_en);font-weight: 800;}
header .global li.en a{border: 1px solid;border-radius: 50px;display: flex;align-items: center;justify-content: center;font-size: 0.9em;width: 36px;height: 36px;position: relative;top: 13px;}

@media only screen and (max-width: 768px){
	header{height: 50px;width: 92%;left: 4%;top: 12px;}
	header .logo{width: 100px;top: 12px;left: 14px;z-index: 200;}
	header .sp_en_btn{border: 1px solid;border-radius: 50px;display: flex;align-items: center;justify-content: center;font-size: 0.9em;width: 36px;height: 36px;position: relative;top: 13px;font-family: var(--font_en);font-size: 1em;position: absolute;top: 8px;right: 56px;color: #000;z-index: 200;}

	header .global{width:100%;position:fixed;z-index:10;top:0;left:0;overflow-y: scroll;padding-top:0;height: 100dvh;background-image: url(../images/bg_menu_sp.jpg);transition:0.5s ease;flex-direction: column;background-position: center;background-size: cover;opacity: 0;visibility: hidden;}
	header .global li{width: 80%;margin: 0 auto;border-bottom: 1px solid #fff;}
	header .global li a{display: block;font-size: 1.2em;line-height: 1.5em;padding: 0.8em 1em;position: relative;letter-spacing: 0.05em;}
	header .global li a:before{position: absolute;content: "●";color: #fff;font-size: 0.4em;left: 0;top: 50%;transform: translateY(-50%);}
	header .global li a:after{border: 2px solid;border-color: transparent #000 #000 transparent;content: "";position: absolute;top: 50%;right: 0.2em;width: 7px;height: 7px;border-radius: 4px;transform: rotate(-45deg) translateY(-50%);transition: 0.2s;}

	header .global li.sp_sns{border: none;}
	header .global li.sp_sns a{display: flex;justify-content: center;align-items: center;padding: 1.5em 0 0;font-size: 1.3em;}
	header .global li.sp_sns a:before,
	header .global li.sp_sns a:after{display: none;}
	header .global li.sp_sns img{display: inline-block;width: 24px;margin-right: 12px;}

	header .global li.en{display: none;}

	header .nav-active .global{padding-top: 80px;opacity: 1;visibility: visible;}

	header .nav_trigger {display: block;position: fixed;width: 30px;height: 25px;right: calc(4% + 14px);top: 26px;z-index: 200;line-height:1;}
	header .nav-active .nav_trigger { opacity: 0.7;}
	header .nav_icon { display: inline-block; position: relative; width: 30px; height: 2px; background-color: #000; -webkit-transition-property: background-color, -webkit-transform; transition-property: background-color, -webkit-transform; transition-property: background-color, transform; transition-property: background-color, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms;}
	header .nav_icon:before,
	header .nav_icon:after { content: ''; display: block; width: 30px; height: 2px; position: absolute; background: #000; -webkit-transition-property: margin, -webkit-transform; transition-property: margin, -webkit-transform; transition-property: margin, transform; transition-property: margin, transform, -webkit-transform; -webkit-transition-duration: 300ms; transition-duration: 300ms;}
	header .nav_icon:before { margin-top: -9px;}
	header .nav_icon:after { margin-top: 9px;}
	header .nav-active .nav_icon { background: rgba(0, 0, 0, 0);}
	header .nav-active .nav_icon:before { margin-top: 0; -webkit-transform: rotate(45deg); transform: rotate(45deg);background:#000;}
	header .nav-active .nav_icon:after { margin-top: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); background:#000;}
}

/* footer
-------------------------------*/
footer{text-align: center; padding: var(--main_p);}
footer small{font-family: var(--font_en);}

/* single
-------------------------------*/
.single_area{margin-bottom: calc(var(--main_m) / 1.5);}
.single_area .title_box{border-bottom: 1px solid #D4D9DE;padding-bottom: 1em;margin-bottom: 1.5em;}
.single_area .title_box .date{font-family: var(--font_en);color: #6D7176;line-height: 1em;margin-bottom: 0.5em;}
.single_area .title_box .title{font-size: 1.6em;font-weight: bold;line-height: 1.5em;}
.single_area .txt_box{}
.single_area .txt_box a{text-decoration: underline;}
.single_area .txt_box strong{color:var(--main_c);}
.single_area .txt_box img{width: auto; height: auto; max-width: 100%;}

/* modal
-------------------------------*/
.modal_link{cursor: pointer;}

.modal_box{ position: fixed; background-color: #fff; width: 100%; height: 100lvh; top: 0; left: 0; z-index: 1000; transition: 0.5s cubic-bezier(0.87, 0, 0.13, 1); overflow: hidden; display: block; opacity: 0; visibility: hidden; cursor: pointer; transition: 0.2s;}
.modal_box.active{ opacity: 1; visibility: visible;}
.modal_box .close{position: absolute;width: min(42px,6vw);top: 20px;right: 20px;}
.modal_box .in_box{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 90%;max-width: 1000px;max-height: 80%;overflow-y: scroll;}
.modal_box .in_box .stit{font-size: min(40px,8vw);font-weight: bold;line-height: 1.5em;padding-bottom: 0.4em;margin-bottom: 0.6em;border-bottom: 1px solid #000;}
.modal_box .in_box .txt_box{text-align: left;}
.modal_box .in_box .txt_box .end_txt{text-align: right;}
.modal_box .bg_box{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 94%;max-width: 1000px;height: 80%;}
.modal_box .bg_box .icon{position: absolute;width: min(56px,10vw);}
.modal_box .bg_box .icon.top{top: max(-56px,-12vw);left: 0;}
.modal_box .bg_box .icon.bottom{bottom: max(-56px,-12vw);right: 0;transform: scale(-1,-1);}

/* artists modal */
.artists_modal{background-color: #fff;}
.artists_modal .in_box{display: flex;flex-direction: row-reverse;justify-content: space-between;}
.artists_modal .a_img{width: 48%;}
.artists_modal .txt_box{width: 48%;font-size: 0.9em;line-height: 1.8em;}
.artists_modal .txt_box .name{font-family: var(--font_en);font-size: 2em;font-weight: bold;line-height: 1.5em;margin-bottom: 12px;}
.artists_modal .txt_box a{text-decoration: underline;}
.artists_modal .txt_box .link_list{display: flex; flex-wrap: wrap;gap: 10px;justify-content: left;}
.artists_modal .txt_box .link_list a{width: calc((100% - 10px)/2);margin: initial;}
.artists_modal .txt_box .info{font-size: 0.9em;line-height: 1.8em;margin-bottom: 20px;}
.artists_modal .txt_box .info .tag{margin: 0;}
.artists_modal .txt_box .info .tag span{display: inline-block;border: 1px solid;border-radius: 5px;padding: 0.2em 0.7em;line-height: 1.5em;margin-bottom: 6px;}

@media only screen and (max-width: 768px){
	.artists_modal .in_box{flex-direction: column;padding-bottom: 100px;}
	.artists_modal .a_img{width: 100%;}
	.artists_modal .txt_box{width: 100%;}
	.artists_modal .txt_box .name{font-size: 1.8em;}
}

/* 404
-------------------------------*/
.error_404{ max-width: 470px; width: 94%; margin: 270px auto;}
.error_404 .stit{font-family: var(--font_en);font-size: 50px;font-weight: bold;letter-spacing: 0.05em;margin-bottom: 34px;line-height: 1em;text-align: center;color: #000;}
.error_404 p{font-size: 14px;line-height: 1.5em;text-align: left;margin-bottom: 1.5em;}

@media (max-width: 768px){
.error_404{ margin: 160px auto;}
.error_404 .stit{ font-size: 40px; margin-bottom: 24px;}
.error_404 p{text-align: left;}
}

/*20250104 add*/
.line-through { display:inline-block; position:relative; }
.line-through::before { content:""; border-bottom: 2px solid; display: block; position:absolute; top: calc(50% - 1px); width:100%; height:1px; }

/*20250105 add*/
a.link-off { pointer-events:none; }
.btn_02.link-off { background: #999; color: #ccc; }