/*
Theme Name: superkids
Description: スーパーキッズ
*/

/* ===============================================
# 共通設定
=============================================== */
:root {
  /* フォントの色 */
  --main_font_color: #1e1e1e;
  --white_font_color: #fff;
  --blue_font_color: #1500FF;
  --red_font_color: #FF0000;
  --orange_font_color: #ED8000;
  --green_font_color: #008000;
  --footer_small: #BBBBBB;
  --faq_answer: #6D6D6D;

  /* 背景の色 */
  --bg_white: #fff;
  --bg_header: #F5F5F5;
  --bg_header_entry: #FF8A00;
  --bg_sponsor: #F5F5F5;
  --bg_footer: #222222;
  --bg_footer_bottom: #FF8A00;
  --bg_rule: #222222;
  --bg_rule_logo: #F6F6F6;
  --bg_btn: #ED8000;
  --bg_tab: #FF8A00;
  --bg_anker: #F6F6F6;
  --bg_sec: #EBEBEB;
  --bg_sec_left: #FF8A00;
  --bg_form: #F6F6F6;
  --bg_required: #FF0000;
  --bg_submit: #FF8A00;
  --bg_page_top: #EBEBEB;
  --bg_tab_button: #FF8A00;
  --bg_tab_button_hover: rgba(255, 138, 0, 0.6);
  --bg_common_hover: #F6F6F6;
  --bg_pagetop: #222222;
  --bg_hover_pagetop: #FF8A00;
  --bg_ng: #FF002A;
  --bg_ok: #00A735;
  --bg_up: #0066FF;
  --bg_lower_event_ttl: #EBEBEB;
  --bg_faq_icon: #FF8A00;
  --bg_entry_form: #F6F6F6;
  --bg_entry_form_btn: #FF8A00;
  --bg_drawer: #FF8A00;
  --bg_report_ranking: #fdd1ef;

  /* border */
  --border_rule_logo: #828282;
  --border_event: #888888;
  --border_anker: #1E1E1E;
  --border_event_ttl: #FFCD29;
  --border_event_ttl_after: #FF8A00;
  --border_report_ttl: #FFC5F4;
  --border_report_ttl_after: #FE0083;
  --border_post_ttl: #BCDFFF;
  --border_post_ttl_after: #0066FF;
  --border_faq_h4: #1E1E1E;
  --border_ng: #AB001D;
  --border_ok: #007A1C;
  --border_up: #003FAB;
  --border_drawer_nav: #ED8000;

  /* テキスト */
  --txt_ja: "Hiragino Kaku Gothic ProN", "Hiragino Sans", 'Noto Sans JP', 'Roboto', 'ヒラギノ角ゴ ProN', '游ゴシック体', 'Meiryo', sans-serif;
  --txt_en: 'Barlow', 'Roboto', 'Arial', 'Helvetica Neue', 'Segoe UI', sans-serif;
}


body {
  line-height: 1.7;
  font-family: var(--txt_ja);
  font-size: 16px;
  letter-spacing: 0.05em;
}

.inner {
  max-width: 1080px;
  margin: 0 auto;
  text-align: center;
}

.contents {
  margin-bottom: 180px;
}

.pc {
  display: block;
}

.sp {
  display: none !important;
}

a {
  transition: 0.2s;
}

a:hover {
  cursor: pointer;
  opacity: 0.9;
}

.hover_orange:hover {
  color: var(--orange_font_color);
  cursor: pointer;
  opacity: 0.9;
}

/* セクションタイトル */
.sec_ttl {
  margin-bottom: 60px;
}

.sec_ttl h2 {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  font-family: var(--txt_en);
}

.sec_ttl .sub_ttl {
  text-align: center;
}

/* ボタン */
.btn {
  text-align: center;
  margin-top: 60px;
}

.btn a {
  padding: 15px 80px;
  background: var(--bg_btn);
  color: var(--white_font_color);
  position: relative;
  border-radius: 100px;
  display: inline-block;
}

.btn a::after {
  position: absolute;
  right: 15px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f054";
  transform: translate(-50%, -50%);
}

/* テキストカラー */
.red {
  color: var(--red_font_color);
}

.blue {
  color: var(--blue_font_color);
}

.orange {
  color: var(--orange_font_color);
}

.green {
  color: var(--green_font_color);
}

/* 太字 */
.fw600 {
  font-weight: 600;
}

/* アンダーライン */
.underline {
  text-decoration: underline !important;
}

/* センター */
.tac {
  text-align: center;
}

/* ===============================================
# ヘッダー
=============================================== */
header {
  font-weight: 600;
}

