@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : base.css
Description : 共通
===================================================================== */
/* =====================================================================
    共通（大枠）
======================================================================*/
html {
  min-height: 100vh;
  overflow-x: hidden;
  font-size: calc(10 / 750 * 100vw);
}

.gDef-wrapper {
  overflow: initial;
}

.gDef-top-banner {
  background-color: #f8bd00;
}

.wrapper {
  position: relative;
  background-color: #fff;
  color: #000000;
  font-family: YakuHanJP, "Noto Sans JP", "メイリオ", "ＭＳ Ｐゴシック", "小塚ゴシック Pro R", "ヒラギノ角ゴ Pro W3", "Meiryo", "MS PGothic", "KozGoPro-Regular", "Hiragino Kaku Gothic Pro", "MS UI Gothic", Osaka, sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  line-height: 1;
  overflow: hidden;
}
.wrapper::before, .wrapper::after {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  left: 0;
  width: 100%;
  height: 1rem;
  background: #f8bd00;
  z-index: 100;
}
.wrapper::after {
  top: auto;
  bottom: -1px;
}
.wrapper img {
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
}
.wrapper a {
  color: #000000;
  display: block;
}

header,
section,
footer {
  position: relative;
}

.gDef-contents {
  position: relative;
  overflow-x: hidden;
}
.gDef-contents::before, .gDef-contents::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: -1px;
  width: 1rem;
  height: 100%;
  background: #f8bd00;
  z-index: 100;
}
.gDef-contents::after {
  left: auto;
  right: -1px;
}

@supports (aspect-ratio: 1) {
  #main {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.inner {
  position: relative;
  width: calc(650 / 750 * 100%);
  margin: 0 auto;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1600 * 100vw);
  }
  .wrapper {
    font-size: 1.6rem;
  }
  .wrapper a {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .inner {
    width: calc(1200 / 1600 * 100%);
    max-width: 1200px !important;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 10px;
  }
}
/* =====================================================================
*    header
* =================================================================== */
#header {
  height: 103.8rem;
  background: url(../images/img_mv-sp.png) no-repeat center/cover;
}

.mv {
  padding-top: 20rem;
}
.mv h1 {
  margin: 0 auto 2rem;
  width: 66.5rem;
}

.mv_date {
  margin: 0 auto;
  width: 60.5rem;
}

.btn_publication {
  position: relative;
  margin: 1.2rem auto 0;
  width: 60.5rem;
}
.btn_publication::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -0.7em;
  right: -0.7em;
  width: 100%;
  height: 100%;
  background-color: #9e0202;
}
.btn_publication a {
  position: relative;
  text-align: center;
  padding: 4.2rem 0;
  font-size: 3rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #e90b0b;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #header {
    height: calc(939 / 1600 * 100vw);
    background-image: url(../images/img_mv-pc.png);
  }
  .mv {
    padding-top: 10rem;
  }
  .mv h1 {
    margin: 0 auto -0.5rem;
  }
  .btn_publication {
    margin-top: 3rem;
  }
  .btn_publication a {
    padding: 2.8rem 0;
    font-size: 2.6rem;
  }
  .btn_publication a:hover {
    -webkit-transform: translate(0.35em, 0.35em);
            transform: translate(0.35em, 0.35em);
  }
}
/* =====================================================================
    intro
======================================================================*/
.sec_ttl {
  position: relative;
  margin-bottom: 7rem;
  padding-top: 15rem;
}
.sec_ttl::before {
  content: attr(data-ttl);
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  font-family: "Oswald", sans-serif;
  font-size: 20rem;
  line-height: 0.75;
  letter-spacing: 0;
  color: #fff7df;
  white-space: nowrap;
}
.sec_ttl span {
  position: relative;
  display: inline-block;
  padding: 0.4em 0.6em 0.3em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  background: #f8bd00;
}

.sec_subttl {
  margin-bottom: 6rem;
  text-align: center;
}
.sec_subttl > * {
  position: relative;
  display: inline-block;
  padding: 0.8em 2.2em;
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  color: #f8bd00;
}
.sec_subttl > *::before, .sec_subttl > *::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 1.2rem;
  height: 100%;
  background: #f8bd00;
  -webkit-transform: skewX(-32deg);
          transform: skewX(-32deg);
}
.sec_subttl > *::after {
  left: auto;
  right: 0;
}

