@charset "UTF-8";


html{
font-size: 100%;
scroll-behavior:smooth;
}

body {
	margin:0px;
	padding:0px;
	color:#333;
	font-family:"Noto Sans JP",メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Helvetica, Arial,sans-serif;
	line-height:1.6;
	text-align:left;
	background:#fff;
}

:root {
	/*color*/
	--green:#33B371;
	--dkgreen:#219189;
	--blue:#005DA3;
	--pink:#D50080;
	--purple:#7b3fa0;
	--orange:#F08200;
	--dark:#222;
	--light:#f9f9f9;
	--gray:#666;
	--section1:#F1F6F9;
	--section2:#FEF9F3;
	--card-shadow:0 2px 12px rgba(0,0,0,.08);
	--focus-color:#005BAC;
	

	/*font 14px（SP基準での制作）*/	
	--font-10:0.714rem;
	--font-11:0.786rem;
	--font-12:0.857rem;
	--font-13:0.929rem;
	--font-14:1rem;
	--font-15:1.071rem;
	--font-16:1.143rem;;
	--font-18:1.286rem;
	--font-19:1.357rem;
	--font-20:1.429rem;
	--font-22:1.571rem;
	--font-24:1.714rem;
	--font-26:1.857rem;
	--font-28:2rem;
	--font-30:2.143rem;
	--font-32:2.286rem;
	--font-34:2.429rem;
	--font-36:2.571rem;
	--font-38:2.714rem;
	--font-40:2.857rem;
	--font-42:3rem;
	--font-44:3.143rem;
	--font-46:3.286rem;
	--font-48:3.429rem;
	--font-50:3.571rem;
	--font-52:3.714rem;
	--font-54:3.857rem;
	--font-56:4rem;
	--font-58:4.143rem;
	--font-60:4.286rem;
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
:root {
	/*font 14px*/	
	/*--font-10:0.714rem;
	--font-11:0.786rem;
	--font-12:0.857rem;
	--font-13:0.929rem;
	--font-14:1rem;
	--font-16:1.143rem;;
	--font-18:1.286rem;
	--font-20:1.429rem;
	--font-22:1.571rem;
	--font-24:1.714rem;
	--font-26:1.857rem;
	--font-28:2rem;
	--font-30:2.143rem;
	--font-32:2.286rem;
	*/
	
}
	
}


@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
html{
font-size: 87.5%;
}
	
		
}



img {
  vertical-align: top;
}


section {
	width:100%;
	margin:0 auto 0;
	padding: 0px;
}



.font_kome{
	font-size:var(--font-12);
	vertical-align:top;
	line-height: 160%;
}

.font_add{
	font-size:var(--font-14);
	line-height: 1.5;
}

.font_add12{
	font-size:var(--font-12);
	line-height: 1.5;
}




		
/*==テキスト==*/
.text_c{text-align:center !important;}
.text_l{text-align:left !important;}
.text_r{text-align:right !important;}
.text_cl{text-align:center!important;}

.float_l{float:left;}
.float_r{float:right;}
.clearBoth{clear:both}

.fl_pc{float:left;}
.fr_pc{float:right;}



.indent1{margin-left: 1em; text-indent: -1em}

.indent2{text-indent: 1em;}

.img100 img{
	width:100%;
}


.flex_wrap{
	display: flex;
	flex-direction: row;
	justify-content: space-between;	
	flex-wrap: wrap;
	
	  }	




@media screen and (min-width: 769px) {
/* 768px以上の幅の場合に適応される */

.br-sp { display:none; }
.pc_none { display:none; }

}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
.text_wrap{
	width:95%;
	margin:0 auto;
}

.fl_pc{float:none;}
.fr_pc{float:none;}

.sp_none{
	 display:none; 
	 }
	
}

  	

/* wrap */


.common_contents_wrap{
	width:100%;
	background:#fff;
}

.common_contents{
	width:896px;
	margin:0 auto;
	padding:0 0 0 0;
}

@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

.mainimg_wrap{
	width:100%;
}

.mainimg_wrap2{
	width:100%;
}
	
.common_contents_wrap{
	
}	

.common_contents{
	width:82%;
}	
	
}


/*==トップボタン==*/

@media (min-width:769px){
  [id]{
    scroll-margin-top:100px;
  }
}

.spToTopBtn {
  position: fixed;
  right: 10px;  /* 右端からの距離（調整してください） */
  bottom: 10px; /* 下端からの距離（調整してください） */
  display: none; /* 最初は隠しておく */
  z-index: 10;   /* 他の要素より上に表示 */
  cursor: pointer; /* マウスを乗せた時に指のマークにする */
}



#sp_wrap {
}

#sp_wrap a:hover {
	transition: opacity 0.3s;
  opacity: 0.6; 
}

/*==header==*/

.header_w{
	position: fixed;
	width: 100%;
	background-color: #fff;
	z-index: 1000;
	border-bottom: var(--dkgreen) 5px solid;
}

.header-section {
	width: 1024px;
	margin: 0 auto;
	padding:0 10px 10px 10px;
	display: flex;
	flex-direction: row;
	justify-content:space-between;
	flex-wrap: wrap;
	align-items:flex-end;
}

