@charset "utf-8";

:root{
  --default-font:'Noto Sans JP', sans-serif;
  --eng-font:'Open Sans', sans-serif;
	--google-icon:'Material Symbols Outlined';
	--bootstrap:'bootstrap-icons';
  --main-color:rgb(111, 158, 82);
  --biz01-color:rgb(19, 88, 165);
  --biz02-color:#8b5810;
  --service01-color:#845f4a;
  --service02-color:#3f9e4f;
  --service03-color:#ed8234;
  --service04-color:#3f80c4;
  --point-color:#004080;
  --link-color:#1a73e8;
  --base-color:#1c1c1c;
  --base-light-color:#555;
  --normal:400;
  --bold:600;
}

body{
}
header{
  position:fixed;
  top:0; left:0; z-index:100;
  box-sizing:border-box;
  width:100%; height:100px;
  background:rgba(255,255,255,0.95);
  padding:0px 50px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:0.2s;
}
header #logo{
  display:flex;
}
header #logo > h1{
  width:280px;
}
header #logo a{
  display:flex;
  align-items:center;
  gap:0 10px;
  color:var(--base-color);
  text-decoration:none;
}
header #logo a > figure{
  width:100px;
  filter: brightness(0) saturate(100%) invert(66%) sepia(10%) saturate(1683%) hue-rotate(54deg) brightness(84%) contrast(91%);
}
header #logo a > figcaption{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:0.35rem 0;
  text-align:center;
  white-space:nowrap;
}
header #logo a > figcaption > .en{
  font-family:var(--eng-font);
  font-size:0.68rem; line-height:1; font-weight:var(--normal);
  letter-spacing:0.15em;
  text-transform:uppercase;
}
header #logo a > figcaption > .jp{
  font-size:1.5rem; line-height:1;
}

header #header-info{
  flex:1;
  margin-top:0.75em;
}
nav#header-nav{
  margin-bottom:0.5em;
}
nav#header-nav ul{
  display:flex;
  justify-content:flex-end;
}
nav#header-nav ul li{
  font-size:0.8em; line-height:2.0;
  margin-left:1.5em;
}
nav#header-nav ul li a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
nav#header-nav ul li.member a{
  color:#FFF;
  background:var(--main-color);
  padding:0 2em 0.1em;
}
nav#global-nav > ul{
  display:flex;
  justify-content:flex-end;
  font-size:0.95em; line-height:1.6; font-weight:var(--bold);
  color:#FFF;
}
nav#global-nav > ul > li{
  margin-left:1.7em;
  text-align:left;
  position:relative;
}
nav#global-nav > ul > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
  position:relative;
}
nav#global-nav > ul > li > ul{
  box-sizing:border-box;
  width:auto !important;
  height:auto !important;
  position:absolute;
  top:2.0em; left:50%; z-index:100;
  background:rgba(255,255,255,1.0);
  border-radius:3px;
  overflow:hidden;
  transform:translateX(-50%);
  text-align:center;
  padding:0;
}
nav#global-nav > ul > li > ul > li{
  display:block;
  width:auto !important;
}
nav#global-nav > ul > li > ul > li > a{
  display:block;
  text-decoration:none;
  line-height:3.0;
  color:var(--base-color);
  padding:0 2.5em;
  white-space:nowrap;
}
nav#global-nav > ul > li > ul > li > a:hover{
  color:#fff;
  background:var(--main-color);
}
#fade-in li ul{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li:hover ul{
	visibility:visible;
	opacity:1;
}
#fade-in li ul li a{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li:hover ul li a{
	visibility:visible;
	opacity:1;
}

#arukuma{
  box-sizing:border-box;
  width:220px; height:auto;
  aspect-ratio:1/1;
  background:#fff;
  border-radius:100%;
  position:absolute;
  top:0; right:10px; z-index:2;
  transform:translate(0, 120px);
}
#arukuma.index{
  transform:translate(0, 300px);
}
#arukuma > figure{
  width:56%; height:auto;
  aspect-ratio:1/1;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-60%);
}
#arukuma > figcaption{
  font-size:0.5rem; line-height:1.6;
  text-align:center;
  white-space:nowrap;
  position:absolute;
  bottom:0; left:50%;
  transform:translate(-50%, -80%);
}

#index-billboard{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:5/1.6;
  background:#f0fcee;
  padding:0;
  position:relative;
}
#index-billboard > .billboard-list{
  width:100%; height:100%;
}
#index-billboard .slick-list,
#index-billboard .slick-track{
  width:100%; height:100%;
}
#index-billboard figure{
  width:100%; height:100%;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
#index-billboard figure:nth-of-type(1){
  background-image:url(../../img/index/billboard_sample04.jpg);
}
#index-billboard figure:nth-of-type(2){
  background-image:url(../../img/index/billboard_sample06.jpg);
  background-position:center bottom -130px;
}
#index-billboard figure:nth-of-type(3){
  background-image:url(../../img/index/billboard_sample05.jpg);
}

