@charset "UTF-8";


:root
{
	--header       : 65px;
	--header2      : 100px;

	scroll-padding : var(--header2);

	scroll-behavior: smooth;
}


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


main
{
	min-width      : 1200px;
	
	font-family    : 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", arial, "Lucida Sans", "メイリオ", Meiryo, "Osaka", sans-serif;
	color          : #1a1a1a;
	font-size      : 16pt;
	line-height    : 2.0;
}

img { height: auto; }

.content_area
{
	margin         : 0 auto;
	padding-bottom : 0px;
}

.page-top { z-index: 9999!important; }


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





/*=========================================================================================================

　MAIN_VISUAL

=========================================================================================================*/



#MAIN_VISUAL
{
	margin-top     : 65px;
	padding        : 0px 0 0;
}

#MAIN_VISUAL .mv
{
	margin         : 0 auto;

	width          : 100%;

	text-align     : center;

	position       : relative;
}

#MAIN_VISUAL .mv img
{
	width          : 100%;
	height         : auto;
}





/*=========================================================================================================

　MENU

=========================================================================================================*/



#MENU
{
	padding        : 25px 0;

	background     : #ffe266;
}

#MENU .nav_list
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	margin         : auto;

	width          : 1100px;
}

#MENU .nav_list li
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	position       : relative;
}

#MENU .nav_list li:not(:last-child)::after
{
	content        : '';
	display        : block;

	margin         : 0 50px;
	height         : 50px;

	border-right   : 1px solid #1a1a1a;

	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}

#MENU .nav_list li a
{
	color          : #1a1a1a;
	font-size      : 100%;
	font-weight    : 800;
	line-height    : 1.0;
	text-decoration: none;
	letter-spacing : 0.02em;
}

#MENU .nav_list li a:hover
{
	color          : #ec3a1b;
}

#MENU .nav_list li a span
{
	display        : block;

	margin-top     : 12px;
	
	font-family    : 'Oswald', sans-serif;
	font-size      : 70%;
	text-align     : center;
}





/*=========================================================================================================

　INTRO

=========================================================================================================*/



.intro_wrap
{
	padding-top    : 120px;
	padding-bottom : 160px;

	background     : url(/asset/img/enchanted_islands/intro_back.png) top center repeat #fff;
}

#INTRO
{
	
}

#INTRO .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

#INTRO .text_h2
{
	margin-bottom  : 80px;
	
	font-size      : 220%;
	text-align     : center;
	line-height    : 1.0;
	letter-spacing : 0.1em;
	
	padding-bottom : 10px;
	background     : url(/asset/img/enchanted_islands/intro_title_deco_01.png) bottom center no-repeat;
}

#INTRO .text_h2 span
{
	font-size      : 140%;
}

#INTRO .intro_text
{
	font-size      : 110%;
	line-height    : 2.4;
}





/*=========================================================================================================

　TRAILER

=========================================================================================================*/



#TRAILER
{
	margin-top     : 100px;
}

#TRAILER .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

#TRAILER .movie_box
{
	margin         : 0 70px;
}

#TRAILER .movie_box .mb_inner
{
	position       : relative;
	height         : 0;
	padding-bottom : 56.25%;
	overflow       : hidden;
}

#TRAILER .movie_box iframe
{
	position       : absolute;
	top            : 0;
	left           : 0;

	width          : 100%;
	height         : 100%;
}





/*=========================================================================================================

　CAST

=========================================================================================================*/



#CAST
{
	margin-top     : 140px;
}

#CAST .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

#CAST .cast_box
{
	display        : flex;
	justify-content: space-between;
}

#CAST .cast_box[data-type="type_02"]
{
	flex-direction : row-reverse;
}

#CAST .cast_box .photo_box
{
	width          : 360px;
}

#CAST .cast_box .photo_box img
{
	width          : 100%;
}

#CAST .cast_box .text_box
{
	width          : 680px;
}

#CAST .cast_box .text_box .cast_title
{
	margin-bottom  : 60px;
	
	font-size      : 180%;
	line-height    : 1.0;
}

#CAST .cast_box .text_box .cast_title span
{
	display        : inline-block;

	padding        : 18px 20px 22px;
	
	border         : 1px solid #1a1a1a;
}

