@charset"utf-8";

 /* bodyここから */

body {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; 
}

 /* bodyここまで */

 /* headerここから */

.sankaku1{
	position:absolute;
	z-index:1;
	height: 0;
	border-top: 200px solid rgba(0,0,0,0.3);
	border-right: 10vw solid transparent;
	border-bottom: 30px solid transparent;
}

.sankaku2{
	position:absolute;
	z-index:1;
	height: 0;
	right:0;
	border-top: 200px solid rgba(0,0,0,0.3);
	border-left: 10vw solid transparent;
	border-bottom: 30px solid transparent;
}

header{
	width:100%;
	height:150px;
	background-color:rgba(0,94,21,0.4);
}

#header{
	display:table;
	position:relative;
}

#menu_nav{
	transition:all 0.3s;
	position:absolute;
	left:-100%;
	top:0;
	width:100%;
	height:210%;
	background:rgba(0,0,0,0.5);

}

#menu_nav.m_slide{
	display:block; 
	z-index:3;
	left:0%; 
}

#menu_nav ul li:first-child{
	margin-top:130px;
}

#menu_nav a{

	padding-left:0;
	display:block;
}

#menunav ul li{
	list-style-type:none;
}

#menu_nav li a{
	display:block;
	font-weight:bold;
	font-size:7vw;
	color:#fff;
}

@media screen and (max-width: 900px){
  #nav1  li{
    font-size:1.7vw;
  }
}
@media screen and (min-width: 900px){
#menu_nav li a{
    font-size:4vw;
  }
}

#menu_nav li a:hover{
	background-color:#fff;
	color:#000;
}

.menu_btn:hover{
	cursor:pointer; 
}

.menu_btn{
	z-index:4;
	position:absolute;
	top:20px;
	left:25%;
	width:100px;
	height:100px;
	border-radius:10px;
	background-color:rgba(255,255,255,0.5);
	text-align:center;
}

.manu_btn .btn{
	position:relative;
}

.menu_btn .btn h2{
	padding-top:10px;
	color:rgba(95,205,184,0.9);
}

.menu_btn .btn span{
	position:absolute;
	background:#eee;
	left:25px;
	width:50%;
	height:5px;
	border-radius:2px; 
}

.btn span:nth-child(2){
	top:45px;
	transition:all 0.5s; 
}
.btn span:nth-child(3){
	top:60px;
	transition:all 0.5s; 
}
.btn span:nth-child(4){
	top:75px;
	transition:all 0.5s;
}

.menu_btn.m_open{

}

.m_open span:nth-child(2){
	top:60px;
	transform:rotate(45deg);
}

.m_open span:nth-child(3){
	top:60px;
	transform:rotate(-45deg); 
}

.m_open span:nth-child(4){ 
	top:60px;
	left:15px;
	width:0%; 
}


.title_img{
	opacity:0;
	mix-blend-mode: multiply; /* 乗算 */
	position:absolute;
	right:25%;
	top:0%;
}

.t_open{
	transition:5s;
	opacity:1;
	transform:rotate(360deg);
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}

#header .title{
	display:table-cell;
	vertical-align:middle;

	margin:auto;

	text-align:center;
	line-height:1.8em;

}

#header .title .title_cap h1{
	font-size:40px;
	color:rgb(255,255,255);
}

#header .title .title_cap h2{
	font-size:30px;
	color:rgb(255,255,255);
}

 /* headerここまで */

 /* navここから */
#nav1{
	width:100%;
}

.nav1_bg{
	background-color:rgba(190,100,100,1);
}

#nav1 ul{
	list-style:none;

	width:80%;
	height:50px;
	margin:auto;

	display:flex;
	flex-direction:row;
	text-align:center;
}

#nav1 ul li{
	width:14.2%;
	line-height:50px;
}

#nav1 ul li a{
	display:block;
	text-decoration:none;
	font-weight:bold;
	color:black;
}

#nav1 ul li a:hover{
	display:block;
	background-color:rgb(170,80,80);
}

 /* navここまで */

/* top_imgここから */ 
#top_img{
  overflow: hidden;

}

.curtain_l{
	z-index:1;
	position:absolute;
	width:50%;
	height:600px;
	border-radius: 0px 10px 10px 0px;
	background-color:rgba(255,250,250,0.5);
	left:0;
}
.curtain_r{
	z-index:1;
	position:absolute;
	width:50%;
	height:600px;
	right:0;
	border-radius: 10px 0px 0px 10px;
	background-color:rgba(255,250,250,0.5);
	right:0;
}

.c_open_l{
	transition:all 5s;
	left:-40%;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}
.c_open_r{
	transition:all 5s;
	right:-40%;
-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}


#top_img{
	position:relative;
	background-color:rgba(153,191,161,1);
}