.site-logo-box {
	width:20%;
}

.site-logo-box img {
	width: 100%;
}

.navi_w{
	width:70%;
	border-image-slice: 1;
}



@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
.header_w{
	position:static;
}	
	
.header-section {
	width:90%;
	padding: 10px 0 10px 0;
}
	
	
.site-logo-box {
	width:50%;
	margin: 0 auto;
}
	
}












/* 背景スライド */
.maintxt-box_w{
  position: relative;
  width: 100%;
  min-height: clamp(240px, 45vw, 520px);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 必要なら少し暗くする */
.maintxt-box_w::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 1;
}

.mainbg-slide{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1.02);
  will-change: opacity;
}

/* 画像指定 */
.mainbg-slide.bg1{
  background-image: url("../images/slide1.jpg");
  animation: bg1Fade 22s ease-in-out infinite;
}
.mainbg-slide.bg2{
  background-image: url("../images/slide2.jpg");
  animation: bg2Fade 22s ease-in-out infinite;
}
.mainbg-slide.bg3{
  background-image: url("../images/slide3.jpg");
  animation: bg3Fade 22s ease-in-out infinite;
}
.mainbg-slide.bg4{
  background-image: url("../images/slide4.jpg");
  animation: bg4Fade 22s ease-in-out infinite;
}

/* 1枚目：最初と最後の両方で出す */
@keyframes bg1Fade{
  0%   { opacity: 1; }
  22%  { opacity: 1; }
  32%  { opacity: 0; }
  72%  { opacity: 0; }
  95%  { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes bg2Fade{
  0%   { opacity: 0; }
  22%  { opacity: 0; }
  32%  { opacity: 1; }
  52%  { opacity: 1; }
  62%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes bg3Fade{
  0%   { opacity: 0; }
  52%  { opacity: 0; }
  62%  { opacity: 1; }
  82%  { opacity: 1; }
  92%  { opacity: 0; }
  100% { opacity: 0; }
}

@keyframes bg4Fade{
  0%   { opacity: 0; }
  72%  { opacity: 0; }
  82%  { opacity: 1; }
  95%  { opacity: 1; }
  100% { opacity: 0; }
}

/* 前面テキスト */
.maintxt-box{
  position: relative;
  z-index: 2;
  width: min(750px, 90%);
  margin: 0 auto;
  padding: 120px 0 60px;
	color:#fff;
	text-align: center;
}

.maintxt-box img{
  display: block;
  width: 100%;
  height: auto;
}

.maintxt-box_logo{
  width: 40%;
	margin: 0 auto;
}

.maintxt-box_date{
	margin-top: 20px;
font-size:var(--font-52);
	font-family: "Urbanist", sans-serif;
	font-weight: 700;
}

.maintxt-box_p1{
	margin-top: 20px;
font-size:var(--font-20);
	font-weight: 900;
}


@media screen and (max-width: 1024px){
  .maintxt-box_w{
    min-height: clamp(220px, 52vw, 420px);
  }

  .maintxt-box{
    width: min(88%, 680px);
    padding: 90px 0 32px;
  }
}

@media screen and (max-width: 768px){
  .maintxt-box_w{
    min-height: clamp(200px, 62vw, 320px);
  }

  .maintxt-box{
    width: 88%;
    padding: 24px 0;
  }
	


.maintxt-box_date{
	margin-top: 10px;
font-size:var(--font-34);
	font-weight: 900;
}

.maintxt-box_p1{
	margin-top: 10px;
font-size:var(--font-16);
	font-weight: 900;
}
	
	
	
}

@media screen and (max-width: 480px){
  .maintxt-box_w{
    min-height: 190px;
  }

  .maintxt-box{
    width: 90%;
    padding: 40px 0;
  }
}



/*section*/

section{
	
}

.section-title{
	text-align:center;
	font-size:var(--font-26);
	font-weight:900;
    }

.section-title-en{
	text-align:center;
	font-size:var(--font-12);
	color:var(--gray);
	font-weight: 400;
	letter-spacing: 0.15em;
	text-transform: lowercase;
    }


.info_frame1{
	margin: 15px auto 0;
	width: 240px;
	text-align: center;
	font-size:var(--font-12);
	background: #000000;
	border-radius:9999px;
	color: #FFFFFF;
	font-weight: bold;
	padding: 5px 0;
}


.section1_color{
	color:var(--blue);
}

.section2_color{
	color:var(--orange);
}

/*.section1_t1{
	margin: 60px auto 0;
	text-align: center;
	padding:8px 0;
	background-color:var(--blue);
	color: #FFFFFF;
	font-weight: bold;
}*/



.lead_t1{
  margin:70px auto 10px;
  text-align:center;
}

.lead_t1 p{
  font-size:var(--font-20);
  font-weight:900;
  color:var(--pink);
  letter-spacing:0.06em;
  position:relative;
  display:inline-block;
  padding-bottom:12px;
}

.lead_t1 p::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:80px;
  height:4px;
  background:var(--pink);
  border-radius:2px;
}

.section1_t1{
  margin:70px auto 10px;
  text-align:center;
}

.section1_t1 p{
  font-size:var(--font-20);
  font-weight:900;
  color:var(--blue);
  letter-spacing:0.06em;
  position:relative;
  display:inline-block;
  padding-bottom:12px;
}

.section1_t1 p::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:80px;
  height:4px;
  background:var(--blue);
  border-radius:2px;
}

.section2_t1{
  margin:70px auto 10px;
  text-align:center;
}

.section2_t1 p{
  font-size:var(--font-20);
  font-weight:900;
  color:var(--orange);
  letter-spacing:0.06em;
  position:relative;
  display:inline-block;
  padding-bottom:12px;
}

.section2_t1 p::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  width:80px;
  height:4px;
  background:var(--orange);
  border-radius:2px;
}


