
body
{
	overflow       : scroll;
}

main
{
	font-family    : 'Zen Maru Gothic', "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size      : 16pt;
	font-weight    : 500;
	line-height    : 1.8;
	
	min-width      : 1100px;
	
	overflow       : hidden;
}

a
{
	/* color          : #17a1e5; */
}

a:hover
{
	 /* color          : #40bfff; */
}

.page-top
{
	z-index        : 3;
	
	display        : none!important;	
}

h2
{
	margin         : 0 auto;

	text-align     : center;
}


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





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

  MAIN_VISUAL

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



#MAIN_VISUAL
{
	position       : relative;
	
	margin         : 65px 0 0;
	
	background     : url(/asset/img/data-cp/2504/mv_back.jpg) top center repeat-x #282054;
}

#MAIN_VISUAL .inner
{
	position       : relative;
	
	margin         : 0 auto;
	padding        : 0px 0 0px;
	
	width          : 1100px;

	text-align     : center;
}

#MAIN_VISUAL .main_image
{
	position       : relative;
	
	z-index        : 2;
}

#MAIN_VISUAL .mv_image_02
{
	position       : absolute;
	top            : 30px;
	right          : 10px;
	
	z-index        : 2;
}

#MAIN_VISUAL .mv_image_03
{
	position       : absolute;
	bottom         : 0;
	left           : -20px;
	
	width          : 35%;
	max-width      : 580px;
	min-width      : 460px;
	
	z-index        : 3;
}

#MAIN_VISUAL .mv_image_04
{
	position       : absolute;
	bottom         : 0;
	right          : -20px;
	
	width          : 35%;
	max-width      : 580px;
	min-width      : 460px;
	
	z-index        : 3;
}


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


.main_text_area
{
	position       : relative;
	
	padding        : 40px 0;
	
	background     : #0e1942;
}

.main_text_area .inner
{
	position       : relative;
	
	margin         : 0 auto;
	padding        : 0px 0 0px;
	
	width          : 1100px;

	text-align     : center;
}

.main_text_area .text_main
{
	color          : #fff;
	font-size      : 120%;
	text-align     : center;
	line-height    : 2.4;
	letter-spacing : 0.05em;
	
	border-top     : 4px dotted #ffd524;
}

.main_text_area .text_main span
{
	display        : block;
	
	border-bottom  : 4px dotted #ffd524;
}


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

/*
.ex_banner
{
	padding-top    : 60px;
	padding-bottom : 20px;
	
	background     : #124972;
}

.ex_banner .inner
{
	margin         : 0 auto;
	
	width          : 1100px;

	text-align     : center;
}

.ex_banner .ex_text
{
	color          : #fff;
	font-size      : 120%;
	line-height    : 1.0;
}

.ex_banner .ex_text span
{
	margin         : 0 5px;
	
	font-size      : 80%;
}

.ex_banner .bnr
{
	display        : block;
	
	margin         : 0 auto;
	margin-top     : 15px;
	padding        : 5px;
	
	width          : 1000px;
	
	border         : 1px solid #ccc;
	border-radius  : 15px;
	box-shadow     : 0px 0px 10px -5px rgba(0, 0, 0, 0.25);
	background     : #fff;
	
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

.ex_banner .bnr img
{
	width          : 100%;
	
	border-radius  : 10px;
}

.ex_banner .bnr:hover
{
	opacity        : 0.5;
}
*/




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

  ABOUT

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



#ABOUT
{
	position       : relative;

	padding        : 60px 0;
	
	background     : #322769;
	background     : url(/asset/img/data-cp/2504/present_back.jpg) top center repeat #3f2161;
	
	overflow       : hidden;

	z-index        : 1;
}

#ABOUT .inner
{
	position       : relative;
	
	margin         : 0 auto;
	padding        : 50px 0 60px;
	
	width          : 1100px;

	background     : #fff;
	
	border-radius  : 20px;
	
	box-shadow     : 0px 0px 20px -10px rgba(0, 0, 0, 0.5);
	
	overflow       : hidden;
}

#ABOUT .text_main
{
	color          : #1a1a1a;
	font-size      : 110%;
	text-align     : center;
	line-height    : 1.8;
}

#ABOUT .text_main:not(:first-child)
{
	margin-top     : 30px;
}

#ABOUT .text_main strong
{
	color          : #e62e2e;
	font-size      : 160%;
	font-weight    : bold; 
}

