@charset "utf-8";
/* CSS Document */

/* パネルメニュー(トップ)
-------------------------*/
#menu_panel {
    background: #fff;
    padding: 80px 0;
}

#menu_panel ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#menu_panel ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    cursor: pointer;
    -webkit-transition: background-color .25s ease, color .25s ease;
    transition: background-color .25s ease, color .25s ease;
    background: var(--main-color);
    color: var(--text-color);
    border-radius: 10px;
    margin: 10px;
    flex: 1 1 calc(100% / 6 - 20px);
    box-sizing: border-box;
}

#menu_panel ul li a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}

#menu_panel ul li a:hover {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

#menu_panel ul li:hover {
    cursor: pointer;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

#menu_panel ul li a span.icon img{
	max-width: 30px;
}

#menu_panel p {
    font-size: 14px;
    font-weight: bold;
}

#menu_panel .panel06 li {
    flex: 1 1 calc(100% / 6 - 20px);
}

#menu_panel .panel08 li {
    flex: 1 1 calc(100% / 8 - 20px);
}

/* お知らせリスト
-------------------------*/

#news_list ul li {
    width: 100%;
    border-bottom: 1px dotted #ccc;
    padding: 30px 0;
}

#news_list ul li:first-child {
    border-top: 1px dotted #ccc;
}

#news_list ul li .img_box {
    width: 20%;
    float: left;
}

#news_list ul li .img_box img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 2.5;
}

#news_list ul li .text_box {
    width: 70%;
    float: right;
}

#news_list ul li .text_box p.category,
#news_list ul li .text_box p.date {
    float: left;
    margin-right: 20px;
    font-size: 12px;
    color: var(--main-color);
    font-weight: bold;
}

#news_list ul li .text_box h3 {
    line-height: 1.8;
}

#news_list ul li .text_box p.text {
    font-size: 90%;
    line-height: 2;
}

#news_list .link_btn {
    max-width: 700px;
    margin: 0 auto;
}

/* 試合日程(新)
-------------------------*/

#game_schedule{
	background: #333;	
}

#game_schedule .h2_center h1::before,
#game_schedule .h2_center h2::before{
	 border-bottom: 5px solid #fff;
}

#game_schedule h2{
	color: #fff;
}

#game_schedule .field{
	background: #fff;
	border-radius: 10px;
	width: 100%;
	min-height: 330px;
}

#game_schedule .field .heading {
    color: var(--text-color);
    background-color: var(--main-color);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

#game_schedule .field .row {
    width: 100%;
}

#game_schedule .field .heading .row > .col:first-child {
    line-height: 1.8;
    text-align: center;
	font-size: 120%;
	font-weight: bold;
	padding: 10px 10px 0;
	width: 100%;
    box-sizing: border-box;
}

#game_schedule .field .heading .row > .col:last-child {
    padding: 5px 10px 10px;
    font-weight: bold;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    font-size: 90%;
}

#game_schedule .field .game {
    padding: 15px 15px 0;
}

#game_schedule .field .game .row > .col {
    width: 90px;
    text-align: center;
}

#game_schedule .field .game .row > .col img{
	border: 0;
    vertical-align: middle;
    width: 60px;
    height: auto;
}

#game_schedule .field .game .row > .col p {
    padding: 7px 0 0;
    text-align: center;
}


#game_schedule .field .game .row > .col:nth-of-type(2) {
    font-size: 12px;
    line-height: 1.2;
}

#game_schedule .field .game .row > .col {
    width: 33.3333333333333333333333%;
    float: left;
}

#game_schedule .field .game .row > .col:nth-of-type(2) em,
#game_schedule .field .game .row > .col:nth-of-type(2) a {
    display: block;
    height: 50px;
    font-size: 40px;
    margin-bottom: 5px;
    text-decoration: none;
    line-height: 1.0;
}

#game_schedule .field .game .row > .col:nth-of-type(2) span {
    display: block;
}

#game_schedule .field .game .row > .col:nth-of-type(2) span.kickoff{
    color: var(--main-color);
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px;
}

#game_schedule .field .info{
	width: 90%;
	margin: 30px auto 0;
}

#game_schedule .field .info ul li{
	width: 100%;
    float: left;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 3px;
    background:#ccc;
}

#game_schedule .field .info ul a li.true{
	color: var(--text-color);
	text-decoration: none;
	background: var(--main-color);
}

#game_schedule .swiper-button-next{
    top: 90% !important;
    right: 50px !important;
}

#game_schedule .swiper-button-prev{
	top: 90% !important;
	left: 50px !important;
}

#game_schedule .link_btn{
	max-width: 700px;
	margin: 0 auto;
}

