@charset "UTF-8";

/* =======================================================================

  athlete-jz - SP styles

======================================================================= */
body { min-width: 100%; }
.pc { display: none; }
.sp { display: inherit; }

/*
  Header
======================================================================= */
.menu-trigger {
  top: calc(35 / 780 * 100%);
  right: calc(35 / 780 * 100%);
  transform: scale(.85);
  transform-origin: right top;
}

/*
  Global Navi
======================================================================= */
.gnav .inner { padding: 0 calc(20 / 780 * 100%); }
.gnav ul li { font-size: calc(48 / 780 * 100vw); }
.gnav ul li:not(:last-of-type) { margin: 0 0 calc(30 / 780 * 100%); }
.gnav ul li small { font-size: calc(20 / 780 * 100vw); }

/*
  Main Visual
======================================================================= */
.main-visual h1 {
  right: 0;
  bottom: calc(40 / 780 * 100vw);
  font-size: calc(120 / 780 * 100vw);
  white-space: nowrap;
}
.main-visual h1 span {
  /*
  font-size: calc(36 / 780 * 100vw);
  padding: 0 calc(35 / 780 * 100%) 0 0;
  */
  letter-spacing: -.1em;
}
.main-visual h2 { bottom: calc(195 / 780 * 100vw); }
.main-visual figure img {
  min-width: initial;
  min-height: initial;
  width: 100%;
  height: auto;
}

/*
  Section
======================================================================= */

/* Section01
---------------------------------------------------------------------- */
.sec01 > div { padding: calc(185 / 780 * 100%) 0 0; }
.sec01 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.sec01 p {
  font-size: calc(30 / 780 * 100vw);
  font-weight: 600;
  letter-spacing: .1em;
  line-height: calc(60 / 26);
  padding: 0;
  margin: calc(80 / 780 * 100%) 0 0;
}
.sec01 figure img {
  min-width: initial;
  min-height: initial;
  width: 100%;
  height: auto;
}

/* Section02
---------------------------------------------------------------------- */
.sec02 { padding: calc(85 / 780 * 100%) 0 calc(110 / 780 * 100%); }
.sec02 .inner { padding: 0; }
.sec02 dl dt {
  font-size: calc(28 / 780 * 100vw);
  margin: 0 0 calc(30 / 780 * 100%);
}
.sec02 dl dd {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}

/* Section03
---------------------------------------------------------------------- */
.sec03 { padding: calc(330 / 780 * 100%) 0 calc(120 / 780 * 100%); }
.sec03 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.sec03 p {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
  padding: 0;
  margin: calc(60 / 780 * 100%) 0 0;
}
.sec03 figure {
  position: absolute;
  right: calc(60 / 780 * 100vw * -1);
  top: calc(60 / 780 * 100vw);
  bottom: initial;
  width: calc(475 / 750 * 100vw);
  height: auto;
}