header .header_container {
  padding: 10px 2%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


header .header_container:nth-child(1) {
  background: var(--bg_header);
  font-size: 14px;
}

header .header_container:nth-child(2) {
  border-bottom: 1px solid #ececec;
}

header .header_container:nth-child(2) .header_logo {
  display: flex;
  column-gap: 10px;
  align-items: center;
}

header .header_container:nth-child(2) .header_logo img {
  width: 60px;
}

header .header_container:nth-child(2) .header_logo h1 {
  font-size: 12px;
  line-height: 1.2;
}

header .header_nav-items {
  display: flex;
  align-items: center;
}

header .header_nav1 .header_nav-items {
  column-gap: 7px;
}

header .header_nav1 ul li i {
  font-size: x-large;
  width: 25px;
  height: auto;
}

header .header_nav1 ul li:not(:last-child) i {
  margin-right: 5px;
}

header .header_nav2 .header_nav-items {
  column-gap: 20px;
}

header .header_container:nth-child(2) .header_nav-items li {
  text-align: center;
  line-height: 1;
}

header .header_container:nth-child(2) .header_nav-items a {
  font-family: var(--txt_en);
  font-size: 20px;
}

header .header_container:nth-child(2) .header_nav-items a span {
  font-family: var(--txt_ja);
  font-size: 12px;

}

header .header_list {
  display: flex;
  align-items: center;
  column-gap: 20px;
}

header .header_list .header_entry {
  padding: 9px 45px 9px 35px;
  background: var(--bg_header_entry);
  position: relative;
  font-size: 20px;
}

header .header_list .header_entry::after {
  position: absolute;
  right: 5px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f105";
  transform: translate(-50%, -50%);
}



/* ===============================================
# mv
=============================================== */
.top_mv img {
  width: 100vw;
  object-fit: cover;
}

.top_mv .mv_contents {
  margin-bottom: 90px;
}


/* ===============================================
# ルール
=============================================== */
.rule .rule_container {
  display: flex;
  column-gap: 60px;
  align-items: center;
  justify-content: center;
}

.rule .rule_container .rule_item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.rule .rule_container .rule_item .rule_logo {
  width: 200px;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg_rule_logo);
  border-radius: 100px;
  border: 1px dotted var(--border_rule_logo);
  margin-bottom: 15px;
}

.rule .rule_container img {
  width: 150px;
  height: 150px;
  object-fit: contain;
}

.rule .rule_container .rule_item p {
  text-align: center;
}

/* ===============================================
# イベント情報とレポートの共通部分
=============================================== */
.common_sec ul li {
  padding: 10px 5px;
  border-bottom: 1px dotted var(--border_event);
}

.common_sec ul li:first-child {
  border-top: 1px dotted var(--border_event);
}

.common_sec ul li a:hover .common_ttl {
  color: var(--orange_font_color);
}

.common_sec ul a:hover i {
  transform: translateX(10px);
  transition: 0.2s;
}

.common_sec .common_container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 30px;
}

.common_sec .common_container img {
  width: 200px;
  height: 150px;
  object-fit: contain;
}

.common_sec .common_container .common_item {
  width: calc(100% - 150px);
  font-weight: 600;
}

.common_sec .common_container .common_box {
  display: flex;
  column-gap: 20px;
  margin-bottom: 5px;
  align-items: center;
}

/* .common_sec .common_container .common_box .common_date {
  font-size: 18px;
} */

.common_sec .common_ttl {
  margin-bottom: 20px;
  text-decoration: underline;
  transition: 0.2s;
  font-size: 18px;
}

.common_sec .common_container .common_area {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.common_sec .common_container .common_body {
  font-size: 14px;
}

.common_sec .common_container .common_item i {
  display: block;
  text-align: right;
}

/* ===============================================
# イベント情報
=============================================== */
.event .event_container .event_box .event_cat {
  display: flex;
  column-gap: 10px;
}

.event .event_container .event_box .event_cat span {
  font-size: 10px;
}

/* span */
.ng,
.ok,
.up {
  padding: 3px 20px;
  border-radius: 100px;
  background: #f9f9f9;
}

.ng {
  /* background: var(--bg_ng); */
  border: 2px solid var(--border_ng);
}

.ok {
  /* background: var(--bg_ok); */
  border: 2px solid var(--border_ok);
}

.up {
  /* background: var(--bg_up); */
  border: 2px solid var(--border_up);
}


/* ===============================================
# スポンサー
=============================================== */
.sponsor {
  background: var(--bg_sponsor);
}

.sponsor .sponsor_contents {
  padding: 60px 0 80px;
}

.sponsor ul {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}


/* ===============================================
# footer
=============================================== */
.footer {
  background: var(--bg_footer);
}

.footer .footer_container {
  padding: 60px 0 20px;
  text-align: center;
}

.footer .footer_logo img {
  width: 150px;
  margin-bottom: 20px;
}

.footer .footer_container {
  color: var(--white_font_color);

}

.footer .footer_nav {
  margin-bottom: 40px;
}

.footer .footer_nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.footer .footer_nav ul li i {
  margin-left: 5px;
}

.footer .footer_nav .footer_nav-items1 {
  gap: 20px 40px;
}

.footer .footer_nav .footer_nav-items2 {
  column-gap: 15px;
}

.footer .footer_nav .footer_nav-items2 i {
  font-size: xx-large;
}

.footer small {
  font-size: 10px;

  color: var(--footer_small);
}

.footer .footer_bottom {
  background: var(--bg_footer_bottom);
  height: 15px;
}

/* ページトップ */
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--bg_pagetop);
  border-radius: 100px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
}

