@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}
body {position: relative;
    
    font-family: 'Noto Sans JP', 'Helvetica Neue', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, YuGothic, Arial, 'メイリオ', Meiryo, sans-serif;
    color: #020202;
	line-height: 1.6;
    -webkit-text-size-adjust: 100%;
	word-break: break-all;
	text-align: justify;
		background-color: #f7f7f7;

}

header {
  position: fixed;
  width: 100%;
	height: 50px;
  top: 0;
  z-index: 10000;
background-color:#FFFFFF;
border-bottom: rgba(221,221,221,0.8) solid 2px;
	box-shadow: 0 0 8px #fff, 0 0 8px #ccc, 0 0 8px #999;
	-webkit-box-shadow: 0 0 8px #fff, 0 0 8px #ccc, 0 0 8px #999;
	-moz-box-shadow: 0 0 8px #fff, 0 0 8px #ccc, 0 0 8px #999;
}

nav{
margin: 10px auto;
	
text-align: center;
}
nav ul{
margin: 0 ;
padding: 0 ;

}
nav ul li{
list-style: none;
display: inline-block;
width: 8%;
min-width: 90px;
font-size: 90%;
font-weight: 200;
}
nav ul li a{
text-decoration: none;
color: #575959;
}
nav ul li.current a{
color: #F33135;
}
nav ul li a:hover{
color: #E7DA66;
}

a.anchor{
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}


/* ハンバーガーメニューのスタイル */
.hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 20px;
    cursor: pointer;
	position: absolute;
	top: 10px;
	left: 5px;
}


/* ハンバーガーメニューのアイコンのスタイル */
.hamburger-line {
    width: 100%;
    height: 2px;
    background-color: #575959;
    margin-bottom: 4px;
}

 /* activeクラスのスタイル */
    .active .hamburger-line:nth-child(1) {
      transform: translateY(6px) rotate(45deg);
    }


    .active .hamburger-line:nth-child(2) {
      opacity: 0;
    }


    .active .hamburger-line:nth-child(3) {
      transform: translateY(-6px) rotate(-45deg);
    }


    /* メニューのスタイル */
    .menu {
      display: none;
      background-color:rgba(73,73,73,.5);
      padding: 10px;
	width: 30%;
	font-size: 85%;
	color: #FFFFFF;
	line-height: 2;
    }


    /* activeクラスが付与されたときのメニューのスタイル */
    .active + .menu {
      display: block;
    }


main {
	
	width: 1100px;
	margin: 0 auto;
	background: #fff;
	
}

.wrap {width: 90%;
	margin: 20px auto;
	padding: 20px 0;
}

.contents_box{
	padding: 15px 50px;
	margin: 0 auto;
}


h1 {
  padding: 1.5rem 2.5rem;
margin: 0px auto;
  border: none;
background-color: #EB6EA0;
color: #FFFFFF;	
border-radius: 15px;
text-align: center;
margin-bottom: 20px;
}




h1 img{
	/*margin-top: 20px;*/
	width: 100%;
}

h2 {
	border-bottom: 1px solid #EB6EA0;
	color:#020202;
	padding: 0.2em 0.5em;
	border-left: solid 5px #EB6EA0;
	font-size: 160%;
	margin-top: 2.5rem;
	}

h3{
	font-size: 145%;
	margin-bottom: 20px;
	margin-top: 35px;
	border-bottom: #ffccdc solid 5px;
}

h4{
	font-size: 115%;
	margin-bottom: 10px;
	margin-top: 10px;
	border-bottom: #ffccdc solid 2px;
}
a.btn_02 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	max-width: 100%;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	transition: 0.5s;
}
a.btn_02:hover {
	color: #27acd9;
	background: #fff;
}

dt{
	color: #128fa0;
	border-bottom: 1px solid #128fa0;
	margin-top: 2rem;
	font-weight: bold;
}

dd{
	margin-top: 10px;
}

.list li{
	margin-left: 0;
	padding-left: 0;
	padding-bottom: 2px;
}

