#explanation {
  margin-top: 0;
  padding-top: 40px;
}
@media print, screen and (min-width: 768px) {
  #explanation {
    padding-top: 80px;
  }
}

/* ファーストビューの背景色をトップページと統一 */
.m-txt-ttl {
  background-color: #000043;
  position: relative; /* ::after の基準にする */
  overflow: hidden; /* はみ出した背景画像を隠す */
}

@media print, screen and (min-width: 768px) {
  .m-txt-ttl::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0; /* 右側に配置 */
    width: 50%; /* 幅を調整 */
    height: 100%;
    background: url("../images/PC/bg_mainv_pc.jpg") repeat-x left; /* パスを修正 */
    background-size: auto 100%; /* 画像が高さ一杯に表示されるように調整 */
    z-index: 0; /* テキストより後ろに */
  }

  .m-txt-ttl .ttl-outer { /* テキストが背景画像より手前に来るように */
    position: relative;
    z-index: 1;
  }
}

.m-txt-ttl .ttl-outer .ttl-inner .ttl-sub,
.m-txt-ttl .ttl-outer .ttl-inner .ttl-txt {
  color: #fff; /* テキスト色を白に変更 */
}

.u-box-app .u-box-app__ttl {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .u-box-app .u-box-app__ttl {
    font-size: 2rem;
  }
}
.u-box-app .u-box-app__items .u-box-app__item {
  list-style: katakana;
  margin-left: 25px;
}
.u-box-app .u-box-app__items .u-box-app__item .m-txt-p {
  margin-left: 10px;
}

.tac .m-txt-p {
  text-align: left;
}

.u-txt-border {
  border: #2A3457 solid 1px;
}
.u-txt-border .m-txt-p {
  margin: 30px;
}

.theme-summury {
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .theme-summury {
    padding: 0 140px;
  }
}

.u-guide-flow {
  margin-top: 40px;
}
.u-guide-flow .u-guide-flow__items {
  color: #fff;
  display: block;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:first-child {
  background-color: #000043;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item:first-child {
    width: 33.3%;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:first-child::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 100%;
  width: 100%;
  height: 58px;
  background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50%, #000043)) no-repeat top left/50.1% 100%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #000043)) no-repeat bottom right/50.1% 100%;
  background: linear-gradient(to top right, transparent 50%, #000043 50%) no-repeat top left/50.1% 100%, linear-gradient(to top left, transparent 50%, #000043 50%) no-repeat bottom right/50.1% 100%;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item:first-child::after {
    top: 0;
    left: 100%;
    bottom: 0;
    width: 58.8px;
    height: 100%;
    background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, transparent), color-stop(50%, #000043)) no-repeat top left/100% 50.1%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #000043)) no-repeat bottom left/100% 50.1%;
    background: linear-gradient(to bottom left, transparent 50%, #000043 50%) no-repeat top left/100% 50.1%, linear-gradient(to top left, transparent 50%, #000043 50%) no-repeat bottom left/100% 50.1%;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:first-child .u-guide-flow__content {
  padding: 30px;
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(2) {
  background-color: #4C4C7B;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(2) {
    width: 33.3%;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: 0;
  top: 100%;
  width: 100%;
  height: 58px;
  background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, transparent), color-stop(50%, #4C4C7B)) no-repeat top left/50.1% 100%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #4C4C7B)) no-repeat bottom right/50.1% 100%;
  background: linear-gradient(to top right, transparent 50%, #4C4C7B 50%) no-repeat top left/50.1% 100%, linear-gradient(to top left, transparent 50%, #4C4C7B 50%) no-repeat bottom right/50.1% 100%;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(2)::after {
    top: 0;
    left: 100%;
    bottom: 0;
    width: 58.8px;
    height: 100%;
    background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, transparent), color-stop(50%, #4C4C7B)) no-repeat top left/100% 50.1%, -webkit-gradient(linear, right bottom, left top, color-stop(50%, transparent), color-stop(50%, #4C4C7B)) no-repeat bottom left/100% 50.1%;
    background: linear-gradient(to bottom left, transparent 50%, #4C4C7B 50%) no-repeat top left/100% 50.1%, linear-gradient(to top left, transparent 50%, #4C4C7B 50%) no-repeat bottom left/100% 50.1%;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(3) {
  background-color: #9999B4;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item:nth-child(3) {
    width: 33.3%;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item .u-guide-flow__content {
  padding: 90px 30px 30px 30px;
}
@media print, screen and (min-width: 768px) {
  .u-guide-flow .u-guide-flow__items .u-guide-flow__item .u-guide-flow__content {
    padding: 30px 30px 30px 90px;
  }
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item .u-guide-flow__content .u-guide-flow__ttl {
  text-align: center;
  font-size: 1.8rem;
}
.u-guide-flow .u-guide-flow__items .u-guide-flow__item .u-guide-flow__content .m-txt-p {
  text-align: left;
}

.accordion-items .accordion-item {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .accordion-items .accordion-item {
    margin-bottom: 30px;
  }
}

.youtube {
  width: 100%;
  aspect-ratio: 16/9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}