#page-top a:hover {
  background: var(--bg_hover_pagetop);
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 40px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

/* ===============================================
# 下層ページ
=============================================== */
/*******************
# 共通
*******************/
/* アンカーリンク */
.anker_link {
  width: 95%;
  margin: 0 auto;
  margin-bottom: 60px;
}

.anker_link ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}

.anker_link ul li {
  position: relative;
  font-weight: 600;
}

.anker_link ul li::before {
  position: absolute;
  content: "";
  font: var(--fa-font-solid);
  content: "\f107";
  right: 5px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.anker_link ul li a {
  padding: 15px 0;
  background: var(--bg_anker);
  border: 1px solid var(--border_anker);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 14px;

}

.anker_link ul li a:hover {
  opacity: 1;
  color: var(--orange_font_color);
  transition: 0.2s;
}

.anker_link_txt {
  width: 500px !important;
  font-size: 18px;
}

/* ページネーション */
.wp-pagenavi {
  margin: 40px auto;
  font-size: 12px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #202f55;
}

.wp-pagenavi a {
  color: #202f55;
}

.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi span.current,
.wp-pagenavi a.page {
  margin: 0 10px 0 0;
  border: solid 1px #eee;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
  transition: .3s;
}

.wp-pagenavi span.current {
  border: none;
  background: #202f55;
  color: #fff;
}

.wp-pagenavi a.page {
  background: none;
}

.wp-pagenavi a.page:hover {
  background: #202f55;
  color: #fff;
}

.wp-pagenavi .first,
.wp-pagenavi .extend {
  margin-right: 10px;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  display: none;
}



/*******************
# sub_mv
*******************/
.sub_mv .sub_mv_contents {
  margin-bottom: 20px;
}

.sub_mv .sub_mv_img img {
  width: 100vw;
}

/*******************
# パンくず
*******************/
.breadcrumb {
  margin-left: 5%;
  font-size: 12px;

  margin-bottom: 30px;
}

/*******************
# ルール
*******************/
.page-rule .rule_container {
  margin-bottom: 90px;
}

.rule .rule_container a:hover i {
  transform: translateY(5px);
  transition: 0.2s;
}

.rule h3,
.entry h3,
.report_img h2,
.magazine .magazine_list h2 {
  text-align: center;
  font-size: 20px;
  display: block;
  /* background: linear-gradient(135deg, rgba(252, 230, 169, 1) 0%, rgba(217, 243, 211, 1) 45%, rgba(247, 193, 164, 1) 75%, rgba(253, 178, 141, 1) 100%);
  ; */
  background: #f9f9f9;
  border-top: 4px solid #E88D3B;
  border-bottom: 4px solid #E88D3B;
  padding: 20px 0;
  margin-bottom: 40px;
  background-size: cover;
}

.rule h4 {
  background: var(--bg_rule);
  color: var(--white_font_color);
  margin-bottom: 12px;
  padding: 7px 30px;
  display: inline-block;
  border-radius: 100px;
  font-weight: 400;
}

.rule .rule_area .rule_box {
  margin-bottom: 50px;
}

.rule .rule_area:not(:last-child) {
  margin-bottom: 90px;
}


.rule h5 {
  width: 80%;
  margin: 0 auto;
  margin-top: 60px;
  margin-bottom: 40px;
  position: relative;
  display: block;
  padding: 7px 10px;
  background: var(--bg_rule);
  color: var(--white_font_color);
  border-radius: 100px;
  text-align: center;
  box-sizing: border-box;
}

.rule h5::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid var(--bg_rule);
}

.rule .rule_area .rule_list p {
  width: 80%;
  margin: 0 auto;
}

.rule .rule_area .rule_schedule {
  text-align: center;
}

.rule .rule_area .rule_txt {
  margin-bottom: 30px;
}

.rule .rule_area .rule_body p,
.rule .rule_area .rule_list p {
  margin-bottom: 20px;
}

.rule .rule_area .rule_body {
  background: #f9f9f9;
  padding: 30px 20px 10px;
  margin-top: -30px;
  border: 1px solid #ccc;
  border-radius: 5px;
}


/*******************
# イベント情報
*******************/
.tabs {
  display: flex;
  gap: 5px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
}

.tab_button {
  padding: 20px;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background-color: #f9f9f9;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--main_font_color);
  border-radius: 10px 10px 0 0;
}

.event .tab_button {
  width: calc(100% / 5);
}

.lower_event .tab_button {
  width: calc(100% / 2);
}

.tab_button:hover {
  background-color: var(--bg_tab_button_hover);
  opacity: 0.9;
  transition: 0.2s;
}

.tab_button.active {
  background-color: var(--bg_tab_button);
  color: var(--main_font_color);
}

.tab-content .tab_pane {
  display: none;
}

.tab-content .tab_pane.active {
  display: block;
}

/*******************
# イベント情報(投稿ページ)
*******************/
.single-event .breadcrumb,
.single-report .breadcrumb,
.single-post .breadcrumb {
  margin-top: 30px;
}

