@charset "UTF-8";


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

	scroll-padding : var(--header2);

	scroll-behavior: smooth;
}

img
{
	height         : auto;
}


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


main
{
	min-width      : 1200px;
}

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

	background     : url(/asset/img/konpirakabuki/back_01.png) top center repeat #d3edfb;
}

.section_box
{
	width          : 1100px;
	margin         : 60px auto 0;
	padding        : 60px;

	background     : #fff;
	box-shadow     : 1.5px 2.6px 3px 0px rgba(0, 0, 0, 0.25);
	border-radius  : 25px;

	box-sizing     : border-box;
}

.section_title
{
	margin-bottom  : 60px;

	color          : #de1f0d;
	font-size      : 260%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;
}


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


.btn_b
{
	display        : inline-block;

	padding        : 20px 180px;

	color          : #fff;
	font-size      : 130%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;
	text-decoration: none;

	background     : #ff6c00;
	border-radius  : 100px;

	position       : relative;
}

.btn_b:hover
{
	background     : #ffaa00;
}

.btn_b::before
{
	content        : '';

	border-style   : solid;
	border-width   : 8px 0 8px 8px;
	border-color   : transparent transparent transparent #fff;

	display        : inline-block;

	width          : 0;
	height         : 0;

	position       : absolute;
	top            : 50%;
	right          : 20px;

	transform      : translateY(-50%);
}





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

　MAIN_VISUAL

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



#MAIN_VISUAL
{
	margin-top     : 65px;
	padding        : 40px 0 0;
	/*
	background     : url(/asset/img/konpirakabuki/mv_back.jpg) center center no-repeat #d3edfb;
	background-size: cover;
	*/
	background-image    : url(/asset/img/konpirakabuki/mv_back_01.png), url(/asset/img/konpirakabuki/mv_back_02.png);
	background-repeat   : no-repeat, no-repeat;
	background-position : top right, bottom left;
	background-color    : #d3edfb;
}

#MAIN_VISUAL .mv
{
	margin         : 0 auto;

	width          : 1100px;

	text-align     : center;

	position       : relative;
}

#MAIN_VISUAL .date
{
	margin-top     : 40px;
	padding        : 5px 0;

	line-height    : 1.6;

	background     : #fff;
}

#MAIN_VISUAL .date .inner
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	margin         : auto;

	width          : 1100px;
}

#MAIN_VISUAL .date .inner time
{
	font-size      : 150%;
	font-weight    : bold;
}

#MAIN_VISUAL .date .inner time .num
{
	font-family    : "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size      : 110%;
}

#MAIN_VISUAL .date .inner time .num.color
{
	margin         : 0 3px;

	color          : #de1f0d;
	font-size      : 180%;
}

#MAIN_VISUAL .date .text_sub
{
	padding-bottom : 6px;

	text-align     : center;
}

#MAIN_VISUAL .date .text_sub2
{
	padding-bottom : 12px;

	font-size      : 120%;
	font-weight    : bold;
	text-align     : center;
}



#MAIN_VISUAL[data-type="typeB"],
#MAIN_VISUAL[data-type="typeC"]
{
	/*padding        : 40px 0 100px;*/

	background-image    : url(/asset/img/konpirakabuki/mv_back_01.png), url(/asset/img/konpirakabuki/mv_back_02.png);
	background-repeat   : no-repeat, no-repeat;
	/*background-position : top right, bottom -85px left;*/
	background-position : top right, top 40px left;
	background-color    : #d3edfb;
}

#MAIN_VISUAL[data-type="typeC"]
{
	background-position : top right, top 80px left;
}

#MAIN_VISUAL[data-type="typeB"] .mv
{
	margin-top     : -60px;
}

#MAIN_VISUAL[data-type="typeC"] .mv
{
	margin-top     : -0px;
}

#MAIN_VISUAL[data-type="typeB"] .date,
#MAIN_VISUAL[data-type="typeC"] .date
{
	margin-top     : -80px;
	padding-bottom : 0px;

	line-height    : 1.6;

	background     : none;

	position       : relative;
}

#MAIN_VISUAL[data-type="typeC"] .date
{
	margin-top     : 10px;
	padding-bottom : 0px;
}

#MAIN_VISUAL[data-type="typeB"] .date time,
#MAIN_VISUAL[data-type="typeC"] .date time
{
	padding        : 0 60px;

	background     : #fff;
	border-radius  : 10px;
}