#game_schedule .link_btn a{
	display: inline-block;
	padding: 20px 0;
	border: 1px solid #333;
	text-align: center;
	background: #fff;
	width: 100%;
	text-decoration: none;
	margin: 80px 0 0;
}

/* 試合日程(旧)
-------------------------*/

#nextgames{
	background: #333;
}

#nextgames .h2_center h2{
	color: #fff;
}

#nextgames .wrap {
    border: 1px solid #ccc;
    background: #fff;
    padding: 30px;
    margin-bottom: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row; /* 左右配置 */
    align-items: center; /* 縦方向の中央配置 */
    gap: 20px;
}

#nextgames .info-box {
    flex: 1; /* info-box が残りのスペースを埋める */
    order: 1; /* 左側に配置 */
}

#nextgames .img-box {
    flex: 0 0 15%; /* img-box の幅を15%に固定 */
    text-align: center;
    order: 2; /* 右側に配置 */
}

#nextgames .img-box img {
    width: 80%;
}

#nextgames .img-box p.team-name {
    text-align: center;
    font-weight: bold;
    margin-top: 10px;
    font-size: 120%;
}

#nextgames p.text01 {
    color: #081c54;
    font-size: 120%;
    font-weight: bold;
    margin-bottom: 10px;
}

#nextgames p.text02 {
    font-size: 250%;
    font-style: italic;
    font-weight: bold;
    margin-bottom: 10px;
}

#nextgames p.text02 span {
    font-size: 70%;
    letter-spacing: 0.8;
}

#nextgames p.text04 {
    color: #081c54;
}

#nextgames p.text04 .fa-map-marker-alt:before {
    color: red;
}

#nextgames p.text05 {
    font-size: 180%;
    font-weight: bold;
    margin-bottom: 10px;
}

@media (max-width: 599px) {
/* small devices */

/* パネルメニュー
-------------------------*/
#menu_panel {
    padding: 20px 0;
}

#menu_panel .panel06 li,
#menu_panel .panel08 li {
    flex: 1 1 calc(100% / 2 - 20px);
    padding: 10px;
    margin: 5px;
}

#menu_panel ul li a span.icon img{
	max-width: 20px;
}

/* お知らせリスト
-------------------------*/

#news_list ul li .img_box {
    width: 48%;
}

#news_list ul li .text_box {
    width: 48%;
}

#news_list ul li .text_box p.category,
#news_list ul li .text_box p.date {
    margin-right: 10px;
    font-size: 80%;
}

#news_list ul li .text_box h3 {
    font-size: 14px;
    margin: 20px 0 0;
}

#news_list ul li .text_box p.text {
    display: none;
}

/* 試合日程(新)
-------------------------*/

#game_schedule .link_btn{
	width: 90%;
}

/* 試合日程(旧)
-------------------------*/

#nextgames .wrap {
    padding: 15px;
    margin-bottom: 15px;
    gap: 0px;
}

#nextgames .img-box {
    display: none;
}

#nextgames .img-box p.team-name {
    font-size: 12px;
    margin-top: 5px;
}

#nextgames p.text01 {
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 8px;
}

#nextgames p.text02 {
    font-size: 20px;
    margin-bottom: 8px;
}

#nextgames p.text02 span {
    font-size: 60%;
    margin-top: 3px;
}

#nextgames p.text04 {
    font-size: 14px;
}

#nextgames p.text05 {
    font-size: 16px;
    margin-bottom: 8px;
}

}

@media (min-width: 600px) and (max-width: 959px) {
/* tablets */

/* パネルメニュー
-------------------------*/

#menu_panel .panel06 li {
    flex: 1 1 calc(100% / 3 - 20px);
}

#menu_panel .panel08 li {
    flex: 1 1 calc(100% / 4 - 20px);
}

/* お知らせリスト
-------------------------*/

#news_list ul li .img_box {
    width: 30%;
}

#news_list ul li .text_box {
    width: 60%;
}

/* 試合日程(旧)
-------------------------*/

#nextgames .wrap {
    padding: 15px;
    margin-bottom: 15px;
}

#nextgames .img-box {
    flex: 0 0 20%; /* 幅を少し広めに設定 */
}

#nextgames .img-box img {
    width: 80%; /* 画像のサイズを少し小さく */
}

#nextgames .info-box {
    padding: 0 10px;
}

#nextgames p.text01 {
    font-size: 110%;
    margin-bottom: 10px;
}

#nextgames p.text02 {
    font-size: 120%;
    margin-bottom: 10px;
}

#nextgames p.text02 span {
    font-size: 60%;
    margin-top: 3px;
}

#nextgames p.text04 {
    font-size: 12px;
}

#nextgames p.text05 {
    font-size: 110%;
    margin-bottom: 10px;
}

}