@charset "UTF-8";

b, strong {
  font-weight: bold;
}

p + p {
  margin-top: 1em;
}

select > optgroup:empty {
  display: none;
}

header.l-header {
  position: revert;
}
main.l-main {
  padding-top: 0;
  min-height: 80vh;
}

.p-bnrTop__inner .swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.p-bnrTop__inner .swiper:not(.swiper-initialized) .swiper-wrapper > .swiper-slide {
  width: 35%;
}
.p-bnrTop__inner .swiper:not(.swiper-initialized) .swiper-wrapper > .swiper-slide > a > img {
  max-height: 150px;
}

.p-bnrTop__inner ul {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px 0px;
}
.p-bnrTop__inner ul > li {
  width: 30%;
  display: inline-flex;
  align-items: center;
}
.p-bnrTop__inner ul > li > a {
  display: inline-block;
  width: 100%;
}

.p-supporter__lists ul > li > a > img {
  max-height: 120px;
}


.simple-style h1,
.simple-style h2,
.simple-style h3,
.simple-style h4,
.simple-style h5,
.simple-style h6 {
  margin: revert;
}
.simple-style a {
  color: revert;
  text-decoration: underline;
}
.simple-style em {
  font-style: revert;
}
.simple-style ul,
.simple-style ol,
.simple-style li {
  list-style: revert;
  padding: revert;
  margin: revert;
}

/* ----- ajax通信の待機演出 ----- */
body.ajax-pending::before {
  content: "";
  z-index: 500;
  position: fixed;
  display: inline-block;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(15, 15, 15, 0.25);
}
body.ajax-pending::after {
  content: "";
  z-index: 500;
  position: fixed;
  display: inline-block;
  top: 50%;
  left: 50%;
  width: 20%;
  height: 20%;
  background-image: url("/wp/wp-content/themes/pop/assets/load_anime.svg");
  background-position: center;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%) rotate(0deg);
  animation: ajax-pending 1s linear 0s infinite normal none;
}
@keyframes ajax-pending {
  0%{transform: translate(-50%, -50%) rotate(0deg);}
  100%{transform: translate(-50%, -50%) rotate(359deg);}
}
/* ----- ajax通信の待機演出 ----- */


/* ----- カスタム要素のスタイル ----- */
.custom-element-style {
  font-weight: normal !important;
}
.custom-element-style b {
  font-weight: bold !important;
}
.custom-element-style a {
  color: revert;
  text-decoration: underline;
}
/* ----- カスタム要素のスタイル ----- */


/* ----- 郵便番号検索ダイアログ ----- */
form#zipcode-search-form dialog {
  background-color: #FFF;
  padding: 20px 40px;
  margin: auto;
  width: 1000px;
  max-width: 90vw;
  text-align: center;
}
form#zipcode-search-form dialog > h2 {
  font-size: 1.5rem;
}
form#zipcode-search-form dialog > ul {
  display: inline-block;
  text-align: left;
}
form#zipcode-search-form dialog > ul > li {
  margin: 10px 0;
}
form#zipcode-search-form dialog > ul > li > a {
  text-decoration: underline;
  color: #08F;
}
form#zipcode-search-form dialog > ul > li > a > span:nth-child(1) {
  display: none;
}
form#zipcode-search-form dialog > ul > li > a > span:nth-child(2)::after {
  content: " ";
}
/* ----- 郵便番号検索ダイアログ ----- */