#MAIN_VISUAL[data-type="typeB"] .date .text_sub,
#MAIN_VISUAL[data-type="typeC"] .date .text_sub
{
	padding-bottom : 0px;

	position       : absolute;
	bottom         : -50px;
	left           : 0;
	right          : 0;
	margin         : auto;
}

#MAIN_VISUAL[data-type="typeB"] #GALLERY
{
	margin-top     : 100px!important;
	margin-bottom  : 0px!important;
}

#MAIN_VISUAL[data-type="typeC"] #GALLERY
{
	margin-top     : 80px!important;
	margin-bottom  : 0px!important;
}





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

　ABOUT

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



#ABOUT .about_text
{
	margin-top     : -10px;

	font-size      : 110%;
	line-height    : 2.0;
}

#ABOUT .about_photo
{
	display        : flex;
	flex-wrap      : wrap;
	justify-content: space-between;

	margin-top     : 40px;
}

#ABOUT .about_photo li
{
	width          : 480px;

	padding        : 6px;

	border         : 1px solid #ccc;
	box-sizing     : border-box;
	overflow       : hidden;
}

#ABOUT .about_photo[data-size="sizeL"] li
{
	width          : 980px;

	padding        : 6px;

	border         : 1px solid #ccc;
	box-sizing     : border-box;
	overflow       : hidden;
}

#ABOUT .about_photo li img
{
	width          : 100%;
}

#ABOUT .about_photo li:nth-child(n+3)
{
	margin-top     : 20px;
}

#ABOUT .text_link
{
	margin-top     : 60px;
	padding        : 20px 25px;

	font-weight    : bold;
	line-height    : 1.8;

	background     : #eee;
}



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


#ABOUT .ex_memory_box
{
	margin-top: 50px;
	padding: 40px;
	background: #f1f1f1;
}

#ABOUT .ex_memory_box .text_title
{
	font-size: 180%;
	font-weight: bold;
	text-align: center;
}

#ABOUT .ex_memory_box .text_title_sub
{
	margin-top:20px;

	font-size: 110%;
	text-align: center;
}

#ABOUT .ex_memory_box .text_note
{
	margin-top:25px;
	margin-bottom: -15px;

	font-size: 90%;
	text-align: right;
}

#ABOUT .ex_memory_box .memory_list
{
	margin-top: 40px;

	display: flex;
	flex-wrap: wrap;
}

#ABOUT .ex_memory_box .memory_list li
{
	display: flex;
	flex-direction: column;

	margin-right: 30px;
	padding: 20px;
	width: 280px;
	background: #fff69a;
	border: 1px solid #dbdbdb;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
			box-sizing: border-box;
}

#ABOUT .ex_memory_box .memory_list li:nth-child(3n)
{
	margin-right: 0;
}

#ABOUT .ex_memory_box .memory_list li:nth-child(n+4)
{
	margin-top: 30px;
}

#ABOUT .ex_memory_box .memory_list li .text_memory
{
	margin-bottom: 10px;
	text-align: left;
}

#ABOUT .ex_memory_box .memory_list li .text_name
{
	margin-top: auto;
	font-size: 90%;
	text-align: right;
}

#ABOUT .ex_memory_box .memory_graph_box
{
	margin-top: 40px;
	text-align: center;
	background: #fff;
}

#ABOUT .ex_memory_box .memory_graph_box img
{
	width: 500px;
}


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



#GALLERY
{
	margin-top     : 60px;
}

.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/konpirakabuki/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/konpirakabuki/slick/images/arrow_01_next.png) no-repeat;     
    background-size:contain;
    vertical-align:middle;
}

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

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

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





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

　VOICE

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



#VOICE .voice_list
{
	display        : flex;
	flex-wrap      : wrap;
}

#VOICE .voice_list li
{
	margin-left    : 55px;

	width          : 290px;
}

#VOICE .voice_list li:nth-child(3n+1)
{
	margin-left    : 0;
}

#VOICE .voice_list li:nth-child(n+4)
{
	margin-top     : 50px;
}

#VOICE .voice_list li img
{
	width          : 100%;
}

#VOICE .voice_list li p {
  position: relative;
  display: inline-block;
  margin-top: 1.3em;
  padding: 10px 15px;
  width: 100%;
	font-size:95%;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
  border: solid 3px #de1f0d;
	border-radius: 10px;
  box-sizing: border-box;
}