/* Section05
---------------------------------------------------------------------- */
.sec05 { padding: calc(160 / 780 * 100%) 0 calc(130 / 780 * 100%); }
.sec05 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.book-list {
  padding: 0;
  margin: calc(105 / 780 * 100%) 0 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.book-info { display: block; }
.book-info:not(:first-of-type) { margin: calc(130 / 780 * 100%) auto 0; }
.book-info figure {
  width: calc(310 / 780 * 100vw);
  margin: 0 auto calc(60 / 780 * 100%);
  padding: 0;
}
.book-summary { padding: 0; }
.book-summary h3 { font-size: calc(24 / 780 * 100vw); }
.book-summary dl {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}
.book-summary dl dt { font-size: calc(22 / 24 * 1em); }
.book-summary a {
  width: calc(460 / 780 * 100vw);
  line-height: calc(80 / 780 * 100vw);
  margin: calc(55 / 780 * 100%) auto 0;
}
.book-summary a:hover { background-color: #272727; }
.book-summary a span {
  font-size: calc(24 / 780 * 100vw);
}

/* Section06
---------------------------------------------------------------------- */
.sec06 { padding: calc(180 / 780 * 100%) 0 calc(190 / 780 * 100%); }
.sec06 .sec-heading { margin: 0 0 80px; }
.sec06 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.sec06 .sec-heading p {
  font-size: calc(24 / 780 * 100vw);
  padding: 0;
  margin: 20px 0 0;
}
.saying { transform: scale(.8); }

/* Swiper Slider Styles */
.swiper-slide-active .saying {
  z-index: 1;
  background: linear-gradient(139deg, rgba(255,73,43,1) 0%,rgba(233,4,4,1) 34%,rgba(173,0,0,1) 100%);
  transform: scale(1.0);
}
.swiper-slide-active p, .swiper-slide-active .page-num { color: var(--wht); }
.swiper-slide-active + .swiper-slide .saying {
  background: #fafafa;
  transform: scale(0.8);
}
.swiper-slide-active + .swiper-slide .saying p,
.swiper-slide-active + .swiper-slide .saying .page-num { color: var(--blk); }

.swiper-ctl-unit {
  left: 0;
  margin: calc(90 / 780 * 100%) auto 0;
}

/* Section07
---------------------------------------------------------------------- */
.sec07 { padding: calc(175 / 780 * 100%) 0 calc(460 / 780 * 100%); }
.sec07 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.sec07 figure.rcmd-img {
  max-width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0 calc(20 / 780 * 100%);
}
.rcmd-item {
  position: relative;
  display: block;
  padding: 0;
  margin: calc(40 / 780 * 100%) 0 calc(235 / 780 * 100%);
}
.rcmd-item > div {
  position: relative;
  padding: 0 calc(20 / 780 * 100%);
}
.rcmd-item > div h3 {
  font-size: calc(28 / 780 * 100vw);
  line-height: calc(30 / 28);
  margin: 0 0 .75em;
}
.rcmd-item > div dl {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(36 / 24);
}
.rcmd-pict { position: absolute; }
.rcmd-pict.rp01 {
  width: calc(235 / 780 * 100vw);
  right: 0;
  bottom: calc(120 / 780 * 100vw * -1);
}
.rcmd-pict.rp02 {
  bottom: calc(390 / 780 * 100vw * -1);
  right: initial;
  width: calc(390 / 780 * 100vw);
}

/* Section08
---------------------------------------------------------------------- */
.sec08 { padding: calc(180 / 780 * 100%) 0 calc(140 / 780 * 100%); }
.sec08 .inner { padding: 0; }
.sec08 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}

.news-unit .inner { padding: 0; }
.news-unit iframe {
  height: calc(1300 / 780 * 100vw);
  margin: calc(60 / 780 * 100%) 0 0;
}

/* Section09
---------------------------------------------------------------------- */
.sec09 { padding: calc(180 / 780 * 100%) 0 calc(140 / 780 * 100%); }
.sec09 .sec-heading { margin: 0 0 calc(95 / 780 * 100%); }
.sec09 .sec-heading span {
  font-size: calc(36 / 780 * 100vw);
  font-weight: 600;
  padding: 0;
}
.sec09 p { margin: 0 0 calc(90 / 780 * 100%); }
.sec09 p > span {
  font-size: calc(28 / 780 * 100vw);
  text-align: center;
}
.app-btn {
  width: calc(460 / 780 * 100vw);
  height: calc(80 / 780 * 100vw);
  background-image: url(../images/app-btn_sp.png);
}
.app-btn.ov { background-image: url(../images/app-btn_sp_ov.png); }
.sec09 .inner > dl { padding: 0; }
.sec09 dl dt {
  font-size: calc(28 / 780 * 100vw);
  line-height: calc(30 / 28);
}
.sec09 dl dd {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(48 / 24);
}

/* 転載許可申請 */
.rpr {
  padding: 0;
  margin: calc(160 / 780 * 100%) 0 calc(80 / 780 * 100%);
}
.rpr > div {
  padding: calc(90 / 780 * 100%) calc(50 / 780 * 100%) calc(80 / 780 * 100%);
}
.rpr h3 {
  font-size: calc(36 / 780 * 100vw);
  margin: 0 0 calc(60 / 780 * 100%);
}
.rpr dl:first-of-type { margin: 0 0 calc(90 / 780 * 100%); }
.rpr dl dt {
  font-size: calc(28 / 780 * 100vw);
  line-height: calc(30 / 18);
  margin: 0 0 15px;
}
.rpr dl dd {
  font-size: calc(24 / 780 * 100vw);
  line-height: calc(30 / 15);
}
.rpr dl dd ul { padding: 0 0 0 1.75em; }
.rpr dl:last-of-type dd:last-of-type { margin: calc(75 / 780 * 100%) 0 0; }

/*
  Fixed Banner
======================================================================= */
.fixed-bnr {
  width: 70%;
  right: 15%;
  bottom: 1%;
}