.intro {
  padding-bottom: 22rem;
}

.intro_movie {
  position: relative;
  margin: -14rem 0 26.4rem;
  aspect-ratio: 16/9;
  -webkit-box-shadow: 1.2rem 1.2rem 0px 0px #54c2d7;
          box-shadow: 1.2rem 1.2rem 0px 0px #54c2d7;
}
.intro_movie iframe {
  width: 100%;
  height: 100%;
}

.intro_head {
  margin-bottom: 17.8rem;
}
.intro_head .sec_ttl::before {
  left: -7.5rem;
}
.intro_head p {
  position: relative;
  margin-bottom: 2.6rem;
  line-height: 2;
}
.intro_head p::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  bottom: -4rem;
  right: 0;
}
.intro_head figure {
  position: relative;
}
.intro_head figure::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  bottom: 3.2rem;
  left: 8.7rem;
}
.intro_head figure img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/0.8;
}

.intro_about1 {
  margin-bottom: 12.5rem;
}
.intro_about1 .sec_ttl {
  text-align: right;
}
.intro_about1 .sec_ttl::before {
  left: -2.5rem;
}
.intro_about1 p {
  position: relative;
  margin-bottom: 2.6rem;
  line-height: 2;
}
.intro_about1 p::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  top: -9.4rem;
  left: 2rem;
}
.intro_about1 figure {
  position: relative;
}
.intro_about1 figure::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: 2.8rem;
  left: 19.5rem;
}
.intro_about1 figure img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/0.8;
}

.intro_about2_list {
  margin: 0 auto 9rem;
  width: 52rem;
}
.intro_about2_list li {
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.4;
}
.intro_about2_list li::before {
  content: "■";
  display: inline-block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 0.8em;
  font-size: 80%;
  color: #f8bd00;
}
.intro_about2_txt {
  margin-bottom: 1rem;
  text-align: center;
}
.intro_about2_txt span {
  display: inline-block;
  margin-bottom: 0.7em;
  padding: 0.5em;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #fff;
  background: #54c2d7;
}
.intro_about2 figure {
  position: relative;
}
.intro_about2 figure::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: 3.3rem;
  right: 9rem;
}
.intro_about2 figure::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  bottom: 4.6rem;
  left: 3.2rem;
}
.intro_about2 figure img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 63.5rem;
}