#top_img .top_text{
	z-index:2;
	width:100%;
	font-size:200%;
	color:rgb(250,250,200);
	text-align:center;
	background-color:rgba(0,0,0,0.4);
	position:absolute;
	bottom:-1em;
	padding-top:0.5em;
}

#top_img .top_text span{
	font-size:60%;
}

.sp-slide{
	position:relative;
}

.slide_p{
	z-index:1;
	line-height:70px;
 	text-shadow:
	    #fff 2px 0px 12px, #fff -2px 0px 12px,
	    #fff 0px -2px 12px, #fff -2px 0px 12px,
	    #fff 2px 2px 12px, #fff -2px 2px 12px,
	    #fff 2px -2px 12px, #fff -2px -2px 12px,
	    #fff 1px 2px 12px, #fff -1px 2px 12px,
	    #fff 1px -2px 12px, #fff -1px -2px 12px,
	    #fff 2px 1px 12px, #fff -2px 1px 12px,
	    #fff 2px -1px 12px, #fff -2px -1px 12px,
	    #fff 1px 1px 12px, #fff -1px 1px 12px,
	    #fff 1px -1px 12px, #fff -1px -1px 12px;
}

.slide_p_p1{
	position:absolute;
	top:60px;
	left:15vw;
	font-size:15px;
}


.slide_p_p2{
	position:absolute;
	top:120px;
	left:30vw;
	font-size:15px;
}

.slide_p_p3{
	position:absolute;
	top:180px;
	left:45vw;
	font-size:15px;
}

@media screen and (max-width: 768px) {

.slide_p_p1{
	font-size:1.5vw;
}
.slide_p_p2{
	font-size:1.5vw;
}
.slide_p_p3{
	font-size:1.5vw;
}

}

/* top_imgここまで */

/* m01ここから */

#main_01{
	width:80%;
	margin:0 auto;
	display:table;

}

#main_01 .m01{
	height:300px;
	background-color:white;

	display:table-cell;
	vertical-align:middle;
	text-align:center;
}

#main_01 .m01 .m01_copies{
	font-size:35px;
	color:green;
}

#main_01 .m01 .m01_text{
	font-size:20px;
} 

 /* m01ここまで */

 /* m02ここから */
#main_02{
	width:100%;
	min-height:600px;
	max-width:800px;
	margin:0 auto;
	display:flex;
margin-bottom:60px;
}
#main_02 #calendar{
	max-width:100%;

}
#main_02 #calendar .fc-button-group{
	display:none;
}

.fc .fc-today-button{
	display:none;
}

.fc .fc-daygrid-day-number{
	
}

 /* m02ここまで */
/*index calendar*/
#cal{
	max-width:800px;
  	display: flex; /* 子要素を横並びに配置 */
  	justify-content: space-between; /* 子要素を左右に均等に配置 */
	margin:auto;
	width:80%;
}
.cal1{
  flex: 3; /* 3 の割合を占める */
	width:30%;
}

.cal2{
  flex: 7; /* 7 の割合を占める */
	width:70%;
}










 /* footerここから */

#shadow{
	position:relative;
	width:100%;
}

.sankaku3{
	position:absolute;
	z-index:1;
	height: 0;
	border-top: 200px solid rgba(0,0,0,0.3);
	border-right: 10vw solid transparent;
	border-bottom: 30px solid transparent;
}

.sankaku4{
	position:absolute;
	z-index:1;
	height: 0;
	right:0;
	border-top: 200px solid rgba(0,0,0,0.3);
	border-left: 10vw solid transparent;
	border-bottom: 30px solid transparent;
}

footer{
	width:100%;
	height:200px;
	background-image:url(../images/footer_bg.jpg);
}


#footer{
	display:table;
	position:relative;
}

#footer .f_title_img{
  mix-blend-mode: multiply; /* 乗算 */
	position:absolute;
	right:25%;
	top:10%;
}

#footer .f_title{
	display:table-cell;
	vertical-align:middle;

  background: -moz-linear-gradient(top, rgba(180,255,180,0.9), rgba(0,94,21,0.2));
  background: -webkit-linear-gradient(top, rgba(180,255,180,0.9), rgba(0,94,21,0.2));
  background: linear-gradient(to bottom, rgba(180,255,180,0.9), rgba(0,94,21,0.2));

	margin:auto;
	text-align:center;
	line-height:1.8em;
}

#footer .f_title .f_title_cap h1{

}

#footer .f_title .f_title_cap h2{

	text-shadow:0px 2px 3px #808080;
}

.f_plus{
	width:100%;
	height:50px;
	background-image:url(../images/f_plus_bg.jpg);	

}

.f_plus_bg{
	height:50px;
	background-color:rgba(170,80,80,0.6);
}


/* SNSアイコンのスタイル */
ul{
	list-style:none;
}

.sns-container{

	width:50%;
	margin: auto;
	position:relative;

	top:50px;

}
@media screen and (max-width: 810px){
  .sns-container{
	width:80%;
  }
}