.lower_event .event_date,
.lower_event .event_place {
  display: inline-block;
  font-size: 16px;
  margin-bottom: 5px;
}

.lower_event #event_place i {
  margin-left: 5px;
}

.lower_event .event_date {
  margin-right: 10px;
}

.lower_event h2,
.lower_report .lower_report_ttl,
.post h2 {
  font-size: 24px;
  text-align: left;
  padding-bottom: 5px;
  position: relative;
  margin-bottom: 30px;
}

.lower_event h2 {
  border-bottom: 5px solid var(--border_event_ttl);
}

.lower_report .lower_report_ttl {
  border-bottom: 5px solid var(--border_report_ttl);
}

.post h2 {
  border-bottom: 5px solid var(--border_post_ttl);
}

.lower_event h2::after,
.lower_report h2::after,
.post h2::after {
  position: absolute;
  content: " ";
  display: block;
  bottom: -5px;
  width: 10%;
}

.lower_event h2::after {
  border-bottom: solid 5px var(--border_event_ttl_after);
}

.lower_report .lower_report_ttl::after {
  border-bottom: solid 5px var(--border_report_ttl_after);
}

.post h2::after {
  border-bottom: solid 5px var(--border_post_ttl_after);
}

.lower_event .event_detail {
  display: flex;
  column-gap: 30px;
  justify-content: space-between;
}

.lower_event .event_detail .event_detail_box:not(:last-child) {
  margin-bottom: 40px;
}

.lower_event .event_detail .event_detail_box .event_detail_ttl {
  padding-bottom: 3px;
  border-bottom: 1px dotted #6D6D6D;
  font-weight: 600;
  margin-bottom: 5px;
  font-size: 18px;
}

.lower_event .event_detail_img {
  text-align: center;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  width: 75%;
}

.lower_event .event_entry_time {
  text-align: center;
}

.lower_event .event_entry_time p {
  text-align: center;
  margin-bottom: 10px;
  font-size: 28px;
}

.lower_event .event_entry_time a {
  color: #fff;
  background: #D81519;
  max-width: 800px;
  height: 180px;
  font-size: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  margin: 0 auto;
  position: relative;
}

.lower_event .event_entry_time a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f138";
  transform: translate(0, -50%);
  color: #fff;
  z-index: 2;
}

.lower_event .tabs {
  margin-top: 80px;
}

.lower_event h3,
.faq h3,
.post h3,
.magazine .magazine_list h3 {
  padding: 10px 20px;
  background: var(--bg_lower_event_ttl);
  border-left: 10px solid;
  border-image: linear-gradient(to bottom, #fff679, #E88D3B) 1;
  /* border-image-source: url('./img/bg_event.jpg');
  border-image-slice: 30;
  border-image-repeat: stretch; */
  margin-bottom: 15px;
}

.lower_event .event_list {
  margin-bottom: 40px;
}

.lower_event .event_list .event_list_item {
  width: 94%;
  margin: 0 auto;
}

.lower_event .event_list .event_list_item img {
  margin-top: 10px;
}

.lower_event #event_price .red {
  font-size: 40px;
}

/* 観覧費 */
/* ticketページと共通 */
.cmn_ticket .ticket_link {
  color: #fff;
  background: #19499D;
  width: 700px;
  height: 150px;
  font-size: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  position: relative;
  margin-top: 30px;
}

.ticket .ticket_link {
  margin: 0 auto;
}

.cmn_ticket .ticket_link::after {
  position: absolute;
  right: 30px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f138";
  transform: translate(0, -50%);
  color: #fff;
  z-index: 2;
}

.lower_event #event_ticket .ticket_info {
  margin-top: 20px;
}

/* お問い合わせ */
.lower_event #event_contact .contact_line {
  color: #fff;
  background: #01B901;
  max-width: 550px;
  height: 120px;
  font-size: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  position: relative;
  margin-top: 30px;
  border-radius: 10px;
}

.lower_event #event_contact .contact_line::after {
  position: absolute;
  right: 30px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f138";
  transform: translate(0, -50%);
  color: #fff;
  z-index: 2;
}

.lower_event #event_contact .contact_line i {
  margin-right: 15px;
}

/* 参加者様へ */
.lower_event .event_entry_ttl {
  text-align: center;
  font-weight: 600;
  margin-bottom: 40px;
}

/* イベント概要のお問い合わせ */
.lower_event .event_list .event_list_item ul {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.lower_event .event_list .event_list_item ul li:last-child img {
  width: 400px;
}

/*******************
# アーカイブ
*******************/
.event_archive .sec_ttl {
  margin-top: 60px;
}


/*******************
# チケット
*******************/
.ticket {
  text-align: center;
}

.ticket p {
  text-align: center;
}

.ticket p:not(:last-child) {
  margin-bottom: 30px;
}

.ticket p:last-child {
  margin-bottom: 60px;
}


/*******************
# よくある質問
*******************/
/*アコーディオン全体*/
.faq .accordion_area {
  list-style: none;
  width: 96%;
  /* max-width: 900px; */
  margin: 0 auto;
}

.faq .accordion_area li {
  margin: 10px 0;
}

.faq .accordion_area section {
  border-bottom: 1px solid #d9d9d9;
}

/*アコーディオンタイトル*/
.faq .faq_ttl {
  position: relative;
  /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  padding: 15px 50px 15px 2%;
  transition: all .5s ease;
}

/*アイコンの＋と×*/
.faq .faq_ttl::before,
.faq .faq_ttl::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: var(--bg_faq_icon);

}