.sch table, .pay table, .oplist table, .sports table, .program table{
	border-spacing:0;
	border-style: 1px solid #4B4B4B;
	width: 100%;
	border-collapse:collapse;
	margin-bottom: 30px;
}
.sports table{
	margin-bottom: 0!important;
	min-width: 250px;
	
}


.pay th, .oplist th{
color: #000000;
background-color: #ffe6ee;
border: 1px solid #000000;
vertical-align: middle!important;
padding: 10px;

}

.sch th{
color: #020202;
background-color: #ffe6ee;
border: 1px solid #020202;
text-align: center!important;
vertical-align: middle!important;
padding: 10px;
min-width: 70px;
}

.sports th{
color: #020202;
background-color: #ffe6ee;
border: 1px solid #020202;
text-align: center!important;
vertical-align: middle!important;
padding: 10px;
min-width: 20px;
}

.pay th{
border: 1px solid #000000;
text-align: center;
vertical-align: middle;
}




.sch td{
	padding: 10px 10px;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #575959;
}

.sports td{
	padding: 5px 10px;
	font-size: 85%;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #575959;
}

.pay td{
	padding: 10px 10px;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #575959;
}

.program{
	min-width: 800px;
}
.program th{
border: 1px solid #000000;
text-align: center;
vertical-align: middle;
background-color: #ffe6ee;
}

.program td{
	padding:0 5px;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #575959;
}

.program th,td{
	height: 80px;
}
.oplist td{
	padding: 10px 10px;
	vertical-align: middle;
	text-align: left;
	border: 1px solid #575959;
}

.w-100{
	width: 100%;
}

.t-l{
	text-align: left!important;
}
.t-right{
	text-align: right!important;
}
.t-c{
	text-align: center!important;
}

.f-125{
	font-size: 125%;
	font-weight: bold;
}

.f-115{
	font-size: 115%;
	font-weight: bold;
}



.f-130{
	font-size: 130%;
	font-weight: bold;
}
.f-140{
	font-size: 140%;
	font-weight: bold;
}

.f-160{
	font-size: 160%;
	font-weight: bold;
}

.f-80{
	font-size: 80%;
}

.f-90{
	font-size: 90%;
}

.fwb{
	font-weight: bold;
}

.mb-12{
	margin-bottom: 12px;
}

.entry{
	border: 1px solid #575959;
	padding: 10px 25px;
}
.step{
	text-align: center;
	background-color: #7094d0;
	padding: 10px 0;
	color: #FFFFFF;
	font-weight: bold;
	margin-bottom: 0!important;
	border: 1px solid #575959;
	border-bottom: none;
}

.number{
	display: inline-block;
margin-right: 15px;
	background-color: #ff3377;
	width: 50px;
	height: 50px;
	border-radius: 30px;
}
.number_tx{
	display: inline-block;
	color: #FFFFFF;
padding: 10px 20px;
}
.vision{
	font-size: 125%;
	font-weight: bold;
	text-shadow: 1px 1px 2px rgba(255, 153, 204, 0.6); /* 薄ピンクのシャドウ */
}
.bank{
	border: 2px solid 
		#C8C8C8;
	padding: 1rem;
}

.arr {
	margin: 10px 0;
	text-align: center;
}

.box{
	border: 2px solid
		#000000;
	padding: 14px;
}

.box_d{
	border: 2px dashed
		#000000;
	padding: 10px;
	margin: 20px auto;
}

.logo_knt{
	max-width: 400px;
}

.entry_area{
	text-align: center;
	margin: 50px 0;
}

.point{
	border: 2px dashed #7094d0;
	margin-bottom: 3rem;
	padding: 0 1rem 1rem 1rem;
}

.point_box{
	width: 700px;
	margin: 0 auto;
	
}
.point p{
	width: auto;
	font-size: 150%;
}

.point_medama{
	display: inline-block;
	border-bottom: solid 1px #7094d0;
	font-weight: bold;
	font-size: 120%;
	padding: 10px 0;
color: #C1036E;
	
}

.point_naiyo{
	display: inline-block;
	border-bottom: solid 1px #7094d0;
	font-weight: bold;
	
}

