/*header*/
header {
position: relative;
padding: 10px 25px;
}
header .header_wrap {
display: flex;
align-items: center;
justify-content: space-between;
}
header .header_wrap ul {
width: 240px;
list-style: none;
margin: 0;
padding: 0;
}
header .header_wrap p {
font-size: 18px;
line-height: 1.4;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 700;
letter-spacing: 0.05em;
margin: 0;
padding: 0;
}
@media (max-width: 768px) {
header {
position: relative;
padding: 5px 15px;
}
header .header_wrap ul {
width: 150px;
}
header .header_wrap p {
font-size: 12px;
line-height: 1.4;
}
}


/*kv*/
#kv {width: 100%;margin: 0 auto}
#kv img {
width: 100%;
height: auto;
}

/*content*/
#content .content_wrap {
width: 100%;
padding: 90px 0 0;
background: url("../img/bg_fude01.png") top -3% right 0 no-repeat,url("../img/bg_fude02.png") top 29% left 0 no-repeat;
background-size: 450px 480px, 484px 736px;
}
@media (max-width: 768px) {
#content .content_wrap {
width: 100%;
padding: 35px 0 0;
background: url("../img/bg_fude01_sp.png") top right no-repeat,url("../img/bg_fude02_sp.png") top 27% left 0 no-repeat;
background-size: 52.5% auto, 45.9% auto;
}
}

/*news*/
#news {
width: 90%;
max-width: 1100px;
margin: 0 auto;
}
#news .news_wrap {
background-color: #FFF;
position: relative;
width: 100%;
}
#news .news_wrap::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: calc(100% + 20px);
height: calc(100% + 20px);
background-image: url("../img/bg_shadow.png");
background-size: cover;
background-position: center center;
clip-path: polygon(
   0 0,
   calc(100% - 20px) 0,
   100% 20px,
   100% 100%,
   20px 100%,
   0 calc(100% - 20px)
 );
}
#news .news_inner {
padding: 30px 50px 50px
}
#news .news_inner h2 {
font-size: clamp(45px, 4.4vw, 60px);
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#news .news_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
}
#news .news_list_wrap {
display: flex;
flex-wrap: wrap;
padding-top: 25px;
}
#news .news_list_wrap .news_list {
display: flex;
width: 48%;
margin: 0 auto;
}
#news .news_list_wrap .news_list dt {
width: 36%;
margin-right: auto;
}
#news .news_list_wrap .news_list dd {
width: 58%;
margin-left: auto;
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
}
#news .news_list_wrap .news_list p.news_date {
font-weight: 500;
font-size: 18px;
line-height: 1.5;
}
#news .news_list_wrap .news_list p.news_body {
font-size: 18px;
line-height: 1.5;
}
@media (max-width: 768px) {
#news {
width: 100%;
padding: 0 20px;
margin: 0 auto;
}
#news .news_wrap::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: calc(100% + 10px);
height: calc(100% + 10px);
background-image: url("../img/bg_shadow.png");
background-size: cover;
background-position: center center;
clip-path: polygon(
   0 0,
   calc(100% - 10px) 0,
   100% 10px,
   100% 100%,
   10px 100%,
   0 calc(100% - 10px)
 );
}
#news .news_inner {
padding: 20px 20px 10px
}
#news .news_inner h2 {
font-size: 32px;
line-height: 1.15;
}
#news .news_inner h2 span {
font-size: 14px;
}
#news .news_list_wrap {
padding-top: 15px;
}
#news .news_list_wrap .news_list {
display: flex;
width: 100%;
margin: 0 auto;
}
#news .news_list_wrap .news_list {
margin-bottom: 20px;
}
#news .news_list_wrap .news_list dt {
width: 29%;
margin-right: auto;
}
#news .news_list_wrap .news_list dd {
width: 66%;
margin-left: auto;
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
}
#news .news_list_wrap .news_list p.news_date {
font-size: 13px;
width: 100%;
}
#news .news_list_wrap .news_list p.news_body {
font-size: 13px;
width: 100%;
}
}


