
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;

	background: url(/asset/img/stamp-cp/2603/main_back_01.png) center top repeat #26a774;
	
	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/2602/mv_back.jpg) center center no-repeat #79dfe1;
	background-size: cover;
	*/
}

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

	text-align     : center;
}

#MAIN_VISUAL .main_image
{
	
	width          : 1100px;

	border         : 10px solid #fff;
	
	box-sizing     : border-box;
}


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


.main_text_area
{
	position       : relative;
	
	/*padding        : 40px 0;*/
	
	/*background     : #659960;*/
}

.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-image: radial-gradient(#ffc107 2px, transparent 2px), radial-gradient(#ffc107 2px, #ffffff 2px);*/
	/*
	background-color: #ffffff;
	background-image: radial-gradient(#ffffff 2px, transparent 2px), radial-gradient(#ffffff 2px, #f0e16b 2px);
	background-size: 40px 40px;
	background-position: 0 0, 20px 20px;
	*/
	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_main .underline_text
{
	color          : #e62e2e;
	font-weight    : bold;

    background-image: url(/asset/img/sdgs/onair_underline.png);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 10px;
}

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


#ABOUT .btn_box
{
	margin-top     : 60px;
}

#ABOUT .btn_box a
{
	display        : block;

	position       : relative;
	
	margin         : 0 auto;
	padding        : 15px 0px 20px;

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

#ABOUT .btn_box a:hover
{
	background     : #ffff66;
}


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


#ABOUT .period_box
{
	margin         : 0 auto;
	margin-top     : 100px;

	width          : 980px;

	text-align:center;
}

#ABOUT .period_box .title_belt
{
  display: inline-block;
  position: relative;
  height: 60px;/*リボンの高さ*/
  line-height: 60px;/*リボンの高さ*/
  text-align: center;
  padding: 0 30px;/*横の大きさ*/
	width:900px;
  font-size: 18px;/*文字の大きさ*/
  background: #d73145;/*塗りつぶし色*/
  color: #FFF;/*文字色*/
	font-size:130%;
  box-sizing: border-box;
}

#ABOUT .period_box .title_belt::before,
#ABOUT .period_box .title_belt::after
{
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

#ABOUT .period_box .title_belt::before
{
  top: 0;
  left: 0;
  border-width: 30px 0px 30px 20px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

#ABOUT .period_box .title_belt::after
{
  top: 0;
  right: 0;
  border-width: 30px 20px 30px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

#ABOUT .period_box .period_main
{
margin-top:40px;
}

#ABOUT .period_box .period_main .period_wrap
{
	display:flex;
	justify-content:center;
	align-items:center;
	align-items:baseline;
}

#ABOUT .period_box .period_main .period_wrap .text_date
{
	font-size:250%;
	font-weight:bold;
	line-height:1.0;
}

#ABOUT .period_box .period_main .period_wrap .text_date span
{
	margin-left:5px;
	
	font-size:60%;
	font-weight:normal;
}

#ABOUT .period_box .period_main .period_wrap .text_week
{
	display:flex;
	justify-content:center;
	align-items:center;
	
	margin-left:30px;

}

#ABOUT .period_box .period_main .period_wrap .text_week span
{
	display:block;

	margin: 0 5px;
	padding-bottom:0px;

	width:40px;
	height:40px;

	color:#fff;
	font-size: 110%;
	line-height:40px;

	background: #4f834a;
	border-radius:50%;
}

#ABOUT .period_box .period_main .text_note
{
	margin-top:25px;

	font-size:90%;
}

#ABOUT .period_box .limit_box
{
	display:flex;
	justify-content:center;
	
	margin-top:40px;
}

#ABOUT .period_box .limit_box .limit_head
{
	display:flex;
	align-items:center;
	
	padding: 10px 30px 12px;
	
	color:#fff;
	line-height:1.0;
	
	background: #d73145;
}

#ABOUT .period_box .limit_box .limit_text
{
	padding: 10px 50px 12px;

	color:#d73145;
	font-size: 150%;
	font-weight:bold;
	line-height:1.0;

	border:3px solid #d73145;
}

#ABOUT .period_box .limit_box .limit_text span
{
	margin-left:3px;
	
	font-size:70%;
	font-weight:normal;
}


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


#ABOUT .time_box
{
	position:relative;
	
	margin         : 0 auto;
	margin-top:80px;
	padding-bottom: 60px;

	width          : 980px;

	background:#518b4e;
}
/*
#ABOUT .time_box .time_head
{
	position:absolute;
	top: -20px;
	left: 20px;
	
	padding: 15px 30px;
	
	color:#fff;
	line-height:1.0;
	
	background:#2b7852;
	border-radius:10px;
}
*/
#ABOUT .time_box .time_head {
  display: inline-block;
	margin-top:20px;
	margin-left:-20px;
  position: relative;
  padding: 15px 40px 18px;
  font-size: 120%;
  color: #FFF;
	line-height:1.0;
  background: #ef9828;
}

#ABOUT .time_box .time_head::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px #af8651;
}

#ABOUT .time_box .time_wrap
{
	
	display:flex;
	justify-content:center;
	align-items:center;
	gap:50px;

	margin:0 auto;
	margin-top:20px;

	width:890px;
}

#ABOUT .time_box .time_wrap .time_image
{
	width:320px;
}

#ABOUT .time_box .time_wrap .text_box
{
	width:520px;
}

#ABOUT .time_box .time_wrap .text_box .text_large
{
	font-size      : 180%;
	color          : #fff;
}

#ABOUT .time_box .time_wrap .text_box .text_large span
{
    margin         : 0 5px;

	font-size      : 70%;
}

#ABOUT .time_box .time_wrap .text_box .text_normal
{
	color          : #fff;
}

#ABOUT .time_box .time_wrap .text_box .text_large + .text_normal
{
	margin-top:20px;
}

#ABOUT .time_box .time_wrap .text_box .text_color
{
	color          : #ffff00;
}


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


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

	display: none;
}


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











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

  TIME

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


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

#TIME .h3_text
{
	display        : inline-block;
	
	padding        : 0 30px 20px;
	
	color          : #669b62;
	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;

	padding: 20px 40px;
	background:#ffffc2;
	border: 10px solid #36393b;
	border-radius: 60px;
	/* box-shadow: 0 10px 0 0 #36393b; */
	overflow: hidden;
}

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

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

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





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

  PRESENT

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



#PRESENT
{
	position       : relative;
}

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

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

#PRESENT .present_box
{
	margin         : 0 auto;
	
	width          : 1100px;
}
/*
#PRESENT .present_box + .present_box
{
	margin-top     : 140px;
}
*/
/*
#PRESENT .present_box[data-type="typeB"]
{
	position       : relative;
	
	margin         : 0 auto;
	margin-top     : 80px;
	padding        : 70px 60px 80px;
	
	width          : 1100px;

	background     : #fff;
	
	box-shadow     : 0px 0px 20px -10px rgba(0, 0, 0, 0.5);
	
	border         : 10px solid #36393b;
	border-radius  : 50px;
}
*/
/*
#PRESENT .bg-image-clip
{
	position       : absolute;
	top            : 0;
	left           : 0;

	width          : 100%;
	height         : 100%;

	clip-path      : inset(0);

	z-index        : -1;
}

#PRESENT .bg-image-fixed
{
	position       : fixed;
	top            : 0;
	
	width          : 100%;
	height         : 100%;

	background     : url(/asset/img/data-cp/2602/present_back.jpg) center center no-repeat #79dfe1;
	background-size: cover;
}
*/

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

/*
#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          : #36393b;
	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;
	flex-wrap      : wrap;
	gap            : 80px 40px;
	
	position       : relative;
	
	margin-top     : 80px;
	
	z-index        : 1;
}

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

#PRESENT .present_list li[data-size="size_L"]
{
	width          : 100%;
}

#PRESENT .present_list li .text_note
{
text-align: left;
font-size: 70%;
width: 480px;
margin: 0 auto;
	margin-top:20px;
text-indent:-1em;
padding-left:1em;
    box-sizing: border-box;
}



#PRESENT .present_list li .image_box
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	width          : 100%;
	/*height         : 100%;*/
}

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

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

#PRESENT .present_list li[data-size="size_L"] img
{
	max-width      : 460px;

	border: 10px solid #ffea00;
}

#PRESENT .present_list li img[data-size="size_L"]
{
	max-width      : 460px;
}
/*
#PRESENT .present_list li a
{
	margin-top     : 50px!important;
	
	width          : 300px!important;
}
*/
/*
#PRESENT .text_note
{
	margin-top     : 60px;

	color          : #36393b;
}

#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 .present_list li:nth-of-type(1) a
{
	box-shadow     : 0px 0px 0px 4px #b3376d, 0px 4px 0px 4px #b3376d;
}

#PRESENT .present_list li:nth-of-type(2) a
{
	box-shadow     : 0px 0px 0px 4px #2d9685, 0px 4px 0px 4px #2d9685;
}

#PRESENT .present_list li:nth-of-type(3) a
{
	box-shadow     : 0px 0px 0px 4px #e5802b, 0px 4px 0px 4px #e5802b;
}

#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_text
{
	font-size      : 180%;
	text-align     : center;
}
/*
#HOWTO .obo_image
{
	text-align     : center;
}

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

#HOWTO .movie_btn_box
{
	margin-top     : 60px;
	margin-bottom  : 100px;
}

#HOWTO .movie_btn_box a
{
	display        : block;

	position       : relative;
	
	margin         : 0 auto;
	padding        : 15px 0px 20px;

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

#HOWTO .movie_btn_box a::before,
#HOWTO .movie_btn_box a::after
{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#HOWTO .movie_btn_box a::before
{
	left: 20px;
	width: 24px;
	height: 24px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #669b62;
}
#HOWTO .movie_btn_box a::after
{
	left: 30px;
	box-sizing: border-box;
	width: 6px;
	height: 6px;
	border: 6px solid transparent;
	border-left: 6px solid #fff;
}

#HOWTO .movie_btn_box a:hover
{
	background     : #ffff66;
}


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

#HOWTO .obo_box > li
{
	padding        : 50px 50px 50px;
	
	border         : 5px solid #518b4e;
	border-radius  : 50px;
	
	position       : relative;
}

#HOWTO .obo_box > li + li
{
	margin-top     : 80px;
}

#HOWTO .obo_box > li:not(:first-child)::before
{
	content        : "";

    border-top: 25px solid #ef9828;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;


    position: absolute;

    top: -55px;

    left: 50%;

    margin-left: -40px;

}


#HOWTO .obo_box .step_title
{
	display:flex;
	align-items:center;
	gap:20px;
}

#HOWTO .obo_box .step_title .step_num
{
	display:block;
	padding: 10px 60px 12px;

	color:#fff;
	font-size:120%;
	font-weight:bold;
	line-height:1.0;
	
	background:#d73145;
	border-radius:100px;
}

#HOWTO .obo_box .step_title .title_text
{
	color:#d73145;
	font-size:150%;
	font-weight:bold;
	line-height:1.0;
}

#HOWTO .obo_box .step_title .title_text .small
{
	font-size:70%;
	/*font-weight:normal;*/
}

#HOWTO .obo_box .howto_list
{
	margin-top:35px;
}

#HOWTO .obo_box .howto_list li
{
	list-style-type: decimal;
	margin-left:30px;

	line-height:1.6;
}

#HOWTO .obo_box .howto_list li + li
{
	margin-top: 15px;
}


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

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


#HOWTO .obo_box .movie_box
{
	margin-top     : 40px;
}

#HOWTO .obo_box .movie_box iframe
{
	display:block;
	
	margin:0 auto;

	border:5px solid #ddd;
}





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

  説明・注意事項

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


#foot_area
{
	background     : #fff;
}

#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     : #669b62;
}

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

	color          : #669b62;
	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;
}

#foot_area .text_note
{
	margin-top     : 80px;

	font-size      : 90%;
}





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


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