@charset "UTF-8";
/* ===================================
	File Name   : common.css
	Description : Base Layout CSS
	Editor      : Bface Saeki
	Last Editor : Bface Otake
	
	Update Description :
  [2025/10/02] 大阪大会動画配置変更
  [2025/07/30] 開催レポート追加
  [2025/06/30] 動画表示順クラス追加
  [2025/06/11] TOP以外のページのh1調整
  [2025/05/29] 大阪ラウンド 動画・チーム名追加
  [2025/05/08] gnavi追加に伴う余白調整
                バックナンバーのタブ要素追加
  [2025/05/07] 開催主旨の前に動画追加
	[2025/04/08] チャンピオン決定に伴う更新
====================================== */

/*========== Style Contents ==========

	1. Global Redefinition
	2. Font Redefinition
	3. Switch Setting
	4. Base Box Setting
	5. Common Items Setting
      - Basic Link
      - Global Navigation
      - Footer Items
	6. Module Setting
	7. Each Section Setting
      - leaders_video
      - leaders_purpose
      - leaders_outline
      - leaders_date
      - leaders_facilitator
      - leaders_target
      - leaders_fee
      - leaders_inquiry
      - leaders_period
      - leaders_list
      - leaders_report_list
      - leaders_report
      - leaders_final
      - leaders_backnumber

====================================== */



/*===== 1. Global Redefinition =====*/
body {
  color: #011433;
  font-weight: 500;
  line-height: 1.5;
}
dt,li,strong,em,span { line-height: 1.2;}
img { 
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
sup {
  font-size: 1.0rem;
  vertical-align: text-top;
}
figure img { display: block;}
time { font-family: 'Open Sans', sans-serif;}
a {cursor: pointer;}
th, td {-webkit-text-size-adjust: 100%;}

@media (max-width: 768px) {
  figure svg {
    display: block;
    width: 100%;
    height: auto
  }
  sup {
    font-size: 2rem;
  }
}



/*===== 2. Font Redefinition =====*/
html { font-size: 62.5%;}
body {
	font-size: 1.6em;  
  font-family: 'Noto Sans JP', sans-serif;
}
@media (max-width: 750px) {
	html { font-size: calc(100vw / 75 * 1);}
}
@media (max-width: 640px) { html { font-size: calc(100vw / 64 * 0.854);}}
@media (max-width: 480px) { html { font-size: calc(100vw / 48 * 0.64);}}
@media (max-width: 375px) { html { font-size: calc(100vw / 37.5 * 0.5);}}
@media (max-width: 360px) { html { font-size: calc(100vw / 36 * 0.48);}}
@media (max-width: 320px) { html { font-size: calc(100vw / 32 * 0.427);}}
@media (max-width: 768px) {
  body {
    font-size: 2.4rem;
  }
}

/*===== 3. Switch Setting =====*/
.pc { display: block;}
.sp { display: none;}
@media (max-width: 768px) {
  .pc { display: none;}
  .sp { display: block;}
}


/*===== 4. Base Box Setting =====*/
main {
  display: block;
  padding: 0 4.5rem;
}
section {
  margin: 5rem auto 0;
}
section section {
  margin-top: 2rem;
}
@media (max-width: 768px) {
  main {
    padding: 0 2rem;
  }  
  section {
    margin: 6rem 0 0;
  }
}


/*===== 5. Common Items Setting =====*/
/* Basic Link */
a {
  text-decoration: none;
  color: #011433;
}
a img { transition: .25s;}
a:hover img { opacity: .6;}
.soon {
  opacity: .6;
  pointer-events: none;
}
@media (max-width: 768px) {
  a img { transition: none;}
  a:hover img { opacity: 1;}
}


/* Global Navigation */
#gnavi {
  width: 100%;
	margin-bottom: 4rem;
  background-color: #011433;
}
#gnavi.fixed {
	position: fixed;
	top: 0;
	z-index: 99;
	width: 100%;
}
#gnavi > ul {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 1.1rem;
}
#gnavi > ul > li {
	position: relative;
}
#gnavi > ul > li:not(:last-child)::after {
	position: absolute;
	top: 50%;
	bottom: 50%;
	right: -.5rem;
	width: 1px;
	height: 2rem;
	margin: auto 0;
	background: #666;
	content: "";
}

#gnavi > ul > li > a[target="_blank"]::after {
  display: inline-block;
  width: 1.6rem;
  height: 1.4rem;
  margin-left: 0.5rem;
  background: url(../img/common/ico-blank-white.png) no-repeat center center / contain;
	transition: background .25s;
  content: "";
}
#gnavi > ul > li > a {
  display: block;
	position: relative;
  padding: 2.5rem 1.5rem;
  font-size: 1.8rem;
  color: #fff;
}
/*
#gnavi > ul > li > a::after {
	position: absolute;
	top: 50%;
	right: 1rem;
	width: .8rem;
	height: .8rem;
	border-right: .2rem solid currentColor;
	border-bottom: .2rem solid currentColor;
	transform: translateY(-50%) rotate(-45deg);
	content: "";
}
*/

#btn_gnavi { display: none;}

@media(hover: hover) {
  #gnavi > ul > li:hover {
    background-color: #fff;
  }
  #gnavi > ul > li:hover > a {
    color: #011433;
  }
  #gnavi > ul > li:hover > a[target="_blank"]::after {
    background-image: url(../img/common/ico-blank-black.png);
  }
}
#gnavi > ul > li.active {
	background-color: #fff;
}
#gnavi > ul > li.active > a {
	color: #011433;
}