/*philosophy*/
#philosophy {
width: 90%;
max-width: 1100px;
margin: 0 auto 120px;
}
#philosophy .philosophy_inner h2 {
font-size: clamp(55px, 5.37vw, 80px);
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#philosophy .philosophy_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
}
#philosophy .philosophy_inner p.midashi {
text-align: center;
font-size: clamp(40px, 3.9vw, 65px);
line-height: 1.2;
letter-spacing: 0.01em;
margin: 50px auto 30px;
}
#philosophy .philosophy_inner p.midashi span {
color: #F56D78;
}
#philosophy .philosophy_inner p {
font-size: clamp(18px, 1.63vw, 24px);
line-height: 2.1;
text-align: center;
margin-bottom: 1em;
}
@media (max-width: 768px) {
#philosophy {
width: 100%;
padding: 0 20px;
margin: 50px auto;
}
#philosophy .philosophy_inner h2 {
font-size: 45px;
line-height: 1.15;
}
#philosophy .philosophy_inner h2 span {
font-size: 14px;
}
#philosophy .philosophy_inner p.midashi {
text-align: center;
font-size: 32px;
line-height: 1.2;
letter-spacing: 0.01em;
margin: 25px auto 15px;
}
#philosophy .philosophy_inner p.midashi span {
color: #F56D78;
}
#philosophy .philosophy_inner p {
font-size: 14px;
line-height: 2.1;
text-align: left;
margin-bottom: 1em;
}
}

/*message*/
#message {
width: 90%;
max-width: 1100px;
margin: 120px auto;
}
#message .message_inner h2 {
font-size: clamp(55px, 5.37vw, 80px);
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#message .message_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
}
#message .message_list_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 40px;
}
#message .message_list_wrap .message_list {
width: 46%;
margin: 0;
}
#message .message_list_wrap .message_ph_wrap {
display: flex;
flex-wrap: wrap;
width: 100%;
}
#message .message_list_wrap .message_ph {
width: 61%;
}
#message .message_list_wrap .message_name {
width: 39%;
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
}
#message .message_list_wrap .message_name p {
font-size: clamp(20px, 1.95vw, 26px);
line-height: 1.4;
}
#message .message_list_wrap .message_name p span {
font-size: clamp(14px, 1.36vw, 17px);
font-weight: 500;
margin-bottom: 0.5em;
display: block;
}
#message .message_list_wrap .message_txt {
width: 100%;
margin-top: 40px;
}
#message .message_list_wrap .message_txt p {
font-size: clamp(16px, 1.56vw, 20px);
line-height: 1.8;
}
@media (max-width: 768px) {
#message {
width: 100%;
padding: 0 20px;
margin: 80px auto 40px;
}
#message .message_inner h2 {
font-size: 45px;
line-height: 1.15;
}
#message .message_inner h2 span {
font-size: 14px;
}
#message .message_list_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 25px;
}
#message .message_list_wrap .message_list {
width: 100%;
margin: 0 auto 35px;
}
#message .message_list_wrap .message_ph_wrap {
display: flex;
flex-wrap: wrap;
width: 100%;
justify-content: center;
}
#message .message_list_wrap .message_ph {
width: 74%;
margin-bottom: 12px
}
#message .message_list_wrap .message_name {
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: center;
}
#message .message_list_wrap .message_name p {
font-size: 22px;
line-height: 1.4;
text-align: center;
}
#message .message_list_wrap .message_name p span {
font-size: 16px;
font-weight: 500;
margin-bottom: 0.5em;
display: block;
}
#message .message_list_wrap .message_txt {
width: 100%;
margin-top: 15px;
}
#message .message_list_wrap .message_txt p {
font-size: 14px;
line-height: 1.8;
}
}