@media screen and (min-width: 768px) {
  .sec_ttl {
    margin-bottom: 6rem;
  }
  .sec_ttl::before {
    font-size: 22rem;
    letter-spacing: 0.1em;
  }
  .sec_ttl span {
    font-size: 2.6rem;
  }
  .sec_subttl > * {
    font-size: 2.4rem;
  }
  .intro {
    padding-bottom: 17rem;
  }
  .intro_movie {
    margin: -18rem auto 20rem;
    width: 69rem;
  }
  .intro_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .intro_head {
    margin-bottom: 6rem;
  }
  .intro_head .sec_ttl::before {
    left: -0.1em;
  }
  .intro_head p {
    margin-bottom: 0;
    width: 48rem;
  }
  .intro_head p::before {
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
    bottom: -5rem;
    right: auto;
    left: -3.8rem;
  }
  .intro_head figure {
    margin-top: -12rem;
    width: 67.7rem;
  }
  .intro_head figure::before {
    bottom: 0;
    left: 30rem;
  }
  .intro_about1 .sec_ttl {
    width: 95rem;
    margin: 0 0 0 auto;
    text-align: center;
  }
  .intro_about1 .sec_ttl::before {
    left: auto;
    right: -0.15em;
  }
  .intro_about1 .sec_ttl span {
    right: -6rem;
  }
  .intro_about1 .intro_flex {
    margin-top: -3rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .intro_about1 p {
    margin: 0;
    padding-top: 10rem;
    width: 54rem;
  }
  .intro_about1 p::before {
    top: auto;
    left: auto;
    bottom: -5.5rem;
    right: 9.5rem;
  }
  .intro_about1 figure {
    width: 61rem;
  }
  .intro_about1 figure::before {
    top: -2rem;
    left: auto;
    right: 7.7rem;
  }
  .intro_about2_list {
    margin: 0 auto 10rem;
    width: 50rem;
  }
  .intro_about2_list li {
    font-size: 2.2rem;
  }
  .intro_about2_txt {
    margin-bottom: 0;
  }
  .intro_about2_txt span {
    font-size: 2.8rem;
  }
  .intro_about2 figure::before {
    top: -3.3rem;
    right: auto;
    left: -1.7rem;
  }
  .intro_about2 figure::after {
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
    bottom: 2rem;
    left: auto;
    right: -2.4rem;
  }
  .intro_about2 figure img {
    height: 37.5rem;
  }
}
/* =====================================================================
    overview
======================================================================*/
.overview {
  padding-bottom: 14rem;
  background: #f8bd00;
  overflow: hidden;
}
.overview .sec_ttl {
  text-align: center;
}
.overview .sec_ttl::before {
  left: -5rem;
  color: #fdc615;
}
.overview .sec_ttl span {
  background-color: #fff;
}

.overview_subttl {
  position: relative;
  margin: 0 auto 5rem;
  padding: 0.5em;
  width: 52rem;
  text-align: center;
  font-weight: 900;
  font-size: 2.6rem;
  line-height: 1.846;
  letter-spacing: 0.2em;
  color: #fff;
  background: #54c2d7;
}
.overview_subttl img {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: 13rem;
}
.overview_subttl + p {
  position: relative;
  margin-bottom: 9rem;
  line-height: 2;
}

.overview_present {
  position: relative;
  margin-bottom: 25rem;
  padding: 5rem 0 3rem;
  background: #ffd652;
}
.overview_present::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  top: -4.4rem;
  right: 10rem;
}
.overview_present::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  bottom: -4.6rem;
  left: 7.6rem;
}
.overview_present h4 {
  margin-bottom: 4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.overview_present h4 strong {
  font-size: 120%;
  -webkit-text-emphasis: filled dot #fff;
          text-emphasis: filled dot #fff;
}
.overview_present ul {
  position: relative;
  margin: 0 auto;
  width: 58rem;
  text-align: left;
}
.overview_present ul::before {
  content: "";
  position: absolute;
  display: block;
  bottom: -16rem;
  right: -6rem;
  width: 15.8rem;
  height: 19.4rem;
  background: url(../images/img_shinoby.png) no-repeat center/contain;
}
.overview_present ul li {
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.4;
}
.overview_present ul li::before {
  content: "■";
  display: inline-block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 0.8em;
  font-size: 80%;
  color: #f8bd00;
}

.overview_timeTable .sec_subttl {
  margin-bottom: 4rem;
}
.overview_timeTable .sec_subttl h4 {
  color: #fff;
}
.overview_timeTable .sec_subttl h4::before, .overview_timeTable .sec_subttl h4::after {
  background-color: #fff;
}
.overview_timeTable .sec_subttl + p {
  margin-bottom: 6rem;
  text-align: center;
  line-height: 2;
}
.overview_timeTable_inner {
  margin: 0 auto 6rem;
  width: 51.5rem;
}
.overview_timeTable_inner h5 {
  margin-bottom: 1.2rem;
  font-family: "Oswald", sans-serif;
  font-size: 5rem;
  color: #fff;
}
.overview_timeTable_inner p {
  margin-top: 3rem;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .overview_timeTable_inner.day1 table::before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 3.8rem 6.8rem 0;
    border-color: transparent #54c2d7 transparent transparent;
    top: -4.4rem;
    right: 9.4rem;
  }
  .overview_timeTable_inner.day1 table::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.8rem 0 0 3.8rem;
    border-color: transparent transparent transparent #54c2d7;
    bottom: 9.8rem;
    left: -2.3rem;
  }
}
@media screen and (max-width: 767px) {
  .overview_timeTable_inner.day2 table::before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 3.8rem 6.8rem 0;
    border-color: transparent #54c2d7 transparent transparent;
    bottom: 2.7rem;
    right: -2.9rem;
  }
}
.overview_timeTable table {
  position: relative;
  width: 100%;
}
.overview_timeTable table tr {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.363;
}
.overview_timeTable table tr:first-child th,
.overview_timeTable table tr:first-child td {
  padding-top: 3%;
}
.overview_timeTable table tr:last-child th,
.overview_timeTable table tr:last-child td {
  padding-bottom: 3%;
}
.overview_timeTable table tr th {
  width: 32%;
  padding-left: 8%;
  background: #ffe284;
  border-right: 0.5rem solid #f8bd00;
}
.overview_timeTable table tr td {
  padding-left: 7%;
  background: #ffd652;
}