#billboard{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:5/1.0;
  background:#f0fcee;
  padding:0;
  position:relative;
}
#billboard > figure{
  width:100%; height:100%;
  background-image:url(../../img/index/billboard_sample05.jpg);
  background-repeat:no-repeat;
  background-position:center bottom -360px;
  background-size:cover;
}

#index-container{
  box-sizing:border-box;
  width:100%;
  padding:60px calc((100% - 1200px) / 2);
  padding:60px 50px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:0 60px;
  text-align:left;
}

#index-container > #main{
  flex:1;
}
#index-container > #side{
  width:350px;
}

#index-container h2{
  font-size:1.2em; line-height:1.8; font-weight:var(--bold);
  margin-bottom:0.5em;
  padding-left:1.5em;
  position:relative;
}
#index-container h2::before{
  font-family:var(--google-icon);
  font-size:1.2em;
  color:var(--main-color);
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
#index-container #main #index-topics h2::before{
  content:"\ea2a";
}
#index-container #game-schedule > h2::before,
#index-container #index-games > h2::before{
  content:"\eb45";
}
#index-container #index-report > h2::before{
  content:"\f5df";
}

#index-container #index-topics{
  margin-bottom:4.0rem;
}

#main ul.topics-list{
  margin-top:1.5em;
}
#main ul.topics-list > li{
  padding-bottom:2.5em;
  margin-bottom:2.5em;
  border-bottom:1px dashed #999;
}
#main ul.topics-list > li > a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  text-decoration:none;
  color:var(--base-color);
}
#main ul.topics-list > li > a > figure{
  box-sizing:border-box;
  width:240px; height:auto;
  aspect-ratio:4/3;
  overflow:hidden;
  margin-right:1.5em;
}
#main ul.topics-list > li > a > figure > img{
  transition:0.2s;
}
#main ul.topics-list > li > a:hover > figure > img{
  transform:scale(1.05);
}
#main ul.topics-list > li > a > figure.dummy{
  background:rgba(111,158,82,0.1);
  background:rgba(0,0,0,0.03);
  position:relative;
}
#main ul.topics-list > li > a > figure.dummy::after{
  content:"";
  width:33%; height:auto;
  aspect-ratio:3/2;
  background-image:url(../../img/common/logo.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  opacity:0.4;
}
#main ul.topics-list > li > a > .text-box{
  flex:1;
}
#main ul.topics-list > li > a h3{
  font-size:1.4em; line-height:1.6; font-weight:var(--bold);
  color:var(--link-color);
  margin:0.25em 0 0.5em;
}
#main ul.topics-list > li > a p{
  font-size:0.95rem; line-height:1.6;
  text-overflow:ellipsis;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
#main ul.topics-list > li > a:hover h3{
  text-decoration:underline;
}
#main ul.topics-list.compe-list > li > a h3{
  width:60%;
  margin-top:0;
  margin-right:5%;
}
#main ul.topics-list.compe-list > li > a ul.compe-data{
  flex:1;
}

ul.topics-data{
  display:flex;
  align-items:center;
}
ul.topics-data > li{
  font-size:0.85em; line-height:1.8;
  margin-bottom:0.5em;
}
ul.topics-data > li.entry-date > span::before{
  content:"｜";
  margin:0 0.2em;
}

ul.topics-data > li.category{
  font-size:0.8em; line-height:1.6;
  border:1px solid #999;
  border-radius:9999px;
  padding:0 1em;
  margin-left:1.0em;
}

.archive-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

ul.selector-list{
  display:flex;
  justify-content:flex-end;
}
ul.selector-list > li{
  width:240px;
  margin-left:1.5em;
}
ul.selector-list > li > .select-wrapper{
  border-radius:9999px;
}
ul.selector-list > li > .select-wrapper > select{
  text-indent:1.5em;
}

table.game-schedule{
  width:100%;
  border-collapse:collapse;
}
table.game-schedule > thead > tr{
  border-bottom:3px double #999;
  background:rgba(111,158,82,0.1);
}
table.game-schedule > thead > tr > th{
  font-size:0.85rem; line-height:1.8; font-weight:var(--bold);
  color:var(--base-light-color);
  text-align:center;
  white-space:nowrap;
  padding:0.5em 1.0rem;
}
.index-contents table.game-schedule > thead > tr > th{
  padding:0.5em 0.5rem;
}
table.game-schedule > tbody > tr{
  border-bottom:1px solid #999;
}
table.game-schedule > tbody > tr > th{
  text-align:left;
  vertical-align:middle;
  padding:1.0rem 1.0rem;
}
table.game-schedule > tbody > tr > th.schedule{
  font-size:0.85rem; line-height:1.8;
}
table.game-schedule > tbody > tr > th > .now-entry{
  width:fit-content;
  font-size:0.7em; line-height:1.6; font-weight:var(--bold);
  color:#fff;
  background:#d00;
  padding:0 1.25em;
  border-radius:9999px;
  margin-bottom:0.25em;
}
table.game-schedule > tbody > tr > td{
  font-size:0.85rem; line-height:1.8;
  text-align:center;
  vertical-align:middle;
  padding:1.1rem 1.0rem;
}
table.game-schedule > tbody > tr > td.game-name{
  font-size:0.95rem; line-height:1.6; font-weight:var(--bold);
}
table.game-schedule > tbody > tr > td img{
  width:24px;
  margin:0 auto;
}