/* ----- 汎用フロント登録フォーム ----- */
.front-regist-form {
  min-width: 200px;
  margin: 1em auto;
  background-color: #EEE;
  padding: 1em;
  border-radius: 10px;
}
.front-regist-form.confirm{
  border-style: solid;
  border-width: 10px;
  border-image-source: linear-gradient(45deg, #000 0%, #000 10%, #FF0 10%, #FF0 20%, #000 20%, #000 30%, #FF0 30%, #FF0 40%, #000 40%, #000 50%, #FF0 50%, #FF0 60%, #000 60%, #000 70%, #FF0 70%, #FF0 80%, #000 80%, #000 90%, #FF0 90%, #FF0 100%);
  border-image-slice: 1;
}
.front-regist-form > h2 {
  font-size: 1.3em;
  border-top: solid 3px #000;
  padding-top: 0.5em;
  margin-bottom: 0.5em;
}
.front-regist-form > h3 {
  font-size: 1.15em;
  border-top: solid 1px #000;
  padding-top: 0.75em;
  margin-bottom: 0.5em;
}
.front-regist-form > h2 + *,
.front-regist-form > h3 + * {
  border-top: none !important;
}
.front-regist-form label {
  display: block;
}
.front-regist-form label + *:has(+ p.erm) {
  width: 100%;
  outline: solid 1px #000;
}
.front-regist-form label + input[type=text]:has( + p.erm:not(:empty)),
.front-regist-form label + input[type=email]:has( + p.erm:not(:empty)),
.front-regist-form label + input[type=tel]:has( + p.erm:not(:empty)),
.front-regist-form label + input[type=password]:has( + p.erm:not(:empty)),
.front-regist-form label + input[type=date]:has( + p.erm:not(:empty)),
.front-regist-form label + input[type=time]:has( + p.erm:not(:empty)),
.front-regist-form label + textarea:has( + p.erm:not(:empty)),
.front-regist-form label + select:has( + p.erm:not(:empty)) {
  background-color: #fcc;
}
.front-regist-form p.info {
  margin: 0.5em 0;
}
.front-regist-form p.erm {
  color: #F00;
  font-weight: bold;
  line-height: 1;
  margin-top: 5px;
}
.front-regist-form > div,
.front-regist-form > label + * + p.erm {
  margin-bottom: 2em;
}
.front-regist-form *[disabled],
.front-regist-form *[readonly] {
  border: none !important;
  outline: none !important;
  color: #000;
}

.front-regist-form label + textarea:has( + p.erm) {
  word-break: break-all;
  resize: none;
  height: 9em;
}

.front-regist-form label + input.short-num[type=tel] {
  width: 5rem;
  margin: 0.5rem;
  text-align: right;
}

/* ----- 半分サイズ -----*/
.front-regist-form div.half > * {
  width: 50% !important;
  margin-right: auto;
}
/* ----- 半分サイズ -----*/

/* ----- 横並び ----- */
.front-regist-form div.side-by-side {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.front-regist-form div.side-by-side:has(> div:first-child + div:last-child) > div {
  width: 47%;
}
.front-regist-form div.side-by-side:has(> div:nth-of-type(3):last-child) > div {
  width: 30%;
}
@media (width <= 768px) {
  .front-regist-form div.side-by-side {
    flex-direction: column;
    gap: 0.5em;
  }
  .front-regist-form div.side-by-side > div {
    width: auto !important;
  }
}
/* ----- 横並び ----- */

/* ----- 郵便番号検索 ----- */
.front-regist-form div.zipcode-search > label {
  display: block;
}
.front-regist-form div.zipcode-search > input[type=tel] {
  width: 6em;
  outline: solid 1px #000;
}
.front-regist-form div.zipcode-search > input[type=tel]:has(+ button + p.erm:not(:empty)){
  background-color: #fcc;
}
.front-regist-form div.zipcode-search > button {
  margin-left: 10px;
  border: solid 1px #000;
}
.front-regist-form div.zipcode-search > button:disabled {
  display: none;
}
.front-regist-form div.zipcode-search > input[type=text][readonly] {
  margin: 1em 0;
  border: none;
  outline: none;
  width: 100%;
}
.front-regist-form div.zipcode-search > input[type=tel] + button + p.erm:not(:empty) ~ input[type=text][readonly] {
  background-color: #fcc;
}
.front-regist-form div.zipcode-search > dialog {
  width: 80vw;
  height: 80vh;
  position: fixed;
  margin: auto;
  background-color: #FFF;
  border: solid 4px #000;
  padding: 3em 1em 0.5em 1em;
  overflow: hidden;
  text-align: center;
}
.front-regist-form div.zipcode-search > dialog::before {
  content: "住所を選択してください";
  position: absolute;
  width: 100%;
  left: 0;
  top: 0.5em;
  font-weight: bold;
  font-size: 1.25em;
}
.front-regist-form div.zipcode-search > dialog > ul {
  height: 100%;
  overflow: auto;
  border-top: solid 1px #000;
}
.front-regist-form div.zipcode-search > dialog > ul > li {
  padding: 0.5em 0;
}
.front-regist-form div.zipcode-search > dialog > ul > li > a {
  color: revert;
  text-decoration: underline;
}
/* ----- 郵便番号検索 ----- */

/* ----- イニング表 ----- */
.inning-scoreboard {
  background-color: #070;
  color: #FFF;
  counter-reset: inning-cnt;
}
.inning-scoreboard > div:nth-child(1) {
  padding-top: 2em;
  padding-bottom: 0.5em;
  overflow: auto;
}
.inning-scoreboard > div:nth-child(1) > ul {
  display: inline-flex;
  flex-direction: column;
  flex-wrap: wrap;
  width: max-content;
  height: 6em;
  border: solid 2px #FFF;
  margin: 0 2em;
}
.inning-scoreboard > div:nth-child(1) > ul > li {
  display: flex;
  align-items: center;
  height: 50%;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(1),
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(2) {
  padding: 0 0.5em;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(n + 3) {
  border-left: solid 2px #FFF;
  justify-content: center;
  width: 5em;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(odd) {
  border-bottom: solid 2px #FFF;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(2n + 3) {
  position: relative;
  counter-increment: inning-cnt;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-child(2n + 3)::before {
  content: counter(inning-cnt);
  position: absolute;
  top: -1.8em;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-last-child(1),
.inning-scoreboard > div:nth-child(1) > ul > li:nth-last-child(2) {
  width: auto;
  min-width: 4em;
  padding: 0 1em;
}
.inning-scoreboard > div:nth-child(1) > ul > li:nth-last-child(2)::before {
  content: "R";
}
.front-regist-form .inning-scoreboard > div:nth-child(1) > ul > li > input {
  color: #000;
  outline: solid 1px #000;
  width: 3em;
  text-align: center;
  padding-left: 0;
  padding-right: 0;
}
.front-regist-form .inning-scoreboard > div:nth-child(2) {
  display: flex;
  justify-content: space-between;
  padding: 1em 0.5em;
}
.front-regist-form .inning-scoreboard > div:nth-child(2) > button {
  border-radius: 5px;
  padding: 0.5em;
  color: #000;
  background-color: #FFF;
  box-shadow: 4px 4px;
}
/* ----- イニング表 ----- */


/* ----- 規約系の同意 ----- */
.front-regist-form div.agreement {
  text-align: center;
}
.front-regist-form div.agreement > h3 {
  text-align: left;
}
.front-regist-form div.agreement > h3 + div {
  height: 20em;
  overflow-y: scroll;
  border: solid 1px #000;
  padding: 10px;
  text-align: left;
  margin-bottom: 0.5em;
  background-color: #FFF;
}
.front-regist-form div.agreement > h3 + div + input + label {
  display: inline;
  padding-left: 0.25em;
}
/* ----- 規約系の同意 ----- */


/* ----- 画像アップロード ----- */
.front-regist-form div.img-upload {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: 800px;
  margin: auto;
  padding-bottom: 1em;
}
.front-regist-form div.img-upload > p {
  width: 100%;
  margin-bottom: 0.5em;
}
.front-regist-form div.img-upload > div {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 1em;
}
.front-regist-form div.img-upload > div:nth-of-type(1) {
  border-right: solid 2px #888;
  padding-right: 5px;
}
.front-regist-form div.img-upload > div:nth-of-type(1)::before {
  content: "現在の画像";
  margin-bottom: 10px;
}
.front-regist-form div.img-upload > div:nth-of-type(1):has(> img[src=""])::after {
  content: "未設定";
  padding: 20px;
}
.front-regist-form div.img-upload > div:nth-of-type(1) > img:has(+ label > input[type=checkbox]:checked) {
  opacity: 0.5;
}
.front-regist-form div.img-upload > div:nth-of-type(2) {
  padding-left: 5px;
}
.front-regist-form div.img-upload > div:nth-of-type(2)::before {
  content: "アップロードする画像";
  margin-bottom: 10px;
}
.front-regist-form div.img-upload > div:nth-of-type(1):has( > label > input[type=checkbox]:checked) + div:nth-of-type(2) {
  opacity: 0.0;
}
.front-regist-form div.img-upload > div > * {
  max-width: 100%;
}
.front-regist-form div.img-upload > div > img,
.front-regist-form div.img-upload > div > canvas {
  max-height: 200px;
  width: auto;
  height: auto;
}
.front-regist-form div.img-upload > div:nth-of-type(1) > img[src=""],
.front-regist-form div.img-upload > div:nth-of-type(1) > img[src=""] + label {
  display: none;
}
/* ----- 画像アップロード ----- */


/* ----- 送信ボタン ----- */
.front-regist-form div.front-regist-form-submit {
  text-align: center;
  margin: 2em 0;
}
.front-regist-form div.front-regist-form-submit > button {
  border: solid 1px #000;
}
.front-regist-form div.front-regist-form-submit > button:disabled {
  box-shadow: none;
  background-color: #ccc;
}
/* ----- 送信ボタン ----- */
/* ----- 汎用フロント登録フォーム ----- */


/* ----- チーム管理者 チームの活動履歴 ポップアスリートカップ ----- */
ul#manager-team-history-popathletecup {
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
}
ul#manager-team-history-popathletecup > li {
  margin: 1em 0;
}
ul#manager-team-history-popathletecup > li > a {
  
}
ul#manager-team-history-popathletecup > li > a + ul {
  border-top: solid 1px #000;
  margin-top: 0.3em;
}
ul#manager-team-history-popathletecup > li > a + ul > li {
  
}
ul#manager-team-history-popathletecup > li > a + ul > li > a {
  
}
ul#manager-team-history-popathletecup > li > a + ul > li > a + ul {
  border-top: solid 1px #000;
}
ul#manager-team-history-popathletecup > li > a + ul > li > a + ul > li {
  border-bottom: dashed 1px #000;
}
ul#manager-team-history-popathletecup > li > a + ul > li > a + ul > li > a {
  
}
ul#manager-team-history-popathletecup a {
  color: revert;
}
ul#manager-team-history-popathletecup li {
  padding: 0.5em 0 0.5em 1em;
}
/* ----- チーム管理者 チームの活動履歴 ポップアスリートカップ ----- */