.overview_note {
  padding: 5rem 7rem;
  background: #ffd652;
}
.overview_note h4 {
  margin-bottom: 5rem;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.overview_note ol {
  counter-reset: listCounter;
}
.overview_note ol li {
  counter-increment: listCounter;
  line-height: 1.777;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.overview_note ol li::before {
  content: counter(listCounter) ".";
  margin-right: 0.4em;
}
.overview_note ol li a {
  display: inline;
  color: #088ca5;
  border-bottom: 1px solid;
}

@media screen and (min-width: 768px) {
  .overview {
    padding-bottom: 16rem;
  }
  .overview .sec_ttl::before {
    left: 0.5em;
  }
  .overview_subttl {
    margin: 0 auto 4rem;
    width: 80rem;
  }
  .overview_subttl img {
    top: -3rem;
    left: -2.7rem;
  }
  .overview_subttl + p {
    margin: 0 auto 7rem;
    width: 80rem;
  }
  .overview_present {
    margin: 0 auto 18.5rem;
    width: 69rem;
  }
  .overview_present::before {
    top: auto;
    right: auto;
    bottom: -3.7rem;
    left: 3.9rem;
  }
  .overview_present::after {
    bottom: auto;
    left: auto;
    top: -1.9rem;
    right: 14.7rem;
  }
  .overview_present h4 {
    font-size: 2rem;
  }
  .overview_present ul {
    width: 45rem;
    width: clamp(250px, 37vw, 45rem);
  }
  .overview_present ul::before {
    bottom: -8rem;
    right: -17.8rem;
  }
  .overview_present ul li {
    font-size: 1.8rem;
  }
  .overview_timeTable .sec_subttl + p {
    margin-bottom: 1rem;
  }
  .overview_timeTable_inner {
    margin: 0;
    width: clamp(250px, 32.5vw, 40rem);
  }
  .overview_timeTable_inner p {
    margin-top: 2rem;
    font-size: 1.6rem;
    text-align: left;
  }
  .overview_timeTable_inner.day1 {
    position: relative;
    float: left;
    margin: 0 0 0 calc(50 / 1200 * 100%);
  }
  .overview_timeTable_inner.day2 {
    float: right;
    margin: 17rem calc(50 / 1200 * 100%) 0 0;
  }
  .overview_timeTable_inner.day2 table::before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6.8rem 0 0 3.8rem;
    border-color: transparent transparent transparent #54c2d7;
    top: -2.7rem;
    right: 3.2rem;
  }
  .overview_timeTable_inner.day2 table::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 3.8rem 6.8rem 0;
    border-color: transparent #54c2d7 transparent transparent;
    bottom: -4.6rem;
    left: -4.8rem;
  }
  .overview_timeTable table tr {
    font-size: 1.8rem;
  }
  .overview_note {
    clear: both;
    margin: 0 auto;
    padding: 6rem 7rem;
    width: 78.5rem;
  }
  .overview_note h4 {
    margin-bottom: 5rem;
    font-size: 1.8rem;
  }
  .overview_note ol li {
    line-height: 2;
  }
  .overview_note ol li a:hover {
    color: #f8bd00;
  }
}
@media screen and (min-width: 1200px) {
  .overview_timeTable_inner.day1 {
    margin-left: calc(150 / 1200 * 100%);
  }
  .overview_timeTable_inner.day2 {
    margin-right: calc(150 / 1200 * 100%);
  }
}
/* =====================================================================
    publication
======================================================================*/
.publication {
  padding: 20rem 0 10rem;
}
.publication .sec_ttl {
  text-align: center;
  z-index: 1;
}
.publication .sec_ttl::before {
  left: -6rem;
  color: #ffe598;
  opacity: 0.3;
}
.publication .sec_ttl span {
  padding: 0.4em 3em 0.3em;
  color: #fff;
  background-color: #e90b0b;
}