#index-games{
  box-sizing:border-box;
  border:1px solid var(--main-color);
  border-radius:0.5em;
  overflow:hidden;
  margin-bottom:1.5em;
}
#index-games > h2{
  background:var(--main-color);
  font-size:1.1em; line-height:2;
  color:#fff;
  padding:0.25em 0;
  padding-left:3.0em;
  margin-bottom:0;
}
#index-games > h2::before{
  color:#fff;
  left:1.0em;
}
ul.games-list{
  padding:1.5em 1.5em;
}
ul.games-list > li:not(:last-child){
  margin-bottom:1.5em;
  padding-bottom:1.5em;
  border-bottom:1px solid #ccc;
}
ul.games-list > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.games-list > li > a .now-entry{
  width:100%; height:2.0em;
  position:relative;
}
ul.games-list > li > a .now-entry::before{
  content:"エントリー受付中";
  font-size:0.85em; line-height:1.6; font-weight:var(--bold);
  color:#fff;
  background:#d00;
  padding:0 1.5em;
  border-radius:9999px;
  position:absolute;
  top:0; left:0;
}
ul.games-list > li > a h3{
  font-size:1.2em; line-height:1.6;
  margin-bottom:0.25em;
}
ul.games-list > li > a:hover h3{
  color:var(--link-color);
  text-decoration:underline;
}
ul.games-list > li > a > .text-box > p{
  font-size:0.95em; line-height:1.6;
  text-overflow:ellipsis;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin-bottom:0.5em;
}
#side a > .text-box > .button{
  margin-top:1.0em;
  box-sizing:border-box;
  width:100%;
  border:1px solid var(--link-color);
  border-radius:9999px;
  font-size:0.9em; line-height:2.4; font-weight:var(--bold);
  color:var(--link-color);
  text-align:center;
  position:relative;
}
#side a > .text-box > .button::after{
  content:"";
  border-left:0.5em solid var(--link-color);
  border-top:0.45em solid transparent;
  border-bottom:0.45em solid transparent;
  position:absolute;
  top:50%; right:1.25em;
  transform:translateY(-50%);
}
#side a:hover > .text-box > .button{
  background:var(--link-color);
  color:#fff;
  transition:0.2s;
}
#side a:hover > .text-box > .button::after{
  border-left-color:#fff;
  transition:0.2s;
}
ul.compe-data{
  display:flex;
  flex-direction:column;
  gap:0.15rem 0;
}
ul.compe-data > li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.85em; line-height:1.6;
}
ul.compe-data > li .label{
  font-weight:var(--bold);
  color:var(--base-light-color);
}
ul.compe-data > li > .label::after{
  content:"：";
}
ul.compe-data > li > p{
  flex:1;
  margin:0;
}

#index-report{
  box-sizing:border-box;
  border:1px solid #F9AB00;
  border-radius:0.5em;
  overflow:hidden;
}
#index-report > h2{
  background:#F9AB00;
  font-size:1.1em; line-height:2;
  color:#fff;
  padding:0.25em 0;
  padding-left:3.0em;
  margin-bottom:0;
}
#index-report > h2::before{
  color:#fff;
  left:1.0em;
}
ul.report-list{
  padding:1.5em 1.5em;
}
ul.report-list > li:not(:last-child){
  margin-bottom:1.5em;
  padding-bottom:1.5em;
  border-bottom:1px solid #ccc;
}
ul.report-list > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-color);
}
ul.report-list > li > a > figure{
  width:100%; height:auto;
  aspect-ratio:3/2;
  overflow:hidden;
  margin-bottom:0.5em;
}
ul.report-list > li > a > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.report-list > li > a .entry-date{
  font-size:0.9em; line-height:1.8;
}
ul.report-list > li > a h3{
  font-size:1.2em; line-height:1.6;
  margin-bottom:0.25em;
}
ul.report-list > li > a:hover h3{
  text-decoration:underline;
  color:var(--link-color);
}
ul.report-list > li > a > .text-box > p{
  font-size:0.95em; line-height:1.6;
  text-overflow:ellipsis;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  margin-bottom:0.5em;
}