#CAST .cast_box .text_box .cast_title span + span
{
	margin-left    : 15px;
}

#CAST .cast_box .text_box .cast_job
{
	font-size      : 100%;
	line-height    : 1.0;
}

#CAST .cast_box .text_box .cast_name
{
	margin-top     : 20px;
	
	font-size      : 250%;
	font-weight    : bold;
	line-height    : 1.0;
}

#CAST .cast_box .text_box .cast_text
{
	margin-top     : 50px;
	
	font-size      : 100%;
}





/*=========================================================================================================

　GALLERY

=========================================================================================================*/



#GALLERY
{
	margin-top     : 0px;
}

.slick-slider
{
    padding-bottom: 30px!important;
}

.slider img
{
	width:100%!important;
}

.slick-prev,
.slick-next
{
    width: 20px!important;
    height: 40px!important;
}

.slick-prev::before {

	  content:" "!important;
    display:inline-block;
    width:20px!important;
    height:40px!important;
    background:url(/asset/js/enchanted_islands/slick/images/arrow_01_prev.png) no-repeat;    
    background-size:contain;
    vertical-align:middle;

}
.slick-next::before {

	  content:" "!important;
    display:inline-block;
    width:20px;
    height:40px;
    background:url(/asset/js/enchanted_islands/slick/images/arrow_01_next.png) no-repeat;     
    background-size:contain;
    vertical-align:middle;
}


.slick-prev::before img,
.slick-next::before img {

    width:100%!important;

}

.slick-next {
	right: 20px!important;
	right: 29.5%!important;
	z-index: 100;
}
.slick-prev {
  left: 20px!important;
	left: 29.5%!important;
	z-index: 100;
}

.slick-slide {
  margin: 0 40px;
}

.slick-slide img {
  display: inline!important;
}





/*=========================================================================================================

　INTERVIEW

=========================================================================================================*/



#INTERVIEW
{
	margin-top     : 140px;
}

#INTERVIEW .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

#INTERVIEW .interview_box
{
	display        : flex;
	justify-content: space-between;
}

#INTERVIEW .interview_box[data-type="type_02"]
{
	flex-direction : row-reverse;
}

#INTERVIEW .interview_box .photo_box
{
	width          : 360px;
}

#INTERVIEW .interview_box .photo_box img
{
	width          : 100%;
}

#INTERVIEW .interview_box .text_box
{
	width          : 680px;
}

#INTERVIEW .interview_box .text_box .int_title
{
	margin-bottom  : 60px;
	
	font-size      : 180%;
	line-height    : 1.0;
}

#INTERVIEW .interview_box .text_box .int_title span
{
	display        : inline-block;

	padding        : 18px 20px 22px;
	
	border         : 1px solid #1a1a1a;
}

#INTERVIEW .interview_box .text_box .int_title span + span
{
	margin-left    : 15px;
}

#INTERVIEW .interview_box .text_box .int_job
{
	font-size      : 100%;
	line-height    : 1.0;
}

#INTERVIEW .interview_box .text_box .int_name
{
	margin-top     : 20px;
	
	font-size      : 250%;
	font-weight    : bold;
	line-height    : 1.0;
}

#INTERVIEW .interview_box .text_box .int_text
{
	margin-top     : 50px;
	
	font-size      : 100%;
}

#INTERVIEW .interview_box .text_box .int_btn
{
	margin-top     : 60px;
}

#INTERVIEW .interview_box .text_box .int_btn a,
#INTERVIEW .interview_box .text_box .int_btn .popup_btn
{
	display        : inline-block;

	padding        : 10px 100px;

	color          : #fff;
	font-size      : 90%;
	text-decoration: none;

	background     : #1a1a1a;
}

#INTERVIEW .interview_box .text_box .int_btn a:hover,
#INTERVIEW .interview_box .text_box .int_btn .popup_btn:hover
{
	background     : #ec3a1b;
}


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


.mfp-bg
{
	background     : rgba(146, 209, 218, 1.00)!important;
}