.publication_list {
  position: relative;
  margin: -18rem 0 22rem;
}
.publication_list::before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: calc(100% - 40rem);
  background-image: linear-gradient(#fff3cc 3px, transparent 3px), linear-gradient(to right, #fff3cc 3px, transparent 3px);
  background-size: 6px 6px;
}
.publication_list li {
  position: relative;
  margin-bottom: 1rem;
  padding: 10rem 0 7rem;
  background: #f8bd00;
}
.publication_list li:first-child {
  padding-top: 18rem;
}
.publication_list li:first-child::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: 16rem;
  right: -1.4rem;
}
.publication_list li:first-child::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: 39rem;
  left: -2rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.publication_list li:nth-child(2)::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  top: -4.8rem;
  left: 5.8rem;
}
.publication_list li:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  top: 68.4rem;
  right: -1.4rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.publication_list li:nth-child(3)::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: -3.5rem;
  right: 5.5rem;
}
.publication_list li:nth-child(3)::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  bottom: 40rem;
  left: -2rem;
}
.publication_list li:nth-child(4)::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.8rem 6.8rem 0;
  border-color: transparent #54c2d7 transparent transparent;
  top: 3rem;
  right: -1.4rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.publication_list li:nth-child(4)::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6.8rem 0 0 3.8rem;
  border-color: transparent transparent transparent #54c2d7;
  bottom: -2.7rem;
  left: 5.8rem;
}
.publication_list li h3 {
  margin-bottom: 7rem;
}
.publication_list li h3 img {
  margin: 0 auto;
  width: auto;
  height: 14.5rem;
}
.publication_list li dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto 4rem;
  width: calc(520 / 650 * 100%);
}
.publication_list li dl dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
  padding: 0.2em 0;
  width: 18.4615384615%;
  font-size: 2.2rem;
  background: #ffd652;
}
.publication_list li dl dd {
  width: 76.9230769231%;
  font-size: 2.2rem;
  line-height: 1.6;
}
.publication_list li dl dd strong {
  display: block;
  margin-top: -0.2em;
  font-size: 2.8rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .publication {
    padding-bottom: 0;
  }
  .publication .sec_ttl::before {
    left: -0.15em;
  }
  .publication_list {
    margin-bottom: 14rem;
  }
  .publication_list li:first-child::before {
    top: 39rem;
    right: -10rem;
  }
  .publication_list li:first-child::after {
    top: auto;
    bottom: 26rem;
    left: -1.4rem;
  }
  .publication_list li:nth-child(2)::before {
    top: 1.6rem;
    left: auto;
    right: 13.7rem;
  }
  .publication_list li:nth-child(2)::after {
    top: 37rem;
    right: auto;
    left: -8rem;
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
  }
  .publication_list li:nth-child(3)::before {
    top: 15rem;
    right: 9.5rem;
  }
  .publication_list li:nth-child(3)::after {
    bottom: 34rem;
    left: 11rem;
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
  }
  .publication_list li:nth-child(4)::before {
    top: 0.5rem;
    right: 22.3rem;
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
  }
  .publication_list li:nth-child(4)::after {
    bottom: 9.8rem;
    left: auto;
    right: -9rem;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .publication_list li h3 {
    margin-bottom: 5rem;
  }
  .publication_list li h3 img {
    height: 12.1rem;
  }
  .publication_list li dl {
    margin-bottom: 3rem;
    width: calc(670 / 1200 * 100%);
  }
  .publication_list li dl dt {
    font-size: 1.8rem;
  }
  .publication_list li dl dd {
    font-size: 1.8rem;
  }
  .publication_list li dl dd strong {
    margin-top: -0.32em;
    font-size: 2.6rem;
  }
}
/* =====================================================================
*    footer
* =================================================================== */
.bnr_apply {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  width: 17.9rem;
  z-index: 999;
}
.bnr_apply.fixed {
  position: fixed;
}

.banner_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7rem 0;
}
.banner_list li {
  margin-bottom: 5rem;
  width: 40rem;
}
.banner_list li img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3.2/1;
}

.copyright {
  padding-bottom: 4rem;
  font-size: 1.6rem;
  letter-spacing: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .bnr_apply {
    right: 4rem;
  }
  .bnr_apply a {
    position: relative;
    top: 0;
  }
  .bnr_apply a:hover {
    top: -1rem;
  }
  .banner_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 14rem 0;
  }
  .banner_list li {
    margin: 0 3rem;
  }
  .banner_list li a:hover {
    opacity: 0.7;
  }
}/*# sourceMappingURL=base.css.map */