#index-news{
  display:flex;
  justify-content:space-between;
  padding:60px calc((100% - 800px) / 2);
}
#index-news .news-title{
  margin-right:60px;
  position:relative;
}
#index-news .news-title::after{
  content:"";
  width:60px; height:140px;
  background-image:url(../../img/index/image04.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  bottom:-60px; left:25px; z-index:10;
}
#index-news .news-title h2{
  font-size:1.8em; line-height:1.2; font-weight:700;
  color:var(--main-color);
}
#index-news .index-news-box{
  flex:1;
}
ul.news-menu{
  display:flex;
  justify-content:space-between;
}
ul.news-menu li{
  width:31%;
  font-size:0.9em; line-height:2.0; font-weight:500;
  text-align:center;
  background:#e0e0e0;
  cursor:pointer;
}
ul.news-menu li.active{
  color:#fff;
  background:var(--main-color);
}
.tab-contents{
  display:none;
  text-align:left;
}
.tab-contents.active{
  display:block;
}
ul.index-news-list{
  margin:25px 0;
}
ul.index-news-list li{
  margin-bottom:10px;
}
ul.index-news-list li a{
  text-decoration:none;
  color:var(--base-color);
  position:relative;
  padding-left:170px;
}
ul.index-news-list li a .entry-date{
  font-size:0.85em; line-height:1.4;
  position:absolute;
  top:0.1em; left:0;
}
ul.index-news-list li a .category{
  display:inline-block;
  font-size:0.9em;
  border:1px solid var(--main-color);
  border-radius:9999px;
  padding:0 0.6em 0.1em;
  margin-left:1.0em;
}
ul.index-news-list li a .entry-title{
  font-weight:500;
  color:var(--link-color);
}
ul.index-news-list li a:hover .entry-title{
  text-decoration:underline;
}
#index-news .button{
  text-align:right;
}
#index-news .button a{
  display:inline-block;
  text-decoration:none;
  font-size:0.85em; line-height:2.4; font-weight:500;
  color:var(--base-color);
  border:1px solid #999;
  padding:0 2em;
  position:relative;
  transition:0.2s;
}
#index-news .button a::after{
  content:"";
  border-left:5px solid #999;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.2s;
}
#index-news .button a:hover{
  color:#fff;
  background:var(--main-color);
  border-color:var(--main-color);
  transition:0.2s;
}
#index-news .button a:hover::after{
  border-left-color:#fff;
  transition:0.2s;
}

#index-contents{
  background:#f8f8f7;
  padding:60px calc((100% - 1120px) / 2);
}
ul.index-contents-list{
  display:flex;
  justify-content:space-between;
}
ul.index-contents-list li{
  width:340px;
}
ul.index-contents-list li a{
  text-decoration:none;
  color:var(--base-color);
}
ul.index-contents-list li a .text-box{
  box-sizing:border-box;
  width:280px;
  background:#fff;
  border-radius:19px;
  margin:-60px auto 0;
  position:relative;
  z-index:10;
  padding:15px 15px;
  box-shadow:2px 2px 4px #999;
  transition:0.2s;
}
ul.index-contents-list li a .text-box h2{
  font-size:1.1em; line-height:1.6; font-weight:700;
  color:var(--main-color);
  margin-bottom:5px;
  transition:0.2s;
}
ul.index-contents-list li a .text-box p{
  font-size:0.9em; line-height:1.6;
  transition:0.2s;
}
ul.index-contents-list li a:hover .text-box{
  background:var(--main-color);
  transition:0.2s;
}
ul.index-contents-list li a:hover .text-box h2,
ul.index-contents-list li a:hover .text-box p{
  color:#fff;
  transition:0.2s;
}

#side-arukuma{
  box-sizing:border-box;
  border:1px solid #72AF2C;
  border-radius:0.5em;
  padding:1.5rem;
  margin-top:1.5rem;
}
#side-arukuma > figure{
  width:54%; height:auto;
  aspect-ratio:1/1;
  margin:1.5rem auto 0.5rem;
}
#side-arukuma > figcaption{
  font-size:0.65rem; line-height:1.6;
  text-align:center;
  white-space:nowrap;
}

footer{
  background-image:url(../../img/common/footer01.jpg);
  background-repeat:no-repeat;
  background-position:center bottom -260px;
  background-size:100% auto;
  padding:40px 0 300px;
  position:relative;
}
footer::before{
  content:"";
  width:100%; height:100%;
  position:absolute;
  bottom:0; left:0;
  background:linear-gradient(
    #fff 30%,
    transparent 40%
  );
}
ul.banner-list{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  padding:0;
  margin-bottom:80px;
  position:relative;
  z-index:1;
}
ul.banner-list li{
  width:200px;
  margin:5px 3px;
}
#credit{
  display:flex;
  justify-content:center;
  margin-bottom:180px;
  position:relative;
  z-index:1;
}
#credit #logo{
  width:280px;
  margin-right:40px;
}
#credit .text-box{
  text-align:left;
}
#credit .text-box p{
  font-size:0.85em; line-height:1.8;
  margin:0 0 10px;
}
#credit .text-box ul.footer-link{
  display:flex;
}
#credit .text-box ul.footer-link li{
  font-size:0.8em; line-height:1.8;
}
#credit .text-box ul.footer-link li:not(:last-child)::after{
  display:inline-block;
  content:"｜";
  margin:0 10px;
}
#credit .text-box ul.footer-link li a{
  font-weight:500;
  color:var(--base-color);
}
#copyright{
  width:100%;
  font-size:0.7em; line-height:2.8;
  color:#fff;
  text-align:center;
  background:rgba(0,0,0,0.5);
  position:absolute;
  bottom:0; left:0;
}