/*outline*/
#outline {
width: 100%;
padding: 60px 0;
background: url("../img/bg01.jpg") top center repeat-y;
background-size: cover;
}
#outline .outline_inner {
width: 90%;
max-width: 1100px;
text-align: center;
margin: 0 auto;
}
#outline .outline_inner h2 {
font-size: clamp(55px, 5.37vw, 80px);
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#outline .outline_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
margin-bottom: 40px;
}
#outline .outline_inner .outline_body_wrap {
margin: 70px auto 50px;
}
#outline .outline_inner p.outline_body {
font-size: clamp(16px, 1.56vw, 20px);
line-height: 1.8;
margin-bottom: 1em;
}
#outline .summary_wrap {
position: relative;
width: 100%;
margin-top: 40px;
z-index: 0;
}
#outline .summary_wrap::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: calc(100% + 20px);
height: calc(100% + 20px);
background-image: url("../img/bg_shadow.png");
background-size: cover;
background-position: center center;
clip-path: polygon(
   0 0,
   calc(100% - 20px) 0,
   100% 20px,
   100% 100%,
   20px 100%,
   0 calc(100% - 20px)
 );
}
#outline .summary_inner {
background-color: #FFF;
}
#outline .summary_inner h3 {
font-size: clamp(22px, 2.14vw, 28px);
line-height: 1;
padding: 15px 0;
}
#outline .summary_list_wrap {
border-top: 1px solid #000;
padding: 20px 20px 32px 20px;
}
#outline .summary_list_wrap p.target {
font-size: clamp(19px, 1.86vw, 25px);
line-height: 1.45;
margin-bottom: 10px;
}
#outline .summary_list_wrap p.cap {
font-size: 12px;
line-height: 1.5;
}
#outline .summary_list_wrap .summary_list {
}
#outline .summary_list_wrap .summary_list dl {
display: flex;
width: 90%;
max-width: 44rem;
margin: 0 auto 1rem;
justify-content: flex-start;
align-items: flex-start;
}
#outline .summary_list_wrap .summary_list dl:last-child {
margin-bottom: 0;
}
#outline .summary_list_wrap .summary_list dt {
width: 12.5%;
max-width: 5.5rem;
font-size: clamp(16px, 1.56vw, 20px);
margin-right: auto;
display: inline;
background-color: #F56D78;
padding: 2px;
border-radius: 999px;
color: #FFF;
text-align: center;
}
#outline .summary_list_wrap .summary_list dd {
width: 84%;
max-width: 37rem;
text-align: left;
font-size: clamp(19px, 1.86vw, 25px);
line-height: 1.45;
}
#outline .summary_list_wrap .flow_wrap {
display: flex;
}
#outline .summary_list_wrap .flow_wrap dl {
display: flex;
width: 22%;
margin: 0 auto;
flex-wrap: wrap;
align-items: flex-start;
justify-content: center;
position: relative;
}
#outline .summary_list_wrap .flow_wrap dl::before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-top: 12px solid transparent;
border-bottom: 12px solid transparent;
border-left: 16px solid #fab6bb;
border-right: 0;
position: absolute;
top: 30px;
right: -24px;
}
#outline .summary_list_wrap .flow_wrap dl:last-child::before {
content: none;
}
#outline .summary_list_wrap .flow_wrap dt {
font-size: clamp(18px, 1.75vw, 24px);
width: 100%;
height: 78px;
margin-right: auto;
display: flex;
justify-content: center;
align-items: center;
background-color: #F56D78;
padding: 20px 0;
border-radius: 999px;
color: #FFF;
text-align: center;
}
#outline .summary_list_wrap .flow_wrap dd {
font-size: clamp(12.5px, 1.2vw, 14.5px);
line-height: 1.3;
width: 100%;
text-align: center;
display: flex;
justify-content: center;
align-items: flex-start;
margin-top: 10px;
}
#outline .accordion_ttl {
background: url("../img/ico_plus.svg") center right 20px no-repeat;
background-size: 30px 30px;
cursor: pointer;
}
#outline .active .accordion_ttl {
background: url("../img/ico_minus.svg") center right 20px no-repeat;
background-size: 30px 30px;
}
#outline .accordion_body {
display: none;
}
#outline .active .accordion_body {
}