#VOICE .voice_list li p:before {
  content: "";
  position: absolute;
  top: -16px;
  left: 50%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-bottom: 8px solid #FFF;
  z-index: 2;
}

#VOICE .voice_list li p:after {
  content: "";
  position: absolute;
  top: -22px;
  left: 50%;
  margin-left: -17px;
  border: 10px solid transparent;
  border-bottom: 10px solid #de1f0d;
  z-index: 1;
}





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

　TRAILER

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



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

#TRAILER .movie_box + .movie_box
{
	margin-top     : 50px;
}

#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%;
}

#TRAILER .movie_box .movie_title
{
	margin-bottom  : 20px;
	padding        : 15px 10px;

	color          : #2c8411;
	font-size      : 100%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;

	border-top     : 1px dotted #2c8411;
	border-bottom  : 1px dotted #2c8411;

}





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

　CAST

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


/*
#CAST .cast_list
{
	display        : flex;
	justify-content: space-between;
}

#CAST .cast_list li
{
	padding        : 35px 35px 30px;

	width          : 390px;

	border         : 3px double #2c8411;
}

#CAST .cast_list li .photo_box
{
	text-align     : center;
}

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

#CAST .cast_list li .text_box
{
	margin-top     : 25px;
}

#CAST .cast_list li .text_box .cast_name
{
	font-size      : 100%;
	font-weight    : bold;
	line-height    : 1.0;
}

#CAST .cast_list li .text_box .cast_name strong
{
	font-size      : 150%;
}

#CAST .cast_list li .text_box .cast_text
{
	margin-top     : 15px;

	font-size      : 100%;
	line-height    : 1.8;
}
*/

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

/*
#CAST .cast_box_b
{
	margin-top     : 60px;
	padding        : 30px;

	border         : 3px double #2c8411;

	display        : flex;
	justify-content: space-between;
	align-items    : center;
}

#CAST .cast_box_b .photo_box
{
	width          : 200px;

	text-align     : center;
}

#CAST .cast_box_b .photo_box img
{
	width          : 100%;

	border-radius  : 50%;
}

#CAST .cast_box_b .text_box
{
	width          : 690px;
}

#CAST .cast_box_b .text_box .cast_name
{
	font-size      : 100%;
	font-weight    : bold;
	line-height    : 1.0;
}

#CAST .cast_box_b .text_box .cast_nameb
{
	margin-bottom  : 10px;

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

#CAST .cast_box_b .text_box .cast_name strong
{
	font-size      : 150%;
	font-weight    : bold;
}

#CAST .cast_box_b .text_box .cast_text
{
	margin-top     : 15px;

	font-size      : 100%;
	line-height    : 1.8;
}
*/

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

/*
#CAST .cast_list_c
{
	display        : flex;
	justify-content: center;

	margin-top     : 60px;
}

#CAST .cast_list_c li
{
	display        : flex;
	justify-content: space-between;
	align-items    : center;

	padding        : 30px;

	width          : 400px;

	border         : 3px double #2c8411;
}

#CAST .cast_list_c li + li
{
	margin-left    : 50px;
}

#CAST .cast_list_c li .photo_box
{
	width          : 200px;

	text-align     : center;
}

#CAST .cast_list_c li .photo_box img
{
	width          : 100%;

	border-radius  : 50%;
}

#CAST .cast_list_c li .text_box
{
	width          : 175px;
}

#CAST .cast_list_c li .text_box .cast_name
{
	font-size      : 130%;
	font-weight    : bold;
	line-height    : 1.0;
}

#CAST .cast_list_c li .text_box .cast_name span
{
	font-size      : 80%;
}

#CAST .cast_list_c li .text_box .cast_nameb
{
	margin-bottom  : 10px;

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

#CAST .cast_list_c li .text_box .cast_namec
{
	margin-top     : 10px;

	font-size      : 85%;
	line-height    : 1.0;
}
*/

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

/*
#CAST .cast_box_d
{
	display        : flex;
}

#CAST .cast_box_d .text_box
{
	padding        : 30px;

	width          : 480px;

	font-size      : 100%;
	line-height    : 2.2;

	background     : #eee;
}

#CAST .cast_box_d .photo_box
{
	width          : 440px;
}

#CAST .cast_box_d .photo_box img
{
	width          : 100%;
}
*/

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