#container{
  box-sizing:border-box;
  width:100%;
  padding:60px calc((100% - 1200px) / 2);
  padding:60px 50px;
  display:flex;
  justify-content:center;
  gap:0 100px;
  text-align:center;
}
#container > #main{
  flex:1;
  text-align:left;
}
#container:not(:has(#side)) > #main{
  width:1100px;
  flex:none;
}
#container:not(:has(#side)) > #main:has(.game-schedule){
  width:auto;
  flex:1;
}
#container > #side{
  width:300px;
  text-align:left;
  position:relative;
}
#container > #side::before{
  content:"";
  height:100%;
  border-right:1px dashed #ccc;
  position:absolute;
  top:0; right:345px;
}

#contents-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1.5em;
}
#contents-title h2{
  font-size:1.2em; line-height:1.8; font-weight:var(--bold);
  color:var(--main-color);
  margin-bottom:0.5em;
  padding-left:1.5em;
  position:relative;
}
#contents-title h2::before{
  font-family:var(--google-icon);
  content:"\ea2a";
  font-size:1.2em;
  color:var(--main-color);
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
#contents-title.games h2::before{
  content:"\eb45";
}
#contents-title.report h2{
  color:#F9AB00;
}
#contents-title.report h2::before{
  content:"\f5df";
  color:#F9AB00;
}
#contents-title > ul.selector-list > li{
  width:260px;
}

article{
}
article > .entry-date{
  font-size:0.9em; line-height:1.8;
}
article > .entry-date > span::before{
  content:"｜";
  margin:0 0.25em;
}
article > h3{
  font-size:1.6em; line-height:1.6;
  margin-bottom:1em;
}
article > .entry-body > p{
  margin-bottom:1.5em;
  line-height:2.0;
}
article > .entry-body  img{
  width:auto; height:auto;
  max-width:100%;
}

article > .now-entry{
  display:inline-block;
  margin-bottom:0.5em;
}
article > .now-entry > a{
  display:block;
  text-decoration:none;
  font-size:0.85em; line-height:2.0; font-weight:var(--bold);
  color:#fff;
  background:#d00;
  padding:0 1.5em;
  border-radius:9999px;
}

.side-latest > h2{
  font-size:1.0em; line-height:1.8;
}
ul.side-latest-list{
  margin-bottom:1.0em;
}
ul.side-latest-list > li{
  padding-bottom:0.75em;
  margin-bottom:0.75em;
  border-bottom:1px dashed #ccc;
}
ul.side-latest-list > li:first-child{
  padding-top:0.75em;
  margin-top:0.75em;
  border-top:1px dashed #ccc;
}
ul.side-latest-list > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-light-color);
}
ul.side-latest-list > li > a > .entry-date{
  font-size:0.8em; line-height:1.6;
}
ul.side-latest-list > li > a > h3{
  font-size:0.95em; line-height:1.6;
}
ul.side-latest-list > li > a:hover > h3{
  text-decoration:underline;
  color:var(--link-color);
}
ul.side-latest-list > li > a .now-entry{
  width:100%; height:1.5em;
  position:relative;
}
ul.side-latest-list > li > a .now-entry::before{
  content:"エントリー受付中";
  font-size:0.75em; line-height:1.6; font-weight:var(--bold);
  color:#fff;
  background:#d00;
  padding:0 1.5em;
  border-radius:9999px;
  position:absolute;
  top:0; left:0;
}
ul.side-latest-list > li > a ul.compe-data > li{
  font-size:0.8em; line-height:1.6;
}

.side-latest + .button{
  box-sizing:border-box;
  width:100%;
  margin-bottom:0.5em;
}
.side-latest + .button > a{
  display:block;
  text-decoration:none;
  border:1px solid var(--link-color);
  border-radius:9999px;
  font-size:0.9em; line-height:2.8; font-weight:var(--bold);
  color:var(--link-color);
  text-indent:2.0em;
  position:relative;
}
.side-latest + .button > a::after{
  content:"";
  border-left:0.5em solid var(--link-color);
  border-top:0.45em solid transparent;
  border-bottom:0.45em solid transparent;
  position:absolute;
  top:50%; right:1.25em;
  transform:translateY(-50%);
}
.side-latest + .button > a:hover{
  background:var(--link-color);
  color:#fff;
  transition:0.2s;
}
.side-latest + .button > a:hover::after{
  border-left-color:#fff;
  transition:0.2s;
}
#side > ul.selector-list{
  display:block;
}
#side > ul.selector-list > li{
  width:100%;
  margin:0.5em 0;
}
#side > ul.selector-list > li select{
  font-size:0.9em;
  text-indent:2.0em;
}
#side > ul.selector-list > li > .select-wrapper::before{
  right:1.0em;
}

#side ul.side-monthly-list > li{
  list-style:disc outside;
  font-size:0.95rem; line-height:1.8;
  margin-left:1.25em;
  margin-top:0.25em;
}
table.compe-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95em; line-height:1.6;
  margin:3.0em 0;
}
table.compe-table caption{
  font-size:1.0em; line-height:1.8; font-weight:var(--bold);
  text-align:left;
  margin-bottom:0.5em;
}
table.compe-table tr{
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
}
table.compe-table tr > th{
  font-weight:var(--bold);
  color:var(--base-light-color);
  white-space:nowrap;
  padding:0.75em 0;
  padding-right:1.5em;
  text-align:left;
  vertical-align:top;
}
table.compe-table tr > td{
  padding:0.75em 0;
}