@media (max-width: 768px) {
#outline {
width: 100%;
padding: 40px 0 10px;
background: url("../img/bg01.jpg") top center repeat-y;
background-size: cover;
}
#outline .outline_inner {
width: 100%;
text-align: center;
margin: 0 auto;
padding: 0 20px;
}
#outline .outline_inner h2 {
font-size: 45px;
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#outline .outline_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
margin-bottom: 25px;
}
#outline .outline_inner .outline_body_wrap {
margin: 50px auto 30px;
}
#outline .outline_inner p.outline_body {
font-size: 14px;
line-height: 1.8;
margin-bottom: 1em;
text-align: left;
}
#outline .summary_wrap {
position: relative;
width: 100%;
margin-top: 30px;
z-index: 0;
}
#outline .summary_wrap::after {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
z-index: -1;
width: calc(100% + 10px);
height: calc(100% + 10px);
background-image: url("../img/bg_shadow.png");
background-size: cover;
background-position: center center;
clip-path: polygon(
   0 0,
   calc(100% - 10px) 0,
   100% 10px,
   100% 100%,
   10px 100%,
   0 calc(100% - 10px)
 );
}
#outline .summary_inner {
background-color: #FFF;
}
#outline .summary_inner h3 {
font-size: 16px;
line-height: 1;
padding: 15px 0;
}
#outline .summary_list_wrap {
border-top: 1px solid #000;
padding: 15px 15px 20px 15px;
}
#outline .summary_list_wrap p.target {
font-size: 16px;
line-height: 1.45;
margin-bottom: 10px;
}
#outline .summary_list_wrap p.cap {
font-size: 10px;
line-height: 1.5;
}
#outline .summary_list_wrap .summary_list {
}
#outline .summary_list_wrap .summary_list dl {
display: block;
width: 100%;
max-width: none;
margin: 0 auto 1rem;
}
#outline .summary_list_wrap .summary_list dl:last-child {
margin-bottom: 0;
}
#outline .summary_list_wrap .summary_list dt {
width: auto;
max-width: none;
font-size: 14px;
margin-right: auto;
margin-bottom: 5px;
display: inline;
background-color: #F56D78;
padding: 3px 1.5em;
border-radius: 999px;
color: #FFF;
text-align: center;
}
#outline .summary_list_wrap .summary_list dd {
width: 100%;
max-width: none;
text-align: center;
font-size: 16px;
line-height: 1.45;
padding-top: 5px;
}
#outline .summary_list_wrap .flow_wrap {
display: block;
}
#outline .summary_list_wrap .flow_wrap dl {
display: flex;
width: 100%;
margin: 0 auto 10px;
padding-bottom: 30px;
flex-wrap: wrap;
align-items: flex-start;
justify-content: center;
position: relative;
}
#outline .summary_list_wrap .flow_wrap dl::before {
content: "";
display: block;
width: 0;
height: 0;
border-style: solid;
border-right: 15px solid transparent;
border-left: 15px solid transparent;
border-top: 22px solid #fab6bb;
border-bottom: 0;
position: absolute;
top: unset;
bottom: 0;
left: calc(50% - 15px);
right: unset;
}
#outline .summary_list_wrap .flow_wrap dl:last-child {
margin-bottom: 0;
padding-bottom: 0;
}
#outline .summary_list_wrap .flow_wrap dl:last-child::before {
content: none;
}
#outline .summary_list_wrap .flow_wrap dt {
font-size: 18px;
width: 90%;
height: 46px;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
background-color: #F56D78;
padding: 20px 0;
border-radius: 999px;
color: #FFF;
text-align: center;
}
#outline .summary_list_wrap .flow_wrap dd {
font-size: 14px;
line-height: 1.3;
width: 100%;
text-align: center;
display: flex;
justify-content: center;
align-items: flex-start;
margin-top: 10px;
}
#outline .accordion_ttl {
background: url("../img/ico_plus.svg") center right 20px no-repeat;
background-size: 20px 20px;
cursor: pointer;
}
#outline .active .accordion_ttl {
background: url("../img/ico_minus.svg") center right 20px no-repeat;
background-size: 20px 20px;
}
#outline .accordion_body {
}
#outline .active .accordion_body {
}
}

#outline .table-wrap { width: 100%; overflow-x: auto;padding: 30px;}
#outline table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
  table-layout: fixed;
  border: 2px solid #000;
  font-size: 15px;
}
#outline .col-sport { width: 9%; }
#outline .col-event { width: 17%; }
#outline .col-grade { width: 7%; }
#outline .col-name { width: 15%; }
#outline .col-team { width: 12%; }
#outline .col-school { width: 21%; }
#outline .col-result { width: 9%; }
#outline th, #outline td {
  border: 1px solid #000;
  padding: 5px 4px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.3;
  font-weight: 400;
}
#outline thead { background: #f7b7bc; }
#outline thead th { height: 30px; font-weight: 700; }
#outline thead { border-bottom: 2px solid #000; }
#outline tbody tr { height: 45px; }
#outline tbody.plain { background: #fff; }
#outline tbody.tinted { background: #fae7ea; }
#outline tbody:nth-of-type(2), #outline tbody:nth-of-type(4) { border-top: 2px solid #000; }
#outline .sport, #outline .grade, #outline .name, #outline .team, #outline .school, #outline .result { white-space: nowrap; }
#outline .result span {font-size: 0.8em;}
#outline .name { font-size: 16px; }
#outline ruby { ruby-position: over; }
#outline rt { font-size: 8px; font-weight: 400; letter-spacing: .12em; }
#outline .table-wrap::-webkit-scrollbar {
  height: 10px; /* 横幅 */
}
#outline .table-wrap::-webkit-scrollbar-thumb {
  background: #f56d78; /* ハンドルの色 */
}
#outline .table-wrap::-webkit-scrollbar-track {
  background: #d3d8db; /* 背景色 */
}