@media screen and (max-width: 768px) {
	
section{
	
	}
	
	
.info_frame1{
	margin: 10px auto 0;
	width: 180px;
}	
	
	
.lead_t1,.section1_t1,.section2_t1{
	margin: 40px auto 0;
}
	

		
	}


/*lead*/

.lead_section{
	padding:30px 30px 100px;
}


.lead_w{
	text-align: center;
}

.lead_h2{
	margin: 20px 0 30px;
	font-size:var(--font-20);
	color: #000;
	font-weight: bold;
	position: relative;
    display: inline-block;
    padding: 0 40px;

}

.lead_h2:before,
.lead_h2:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: #000;
}
 
.lead_h2:before {
    left: 0;
}
 
.lead_h2:after {
    right: 0;
}


.lead_p1 {
	background: var(--pink);
	font-size:var(--font-18);
	color: #FFFFFF;
	font-weight: bold;
	padding: 10px 20px;
	border-radius: 9999px;
}


.lead_p2 {
    margin-top:30px;
   font-size:var(--font-18);
    color: var(--pink);
    font-weight: bold;
}

.lead_p3 {
    margin-top:30px;
    font-weight: bold;
}




@media screen and (max-width: 768px) {
	
.lead_section{
	padding:30px 20px 60px;
}	
	
.lead_h2{
	margin-top: 10px;
    padding: 0 26px;

}

.lead_h2:before,
.lead_h2:after {
    width:20px;
    height: 2px;
}
	
	
.lead_p3 {
    margin-top:15px;
}	

	

	}



	

/*list*/

.list_section{
	background:var(--section1);
	border-radius:40px 40px 0 0;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 100px;
}


.list_add1{
	margin-top: 10px;
	text-align: center;
	color:  var(--pink);
}


@media screen and (max-width: 768px) {
	
.list_section{
	border-radius:30px 30px 0 0;
	padding:30px 30px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
}
	
	
}	

	


/*program*/

.program_section{
	background:var(--section2);
	border-radius:40px 40px 0 0;
  margin-top:-40px;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 100px;
	
}

.program_flex{
	display: flex;
	flex-direction: row;
	justify-content:space-between;	
	flex-wrap: wrap;
	align-items:stretch;
}