@media (max-width: 768px) {
  #gnavi {
    position: fixed;
    top: 0;
    left: 0;
    height: 100svh;
		margin-bottom: 0;
    padding: 14rem 2rem 6rem;
    background-color: rgba(1, 30, 77, .8);
    overflow: scroll;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-100%);
    transition: all .25s;
    z-index: 99;
  }
  #gnavi > ul {
    flex-direction: column;
    gap: 0;
  }
  #gnavi > ul > li {
    padding: 0;
    border-bottom: .2rem solid #666;
  }
	#gnavi > ul > li:not(:last-child)::after {
		display: none;
	}
  #gnavi > ul > li:hover {
    background-color: transparent;
  }
  #gnavi > ul > li:has( > a) {
    padding: 0;
  }
  #gnavi > ul > li > a {
    display: block;
    padding: 3rem 2rem;
    text-align: center;
    font-size: 3.2rem;
  }
  #gnavi > ul > li:hover > a {
    color: #fff;
  }
  #gnavi > ul > li > a[target="_blank"]::after {
    width: 2.5rem;
    height: 2.5rem;
    margin-left: 1rem;
  }
  #gnavi > ul > li:hover > a[target="_blank"]::after {
    background-image: url(../img/common/ico-blank-white.png);
  }
	
	#btn_gnavi {
		display: block;
		position: fixed;
		top: 2rem;
		right: 2rem;
		width: 8rem;
		height: 8rem;
		background: linear-gradient(0deg, #01368a 0%, #0154d6 50%, #0363ff 100%);
		box-shadow: 0 .4rem .4rem rgba(1, 30, 77, .25);
		z-index: 100;
	}
	#btn_gnavi b {
		position: absolute;
		bottom: 1.5rem;
		left: 50%;
		font-family: 'Open Sans', sans-serif;
		font-weight: 700;
		font-size: 2rem;
		color: #fff;
		line-height: 1;
		transform: translateX(-50%);
	}
	#btn_gnavi span {
		position: absolute;
		top: 2rem;
		left: 50%;
		width: 4rem;
		height: 1.8rem;
		transform: translateX(-50%);
	}
	#btn_gnavi span::before,
	#btn_gnavi span::after {
		display: block;
		position: absolute;
		left: 50%;
		width: 4rem;
		height: 0.4rem;
		background-color: #fff;
		transform: translateX(-50%);
		transition: all .25s;
		content: "";
	}
	#btn_gnavi span::before{
		top: 0;
	}
	#btn_gnavi span::after{
		top: 1.4rem;
	}
	
  /* button active */
  [class^="active"] body {
    overflow: hidden; 
    height: 100svh;
  }
  [class^="active"] body::after {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    width: 100%;
    height: 100svh;
    content: "";
  }
  [class^="active"] #gnavi {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  [class^="active"] #btn_gnavi span::before,
  [class^="active"] #btn_gnavi span::after {
    top: .5rem;
  }
  [class^="active"] #btn_gnavi span::before{
    transform: translateX(-50%) rotate(45deg);
  }
  [class^="active"] #btn_gnavi span::after{
    transform: translateX(-50%) rotate(-45deg);
  }
}


/* Footer Items */
footer {
  margin-top: 5rem;
  background-color: #f4f4f4;
  border-bottom: .1rem solid #fff;
}
footer > div:first-child {
  padding: 0 4.5rem 3rem;
}

footer #footer_inquiry {
  display: flex;
  justify-content: space-between;
  padding: 2.4rem 0;
  margin: 0 4.5rem;
  color: #666;
}
footer #footer_inquiry a {
  color: #666;
}
footer #footer_inquiry address p:first-child{
  line-height: 1;
  font-size: 2rem;
}
footer #footer_inquiry address p:last-child{
  margin-top: 1rem;
  line-height: 1.7;
  font-size: 1.4rem;
}
footer #footer_inquiry > div a {
  display: block;
  width: 30rem;
  text-align: right;
  font-size: 1.4rem;
}
footer #footer_inquiry > div a:last-child {
  margin-top: 1rem;
}
@media(hover:hover) {
  footer #footer_inquiry a:hover {
    color: #444;
  }
}
@media (max-width: 768px) {
  footer {
    margin-top: 6rem;
  }
  footer > div:first-child {
    padding: 0 2rem 3rem;
  }
  footer #footer_inquiry {
    flex-direction: column;
    gap: 3.4rem;
    padding: 3rem 0;
    margin: 0 4.5rem;
  }
  footer #footer_inquiry address p {
    text-align: center;
  }
  footer #footer_inquiry address p:first-child{
    font-size: 2.8rem;
  }
  footer #footer_inquiry address p:last-child{
    margin-top: 1.6rem;
    line-height: 1.7;
    font-size: 2.4rem;
  }
  footer #footer_inquiry > div a {
    width: auto;
    text-align: center;
  }
  footer #footer_inquiry > div a:first-child img {
    width: 35.5rem;
  }
  footer #footer_inquiry > div a:last-child {
    margin-top: 1rem;
    font-size: 2.4rem;
  }

}



/*===== 6. Module Setting =====*/
/* Anchor */
#anchor {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 3rem;
}
#anchor li a {
  position: relative;
  display: block;
  min-width: 20rem;
  padding: 1.3rem 2.5rem;
  background-color: #013280;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  transition: background-color .25s;
}
#anchor li a::after {
  position: absolute;
  right: 1rem;
  top: 50%;
  display: inline-block;
  background-color: currentColor;
  width: 1.2rem;
  height: .6rem;
  margin-left: auto;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  transform: translateY(-45%);
  transition: transform .25s;
  content: "";
}
@media(hover:hover) {
  #anchor li a:hover {
    background-color: #024fcc;
  }
  #anchor li a:hover::after {
    transform: translateY(-15%);
  }
}
@media (max-width: 768px) {
  #anchor {
    flex-wrap: wrap;
  }
  #anchor li a {
    padding: 1.3rem 3.5rem;
    font-size: 2.4rem;
  }
  #anchor li a::after {
    width: 2rem;
    height: 1rem;
  }
}


/* Visual */
#visual {
  position: relative;
  display: grid;
  min-height: 50rem;
}
#visual::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  background: linear-gradient(45deg, #011433 25%, transparent 25%, transparent 75%, #011433 75%),
              linear-gradient(45deg, #011433 25%, transparent 25%, transparent 75%, #011433 75%);
  background-size: .2rem .22rem;
  background-position: 0 0, .1rem .1rem;
  opacity: .5;
  z-index: 1;
	content: "";
}
#visual::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(1, 30, 77, .25);
  z-index: 0;
	content: "";
}
#visual > div:first-child {
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  align-self: center;
  font-weight: 700;
  color: #fff;
  text-align: center;
  z-index: 2;
}
#visual > div:first-child h1 {
  margin-bottom: 2rem;
  line-height: 1.2;
  font-size: 6rem;
}
#visual > div :not(.boxlink) span {
  display: block;
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
#visual > img:last-child {
  grid-row: 1;
  grid-column: 1;
  max-width: none;
  width: 100%;
  object-fit: cover;
}
#visual #bg {
  grid-row: 1;
  grid-column: 1;
  position: relative;
}
#visual #bg::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	background: url(../img/img-visual-bg.jpg) center center / cover no-repeat;
  content: "";
}