/*
#CAST .cast_list_e
{
	display        : flex;
	justify-content: center;
}

#CAST .cast_list_e li
{
	width          : 200px;

	text-align     : center;
}

#CAST .cast_list_e li + li
{
	margin-left    : 50px;
}

#CAST .cast_list_e li .photo_box
{
	width          : 100%;

	text-align     : center;
}

#CAST .cast_list_e li .photo_box img
{
	width          : 100%;

	border-radius  : 50%;
}

#CAST .cast_list_e li .text_box
{
	margin-top     : 15px;

	text-align     : center;
}

#CAST .cast_list_e li .text_box .cast_name
{
	font-size      : 130%;
	font-weight    : bold;
	line-height    : 1.0;
}

#CAST .cast_list_e li .text_box .cast_name span
{
	font-size      : 70%;
}

#CAST .cast_list_e li .text_box .cast_nameb
{
	margin-bottom  : 10px;

	font-size      : 85%;
	line-height    : 1.0;
}
*/

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





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

　PRESENT

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



#PRESENT
{
	
}

#PRESENT.section_box
{
	padding        : 60px 0 0;

	overflow       : hidden;
}

#PRESENT .present_box
{
	display        : flex;
	justify-content: space-between;
	flex-wrap      : wrap;

	padding        : 0px 60px 0;
}

#PRESENT .present_box .photo_box
{
	width          : 420px;
}

#PRESENT .present_box .photo_box img
{
	width          : 100%;
}

#PRESENT .present_box .photo_box .text_note
{
	margin-top     : 5px;

	font-size      : 90%;
}

#PRESENT .present_box .text_box
{
	width          : 500px;
}

#PRESENT .present_box .text_box .text_head
{
	color          : #f60;
	font-size      : 160%;
	font-weight    : bold;
}

#PRESENT .present_box .text_box .text_main
{
	margin-top     : 15px;

	line-height    : 1.8;
}

#PRESENT .present_box .text_box .text_limit
{
	margin-top     : 30px;
	
	color          : #cf2908;
	font-size      : 130%;
	font-weight    : bold;
}

#PRESENT .present_box .text_box .text_limit .label
{
	margin-right   : 15px;
	padding        : 3px 40px;

	color          : #fff;
	font-size      : 90%;

	background     : #cf2908;
}

#PRESENT .present_box .ex_text_box
{
	margin-bottom  : 60px;
	padding        : 10px 0;

	width          : 100%;

	color          : #f00;
	font-size      : 120%;
	font-weight    : bold;
	text-align     : center;

	border         : 3px solid #f00;
}

#PRESENT .present_box .btn_box
{
	margin-top     : 60px;

	width          : 100%;

	text-align     : center;
}

#PRESENT .present_box .btn_box a
{
	display        : inline-block;
	
	padding        : 15px 100px;
	
	color          : #fff;
	font-size      : 120%;
	font-weight    : bold;
	line-height    : 1.0;
	text-decoration: none;
	
	background     : #000;
	border-radius  : 100px;

	transition     : all .3s;
}

#PRESENT .present_box .btn_box a:hover
{
	background     : #f90;
}


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


#PRESENT .app_box
{
	margin-top     : 60px;
	padding        : 25px 40px 35px;

	text-align     : center;

	background     : #4a884f;

	display        : flex;
	justify-content: center;
	flex-wrap      : wrap;
}

#PRESENT .app_box .app_text
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	width          : 100%;

	color          : #fff;
	font-size      : 150%;
	font-weight    : bold;
}

#PRESENT .app_box .app_text::before
{
	content        : "";

	display        : inline-block;
	
	margin-right   : 0.6em;

	width          : 3px;
	height         : 1.1em;

	background     : #fff;

	transform      : rotate(-40deg);
}

#PRESENT .app_box .app_text::after
{
	content        : "";

	display        : inline-block;

	margin-left    : 0.4em;

	width          : 3px;
	height         : 1.1em;

	background     : #fff;

	transform      : rotate(40deg);
}

#PRESENT .app_box .app_btnbox
{
	display        : flex;

	justify-content: center;
	align-items    : center;

	margin-top     : 20px;
	padding        : 35px 0;

	width          : 660px;

	background     : #fff;
	border         : none;
}

#PRESENT .app_box .app_btnbox .btn_as
{
	display        : flex;
	align-items    : center;
	padding-right  : 35px;
	border-right   : 2px solid #d1d1d1;
}