.program_box1{
	width:48%;
  margin-top:80px;
  background:#fff;
  padding:50px 40px 40px;
  text-align:center;
  border-radius:20px;
  position:relative;
	box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.program_box1:nth-child(-n+2){
  margin-top:50px;
}

/* 丸数字 */
.program_num{
  position:absolute;
  top:-24px;
  left:50%;
  transform:translateX(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  color:#fff;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
}



.num1{ background:var(--green); }
.num2{ background:var(--purple); }
.num3{ background:var(--orange); }
.num4{ background:var(--dkgreen); }

.program_t1{
	text-align: center;
	font-weight: bold;
	font-size:var(--font-18);
}

.program_p1{
	margin-top: 20px;
	text-align:left;
}

@media screen and (max-width: 768px) {
	
.program_section{
	border-radius:30px 30px 0 0;
	padding:30px 20px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
	
}	
	
.program_box1{
	width: 100%;
	margin-top: 60px;
	padding:40px 20px 20px;
}
	
.program_box1:nth-child(-n+2){
  margin-top:60px; /* 元のmarginに戻す */
}

.program_box1:first-child{
  margin-top:20px;
}
	
	
.program_num{
  width:42px;
  height:42px;
  font-size:16px;
}
	
	
.program_t1{
	line-height: 1.5;
}	
	
.program_p1{
	margin-top: 15px;
}	
	
}	



/*session*/

.session_section{
	background:var(--section1);
	border-radius:40px 40px 0 0;
  margin-top:-40px;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 100px;
}



.session_box1{
	margin:40px 0 0 0;
	color:var(--orange);
	padding: 20px;
	font-size:var(--font-16);
	background: #FFFFFF;
	border-radius: 20px;
	box-shadow:0 4px 12px rgba(0,0,0,0.06);
}


.session_box1 ul{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:20px;
}

.session_box1 li{
  list-style:none;
  border:var(--orange) 1px solid;
  color:var(--orange);
  padding:12px 20px;
  border-radius:16px;
  font-size:var(--font-14);
  font-weight:600;
	display:flex;
  align-items:center;
  justify-content:center;
}

@media screen and (max-width: 768px) {
	
.session_section{
	border-radius:30px 30px 0 0;
	padding:30px 20px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
	
}	
	
.session_box1 ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

	
	
}	



/*booth*/

.booth_section{
	background:var(--section2);
	border-radius:40px 40px 0 0;
  margin-top:-40px;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 100px;
}


@media screen and (max-width: 768px) {
	
.booth_section{
	border-radius:30px 30px 0 0;
	padding:30px 20px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
	
}	

	
}	


/*news*/

.news_section{
	background:var(--section1);
	border-radius:40px 40px 0 0;
  margin-top:-40px;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 100px;
}

.news_box{
	width:900px;
	margin:40px auto 0;
}

.news_box dl{
	display: flex;
	flex-direction: row;
	justify-content:flex-start;	
	flex-wrap: wrap;
	align-items:stretch;
}

.news_box dt{
	width: 15%;
border-bottom: #ccc 1px solid;
	padding: 10px 0;
}

.news_box dd{
	width: 85%;
	border-bottom: #ccc 1px solid;
	padding: 10px 0;
}

.news_box a{
	text-decoration: underline;
}

.news_box a:hover{
	opacity: 0.7;
}


@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
.news_section{
	border-radius:30px 30px 0 0;
	padding:30px 20px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
	
}	
	
	
.news_box{
	width:90%;
	margin: 20px auto 0;
}	
	
.news_box dt{
	width: 100%;
border-bottom:none;
	padding: 10px 0 0 0;
}

.news_box dd{
	width: 100%;
	border-bottom: #ccc 1px solid;
	padding: 0 0 10px 0;
}	
	
}





/*access*/

.access_section{
	background:var(--section2);
	border-radius:40px 40px 0 0;
  margin-top:-40px;
	box-shadow:0 -8px 20px rgba(0,0,0,0.05);
	padding:40px 30px 60px;
}


.access_w{
	width: 900px;
	margin: 40px auto 0;
}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%; /* 比率を4:2に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.access_p1{
	text-align: center;
	font-size:var(--font-12);
	margin-top: 20px;
}


@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
.access_section{
	border-radius:30px 30px 0 0;
	padding:30px 20px 100px;
	box-shadow:0 -4px 20px rgba(0,0,0,0.05);
}	
	
	
.access_w{
	width: 100%;
	margin: 30px auto 0;
}
	
.access_p1{
	font-size:0.75rem;
	margin-top: 10px;
}
	
.map {
  padding-top: 75%; /* 比率を4:3に固定 */
}	
	
}


/*footer*/

.footer_navi {
	width: 100%;
	background-color:var(--dkgreen);
	padding-top: 40px;
}

.footer_navi-logo {
	width: 240px;
	margin:0 auto 0;
	background: #fff;
	padding: 15px 20px;
	border-radius: 20px;
}

.footer_navi-logo img{
	width:100%;
}




footer {
	color: #FFFFFF;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 100px;
	background-color:var(--dkgreen);
}


.fotter_p2{
	font-size:var(--font-20);
	font-weight: bold;
	margin-top: 10px;
}

.fotter_p3{
	font-size:var(--font-24);
	font-weight: bold;
	margin-top: 10px;
}

.fotter_p3 img{
	width: 44px;
	margin-right: 10px;
	vertical-align: middle;
}

.fotter_p4{
	font-size:var(--font-12);
	margin-top: 0px;
}

.fotter_p5{
	font-size:var(--font-12);
	margin-top: 10px;
}


.fotter_p-mt{
	margin-top:20px;
}


.fotter_t1_w{
	margin: 20px auto 0;
	width: 86%;
}

.fotter_t1{
  display:flex;
  align-items: center;
  justify-content: center;
	color: #fff;

}

.fotter_t1::before,
.fotter_t1::after{
  content: "";
 flex-grow:1; /* 横幅いっぱい */
  border-top: 1px solid #fff;
}

.fotter_t1:before {
  margin-right: 1rem; 
}
.fotter_t1:after {
  margin-left: 1rem; 
}	


.footer_link a{
	text-decoration: underline;
	
}

.footer_link a{
	text-decoration: underline;
	
}

.footer_link a:hover{
opacity: 0.7;
 filter: alpha(opacity=70);
 -moz-opacity: 0.7;
}


.fotter_copy{
	font-size:var(--font-10);
	margin-top: 25px
}





 @media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	 


.footer_navi-logo {
	width: 180px;
	padding: 10px 20px;
	border-radius: 14px;
}

.footer_navi-logo img{
	width:100%;
}
	 
	 
.footer {
	
	padding: 10px 0 80px 0;
}	 
	
	 
.fotter_t1_w{
	margin: 20px auto 0;
	width: 86%;
}

.fotter_p2{
	margin-top: 5px;
}

.fotter_p3{
	margin-top: 5px;
}
	 
.fotter_p3 img{
	width: 34px;
	margin-right:5px;
}
	 

