@media screen and (min-width:769px){
	.sp_only{
		display: none!important;
	}
}/*@media screen and (min-width:769px){*/

@media screen and (max-width:768px){
	.pc_only{
		display: none!important;
	}

	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}

	#body_wrap{
		overflow: hidden;
		padding-left:0;
	}

	main{
		padding-top: 0;
	}


	/*
	------------------------------------
	共通パーツ
	------------------------------------
	*/

	.container{
		width:calc(328 / 375 * 100vw);
		max-width: 450px;
		padding-right: 0;
		margin:0 auto;
	}

	.common_sec_title{
		font-size: 32px;
	}

	/*
	------------------------------------
	ヘッダー
	------------------------------------
	*/

	header{
		position: fixed;
		top:0;
		left:0;
		width:100%;
		z-index: 20;
		background-color: #fff;
	}

	header .header_inner{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-inline: 24px;
		height:50px;
	}

	header .drawer_open{
		display: flex;
		justify-content: center;
		align-items: center;
		min-width:28px;
		min-height:28px;
		cursor: pointer;
		position: relative;
		z-index: 30;
	}	

	header .drawer_open_inner{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	header .drawer_open .bar{
		width:28px;
		height:1px;
		background-color: var(--blue);
		transition-duration: 0.5s;
	}

	header .drawer_open .bar02{
		margin:7px 0;
	}
	
	header .drawer_open.active .bar01 {
		transform: translateY(0) rotate(-30deg);
	}
	header .drawer_open.active .bar02 {
		display: none;
	}
	header .drawer_open.active .bar03 {
		transform: translateY(-1px) rotate(30deg);
	}



	#drawer_menu{
		position: fixed;
		left:0;
		top:0;
		width:100%;
		display: block;
		padding-left: 0;
		opacity: 0;
		pointer-events: none;
		transition-duration: 0.7s;
		background-color: #fff;
	}

	#drawer_menu.show{
		opacity: 1;
		pointer-events: auto;
	}

	#drawer_menu .drawer_menu_inner{
		width:100%;
		padding-right: 0;
		max-width: 100%;
	}

	#drawer_menu .drawer_menu_frame{
		overflow-y: auto;
		height:100vh;
		height: calc(var(--vh2, 1vh) * 100);
		min-height: 450px;
	}


	#drawer_menu .drawer_menu_contents_frame{
		padding:0;
		height:100vh;
		height: calc(var(--vh2, 1vh) * 100);
		min-height: 450px;
	}

	#drawer_menu .drawer_menu_contents{
		min-height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}

	#drawer_menu .drawer_logo{
		width:50px;
		position: absolute;
		top:14px;
		left:24px;
	}

	#drawer_menu .drawer_menu_list{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#drawer_menu .drawer_menu_item + .drawer_menu_item{
		margin-top: 50px;
	}

	#drawer_menu .drawer_menu_item{
		transform: translateY(10px);
		opacity: 0;
		transition: 0.3s 0s;
	}

	#drawer_menu.show .drawer_menu_item{
		opacity: 1;
		transform: translateY(0);
	}

	#drawer_menu.show .drawer_menu_item:nth-child(1){
		transition-delay: 0.1s;
	}
	#drawer_menu.show .drawer_menu_item:nth-child(2){
		transition-delay: 0.2s;
	}
	#drawer_menu.show .drawer_menu_item:nth-child(3){
		transition-delay: 0.3s;
	}
	#drawer_menu.show .drawer_menu_item:nth-child(4){
		transition-delay: 0.4s;
	}

	#drawer_menu .drawer_menu_link{
		font-size: 20px;
		letter-spacing: -0.01em;
		line-height: 1.2;
	}

	#drawer_menu .drawer_menu_link::after{
		content:'';
		width:0;
		height:1px;
		background-color: var(--blue);
		position: absolute;
		bottom:0;
		left:0;
		transition-duration: 0.4s;
		transition-timing-function: ease-out;
	}

	#drawer_menu .drawer_menu_link.active::after{
		/* width:100%; */
		width:0;
	}

	#drawer_menu .drawer_bottom{
		position: absolute;
		bottom:24px;
		left:0;
		width:100%;
	}

	#drawer_menu .drawer_lang_list{
		display: flex;
		justify-content: center;
		align-items: center;
		transform: translateY(10px);
		opacity: 0;
		transition: 0.3s 0s;
	}

	#drawer_menu.show .drawer_lang_list{
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.5s;
	}

	#drawer_menu .drawer_lang_link{
		font-size: 13px;
		letter-spacing: -0.01em;
		position: relative;
	}

	#drawer_menu .drawer_lang_link::after{
		content:'';
		width:100%;
		height:1px;
		background-color: var(--blue);
		position: absolute;
		bottom:0;
		left:0;
		opacity: 0;
	}

	#drawer_menu .drawer_lang_link.active::after{
		opacity: 1;
	}

	#drawer_menu .drawer_lang_slash{
		font-size: 13px;
		letter-spacing: -0.01em;
		margin-inline:12px;
	}

	#drawer_menu .drawer_copy{
		font-size: 13px;
		letter-spacing: -0.01em;
		margin-top: 30px;
		text-align: center;
		transform: translateY(10px);
		opacity: 0;
		transition: 0.3s 0s;
	}

	#drawer_menu.show .drawer_copy{
		transform: translateY(0);
		opacity: 1;
		transition-delay: 0.6s;
	}


	/*
	------------------------------------
	トップ(LP本体)
	------------------------------------
	*/

	body.top_body{
		
	}

	main.top_main{

	}

	.top_section{

	}

	.scroll_guide_area{
		position: absolute;
		top:0;
		right:0;
		pointer-events: none;
		width: 100%;
	}

	.scroll_guide_inner{
		height: 100vh;
    	height: calc(var(--vh2, 1vh) * 100);
		position: relative;
	}

	.scroll_guide_area .scroll_guide{
		bottom:30px;
		right:30px;
	}

	.scroll_guide_area .scroll_guide img{
		width:16px;
	}

	.scroll_guide_area .scroll_guide::after{
		width:6px;
		height:17px;
		margin-top: 23px;
	}

	.top_fv_section{
		position: relative;
		height: 100vh;
    	height: calc(var(--vh3, 1vh) * 100);
		min-height: 500px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.top_fv_section .fv_img{
		width:200px;
	}

	.top_philo_section{
		padding-top: 153px;
	} 

	.top_philo_section .philo_block{
		margin-top: 85px;
	}

	.top_philo_section .philo_block + .philo_block{
		margin-top: 77px;
	}


	.top_philo_section .philo_head{
		font-weight: 500;
		font-size: 20px;
		letter-spacing: 0.025em;
		line-height: 1.8;
	}


	.top_philo_section .philo_head_en{
		font-size: 22px;
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: -0.01em;
	}


	.top_philo_section .philo_text{
		margin-top: 38px;
		font-size: 15px;
		letter-spacing: 0.03em;
		line-height: 2.5;
	}

	.top_philo_section .philo_text p + p{
		margin-top: 24px;
	}

	.top_about_section{
		padding-top: 145px;
	}

	.top_about_section .about_contents{
		margin-top: 74px;
	}

	.top_about_section .about_contents + .about_contents{
		margin-top: 76px;
	}

	.top_about_section .about_head{
		font-size: 20px;
		letter-spacing: -0.01em;
		line-height: 1.2;
	}

	.top_about_section .about_list_frame{
		margin-top: 41px;
	}

	.top_about_section .about_line{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 2;
	}

	.top_about_section .about_line + .about_line{
		margin-top: 27px;
	}

	.top_about_section .about_list_history{
		padding-top: 5px;
	}

	.top_about_section .about_list_history .about_line + .about_line{
		margin-top: 32px;
	}

	.top_about_section .about_th{
		flex-shrink: 0;
		width:100%;
		padding-right: 0;
		font-weight: 600;
	}

	.top_about_section .about_td{
		margin-top: 7px;
	}

	.top_artists_section{
		padding-top: 150px;
	}

	.top_artists_section .artists_head_area{
		margin-top: 78px;
	}

	.top_artists_section .artists_head_list{
		display: flex;
		align-items: center;
		gap:0 2px;
	}

	.top_artists_section .artists_head_list + .artists_head_list{
		margin-top: 6px;
	}

	.top_artists_section .artists_head_list:nth-child(even){
		justify-content: flex-end;
	}


	.top_artists_section .artists_head_list li{
	
		font-size: 52px;
		letter-spacing: -0.013em;
		line-height: 1;
	}

	.top_artists_section .artists_list_area{
		margin-top: 48px;
		
	}

	.top_artists_section .artists_list_flex{
		display: block;

		gap:0;
	}

	.top_artists_section .artists_list{
		width:100%;
		min-width: 100%;
		padding-right: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap:20px 0;
	}

	.top_artists_section .artists_list li{
		width: 46.5%;
		font-size: 14px;
		letter-spacing: -0.01em;
		min-height: auto;
		line-height: 1.5;
	}

	.top_artists_section .artists_list li + li{
		margin-top: 0;
	}


	.top_contact_section{
		padding-top: 156px;
		padding-bottom: 152px;
	} 

	.top_contact_section .title_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.top_contact_section .contact_guide{
		font-size: 12px;
		letter-spacing: 0.03em;
		line-height: 1;
	}

	.top_contact_section .contact_guide span{
		color:#CE1225;
	}

	.top_contact_section .form_area{
		margin-top: 66px;
	}

	.top_contact_section .form_line {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}
	.top_contact_section .form_line + .form_line{
		margin-top: 32px;
	}

	.top_contact_section .form_left{
		width:100%;
		flex-shrink: 0;
		padding-top: 0;
	}

	.top_contact_section .form_name{
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.2;
	}

	.top_contact_section .form_name.must::after{
		
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.2;
	}

	.top_contact_section .form_right{
		width:100%;
		margin-top: 10px;
	}

	.top_contact_section .form_right .err_text{
		font-size: 12px;
		letter-spacing: 0.03em;
		line-height: 1.2;
		margin-top: 4px;
	}

	.top_contact_section .text_input{
		height: 40px;
		padding-inline:12px;
		font-size: 14px;
		letter-spacing: 0.03em;
	}


	.top_contact_section textarea{
		height: 162px;
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.4;
		letter-spacing: 0.03em;
	}

	.top_contact_section .agree_label{
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.3;
		margin-top: 6px;
	}



	.top_contact_section .agree_label .checkbox_obj{
		margin-right: 12px;
		width: 16px;
		height: 16px;
	
	}

	.top_contact_section .agree_label input:checked + .checkbox_obj:before {
		top: 1px;
		left: 5px;
		width: 4px;
		height: 10px;
	}

	.top_contact_section .privacy_box{
		margin-top: 16px;
		padding-right: 4px;
		padding-top:10px;
		padding-bottom: 10px;
		height:162px;
	}

	.top_contact_section .privacy_box_inner{
		height: 100%;
		overflow-y: auto;
		
		padding-left: 12px;
	}

	/* スクロールバー全体 */
	.top_contact_section .privacy_box_inner::-webkit-scrollbar {
		width: 2px; 
	}


	.top_contact_section .privacy_text{
		font-size: clamp(calc(14 / 1440 * 1440px) , calc(14 / 1440 * 100vw) , calc(14 / 1440 * 1800px));
		letter-spacing: 0.03em;
		line-height:1.75;
		padding-right: 16px;
	}

	.top_contact_section .privacy_text p + p{
		margin-top: 9px;
	}

	.top_contact_section .submit_frame{
		margin:60px auto 0;
		width: 100%;
	}

	.top_contact_section .submit_frame::after{
		width:17px;
		height:6px;
		right:12px;
	}

	.top_contact_section .submit_button{
		width: 100%;
		height: 48px;
		font-size: 14px;
		letter-spacing: 0.03em;
	}


	/*
	------------------------------------
	トップ(LP本体)　英語用
	------------------------------------
	*/


	body.en_body .top_philo_section{
		padding-top: 153px;
	} 

	body.en_body .top_philo_section .philo_block{
		margin-top: 88px;
	}

	body.en_body .top_philo_section .philo_block + .philo_block{
		margin-top: 84px;
	}

	body.en_body .top_philo_section .philo_head{
		font-weight: 500;
		font-size: 22px;
		letter-spacing: -0.013em;
		line-height: 1.2;
	}


	body.en_body .top_philo_section .philo_text{
		margin-top: 44px;
		font-size: 15px;
		letter-spacing: -0.013em;
		line-height: 2;
	}

	body.en_body .top_philo_section .philo_text p + p{
		margin-top: 29px;
	}

	body.en_body .top_about_section{
		padding-top: 148px;
	}

	body.en_body .top_about_section .about_contents{
		margin-top: 74px;
	}

	body.en_body .top_about_section .about_contents + .about_contents{
		margin-top: 76px;
	}

	body.en_body .top_about_section .about_head{
		font-size: 20px;
		letter-spacing: -0.01em;
		line-height: 1.2;
	}

	body.en_body .top_about_section .about_list_frame{
		margin-top: 44px;
	}

	body.en_body .top_about_section .about_line{
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.5;
	}

	body.en_body .top_about_section .about_line + .about_line{
		margin-top: 30px;
	}

	body.en_body .top_about_section .about_list_history{
		padding-top: 5px;
	}

	body.en_body .top_about_section .about_list_history .about_line + .about_line{
		margin-top: 36px;
	}

	body.en_body .top_about_section .about_th{
		font-weight: 600;
	}

	body.en_body .top_about_section .about_td{
		margin-top: 12px;
	}


	body.en_body .top_contact_section{
		padding-top: 156px;
		padding-bottom: 152px;
	} 

	body.en_body .top_contact_section .title_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
	}

	body.en_body .top_contact_section .contact_guide{
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.5;
		margin-top: 5px;
	}


	body.en_body .top_contact_section .form_area{
		margin-top: 56px;
	}

	body.en_body .top_contact_section .form_line {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}
	body.en_body .top_contact_section .form_line + .form_line{
		margin-top: 28px;
	}

	body.en_body .top_contact_section .form_left{
		padding-top: 0;
	}

	body.en_body .top_contact_section .form_name{
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.5;
	}

	body.en_body .top_contact_section .form_name.must::after{
		
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.5;
	}

	body.en_body .top_contact_section .form_right{
		margin-top: 7px;
	}

	body.en_body .top_contact_section .form_right .err_text{
		font-size: 12px;
		letter-spacing: -0.01em;
		line-height: 1.2;
		margin-top: 6px;
	}

	body.en_body .top_contact_section .text_input{
		padding-inline:12px;
		font-size: 14px;
		letter-spacing: -0.01em;
	}


	body.en_body .top_contact_section textarea{
		height: 162px;
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: -0.01em;
	}

	body.en_body .top_contact_section .agree_label{
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.3;
		margin-top: 6px;
	}


	body.en_body .top_contact_section .privacy_box{
		margin-top: 16px;
		padding-right: 4px;
		padding-top:10px;
		padding-bottom: 10px;
		height:162px;
	}

	body.en_body .top_contact_section .privacy_box_inner{		
		padding-left: 12px;
	}

	body.en_body .top_contact_section .privacy_text{
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height:1.5;
		padding-right: 16px;
	}

	body.en_body .top_contact_section .privacy_text p + p{
		/* margin-top: 9px; */
	}

	body.en_body .top_contact_section .submit_frame{
		margin:64px auto 0;
		width: 100%;
	}

	body.en_body .top_contact_section .submit_frame::after{
		width:17px;
		height:6px;
		right:12px;
	}

	body.en_body .top_contact_section .submit_button{
		width: 100%;
		height: 48px;
		font-size: 14px;
		letter-spacing: 0.03em;
	}


	/*
	------------------------------------
	フッター
	------------------------------------
	*/

	footer{
		padding-bottom: 40px;
	}

	footer .footer_contents{
		position: relative;
	}

	footer .footer_name{
		font-weight: 600;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.3;
	}

	footer .footer_address{
		margin-top: 14px;
		font-size: 14px;
		letter-spacing: 0.03em;
		line-height: 1.3;
	}

	footer .footer_link_flex{
		margin-top: 50px;
		display: flex;
		align-items: flex-start;
		gap:0 24px;
	}

	footer .footer_link_flex img{
		height:36px;
	}

	footer .page_top{
		/* right:0;
		bottom:4px; */
		right:30px;
		bottom:2px;
	}

	footer .page_top img{
		width: 16px;
	}

	footer .page_top::before{
		width:6px;
		height:17px;
		margin-bottom: 24px;
	}

	/*
	------------------------------------
	フッター (英語用)
	------------------------------------
	*/

	body.en_body footer{
		padding-bottom: 40px;
	}

	body.en_body footer .footer_name{
		font-weight: 600;
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.3;
	}

	body.en_body footer .footer_address{
		margin-top: 14px;
		font-size: 14px;
		letter-spacing: -0.01em;
		line-height: 1.3;
	}

	body.en_body footer .footer_link_flex{
		margin-top: 50px;
		gap:0 24px;
	}


	body.en_body footer .page_top{
		right:0;
		bottom:4px;
	}

	body.en_body footer .page_top img{
		width: 16px;
	}

	body.en_body footer .page_top::before{
		width:6px;
		height:17px;
		margin-bottom: 24px;
	}


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