#visual #bg:has(#video_wrapper) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#visual #bg:has(#video_wrapper)::before { background: none;}
#visual #bg:has(#video_wrapper)::after { display: none;}
#visual #bg:has(#video_wrapper) #video_wrapper {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: -1;
}
#visual #bg:has(#video_wrapper) #video_wrapper video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}

@media (max-width: 768px) {
	#visual { margin-bottom: 2rem;}
	#visual.big { min-height: 100rem;}
  #visual > div :not(.boxlink) span { font-size: 2.4rem;}
	#visual #bg::before { background: url(../img/img-visual-bg-sp.jpg) center center / cover no-repeat;}
  #visual #bg:has(#video_wrapper) {
    overflow-y: hidden;
  }
	#visual #bg:has(#video_wrapper) #video_wrapper {
		width: 100%;
	}
}


/* Link */
/* Link - Boxlink */
a.boxlink {
  display: block;
  position: relative;
  width: 100%;
  max-width: 64rem;
  margin: 0 auto;
  padding: 1.8rem;
  background-color: #011433;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  line-height: 1;
  transition: background 1s;
  overflow: hidden;
}
a.boxlink.red { background-color: #c00;}
main a.boxlink + a.boxlink { margin-top: 1rem;}
a.boxlink span {
  position: relative;
}
a.boxlink span em {
  display: inline-block;
	margin: 0 1rem;
	font-size: 1.4rem;
}
a.boxlink::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(0, #01368a 20%, #0154d6 50%, #0363ff 85%);
	opacity: 0;
  transition: all .25s ease-out;
  content: "";
}
a.boxlink.red::before { background: linear-gradient(0, #900 20%, #c00 50%, #f00 85%);}

a.boxlink::after {
  position: absolute;
  right: 1rem;
  top: 50%;
  display: inline-block;
  background-color: currentColor;
  width: 1rem;
  height: 2rem;
  margin-left: auto;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  transform: translateY(-50%);
  transition: all .25s ease-out;
  content: "";
}
a.boxlink.left {
  margin: 0;
}
@media(hover: hover) {
  a.boxlink:hover::before {
		opacity: 1;
  }
  a.boxlink:hover::after {
    transform-origin: left center;
    transform:  translate(.5rem, -50%);
  }
  a.boxlink.left {
    margin: 0;
  }
}
@media (max-width: 768px) {
  a.boxlink {
    padding: 2.5rem 4rem;
    font-size: 3.2rem;
  }
	a.boxlink span em {
		font-size: 2.4rem;
	}
  a.boxlink::after {
    right: 2rem;
    width: 2rem;
    height: 3.4rem;
  }
  a.boxlink.left {
    margin: 0 auto;
  }
}


/* Link - Textlink */
a.textlink {
	padding-bottom: 0.5rem;
	background: linear-gradient(to top,#c00 0,transparent 100%) 0 100%/100% 0.1rem no-repeat;
	color: #c00;
	text-decoration: none;
	transition: background-size .4s;
  line-height: 1.86;
  word-break: break-all;
}
a[target="_blank"].textlink::after {
  display: inline-block;
  width: 1.6rem;
  height: 1.4rem;
  margin-left: 0.5rem;
  background: url(../img/common/ico-blank-red.png) no-repeat center center / contain;
	transition: background .25s;
  content: "";
}
@media(hover:hover) {
	a.textlink:hover {
		background: initial;
	}
}
@media (max-width: 768px) {
  a[target="_blank"].textlink::after {
    width: 2.4rem;
    height: 2.2rem;
    margin-left: 1rem;
  }
}


/* Title */
#headline {
  margin: 4.5rem 0 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #011433;
  font-weight: 700;
  font-size: 4rem;
  line-height: 1.4;
  text-align: center;
}

/* Title - Subhead */
.tit_subhead {
  position: relative;
  margin-bottom: 1.8rem;
  padding-bottom: 2rem;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
.tit_subhead::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6rem;
  height: .5rem;
  background: linear-gradient(90deg, #01368a 0%, #0154d6 50%, #01368a 100%);
  transform: translateX(-50%);
  content: "";
}
.tit_subhead em {
	display: inline-block;
	position: relative;
}
.tit_subhead b {
  display: block;
  font-size: 2rem;
}
.tit_subhead span {
  display: block;
  margin-top: .5rem;
  font-weight: 500;
  font-size: 1.6rem;
}


@media (max-width: 768px) {
	#headline { font-size: 3.6rem;}
  .tit_subhead b { margin-bottom: .5rem; font-size: 2.4rem;}
  .tit_subhead span { margin-top: 1rem; font-size: 2rem;}
}


/* Table */
/* Table - Scroll*/
div.table_scroll {
  width: 100%;
  margin: 0 auto;
}
div.table_scroll table {
  width: 100%;
  border-collapse: separate;
  table-layout: fixed;
  border: .1rem solid #011433; 
}
div.table_scroll table th {
  padding: 1.5rem 2rem;
  background-color: #011433;
  color: #fff;
  font-size: 1.8rem;
}
div.table_scroll table th:not(:first-child) {
  border-left: .1rem solid #fff
}
div.table_scroll table td {
  padding: 1.5rem 2rem;
}
div.table_scroll table tr:not(:first-child) td {
  border-top: .1rem solid #011433;
}
div.table_scroll table td:not(:first-child) {
  border-left: .1rem solid #011433;
}
div.table_scroll table td:not(:first-child) {
  border-left: .1rem solid #011433;
}
@media (max-width: 768px) {
  div.table_scroll {
    white-space: nowrap;
    overflow: scroll;
  }
  div.table_scroll table {
    table-layout: auto;
    width: 100%;
    border-width: .2rem; 
  }
  div.table_scroll table th {
    font-size: 2.4rem;
  }
  div.table_scroll table th:not(:first-child) {
    border-width: .2rem;
  }
  div.table_scroll table td {
    font-size: 2.4rem;
  }
  div.table_scroll table tr:not(:first-child) td {
    border-width: .2rem;
  }
  div.table_scroll table td:not(:first-child) {
    border-width: .2rem;
  }
  div.table_scroll table td:not(:first-child) {
    border-width: .2rem;
  }
}

/* List */
/* List - Dots */
ul.list_dots > li {
  position: relative;
  padding-left: .88em;
}
ul.list_dots > li:not(:first-child) { margin-top: 1.3rem;}
ul.list_dots > li::before {
  position: absolute;
  top: .5em;
  left: 0;
  width: .6rem;
  height: .6rem;
  background: currentColor;
  border-radius: 50%;
  content: "";
}
ul.list_dots.inline > li {
  display: inline-block;
}
ul.list_dots.inline > li:not(:last-child) {
  margin-right: 1rem;
}
@media (max-width: 768px) {
}

ul.list_num > li {
  position: relative;
  padding-left: 2em;
  counter-increment: num;
}
ul.list_num > li:not(:first-child) { margin-top: 1.5rem;}
ul.list_num > li::before {
  display: grid;
  place-content: center;
  position: absolute;
  top: -.2rem;
  left: 0;
  width: 1.8em;
  height: 1.8em;
  background: #011433;
  border-radius: 50%;
  color: #fff;
  font-size: 1.4rem;
  font-family: 'Open Sans', sans-serif;
  content: counter(num, decimal-leading-zero);
}
@media (max-width: 768px) {
	ul.list_num > li { padding-left: 4.5rem;}
  ul.list_num > li:not(:first-child) { margin-top: 2rem;}
  ul.list_num > li::before {
    font-size: 2rem;
  }
}

/* List - Video */
ul.list_video {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  line-height: 1.4;
}

div.list_video {
  max-width: 64rem;
  margin: 5rem auto;
}

ul.list_video.descend {
  gap: 2.5rem;
	grid-auto-rows: auto;
	grid-template-columns: repeat(6, 1fr);
}

ul.list_video.descend:has( > *:nth-child(1)) > *:nth-child(1) { grid-column: 3/5; grid-row: 1;}

ul.list_video.descend:has( > *:nth-child(2)) > *:nth-child(1) { grid-column: 2/4; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(2)) > *:nth-child(2) { grid-column: 4/6; grid-row: 1;}

ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(1) { grid-column: 1/3; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(2) { grid-column: 3/5; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(3) { grid-column: 5/7; grid-row: 1;}

ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(1) { grid-column: 3/5; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(2) { grid-column: 1/3; grid-row: 2;}
ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(3) { grid-column: 3/5; grid-row: 2;}
ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(4) { grid-column: 5/7; grid-row: 2;}

ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1) { grid-column: 2/4; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2) { grid-column: 4/6; grid-row: 1;}
ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3) { grid-column: 1/3; grid-row: 2;}
ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4) { grid-column: 3/5; grid-row: 2;}
ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5) { grid-column: 5/7; grid-row: 2;}

#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1),
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1) {
  grid-column: 1 / 3; grid-row: 1;
}
#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2),
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2) {
  grid-column: 3 / 5; grid-row: 1;
}
#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3) ,
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3) {
  grid-column: 5 / 7; grid-row: 1;
}
#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4),
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4) {
  grid-column: 1 / 3; grid-row: 2;
}
#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5),
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5) {
  grid-column: 3 / 5; grid-row: 2;
}
#osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(6),
#fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(6) {
  grid-column: 5 / 7; grid-row: 2;
}