.faq .faq_ttl::before {
  top: 48%;
  right: 15px;
  transform: rotate(0deg);

}

.faq .faq_ttl::after {
  top: 48%;
  right: 15px;
  transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/
.faq .faq_ttl.close::before {
  transform: rotate(45deg);
}

.faq .faq_ttl.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.faq .accordion_area .faq_box {
  display: none;
  /*はじめは非表示*/
  /* background: #f3f3f3; */
  /* margin:0 3% 3% 3%; */
  padding: 5px 2% 15px;
}

.faq .accordion_area span {
  padding-right: 10px;
}

.faq .accordion_area .faq_answer {
  color: var(--faq_answer);
}

/* アコーディオン終わり */

.faq .faq_container:not(:last-child) {
  margin-bottom: 60px;
}

.faq .faq_container .faq_item h4 {
  width: 95%;
  margin: 0 auto;
  padding: 0 0 10px 10px;
  border-bottom: 1px solid var(--border_faq_h4);
}

.faq .faq_container .faq_item:not(:last-child) {
  margin-bottom: 50px;
}

.faq .faq_container .anker_link {
  margin-top: 20px;
  margin-bottom: 30px !important;
}


/*******************
# レポート
*******************/
.report .report_txt {
  text-align: center;
  margin-bottom: 30px;
  font-size: 14px;
}

/*******************
# 投稿レポート
*******************/
.lower_report .report_date,
.lower_report .report_place {
  display: inline-block;
  font-size: 16px;
  margin-bottom: 5px;
}

.lower_report .report_date {
  margin-right: 10px;
}

.lower_report .winning_area {
  background: #f6f6f6;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 30px;
}

.lower_report .winning_area h4 {
  display: inline-block;
}

.lower_report .winning_area span {
  font-size: 14px;
}


.lower_report .winning_result:not(:last-child) {
  margin-bottom: 30px;
}

.lower_report .overall_txt {
  font-size: 14px;
  margin-top: 5px;
}

.lower_report .winning_report {
  margin-bottom: 50px;
}

.lower_report .winning_info ul li,
.lower_report .winning_info h4,
.lower_report .winning_info ul li p,
.lower_report .report_img_area p {
  text-align: center;
}

.lower_report .winning_info ul li p,
.lower_report .report_img_area p {
  font-size: 22px;
}

.lower_report .winning_info:not(:last-child) {
  margin-bottom: 80px;
}

.lower_report .winning_info ul li:not(:last-child) {
  margin-bottom: 40px;
}

.lower_report .report_img {
  text-align: center;
  margin-bottom: 90px;
}

.lower_report .report_img h2 {
  margin-top: 90px;

}

.lower_report .report_img h2 span {
  display: block;
  text-align: center;
  color: var(--main_font_color) !important;
  font-family: var(--txt_ja) !important;
}

.lower_report .report_img p {
  color: var(--main_font_color) !important;
  font-family: var(--txt_ja) !important;
  font-size: 20px;
  font-weight: 600;
}

.lower_report .report_img_area {
  text-align: center;
  margin-bottom: 80px;
}

.lower_report .report_img_area img {
  margin-top: 10px;
  object-fit: cover;
}

.lower_report .report_item:not(:last-child) {
  margin-bottom: 60px;
}

.lower_report h4 {
  margin-bottom: 10px;
}

.lower_report .report_ranking {
  padding-top: 60px;
  border-top: 1px dotted var(--main_font_color);
}

.lower_report .report_ranking .report_ranking_area {
  padding: 20px 20px 40px;
  background: #f6f6f6;
  border-radius: 10px;
  margin: 40px 0;
}

.lower_report .report_ranking .report_item h5 {
  margin-bottom: 5px;
}

.lower_report .report_ranking .ranking {
  margin-bottom: 30px;
}

.lower_report .report_ranking .ranking table {
  width: 300px;
}

.lower_report .report_ranking .ranking table th,
.lower_report .report_ranking .ranking table td,
.lower_report .report_ranking .judge_ranking table td {
  padding: 2px 5px;
}

.lower_report .report_ranking .ranking table tbody tr {
  border-bottom: 1px dotted var(--bg_report_ranking);
  background: #fff;
}

.lower_report .report_ranking .ranking table th:first-child,
.lower_report .report_ranking .ranking table td:first-child {
  width: 80%;
}

.lower_report .report_ranking .ranking table thead {
  background: var(--bg_report_ranking);
}

.lower_report .report_ranking .ranking table th:last-child,
.lower_report .report_ranking .ranking table td:last-child {
  width: 20%;
}

.lower_report .report_ranking .ranking table th:last-child {
  text-align: center;
}

.lower_report .report_ranking .ranking table td:last-child {
  text-align: right;
}

.lower_report .judge_ranking ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 20px;
}