@media (max-width:768px) {
#outline .table-wrap { padding: 0 0 10px;}
#outline table {
font-size: 0.75em;
}
#outline .col-sport { width: 7%; }
#outline .col-event { width: 13%; }
#outline .col-grade { width: 4%; }
#outline .col-name { width: 11%; }
#outline .col-team { width: 8%; }
#outline .col-school { width: 14%; }
#outline .col-result { width: 5%; }
#outline .table-wrap::-webkit-scrollbar {
  height: 6px; /* 横幅 */
}
}

/*bnr*/
#outline .bnr_wrap {
width: 100%;
max-width: 1100px;
margin: 50px auto 0;
}
#outline .bnr_wrap ul.bnr_col02 {
display: flex;
margin: 30px auto;
justify-content: space-between;
}
#outline .bnr_wrap ul.bnr_col02 li {
width: auto;
height: 100%;
margin: 0 2%;
}
#outline .bnr_wrap ul.bnr_col02 li a {
display: block;
width: 100%;
height: 100%;
}
@media (max-width: 768px) {
#outline .bnr_wrap {
width: 100%;
padding: 0;
margin: 30px auto 0;
}
#outline .bnr_wrap ul.bnr_col02 {
display: flex;
margin: 20px auto;
justify-content: center;
flex-wrap: wrap;
}
#outline .bnr_wrap ul.bnr_col02 li {
height: 44px;
width: 100%;
margin: 0 auto 15px;
}
#outline .bnr_wrap ul.bnr_col02 li img {
height: 100%;
width: auto;
}
}
@media (max-width: 360px) {
#outline .bnr_wrap ul.bnr_col02 li {
height: 40px;
}
}

/*out_bnr*/
#out_bnr {
background-color: #FFF;
padding: 35px 0;
}
#out_bnr .out_bnr_inner {
width: 86%;
max-width: 640px;
margin: 0 auto;
}
#out_bnr .out_bnr_inner p {
font-size: 14px;
line-height: 1.2;
text-align: center;
margin: 5px auto 0;
}
@media (max-width: 768px) {
#out_bnr {
background-color: #FFF;
padding: 30px 0;
}
#out_bnr .out_bnr_inner {
width: 100%;
padding: 0 20px;
margin: 0 auto;
}
#out_bnr .out_bnr_inner p {
font-size: 12px;
line-height: 1.2;
text-align: center;
margin: 5px auto 0;
}
}