.list_video a {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #fff;
}
.list_video a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  background: linear-gradient(45deg, rgba(1, 30, 77, .5) 25%, transparent 25%, transparent 75%, rgba(1, 30, 77, .5) 75%),
              linear-gradient(45deg, rgba(1, 30, 77, .5) 25%, transparent 25%, transparent 75%, rgba(1, 30, 77, .5) 75%);
  background-size: .2rem .2rem;
  background-position: 0 0, .1rem .1rem;
	transition: opacity .25s;
	content: "";
}
.list_video a::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(1, 30, 77, .25);
	transition: opacity .25s;
	content: "";
}
.list_video a p {
	position: absolute;
	padding: .5rem 1rem;
	background: #011433;
	text-align: center;
	transition: all .25s;
	z-index: 1;
}
.list_video a img {
	object-fit: cover;
}

div.list_video > p {
  text-align: right;
}

@media(hover: hover) {
	.list_video a:hover {
		color: #011433;
	}
	.list_video a:hover::before {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8rem;
		height: 8rem;
		margin: 0 auto;
		border-radius: 100%;
		background: #fff;
		transform: translateX(-50%) translateY(-50%);
		opacity: .8;
	}
	.list_video a:hover::after {
		top: 50%;
		left: 50%;
		width: 3rem;
		height: 4rem;
		background: #c00;
		transform: translateX(-50%) translateY(-50%);
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
	}
	.list_video a:hover p {
		opacity: 0;
	}
	.list_video a:hover img {
		opacity: 1;
	}
}
@media (max-width: 768px) {
	ul.list_video {
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}
	ul.list_video li {
		padding-bottom: 6rem;
	}

  div.list_video {
    max-width: none;
    margin: 6rem auto 0;
  }
	
	ul.list_video.descend {
		grid-template-columns: repeat(2, 1fr);
	}
	
	ul.list_video.descend:has( > *:nth-child(1)) > *:nth-child(1) { grid-column: 1/2; grid-row: 1;}

	ul.list_video.descend:has( > *:nth-child(2)) > *:nth-child(1) { grid-column: 1/2; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(2)) > *:nth-child(2) { grid-column: 2/3; grid-row: 1;}

	ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(1) { grid-column: 1/2; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(2) { grid-column: 2/3; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(3)) > *:nth-child(3) { grid-column: 1/2; grid-row: 2;}

	ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(1) { grid-column: 1/2; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(2) { grid-column: 2/3; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(3) { grid-column: 1/2; grid-row: 2;}
	ul.list_video.descend:has( > *:nth-child(4)) > *:nth-child(4) { grid-column: 2/3; grid-row: 2;}

	ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1) { grid-column: 1/2; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2) { grid-column: 2/3; grid-row: 1;}
	ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3) { grid-column: 1/2; grid-row: 2;}
	ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4) { grid-column: 2/3; grid-row: 2;}
	ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5) { grid-column: 1/2; grid-row: 3;}

  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1),
  #fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(1) {
    grid-column: 1/2; grid-row: 1;
  }
  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2),
  #fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(2) {
    grid-column: 2/3; grid-row: 1;
  }
  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3),
  #fukuoka_page  ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(3) {
    grid-column: 1/2; grid-row: 2;
  }
  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4) ,
  #fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(4) {
    grid-column: 2/3; grid-row: 2;
  }
  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5), 
  #fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(5){
    grid-column: 1/2; grid-row: 3;
  }
  #osaka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(6),
  #fukuoka_page ul.list_video.descend:has( > *:nth-child(5)) > *:nth-child(6) {
    grid-column: 2/3; grid-row: 3;
  }

	.list_video a {
		display: block;
	}
	.list_video a::before {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 8rem;
		height: 8rem;
		margin: 0 auto;
		border-radius: 100%;
		background: #fff;
		transform: translateX(-50%) translateY(-50%);
		opacity: .8;
	}
	.list_video a::after {
		top: 50%;
		left: 50%;
		width: 3rem;
		height: 4rem;
		background: #c00;
		transform: translateX(-50%) translateY(-50%);
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
	}
	.list_video a p {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 6rem;
		top: 100%;
		padding: 1rem;
		font-size: 2rem;
		transform: none;
		opacity: 1 !important;
	}

  div.list_video > p {
    margin-top: 6rem;
    font-size: 2rem;
  }
}