#entry-form{
  margin:4.5rem 0;
}
#entry-form > h3{
  display:inline-block;
  font-size:1.0rem; line-height:2.0; font-weight:var(--bold);
  color:#fff;
  background:#d00;
  padding:0 3.0rem;
  margin-bottom:1.0rem;
}
#entry-form > h3 + p{
  font-weight:var(--bold);
  margin-bottom:1.25rem;
}
#entry-form .application-form{
  box-sizing:border-box;
  width:100%;
  border:1px solid #999;
  border-radius:0.5rem;
  padding:2.0rem 3.0rem;
}
#entry-form table.application-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95rem; line-height:1.6;
}
table.application-table caption{
  font-size:0.9rem; line-height:1.8; font-weight:var(--bold);
  text-align:left;
  border-bottom:1px dashed #999;
  padding:0.5rem 0 1.5rem;
}
table.application-table caption > .hissu{
  color:#d00;
}
table.application-table tr{
  border-bottom:1px dashed #999;
}
table.application-table tr > th{
  font-weight:var(--bold);
  color:var(--base-light-color);
  white-space:nowrap;
  padding:1.85rem 0;
  padding-right:6.0rem;
  text-align:left;
  vertical-align:top;
  position:relative;
}
table.application-table tr .hissu{
  position:relative;
}
table.application-table tr .hissu::after{
  content:"*";
  font-size:1.0rem; line-height:1.0;
  color:#d00;
  position:absolute;
  top:0; right:0;
  transform:translate(120%, 15%);
}
table.application-table tr > td{
  padding:1.5em 0;
  display:flex;
  flex-direction:column;
  gap:1.0em 0;
}
table.application-table tr > td .form-box{
  display:flex;
  gap:0 1.0rem;
}
table.application-table tr > td .form-box > .label{
  width:6.0rem;
  font-size:0.9rem; line-height:2.8; font-weight:var(--bold);
  color:var(--base-light-color);
  text-align:center;
  background:#f6f6f6;
  background:rgba(111,158,82,0.1);
  padding:0 0.8rem;
}
table.application-table tr > td .form-box > .input{
  flex:1;
}
table.application-table tr > td .form-box > .input > .flex{
  gap:0 1.0rem;
}

table.application-table tr > td .birth{
  display:flex;
  align-items:center;
  gap:0 1.0rem;
}
table.application-table tr > td .birth > div{
  display:flex;
  align-items:center;
  white-space:nowrap;
  gap:0 0.3em;
}
table.application-table tr > td .birth > div > input[type="text"]{
  margin:0 0.5em;
}
table.application-table tr > td div.j-sys{
  display:flex;
  align-items:center;
  white-space:nowrap;
}
table.application-table tr > td div.j-sys > input[type="text"]{
  width:50%;
  margin-left:0.5em;
}

table.application-table tr > td div.address-box{
  display:flex;
  align-items:center;
  gap:0 1.0rem;
}
table.application-table tr > td div.zip{
  width:30%;
  display:flex;
  align-items:center;
  white-space:nowrap;
}
table.application-table tr > td div.zip input[type="text"]{
  width:calc(100% - 0.3em);
  margin-left:0.3em;
}
table.application-table tr > td div.address{
  flex:1;
}

table.application-table tr > td div.school-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0 1.5rem;
}
table.application-table tr > td div.school-name,
table.application-table tr > td div.school-year{
  display:flex;
  align-items:center;
  gap:0 0.5rem;
}
table.application-table tr > td div.school-name{
  flex:1;
}
table.application-table tr > td div.school-name span{
  width:100%;
}
table.application-table tr > td div.school-year{
  width:30%;
}
table.application-table tr > td div.school-name > div,
table.application-table tr > td div.school-year > div{
  white-space:nowrap;
}

table.application-table tr > td div.workplace-box{
  display:flex;
  flex-direction:column;
  gap:1.0rem 0;
}
table.application-table tr > td div.workplace-name,
table.application-table tr > td div.workplace-kana{
  display:flex;
  align-items:center;
  gap:0 0.5rem;
}
table.application-table tr > td div.workplace-name > div{
  width:6rem;
}
table.application-table tr > td div.workplace-name > span{
  flex:1;
}

table.application-table tr > td div.jsys{
  display:flex;
  align-items:center;
  gap:0 0.5rem;
}
table.application-table tr > td div.jsys > div{
  width:5rem;
}
table.application-table tr > td div.jsys > span{
  width:30%;
}

table.application-table tr > td input[type="tel"],
table.application-table tr > td input[type="email"]{
  width:50%;
}
table.application-table tr > td input[type="text"].order{
  width:15%;
}

table.application-table tr > td div.tel-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
table.application-table tr > td div.tel{
  width:48%;
  display:flex;
  align-items:center;
  gap:0 0.5rem;
}
table.application-table tr > td div.tel > span.label{
  white-space:nowrap;
}
table.application-table tr > td div.tel input[type="tel"]{
  width:100%;
}