.fotter_p4{
	font-size:0.75rem;
}

.fotter_p5{
	font-size:0.75rem;
	width: 90%;
	margin: 10px auto 0;
}
		 
	 
.fotter_p-mt{
	margin-top:10px;
}	 
	

.fotter_copy{
	font-size:0.625rem;
	margin-top: 20px
}
	

 }


/* アニメーション */

.fade-up {
  opacity: 1;
  transform: translateY(0);
}

.js .fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .8s ease, transform .8s ease;
  will-change: opacity, transform;
}

.js .fade-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}



/* アクセシビリティ対応 */
/* スクリーンリーダー用（見た目は隠す） */
.visually-hidden{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* フォーカス可視化（リンク＆ボタン） */
.navi_w a:focus-visible,
.hamburger_switch:focus-visible,
.hamburger_menulist a:focus-visible{
  outline: 3px solid var(--focus-color);
  outline-offset: 3px;
}

/* :focus-visible 非対応ブラウザのフォールバック */
@supports not selector(:focus-visible) {
  .navi_w a:focus,
  .hamburger_switch:focus,
  .hamburger_menulist a:focus{
    outline: 3px solid var(--focus-color);
    outline-offset: 3px;
  }
}

/* hidden属性のときは確実に非表示（念のため） */
[hidden]{ display:none !important; }

@media (prefers-reduced-motion: reduce) {
  .hamburger_wrap,
  .hamburger_cover {
    transition: none !important;
  }
}

/* TOPボタンのリンクにフォーカスリングを出す*/
/* TOPボタン（リンク自体にサイズを持たせる） */
a.toTopLink{
  display: inline-block; /* 念のため */
}

.toTopLink img{
  display: block;
}

/* クリックでは出さず、キーボード操作のときだけ枠を出す */
.toTopLink:focus-visible{
  outline: 3px solid var(--focus-color) !important;
  outline-offset: 3px;
}

/* :focus-visible 非対応ブラウザ向けフォールバック */
@supports not selector(:focus-visible) {
  .toTopLink:focus{
    outline: 3px solid var(--focus-color) !important;
    outline-offset: 3px;
  }
}

/* hover は任意 */
a.toTopLink:hover{
  opacity: .8;
}



/* contents */	

.contents_section0{
	padding:0 0 60px 0;
}

.contents_section{
	padding: 60px 0;
}

.contents_section a:hover img{
-webkit-transform: scale(1.05);
  transform: scale(1.05);
}


.contents_ttl1{
	width: 380px;
	margin: 0 auto;

}

.contents_ttl0{
	width: 380px;
	margin: 60px auto;

}

.contents_ttl1 img,.contents_ttl0 img{
	width: 100%;
}



.contents_ttl-p{
	margin: 60px auto;
    font-size:1.5rem;
    font-weight: bold;

}

.contents_box_t{
	width: 80px;
	margin: 60px auto 0;
}

.contents_box_t img{
	width: 100%;
	vertical-align:bottom;
}

.contents_box_no{
	text-align: center;
}

.contents_box_no img{
	width: 140px;
}

.contents_box0{
	width:900px;
	margin: 0 auto;
	padding: 30px 0 30px 0;
}

.contents_box{
	width:900px;
	margin: 0 auto;
	padding: 30px 0 0px 0;
}


.contents_box_p1{
	text-align: center;
	font-weight: bold;
	font-size:var(--font-18);
}



.contents_box_p2{
	margin-top: 20px;
	text-align:center;
}

.contents_box_p3{
	text-align: center;
	font-weight: bold;
	font-size:1.25rem;
}

.contents_box_p4{
	text-align:left;
	font-size:var(--font-12);
	margin-top: 20px;
}


.contents_btn1{
	 display: block;
	width: 340px;
	margin: 40px auto 0;
}

.contents_btn1 img{
	width: 100%;
}


.contents_banner-p{
	text-align: center;
	margin-top: 40px;
}


.contents_banner1{
	 display: block;
	width: 300px;
	margin: 20px auto 0;
}

.contents_banner1 img{
	width: 100%;
}

.contents_banner1  a:hover img{
-webkit-transform: scale(1.05);
  transform: scale(1.05);
	opacity: 70%;
}


.contents_box1_2023{
	width: 100%;
	background:#F1F1F1;
	padding: 60px 0;
}


.contents_box1_w{
	width: 100%;
	background: #F5FBF9;
	background-image:
		linear-gradient(-135deg, #90C320 40px, transparent 0),
		linear-gradient(45deg, #D50080 40px, transparent 0);
}


.contents_box2_w{
	width: 100%;
	background: #F9F2F9;
	background-image:
		linear-gradient(-135deg, #E95412 40px, transparent 0),
		linear-gradient(45deg, #063190 40px, transparent 0);
}

.contents_box3_w{
	width: 100%;
	background:#FEF9F3;
	background-image:
		linear-gradient(-135deg, #D9DE00 40px, transparent 0),
		linear-gradient(45deg, #920784 40px, transparent 0);
}

.contents_box4_w{
	width: 100%;
	background:#F2FAFD;
	background-image:
		linear-gradient(-135deg, #22918A 40px, transparent 0),
		linear-gradient(45deg, #FFF100 40px, transparent 0);
}

.contents_box5_w{
	width: 100%;
	background:#F5F9FA;
	background-image:
		linear-gradient(-135deg, #005DA3 40px, transparent 0),
		linear-gradient(45deg, #F18101 40px, transparent 0);
	margin-top: 80px;
}


.contents_box_p1-1{
	color:var(--green);
}

.contents_box_p1-2{
	color:var(--purple);
}

.contents_box_p1-3{
	color:var(--orange);
}


.contents_box_p1-4{
	color:var(--dkgreen);
}


.contents_box_p1-5{
	color: var(--blue);
}





.contents_box2_icon{
	width:72px; 
}


.contents_box3_flex{
	display: flex;
	flex-direction: row;
	justify-content:space-between;	
	flex-wrap: wrap;
	align-items:stretch;
}

.contents_box3_box1{
	width: 48%;
	margin-top: 20px;
	background:#fff;
	padding: 20px 20px;
	text-align: center;
	display: flex;
  flex-direction: column;
	border-radius: 20px;
	box-shadow:0 4px 12px rgba(0,0,0,0.06);

}

.contents_box3_p1{
	font-weight: bold;
	/*min-height:40px;*/
}

.contents_box3_p2{
	font-weight: bold;
	color:var(--blue);
	font-size:var(--font-16);
	line-height: 1.5;
	/*min-height: 60px;*/
}

.contents_box3_p3{
	font-weight: bold;
	font-size:1.25rem;
	margin-top: 20px;
	text-align: center;
	line-height: 1.5;
}


.contents_box3_p4{
	text-align: center;
	margin: 20px 0 0 0;
}

.contents_box3_p5{
	text-align:left;
	font-size:0.875rem;
	margin-top: 10px;
	flex-grow: 1;

}


.contents_box3_time{
	margin-top: 20px;
	padding: 10px 0;
	background-color: #F4E6F3;
}

.contents_box3_time2{
	margin: 20px auto 0;
	width:50%;
	text-align: center;
	padding: 10px 0;
	background-color: #F4E6F3;
}



.contents_box4_p1{
	font-weight: bold;
	min-height:40px;
}

.contents_box4_p2{
	font-weight: bold;
	margin-top: 20px;
}


.contents_box4_time{
	margin-top: 20px;
	padding: 10px 0;
	background-color: #F7F8E8;
}

.contents_box4_time1{
	padding: 10px 0;
	background-color: #F7F8E8;
}

.contents_box4_time2{
	margin-top: 20px;
	padding: 8px 0;
	background-color: #149cd4;
	color: #FFFFFF;
	font-weight: bold;
	font-size:1.125rem;
	line-height: 1.5;
	
}





.contents_box5_icon{
	width:200px; 
}

.contents_box5_list{
	margin:40px auto 0;
	width:50%;
	text-align: center;
	padding: 8px 0;
	background-color:#219189;
	color: #FFFFFF;
}




.contents_live{
	width: 48%;
	margin: 20px auto 0;
	background:#fff;
	padding: 20px 20px 20px 20px;
	text-align: center;
}


.contents_img2_frex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 900px;
	margin: 40px auto 0;
}

.contents_img2{
	width: calc(100% / 2 - 20px);
}

.contents_img2 img{
	width: 100%;
}





@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
.contents_section{
	padding: 30px 0;
}

.contents_ttl1{
	width: 290px;
	margin: 0 auto;

}
	
.contents_ttl0{
	width: 290px;
	margin: 30px auto;

}	
	
.contents_box_t{
	width: 54px;
	margin: 30px auto 0;
}
	
.contents_box_no img{
	width: 94px;
}
	
.contents_box0{
	width:90%;
	margin: 0 auto;
	padding: 30px 0 20px 0;
}

.contents_box{
	width:90%;
	margin: 0 auto;
	padding: 30px 0 0px 0;
}	
	
.contents_box_p1{
	line-height: 1.5;
}
	

.contents_box_p2{
	margin-top: 15px;
}	
	
.contents_box_p3{
	font-size:1rem;
}	
	


.contents_btn1{
	width: 226px;
	margin: 30px auto 0;
}	
	
.contents_banner1{
	width: 226px;
	margin: 20px auto 0;
}		
	
.contents_box1_2023{
	padding: 30px 0;
}	
	
	
.contents_box1_w{
	background-image:
		linear-gradient(-135deg, #90C320 30px, transparent 0),
		linear-gradient(45deg, #D50080 30px, transparent 0);
}
	
.contents_box2_w{
	background-image:
		linear-gradient(-135deg, #E95412 30px, transparent 0),
		linear-gradient(45deg, #063190 30px, transparent 0);
}	
	
.contents_box3_w{
	width: 100%;
	background-image:
		linear-gradient(-135deg, #D9DE00 30px, transparent 0),
		linear-gradient(45deg, #920784 30px, transparent 0);
}
	
.contents_box2_icon{
	width:52px; 
}
	
.contents_box3_box1{
	width: 100%;
	margin-top: 20px;
	padding: 20px 20px;
}

.contents_box3_p1{
	min-height:0;
}	

.contents_box3_p2{
	min-height:0;
	margin-top: 10px;
}
	
.contents_box3_p3{
	font-size:1rem;
	margin-top: 20px;
}


.contents_box3_p4{
	text-align: center;
	margin: 10px 0 0 0;
}
	
	
	
.contents_box3_p5{
	
	font-size:0.857rem;
	margin-top: 10px;
}
	
	
	

.contents_box3_time{
	margin-top: 10px;
	padding: 8px 0;
}
	
.contents_box3_time2{
	margin: 10px auto 0;
	width:100%;
	padding: 8px 0;
	font-size:1rem;
}	
	

.contents_box4_p1{
	min-height:0;
}	
	
.contents_box4_p2{
	margin-top: 10px;
}	

.contents_box4_time{
	margin-top: 10px;
	padding: 8px 0;
}	

	
.contents_box4_time1{
	margin-top: 10px;
	padding: 8px 0;
}	

.contents_box4_time2{
	margin-top: 10px;
}	
	
	
.contents_box5_icon{
	width:200px; 
}
	
.contents_box5_list{
	margin:20px auto 0;
	width:100%;
}


	
.contents_live{
	width: 100%;
	margin: 20px auto 0;
	background:#fff;
	padding: 20px 20px 20px 20px;
	text-align: center;
}
	
	
.contents_box5_w{
	margin-top: 30px;
}	
	
	
.contents_img2_frex{
	width: 100%;
	margin: 20px auto 0;
}	
	
	
.contents_img2{
	width:100%;
	margin-bottom: 10px;
}	
	

}



/*contents add*/

.add_box1{
	width: 600px;
	margin:80px auto 0;
	text-align: center;
padding: 25px;
	border: #ED5D04 4px solid;
}


.add_box2{
	width: 100%;
	margin: 60px auto 0;
	text-align: center;
padding: 40px;
	border: #06C655 4px solid;
}



.add_box1 a{
	text-decoration: underline;
}

.add_box1 a:hover{
	opacity: 70%;
}


.add_box_t1{
	width: 358px;
	margin: -60px auto 0;
}

.add_box_t1 img{
	width: 100%;
}


.add_box_p1{
font-size:1.375rem;
	font-weight: bold;
	margin-top: 20px;
}


.add_box_p2{
	margin-top: 30px;
}

.add_box_p3{
	font-size:1.375rem;
	font-weight: bold;
	color: #06c755;
}

.add_box_p4{
	font-size:0.875rem;
	margin-top: 10px;
	text-align: left;
	margin-left: 1em;
	text-indent: -1em
}

.add_box_p5{
	font-size:0.875rem;
	margin-bottom: 30px;
	text-align: center;
}




.add_box_img1{
	width:200px;
	margin-top:30px;
}



.add_box_img2{
	width:85px;
	margin-top:30px;
}

.add_box2_barcode_w{
	width: 100%;
	margin: 20px auto 0;
	display: flex;
	justify-content:space-between;	
	flex-wrap: wrap;
}

.add_box_barcode_l{
	width:30%;
}

.add_box_barcode_r{
	width:60%;
}

.add_box_barcode_l a{
	text-decoration: underline;
	color: #007FBA;
}

.add_box_barcode_l a:hover{
	opacity: 70%;
}

.add_box2_barcode_p{
	font-size: 80%
}



@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
.add_box1{
	width:90%;
	padding: 18px;
	margin: 60px auto 0;
}
	
.add_box2{
	width:90%;
	margin:30px auto 0;
	padding: 18px;
}	
	
	
	.add_box_t1{
	width: 258px;
	margin: -50px auto 0;
}
	
.add_box_p1{
font-size:1.25rem;
}	

.add_box_p2{
	margin-top: 20px;
}
	
.add_box_p3{
	font-size:1.25rem;
}	
	
.add_box_p4{
	margin-top: 5px;
}	

.add_box_p5{
	margin-bottom: 20px;
}	

	
.add_box_img1{
	margin-top:20px;
	width: 140px;
}	

	
	.add_box_img2{
	margin-top:20px;
	width: 65px;
}
	
.add_box_barcode{
	margin-top:20px;
	width: 80px;
}
	
	
.add_box2_barcode_w{
	width: 100%;
	margin: 20px auto 0;
}

.add_box_barcode_l{
	width:50%;
	margin: 0 auto;
}

.add_box_barcode_r{
	width:100%;
}	

}


/*==去年==*/

.contents_lastyer_box{
	width:900px;
	margin: 0 auto;
}

.contents_lastyer_p{
	font-weight: bold;
	font-size:1.125rem;
	margin-top: 20px;
}

.contents_lastyer_frex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 40px auto 0;
}

.contents_lastyer_img{
	width: calc(100% / 3 - 20px);
}

.contents_lastyer_img img{
	width: 100%;
}



.contents_box1_list-p{
	margin:40px 0 0 0;
	color: #D50080;
	border:#D50080 1px solid;
	padding: 20px;
}

.contents_box2_list-p{
	width: 100%;
	margin:40px auto 0;
	color: #f08200;
	border: #f08200 1px solid;
	padding: 20px;
}


.contents_box3_list-p{
	margin:40px 0 0 0;
	color: #33B371;
	border: #33B371 1px solid;
	padding: 20px;
}


.contents_box4_list-p{
	margin:40px 0 0 0;
	color:var(--orange);
	padding: 20px;
	font-size:1.125rem;
	background: #FFFFFF;
	border-radius: 20px;
	box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.contents_box5_list-p{
	margin:40px 0 0 0;
	color:#149CD4;
	border: #149CD4 1px solid;
	padding: 20px;
	font-size:1.125rem;
}

.contents_box5-2_list-p{
	margin:40px 0 0 0;
	color:#3EB370;
	border: #3EB370 1px solid;
	padding: 20px;
}



.contents_box_list-li1:before {
  position: absolute;
  top: 50%;
  content: "■";
  display: block;
  transform: translate(-50%, -50%);
	padding-right: 20px;
}

.contents_box_list-li2{
  top: 50%;
	padding-right: 20px;
}

.contents_box_list-li1 span {
	font-size: 85%;
	font-feature-settings : "palt" ;
}

.contents_box1_list-p ul,.contents_box2_list-p ul,.contents_box3_list-p ul,.contents_box4_list-p ul,.contents_box5_list-p ul,.contents_box5-2_list-p ul{
	display: flex;
	flex-direction: row;
	justify-content:center;	
	flex-wrap: wrap;
}

.contents_box1_list-p ul li,.contents_box2_list-p ul li,.contents_box3_list-p ul li,.contents_box4_list-p ul li,.contents_box5_list-p ul li,.contents_box5-2_list-p ul li{
	position: relative;
	padding: 0.2em 1em;
}


.contents_box_list-li_single:before {
  content: "■";
	padding-right: 3px;
}




 @media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	 
.contents_lastyer_box{
	width:90%;
}	 
	 
.contents_lastyer_p{
	font-weight: bold;
	font-size:1rem;
}

.contents_lastyer_frex{
	margin: 20px auto 0;
}

.contents_lastyer_img{
	width:100%;
	margin-bottom: 10px;
}	 
	

.contents_box4_list-p{
	padding: 15px;
	font-size:1rem;
}	
	 
.contents_box5_list-p{
	
	padding: 15px;
	font-size:1rem;
}	 
	 
	
.contents_box1_list-p ul,.contents_box2_list-p ul,.contents_box3_list-p ul,.contents_box4_list-p ul,.contents_box5_list-p ul,.contents_box5-2_list-p ul{
	justify-content:space-between;
	margin-left:10px;
}
	
.contents_box1_list-p ul li,.contents_box2_list-p ul li,.contents_box3_list-p ul li,.contents_box4_list-p ul li,.contents_box5_list-p ul li,.contents_box5-2_list-p ul li{
	width: 50%;
	text-align: left;
	padding: 0.2em 1em;
}	
	 
.contents_box1_list-p,.contents_box2_list-p,.contents_box3_list-p,.contents_box4_list-p,.contents_box5_list-p,.contents_box5-2_list-p{
	margin-top: 20px;
	padding:10px 5px;
}	 
	 
	
.contents_box_list-li1:before {
  top:1.1em;
}	 
	 
	 
}


/*==youtube==*/

.youtube_wrap {
  width: 900px;
	margin: 60px auto 0;
	aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


 @media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	
	.youtube_wrap {
  width: 90%;
		margin: 30px auto 0;
} 
	 
}

/*==07プレ==*/
.add_current{
	font-size:0.875rem;
	text-align: center;
}



/*2025追加*/

.lastyear2024_wrap1{
	width: 800px;
	margin: 40px auto;
}

.lastyear2024_wrap1 dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.lastyear2024_wrap1 dt {
  width: 30%;
  padding: 10px;
  margin-bottom: 2px;
  background-color: #E5E9DA;
}

.lastyear2024_wrap1 dd {
  width: 70%;
  padding: 10px;
  background-color:#F7F8F3;
  margin-bottom: 2px;
}


.lastyear2024_p1{
	text-align: center;
	border: #000000 1px solid;
	background: #000000;
	border-radius:20px;
	color: #FFFFFF;
	font-weight: bold;
	padding: 5px 20px;
}

.lastyear2024_mt{
	margin-top: 40px;
}


.timetable_img{
	width: 100%;
	margin: 40px auto 0;
}

.timetable_img img{
	width: 100%;
}

.greet_p1{
	font-size:1.125rem;
	font-weight: bold;
	color: #06C655;
}

.greet_p2{
	text-align: left;
	margin-top: 10px;
}



 @media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */
	 

.lastyear2024_wrap1{
	width: 90%;
	margin: 30px auto;
} 
	 
	 
.lastyear2024_mt{
	margin-top: 30px;
}
	 

.greet_p1{
	font-size:1rem;
}	 
	 
}	 
	