/* Important Box */
div.important_box {
  margin-top: 3rem;
  padding: 1.8rem;
  background-color: #fcf2f2;
}
div.important_box > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-weight: 700;
  font-size: 1.8rem;
  color: #c00;
  text-align: center;
}
div.important_box > strong::before, 
div.important_box > strong::after {
  display: inline-block;
  background-color: currentColor;
  width: 2rem;
  height: .1rem;
  content: "";
}
div.important_box > strong + * {
  margin-top: 2rem;
}
@media (max-width: 768px) {
  div.important_box {
    padding: 2rem;
  }
  div.important_box > strong {
    gap: 2rem;
    font-size: 3.2rem;
  }
  div.important_box > strong::before, 
  div.important_box > strong::after {
    width: 3rem;
    height: .2rem;
  }
}



/* Notice */
.notice {
  margin-top: 1.5rem;
  color: #c00;
  font-size: 1.4rem;
  text-indent: -1em;
  padding-left: 1em;
}
.notice + .notice {
  margin-top: .5rem;
}
.notice.right {
  text-align: right;
}
.notice.center { text-align: center;}

@media (max-width: 768px) {
  .notice {
    font-size: 2rem;
  }
  .notice.right {
    text-align: left;
  }
}



/*===== 7. Each Section Setting =====*/
/* leaders_video */
#leaders_video {
	position: relative;
	max-width: 102.4rem;
	margin: 5rem auto 0;
	aspect-ratio: 16/9;
}

#leaders_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 768px) {
  #leaders_video {
    margin: 6rem auto 0;
  }
}


/* leaders_purpose */
#leaders_purpose {
	> div {
		display: grid;
    grid-template-columns: 1fr 1fr;
		column-gap: 3rem;
		max-width: 102.4rem;
		margin: 2rem auto 0;
		p {
			span {
				display: block;
				margin-bottom: 1.5rem;
				line-height: 1.75;
			}
		}
	}
}

@media (max-width: 768px) {
	#leaders_purpose {
		> div {
			display: block;
			margin: 0 auto;
			p {
				margin-bottom: 3rem;
				span {
					margin-bottom: 2rem;
				}
			}
		}
	}
}

/* leaders_outline */
#leaders_outline {
  h2 + p {
    margin-bottom: 2rem;
    text-align: center;
    line-height: 1.75;
  }
  > div {
    display: flex;
    position: relative;
    gap: 3rem 4rem;
    &::before {
      position: absolute;
      top: 8rem;
      left: 0;
      z-index: -1;
      width: 100%;
      height: 1rem;
      background: linear-gradient(to right, #fff, #999, #666);
      content: "";
    }
    dl {
      flex: 1;
      display: flex;
      flex-direction: column;
      padding: 1rem;
      background: #e5eefb;
    }
    dt {
      margin-bottom: 1.5rem;
      padding: 1rem;
      background: #011433;
      color: #fff;
      font-weight: bold;
      font-size: 1.8rem;
      line-height: 1.2;
      text-align: center;
    }
    dd {
      flex: 1;
      display: flex;
      flex-direction: column;
      figure {text-align: center;}
      figcaption {
        display: inline-block;
        padding: 0 1rem 1rem;
        border-bottom: 1px solid #ccc;
        font-weight: bold;
        font-size: 2rem;
      }
      ul,p {
        flex: 1;
        padding: 1.5rem;
        background: #fff;
      }
    }
  }
}

@media (max-width: 768px) {
  #leaders_outline {
    h2 + p { text-align: left;}
    > div { flex-direction: column;
      &::before {
        top: 0;
        left: 2rem;
        width: 1rem;
        height: 100%;
        background: linear-gradient(to bottom, #fff, #999, #666);
      }
      dt {
        padding: 1.5rem;
        font-size: 2.4rem;
      }
      dd {
        figcaption {
          font-size: 2.8rem;
        }
      }
    }
  }
}

/* leaders_date */
#leaders_date {
  h2 + p {
    margin-bottom: 2rem;
    text-align: center;
    line-height: 1.75;
  }
  figure {
    width: 100%;
    max-width: 102.4rem;
    margin: 0 auto 3rem;
  }
  div.table_scroll {
    max-width: 102.4rem;
    margin: o auto;
    table { table-layout: auto;}
    td {
      font-weight: bold;
			text-align: center;
      vertical-align: middle;
      span {
        display: block;
        margin: .25rem 0;
        font-weight: normal;
        font-size: 1.4rem;
        text-align: center;
      }
			p {
				margin-top: 2.5rem;
				span { text-align: left;}
			}
    }
  }
  > p.notice {
    max-width: 102.4rem;
    margin: 1rem auto 0;
    text-align: left;
  }

  > p.notice + p.notice {
    margin-top: .5rem;
  }
}

@media (max-width: 768px) {
  #leaders_date {
    h2 + p {
      text-align: left;
    }
    div.table_scroll {
      td {
        span {
          margin-top: 1rem;
          font-size: 2rem;
        }
      }
    }
  }
}