.lower_report .judge_ranking ul li {}

.lower_report .judge_ranking ul li p {
  background: #333;
  color: var(--white_font_color);
  text-align: center;
}

.lower_report .judge_ranking table {
  width: 100%;
  border: 1px solid var(--bg_report_ranking);
}

.lower_report .judge_ranking table tr:nth-child(odd) {
  background: var(--bg_report_ranking);
}

.lower_report .judge_ranking table tr:nth-child(even) {
  background: #fff;
}

.lower_report .judge_ranking table tr td:first-child {
  width: 15%;
}

.lower_report .judge_ranking table tr td:nth-child(2) {
  width: 15%;
}

.lower_report .judge_ranking table tr td:last-child {
  width: 70%;
}


/*******************
# エントリー
*******************/
.entry .entry_txt {
  text-align: center;
  margin-bottom: 30px;
}

.entry .entry_area_wrap .entry_area {
  text-align: center;
}

.entry .entry_area_wrap .entry_area:not(:last-child) {
  margin-bottom: 30px;
}

.entry .entry_area_wrap .entry_area:last-child {
  margin-bottom: 60px;
}


/*******************
# エントリーフォーム
*******************/
.entry_form form {
  padding: 40px;
  background: var(--bg_entry_form);
}

.entry_form table {
  margin: 40px 0 0;
}

.entry_form table tr {
  margin-bottom: 30px;
}

.entry_form table tr th,
.entry_form table tr td {
  display: block;
}

.entry_form table tr th {
  margin-bottom: 5px;
  font-size: 16px;
}

.entry_form table tr td {
  width: 100%;
  padding-bottom: 15px;
}


/* Contact Form 7 の input や select に適用 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="password"],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  /* パディングやボーダーも幅に含める */
  margin-bottom: 15px;
  /* 下部の余白を調整 */
  border: 1px solid #333;
  padding: 5px;
  border-radius: 3px;
  font-size: 14px;
}

/* ボタンの幅を固定にしたい場合 */
.wpcf7-form input[type="submit"] {
  width: 100%;
  padding: 15px 50px;
  background: var(--bg_entry_form_btn);
  color: var(--main_font_color);
  font-size: 18px;
  font-weight: 600;
  border: none;
  cursor: pointer;
}

/* 入力してくださいの文字 */
.wpcf7-not-valid-tip {
  margin-bottom: 10px;
  font-size: 12px !important;
}

.wpcf7-list-item {
  margin: 0 1em 0 0 !important;
}


.entry_form .terms {
  margin-bottom: 40px;
}

.entry_form .terms ol {
  margin-bottom: 10px;
}

.entry_form .terms ol {
  padding: 10px;
  background: #fff;
  border-radius: 5px;
  font-size: 13px;
}

.entry_form .contact_btn p {
  text-align: center;
}


/*******************
# news ニュース
*******************/
.news .news_container {
  align-items: center;
}

.news .news_ttl {
  margin-bottom: 0 !important;
}

.news ul li {
  padding: 10px 5px !important;
}


/*******************
# news 投稿ページ
*******************/
.post .post_wrapper pre {
  font-family: var(--txt_ja);
}

.post .post_wrapper pre,
.post .post_wrapper p,
.post .post_wrapper div {
  width: 94%;
  margin: 0 auto;
}

.post .post_wrapper .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.post .post_wrapper .alignright {
  float: right;
  margin-left: 1.5em;
}

.post .post_wrapper .alignleft {
  float: left;
  margin-right: 1.5em;
}

/* ===============================================
# マガジン
=============================================== */
.magazine .magazine_img {
  margin-bottom: 60px;
}

.magazine .magazine_item {
  margin-bottom: 90px;
}

.magazine .magazine_item p {
  text-align: center;
}

.magazine .magazine_item p:not(:last-child) {
  margin-bottom: 30px;
}

.magazine .magazine_date {
  margin-bottom: 40px;
}

.magazine .magazine_area:not(:last-child) {
  margin-bottom: 50px;
}

.magazine .magazine_area p {
  width: 94%;
  margin: 0 auto;
}

.magazine .magazine_entry {
  color: #fff;
  background: #01B901;
  max-width: 800px;
  height: 180px;
  font-size: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  margin: 0 auto;
  position: relative;
  margin-bottom: 30px;
  border-radius: 5px;
}

.magazine .magazine_entry::after {
  position: absolute;
  right: 30px;
  top: 50%;
  font: var(--fa-font-solid);
  content: "\f138";
  transform: translate(0, -50%);
  color: #fff;
  z-index: 2;
}






/* ===============================================
# タブレット
=============================================== */
@media screen and (max-width: 1280px) {
  .inner {
    width: 95%;
    max-width: 1200px;
  }

}

/* 1280px終わり */