.sns{
	display: flex;
	justify-content: space-between;
}

.sns-icons img{
	max-height:30px;
  	mix-blend-mode: multiply; /* 乗算 */
}

.sns a{
	text-decoration: none;
}

.sns-icons a:hover{
	font-weight:bold;
}

.sns-icons img:hover{
	mix-blend-mode: normal;

}

.sns a:visited {
	color:black;
}

.sns-icons{
font-size:15px;
}


 /* footerここまで */
.banner_link{
	font-size:18px;
}
.banner_link_s{
	font-size:13px;
}




/*members*/

.explain{
	width:80%;
	margin:auto;
}

.members {
  text-align: center;
}

.members-list {
  margin-left: 10%;
  margin-right: 10%;
  display: flex;
  flex-wrap: wrap;
  list-style: none; /* リストのデフォルトスタイルをリセット */
  padding: 0; /* リストの内部パディングをリセット */
}

.members-item:first-child{
	width:80%;
	border:none;
}

.members-item {
  display: flex;
  width: 600px;
  box-sizing: border-box;
  border: 1px solid #333;
}

.members-link {
  display: flex;
  justify-content: center;
  align-items: left;
  padding: 10px;
  text-decoration: none; /* リンクの下線を削除 */
  color: #333; /* リンクのテキストカラーを設定 */
}

.img-wrap {
  flex: 1; /* 幅を均等に分配 */
}

.img-wrap img {
  max-width: 100%; /* 画像が親要素内で最大幅に収まるように設定 */
  height: auto; /* アスペクト比を保つために高さを自動調整 */
}

.members-data {
  flex: 2; /* 幅を均等に分配 */
  padding: 10px;
  background-color: #c34b4b;
  color: #fff; /* テキストカラーを白に設定 */
}

.colors {
  display: flex;
}

.color {
  margin-right: 10px; /* 色の間のスペースを設定 */
}

.name {
  font-weight: bold; /* テキストを太字にする */
}

.rank {
  font-style: italic; /* テキストをイタリック体にする */
}

.words {
  margin-top: 10px; /* 上部の余白を追加 */
}
.members-item{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 5.5s ease, transform 2.5s ease;
}

.members-item.show{
  opacity: 1;
  transform: translateY(0);
}

.members-item.js-based{
  opacity: 1;
  transform: translateY(0);
}
/*bbs*/

/*links*/

#links {
  display: flex;
  justify-content: space-between; /* 子要素を均等に配置 */
  width: 80%;
  margin: 30px auto;
  text-align: center; /* テキストを中央揃え */
}

@media screen and (max-width: 900px){
  #links {
    display:block;
  }
	.banner{
		margin:10px;
	}
}


.external-link {
	max-width:33%;
  text-decoration: none;
  flex: 1; /* 3分割にするために1を設定 */
}

.banner {
  padding: 10px;
  background-color: #3498db;
  color: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s;
}

.banner img {
  height: 40px;
  display: block;
  margin: 0 auto;
}

.banner p {
  margin-top: 10px;
}

.external-link:hover .banner {
  background-color: #1e87d7;
}

/*result*/

.results-list {
  padding: 0;
}

.results-item {
  background-color: #f5f5f5;
  margin-bottom: 10px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.results-data {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
}

.results-data p {
  margin: 0;
}

.name1,
.name2 {
  font-weight: bold;
}

.win1,
.win2 {
  padding: 5px;
  text-align: center;
  border-radius: 5px;
}

.tech {
}

.t-name{
	font-weight:bold;
	background-color:#93a8db;

}

#pldd1, #ttl, #pldd2{
	width:32%;
	min-height:48px;
	background-color:#b7cccb;
}



/*access*/
        #map_area {
		width:80%;
            margin: 0 auto;
            padding: 0;
            background-color: #f4f4f4;
        }


        .maps{
  		padding-top:5%;
  		padding-bottom:5%;
            background-color: #fff;
            margin: 10% auto;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }

	.map_link{
		font-size:14px;
	}

        .location-image {
            width: 60%;
            height: auto;
            border-radius: 8px;
            margin-bottom: 20px;
        }
.address p {
width:20%;
    font-size: 1vw;
    color: #333;
    margin-bottom: 10px;
    display: inline-block;
    vertical-align: top; /* 上揃えにするためのプロパティ */
}

        .map-container {
            position: relative;
            overflow: hidden;
            border-radius: 8px;
        }

        .map {
            width: 100%;
            height: 300px; /* 要調整 */
            border: 0;
        }


@media screen and (max-width: 900px){
.address p {
    font-size: 2vw;
	width:30%;
}
}

.announcement-popup {
    background-color: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 10px;
    max-width: 80%;
    margin: 20px auto;
}

.popup-content {
    border-bottom: 1px solid #ccc;
    font-size: 1.5vw;
    text-align: center;
}

.popup-content:last-child {
    border-bottom: none;
}