#ABOUT .text_main .strong_text
{
	color          : #ff6600;
}

#ABOUT .text_sub
{
	margin-top     : 20px;
	
	color          : #1a1a1a;
	font-size      : 85%;
	text-align     : center;
}

#ABOUT .limit_list
{
	margin         : 0 auto;
	margin-top     : 50px;
	
	width          : 640px;
}

#ABOUT .limit_list img
{
	width          : 100%;
}

#ABOUT .about_image_01
{
	position       : absolute;
	top            : 0px;
	left           : 0px;
	
	width          : 200px;
}

#ABOUT .about_image_02
{
	position       : absolute;
	top            : 0px;
	right          : 0px;
	
	width          : 200px;
}

#ABOUT .about_image_03
{
	position       : absolute;
	bottom         : 0px;
	right          : 20px;
	
	width          : 180px;
}




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

  TIME

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


#TIME
{
	padding        : 60px 0 70px;
	
	text-align     : center;
	
	background     : #fff;
}

#TIME .h3_text
{
	display        : inline-block;
	
	padding        : 0 30px 20px;
	
	color          : #502c86;
	font-size      : 150%;
	text-align     : center;
	line-height    : 1.0;
	
	border-bottom  : 4px dotted #f5c539;
	/*border-bottom  : 4px dotted #88928c;*/
}

#TIME .inner
{
	margin         : 0 auto;
	padding        : 0px 0 0px;
	
	width          : 1100px;
}

#TIME .time_image
{
	margin         : 0 auto;
	margin-top     : 60px;
	
	width          : 740px;
}

#TIME .time_image img
{
	width          : 100%;
}

#TIME .text_note
{
	margin-top     : 15px;
}

#TIME .text_note + .text_note
{
	margin-top     : 0px;
}





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

  PRESENT

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



#PRESENT
{
	position       : relative;

	background     : url(/asset/img/data-cp/2504/present_back.jpg) top center repeat #3f2161;
}

#PRESENT h2
{
	padding-top    : 100px;
}

#PRESENT .inner
{
	padding        : 0px 0 100px;
}

#PRESENT .present_box
{
	margin         : 0 auto;
	margin-top     : 80px;
	
	width          : 1100px;
}


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


#PRESENT .present_period
{
	position       : relative;
	
	margin         : 0 0px;
	
	height         : 70px;
	
	text-align     : center;
	
	background     : #fed523;
}

#PRESENT .present_period::before,
#PRESENT .present_period::after
{
	content        : "";
	
	border         : 35px solid #fed523;
}

#PRESENT .present_period::before
{
	position       : absolute;
	top            : 0;
	left           : -30px;
	
	border-left-width: 25px;
	border-left-color: transparent;
}

#PRESENT .present_period::after
{
	position       : absolute;
	top            : 0;
	right          : -30px;
	
	border-right-width: 25px;
	border-right-color: transparent;
}

#PRESENT .present_period p
{
	display        : inline-block;
	
	margin-top     : -4px;
	
	/*color          : #22336f;*/
	color          : #162554;
	font-size      : 150%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 70px;
}

#PRESENT .present_period p strong
{
	margin-right   : 0px;
	
	font-size      : 130%;
}

#PRESENT .present_period p span
{
	margin-left    : 3px;
	
	font-size      : 70%;
}


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


#PRESENT .present_list
{
	display        : flex;
	justify-content: space-between;
	
	position       : relative;
	
	margin-top     : 80px;
	
	z-index        : 1;
}

#PRESENT .present_list li
{
	width          : 330px;
}

#PRESENT .present_list li img
{
	width          : 100%;
	max-width      : 400px;

	border-radius  : 15px;
	overflow       : hidden;
}

#PRESENT .present_list li a
{
	margin-top     : 50px!important;
	
	width          : 300px!important;
}

#PRESENT .text_note
{
	margin-top     : 60px;

	color          : #fff;
}

#PRESENT .text_note li
{
	margin-left    : 1em;
	text-indent    : -1em;
	
	font-size      : 70%;
	line-height    : 1.4;
}

#PRESENT .text_note li + li
{
	margin-top     : 5px;
}

#PRESENT .obo_btn_list
{
	display        : flex;
	justify-content: space-between;
	
	margin-top     : 50px;
	margin-bottom  : 0px;

	text-align     : center;
}

#PRESENT .obo_btn_list li
{
	padding        : 0 10px;

	width          : 310px;
}