/* ----- チーム管理者 チームの活動履歴 マッチング ----- */
ul#manager-team-history-matching {
  border-top: solid 2px #000;
  border-bottom: solid 2px #000;
  padding: 1em;
}
ul#manager-team-history-matching > li {
  padding: 0.5em 0 0.5em 1em;
  border-bottom: dashed 1px #000;
}
ul#manager-team-history-matching > li > a {
  color: revert;
}
/* ----- チーム管理者 チームの活動履歴 マッチング ----- */


/* ----- チーム管理者 チームステータス ----- */
dl#manager-team-status {
  display: flex;
  width: fit-content;
  min-height: 200px;
  border: solid 4px #000;
  border-radius: 10px;
  background-color: #FFF;
  margin: 2em auto;
}
dl#manager-team-status a {
  color: revert;
  text-decoration: underline;
}
dl#manager-team-status > * {
  padding: 1em;
  min-width: 300px;
}
dl#manager-team-status > dt {
  display: flex;
  flex-direction: column;
  border-right: solid 2px #000;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}
dl#manager-team-status > dd > dl {
  margin-bottom: 1em;
}
dl#manager-team-status > dd > dl > dt {
  padding: 0.25em 0.5em;
  margin-bottom: 0.25em;
  font-weight: bold;
  background-color: #FA0;
  border-radius: 10px;
}
dl#manager-team-status > dd > dl > dd {
  padding-left: 1em;
}
@media (width <= 768px) {
  dl#manager-team-status {
    width: 300px;
    max-width: 100%;
    flex-direction: column;
  }
  dl#manager-team-status > * {
    width: 100%;
    min-width: unset;
  }
  dl#manager-team-status > dt {
    border-right: none;
  }
}
/* ----- チーム管理者 チームステータス ----- */


/* ----- チーム管理者 大会エントリー状況 ----- */
ul#manager-entry-workflow {
  text-align: left;
  margin: 1em auto 0 auto;
  width: fit-content;
}
ul#manager-entry-workflow > li {
  position: relative;
  margin: 0.5em 0;
}
ul#manager-entry-workflow > li::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  border: solid 2px;
  margin-right: 0.5em;
}
ul#manager-entry-workflow > li.complete::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1.5em;
  height: 0.8em;
  left: 0;
  border-left: solid 5px #000;
  border-bottom: solid 5px #000;
  transform: rotate(-45deg);
}
/* ----- チーム管理者 大会エントリー状況 ----- */


/* ----- ログインフォーム ----- */
form#login-form {
  width: 80%;
  margin: 1em auto;
  background-color: #FFF7EF;
  border: solid 3px #F60;
  border-radius: 10px;
  padding: 2em 1em 1em 1em;
}
form#login-form > * {
  max-width: 100%;
}
form#login-form > p:first-child {
  color: red;
  margin-bottom: 1em;
}
form#login-form > p:first-child:empty {
  display: none;
}
form#login-form > label,
form#login-form > input,
form#login-form > select {
  display: block;
  width: 400px;
  margin-left: auto;
  margin-right: auto;
}
form#login-form > input,
form#login-form > select {
  box-sizing: border-box;
  border: solid 1px #000;
}
form#login-form > input:has( + label),
form#login-form > select:has( + label) {
  margin-bottom: 2em;
}
form#login-form > select:has( + input) {
  margin-bottom: 0.5em;
}
form#login-form > button[type=submit] {
  display: block;
  margin: 3em auto;
  border: solid 1px #000;
}
@media (width <= 768px) {
  form#login-form {
    width: auto;
  }
  form#login-form > label,
  form#login-form > label + input {
    max-width: 100%;
  }
}
/* ----- ログインフォーム ----- */


/* ----- フロント 簡易お知らせ ----- */
.front-notice {
  width: 80%;
  margin: 2em auto;
  background-color: #FFF;
  border: solid 2px #000;
  padding: 1em;
}
.front-notice > h2:first-child {
  margin-bottom: 0.5em;
}
.front-notice a {
  color: revert;
  text-decoration: underline;
}
@media (width <= 768px) {
  .front-notice {
    width: auto;
  }
}
/* ----- フロント 簡易お知らせ ----- */


form.simple-form {
  width: 80%;
  margin: auto;
  max-width: 500px;
}
form.simple-form div:has(> label ~ p + input),
form.simple-form div:has(> label ~ p + textarea),
form.simple-form div:has(> label ~ p + select),
form.simple-form div:has(> label ~ p + img + input[type=file]) {
  margin-top: 15px;
  padding-bottom: 15px;
  border-bottom: solid 1px #000;
}
form.simple-form div:has(> label:first-child ~ p + input) > label,
form.simple-form div:has(> label:first-child ~ p + textarea) > label,
form.simple-form div:has(> label:first-child ~ p + select) > label,
form.simple-form div:has(> label:first-child ~ p + img + input[type=file]) > label {
  display: block;
}
form.simple-form div:has(> label:first-child ~ p + input) > p,
form.simple-form div:has(> label:first-child ~ p + textarea) > p,
form.simple-form div:has(> label:first-child ~ p + select) > p,
form.simple-form div:has(> label:first-child ~ p + img + input[type=file]) > p {
  color: red;
}
form.simple-form div:has(> label:first-child ~ p + input) > p:empty,
form.simple-form div:has(> label:first-child ~ p + textarea) > p:empty,
form.simple-form div:has(> label:first-child ~ p + select) > p:empty,
form.simple-form div:has(> label:first-child ~ p + img + input[type=file]) > p:empty {
  display: none;
}
form.simple-form div:has(> label:first-child ~ p + input) > input,
form.simple-form div:has(> label:first-child ~ p + textarea) > textarea {
  width: 100%;
  box-sizing: border-box;
}
form.simple-form div:has(> label:first-child ~ p + img + input[type=file]) > img {
  display: block;
  margin: 10px auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 200px;
}
form.simple-form div:has(> label:first-child ~ p + input) > p:not(:empty) ~ input,
form.simple-form div:has(> label:first-child ~ p + textarea) > p:not(:empty) ~ textarea,
form.simple-form div:has(> label:first-child ~ p + select) > p:nth-of-type(1):not(:empty) ~ select:nth-of-type(1),
form.simple-form div:has(> label:first-child ~ p + select) > p:nth-of-type(2):not(:empty) ~ select:nth-of-type(2),
form.simple-form div:has(> label:first-child ~ p + select) > p:nth-of-type(3):not(:empty) ~ select:nth-of-type(3) {
  background-color: #fcc;
}
form.simple-form div.zipcode-search-input > input:nth-of-type(1) {
  width: 7em;
}
form.simple-form div.zipcode-search-input > input:nth-of-type(5) {
  margin: 5px 0;
  background-color: inherit !important;
}