table.application-table tr > td .wpcf7-radio{
  display:flex;
  align-items:center;
  gap:0 2.0rem;
}
table.application-table tr > td .wpcf7-radio > .wpcf7-list-item{
  margin:0;
}

table.application-table tr > td:has(.golf-data){
  display:table-cell;
}
table.application-table tr > td ul.golf-data{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
table.application-table tr > td ul.golf-data > li{
  width:30%;
}
table.application-table tr > td ul.golf-data > li > h3{
  font-size:0.95rem; line-height:1.8;
  color:var(--base-light-color);
  white-space:nowrap;
  text-align:left;
  position:relative;
  margin-bottom:0.5em;
}

.application-form > .caution{
  margin-top:1.0rem;
  font-size:0.85rem; line-height:1.8;
}

.application-form > .agreement{
  box-sizing:border-box;
  width:100%;
  background:#f5f5f5;
  padding:2.0rem 2.25rem;
  margin:2.5rem 0;
}
.application-form > .agreement > p{
  font-size:0.95rem; line-height:2.0;
  margin-bottom:1.5em;
}
.application-form > .agreement > .parent-box{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:0 1.0rem;
  width:fit-content;
  padding-bottom:0.5em;
  border-bottom:1px solid var(--base-color);
  margin:0 0 0 auto;
}

.application-form > .privacy{
  margin:2.0rem 0 0;
  font-size:0.95rem; line-height:2.0;
  text-align:center;
}
.application-form > .privacy .wpcf7-list-item{
  margin:0;
}
.application-form > .submit{
  padding:2.0em 0;
}
.application-form > .submit > input[type="submit"]{
  font-weight:var(--bold);
}
.application-form > .submit > .wpcf7-spinner{
  display:none;
}
#entry-form .wpcf7-response-output{
  font-size:1.1rem; line-height:1.6;
  font-weight:var(--bold);
  text-align:center;
  padding:1.0rem;
}

.compe-result{
  margin-top:4.5em;
  margin-bottom:1.5em;
}
.compe-result > h3{
  display:inline-block;
  font-size:1.0em; line-height:2.0; font-weight:var(--bold);
  color:#fff;
  background:var(--main-color);
  padding:0 3.0em;
  margin-bottom:1.0em;
}
ul.result-list{
  display:flex;
  justify-content:space-between;
}
ul.result-list > li{
  box-sizing:border-box;
  width:48.5%;
}
ul.result-list > li > a{
  display:block;
  text-decoration:none;
  border:1px solid var(--link-color);
  border-radius:9999px;
  font-size:1.0em; line-height:3.4; font-weight:var(--bold);
  color:var(--link-color);
  text-align:center;
  position:relative;
}
ul.result-list > li > a::after{
  content:"";
  border-left:0.5em solid var(--link-color);
  border-top:0.45em solid transparent;
  border-bottom:0.45em solid transparent;
  position:absolute;
  top:50%; right:1.25em;
  transform:translateY(-50%);
}
ul.result-list > li > a:hover{
  background:var(--link-color);
  color:#fff;
  transition:0.2s;
}
ul.result-list > li > a:hover::after{
  border-left-color:#fff;
  transition:0.2s;
}

section > h2{
  width:fit-content;
  font-size:1.4rem; line-height:1.6;
  color:var(--main-color);
  border-bottom:3px solid var(--main-color);
  padding-bottom:0.2em;
  margin-bottom:1.5em;
}
.contents-box{
  margin-bottom:4.0rem;
}
.contents-box h3{
  font-size:1.15rem; line-height:1.6;
  margin-bottom:0.25em;
}
.terms .contents-box h3{
  font-size:1.05rem; line-height:1.6;
  margin-bottom:0.5em;
}
.contents-box > p{
  margin-bottom:2.0rem;
}
.terms .contents-box > p{
  margin-bottom:1.0rem;
}

ul.about-contents-list{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1.5rem 0;
}
ul.about-contents-list > li{
  box-sizing:border-box;
  width:29%;
}
ul.about-contents-list > li > h3{
  font-size:1.1rem; line-height:1.8;
  border-bottom:1px dashed var(--base-light-color);
  margin-bottom:0.3em;
}
.contents-box > .background{
  background:rgba(19,88,165,0.06);
  padding:2.0rem 2.5rem;
}
.contents-box > .background > p{
  margin-top:0.5em;
}

ul.city-list{
  display:flex;
  flex-wrap:wrap;
  gap:0 1.0rem;
  margin-bottom:1.0rem;
}
ul.city-list > li{
  width:6.0rem;
}

dl.member{
  display:flex;
  justify-content:space-between;
}
.contents-box > dl.member:not(:last-of-type){
  margin-bottom:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px dashed #999;
}
.contents-box > h3 + dl.member{
  margin-top:1.0rem;
  padding-top:1.5rem;
  border-top:1px dashed #999;
}
dl.member > dt{
  width:10rem;
  font-weight:var(--bold);
  color:var(--base-light-color);
}
dl.member > dd{
  flex:1;
}
ul.member-list{
  display:flex;
  flex-wrap:wrap;
}
ul.member-list > li{
  width:9.5rem;
}

