@charset "UTF-8";
/*
Theme Name: BELUGA ROSSO IWAMI 1.1
Theme URI: http://tesakai.sakura.ne.jp/
Description: BELUGA ROSSO IWAMI
Version: 1.1
Author: TS
*/

@import url('https://fonts.googleapis.com/css2?family=Crimson+Text&display=swap');
* {-webkit-appearance: none; }
html, body, div, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, address, hgroup, menu, nav, output, ruby, section, sum mary, time, mark, audio, video,
p.date_cat, p.link a, p.link, p.position {
  font-family: 'Crimson Text', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #010101;
  font-size: 14px;
  line-height: 2;
  font-weight: bold;
  word-break: break-word;
  letter-spacing: 0.1em;
}
main.top h2 span, h2 span,
section h2 span, main.base h3 span,
table tr td.map,
table tr td.team,
section p,
dl dt, dl dd,
.guide_flow h4, .policy h4, .supporter h4 span,
main.base.partnerpage h3,
.supporter .event_photo h4 {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.backimage img { width: 100%; }
a { transition: 0.5s; }
a.borderlink { padding-bottom: 2px; border-bottom: 1px solid #f5f5f5; }
a.borderlink:hover { padding-bottom: 2px; border-bottom: none; }
section.subcolor .padbox a { color: #010101; }
section.subcolor a { color: #f5f5f5;}
a:hover {
  opacity: 0.6;
  transition: 0.5s;
}
.main_player .player_list p.link:hover,
a:hover {
  opacity: 0.6;
}
.fotter_sns a:hover,
.snslist a:hover { opacity: 1; }
body {
  width: 100%;
  box-sizing: border-box;
  background-color: #ECECEC;
}
body.active {
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width:768px) {
  main.top h2, h2 { font-size: 88px; margin-bottom: 60px; line-height: 130px; }
  main.top h2 span, h2 span { line-height: 0; letter-spacing: 0.1em; font-weight: bold; }
  main.top h3, h3,
  .supporter h4 { font-size: 40px; line-height: 52px; margin-bottom: 16px; }
  .policy_catch h3 { font-size: 40px; line-height: 56px; margin-bottom: 24px; }
  main.base h3,
  .supporter h4 { margin-bottom: 24px; }
  main.base h3.ranking { margin-top: 86px; }
  .spver { display: none!important; }
}
@media screen and (max-width:767px) {
  h2 { font-size: 32px; margin-bottom: 24px; line-height: 41px; letter-spacing: 0.12em; }
  h3 { font-size: 24px; line-height: 31px; letter-spacing: 0.12em; }
  main.base h3 { margin-bottom: 16px; }
  main.base .outline h3 { margin-bottom: 24px; }
  main.base h3.up { font-size: 32px; line-height: 41.5px; }
  main.base h3.mb0 { margin-bottom: 0; }
  br.pc, .pcver { display: none!important; }
  .policy_catch h3 span { font-size: 14px; }
}
section h2,
main.base h3,
.supporter h4 { color: #C12A2B; }
main.base h3 span,
.supporter h4 span { color: #010101; }
section.subcolor h2,
section.subcolor h2 span,
section.subcolor h3,
section.subcolor h3 span,
section.subcolor h4,
section.subcolor p,
.partner_catch .message h3,
.partner_catch .message p,
.partner_catch .message p a,
.topheader .topnews,
.topheader .topnews a,
section.pageheader div,
section.pageheader h2,
section.pageheader h2 span,
section.pageheader p,
section.pageheader p a,
section.subcolor .mw_wp_form .error { color: #F5F5F5; }
h2,
header ul li a,
select#changeMatch,
p.match_day,
table tr td.crim,
table tr td .crim,
.crip,
p.rankinglist span,
dl dt span, dl dd span,
.supporter h4,
.score p,
.partner_catch .message h3 span.crim,
.main_player .player_list p.player_name_furi { font-family: 'Crimson Text', serif; }
.partner_catch .message h3 span.crim { font-size: 48px; line-height: 62px; }
h2 span { font-size: 14px; color: #010101; }
h3 span,
.policy_catch h4 span,
.outline h4 { font-size: 16px; }
p.small { font-size: 13px; }
.pageheader img { width: 100%; }
.pageheader img.mapicon { width: auto; }

/* Layout */
@media screen and (min-width:768px) {
  .content { max-width: 1000px; padding: 120px 0; margin: 0 auto; }
  .newspage .content,
  .news_singlepage .content { padding: 180px 0 120px; }
  .date_cat .date { margin-right: 24px; }
  .sub_content { max-width: 800px; padding: 0; margin: 0 auto; }
  .player_content { max-width: 1020px; padding: 80px 0 0; margin: 0 auto; }
  .content.bt0 { padding: 120px 0 0; }
  .content.padcon { padding: 80px 0 120px; }
  .content.padcon2 { padding: 30px 0 120px; }
  table tr th { padding-right: 25px; white-space: nowrap; }
  table tr td { padding-left: 30px; }
  table tr th,
  table tr td { text-align: left; padding-top: 40px; padding-bottom: 40px; vertical-align: top; }
  .topicbox { background-color: #D3D3D5; margin: 56px auto 0; max-width: 640px; padding: 40px 80px; }
  .topicbox p { margin-bottom: 24px; }
  table.bottom_topic tr:first-child th,
  table.bottom_topic tr:first-child td { padding-top: 0; }
  table.bottom_topic { margin: 0 0 60px; }
}
@media screen and (max-width:767px) {
  .content { max-width: 767px; padding: 80px 20px; margin: 0 auto; }
  .newspage .content,
  .news_singlepage .content { padding: 130px 20px 80px; }
  .date_cat .date { margin-right: 16px; }
  .player_content { max-width: 767px; padding: 80px 20px 0; margin: 0 auto; }
  .content.bt0 { padding: 80px 20px 0; }
  table tr th, table tr td { width: 100%; display: block; }
  table tr th { text-align: left; padding-top: 40px; padding-bottom: 0px; }
  table tr td { text-align: left; padding-top: 24px; padding-bottom: 40px; }
  .topicbox { background-color: #D3D3D5; margin: 32px auto 0; padding: 40px 30px; }
  .topicbox p { margin-bottom: 18px; font-weight: bold; }
  table.bottom_topic tr:first-child th { padding: 16px 0; }
  table.bottom_topic tr:first-child td { padding: 0 0 10px; }
  table.bottom_topic { margin: 0 0 60px; }
  h2.sp_left { text-align: left; padding: 0 20px; }
  .content.padcon2 { padding: 80px 20px 0; }
  .content.padcon2.be_member { padding: 40px 20px 80px; }
  main.base .outline .join_flow h3,
  main.base .outline .faqlist h3 { font-size: 32px; line-height: 42px; }
}
.txt_left { text-align: left; }
.txt_center { text-align: center; }
.txt_right { text-align: right; }
.con_block { display: block; }
.txt_justify { text-align: justify; }
.left { margin-left: 0; margin-right: auto; }
.center { margin-left: auto; margin-right: auto; }
.centerbox h4, .centerbox p { text-align: center; }
.right { margin-left: auto; margin-right: 0; }
.ctrl { display: inline-block; }
section.subcolor,
section.pageheader { background-color: #C12A2B; }
.partner_catch .border { border-bottom: 2px solid #f5f5f5; padding: 8px; }
section.subcolor .link .border,
p.link.border { border-bottom: 2px solid #F5F5F5; padding: 8px;}
p.link.border { width: auto; display: table; }
section .link.gray a { color: rgba(1, 1, 1, 0.6); }
section .link.gray .border { border-bottom: 2px solid #D3D3D5; }
p.link { margin-top: 16px; }
p.link.contact { margin-top: 40px; }
.border,
section.subcolor .padbox .link .border,
.topicbox .link .border,
section.subcolor .boxcustom .link .border,
section .link.ranking_link .border { border-bottom: 2px solid #010101; padding: 8px; }
section .link.ranking_link { margin-top: 40px; }
section.subcolor table tr th,
section.subcolor table tr td { color: #fff; }
section.pageheader {
  margin: 0 auto;
  padding: 160px 0 0;
  text-align: center;
}
section.pageheader .content { padding: 0 0 120px; }
p.txtbox { max-width: 480px; margin-right: auto; margin-left: auto; text-align: left; }
img.mg0_img { margin-bottom: 24px; }
img.topic_img { margin-top: 88px; }
.topicbox p.small { display: initial; text-align: left; }
section.subcolor .backimage { background-color: rgba(255,255,255,0); }

/* ローディング */
#loader_wrap {
	z-index: 999;
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 100vh;
	top: 0;
	background-color: #C12A2B;
	pointer-events: none;
	transition: all 0.4s;
}
.loader { position: relative; }
.loader img { position: absolute; width: 120px; height: 120px; }
.loader-rotate {
  width: 120px;
  height: 120px;
}
.loader-rotate {
 	width: 120px;
 	height: 120px;
  background-image: url("./images/loading_logo_txt.png");
  background-size: 120px 120px;
  background-repeat: no-repeat;
  background-position: center center;
	margin: 0 auto;
 	position: relative;
 	animation: rotate-anime 8s linear infinite;
}
.loader-rotate img {
  animation: none;
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}

/* 全画面表示 */
.topheader { position: relative; }
.topheader .topnews span { margin-right: 1em; }
video[poster] {
 height: 100%;
 width: 100%;
 object-fit: cover;
}
@media screen and (min-width:768px) {
  .spmv { display: none; }
  .topheader .videobox {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    /* height: calc(var(--vh, 1vh) * 100); */
  }
  .topheader .videobox video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    outline: none;
    object-fit: cover;
  }
  .topheader .videobox .matchlogo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 318px;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
  }
  .topheader .topnews { position: absolute; left: 56px; bottom: 20px; }
}
@media screen and (max-width:767px) {
  .topheader .videobox { display: none; }
  .spmv {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
  }
  .spmv video {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100vh;
    object-fit: cover;
  }
  .spmv img { width: 100%; }
  .topheader p.topnews { position: absolute; left: 20px; bottom: 20px; }
  .topheader .spmv .matchlogo {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
  }
}

/* MENU */
@media screen and (min-width:768px) {
  header .head_title { left: 42px; top: 40px; }
  header .shopmenu { top: 55px; right: 100px; }
  header .headmenu { top: 40px; right: 42px; height: 60px; }
  #g-nav div#g-nav-list { width: 100%; position: absolute; top: 124px; left: 120px; }
  #g-nav-list div { margin:	16px 0; height: 64px; overflow: hidden; position: relative; background-size: cover; }
  #g-nav-list div p { transition: all 0; }
  #g-nav-list div:hover p { transition: all 1.5s; }
  #g-nav.panelactive {
    background-color: #ECECEC;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
  }
  #g-nav.panelactive.news_photo { background-image: url("./images/gnavi_bk.png"); }
  #g-nav.panelactive.match_photo { background-image: url("./images/gnavi_bk_match.png"); }
  #g-nav.panelactive.menu_schedule { background-image: url("./images/gnavi_bk.png"); }
  #g-nav.panelactive.menu_team { background-image: url("./images/gnavi_bk_team.png"); }
  #g-nav.panelactive.menu_academy { background-image: url("./images/gnavi_bk_academy.png"); }
  #g-nav.panelactive.menu_partner { background-image: url("./images/gnavi_bk_partner.png"); }
  #g-nav.panelactive.menu_contact { background-image: url("./images/gnavi_bk_contact.png"); }
  #g-nav-list .snslist { margin-top: 54px; }
  #g-nav-list .snslist li { display: inline-block; text-align: left; margin-right: 2%; }
}
@media screen and (max-width:767px) {
  header .head_title { left: 20px; top: 20px; }
  header .shopmenu { top: 30px; right: 80px; }
  header .headmenu { top: 25px; right: 20px; height: 40px; }
  #g-nav div#g-nav-list { width: 100%; margin: 0 auto; padding: 0; }
  #g-nav-list div { margin:	16px auto; height: 42px; overflow: hidden; position: relative; background-size: contain; background-position: center; background-repeat: no-repeat; }
  #g-nav.panelactive { background-color: #ECECEC; background-size: cover; }
  #g-nav.panelactive.news_photo { background-image: url("./images/gnavi_bk_sp.png"); }
  #g-nav.panelactive.match_photo { background-image: url("./images/gnavi_bk_match_sp.png"); }
  #g-nav.panelactive.menu_schedule { background-image: url("./images/gnavi_bk_sp.png"); }
  #g-nav.panelactive.menu_team { background-image: url("./images/gnavi_bk_team_sp.png"); }
  #g-nav.panelactive.menu_academy { background-image: url("./images/gnavi_bk_academy_sp.png"); }
  #g-nav.panelactive.menu_partner { background-image: url("./images/gnavi_bk_partner_sp.png"); }
  #g-nav.panelactive.menu_contact { background-image: url("./images/gnavi_bk_contact_sp.png"); }
  #g-nav-list .snslist { margin: 54px auto 0; text-align: center; }
  #g-nav-list .snslist li { display: inline-block; text-align: left; margin: 0 3%; }
}
header {
  z-index: 1000;
  width: 100%;
  position: fixed;
  top: 0;
}
header .head_title {
  text-align: left;
  position: absolute;
  z-index: 1000;
}
header .head_title img { width: 48px; height: 48px; }
header .shopmenu {
  position: absolute;
  display: flex;
  height: 33px;
  width: 31px;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  background-image: url("./images/shop.png");
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;
}
header .shopmenu.active {
  background-image: url("./images/shop_active.png");
}
header .shopmenu a { display: block; width: 100%; height: 100%; }
header .shopmenu span { opacity: 0; }
header .headmenu {
  position: absolute;
  display: flex;
  width: 28px;
  justify-content: center;
  align-items: center;
  z-index: 90;
}
header .headmenu span,
header .headmenu span:before,
header .headmenu span:after {
    content: '';
    display: block;
    height: 2.15px;
    width: 28px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
header .headmenu span:before {
    bottom: 10px;
}
header .headmenu span:after {
    top: 10px;
}
header .headmenu.active {
  z-index: 1000;
}
header .headmenu.active span {
  background-color: #010101;
  width: 24px;
  right: 0;
}
header .headmenu.active span::before {
  width: 28px;
  background-color: #010101;
  right: 0;
}
header .headmenu.active span::after {
  width: 16px;
  background-color: #010101;
  right: 0;
}
#g-nav {
  position:fixed;
  z-index: 999;
  top:0;
  right: 0;
  width:100%;
  opacity: 0;
  height: 100%;
  background:#fff;
  transition: all 0.3s;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  pointer-events: none;
}
#g-nav.panelactive #g-nav-lit {
  position: relative;
  z-index: 999;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav.panelactive{ opacity: 1; top: 0; right: 0; pointer-events: auto; }
#g-nav .list {
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}
@media screen and (min-width:768px) {
  #g-nav-list div:hover p { opacity: 1; }
  #g-nav-list div p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    opacity: 0;
    /*
    -webkit-transition:	all 1.5s ease;
    transition:	all 1.5s ease; */
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
  #changeMatch {
    margin-bottom: 32px;
  }
}
@media screen and (max-width:767px) {
  #g-nav-list div.sp_submenu p { display: flex!important; }
  #g-nav-list div p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: none;
    /*
    -webkit-transition:	all 1.5s ease;
    transition:	all 1.5s ease; */
    transition-delay: 0.2s;
    transition:	all 0.5s ease;
    width: 100%;
    display: none;
    flex-wrap: nowrap;
    justify-content: center;
  }
  #changeMatch {
    margin-bottom: 25px;
  }
}
#g-nav-list div p a { margin: 0 2%; }
.menu_news {
  width: 205px;
  background-image: url("./images/menu_news.png");
}
.menu_news:hover { background-image: url("./images/menu_news_hover.png"); }
.menu_match {
  width: 253px;
  background-image: url("./images/menu_match.png");
}
.menu_match:hover { background-image: url("./images/menu_match_hover.png"); }
.menu_schedule {
  width: 386px;
  background-image: url("./images/menu_schedule.png");
}
.menu_schedule:hover { background-image: url("./images/menu_schedule_hover.png"); }
.menu_team {
  width: 202px;
  background-image: url("./images/menu_team.png");
}
.menu_team:hover { background-image: url("./images/menu_team_hover.png"); }
.menu_academy {
  width: 361px;
  background-image: url("./images/menu_academy.png");
}
.menu_academy:hover { background-image: url("./images/menu_academy_hover.png"); }
.menu_partner {
  width: 324px;
  background-image: url("./images/menu_partner.png");
}
.menu_partner:hover { background-image: url("./images/menu_partner_hover.png"); }
.menu_contact {
  width: 347px;
  background-image: url("./images/menu_contact.png");
}
.menu_contact:hover { background-image: url("./images/menu_contact_hover.png"); }
#g-nav-list .snslist li img { width: 24px; height: 24px; }
.selectbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: end;
}
#changeMatch {
  background-color: #F5F5F5;
  border: 1px solid #f5f5f5;
  padding: 8px 66px 8px 16px;
  font-size: 16px;
  font-weight: bold;
}
select#changeMatch {
  -webkit-appearance: none;
  appearance: none; /* デフォルトの矢印を非表示 */
  background-image: url("./images/select_button.png");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 10px 6px;
}
select#changeMatch::-ms-expand {
  display: none; /* デフォルトの矢印を非表示(IE用) */
}

/* footer */
@media screen and (min-width:768px) {
  footer .linkbox {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    overflow: hidden;
  }
  footer .linkbox div:first-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  footer .linkbox div:last-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div:hover:first-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  footer .linkbox div:hover:last-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div { width: 50%; }
  footer .linkbox div a { font-size: 40px; padding: 10px 40px; }
  footer .linkbox div a:after { right: 40px; }
}
@media screen and (max-width:767px) {
  footer .linkbox div { max-width: 100%; }
  footer .linkbox div:first-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div:last-child {
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div:hover:first-child {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div:hover:last-child {
    border-bottom: 1px solid #fff;
  }
  footer .linkbox div a { font-size: 24px; padding: 10px 30px 10px; }
  footer .linkbox div a:after { right: 30px; }
}
footer { background-color: #C12A2B; }
footer .linkbox div a {
  color: #fff;
  display: block;
  position: relative;
}
footer .linkbox div a:after {
  content: "";
  background-image: url("./images/arrow.png");
  width: 32px;
  height: 19px;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
}
footer .linkbox div a:hover {
  color: #C12A2B;
  background-color: #fff;
  opacity: 1;
}
footer .linkbox div a:hover:after {
  background-image: url("./images/arrow_red.png");
  transform: rotate( -45deg );
  top: 42%;
}
.footerlogo { margin: 80px auto 0; text-align: center; }
.footerlogo img { width: 54px; height: 54px; }
.fotter_sns { margin: 24px auto 0; text-align: center; }
.fotter_sns ul li { display: inline-block; margin: 0 15px; width: 24px; height: 24px; }
p.copyright { text-align: center; padding: 10px 0; color: #ECECEC; }

/* top */
@media screen and (min-width:768px) {
  .partner_catch .message { max-width: 480px; }
  .partnerpage .partner_catch .message { width: 800px;  max-width: 800px; }
  main.base.partnerpage .partner_catch .message h3 { font-size: 48px; line-height: 62px; border: none; }
  section p.rankinglist.hometeam,
  section.main_pro p.rankinglist.hometeam  { font-size: 24px; line-height: 36px; }
  section.main_pro p.rankinglist,
  section p.rankinglist { font-size: 16px; }
}
@media screen and (max-width:767px) {
  main.base h3.ranking { margin-bottom: 40px; }
  .partner_catch .message h3 { margin-bottom: 32px; }
  .partner_catch .message { width: 100%; }
  .partner_catch .message p { padding: 0 32px; }
  main.base.partnerpage .partner_catch .message h3 { font-size: 24px; line-height: 31px; border: none; margin-bottom: 32px; }
  main.base.partnerpage .partner_catch .message h3 span { font-size: 12px; }
  section.main_pro p.rankinglist.hometeam,
  section p.rankinglist.hometeam { font-size: 16px; line-height: 36px; }
  section.main_pro p.rankinglist,
  section p.rankinglist { font-size: 15px; }
  .topnews {display: block; overflow: hidden; width: 90%; }
  .topheader .topnews .title { animation: animate-news 10s linear infinite; display: inline-block; white-space: nowrap; width: 100%; padding-left: 100%; }
}
.topheader { background-color: #C12A2B; }
section.main_pro p {
  margin-bottom: 40px;
  line-height: 36px;
  letter-spacing: 0.1em;
}
section.main_partner {
  position: relative;
}
section.main_pro p.visitor_mis,
section.main_pro p.visitor_cou { display: inline-block; margin-bottom: 10px; }
section.main_pro p.visitor_cou { line-height: 42px; letter-spacing: 0.12em; }
section.main_pro p.visitor_cou span { font-size: 32px; }
section.main_pro p.visitor_mis { margin-left: 1em; font-size: 16px; }
section.main_pro p.rankinglist,
section p.rankinglist { margin-bottom: 16px; }
section.main_pro { position: relative; overflow: hidden; }
section.main_pro::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  border-top: 10vw solid #EDEDED;
  border-right: 100vw solid transparent;
}
section.main_pro::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 7vw solid #EDEDED;
  border-right: 100vw solid transparent;
}
.partner_catch { position: relative; }
.partner_catch .message {
  margin: 0 auto;
  position: absolute;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.partner_catch .message p { margin-bottom: 16px; }
/* .main_academy { margin-top: -2px; } */
@keyframes animate-news {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* 試合情報 */
@media screen and (min-width:768px) {
  .match_team { margin: 0 auto 40px; font-size: 32px; }
  .match_team p.home img { height: 32px; width: auto; margin-right: 24px; }
  .match_team p.home {margin-right: 24px; }
  .match_team p.away {margin-left: 24px; }
  .match_team p { font-size: 32px; display: inline-block; vertical-align: middle; line-height: 32px; }
  .match_day { font-size: 24px; margin: 0 auto 32px; }
  .match_loc,
  .match_loc a { font-size: 16px; margin: 0 auto; line-height: 24px; }
  .match_loc img { height: 24px; margin-right: 1em; }
  .match_table table tr td { line-height: 24px; vertical-align: middle; padding: 32px 12px; display: inline-block; }
  .match_table table .date { min-width: 5em; }
  .match_table table .team { padding-left: 12px; padding-right: 12px; font-size: 16px; }
  .score p { padding: 8px 11px; color: #fff; text-align: center; min-width: 50px; font-size: 12px; line-height: 15px; }
  .match_table table tr td.youtube { padding: 32px 0 32px 14px;}
  .match_table table .map.result_custom { width: 75%; }
  .match_table table .team.result_custom { padding: 0 12px 25px; }
  .match_table table .teamline.result_custom { padding: 0 12px 25px; }
  .match_table table .youtube.result_custom { padding: 0 0 25px 14px; width: 50%; }
}
@media screen and (max-width:767px) {
  section.pageheader .content.nextmatch_sp { padding: 0 0 40px; }
  section.match_table { background-color: #ededed; margin-top: -1px; }
  section.match_table.subcolor { background-color: #C12A2B; }
  .match_team { margin: 0 auto 40px; font-size: 16px; }
  .nextmatch_sp h2 { margin-bottom: 47px; }
  .match_team p,
  .match_team span { font-size: 16px; display: block; line-height: 40px; }
  .match_day { font-size: 14px; margin: 0 auto 16px; }
  .match_loc,
  .match_loc a { font-size: 12px; margin: 0 auto; line-height: 24px; vertical-align: middle; display: inline-block;}
  .match_loc img { height: 16px; margin-right: 5px; vertical-align: middle; }
  .matchpage h3 { font-size: 32px; line-height: 41.5px; }
  .matchpage h3 span,
  .guide_flow h3.maincatch span { font-size: 13px; }
  .match_table table tr { padding: 24px 0; display: block; }
  .match_table table tr td { line-height: 24px; vertical-align: middle; padding: 0; margin-bottom: 16px; width: auto; display: inline-block; }
  .match_table table .date,
  .match_table table .dateofweek { margin-right: 8px; }
  .match_table table .map { font-size: 12px; width: 100%; margin-bottom: 24px; }
  .match_table table .team { font-size: 14px; }
  .match_table table .team.away_sp { display: block; padding-bottom: 0; }
  .score p { padding: 0 16px; color: #fff; text-align: center; font-size: 12px; line-height: 16px; letter-spacing: 0.12em; }
  .match_table table tr td.youtube { margin-top: 8px; }
}
/* section.match_table { margin-top: -2px; } */
.match_team h4,
.match_table h4 { font-size: 16px; margin-bottom: 16px; }
.match_table .practice p { margin-bottom: 16px; }
.match_team p.away img { height: 32px; width: auto; margin-left: 24px; }
.match_table table { width: 100%; table-layout: fixed; }
.match_table table .date,
.match_table table .dateofweek { font-size: 14px; white-space: nowrap; }
.match_table table tr { border-top: 1px solid #010101; }
.match_table table tr:last-child { border-bottom: 1px solid #010101; }
.match_table table tr td img { height: 16px; vertical-align: middle; margin-right: 10px; margin-top: -4px; }
.match_table table .dateofweek { min-width: 2.5em; }
.match_table table .map,
.match_table table .map a { font-size: 12px; }
.match_table table .teamline { padding-left: 12px; padding-right: 12px; font-size: 16px; }
.match_table table .team .scorepo { padding-left: 16px; }
.match_table table .team .scorepo { font-size: 24px; vertical-align: middle; }
.score .win { background-color: #C12A2B; }
.score .draw { background-color: #0578B9; }
.score .lose { background-color: #010101; }
.match_table table tr td.youtube a { color: rgba(1, 1, 1, 0.6); position: relative; padding-left: 36px; }
.match_table table tr td.youtube a:before {
  content: "";
  background-image: url("./images/youtube_arrow.png");
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: absolute;
  display: block;
  left: 0;
  top: 0;
}
table.practicetable { margin: 24px 0 56px; }
.match_table table.practicetable tr { border-top: 1px solid #F5F5F5; }
.match_table table.practicetable tr:last-child { border-bottom: 1px solid #F5F5F5; }

/* GUIDE */
@media screen and (min-width:768px) {
  .manner h3 { font-size: 48px; }
  .manner h4 { margin: 40px 0 24px; }
  .guide_flow h4,
  .policy h4,
  .junior h4 { font-size: 24px; font-weight: bold; text-align: center; margin-bottom: 24px; letter-spacing: 0.12em; }
  .guide_flow h4:before,
  .policy h4:before,
  .junior h4:before { content: "#"; color: #C12A2B; padding-right: 10px; }
  section.guide_flow { margin-top: -1px; background-color: #EDEDED; }
  .guide_flow dl { margin: 54px 0 0; }
  .guide_flow dl dt { font-size: 16px; font-weight: bold; }
  .guide_flow dl dd { padding-left: 50px; margin: 12px 0 32px; }
  .manner dl dt { font-size: 16px; margin-bottom: 8px; }
}
@media screen and (max-width:767px) {
  .manner h3 { font-size: 32px; line-height: 41.5px; }
  .manner h3 span { font-size: 13px; }
  .manner h4 { margin: 40px 0 15px; font-size: 16px; }
  .policy h4,
  .junior h4 { font-size: 16px; font-weight: bold; text-align: center; margin-bottom: 16px; letter-spacing: 0.08em; line-height: 18.4px; }
  .guide_flow h4 { font-size: 16px; font-weight: bold; text-align: center; margin-bottom: 16px; letter-spacing: 0.08em; line-height: 40px; }
  .guide_flow h4:before,
  .policy h4:before,
  .junior h4:before { content: "#"; color: #C12A2B; padding-right: 10px; font-size: 22px; }
  section.guide_flow { margin-top: -1px; background-color: #EDEDED; }
  .guide_flow dl { margin: 40px 0 0; }
  .guide_flow dl dt { font-size: 14px; font-weight: bold; }
  .guide_flow dl dd { padding-left: 35px; margin: 12px 0 32px; font-size: 13px; }
  .guide_flow dl dd:last-child { margin: 12px 0 40px; }
  .manner dl { margin-top: 40px; }
  .manner dl dt { font-size: 16px; margin-bottom: 16px; }
}
.guide_flow dl dt span { color: #C12A2B; margin-right: 16px; }
.manner p { margin-bottom: 8px; }
.manner dl dt, .manner dl dd { color: #F5F5F5; }
.manner dl dt:before { content: "Q."; }
.manner dl dd { margin-bottom: 32px; }
.manner dl dd:last-child { margin-bottom: 0; }

/* ABOUTUS */
@media screen and (min-width:768px) {
 .twocol {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  overflow: hidden;
  margin: 54px auto 0;
 }
 .twocol div { width: 50%; }
 .outline h4 { margin: 54px 0 32px; }
 .policy_catch p { margin-bottom: 137px; font-size: 24px; font-weight: bold; line-height: 40px; }
 .policy_catch p:last-child { margin-bottom: 40px; }
 .policy p.logo { margin: 54px auto 0; width: 180px; }
 .padbox { background-color: #ECECEC; padding: 50px 178px; margin: 120px auto 40px; }
 section.subcolor .padbox h3 { margin-bottom: 40px; }
 .padbox .recruit dt { font-size: 16px; font-weight: bold; margin-bottom: 8px; }
}
@media screen and (max-width:767px) {
  .twocol { margin-top: 40px; }
  .twocol div { width: 100%; margin-bottom: 80px; }
  .twocol div:last-child { margin-bottom: 0; }
  .policy_catch p { margin-bottom: 80px; font-size: 14px; font-weight: bold; line-height: 32px; }
  .policy_catch p:last-child { margin-bottom: 0px; }
  .policy p.logo { margin: 40px auto 0; width: 180px; }
  .padbox { background-color: #ECECEC; padding: 30px 20px; margin: 120px auto 40px;}
  .padbox .recruit dt { font-size: 14px; font-weight: bold; margin-bottom: 8px; }
  .padbox .recruit dd,
  .padbox .recruit ul li { font-size: 12px; }
  section.outline p span { font-size: 16px; margin-right: 0; }
  h4.outline_topic { margin-top: 40px; }
  section.subcolor .padbox h3 { text-align: left; }
  section.subcolor .padbox h3 span { font-size: 12px; letter-spacing: 0.08em; }
}
section.outline p { margin-bottom: 1em; }
section.outline p span { margin-right: 1em; }
section.policy { margin-top: -1px; background-color: #ECECEC; }
.policy_catch { margin: 0 auto; text-align: center; }
.policy p.hometown { margin: 54px auto 0; width: 307px; }
section.subcolor .padbox h3 { color: #C12A2B; }
section.subcolor .padbox h3 span { color: #010101; }
.padbox .recruit dd { margin-bottom: 32px; }
.padbox .recruit ul { list-style-type: disc; padding-left: 1em; }

/* 選手一覧 */
@media screen and (min-width:768px) {
  .detail_content_inner { display: flex; flex-wrap: wrap; }
  .detail_content_inner .photo {
    max-width: 400px;
    padding: 30px 80px 30px 30px;
  }
  #player-profile-image {
    max-height: 563px;
    width: 500px;
    height: auto;
    width: auto;
    margin: 0;
    margin-right: 64px;
    padding: 30px;
  }
  .playerlink {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  section.pageheader .content.playerlink { padding: 19px 0 7px; }
  .playerlink p a {
    color: #f5f5f5;
    line-height: 32px;
    padding: 8px 32px;
  }
  .player_content .player_list {
    display: flex;
    flex-wrap: wrap;
    justify-content:flex-start;
  }
  .player_content .player_list div.overview { width: 23%; margin: 0 1% 30px; cursor: pointer; }
  .main_player .player_list p.player_name { font-size: 24px; margin-bottom: 0; }
  .main_player .player_list p.player_name_furi { font-size: 14px; }
  .main_player .player_list p.link { margin: 14px 0 10px; }
  .popshow {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .detailpop {
    display: none;
    height: 100vh;
    width: 100%;
    opacity: 1;
    position: fixed;
    top: 0;
    left: 0;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    z-index: 600;
  }
  .detail_content {
    background: #fff0;
    width: 80%;
    height: 65%;
    max-width: 1070px;
    position: absolute;
    z-index: 999;
    top: 150px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  #player-profile-image {
    width: auto;
    height: auto;
    max-width: 400px;
    margin: auto;
    display: block;
    padding: 0;
  }
  .detailpop .close_button {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    right: 32px;
    top: 12px;
    z-index: 999;
  }
  #player-profile-number { position: absolute; top: 34px; left: 45px; font-size: 40px; color: #F5F5F5; line-height: 56px; }
  .player_info_wrap { padding: 30px; max-width: 470px; }
  section.subcolor .detail_content p.player-profile-title {
    font-size: 32px;
    line-height: 36px;
    margin-bottom: 16px;
  }
  p#player-profile-englishname { margin-bottom: 24px; font-size: 16px; }
  .player_info_wrap .subtopic { margin-bottom: 24px; }
  .detailpop .close_button.back {
    display: table;
    position: absolute;
    bottom: -15%;
    left: 50%;
    -webkit-transform: translate(-50%, 15%);
    -moz-transform: translate(-50%, 15%);
    transform: translate(-50%, 15%);
    top: initial;
    width: auto;
    color: #f5f5f5;
    padding: 8px;
    border-bottom: 2px solid #f5f5f5;
    cursor: pointer;
  }
}
@media screen and (max-width:767px) {
  .playerlink {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  section.pageheader .content.playerlink { padding: 40px 30px 0; }
  .playerlink p.all { width: 100%; }
  .playerlink p { width: 46%; margin-bottom: 16px; }
  .playerlink p a {
    color: #f5f5f5;
    line-height: 32px;
    padding: 8px 6px;
  }
  .player_content .player_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .player_content .player_list div.overview { width: 46%; margin: 0 0 50px; cursor: pointer; }
  .main_player .player_list p.position { font-size: 16px; line-height: 21px; margin-bottom: 8px; letter-spacing: 0.15em; }
  .main_player .player_list p.player_name { font-size: 16px; line-height: 40px; margin-bottom: 0; letter-spacing: 0.08em; }
  .main_player .player_list p.player_name_furi { font-size: 16px; }
  .main_player .player_list p.link { margin: 0; font-size: 12px; line-height: 16px; }
  .popshow { padding: 0 20px; }
  .detailpop {
    display: none;
    height: 100vh;
    width: auto;
    max-width: 100%;
    opacity: 1;
    position: fixed;
    top: 65px;
    left: 0;
    padding: 0 20px;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    z-index: 600;
  }
  .detail_content {
    background: #fff0;
    width: 100%;
    height: 80%;
    position: relative;
    z-index: 999;
  }
  #player-profile-image {
    width: auto;
    height: auto;
    margin: auto;
    display: block;
    padding: 0;
  }
  .detailpop .close_button {
    display: block;
    position: absolute;
    width: 30px;
    height: 30px;
    right: 0;
    top: -50px;
    z-index: 999;
  }
  #player-profile-number { position: absolute; top: 5px; left: 15px; font-size: 40px; color: #F5F5F5; line-height: 56px; }
  .player_info_wrap { padding: 40px 0 5px; text-align: left; }
  section.subcolor .detail_content p.player-profile-title {
    font-size: 24px;
    line-height: 31px;
    margin-bottom: 16px;
  }
  #player-profile-name { line-height: 40px; display: block; }
  p#player-profile-englishname { font-size: 24px; margin-bottom: 24px; }
  .player_info_wrap .subtopic { margin-bottom: 16px; }
  section.subcolor .detail_content p.player-profile-label { line-height: 40px; }
  section.subcolor .detail_content p { line-height: 32px; }
  .detailpop .close_button.back {
    display: table;
    position: absolute;
    bottom: -30px;
    left: 50%;
    -webkit-transform: translate(-50%, 30px);
    -moz-transform: translate(-50%, 30px);
    transform: translate(-50%, 30px);
    top: inherit;
    width: auto;
    color: #f5f5f5;
    padding: 8px;
    border-bottom: 2px solid #f5f5f5;
    cursor: pointer;
  }
  header.player_sp_header { display: none; visibility: hidden; }
}
.player_content .player_list { align-items: flex-start; }
.playerlink p { border-bottom: 2px solid #f5f5f5; }
.main_player { padding-bottom: 120px; }
.playerpage .pageheader h2 { margin-bottom: 0; }
.player_content h3 { font-size: 32px; }
.main_player .player_list p { margin-bottom: 16px; }
.detail_content_inner .photo { position: relative; }
p.player_photo { background-color: rgba(255,255,255,0); display: inline-block; }
p.player_photo img { opacity: 0.9; filter: grayscale(100%); display: block; clip-path: polygon(100% 0, 100% 94%, 0 99%, 0 6%); }
p.player_photo img:hover { opacity: 1; filter: none; }
.detail_content_inner {
  overflow-y: scroll;
  height: 100%;
}.detailpop .close_button.back::before,
.detailpop .close_button.back::after { content: none; }
.detail_content_back {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 500;
}
.detailpop .close_button::before,
.detailpop .close_button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.5px;
  height: 24px;
  background: #fff;
}
.detailpop .close_button::before { transform: translate(-50%, -50%) rotate(45deg); }
.detailpop .close_button::after { transform: translate(-50%, -50%) rotate(-45deg); }
.detailpop p { color: #f5f5f5; }
section.subcolor .detail_content p { color: #f5f5f5; }
section.subcolor .detail_content p.player-profile-label { font-size: 16px; }
.detail_content[name="HEAD COACH"] #player-profile-number,
.detail_content[name="HEAD COACH"] .player-profile-label.label_birthday,
.detail_content[name="HEAD COACH"] #player-profile-birthday,
.detail_content[name="HEAD COACH"] .player-profile-label.label_height,
.detail_content[name="HEAD COACH"] #player-profile-height,
.detail_content[name="HEAD COACH"] .player-profile-label.label_worklocation,
.detail_content[name="HEAD COACH"] #player-profile-work-location,
.detail_content[name="GK COACH"] #player-profile-number,
.detail_content[name="GK COACH"] .player-profile-label.label_birthday,
.detail_content[name="GK COACH"] #player-profile-birthday,
.detail_content[name="GK COACH"] .player-profile-label.label_height,
.detail_content[name="GK COACH"] #player-profile-height,
.detail_content[name="GK COACH"] .player-profile-label.label_worklocation,
.detail_content[name="GK COACH"] #player-profile-work-location,
.detail_content[name="PHYSICAL COACH"] #player-profile-number,
.detail_content[name="PHYSICAL COACH"] .player-profile-label.label_birthday,
.detail_content[name="PHYSICAL COACH"] #player-profile-birthday,
.detail_content[name="PHYSICAL COACH"] .player-profile-label.label_height,
.detail_content[name="PHYSICAL COACH"] #player-profile-height,
.detail_content[name="PHYSICAL COACH"] .player-profile-label.label_worklocation,
.detail_content[name="PHYSICAL COACH"] #player-profile-work-location,
.detail_content[name="ATHLETIC COACH"] #player-profile-number,
.detail_content[name="ATHLETIC COACH"] .player-profile-label.label_birthday,
.detail_content[name="ATHLETIC COACH"] #player-profile-birthday,
.detail_content[name="ATHLETIC COACH"] .player-profile-label.label_height,
.detail_content[name="ATHLETIC COACH"] #player-profile-height,
.detail_content[name="ATHLETIC COACH"] .player-profile-label.label_worklocation,
.detail_content[name="ATHLETIC COACH"] #player-profile-work-location,
.detail_content[name="COACH"] #player-profile-number,
.detail_content[name="COACH"] .player-profile-label.label_birthday,
.detail_content[name="COACH"] #player-profile-birthday,
.detail_content[name="COACH"] .player-profile-label.label_height,
.detail_content[name="COACH"] #player-profile-height,
.detail_content[name="COACH"] .player-profile-label.label_worklocation,
.detail_content[name="COACH"] #player-profile-work-location,
.detail_content[name="MANAGER"] #player-profile-number,
.detail_content[name="MANAGER"] .player-profile-label.label_birthday,
.detail_content[name="MANAGER"] #player-profile-birthday,
.detail_content[name="MANAGER"] .player-profile-label.label_height,
.detail_content[name="MANAGER"] #player-profile-height,
.detail_content[name="MANAGER"] .player-profile-label.label_worklocation,
.detail_content[name="MANAGER"] #player-profile-work-location,
.detail_content[name="STAFF"] #player-profile-number,
.detail_content[name="STAFF"] .player-profile-label.label_birthday,
.detail_content[name="STAFF"] #player-profile-birthday,
.detail_content[name="STAFF"] .player-profile-label.label_height,
.detail_content[name="STAFF"] #player-profile-height,
.detail_content[name="STAFF"] .player-profile-label.label_worklocation,
.detail_content[name="STAFF"] #player-profile-work-location,
.detail_content[name="TRAINER"] #player-profile-number,
.detail_content[name="TRAINER"] .player-profile-label.label_birthday,
.detail_content[name="TRAINER"] #player-profile-birthday,
.detail_content[name="TRAINER"] .player-profile-label.label_height,
.detail_content[name="TRAINER"] #player-profile-height,
.detail_content[name="TRAINER"] .player-profile-label.label_worklocation,
.detail_content[name="TRAINER"] #player-profile-work-location
,
.detail_content[name="DOCTOR"] #player-profile-number,
.detail_content[name="DOCTOR"] .player-profile-label.label_birthday,
.detail_content[name="DOCTOR"] #player-profile-birthday,
.detail_content[name="DOCTOR"] .player-profile-label.label_height,
.detail_content[name="DOCTOR"] #player-profile-height,
.detail_content[name="DOCTOR"] .player-profile-label.label_worklocation,
.detail_content[name="DOCTOR"] #player-profile-work-location { display: none; }
.coach_ver { display: none; }
.detail_content[name="HEAD COACH"] .coach_ver,
.detail_content[name="GK COACH"] .coach_ver,
.detail_content[name="PHYSICAL COACH"] .coach_ver,
.detail_content[name="ATHLETIC COACH"] .coach_ver,
.detail_content[name="COACH"] .coach_ver,
.detail_content[name="MANAGER"] .coach_ver,
.detail_content[name="STAFF"] .coach_ver,
.detail_content[name="TRAINER"] .coach_ver,
.detail_content[name="DOCTOR"] .coach_ver { display: inline; }


/* SUPPORTER */
@media screen and (min-width:768px) {
  .supporter .event_photo h4 { font-size: 24px; font-weight: bold; margin-bottom: 24px; letter-spacing: 0.12em; color: #010101; }
  .supporter .event_photo h4:before { content: "#"; color: #C12A2B; padding-right: 10px; font-size: 32px; }
  .supporter h4 span { font-size: 16px; }
  img.qr { width: 240px; margin: 29px auto; }
}
@media screen and (max-width:767px) {
  .supporter h3 span { font-size: 13px; letter-spacing: 0.08em; }
  .supporter h3 { font-size: 32px; line-height: 42px; }
  .supporter .event_photo h4 { font-size: 14px; font-weight: bold; margin-bottom: 16px; letter-spacing: 0.08em; line-height: 18.4px; color: #010101; }
  .supporter .event_photo h4:before { content: "#"; color: #C12A2B; padding-right: 5px; font-size: 18px; }
  .supporter h4 span { font-size: 13px; }
  .supporter h4 { font-size: 32px; line-height: 41.5px; color: #C12A2B; margin-bottom: 16px; }
  img.qr { max-width: 280px; margin: 24px auto; }
  .supporter .centerbox p { text-align: left; }
  .supporter .centerbox p.link { text-align: center; }
  .supporter h3.maincatch span {
    line-height: 1em;
    display: inline-block;
  }
  .supporter h3.maincatch span span {
    display: block;
    line-height: 2em;
  }
}
.event_photo { margin: 80px 0; text-align: left; }
.event_photo p img { margin-bottom: 40px; }
/* .supporter { margin-top: -2px; background-color: #ededed; } */

/* partner */
@media screen and (min-width:768px) {
  .partner_col .partner_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
  }
  .partner_col .partner_list.level1 { justify-content: space-between; }
  main.base.partnerpage h3 { font-size: 24px; padding-bottom: 24px; border-bottom: 1px solid #F5F5F5; line-height: 40px; margin-bottom: 40px; }
  .partner_col .partner_list.level1 div { width: 48%; margin: 0 0 40px 0; }
  .partner_col .partner_list.level2 div { width: 31%; margin: 0 2% 30px 0; }
  .partner_col .partner_list.level3 div { width: 22%; margin: 0 3% 20px 0; }
  .partner_col .partner_list.level4 div { width: 18%; margin: 0 2% 20px 0; }
  .partner_col .partner_list.level5 div { width: 15%; margin: 0 1% 17px 0; }
  .partner_col .partner_list.level6 div { width: 13%; margin: 0 1% 17px 0; }
  /*
  .partner_col .partner_list.level1 div { width: 47%; margin: 0 1.5% 40px; }
  .partner_col .partner_list.level2 div { width: 31%; margin: 0 1.1% 30px; }
  .partner_col .partner_list.level3 div { width: 22%; margin: 0 1.5% 20px; }
  .partner_col .partner_list.level4 div { width: 18%; margin: 0 1% 20px; }
  .partner_col .partner_list.level5 div { width: 15%; margin: 0 2.5% 17px; }
  .partner_col .partner_list.level6 div { width: 13%; margin: 0 1.8% 17px; } */
}
@media screen and (max-width:767px) {
  .partner_col .partner_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    text-align: center;
  }
  .partner_col .partner_list.level3 { justify-content: space-between; }
  .partner_col .partner_list.level4 { justify-content: flex-start; }
  .partner_col .partner_list div { margin-bottom: 16px; }
  main.base.partnerpage h3 { font-size: 14px; padding-bottom: 16px; border-bottom: 1px solid #F5F5F5; line-height: 32px; margin-bottom: 24px; }
  .partner_col .partner_list.level1 div { width: 100%; }
  .partner_col .partner_list.level2 div { padding: 0 20px; width: 100%; }
  .partner_col .partner_list.level3 div { padding: 0; width: 47%; }
  .partner_col .partner_list.level4 div { padding: 0; width: 30%; margin-right: 3%; }
  .partner_col .partner_list.level5 div { width: 47%; }
  .partner_col .partner_list.level6 div { width: 31%; }
}
main.partnerpage section.pageheader { padding: 160px 0 0; }
main.partnerpage section.pageheader h2 { margin-bottom: 0; }
.partner_col .partner_list { margin-bottom: 80px; }
.partner_col .partner_list div img { width: auto; }

/* JUNIOR */
@media screen and (min-width:768px) {
  .join_flow dl { margin: 54px 0 0; }
  .join_flow dl dt { font-size: 16px; font-weight: bold; }
  .join_flow dl dd { padding-left: 50px; margin: 12px 0 32px; }
  .faqlist dl dt { font-size: 16px; margin-bottom: 8px; }
  .junior div.content.outline { padding: 120px 0 60px; }
  .supervisor .supervisor_photo { width: 360px; margin-right: 40px; }
  .supervisor_con .role { margin-bottom: 16px; }
  .coach_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .coach_list.director { justify-content: flex-start; }
  .coach_list.director .coach_con { margin-right: 30px; width: 30%; max-width: 320px; margin-bottom: 0; }
  .coach_list .coach_con { width: 23%; margin-bottom: 90px; margin-right: 2%; }
  .supervisor {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .coach_con .role { font-size: 16px; }
  .coach_con .name { font-size: 24px; line-height: 40px; margin-bottom: 16px; }
  .coach_con .lis { font-size: 16px; line-height: 18px; }
  .coach_list.director .role { margin: 8px 0; }
  .coach_list.director .lis { line-height: 32px; }
  .coach_list.director .coach_con .name { margin-bottom: 8px; }
  .content.padcon3 { padding: 0 0 120px; }
  .be_memberlist {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 20px;
  }
  .be_memberlist div { width: 20%; margin-bottom: 24px; }
  p.goal_con { font-size: 24px; line-height: 32px; }
}
@media screen and (max-width:767px) {
  .join_flow dl { margin: 40px 0 0; }
  .join_flow dl dt { font-size: 14px; font-weight: bold; }
  .join_flow dl dd { padding-left: 35px; margin: 12px 0 32px; font-size: 13px; }
  .join_flow dl dd:last-child { margin: 12px 0 40px; }
  .faqlist dl { margin-top: 40px; }
  .faqlist dl dt { font-size: 16px; margin-bottom: 16px; }
  .juniorpage section.pageheader { padding: 130px 0 0;}
  .juniorpage .pageheader h2 { margin-bottom: 40px; }
  .junior .content h3 { font-size: 32px; line-height: 41px; }
  .junior .content h3 span { font-size: 13px; }
  .junior img.topic_img { margin-top: 40px; }
  .supervisor .supervisor_photo { width: 100%; margin-bottom: 24px; }
  .supervisor { margin-top: 24px; }
  .supervisor_con .role,
  .supervisor_con .lis { margin-bottom: 8px; }
  .supervisor_con .lis_con { font-size: 13px; line-height: 30px; }
  .coach_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .coach_list .coach_con { width: 43%; margin-bottom: 32px; }
  .supervisor {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .coach_con .role { font-size: 14px; line-height: 32px; }
  .coach_con .name { font-size: 16px; line-height: 32px; margin-bottom: 8px; }
  .coach_con .lis { font-size: 12px; line-height: 24px; }
  .coach_con .lis,
  .coach_con .name,
  .supervisor_con .role,
  .supervisor_con .lis_con { letter-spacing: 0.08em; }
  .content.bt0.sp_coach { padding: 0 20px 0;}
  p.txtbox { line-height: 32px; }
  .content.padcon3 { padding: 0 20px 80px; }
  .be_memberlist {
    max-width: 756px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 24px;
  }
  .be_memberlist div { width: 50%; margin-bottom: 24px; }
  p.goal_con { line-height: 32px; }
}
.join_flow dl dt, .join_flow dl dd { color: #ececec; }
.join_flow dl dt span { color: #ececec; margin-right: 16px; }
/* section.junior { margin-top: -2px; background-color: #ededed; } */
.junior .content.outline p { line-height: 32px; margin-bottom: 1em; }
.faqlist p { margin-bottom: 8px; }
.faqlist dl dt, .faqlist dl dd { color: #F5F5F5; }
.faqlist dl dt:before { content: "Q."; }
.faqlist dl dd { margin-bottom: 32px; font-size: 13px; }
.faqlist dl dd:last-child { margin-bottom: 0; }
section.subcolor .topicbox.boxcustom {  background-color: #fff; }
section.subcolor .topicbox.boxcustom p,
section.subcolor .topicbox.boxcustom p a { color: #010101; }
.supervisor .supervisor_con { max-width: 600px; }
.supervisor_con .role,
.supervisor_con .lis,
.supervisor_con .message { font-size: 16px; }
.supervisor_con .name { font-size: 24px; line-height: 40px; margin-bottom: 24px; }
.supervisor_con .message { margin: 24px 0 8px; }
.supervisor_con .message_con { line-height: 32px; }
.coach_con .role { margin-top: 16px; letter-spacing: 0.08em; }


.be_memberlist div p { text-align: left; }
.be_memberlist div p.member { margin-bottom: 8px; font-size: 12px; line-height: 24px; }
.be_memberlist div p.name { line-height: 32px; }

/* NEWS */
@media screen and (min-width:768px) {
  .newspage h2 { font-size: 72px; margin-bottom: 40px; }
  .tab_content {
    display: none;
    padding: 80px 0;
    clear: both;
    overflow: hidden;
  }
  .tab_item {
    width: calc(100%/7);
    height: 50px;
    line-height: 32px;
    font-size: 14px;
    text-align: center;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    color: #f5f5f5;
    border-bottom: 2px solid #f5f5f5;
    cursor: pointer;
  }
  .newspage .newsbox div.eyecatch { width: 250px; margin-right: 32px; }
  .newspage .newsbox div,
  .newspage .newsbox div a { color: #f5f5f5; line-height: 18px; }
  .newspage .newsbox div .title { margin-top: 16px; font-size: 16px; line-height: 40px; }
  .newspage .newsbox div .title a { font-size: 16px; line-height: 40px; }
  .newspage .newsbox { margin-bottom: 24px; }
  .prev.page-numbers { margin-right: 40px; font-size: 14px; vertical-align: middle; }
  .next.page-numbers { margin-left: 8px; margin-right: 0; font-size: 14px; vertical-align: middle; }
}
@media screen and (max-width:767px) {
  .newspage h2 { font-size: 32px; margin-bottom: 40px; }
  .tab_content {
    display: none;
    padding: 54px 0 0;
    clear: both;
    overflow: hidden;
  }
  .tab_item {
    width: 46%;
    display: inline-block;
    line-height: 32px;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    color: #f5f5f5;
    border-bottom: 2px solid #f5f5f5;
    cursor: pointer;
    padding: 8px 0;
    margin-bottom: 16px;
  }
  label[for="tab2"],
  label[for="tab4"],
  label[for="tab6"] { margin-right: 20px; }
  .tab_item.all { width: 100%; display: inline-block; }
  .newspage .newsbox div.eyecatch { width: 100%; margin-bottom: 16px; }
  .newspage .newsbox div,
  .newspage .newsbox div a { color: #f5f5f5; line-height: 18px; letter-spacing: 0.15em; }
  .newspage .newsbox div .title { display: block; margin-top: 16px; line-height: 18px; }
  .newspage .newsbox { margin-bottom: 40px; }
  .prev.page-numbers { margin-right: 24px; font-size: 16px; vertical-align: middle; }
  .next.page-numbers { margin-left: 0; margin-right: 0; font-size: 16px; vertical-align: middle; }
}
section.subcolor .tab_item a {
  color: #f5f5f5;
  display: block;
  width: 100%;
  height: 100%;
}
.newspage .newsbox div { display: inline-block; vertical-align: top; }
.tabs {
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin: 50px auto;
}
.tab_item:hover { opacity: 0.75; }
input[name="tab_item"] { display: none; }
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content,
#tab5:checked ~ #tab5_content,
#tab6:checked ~ #tab6_content,
#tab7:checked ~ #tab7_content { display: block; }
.tab_content_description h3 { margin-bottom: 30px; }
.pagenation { text-align: center; margin-top: 80px; }
.page-numbers { margin-right: 32px; font-size: 24px; vertical-align: middle; }
span.page-numbers.current { color: #f5f5f5; position: relative; vertical-align: middle; }
span.page-numbers.current:after {
  content: "";
  border-bottom: 2px solid #f5f5f5;
  position: absolute;
  width: 100%;
  bottom: -8px;
  left: 0;
}

/* NEWS一覧 */
@media screen and (min-width:768px) {
  .news_singlepage h2 { font-size: 32px; line-height: 37px; margin: 27px 0 80px; }
  .news_singlepage .sub_content { margin: 80px auto 120px; }
}
@media screen and (max-width:767px) {
  .news_singlepage h2 { font-size: 16px; line-height: 40px; margin: 24px 0 32px; }
  .news_singlepage .sub_content { margin: 32px auto 40px; }
  .sub_content { font-size: 13px; }
}
.news_singlepage,
.news_singlepage p { color: #f5f5f5; }

/* CONTACT */
@media screen and (min-width:768px) {
  .formlink div { font-size: 16px;  width: 100%; padding: 0; }
  .formlink div.active { padding: 15px 10px; }
  .formlink div a {
    display: block;
    width: 100%;
    padding: 15px 10px;
  }
  .form_con { max-width: 560px; margin: 80px auto 0; }
  .form_con table { width: 100%; }
  .contactpage table tr th { padding: 27px 40px 27px 0; }
  .contactpage table tr td { margin-bottom: 54px; padding: 27px 0 27px; }
  .contactpage table tr td input[type="text"],
  .contactpage table tr td input[type="email"] { height: 40px; border: none; padding: 0; width: 100%; }
  .contactpage table tr th,
  .contactpage table tr td,
  .contactpage .contactmessage p { font-size: 16px; }
  .contactpage .contactmessage textarea { width: 99%; padding: 0; }
  input[type="radio"]::before, input[type="radio"]::after{
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
  }
  input[type="radio"] {
    width: 16px;
    height: 16px;
    border-radius: 100px;
    position: relative;
    vertical-align: sub;
    margin-right: 5px;
  }
  input[type="radio"]::before {
    background-color: #fff;
    border: 1px solid #c2c1c1;
    height: 16px;
    width: 16px;
    left: 0px;
  }
  input[type="radio"]::after {
    background-color: #C12A2B;
    opacity: 0;
    height: 8px;
    width: 8px;
    left: 5px;
  }
  input[type="submit"] {
    margin: 40px auto 0;
    text-align: center;
    display: block;
    padding: 8px 27px;
    border: none;
    font-size: 12px;
    line-height: 24px;
    font-weight: bold;
    background-color: #F5F5F5;
    color: #010101;
  }
}
@media screen and (max-width:767px) {
  .contactpage section.pageheader { padding: 130px 0 0; }
  .contactpage .content { padding: 40px 20px 80px; }
  .formlink div,
  .formlink div a { font-size: 12px;  width: 100%; padding: 0; }
  .formlink div.active { padding: 20px 0; }
  .formlink div a {
    display: block;
    width: 100%;
    padding: 20px 0;
  }
  .form_con { margin: 40px auto 0; }
  .contactpage table tr th { margin: 0 0 8px; width: 100%; padding: 0; }
  .contactpage table tr td { margin: 0 0 32px; width: 100%; padding: 0; }
  .contactpage table tr td input[type="text"],
  .contactpage table tr td input[type="email"] { height: 40px; border: none; padding: 0; width: 100%; }
  textarea { width: 100%; padding: 0; }
  .contactpage table tr th,
  .contactpage table tr td,
  .contactpage .contactmessage p { font-size: 14px; }
  .contactpage .mwform-radio-field input { margin-right: 16px; }
  input[type="radio"]::before, input[type="radio"]::after{
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 15px;
  }
  input[type="radio"] {
    width: 24px;
    height: 24px;
    border-radius: 100px;
    position: relative;
    vertical-align: sub;
    margin-right: 5px;
  }
  input[type="radio"]::before {
    background-color: #fff;
    border: 1px solid #c2c1c1;
    height: 24px;
    width: 24px;
    left: 0px;
  }
  input[type="radio"]::after {
    background-color: #C12A2B;
    opacity: 0;
    height: 10px;
    width: 10px;
    left: 8px;
  }
  input[type="submit"] {
    margin: 54px auto 0;
    text-align: center;
    display: block;
    padding: 8px 27px;
    border: none;
    font-size: 12px;
    line-height: 24px;
    font-weight: bold;
    background-color: #F5F5F5;
    color: #010101;
  }
}
.contactpage div,
.contactpage table tr th,
.contactpage table tr td,
.contactpage span { color: #F5F5F5; }
.contactpage h2 { margin-bottom: 0; }
.contactpage .contactmessage p { margin-bottom: 16px; }
.contactpage .contactmessage { width: 100%; }
.checkpri span,
.contactpage label span { font-size: 16px; }
input[type=radio] {
 border: 1px solid #f5f5f5;
}
.formlink {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 40px;
  text-align: center;
  justify-content: space-around;
}
.formlink div.active { background-color: #F5F5F5; color: #010101; }
.formlink div.com {
  border: 1px solid #f5f5f5;
  border-radius: 99px 0 0 99px;
}
.formlink div.per {
  border: 1px solid #f5f5f5;
  border-radius: 0 99px 99px 0;
}
input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="radio"]:checked::after { opacity: 1; }
input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }

/* 404 */
@media screen and (min-width:768px) {
  main.errorpage h2 { line-height: 70px; margin-bottom: 40px; }
  main.errorpage h2 span { font-size: 32px; }
}
@media screen and (max-width:767px) {
  main.errorpage h2 { font-size: 80px; line-height: 60px; letter-spacing: 0.08em; }
  main.errorpage h2 span { font-size: 24px; letter-spacing: 0.12em; }
}
body.page-template-pagetemplate-comingsoon,
body.error404 {
  position: relative;
  min-height: 100vh;
  background-color: #C12A2B;
}
body.page-template-pagetemplate-comingsoon footer,
body.error404 footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

main.errorpage section.pageheader { padding: 160px 0 120px; }
main.errorpage p.link { margin-top: 24px; }

/* カレンダー　テスト用 */
main.top h2.polite,
h2[aria-live="polite"] {
  font-size: 24px !important;
  color: #010101;
}

/* イベントカレンダーのレスポンシブ設定を上書き */
@media only screen and (max-width: 767px) {
  /* カレンダーテーブルの横スクロールを有効化 */
  /* .eo-fullcalendar-responsive {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
  } */

  .main_schedule .table {
    overflow-x: scroll;
  }

  /* テーブルの縮小を防止 */
  .eo-fullcalendar {
      /* min-width: 800px;
      width: 100%; */
      table-layout: fixed;
  }

  /* セルのサイズと表示を維持 */
  .eo-fullcalendar td {
      min-width: auto;
      height: auto;
      display: table-cell !important;
  }

  /* イベントの表示を調整 */
  .eo-fullcalendar .fc-event {
      font-size: 14px;
      margin: 1px 0;
  }

  /* 日付の表示を調整 */
  .eo-fullcalendar .fc-day-number {
      font-size: 14px;
      margin: 2px;
  }

  /* ヘッダーの表示を維持 */
  .eo-fullcalendar th {
      display: table-cell !important;
      font-size: 14px;
  }

  /* .fc .fc-toolbar>*>*,
  .fc-toolbar .fc-right {
    float: left !important;
  } */

  .fc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .fc-center,
  .fc-clear {
    display: none!important;
  }

  .fc-view-container {
    overflow-x: scroll;
  }
  .fc-view {
    min-width: 800px;
    width: 100%;
  }
}

/* 2025/02/13以降 pickuとカレンダーの追加 */
/* pickup */
.pickup-news_content {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列 (同じ幅) */
  gap: 2vw;
  margin-bottom: 80px;
}
.pickup-news_content .newsbox .eyecatch {
  margin-bottom: 15px;
}
.pickup-news_content .newsbox .title {
  display: block;
  margin-top: 5px;
}
.read-more a {
  display: inline-block;
  letter-spacing: 3px;
  border-bottom: 2px solid #010101;
}
.newslist-title .content {
  padding-bottom: 0;
}
.newslist-title .content h2 {
  margin-bottom: 0;
}
.newspage-pickup {
  position: relative;
  overflow: hidden;
}
.newspage-pickup::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  border-top: 10vw solid #C12A2B;
  border-right: 100vw solid transparent;
}
.newspage-pickup::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 10vw solid #C12A2B;
  border-left: 100vw solid transparent;
}
.newspage-pickup h2 {
  font-size: 50px;
  line-height: 1.5;
}
.newspage-pickup .pickup-news_content {
  display: block;
}
.newspage .newspage-pickup .newsbox div,
.newspage .newspage-pickup .newsbox div a {
  color: #010101;
}
@media screen and (max-width:767px) {
  .pickup-news_content {
    display: block;
  }
  .pickup-news_content .newsbox {
    margin-bottom: 50px;
  }
  section.main_pro::before {
    display: none;
  }
  .newslist-title .content {
    padding-bottom: 80px;
  }
  .newspage-pickup::before {
    border-right: none;
    border-left: 100vw solid transparent;
  }
  .newspage-pickup h2 {
    font-size: 40px;
  }
  .newspage-pickup h2 span {
    letter-spacing: 1px;
  }
  .newspage-pickup::after {
    display: none;
  }
}
/* カレンダー */
.main_schedule {
  position: relative;
}
.main_schedule::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  border-top: 10vw solid #C12A2B;
  border-right: 100vw solid transparent;
}
.schedule-title h2 {
  margin-bottom: 0;;
}
.schedulepage .content {
  padding-top: 300px;
}
.sche-text {
  line-height: 2.5;
}
main.top .main_schedule .content .table h2 {
  margin-bottom: 0;
  line-height: 2;
}
.main_schedule .content .table {
  margin-top: 30px;
}
#eo_fullcalendar_1 {
  font-size: 15px;
}
.fc .fc-button-group>* {
  background-color: #fff;
  box-shadow: none;
  text-shadow: none;
  border: none;
  color: rgba(0,0,0,0.25);
  border-top: 1px solid #e0e0e0;
  font-weight: bold;
}
.fc-toolbar .fc-state-active, .fc-toolbar .ui-state-active {
  color: #010101;
}
.fc-sun {
  color: #C12A2B;
}
.fc-sat {
  color: #0578B9;
}
.fc-basic-view tbody .fc-row.fc-week.fc-widget-content {
  min-height: 8em;
}
.fc td.fc-day.fc-widget-content {
  border: none;
  border-top: 1px solid #e0e0e0;
}
.fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed hr, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
  background-color: #fff;
  border: none;
}
.fc th.fc-day-header.fc-widget-header {
  border: none;
  text-align: end;
  padding-right: 10px!important;
}
.fc-ltr .fc-basic-view .fc-day-number {
  padding: 10px!important;
  line-height: 1;
}
.fc-event.fc-draggable, .fc-event[href] {
  padding: 0 5px;
}
td.fc-event-container a .fc-content span{
  color: #fff;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: normal;
  line-height: 1;
}
/* カレンダー詳細ページ */
.schedule_singlepage .main_schedule h2 {
  font-size: 60px;
  line-height: 1.3;
  font-weight: normal;
}
.schedule_singlepage .main_schedule .content {
  padding-top: 180px;
}
.schedule_singlepage .main_schedule .sub_content {
  color: #fff;
  max-width: none;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 40px 0;
  margin-bottom: 100px;
}
.schedule_singlepage .main_schedule .sub_content span {
  font-size: 1.2rem;
  display: block;
  margin-bottom: 20px;
}
.request .content p:first-child {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
td.fc-event-container {
  position: relative;
}
td.fc-event-container::before {
  content: "";
  position: absolute;
  top: -35.5px;
  left: auto;
  width: 100%;
  height: 119px;
  background: #ececec;
  border-top: 1px solid #C12A2B;
  z-index: -1;
}
/* 次月前月ボタン */
.fc-prev-button {
  margin-right: 5px!important;
}
.fc-next-button {
  margin-right: 20px!important;
}
.fc-icon-left-single-arrow:after {
  content: "<"!important;
  font-weight: 200!important;
  vertical-align: middle;
}
.fc-icon-right-single-arrow:after {
  content: ">"!important;
  font-weight: 200!important;
  vertical-align: middle;
}
@media screen and (max-width:767px) {
  section.pageheader.schedule-title {
    padding-bottom: 50px;
  }
  .schedulepage .content {
    padding-top: 100px;
  }
  main.top h2.polite, h2[aria-live="polite"] {
    font-size: 20px!important;
  }
  .schedule_singlepage .main_schedule h2 {
    font-size: 20px;
    line-height: 1.8;
  }
  .schedule_singlepage .main_schedule .sub_content span {
    margin-bottom: 10px;
  }
  .qtip {
    display: none!important;
  }
}
/* 試合結果 */
.overtime-pk_content {
  display: block;
}
.match_table table tr td.overtime,
.match_table table tr td.pk {
  padding-top: 0;
  padding-bottom: 22px;
}
.overtime .overtime-on,
.pk .pk-on {
  background: #D3D3D5;
  color: #010101;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  padding: 8px 8px;
  min-width: auto;
  margin-top: -30px;
}
.match_table table .overtime_result_custom,
.match_table table .pk_result_custom,
.match_table table .overtime_result_custom .scorepo,
.match_table table .pk_result_custom .scorepo {
  font-size: 14px;
  margin-top: -30px;
}
.match_table table .overtime_result_custom .scorepo,
.match_table table .pk_result_custom .scorepo {
  padding-left: 5px;
  vertical-align: baseline;
}
.score.pk {
  padding-left: 50px;
}
/* 改行のためのスタイル */
.match_table table tr td.line-break {
  width: 100%;
  padding: 0;
}
@media screen and (max-width:767px) {
  .match_table table .overtime_result_custom,
  .match_table table .pk_result_custom {
    width: 100%;
    margin-bottom: 20px;
    margin-top: 0;
  }
  .score.pk {
    padding: 0;
    margin-top: 15px;
  }
  .match_table table tr td.overtime, .match_table table tr td.pk {
    padding-bottom: 5px;
  }
  .match_table table tr td.overtime {
    margin-top: -20px;
  }
  .overtime .overtime-on,
  .pk .pk-on {
    margin-top: 0px;
  }
}
/* 2025/02/26追加 */
section.main_pro h2.maincatch {
  margin-top: 100px;
}
section.main_schedule h2.maincatch {
  margin-top: 100px;
}
@media screen and (max-width:767px) {
  section.main_pro h2.maincatch {
    margin-top: 0;
  }
  section.main_schedule h2.maincatch {
    margin-top: 0;
  }
}
/* 2025/08/01追加 */
/* .checkpri {
  display: none;
}
.contactmessage + p {
  display: none;
} */