form.simple-form div:has(> button[type=submit]) {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
}
form.simple-form div:has(> button[type=submit]) > button[type=submit] {
  border: solid 1px #000;
}

table.prot-table {
  width: 100%;
  border-collapse: collapse;
}
table.prot-table > tbody > tr {
  border-bottom: solid 1px #000;
}
table.prot-table > tbody > tr > * {
  padding-top: 10px;
}
table.prot-table > tbody > tr > th {
  padding-right: 10px;
  text-align: right;
}


input.after-password:not([type=password]) {
  visibility: hidden;
}


/* ----- ページタイトル ----- */
main > section:first-child > h1:first-child {
  font-size: 1.5em;
  margin-bottom: 1.5em;
  border-left: solid 5px #888;
  border-bottom: solid 2px #888;
  width: fit-content;
  padding: 0 0.5em 0.1em 0.7em;
}
main > section:first-child > h1:first-child > br {
  display: none;
}
main > section:first-child > h1:first-child > img {
  width: 100px;
  height: auto;
  margin-right: 1em;
}
@media (width <= 768px) {
  main > section:first-child > h1:first-child > br {
    display: initial;
  }
}
/* ----- ページタイトル ----- */


/* ----- セクション間マージン ----- */
main > section:first-child {
  margin-top: 20px;
}
.c-container > section + section {
  margin-top: 50px;
}
/* ----- セクション間マージン ----- */



/* ----- 会員メニュー ----- */
ul.member-menu {
  display: flex;
  flex-wrap: wrap;
  max-width: 800px;
  margin: 20px auto;
  gap: 10px;
}
ul.member-menu > li {
  width: calc(50% - 5px);
  border: solid 2px #00F;
  border-radius: 10px;
  background: radial-gradient(circle at 25% 25%,#FFF, #7ECBFF);
}
ul.member-menu > li.w-full {
  width: 100%;
}
ul.member-menu > li.red {
  border: solid 2px #F00;
  background: radial-gradient(circle at 25% 25%,#FFF, #FFCB7E);
}
ul.member-menu > li > a {
  display: flex;
  position: relative;
  padding: 2em 4.5em;
  color: #00f;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  height: 100%;
}
ul.member-menu > li > a > span.material-icons {
  /* position: absolute;
  right: 0.1em;
  bottom: 0.2em;
  font-size: 4em;
  opacity: 0.5; */

  position: absolute;
  right: -0.1em;
  bottom: -0.1em;
  font-size: 6.5em;
  opacity: 0.5;
  transform: rotate(-24deg);
  animation: member-menu-icon 0.5s linear 0s 1 normal none;
  transition-property: right;
  transition-duration: 0.25s;
  transition-timing-function: ease-out;
}
ul.member-menu > li > a:hover > span.material-icons,
ul.member-menu > li > a:focus > span.material-icons {
  right: 0.1em;
}
ul.member-menu > li.red > a {
  color: #f00;
}
ul.member-menu > li.h-auto > a {
  height: auto;
}
ul.member-menu > li.nowrap > a > br {
  display: none;
}
@media (width <= 768px) {
  ul.member-menu > li {
    width: 100%;
  }
  ul.member-menu > li > a {
    font-size: 1em;
  }
}
@keyframes member-menu-icon {
  0%{transform: translateX(100%) rotate(-24deg);}
  100%{transform: translateX(0%) rotate(-24deg);}
}
/* ----- 会員メニュー ----- */



/* ----- 通常のメニュー -----*/
ul.normal-menu {
  display: flex;
  margin: auto;
  max-width: 700px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
ul.normal-menu > li {
  border: solid 2px #000;
  border-radius: 10px;
  margin: 1em 0;
  min-width: 30%;
  background-color: #FFF;
}
ul.normal-menu > li > a {
  color: revert;
  padding: 0.5em 1em;
  display: block;
  text-align: center;
}
/* ----- 通常のメニュー -----*/


/* ----- リスト型メニュー -----*/
ul.list-menu {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  max-width: 700px;
  justify-content: space-around;
  align-items: center;
}
ul.list-menu > li {
  margin: 1em 0;
  width: 40%;
  border-bottom: solid 2px #555;
  list-style: disc;
  list-style-position: inside;
}
ul.list-menu > li > a {
  color: revert;
  padding: 0.5em 0;
  display: inline-block;
  text-align: left;
}
@media (width <= 768px) {
  ul.list-menu {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: normal;
  }
  ul.list-menu > li {
    width: auto;
  }
}
/* ----- 通常のメニュー -----*/

/* ----- 登録確認テーブル ----- */
table.regist-confirm-table {
  width: 100%;
  max-width: 700px;
  border-collapse: collapse;
  margin: 20px auto 40px auto;
}
table.regist-confirm-table > caption {
  text-align: left;
  font-weight: bold;
  font-size: 1.5em;
}
table.regist-confirm-table > tbody {

}
table.regist-confirm-table > tbody > tr {
  border-bottom: solid 1px #000;
}
table.regist-confirm-table > tbody > tr > * {
  padding-top: 10px;
  padding-bottom: 10px;
  width: 50%;
}
table.regist-confirm-table > tbody > tr > th {
  white-space: nowrap;
  padding-left: 10px;
  padding-right: 10px;
  text-align: right;
}
table.regist-confirm-table > tbody > tr > th + td {
  text-align: left;
  padding-right: 10px;
}
/* ----- 登録確認テーブル ----- */



/* ----- ポップアスリートカップページ ----- */
section#single-popathletecup {
  margin-bottom: 1em;
}
section#single-popathletecup > div:nth-child(2) {
  position: relative;
  margin-left: auto;
  min-height: 100vh;
  width: calc(100% - 240px);
  box-sizing: border-box;
  border: solid 2px #000;
  padding: 1em;
  background-color: #FFF;
  border-radius: 10px;
}
@media (width <= 768px) {
  section#single-popathletecup > div:nth-child(2) {
    width: 100%;
    margin-left: 0;
  }
}
/* ----- ポップアスリートカップページ ----- */



/* ----- ポップアスリートカップページサイドバー ----- */
ul#sidebar-popathletecup {
  position: sticky;
  border: solid 2px #000;
  border-radius: 10px;
  padding: 5px 10px;
  float: left;
  margin-left: 10px;
  top: 90px;
  width: 220px;
  background-color: #FFF;
  list-style-type: disc;
}
ul#sidebar-popathletecup > li {
  border-bottom: solid 1px #000;
  padding: 3px 8px;
  margin-bottom: 5px;
}
ul#sidebar-popathletecup > li > a {
  display: block;
  color: revert;
}
@media (width <= 768px) {
  ul#sidebar-popathletecup {
    display: flex;
    position: static;
    flex-wrap: wrap;
    margin-left: 0;
    margin-bottom: 20px;
    width: 100%;
    justify-content: space-between;
    float: none;
  }
  ul#sidebar-popathletecup > li {
    width: 48%;
  }
}
/* ----- ポップアスリートカップページサイドバー ----- */