ul.tab-menu{
  display:flex;
  align-items:center;
  gap:0 0.5rem;
  margin-bottom:2.0rem;
}
ul.tab-menu > li{
  font-size:0.9rem; line-height:2.0;
  border:1px solid #999;
  border-radius:0.25em;
  padding:0 2.0em;
  position:relative;
  cursor:pointer;
}
ul.tab-menu > li.active{
  color:#fff;
  background:var(--base-light-color);
  border-color:var(--base-light-color);
}
ul.tab-menu > li.active::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/0.5;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  background:var(--base-light-color);
  position:absolute;
  bottom:0; left:50%;
  transform:translate(-50%, 99%);
}

table.member-table{
  width:100%;
  border-collapse:collapse;
  margin-top:1.0rem;
  font-size:0.9rem; line-height:1.8;
}
table.member-table thead > tr{
  border-bottom:1px solid #999;
  background:rgba(19,88,165,0.06);
}
table.member-table thead > tr > th{
  font-size:0.95em; line-height:1.6;
  text-align:center;
  padding:0.5em 0;
}
table.member-table thead > tr > th:not(:last-child){
  border-right:1px dashed #999;
}
table.member-table tbody > tr:not(:last-child){
  border-bottom:1px solid #999;
}
table.member-table tbody > tr > th{
  font-size:0.95em; line-height:1.8; font-weight:var(--normal);
  text-align:left;
  vertical-align:top;
  padding:1.0rem 0;
}
table.member-table tbody > tr > td{
  text-align:center;
  vertical-align:top;
  padding:1.0rem 0;
  border-left:1px dashed #999;
}

table.winner-table{
  border-collapse:collapse;
  margin-top:1.0rem;
  font-size:1.0rem; line-height:1.8;
}
table.winner-table thead > tr{
  border-bottom:1px solid #999;
  background:rgba(19,88,165,0.06);
}
table.winner-table thead > tr > th{
  font-size:0.9em; line-height:1.6;
  text-align:center;
  padding:0.5em 4.0em;
}
table.winner-table thead > tr > th:first-child{
  padding:0.5em 1.0em;
}
table.winner-table thead > tr > th:not(:last-child){
  border-right:1px dashed #999;
}
table.winner-table tbody > tr:not(:last-child){
  border-bottom:1px solid #999;
}
table.winner-table tbody > tr:nth-child(even){
  background:#f9f9f9;
}
table.winner-table tbody > tr > th{
  font-size:0.95em; line-height:1.8; font-weight:var(--normal);
  text-align:center;
  vertical-align:top;
  padding:0.5rem 0;
}
table.winner-table tbody > tr > td{
  text-align:center;
  vertical-align:top;
  padding:0.5rem 3.0rem;
  border-left:1px dashed #999;
}

.jsys-user{
  border:1px solid #999;
  padding:2.0rem 2.5rem;
  border-radius:0.25rem;
}

ul.button-list{
  display:flex;
  gap:0 1.0rem;
}
ul.button-list > li a{
  display:block;
  text-decoration:none;
  font-size:0.95em; line-height:2.4; font-weight:var(--bold);
  color:var(--link-color);
  border:1px solid var(--link-color);
  border-radius:9999px;
  padding:0.3em 2.5em;
  position:relative;
  transition:0.2s;
}
ul.button-list > li a::after{
  content:"";
  width:0.4rem; height:auto;
  aspect-ratio:0.6/1;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background:var(--link-color);
  position:absolute;
  top:50%; right:1.0em;
  transform:translateY(-50%);
  transition:0.2s;
}
ul.button-list > li a:hover{
  color:#fff;
  background:var(--link-color);
}
ul.button-list > li a:hover::after{
  background:#fff;
}

.jsys-recruit ul.button-list{
  margin-top:1.0rem;
}

/*役員出欠管理*/
.attendance-form{
  box-sizing: border-box;
  width: 100%;
}
.attendance-form h3{
  display: inline-block;
  font-size: 1.0rem;
  line-height: 2.0;
  font-weight: var(--bold);
  color: #fff;
  background: #d00;
  padding: 0 3.0rem;
  margin-top:2em;
  margin-bottom: 1.0rem;
}
.attendance-form > p{
  /*border-bottom: 1px dashed #999;*/
  font-weight: var(--bold);
  padding-bottom:2rem;
}
.attendance-form table.application-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.6;
}

.attendance-form .attendance-item {
  /*border-bottom: 1px dashed #999;*/
  text-align: center;
  padding:2.2em 0;
  /*background-color:rgb(111, 158, 82,0.1);*/
  background-color: #f9f9f9;
  margin-bottom:1em;
}
.attendance-form .attendance-item .large{
  transform: scale(2.5);
  display: inline-block;
}
.attendance-form  .attendance-item .wpcf7-radio{
  display: flex;
  justify-content: center;
  gap: 0 2.0rem;
}
.attendance-item .wpcf7-list-item{
  margin-left:0;
}