/* leaders_facilitator */
#leaders_facilitator {
  > div {
    display: flex;
    column-gap: 3rem;
    width: 100%;
    max-width: 102.4rem;
    margin: 0 auto;
    padding: 1rem;
    background: #e5eefb;
    figure {
      width: 30rem;
    }
    dl {
      flex: 1;
      margin-top: 1rem;
      dt {
        margin-bottom: 1.5rem;
        font-weight: bold;
        font-size: 2rem;
        b {
          font-size: 1.6rem;
        }
        span {
          display: block;
          margin-top: 1rem;
          font-weight: normal;
          font-size: 1.4rem;
        }
      }
      dd p:not(:last-child){ margin-bottom: 1.5rem;}
    }
  }
}

@media (max-width: 768px) {
  #leaders_facilitator {
    > div {
      flex-direction: column;
      column-gap: 0;
      padding: 2rem;
      figure {
        width: 50%;
        margin: 0 auto;
      }
      dl {
        margin-top: 0;
        dt {
          margin: 2rem 0;
          font-size: 2.4rem;
          b { font-size: 2rem;}
          span {
            margin-top: 1rem;
            font-size: 2rem;
          }
        }
      }
    }
  }
}

/* leaders_target */
#leaders_target {
  h2 + p {
    font-size: 2.4rem;
    text-align: center;
  }
  p:has( + ul) {
    margin-top: 1.5rem;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.55;
  }
  p sub {
    color: #c00;
    font-size: 1.6rem;
  }
  ul {
    width: 100%;
    max-width: 102.4rem;
    margin: 2rem auto 0;
    padding: 3rem;
    border: .1rem solid #011433;
    font-size: 1.8rem;
  }
  p.notice {
    width: 100%;
    max-width: 102.4rem;
    margin: 1rem auto 0;
  }
  > p.notice + p.notice {
    margin-top: .5rem;
  }
}

@media (max-width: 768px) {
  #leaders_target {
    h2 + p {
      font-size: 3.2rem;
      text-align: left;
    }
    p:has( + ul) {
      font-size: 2.4rem;
      text-align: left;
    }
    p sub {
      font-size: 2.4rem;
    }
    ul {
      margin: 2rem auto 0;
      padding: 2rem;
      font-size: 2.4rem;
    }
  }
}

/* leaders_fee */
#leaders_fee {
  dl {
    display: flex;
    font-size: 1.8rem;
    dt {
      display: flex;
      justify-content: center;
      align-items: baseline;
      width: 50%;
      padding: 3rem 1.5rem;
      background-color: #011433;
      color: #fff;
      font-size: 1.8rem;
      text-align: center;
      span {
        font-size: 1.6rem;
      }
    }
    dd {
      display: flex;
      place-content: center;
      align-items: baseline;
      width: 50%;
      padding: 2rem 1rem;
      border: .1rem solid currentColor;
      font-family: 'Open Sans', 'Noto Sans JP', sans-serif;
      span {
        margin-left: .05rem;
      }
    }
  }
  dl:first-of-type {
    margin-top: 2.4rem;
    dd {
      border-color: #011433;
      color: #c00;
      font-weight: bold;
      font-size: 2.4rem;
      span {
        color: #011433;
        font-size: 1.8rem;
      }
    }
  }
  dl:not(:first-of-type) {
    margin-top: .1rem;
    dd {
      font-weight: bold;
      font-size: 2.2rem;
      span {
        font-weight: normal;
        font-size: 1.6rem;
      }
    }
  }
}

@media (max-width: 768px) {
  #leaders_fee {
    dl {
      display: flex;
      font-size: 2.4rem;
      dt {
        width: auto;
        min-width: 20rem;
        font-size: 2.4rem;
        span {
          font-size: 2rem;
        }
      }
      dd {
        flex: 1;
        width: auto;
        padding: 2rem;
        border-width: .2rem;
        font-size: 3.2rem;
      }
    }
    dl:first-of-type {
      margin-top: 2.4rem;
      dd {
        font-size: 3.2rem;
        span {
          font-size: 2rem;
        }
      }
    }
    dl:not(:first-of-type) {
      margin-top: .1rem;
      dd {
        font-size: 3.2rem;
        span {
          font-weight: bold;
          font-size: 2rem;
        }
      }
    }
  }
}

/* leaders_inquiry */
#leaders_inquiry {
  h2 + p {
    margin-bottom: 2rem;
    text-align: center;
    line-height: 1.75;
  }
}
  
@media (max-width: 768px) {
  #leaders_inquiry {
    h2 + p {
      text-align: left;
    }
    a.boxlink { margin-top: 2rem;}
  }
}

/* leaders_period */
[id^="leaders_period"] {
	dl {
		display: grid;
		grid-template-columns: auto auto auto auto;
		justify-content: center;
		grid-column-gap: 1rem;
		margin-bottom: 4rem;
		border-bottom: 1px solid #011433;
		dt {
			place-content: center;
			min-width: 10rem;
			padding: 1.5rem 2rem;
			background: #011433;
			color: #fff;
			font-size: 1.8rem;
			text-align: center;
			&:not(:first-of-type) { margin-left: 2rem;}
		}
		dd {
			place-content: center;
			min-width: 18rem;
			margin-left: 1rem;
			padding: 1rem 0;
			font-size: 2rem;
			&:not(:last-of-type) { margin-right: 2rem;}
			span {
				display: block;
				font-size: 1.6rem;
			}
		}
	}
}
  
@media (max-width: 768px) {
	[id^="leaders_period"] {
		dl {
			grid-template-columns: auto 1fr;
			justify-content: flex-start;
			border-top: 1px solid #011433;
			dt {
				border-top: 1px solid #fff;
				border-bottom: 1px solid #fff;
				font-size: 2.2rem;
				&:not(:first-of-type) {
					margin-left: 0;
					border-top: none;
				}
			}
			dd {
				font-size: 2.2rem;
				&:not(:last-of-type) {
					margin-right: 0;
					border-bottom: 1px dotted #999;
				}
				span { font-size: 2rem;}
			}
		}
	}
}