/* ----- ポップアスリートカップトップ ----- */
#single-popathletecup.top > div:nth-child(2) > div:nth-child(1) {
  height: 200px;
  margin-bottom: 30px;
}
#single-popathletecup.top > div:nth-child(2) > div:nth-child(1) > img {
  display: block;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
#single-popathletecup.top > div:nth-child(2) > h2:nth-child(2) {
  padding: 0.5em 0 0.5em 1em;
  border-left: solid 6px #aaa;
  border-bottom: solid 4px #aaa;
  margin-bottom: 1.5em;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li {
  width: 48%;
  border: solid 1px #000;
  margin-bottom: 35px;
  border-radius: 5px;
  overflow: hidden;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li > dl > dt {
  font-weight: bold;
  padding: 10px;
  border-bottom: solid 1px #000;
  background-color: #630;
  color: #FFF;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li > dl > dd {
  padding: 5px 5px 10px 5px;
  background-color: #FFF;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li > dl > dd > a {
  text-decoration: underline;
  color: revert;
}
#single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li > dl > dd > a::before {
  content: "▲";
  display: inline-block;
  transform: rotate(90deg);
  margin: 5px;
}
@media (width <= 768px) {
  #single-popathletecup.top > div:nth-child(2) > ul:nth-child(3) > li {
    width: 100%;
    margin-bottom: 20px;
  }
}
/* ----- ポップアスリートカップトップ ----- */


/* ----- ポップアスリートカップ協賛企業・後援一覧 ----- */
#single-popathletecup.sponsors > div:nth-child(2) > h2:nth-child(1) {
  padding: 0.5em 0 0.5em 1em;
  border-left: solid 6px #aaa;
  border-bottom: solid 4px #aaa;
  margin-bottom: 1.5em;
}
#single-popathletecup.sponsors > div:nth-child(2) > p:nth-child(2) {
  color: #F60;
  font-weight: bold;
  font-size: 1.5em;
  padding: 0.5em;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) {

}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li {
  border: solid 2px #FB0;
  margin-bottom: 2em;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 {
  text-align: center;
  padding: 0.25em 0.5em;
  color: #F80;
  background-color: #FF8;
  background-color: #FFE;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  padding: 1em;
  border-top: solid 2px #FB0;
  background-color: #FFF;
  gap: 15px 0px;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul > li {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 22%;
  min-height: 150px;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul > li:first-child:last-child {
  width: 50%;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul:has(> li:first-child + li:last-child) > li {
  width: 40%;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul > li > a {
  display: inline-block;
  width: 100%;
}
#single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul > li > a > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: 150px;
}
@media (width <= 768px) {
  #single-popathletecup.sponsors > div:nth-child(2) > ul:nth-child(3) > li > h3 + ul > li {
    width: 40%;
  }
}
/* ----- ポップアスリートカップ協賛企業・後援一覧 ----- */


/* ----- チームページ ----- */
#single-team {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#single-team a {
  color: revert;
  text-decoration: underline;
}
#single-team > * {
  margin-bottom: 2em;
}
#single-team > img:first-child {
  width: 520px;
  margin-left: calc(50% - 260px);
  margin-right: calc(50% - 260px);
  border: solid 5px #000;
  padding: 5px;
  background-color: #FFF;
}
#single-team > section:nth-of-type(1),
#single-team > section:nth-of-type(2) {
  width: 40%;
}
#single-team > section:nth-of-type(n + 3) {
  width: 90%;
}
#single-team > section > h2 {
  border-bottom: solid 2px #00F;
  border-left: solid 4px #00f;
  padding-left: 1em;
  padding-bottom: 0.25em;
  margin-bottom: 0.25em;
  font-weight: bold;
}
#single-team > section > * {
  padding-left: 0.5em;
}
#single-team > section > p:empty::before {
  content: "-";
}
#single-team > section > ul > li {
  border-bottom: dashed 2px #000;
  padding-left: 1em;
  line-height: 2;
}
#single-team > section > ul > li > a {
  text-decoration: none;
}
@media (width <= 768px) {
  #single-team > img:first-child {
    width: 100%;
    margin-left: unset;
    margin-right: unset;
  }
}
/* ----- チームページ ----- */

/* ----- ポリシーページ ----- */
#single-policy {
  
}
/* ----- ポリシーページ ----- */


/* ----- よくある質問 ----- */
#page-faq > ul {
  margin: 1em 0;
  background-color: #FFF;
}
#page-faq > ul > li {
  border: solid 1px #000;
}
#page-faq > ul > li > dl {
  
}
#page-faq > ul > li > dl > dt {
  text-align: center;
  font-weight: bold;
  border-bottom: solid 1px #000;
  padding: 5px 0;
  background-color: #555;
  color: #FFF;
}
#page-faq > ul > li > dl > dd {
  
}
#page-faq > ul > li > dl > dd > ul {
  counter-reset: pop-faq;
}
#page-faq > ul > li > dl > dd > ul > li {
  counter-increment: pop-faq;
}
#page-faq > ul > li > dl > dd > ul > li:not(:last-child) {
  border-bottom: solid 1px #000;
}
#page-faq > ul > li > dl > dd > ul > li > dl {
  padding: 10px;
}
#page-faq > ul > li > dl > dd > ul > li > dl > * {
  position: relative;
  padding-left: 2em;
}
#page-faq > ul > li > dl > dd > ul > li > dl > dt {
  border-bottom: solid 1px #000;
  padding-bottom: 5px;
}
#page-faq > ul > li > dl > dd > ul > li > dl > dd {
  padding-top: 5px;
}
#page-faq > ul > li > dl > dd > ul > li > dl > *::before {
  position: absolute;
  top: unset;
  left: 0;
}
#page-faq > ul > li > dl > dd > ul > li > dl > dt::before {
  content: "Q"counter(pop-faq)". ";
}
#page-faq > ul > li > dl > dd > ul > li > dl > dd::before {
  content: "A"counter(pop-faq)". ";
}
/* ----- よくある質問 ----- */



/* ----- チーム一覧ページ チーム検索フォーム ----- */
#team-search-form {
  width: 500px;
  max-width: 90%;
  margin: 20px auto;
  padding: 5px 10px;
  background-color: #E6EdF7;
  border: solid 4px #88F;
}
#team-search-form > label {
  display: block;
  margin: 10px 0;
}
#team-search-form > label > input {
  width: 24em;
}
#team-search-form > label > input,
#team-search-form > label > select {
  border: solid 1px #000;
  max-width: 100%;
}
#team-search-form > div {
  text-align: center;
}
#team-search-form > div > input[type=submit] {
  border: solid 1px #000;
}
/* ----- チーム一覧ページ チーム検索フォーム ----- */