#PRESENT .obo_btn_list li a,
#PRESENT .present_list li a
{
	display        : block;
	
	margin         : 0 auto;
	padding        : 10px 0px 15px;

	width          : 100%;
	
	color          : #1a1a1a;
	font-size      : 100%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;
	text-decoration: none;
	
	background     : #fff;
	box-shadow     : 0px 0px 0px 4px #e39a07, 0px 4px 0px 4px #e39a07;
	border-radius  : 100px;
}

#PRESENT .obo_btn_list li a:hover,
#PRESENT .present_list li a:hover
{
	background     : #ffff66;
}

#PRESENT .obo_btn_list li a strong,
#PRESENT .present_list li a strong
{
	display        : inline-block;
	margin-top     : -4px;
	vertical-align : -3px;
	
	font-size      : 160%;
	font-weight    : bold;
}

#PRESENT .obo_btn_list li a strong.type_a,
#PRESENT .present_list li a strong.type_a
{
	color          : #b3376d;
}

#PRESENT .obo_btn_list li a strong.type_b,
#PRESENT .present_list li a strong.type_b
{
	color          : #2d9685;
}

#PRESENT .obo_btn_list li a strong.type_c,
#PRESENT .present_list li a strong.type_c
{
	color          : #e5802b;
}

#PRESENT .btn_obo_off
{
	display        : block;
	
	margin         : 0 auto;
	margin-top     : 75px;
	padding        : 20px 0px 22px;
	
	width          : 630px;
	
	color          : #666;
	font-size      : 130%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;
	text-decoration: none;
	
	background     : #ccc;
	box-shadow     : 0px 0px 0px 4px #666, 0px 6px 0px 4px #666;
	border-radius  : 100px;
}






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

  HOWTO

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


#HOWTO
{
	padding        : 100px 0 0px;
	
	background     : #fff;
}

#HOWTO h2
{
	padding-top    : 0px;
}

#HOWTO .inner
{
	margin         : 0 auto;
	padding        : 60px 0 0px;
	
	width          : 1100px;
}

#HOWTO .obo_image
{
	text-align     : center;
}

#HOWTO .obo_image img
{
	width          : 900px;
}

#HOWTO .obo_box
{
	margin-top     : 50px;
	counter-reset  : circle 0;
	
	border-bottom  : 4px dotted #e8ad00;
}

#HOWTO .obo_box > li
{
	padding        : 30px 0px 35px 50px;
	
	border-top     : 4px dotted #e8ad00;
	
	position       : relative;
}

#HOWTO .obo_box > li::before
{
    content          : counter(circle);
    counter-increment: circle 1;

    position       : absolute;
    top            : 20px;
    left           : 20px;
    /*left           : 50px;*/

    color          : #623093;
    font-size      : 3rem;
    font-weight    : bold;
}

#HOWTO .obo_box .text_head
{
	font-size      : 100%;
}

#HOWTO .obo_box .text_main
{
	margin-top     : 10px;
}

#HOWTO .obo_box .text_main strong
{
	color          : #e62e2e;
	font-size      : 100%;
	font-weight    : bold; 
}

#HOWTO .obo_box .text_note
{
	margin-top     : 10px;
	
	font-size      : 80%;
}

#HOWTO .obo_box .text_note li
{
	margin-left    : 1em;
	text-indent    : -1em;
}





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

  説明・注意事項

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


#foot_area
{

}

#foot_area .inner
{
	margin         : 0 auto;
	padding        : 80px 0 80px;

	width          : 1100px;
}

#foot_area .h3_text
{
	margin-bottom  : 50px;
	padding        : 10px 0;

	color          : #fff;
	font-size      : 140%;
	text-align     : center;

	background     : #502c86;
}

#foot_area .h4_text
{
	margin-top     : 40px;
	margin-bottom  : 20px;

	color          : #623093;
	font-size      : 120%;
}

#foot_area .text_list
{

}

#foot_area .text_list li
{
	list-style-type: disc;
	margin-left    : 1.2em;

	font-size      : 95%;
	line-height    : 1.4;
}

#foot_area .text_list li + li
{
	margin-top     : 15px;
}

#foot_area .text_list li .paddent
{
	margin-top     : 10px;

	font-size      : 80%;
}

#foot_area .text_list li .paddent + .paddent
{
	margin-top     : 5px;
}





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


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



.note {
	margin         : 60px auto;
	padding        : 30px;
	width          : 1100px;
	background     : #fff;
	border: 3px solid #f00;
}