/*pick up*/
#pickup {
width: 100%;
padding: 60px 0;
margin: 0 auto;
}
#pickup .pickup_inner {
width: 90%;
max-width: 1100px;
margin: 0 auto;
}
#pickup .pickup_inner h2 {
font-size: clamp(55px, 5.37vw, 80px);
line-height: 1.15;
text-align: center;
font-style: normal;
color: #F56D78;
}
#pickup .pickup_inner h2 span {
font-size: clamp(15px, 1.46vw, 22px);
color: #000;
display: block;
}
#pickup .athlete_bnr {
margin: 40px auto;
}
#pickup .athlete_bnr li {
margin-bottom: 40px;
}
#pickup .athlete_bnr dl {
display: flex;
background: url("../img/bg01.jpg") top 18% center no-repeat;
background-size: 1532px auto;
flex-wrap: nowrap;
align-items: center;
}
#pickup .athlete_bnr dt {
width: 50%;
padding: 2.5% 5%;
}
#pickup .athlete_bnr dd {
width: 50%;
}
#pickup .athlete_bnr .ttl_area {
padding-bottom: 3%;
border-bottom: 1px solid #000;
margin-bottom: 3%;
}
#pickup .athlete_bnr .ttl_area p {
font-size: clamp(14px, 1.4vw, 20px);
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 700;
font-style: italic;
letter-spacing: 0.05em;
}
#pickup .athlete_bnr .ttl_area p em {
font-size: clamp(36px, 3vw, 56px);
line-height: 1.0;
font-family: "Roboto", sans-serif;
font-weight: 900;
font-style: italic;
letter-spacing: 0.02em;
display: block;
}
#pickup .athlete_bnr .ttl_area p img {
width: 85%;
}
#pickup .athlete_bnr .txt_area p {
font-size: clamp(16px, 1.48vw, 23px);
line-height: 1.4;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
}
#pickup .athlete_bnr .txt_area p::after {
content: "";
display: block;
width: 35px;
height: 35px;
position: absolute;
top: calc(50% - 17.5px);
right: 0;
background: url("../img/ico_arrow01.svg") center center no-repeat;
background-size: 100% auto;
}
#pickup .athlete_bnr .txt_area p.link_blank::after {
width: 30px;
height: 30px;
position: absolute;
top: calc(50% - 15px);
right: 0;
background: url("../img/ico_arrow02.svg") center center no-repeat;
background-size: 100% auto;
}
#pickup .brand_bnr {
width: 100%;
max-width: 900px;
margin: 0 auto;
}
@media (max-width: 768px) {
#pickup {
width: 100%;
padding: 50px 0;
margin: 0 auto;
}
#pickup .pickup_inner {
width: 100%;
margin: 0 auto;
padding: 0 20px;
}
#pickup .pickup_inner h2 {
font-size: 45px;
line-height: 1.15;
}
#pickup .pickup_inner h2 span {
font-size: 14px;
}
#pickup .athlete_bnr {
margin: 25px auto;
}
#pickup .athlete_bnr li {
margin-bottom: 20px;
}
#pickup .athlete_bnr dl {
display: flex;
background: url("../img/bg01.jpg") top 18% center no-repeat;
background-size: 768px auto;
flex-wrap: wrap;
align-items: center;
}
#pickup .athlete_bnr dt {
width: 100%;
padding: 5%;
order: 2;
}
#pickup .athlete_bnr dd {
width: 100%;
order: 1;
}
#pickup .athlete_bnr .ttl_area {
padding-bottom: 3%;
border-bottom: 1px solid #000;
margin-bottom: 3%;
}
#pickup .athlete_bnr .ttl_area p {
font-size: clamp(14px, 1.4vw, 20px);
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 700;
font-style: italic;
letter-spacing: 0.05em;
}
#pickup .athlete_bnr .ttl_area p em {
font-size: clamp(36px, 3vw, 56px);
line-height: 1.0;
font-family: "Roboto", sans-serif;
font-weight: 900;
font-style: italic;
letter-spacing: 0.02em;
display: block;
}
#pickup .athlete_bnr .ttl_area p img {
width: 85%;
}
#pickup .athlete_bnr .txt_area p {
font-size: clamp(16px, 1.48vw, 23px);
line-height: 1.4;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
}
#pickup .athlete_bnr .txt_area p::after {
content: "";
display: block;
width: 18px;
height: 18px;
position: absolute;
top: calc(50% - 9px);
right: 0;
background: url("../img/ico_arrow01.svg") center center no-repeat;
background-size: 100% auto;
}
#pickup .athlete_bnr .txt_area p.link_blank::after {
width: 18px;
height: 18px;
position: absolute;
top: calc(50% - 9px);
right: 0;
background: url("../img/ico_arrow02.svg") center center no-repeat;
background-size: 100% auto;
}
}