@media screen and (max-width: 1140px) {
  header .header_container:nth-child(2) .header_nav-items a {
    font-size: 16px;
  }

  header .header_container:nth-child(2) .header_nav-items a span {
    font-size: 10px;
  }

  header .header_list .header_entry {
    font-size: 16px;
    padding: 9px 35px 9px 25px;
  }

}

/* 1140px終わり */




/* ===============================================
# スマホ
=============================================== */
@media screen and (max-width: 767px) {

  /*******************
  # 共通
  *******************/
  body {
    font-size: 14px;
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  .inner {
    width: 95%;
    max-width: 728px;
  }

  .contents {
    margin-bottom: 120px;
  }

  /* セクションタイトル */
  .sec_ttl {
    margin-bottom: 50px;
  }

  .sec_ttl h2 {
    font-size: 24px;
  }

  /* ボタン */
  .btn {
    margin-top: 40px;
  }

  .btn a {
    padding: 17px 60px;
    font-weight: 600;
  }

  /* 共通セクション */
  .common_sec ul li {
    padding: 10px 0;
  }

  .common_sec .common_ttl {
    margin-bottom: 8px;
    width: 95%;
    font-size: 14px;
    background: #e8eded;
    padding: 5px 10px;
    border-radius: 3px;
    font-weight: 600;
  }

  .common_sec .common_container {
    column-gap: 8px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  /* レポートのimg */
  .report .report_container img {
    width: 48%;
  }

  .report .report_container .report_item {
    width: 45%;
    margin-top: 15px;
  }

  /* イベントのimg */
  .event .event_container img {
    width: 150px;
    height: 150px;
  }

  .event .event_container .event_item,
  .news .news_container .news_item {
    width: calc(100% - 150px);
    margin-top: 15px;
  }

  .common_sec .common_container .common_box {
    flex-direction: column;
    align-items: flex-start;
  }

  .common_sec .common_container .common_box .common_date {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
  }

  

  .common_sec .common_container .common_area {
    align-items: normal;
    flex-direction: column;
    row-gap: 5px;
  }

  .common_sec .common_container .common_body {
    font-size: 13px;
  }

  .ng,
  .ok,
  .up {
    padding: 2px 10px;
  }

  /* アンカーリンク */
  .anker_link ul {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .anker_link ul li::before {
    top: auto;
    right: auto;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  .anker_link ul li a {
    padding: 10px 0 15px;
    font-size: 12px;
  }

  .anker_link_txt {
    width: 300px !important;
    font-size: 14px;
  }

  /* pagetop */
  #page-top {
    right: 20px;
  }

  #page-top a {
    width: 40px;
    height: 40px;
  }

  /* パンくず */
  .breadcrumb {
    width: 95%;
    max-width: 728px;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 30px;
  }

  /*******************
  # ヘッダー
  *******************/
  header .header_container {
    padding: 10px 3%;
    box-sizing: border-box;
    height: 87px;
  }

  header .header_container:nth-child(2) {
    box-shadow: 0px 4px 4px -5px gray;
  }

  header .header_container:nth-child(2) .drawer_nav-items li {
    text-align: left;
  }

  header .header_container:nth-child(2) .drawer_nav-items a {
    padding: 10px 40px 10px 20px;
    display: flex;
    position: relative;
    font-size: 16px;
    display: flex;
    align-items: baseline;
  }

  header .header_container:nth-child(2) .drawer_nav-items a::after {
    font: var(--fa-font-solid);
    content: "\f054";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
  }

  header .header_container:nth-child(2) .drawer_nav-items a span {
    padding-left: 20px;
    position: relative;
    font-size: 12px;
  }

  .drawer_nav_item:nth-child(1) .drawer_nav-items a span::before {
    position: absolute;
    content: "/";
    bottom: 0;
    left: 10px;
  }

  .drawer_nav_item:nth-child(2) header .drawer_nav-items {
    flex-direction: column;
  }

  header .drawer_nav-item ul li {
    color: var(--white_font_color);
  }

  header .header_container:nth-child(2) .header_logo {
    column-gap: 0;
  }

  /* ハンバーガー */
  .drawer_nav {
    box-sizing: border-box;
    position: fixed;
    width: 100%;
    height: 100vh;
    background: #fff;
    /* opacity: 0.95; */
    display: block;
    top: 86px;
    right: -120%;
    transition: right 0.5s;
    text-align: center;
    z-index: 1;
  }

  .drawer_nav.is-open {
    right: 0;
    z-index: 998;
  }

  .drawer_toggle {
    position: relative;
    z-index: 9999;
    cursor: pointer;
    display: inline-block;
    width: 70px;
    height: 70px;
    top: 0;
    right: 0;
    /* background: var(--bg_drawer); */
    border-radius: 100px;
  }


  .drawer_toggle span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 20px;
    height: 3px;
    width: 30px;
    background: var(--main_font_color);
    border-radius: 100px;
  }

  .drawer_toggle span:nth-of-type(1) {
    top: 22px;
  }

  .drawer_toggle span:nth-of-type(2) {
    top: 34px;
  }

  .drawer_toggle span:nth-of-type(3) {
    top: 46px;
  }

  .drawer_toggle.is-open span:nth-of-type(1) {
    top: 27px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 60%;
  }

  .drawer_toggle.is-open span:nth-of-type(2) {
    opacity: 0;
  }

  .drawer_toggle.is-open span:nth-of-type(3) {
    top: 39px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 60%;
  }

  #global_nav li:not(:last-child) {
    margin-bottom: 2rem;
  }

  #global_nav li a {
    padding: 10px;
  }

  .drawer_nav_item {
    /* display: flex;
    margin: 0 auto;
    justify-content: center;
    column-gap: 80px; */
  }

  .drawer_nav_item:first-child {
    width: 100%;
    /* margin-top: 50px; */
    display: block;
  }

  .drawer_nav_item:nth-child(2) ul {
    display: flex;
    flex-wrap: wrap;
  }

  .drawer_nav_item:nth-child(2) ul li {
    width: calc(100% / 2 - 1px);
  }

  .drawer_nav_item:nth-child(2) ul li:nth-child(odd) {
    border-right: 1px dotted var(--border_drawer_nav);
  }

  .drawer_nav_item:last-child {
    width: 100%;
    align-items: center;
    position: relative;
  }

  .drawer_nav_item:last-child a {
    display: block;
    text-align: center;
    font-size: 22px;
    padding: 15px 40px 15px 20px;
    background: var(--bg_header_entry);
    margin-bottom: 20px;
  }


  .drawer_nav_item:last-child::after {
    font: var(--fa-font-solid);
    content: "\f054";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: large;
  }

  .drawer_nav_item ul li {
    border-bottom: 1px dotted var(--border_drawer_nav);
  }

  .drawer_nav_item:first-child ul li:first-child {
    border-top: 1px dotted var(--border_drawer_nav);
  }

  .header_nav-item {
    margin-bottom: 8px;
    padding: 5px;
  }

  /* 背景（ページ部分）のスクロールを無効化 */
  .no-scroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  /* .hover_orange:hover {
    background: #f6f6f6;
  } */


  /*******************
  # トップ
  *******************/
  /* ルール */
  .rule .rule_container {
    column-gap: 15px;
  }

  .rule .rule_container .rule_item .rule_logo {
    width: 100px;
    height: 100px;
  }

  .rule .rule_container .rule_item p {
    font-size: 12px;
  }

  .rule .rule_container img {
    width: 80px;
    height: 80px;
  }

  .rule .rule_area .rule_body {
    padding: 30px 10px 10px;
  }

  .rule .rule_area .rule_body p,
  .rule .rule_area .rule_list p {
    margin-bottom: 15px;
  }

  /*******************
  # ルール
  *******************/
  .page-rule .rule_container {
    margin-bottom: 60px;
  }

  .rule h5 {
    width: 100%;
  }

  .rule .rule_area .rule_list p {
    width: 100%;
  }

  /*******************
  # イベント、レポート、(お知らせ)共通
  *******************/
  .lower_event h2,
  .lower_report h2,
  .post h2 {
    line-height: 1.2;
    font-size: 20px;
  }

  .common_sec .common_container .common_item i {
    padding-right: 10px;
  }

  .lower_report .winning_area {
    padding: 20px 15px;
  }



  /*******************
  # イベント
  *******************/
  .tabs {
    gap: 2px;
  }

  .tab_button {
    padding: 10px 5px;
  }

  .event_tab_button {
    font-size: 10px;
  }

  .detail_tab_button {
    font-size: 14px;
  }

  /*******************
  # イベント詳細
  *******************/
  .lower_event .event_detail {
    flex-direction: column-reverse;
  }

  .lower_event .event_detail_img {
    width: 100%;
  }

  .lower_event .event_detail .event_detail_box:not(:last-child) {
    margin-bottom: 30px;
  }

  .lower_event .event_entry_time a {
    height: 100px;
    font-size: 24px;
  }

  .lower_event #event_contact .contact_line {
    font-size: 20px;
    height: 80px;
  }

  .lower_event .event_entry_time p {
    font-size: 20px;
  }

  .cmn_ticket .ticket_link {
    width: 100%;
    height: 100px;
    font-size: 22px;
    text-align: center;
  }

  /*******************
  # レポート詳細
  *******************/
  .lower_report .report_ranking .ranking table {
    width: 100%;
  }

  /*******************
  # よくある質問
  *******************/
  .faq .faq_ttl::before,
  .faq .faq_ttl::after {
    top: 25px;
  }

  .faq .accordion_area span {
    padding-right: 0;
  }


  /*******************
  # フォーム
  *******************/
  .entry_form form {
    padding: 20px;
  }

  .entry_form .terms ol {
    height: 200px;
    overflow: auto;
  }


  /*******************
  # マガジン
  *******************/
  .magazine .magazine_entry {
    font-size: 20px;
    height: 100px;
    text-align: center;
  }




  /*******************
  # footer
  *******************/
  .footer .footer_nav .footer_nav-items1 {
    gap: 15px;
  }

















}

/* スマホ終わり */





@media screen and (max-width: 440px) {
  .rule .rule_container {
    column-gap: 5px;
  }
}

/* スマホ終わり */