/* leaders_list */
#leaders_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  width: 100%;
  max-width: 102.4rem;
  margin: 3rem auto 0;
  > div {
    background: #e5eefb;
    counter-increment: number;
    > h2 {
      position: relative;
      padding: 1rem 1rem 1rem 7rem;
      background: #011433;
      color: #fff;
      font-size: 1.6rem;
      line-height: 1.2;
      &::before {
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      align-items: center;
      height: 100%;
      padding: 0 2rem;
      background: #c00;
      color: #fff;
      font-weight: bold;
      font-size: 2rem;
      font-family: 'Open Sans', sans-serif;
      content: counter(number, upper-alpha)"";
      }
    }
    ul.list_dots {
      margin: 0 2rem;
      padding: 2rem 0;
      li {
        font-size: 1.6rem;
        > span {
          font-size: 1.4rem;
          margin-right: 1rem;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  #leaders_list {
    grid-template-columns: 1fr;
    gap: 2rem;
    > div {
      > h2 {
        padding: 1.5rem 1rem 1.5rem 8.5rem;
        font-size: 2.4rem;
        &::before {
        padding: 0 2.5rem;
        font-size: 2.4rem;
        }
      }
      ul.list_dots {
        margin: 0 2rem;
        li {
          font-size: 2.4rem;
          > span {
            font-size: 2rem;
          }
        }
      }
    }
  }
}

/* leaders_report_list */
#leaders_report_list {
  width: 100%;
  max-width: 102.4rem;
}

#leaders_report_list > ul {
  display: flex;
  gap: 2.5rem;
  margin: 3rem auto 0;
}

#leaders_report_list > ul li {
  padding: 1rem;
  background: #e5eefb;
}

#leaders_report_list > ul li > figure {
  margin-bottom: 2rem;
}

#leaders_report_list > ul li > div {
  padding: 1.5rem;
  background: #fff;
}

#leaders_report_list > ul li > div > h3 {
  margin-bottom: 2rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
}



@media (max-width: 768px) {
  #leaders_report_list > ul {
    flex-direction: column;
  }
  
  #leaders_report_list > ul li > div > h3 {
    font-size: 2.8rem;
  }
}


/* leaders_report */
.leaders_report {
	margin-bottom: 4rem;
	h2 {
    margin-bottom: 4rem;
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    > span {
      display: block;
      margin-top: .5rem;
      font-size: 2rem;
    }
	}
	.important_box {
		position: relative;
		width: 100%;
		max-width: 102.4rem;
		margin: 0 auto 4rem;
		h3 {
			position: absolute;
			left: -1rem;
			top: -2rem;
			padding: .5rem 1rem .75rem 1.5rem;
			box-shadow: .1rem .25rem .25rem rgba(0,0,0,.25);
			border-radius: .5rem;
			background: linear-gradient(140deg, #41280f 0%, #715402 15%, #e1ce08 35%, #41280f 100%);
			color: #fff;
			font-weight: bold;
			font-size: 2rem;
			text-shadow: .25rem .25rem .5rem rgba(0,0,0,.25),0 .25rem 0 rgba(0,0,0,.15);
			transform: rotate(-5deg);
		}
		div {
			display: grid;
			grid-template-columns: minmax(25%, 30rem) auto;
			column-gap: 4rem;
			dl {
				display: grid;
				grid-template-columns: 15rem 1fr;
				grid-auto-rows: min-content;
				column-gap: 2rem;
				row-gap: 1rem;
				align-items: flex-start;
				dt {
					grid-column: 1/2;
					padding: .5rem 1rem;
					background: #c00;
					color: #fff;
					text-align: center;
				}
				dd {
					grid-column: 2/3;
					padding-top: .25rem;
					li {
						font-size: 1.4rem;
						&:not(:first-child) { margin-top: 1rem;}
						b {
							display: inline-block;
							margin-left: 1rem;
							font-weight: 500;
							font-size: 1.6rem;
						}
					}
				}
			}
		}
	}
	.table_scroll {
		li {
			font-size: 1.4rem;
			b {
				display: inline-block;
				margin-left: 1rem;
				font-size: 1.6rem;
				&.nodep { margin-left: 0;}
			}
		}
	}
	section {
		border: .1rem solid #011433;
		&:first-of-type + section { counter-increment: num 4;}
		h3 {
			position: relative;
			padding: 1.5rem 14rem;
			background-color: #011433;
			color: #fff;
			font-size: 1.8rem;
			text-align: center;
			b {
				position: absolute;
				top: 0;
				left: 0;
				place-content: center;
				width: 14rem;
				height: 100%;
				background: #c00;
				font-weight: bold;
				font-family: 'Open Sans', sans-serif;
			}
			span {
				font-size: 2.4rem;
				letter-spacing: .5rem;
			}
		}
		ul {
			padding: 2rem;
			li {
				font-size: 1.6rem;
				b {
					display: block;
					font-weight: bold;
					font-size: 1.4rem;
					margin-bottom: .5rem;
				}
			}
		}
		+ .table_scroll { margin-top: 6rem;}
	}
}

@media (max-width: 768px) {
	.leaders_report {
		h2 {
			font-size: 4.8rem;
      > span {
        font-size: 2.4rem;
      }
    }
		.important_box {
			h3 {
				position: static;
				left: 0;
				top: 0;
				margin-bottom: 2rem;
				padding: 1rem 1rem 1.25rem;
				box-shadow: none;
				border-radius: 0;
				font-size: 3.2rem;
				text-shadow: 0;
				text-align: center;
				transform: rotate(0);
			}
			div {
				display: grid;
				grid-template-columns: auto;
				column-gap: 0;
				row-gap: 2rem;
				margin-bottom: 2rem;
				figure {
					width: 70%;
					margin: 0 auto;
				}
				dl {
					row-gap: 2rem;
					grid-template-columns: 17rem 1fr;
					dt {
						padding: .75rem 1rem;
					}
					dd {
						li {
							font-size: 2rem;
							b {
								font-size: 2.4rem;
							}
						}
					}
				}
			}
		}
		.table_scroll {
			li {
				font-size: 2rem;
				b {
					margin-left: 2rem;
					font-size: 2.4rem;
				}
			}
		}
		section {
			h3 {
				font-size: 2.4rem;
				span { font-size: 2.8rem;}
			}
			ul {
				padding: 2rem;
				li {
					font-size: 2.4rem;
					b {
						font-size: 2.4rem;
						margin-bottom: .5rem;
					}
				}
			}
		}
	}
}

/* leaders_final */
#leaders_final {
	> h2 {
		max-width: 102.4rem;
		margin: -2rem auto 2rem;
	}
	> h3 {
		max-width: 128rem;
		margin: 0 auto 4rem;
		padding: 1rem 1rem 1.5rem;
		border-radius: .5rem;
		background: #a58144;
		color: #fff;
		font-weight: 700;
		font-size: 3rem;
		text-align: center;
		line-height: 1.2;
	}
	#final_champ {
		display: grid;
		grid-template-columns: 2fr 3fr;
		grid-template-rows: auto 1fr;
		align-items: flex-start;
		gap: 2rem;
		max-width: 128rem;
		margin: 0 auto 4rem;
		padding-bottom: 4rem;
		border-bottom: 1px dotted #a58144;
		dl {
			grid-column: 1/2;
			grid-row: 1/2;
			font-size: 1.8rem;
			dt {
				grid-column: 1/2;
				margin-bottom: 1rem;
				padding: 1rem;
				background: #c00;
				color: #fff;
				text-align: center;
				line-height: 1.2;
			}
			dd {
				font-weight: bold;
			}
		}
		table {
			grid-column: 1/2;
			grid-row: 2/3;
			border: .1rem solid #011433;
			td {
				padding: .75rem 1rem;
				border-bottom: 1px solid #011433;
				&:first-child { font-size: 1.4rem;}
				&:last-child { text-align: right;}
			}
		}
		figure {
			grid-column: 2/3;
			grid-row: 1/3;
		}
	}
	ul.list_video {
		grid-template-columns: auto;
		max-width: 64rem;
		margin: 0 auto 5rem;
	}
	#final_intro {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(36rem, 1fr));
		gap: 4rem;
		max-width: 102.4rem;
		margin: 0 auto;
		section {
			position: relative;
			display: grid;
			grid-template-columns: auto;
			grid-auto-rows: min-content;
			width: 100%;
			margin: 0;
			padding: 1rem;
			background: #e5eefb;
			&.underconstraction::after {
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
				width: 100%;
				height: 100%;
				background: #011433;
				opacity: .65;
				content: "";
			}
			h3 {
				grid-row: 2/3;
				font-weight: bold;
				b {
					display: flex;
					align-items: center;
					justify-content: center;
					position: absolute;
					top: -2rem;
					left: -2rem;
					z-index: 2;
					width: 8rem;
					height: 8rem;
					padding: 0 0 .25rem .25rem;
					box-shadow: inset .1rem .1rem .1rem rgba(1,20,51,.5), .2rem .2rem 0 rgba(1,20,51,.5);
					border: .1rem solid #b5bcc7;
					border-radius: 100%;
					background: linear-gradient(to bottom, #0154d6, #01368a);
					color: #fff;
					font-size: 1.8rem;
					text-shadow: 0 .25rem .25rem rgba(0,0,0,.25);
					letter-spacing: .5rem;
					line-height: 1.3;
					text-align: center;
				}
				span {
					display: inline-block;
					margin-right: .5rem;
					padding: .5rem 1rem;
					background: #011433;
					color: #fff;
					font-weight: normal;
				}
			}
			p {
				grid-row: 3/4;
				padding: 1rem;
			}
			figure {
				grid-row: 1/2;
				margin-bottom: 1rem;
			}
		}
	}
}