.popup__modal
{
	margin         : 50px auto;
	padding        : 50px;
	
	max-width      : 1100px;

	font-family    : 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", arial, "Lucida Sans", "メイリオ", Meiryo, "Osaka", sans-serif;
	color          : #1a1a1a;
	line-height    : 2.0;
	
	background     : #fff;
	border-radius  : 20px;
	box-shadow     : rgba(0, 0, 0, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
	position       : relative;
	
	box-sizing     : border-box;
}

.popup__modal .btn__close
{
	position       : absolute;
	top            : 20px;
	right          : 20px;
	
	cursor         : pointer;
	
	transition     : all .15s;
}

.popup__modal .btn__close:hover
{
	opacity        : 0.5;
}

.popup__modal .btn__close img
{
	display        : block;

	width          : 30px;
}

.popup__modal .popup_box
{

}

.popup__modal .popup_box .p_title
{
	font-size      : 160%;
	font-weight    : bold;
}

.popup__modal .popup_box .p_text
{
	margin-top     : 30px;

	font-size      : 110%;
}

.popup__modal .popup_box .p_text li
{
	
}

.popup__modal .popup_box .p_text li + li
{
	margin-top     : 10px;
}





/*=========================================================================================================

　BLOG

=========================================================================================================*/



#BLOG
{
	position       : relative;

	margin-top     : 140px;
	padding-bottom : 100px;

	background     : repeating-linear-gradient(0deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px) 0% 0% / 40px 40px, repeating-linear-gradient(90deg, transparent, transparent 19px, rgba(75, 85, 99, 0.08) 19px, rgba(75, 85, 99, 0.08) 20px, transparent 20px, transparent 39px, rgba(75, 85, 99, 0.08) 39px, rgba(75, 85, 99, 0.08) 40px) 0% 0% / 40px 40px, radial-gradient(circle at 20px 20px, rgba(55, 65, 81, 0.12) 2px, transparent 2px) 0% 0% / 40px 40px, radial-gradient(circle at 40px 40px, rgba(55, 65, 81, 0.12) 2px, transparent 2px) 0% 0% / 40px 40px rgb(255, 255, 255);
	background-color: #f0f0e3;
}

#BLOG::before
{
	content        : '';

	display        : block;
	
	width          : 100%;
	height         : 20px;

	background     : url(/asset/img/enchanted_islands/blog_back_zigzag.png) top center repeat-x;
}

#BLOG::after
{
	content        : '';

	display        : block;

	position       : absolute;
	bottom         : 0;
	
	width          : 100%;
	height         : 20px;

	background     : url(/asset/img/enchanted_islands/blog_back_zigzag_bottom.png) bottom center repeat-x;
}

#BLOG .inner
{
	margin         : 0 auto;
	padding-top    : 80px;

	width          : 1100px;
}

#BLOG .section_title
{
	margin         : 0 auto;
	margin-bottom  : 70px;

	font-size      : 250%;
	font-weight    : 800;
	text-align     : center;
	line-height    : 1.0;
}

#BLOG .section_title span
{
	display        : block;

	margin-top     : 30px;
	
	font-family    : 'Oswald', sans-serif;
	color          : #36a66f;
	font-size      : 70%;
	text-align     : center;
}


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


#BLOG .blog_box
{
	display        : flex;
	justify-content: space-between;
	flex-wrap      : wrap;

	padding        : 40px 60px 60px;
	
	background     : #fff;
	box-shadow     : rgba(149, 157, 165, 0.2) 0px 8px 24px;
	border-radius  : 15px;
}

#BLOG .blog_box[data-type="typeB"]
{
	display        : block;
}

#BLOG .blog_box + .blog_box
{
	margin-top     : 60px;
}

#BLOG .blog_box .title_box
{
	margin-bottom  : 60px;
	padding-bottom : 40px;

	width          : 100%;

	border-bottom  : 4px dotted #36a66f;
}

#BLOG .blog_box[data-type="typeB"] .title_box
{
	margin-bottom  : 40px;
}

#BLOG .blog_box .title_box .b_title
{
	font-size      : 140%;
	font-weight    : bold;
	line-height    : 1.6;
}

#BLOG .blog_box .title_box .b_date
{
	margin-top     : 15px;

	color          : #b3b3b3;
	font-size      : 80%;
	line-height    : 1.0;
}

#BLOG .blog_box .text_box
{
	width          : 450px;
}

#BLOG .blog_box[data-type="typeB"] .text_box
{
	width          : 100%;
}

#BLOG .blog_box .text_box .b_text
{
	margin-top     : -8px;

	font-size      : 90%;
}

#BLOG .blog_box[data-type="typeB"] .text_box .b_text
{
	margin-top     : 0px;
}

#BLOG .blog_box .text_box .b_text .title_text
{
	display        : inline-block;

	margin-top     : 10px;
	margin-bottom  : 40px;
	padding        : 10px 40px;

	line-height    : 1.0;

	background     : #cee5e8;
}

#BLOG .blog_box .text_box .b_text .art_title
{
	display        : block;

	font-size      : 140%;
	font-weight    : bold;
	line-height    : 1.0;
}

#BLOG .blog_box .text_box .b_text .art_artist
{
	display        : block;

	margin-top     : 20px;
	margin-bottom  : 30px;
	
	font-size      : 80%;
	font-weight    : bold;
	line-height    : 1.0;
}
/*
#BLOG .blog_box .text_box .b_text .art_text
{
	display        : block;

	font-size      : 90%;
	line-height    : 1.8;
}
*/
#BLOG .blog_box .photo_box
{
	width          : 480px;
}

#BLOG .blog_box[data-type="typeB"] .photo_box
{
	display        : flex;
	justify-content: space-between;
	flex-wrap      : wrap;
	gap            : 40px;

	width          : 100%;
}

#BLOG .blog_box .photo_box img
{
	width          : 100%;
}

#BLOG .blog_box[data-type="typeB"] .photo_box img
{
	width          : 470px;
}

#BLOG .blog_box[data-type="typeB"] .text_box + .photo_box
{
	margin-top     : 40px;
}

#BLOG .blog_box[data-type="typeB"] .photo_box + .text_box
{
	margin-top     : 40px;
}


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


#BLOG .blog_btn
{
	margin-top     : 80px;

	width          : 100%;

	text-align     : center;
}

#BLOG .blog_btn a
{
	display        : inline-block;

	padding        : 15px 200px;

	color          : #fff;
	font-size      : 100%;
	text-decoration: none;

	background     : #deac43;
}

#BLOG .blog_btn a:hover
{
	background     : #ec3a1b;
}






/*=========================================================================================================

　SONG

=========================================================================================================*/



#SONG
{
	padding        : 100px 0;

	background     : #fff;
}

#SONG .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

#SONG .section_title
{
	margin         : 0 auto;
	margin-bottom  : 70px;

	font-size      : 250%;
	font-weight    : 800;
	text-align     : center;
	line-height    : 1.0;
}

#SONG .section_title span
{
	display        : block;

	margin-top     : 30px;
	
	font-family    : 'Oswald', sans-serif;
	color          : #36a66f;
	font-size      : 70%;
	text-align     : center;
}


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


#SONG .song_text
{
	text-align     : center;
}

#SONG .song_text .text_strong
{
	display        : block;

	margin-bottom  : 30px;

	font-size      : 120%;
	font-weight    : bold;
}

#SONG .song_image
{
	margin         : 0 auto;
	margin-top     : 60px;

	width          : 600px;
}

#SONG .song_image img
{
	width          : 100%;
}


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


#SONG .btn_box
{
	margin-top     : 60px;

	text-align     : center;
}

#SONG .btn_box a
{
	font-size      : 110%;
}



/*=======================================================================================================*/



.footer_bnr_area
{
	padding        : 60px 0;

	background     : #f9f3e3;
}

.footer_bnr_area .inner
{
	margin         : 0 auto;

	width          : 1100px;
}

.footer_bnr_area .box_01
{
	display        : flex;
	justify-content: center;
	align-items    : center;
	gap            : 30px;
}

.footer_bnr_area .box_01 .bnr_text
{
	font-size      : 80%;
}

.footer_bnr_area .box_01 .bnr_logo
{
	width          : 300px;
}

.footer_bnr_area .box_01 .bnr_logo img
{
	width          : 100%;
}



/*=======================================================================================================*/


.cast_title_sp,
.int_title_sp
{
	display:none;
}


/*=======================================================================================================*/



.paddent { display: block; }

br.compact { display: block; content: ""; margin-top: 20px; }
br.compact2{ display: block; content: ""; margin-top: 15px; }