#PRESENT .app_box .app_btnbox .btn_gp
{
	display        : flex;
	align-items    : center;
	margin-left    : 35px;
}

#PRESENT .app_box .app_btnbox a
{
	margin-right   : 30px;
}

#PRESENT .app_box .app_btnbox a:hover
{
	opacity        : 0.5;
}

#PRESENT .app_box .app_btnbox .icon
{
	width          : auto;
	height         : 50px;
}

#PRESENT .app_box .app_btn
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	margin-top     : 20px;

	width          : 320px;

	background     : #ffeb68;
}

#PRESENT .app_box .app_btn a
{
	display        : block;

	position       : relative;

	padding        : 15px 50px;

	color          : #4a884f;
	font-size      : 110%;
	font-weight    : bold;
	text-align     : center;
	text-decoration: none;

	background     : #fff;
	border         : 2px solid #4a884f;
	border-radius  : 50px;

	transition     : all .3s;
}

#PRESENT .app_box .app_btn a::after
{
	content        : '';

	border         : 0;
	border-top     : solid 2px #4a884f;
	border-right   : solid 2px #4a884f;

	display        : inline-block;
	width          : 10px;
	height         : 10px;

	position       : absolute;
	top            : 50%;
	right          : 20px;
	
	transform      : translateY(-50%) rotate(45deg);

	transition     : all .3s;

}

#PRESENT .app_box .app_btn a:hover
{
	color          : #fff;

	background     : #4a884f;
}

#PRESENT .app_box .app_btn a:hover::after
{
	border-top     : solid 2px #fff;
	border-right   : solid 2px #fff;
}






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

　RNEWS

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



#RNEWS .rnews_list
{
	display        : flex;
	flex-wrap      : wrap;
}

#RNEWS .rnews_list li
{
	display        : flex;

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

	width          : 300px;

	background     : #fff2c7;
	border-radius  : 5px;
}

#RNEWS .rnews_list li:nth-child(3n+1)
{
	margin-left    : 0px;
}

#RNEWS .rnews_list li:nth-child(n+4)
{
	margin-top     : 40px;
}

#RNEWS .rnews_list li a
{
	display        : flex;
	flex-direction : column;
	flex-wrap      : wrap;

	width          : 100%;

	color          : #000;
	text-decoration: none;
}

#RNEWS .rnews_list li a:hover
{
	opacity        : 0.6;
}

/*#RNEWS .rnews_list li a > *
{
	flex-shrink    : 0;
}*/

#RNEWS .rnews_list li .photo_box
{
	width          : 100%;
	border-radius  : 5px 5px 0 0;
	overflow       : hidden;
}

#RNEWS .rnews_list li .photo_box img
{
	width          : 100%;
}

#RNEWS .rnews_list li .text_box
{
	flex-grow      : 1;

	display        : flex;
	flex-direction : column;
}

#RNEWS .rnews_list li p
{
	padding        : 10px 15px 20px;
	
	width          : 100%;

	font-size      : 90%;

	box-sizing     : border-box;
}

#RNEWS .rnews_list li time
{
	margin-top     : auto;
	padding-left   : 15px;

	width          : 100%;

	color          : #c97523;
	font-size      : 80%;

	box-sizing     : border-box;
}






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

　BANNER

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



#BANNER .sponsor_list
{
	display        : flex;
	flex-wrap      : wrap;
}

#BANNER .sponsor_list li
{
	margin-right   : 40px;

	width          : 300px;
	
	border         : 1px solid #ccc;

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

#BANNER .sponsor_list li:nth-child(3n)
{
	margin-right   : 0px;
}

#BANNER .sponsor_list li:nth-child(n+4)
{
	margin-top     : 40px;
}

#BANNER .sponsor_list li img
{
	width          : 100%;
}

#BANNER .sponsor_list li a:hover
{
	opacity        : 0.5;
}






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



.footer_btn_box
{
	margin-top     : 100px;

	width          : 100%;

	text-align     : center;
}

.footer_btn_box a
{
	display        : inline-block;
	
	padding        : 15px 100px;
	
	color          : #fff;
	font-size      : 120%;
	font-weight    : bold;
	line-height    : 1.0;
	text-decoration: none;
	
	background     : #000;
	border-radius  : 100px;

	transition     : all .3s;
}

.footer_btn_box a:hover
{
	background     : #f90;
}




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



.paddent { display: block; }

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