.medama_box{
	 display: inline-block;
  width: 100%;
font-size: 100%;
  height: 40px;
  background: #C1036E;
  text-align:center;
  line-height: 40px;
margin-right: 10px auto;
	color: #FFFFFF;
	font-weight: bold;
	
}

.p_box{
	 display: inline-block;
  width: 100px;
font-size: 80%;
  height: 40px;
  background: #7094d0;
  text-align:center;
  line-height: 40px;
margin-right: 10px;
	color: #FFFFFF;
	font-weight: bold;
	
}
.flex{
	display: flex;
	justify-content: center;
	column-gap: 30px;
}
.flex p{
	margin: 10px;
}

.flex_a{
	display: flex;
	justify-content: space-between;
	column-gap: 20px;
	width: 100%!important;

}

.flex_b{
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
	column-gap: 20px;
	width: 100%!important;

}

.flex-item {
  flex: 1; /* 均等に縮小される */
  max-width: 100%; /* 横幅制限 */
  text-align: center;
}

.flex-item img {
  width: 100%;     /* 親に合わせて縮小 */
  height: auto;
  display: block;
  margin: 0 auto;
}

footer{
	background-color: #c6c6c6;
	color: #FFFFFF;
	width: 100%;

}

.footer_in{
	font-size: 90%;
	padding: 20px 10px;
	text-align: center;
}


@media (max-width: 999px) {
	main{
		width: 100%;
	}
	.point_box{
	width: 100%;
	margin: 0 auto;
}

}

@media (max-width: 600px) {
	body{
		font-size: 90%;
	}
	.contents_box{
	padding:15px;
	margin: 0 auto;
}
	.logo_knt{
	max-width: 90%;
}
	.teble_scroll {
    overflow-x: auto;
    display: block;
}

.teble_scroll table th,
.teble_scroll table td {
    white-space: nowrap;
}
	
	.entry ol, .entry ul{
		padding-inline-start: 10px;
	}
	.point p{
		font-size: 100%!important;
		text-align: center;
	}
	.p_box{
	 display: inline-block;
  width: 100%;
font-size: 100%;
  height: 20px;
  background: #7094d0;
  text-align:center;
  line-height: 20px;
margin-right: 10px auto;
	color: #FFFFFF;
	font-weight: bold;
	
}
}

.pc{
	display: block;
}
.sp{
	display: none;
}

.registration_part{
	border:  1px solid #222222;
	padding: 1rem 1.5rem;
}

.registration_part h3{
text-align: center;
background-color: #222222;
color: white;
margin: 0!important;
font-size: 180%;
padding: 8px 0 ;
}