/* ----- チーム一覧ページ チーム一覧テーブル ----- */
table#team-search-table {
  width: 100%;
  background-color: #FFF;
}
table#team-search-table a {
  color: revert;
  text-decoration: underline;
}
table#team-search-table > thead > tr > th {
  text-align: center;
}
table#team-search-table > * > tr > *:nth-child(1) {
  width: 6em;
}
table#team-search-table > tbody > tr > td:nth-child(1) > div {
  padding: 0.25em 0.5em;
  width: fit-content;
  margin: 0.5em auto;
  border-radius: 10px;
  color: #FFF;
  font-weight: bold;
  line-height: 1;
}
table#team-search-table > tbody > tr > td:nth-child(1) > div.new {
  background-color: #F00;
  border-top: solid 4px #F88;
  border-left: solid 4px #F88;
  border-right: solid 4px #F44;
  border-bottom: solid 4px #F44;
}
table#team-search-table > tbody > tr > td:nth-child(1) > div.popcup {
  background-color: #880;
  border-top: solid 4px #CC8;
  border-left: solid 4px #CC8;
  border-right: solid 4px #440;
  border-bottom: solid 4px #440;
}
table#team-search-table > tbody > tr > td:nth-child(2) > div {
  display: flex;
  align-items: center;
  gap: 1em;
}
table#team-search-table > tbody > tr > td:nth-child(2) > div > img {
  width: 100px;
  height: auto;
}
@media (width <= 768px) {
  table#team-search-table > * > tr > *:nth-child(n + 3) {
    display: none;
  }
}
/* ----- チーム一覧ページ チーム一覧テーブル ----- */



/* ----- ソーシャルログイン ----- */
#social-login {
  width: fit-content;
  margin: 1em auto;
  background-color: #FFF;
  border: solid 3px #CCC;
  padding: 1em;
  border-radius: 10px;
}
#social-login > p {
  text-align: center;
}
#social-login > ul {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}
/* ----- ソーシャルログイン ----- */



/* ----- 規約 ----- */
div.policy {

}
div.policy h3 {
  margin: 1em 0;
}
div.policy ul,
div.policy ol {
  margin: 0.5em 0;
  padding: revert;
}
div.policy ul > li {
  list-style: disc;
}
div.policy ol > li {
  list-style: decimal;
}
/* ----- 規約 ----- */



/* ----- 会員ページ 選手エントリー状況テーブル  ----- */
table.player-entry-status {
  width: 100%;
  margin: 20px 0;
  border-collapse: collapse;
  line-height: 2.0;
}
table.player-entry-status > thead {
  background-color: #777;
  color: #FFF;
}
table.player-entry-status > tbody {
  background-color: #FFF;
}
table.player-entry-status > * tr > * {
  text-align: center;
  border: solid 1px #000;
  vertical-align: middle;
}
table.player-entry-status a {
  color: revert;
  text-decoration: underline;
}
/* ----- 会員ページ 選手エントリー状況テーブル  ----- */



/* ----- スコアボード ----- */
div.score-board {
  display: flex;
  flex-direction: column;
  padding: 2em;
  overflow: auto;
  background-color: #080;
  color: #FFF;
}
div.score-board > ul {
  display: flex;
  margin: auto;
  padding: 0;
  border-top: solid 2px #000;
  border-left: solid 2px #000;
  border-right: solid 2px #000;
}
div.score-board > ul:last-child {
  border-bottom: solid 2px #000;
}
div.score-board > ul > li {
  margin: 0;
  padding: 5px;
}
div.score-board > ul > li:first-child {
  width: 10em;
  min-width: 10em;
}
div.score-board > ul > li:nth-of-type(n + 2) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3em;
  min-width: 3em;
  border-left: solid 2px #000;
}
div.score-board > ul > li:last-child {
  font-weight: bold;
}
div.score-board > ul > li:nth-of-type(n + 2) > input {
  width: 100%;
}
div.score-board > ul:first-child {
  counter-reset: round-cnt;
}
div.score-board > ul:first-child > li:nth-of-type(n + 2):not(:last-child) {
  counter-increment: round-cnt;
  position: relative;
}
div.score-board > ul:first-child > li:nth-of-type(n + 2):not(:last-child)::after {
  content: counter(round-cnt);
  text-align: center;
  font-weight: bold;
  position: absolute;
  bottom: 105%;
  left: 0;
  width: 100%;
}
@media (width <= 768px) {
  div.score-board {
    flex-direction: row;
    justify-content: center;
  }
  div.score-board > ul {
    margin: 0;
    flex-direction: column;
    border-right: none;
    border-bottom: solid 2px #000;
  }
  div.score-board > ul:last-child {
    border-right: solid 2px #000;
  }
  div.score-board > ul > li:first-child {
    display: flex;
    align-items: center;
    width: auto;
    min-width: auto;
    writing-mode: vertical-rl;
  }
  div.score-board > ul > li:nth-of-type(n + 2) {
    border-left: none;
    border-top: solid 2px #000;
  }
  div.score-board > ul:first-child > li:nth-of-type(n + 2)::after {
    width: auto;
    right: 120%;
    bottom: unset;
    left: unset;
    top: 33%;
  }
}
/* ----- 試合結果入力 ----- */


/* ----- トーナメントページ ----- */
#single-tournament > h2 {
  border-left: solid 6px #aaa;
  border-bottom: solid 4px #aaa;
  margin: 2em 0 1em 0;
  padding: 0.5em 0 0.5em 1em;
}
#single-tournament > div:nth-of-type(1) {
  position: relative;
  border: solid 1px #000;
  overflow: auto;
  text-align: center;
  background-color: #FFF;
}
#single-tournament > div:nth-of-type(1) > svg {
  max-width: unset;
}
#single-tournament > ul > li {
  margin-bottom: 2em;
  border: solid 1px #000;
}
#single-tournament > ul > li > dl > dt {
  padding: 10px;
  border-bottom: solid 1px #000;
  background-color: #E17933;
  color: #FFF;
  font-weight: bold;
  line-height: 1.25;
}
#single-tournament > ul > li > dl > dt > div:empty {
  display: none;
}
#single-tournament > ul > li > dl > dt > div:nth-child(n + 2) {
  text-align: right;
}
#single-tournament > ul > li > dl > dd > table {
  width: 100%;
  margin: 0;
  border: none;
}
#single-tournament > ul > li > dl > dd > table > * > tr > * {
  text-align: center;
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:not(:last-child):empty::before {
  content: "-";
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(1) {
  width: 12%;
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(2) {
  width: 32%;
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(3) {
  width: 14%;
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(4) {
  width: 32%;
}
#single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(5) {
  width: 10%;
}
#single-tournament > ul > li > dl > dd > table > thead > tr > th {
  background-color: #CCC;
  color: #000;
  border-right: solid 1px #000;
}
#single-tournament > ul > li > dl > dd > table > tbody > tr > td {
  border-bottom: none;
}
#single-tournament > ul > li > dl > dd > table > tbody > tr > td.winner::before {
  content: "W";
  color: #F00;
  font-weight: bold;
  background-color: #FF0;
  padding: 0.1em 0.4em;
  line-height: 1;
  border-radius: 50%;
  border: solid 2px #F00;
}
#single-tournament > ul > li > dl > dd > table > tbody > tr > td:nth-child(3) > div:last-child {
  font-size: 0.8em;
}
#single-tournament > ul > li > dl > dd > table > tbody > tr > td:nth-child(3) > div:last-child:empty {
  display: none;
}
#single-tournament > ul > li > dl > dd > table > tbody > tr > td > a {
  color: revert;
  text-decoration: underline;
}
@media (width <= 768px) {
  #single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(1) {
    display: none;
  }
  #single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(2) {
    width: 30%;
  }
  #single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(3) {
    width: 20%;
  }
  #single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(4) {
    width: 30%;
  }
  #single-tournament > ul > li > dl > dd > table > * > tr > *:nth-child(5) {
    width: 20%;
  }
}
/* ----- トーナメントページ ----- */