/*modal*/
body.modal_lock{
 overflow:hidden;
}
.modal {
 width: 100vw;
 height: 100vh;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 1000;
 display: none;
}
.modal.show {
 display: block;
}
.modal .bg {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background: rgba(51, 51, 51, .9);
 z-index: 0;
}
.modal .modal_wraaper {
  margin: 0 auto;
  max-height: 100vh;
  max-height: 100dvh;        /* モバイルのアドレスバー対策 */
  overflow-y: auto;
  overscroll-behavior: contain;
  position: relative;
  pointer-events: auto;
}
.modal .modal_inner {
 width: 90%;
 max-width: 1100px;
 margin: 100px auto 50px auto;
 position: relative;
 pointer-events: none;
	padding-top: 45px;
}
.modal .btn_close_wrap {
 width: 30px;
 height: 30px;
 display: block;
 position: absolute;
 top: 0;
 right: 0;
 pointer-events: all;
}
.modal .btn_close_wrap button {
 width: 100%;
 height: 100%;
 background-image: url("../img/btn_close.svg");
 background-position: 0 0;
 background-size: 100% auto;
 background-repeat: no-repeat;
}
.modal .modal_contents {
background-color: #FFF;
}
.modal .modal_contents dl {
display: flex;
background: url("../img/bg01.jpg") top 18% center no-repeat;
background-size: 1532px auto;
flex-wrap: nowrap;
align-items: center;
}
.modal .modal_contents dt {
width: 50%;
padding: 2.5% 5%;
}
.modal .modal_contents dd {
width: 50%;
}
.modal .modal_contents .ttl_area {
padding-bottom: 3%;
border-bottom: 1px solid #000;
margin-bottom: 3%;
}
.modal .modal_contents .ttl_area p {
font-size: clamp(14px, 1.4vw, 20px);
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 700;
font-style: italic;
letter-spacing: 0.05em;
}
.modal .modal_contents .ttl_area p img {
width: 85%;
}
.modal .modal_contents .txt_area p {
font-size: clamp(16px, 1.48vw, 23px);
line-height: 1.4;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 500;
letter-spacing: 0.05em;
position: relative;
}
.modal .modal_contents .txt_area p.school {
margin-top: 15px;
}
.modal .modal_contents .modal_body_inner {
padding: 70px;
}
.modal .modal_contents .modal_body_inner p {
font-size: clamp(15px, 1.3vw, 18px);
line-height: 2;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 500;
letter-spacing: 0.05em;
margin-bottom: 0.5em;
}
.modal .modal_contents .modal_body_inner p.modal_ttl {
font-size: clamp(16px, 1.48vw, 23px);
line-height: 2;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 700;
letter-spacing: 0.05em;
}
@media (max-width: 768px) {
.modal .modal_wraaper {
 width: 100%;
}
.modal .modal_inner {
 height: 100%;
 margin: 50px auto 50px auto;
 position: relative;
 padding: 40px 0 60px;
}
.modal .btn_close_wrap {
 width: 25px;
 height: 25px;
}
.modal .modal_contents .modal_body_inner {
padding: 40px 20px;
}
.modal .modal_contents .modal_body_inner p {
font-size: 14px;
line-height: 1.8;
}
.modal .modal_contents .modal_body_inner p.modal_ttl {
font-size: 16px;
line-height: 2;
}
.modal .modal_contents dl {
display: flex;
background: url("../img/bg01.jpg") top 18% center no-repeat;
background-size: 768px auto;
flex-wrap: wrap;
align-items: center;
}
.modal .modal_contents dt {
width: 100%;
padding: 5%;
order: 1;
}
.modal .modal_contents dd {
width: 100%;
order: 2;
}
.modal .modal_contents .ttl_area {
padding-bottom: 3%;
border-bottom: 1px solid #000;
margin-bottom: 3%;
}
}
@media (orientation: landscape) and (max-width: 768px) {
 .modal.show{
 position:fixed;
 inset:0;
 display:flex;
 align-items:center;
 justify-content:center;
}
.modal .modal_wraaper{
 max-height:100vh;
 overflow-y:auto;
 -webkit-overflow-scrolling:touch;
 width: 100%;
}
.modal .modal_inner {
 width: 100%;
 height: 100%;
 margin: 0 auto;
 position: relative;
 padding: 20px 0 60px;
}
.modal .btn_close_wrap {
 width: 25px;
 height: 25px;
 top: 20px;
 bottom: unset;
 right: 20px;
}
}

/*footer*/
footer {
background-color: #7d001a;
}
footer .footer_inner {
width: 90%;
margin: 0 auto;
padding: 25px 0;
}
footer .footer_inner ul {
width: 150px;
list-style: none;
margin: 0;
padding: 0;
}
footer .footer_inner p {
color: #FFF;
font-size: 14px;
line-height: 1.2;
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
letter-spacing: 0.05em;
margin: 0;
padding: 0;
}
@media (max-width: 768px) {

}