@media (max-width: 768px) {
	#leaders_final {
		> h2 {
			margin: -3rem auto 4rem;
		}
		> h3 {
			margin: 0 auto 2rem;
			font-size: 3rem;
		}
		#final_champ {
			grid-template-columns: auto;
			grid-template-rows: auto;
			gap: 2rem;
			margin: 0 auto 4rem;
			padding-bottom: 0;
			border-bottom: 0;
			dl {
				grid-column: auto;
				grid-row: 2/3;
				margin-bottom: 1rem;
				dt {
					margin-bottom: 2rem;
					font-size: 2.4rem;
				}
				dd {
					font-size: 2.4rem;
				}
			}
			table {
				grid-column: auto;
				grid-row: 3/4;
				border-width: .2rem;
				td {
					padding: 1rem 2rem;
					border-width: .2rem;
					&:first-child { font-size: 2.2rem;}
				}
			}
			figure {
				grid-column: auto;
				grid-row: 1/2;
			}
		}
		ul.list_video {
			max-width: none;
			padding-bottom: 4rem;
			border-bottom: .2rem solid #011433;
		}
		#final_intro {
			section {
				h3 {
					b {
						top: -2rem;
						left: -1rem;
						width: 10rem;
						height: 10rem;
						font-size: 2.4rem;
					}
					span {
						margin-right: 1rem;
						padding: .5rem 1rem .75rem;
					}
				}
				figure {
					margin-bottom: 2rem;
				}
			}
		}
	}
}

/* leaders_backnumber */

#leaders_backnumber {
  margin: 5rem 0;
  > div#tab_index {
    position: relative;
    display: flex;
    justify-content: center;
    max-width: 128rem;
    margin: 0 auto;
    > span {
      display: block;
      position: relative;
      padding-top: 8rem;
      margin-top: -8rem;
      width: calc(100% / 5);
      button {
        width: 100%;
        padding: 1.5rem 2.5rem;
        background: #013280;
        color: #fff;
        text-align: center;
        cursor: pointer;
        transition: background-color .25s;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 600;
        border-right: .1rem solid #fff;
        &:hover {
          background: #024fcc;
        }
      }
      &.active {
        > button {
          background: #024fcc;
        }
      }
    }
    > span.soon > button {
      background: #666;
    }
  }
  
  > div#tab_contents {
    > div[data-tabcontent] {
      display: none;
      &.active {display: block;}
      > div[id^="leaders_period"] {
        margin: 5rem auto 0;
      }
    }
  }
}


@media (max-width: 768px) {
  #leaders_backnumber {
    margin: 6rem 0;
    > div#tab_index {
      > span {
        padding-top: 12rem;
        margin-top: -12rem;
        width: calc(100% / 5);
        min-width: auto;
        button {
          padding: 1.5rem 0;
          width: 100%;
          font-size: 2.4rem;
        }
      }
    }
    
    > div#tab_contents {
      > div[data-tabcontent] {
        display: none;
        &.active {display: block;}
        > div[id^="leaders_period"] {
          margin: 5rem auto 0;
        }
      }
    }
  }
}