/* ----- 汎用テーブル ----- */
table.simple-table {
  margin: 1em auto;
  border: solid 1px #000;
}
table.simple-table > * > tr > * {
  padding: 0.5em;
}
table.simple-table > tbody > tr:last-child > td {
  border-bottom: none;
}
table.simple-table > * > tr > *:last-child {
  border-right: none !important;
}
table.simple-table > thead > tr > th {
  background-color: var(--color-primary);
  color: #FFF;
  border-bottom: solid 1px #000;
  border-right: solid 1px #FFF;
}
table.simple-table > tbody > tr > td {
  word-break: break-all;
  background-color: #FFF;
  border-bottom: dashed 1px #000;
  border-right: solid 1px #000;
  vertical-align: middle;
}
/* ----- 汎用テーブル ----- */


/* ----- 左にth、右にtdのテーブル ----- */
table.two-row-table {
  width: 100%;
  max-width: 700px;
  margin: 1em auto;
  border: solid 1px #000;
  line-height: 2.0;
}
table.two-row-table > caption {
  text-align: center;
}
table.two-row-table > tbody > tr > * {
  border-bottom: solid 1px #000;
  padding: 0.5em;
  vertical-align: middle;
  line-height: 1.25;
}
table.two-row-table > tbody > tr > th {
  text-align: center;
  color: #FFF;
  background-color: var(--color-primary);
  white-space: nowrap;
}
table.two-row-table > tbody > tr > th + td {
  border-left: solid 1px #000;
  background-color: #FFF;
  word-break: break-all;
}
/* ----- 左にth、右にtdのテーブル ----- */


/* ----- チーム管理者 対戦履歴テーブル ----- */
table#team-game-history {
  width: 100%;
}
table#team-game-history a {
  color: revert;
  text-decoration: underline;
}
table#team-game-history > thead > tr > th,
table#team-game-history > tbody > tr > td:nth-child(1),
table#team-game-history > tbody > tr > td:nth-child(4),
table#team-game-history > tbody > tr > td:nth-child(5) {
  text-align: center;
}
table#team-game-history > tbody > tr > td:empty::before {
  content: "-";
}
/* ----- チーム管理者 対戦履歴テーブル ----- */


/* ----- チーム管理者 次の試合情報テーブル ----- */
table#manager-next-game-info {
  margin: auto;
  border: solid 6px #000;
  max-width: 800px;
}
table#manager-next-game-info > * > tr > * {
  padding: 0.5em;
}
table#manager-next-game-info > thead > tr > th {
  text-align: center;
  background-color: #555;
  color: #FFF;
  border-bottom: solid 3px #000;
}
table#manager-next-game-info > tbody > tr > * {
  background-color: #FFF;
  border-left: solid 2px #000;
  border-bottom: solid 2px #000;
}
table#manager-next-game-info > tbody > tr > th {
  width: 8em;
  text-align: center;
  vertical-align: middle;
}
table#manager-next-game-info > tbody > tr > td {
  border-left: solid 2px #000;
  background-color: #FFF;
}
table#manager-next-game-info > tbody > tr:last-child > td {
  text-align: center;
}
table#manager-next-game-info > tbody > tr:last-child > td > a {
  color: revert;
  text-decoration: underline;
}
/* ----- チーム管理者 次の試合情報テーブル ----- */


/* ----- チーム管理者 所属選手一覧テーブル ----- */
table#team-player-list > tbody > tr > td:last-child > a {
  color: revert;
  text-decoration: underline;
  white-space: nowrap;
}
/* ----- チーム管理者 所属選手一覧テーブル ----- */


/* ----- 会員 エントリー確認テーブル ----- */
table#member-entry-confirm-table > tbody > tr > th[colspan='2'] {
  position: relative;
}
table#member-entry-confirm-table > tbody > tr > th[colspan='2'] > a {
  text-decoration: underline;
  position: absolute;
  right: 0.5em;
}
/* ----- 会員 エントリー確認テーブル ----- */


/* ----- チーム管理者 ポップアスリートカップこれまでの試合一覧テーブル ----- */
table#manager-completed-game-infos > tbody > tr > td:nth-last-child(1),
table#manager-completed-game-infos > tbody > tr > td:nth-last-child(2) {
  white-space: nowrap;
}
table#manager-completed-game-infos > tbody > tr > td:nth-last-child(1) > a,
table#manager-completed-game-infos > tbody > tr > td:nth-last-child(2) > a {
  color: revert;
  text-decoration: underline;
}
/* ----- チーム管理者 ポップアスリートカップこれまでの試合一覧テーブル ----- */


/* ----- チーム管理者 個人成績入力 ----- */
.front-regist-form .player-stats {
  overflow: auto;
  max-height: 70vh;
  margin-bottom: 4em;
  border: solid 1px #000;
}
.front-regist-form .player-stats > table {
  border-collapse: separate;
  margin: 0;
  border: none;
}
.front-regist-form .player-stats > table > thead > tr {
  position: sticky;
  top: 0;
  z-index: 1;
}
.front-regist-form .player-stats > table > thead > tr > th,
.front-regist-form .player-stats > table > tbody > tr > td:first-child {
  position: sticky;
}
.front-regist-form .player-stats > table > thead > tr > th {
  writing-mode: vertical-rl;
  text-align: center;
  vertical-align: middle;
}
.front-regist-form .player-stats > table > thead > tr > th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
}
.front-regist-form .player-stats > table > tbody > tr > td:first-child {
  left: 0;
  white-space: nowrap;
}
.front-regist-form .player-stats > table > tbody > tr > td:first-child > a {
  color: revert;
  text-decoration: underline;
}
.front-regist-form .player-stats > table > tbody:has( > tr.row-focus) > tr:not(.row-focus) {
  display: none;
}
.front-regist-form .player-stats > table > tbody > tr.row-focus > td {
  padding: 2em 0.5em;
}
.front-regist-form .player-stats > table > tbody > tr > td > input[type=tel] {
  width: 3em;
  border: solid 1px #000;
  text-align: center;
}
.front-regist-form .player-stats > table > tbody > tr > td:nth-child(n + 2) {
  text-align: center;
  white-space: nowrap;
}
.front-regist-form .player-stats > table > tbody > tr > td > select {
  border: solid 1px #000;
}
/* ----- チーム管理者 個人成績入力 ----- */