.midashi{
	font-weight: bold;
	background-color:#E1E1E1;
	padding:8px 10px 10px 8px;
	margin-top: 16px;
}
.bgb{background-color: #000000;
	padding: 5px;
	margin: 12px 0;
	display: inline-block;
}
.white{
	color: #FFFFFF;
}
.bb1{
	border-bottom:  1px solid #000000;}

.bb2{
	border-bottom:  3px double #000000;
}
.bb_dashed{
	border-bottom:  2px dashed #000000;
}

.bloc{
	display: inline-block;
}

.syugo table{
	width: 100%;
}

.oplist dl{
	  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.oplist dt {
  width: 50%;
margin: 0;
padding: 0;
  background-color: #DADADA;
	border: none;
	margin-bottom: 15px;
}

.oplist dd {
  width: 20%;
margin: 0;
padding: 0;
  background-color: #F3F3F3;
	margin-bottom: 15px;

}
.flex
.icon{
	margin-bottom: 20px;
}
.icon img{
	width: 50px;
	margin-right: 20px;
}
.icon a img:hover{
	opacity:0.5;
	transition:0.3s;
filter: brightness(0.5);}

@media (max-width: 600px) {
	.pc{
	display: none;
}
.sp{
	display: block;
}
	h1{
		font-size: 140%;
		padding: 0.7rem;
	}
	
	h2{
		font-size: 130%;
	}
	h3{font-size: 115%;}
	
		.flex{display: block;}

	.flex_a,.flex_b{
		display: block;
	}
	
}
.red{
color: #ff0000;
}

.pink{
	color: #C1036E;
	font-weight: bold;
}

.black{
	color: #000000!important;
}
.bgsb{
	background-color:#ffe6ee!important;
}

.vt-t{
	vertical-align: top!important;
}

.white_box{
	border: 1px solid #4F4F4F;
	padding: 5px 10px;
	
}

.indent p{
	  text-indent: -1em;
  padding-left: 1em;
margin-block-start: 0em;
    margin-block-end: 0em;
}

.indent p:before {
content: "※";
color: #000000;
}

.m-t20{margin-top: 20px;
	
}
.m-t30{margin-top: 30px;
	
}

.m15{
	margin-top: 15px;
	margin-bottom: 15px;
}
.m-t-10{
	margin-top: -10px;
}

.mw-30{
	min-width: 30%!important;
}

.mw-80px{
	min-width: 80px!important;
}

.rb{
	background-color: crimson;
	color: #FFFFFF;
	font-weight: bold;
	padding: 6px 20px;
}


/*news */

.news_box {
  border: 1px solid rgba(90,90,90,1.00);
  margin: 20px 0;
}

.news_title {
  color: #020202;
  padding: 10px;
  background-color: #ffe6ee;
  font-size: 110%;
  font-weight: bold;
border-bottom: 3px solid #CCC;

}

.news-scroll {
  max-height: 250px;
  overflow-y: auto;
}

.news_link {
  color: #000000;
  padding: 10px;
  background-color: #fff;
  border-bottom: 1px solid #CCC;
}

.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;

}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}
.news-list .item:first-child a{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 120px;
  font-size: 16px;
  color: #000;
  padding: 0 20px 0 0;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: #00F;
}

.news-label{
	background-color: yellow;
	display: inline-block;
	padding: 2px 5px;
	
	text-shadow: none;
	
}

.bp{
	background-color:#FFEFEF;
}
.border_2b{
	border-bottom: 3px solid #CCC;
}
.border_2{
	border-top: 3px solid #CCC;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

.bg{
	background-color: #9B9B9B;
}

.btn-pink {
  display: inline-block;
  padding: 20px 0;
	font-size: 120%;
	
width: 100%;
	text-align: center;
  background-color: #ff6699;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-pink:hover {
  background-color: #B3456A;
}
.btn-blue {
  display: inline-block;
  padding: 20px 0;
	font-size: 120%;
	
width: 100%;
	text-align: center;
  background-color: #00A2FC;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-blue:hover {
  background-color: #0069A4;
}

.pay-wrapper {
  width: 100%;
  overflow-x: auto;
}
.scroll-tx{
	display: none!important;
}
@media (max-width: 768px) {
  .pay {
    min-width: 800px; /* テーブル全体がスクロール可能に */
  }
	.scroll-tx{
	display: block!important;
}
}


.accordion-btn {
  background-color: #ffe6ee;
  border: none;
  position: sticky;
  top: 0;
  z-index: 10; /* 他の要素より前面に表示 */
padding: 10px 0;

  width: 100%;
height: 30px;
  text-align: left;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s;
font-weight: bold;
}

.accordion-btn:hover {
  background-color: #ddd;
}

.accordion-btn-txt{
	display: block;
	margin-left: 20px;
}

.accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
 background: rgba(250, 250, 250, 0.9); /* 90%の不透明度 */
  padding: 0 1em;
position: fixed;
width: 100%;
top: 30px;
}

.accordion-panel.open li{
	list-style: disc;
}
.accordion-panel.open {
  padding: 1.5rem 3rem;

  max-height: 1200px; /* 最大高さ。内容に合わせて調整可能 */
}

.accordion-panel a {
  display: block;
  margin: 0.5em 0;
  text-decoration: underline;
  color: #2A00FF;
}

.accordion-panel a:hover {
	color: #3400CB;
}

[id^="0"] {
  scroll-margin-top: 80px;
}

.pankuzu{
	max-width: 1000px;
	font-size: 80%;
}

.pankuzu ol{
padding-inline-start: 10px;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
color: gray;
position:absolute;
	z-index: 999;

}

.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}