/* ----- チーム管理者 選手の設定 ----- */
#event-player-setting {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
#event-player-setting > table {
  width: calc(50% - 10px);
}
#event-player-setting > table > thead > tr > th,
#event-player-setting > table > * > tr > *:nth-child(n + 2) {
  text-align: center;
  white-space: nowrap;
}
#event-player-setting > table > * > tr > *:nth-child(2) {
  width: 3em;
}
#event-player-setting > table > * > tr > *:nth-child(3) {
  width: 4em;
}
#event-player-setting > table > * > tr > *:nth-child(4) {
  width: 10em;
}
#event-player-setting > table > tbody > tr > td:nth-child(3) > input {
  width: 3em;
  border: solid 1px #000;
  text-align: center;
}
#event-player-setting > table > tbody > tr > td:last-child > button {
  border: solid 1px #000;
  border-radius: 5px;
  padding: 0.25em;
  background-color: #FFF;
  box-shadow: 3px 3px #AAA;
}
#event-player-setting > table:first-child > tbody > tr > td:last-child > button:nth-child(1):before {
  content: "外す";
}
#event-player-setting > table:first-child > tbody > tr > td:last-child > button:nth-child(2):before {
  content: "上へ";
}
#event-player-setting > table:first-child > tbody > tr > td:last-child > button:nth-child(3):before {
  content: "下へ";
}
#event-player-setting > table:last-child > tbody > tr > td:last-child > button:nth-child(1)::before {
  content: "ベンチ入り";
}
#event-player-setting > table:first-child > tbody > tr:first-child > td:last-child > button:nth-child(2),
#event-player-setting > table:first-child > tbody > tr:last-child > td:last-child > button:nth-child(3),
#event-player-setting > table:last-child > tbody > tr > td:last-child > button:nth-child(2),
#event-player-setting > table:last-child > tbody > tr > td:last-child > button:nth-child(3) {
  display: none;
}

@media (width <= 768px) {
  #event-player-setting {
    flex-direction: column;
  }
  #event-player-setting > table {
    width: 100%;
  }
}
/* ----- チーム管理者 選手の設定 ----- */


/* ----- チーム管理者 チームの切り替え ----- */
table#switch-team-table > tbody > tr > td:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 1em;
}
table#switch-team-table > tbody > tr > td:nth-child(1) > img {
  width: 100px;
  height: auto;
}
table#switch-team-table > tbody > tr > td:nth-child(2) {
  white-space: nowrap;
  text-align: center;
}
table#switch-team-table > tbody > tr > td:nth-child(2) > a {
  color: revert;
  text-decoration: underline;
}
/* ----- チーム管理者 チームの切り替え ----- */


/* ----- ポップアスリートカップ チームメンバー印刷 ----- */
#popathletecup-print-members {
  background-color: #FFF;
  padding: 2em;
  outline: solid 2px #000;
  position: relative;
  margin-bottom: 200px;
}
#popathletecup-print-members > h2 {
  font-size: larger;
  color: #3366FF;
  text-align: center;
  margin-bottom: 0.5em;
}
#popathletecup-print-members > table {
  width: 100%;
  border: solid 2px #888;
  margin-bottom: 20px;
}
#popathletecup-print-members > table > * > tr > th {
  background-color: #DDD;
}
#popathletecup-print-members > table > * tr > * {
  padding: 4px;
}
#popathletecup-print-members > table > thead,
#popathletecup-print-members > table > * tr:not(:last-child) > * {
  border-bottom: solid 1px #888;
}
#popathletecup-print-members > table > * tr > *:not(:last-child) {
  border-right: solid 1px #888;
}
#popathletecup-print-members > table:nth-of-type(3),
#popathletecup-print-members > table:nth-of-type(4) {
  font-size: small;
}
#popathletecup-print-members > table:nth-of-type(1) > tbody > tr > th,
#popathletecup-print-members > table:nth-of-type(2) > tbody > tr > th,
#popathletecup-print-members > table:nth-of-type(3) > tbody > tr > th {
  width: 150px;
  text-align: center;
}
#popathletecup-print-members > table:nth-of-type(4) > * > tr > th,
#popathletecup-print-members > table:nth-of-type(4) > * > tr > td {
  text-align: center;
  vertical-align: middle;
}
#popathletecup-print-members > table:nth-of-type(4) > * > tr > td:nth-child(6) {
  white-space: nowrap;
}
#popathletecup-print-members > table:nth-of-type(4) > * > tr > th {
  white-space: nowrap;
}
#popathletecup-print-members > button {
  position: absolute;
  top: 105%;
  left: 50%;
  transform: translate(-50%, 0);
}
@media (width <= 768px) {
  #popathletecup-print-members > table:nth-of-type(4) > * > tr > th {
    white-space: normal;
  }
}
@media print {
  body:has(#popathletecup-print-members) {
    background-color: revert;
  }
  body:has(#popathletecup-print-members) > main {
    padding: 0;
  }
  body:has(#popathletecup-print-members) > header,
  body:has(#popathletecup-print-members) > footer,
  section.c-container > *:not(#popathletecup-print-members),
  #popathletecup-print-members > button {
    display: none !important;
  }
  #popathletecup-print-members {
    background-color: unset;
    padding: 0;
    outline: none;
    margin-bottom: 0;
  }
}
/* ----- ポップアスリートカップ チームメンバー印刷 ----- */


/* ----- 試合投稿ページ ----- */
#single-game > table {
  width: 100%;
}
#single-game > table > thead > tr > th {
  text-align: center;
  background-color: #E17933;
}
#single-game > table > tbody > tr:nth-child(n + 2) > td {
  width: 50%;
}
#single-game > table > tbody > tr:nth-child(1) > td,
#single-game > table > tbody > tr:nth-child(2) > td,
#single-game > table > tbody > tr:nth-child(3) > td {
  text-align: center;
}
#single-game > table > tbody > tr:nth-child(1) > td {
  line-height: 1.25;
}
#single-game > table > tbody > tr:nth-child(2) > td {
  font-weight: bold;
  background-color: #CCC;
}
#single-game > table > tbody > tr:nth-child(4) > td {
  vertical-align: top;
  word-break: break-all;
}
#single-game > .inning-scoreboard {
  width: fit-content;
  max-width: 100%;
  margin: auto;
  border-style: solid;
  border-width: 10px;
  border-top-color: #d2a200;
  border-right-color: #8f6e00;
  border-bottom-color: #7c5f00;
  border-left-color: #c19500;
}
/* ----- 試合投稿ページ ----- */

