@charset "UTF-8";
/* Scss Document */
/* CSS Document */
/*------------------------------mixin フォント------------------------------*/
/*------------------------------mixin bg------------------------------*/
/*------------------------------mixin flex------------------------------*/
/*------------------------------基本設定------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 2.5641025641vw;
}
@media only screen and (min-width: 769px) {
  html {
    font-size: 0.694444444vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #000;
  font-size: 1.6rem;
  margin: 0 auto;
  width: 100%;
  overflow-x: hidden;
}

img, source {
  width: 100%;
}

main {
  flex: 1;
  width: 100vw;
}

.pc-only {
  display: none;
}
@media only screen and (min-width: 769px) {
  .pc-only {
    display: block;
  }
}

.sp-only {
  display: block;
}
@media only screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}

.bold {
  font-weight: 700;
}

section {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

picture {
  display: block;
}

/*------------------------------スクロールアニメーション------------------------------*/
.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s;
}
.fadein.fadein-left {
  transform: translate(-30px, 0);
}
.fadein.fadein-right {
  transform: translate(30px, 0);
}
.fadein.fadein-up {
  transform: translate(0, -30px);
}
.fadein.fadein-bottom {
  transform: translate(0, 30px);
}
.fadein.scrollin {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/*------------------------------フォント------------------------------*/
.font-en {
  font-family: myriad-pro-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
}

.bold {
  font-weight: 700;
}

/*------------------------------カラー------------------------------*/
.blue {
  color: #042a8c;
}

.l-blue {
  color: #00caff;
}

.m-blue {
  color: #0064ff;
}

.orange {
  color: #f17400;
}

.yellow {
  color: #ffe241;
}

/*------------------------------共通要素------------------------------*/
.ttl-en {
  margin-bottom: 1rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .ttl-en {
    margin-bottom: 1.5rem;
  }
}
.ttl-en span {
  display: inline-block;
  font-size: 2.4rem;
  background: linear-gradient(0deg, #0064ff, #00bdff);
  background: -webkit-linear-gradient(0deg, #0064ff, #00bdff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media only screen and (min-width: 769px) {
  .ttl-en span {
    font-size: 4.1rem;
  }
}

.section-ttl {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .section-ttl {
    font-size: 5rem;
  }
}
.section-ttl .small {
  font-size: 2.4rem;
}
@media only screen and (min-width: 769px) {
  .section-ttl .small {
    font-size: 4rem;
  }
}
.section-ttl .sub {
  font-size: 2.1rem;
  white-space: nowrap;
}
@media only screen and (min-width: 769px) {
  .section-ttl .sub {
    font-size: 3rem;
  }
}

/*------------------▼ヘッダー //.header------------------*/
.header {
  width: 100%;
  height: 7rem;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  box-shadow: 0 0.5rem 0.5rem rgba(0, 0, 0, 0.15);
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999;
}
@media only screen and (min-width: 769px) {
  .header {
    height: 9rem;
    padding: 0 12rem;
  }
}
.header--logo {
  width: 10.6rem;
  height: 3.5rem;
}
@media only screen and (min-width: 769px) {
  .header--logo {
    width: 14rem;
    height: auto;
  }
}
.header--btn {
  display: block;
  width: 16.7rem;
  height: 4rem;
  background: #f17400;
  color: #fff;
  text-align: center;
  line-height: 4rem;
  font-weight: 700;
  border-radius: 9999px;
}
.header--btn:hover {
  opacity: 0.7;
}
@media only screen and (min-width: 769px) {
  .header--btn {
    width: 24rem;
    height: 6rem;
    line-height: 6rem;
    font-size: 2rem;
  }
}

/*------------------▲ヘッダー //.header------------------*/
/*------------------▼固定ボタン //.fixed-btn------------------*/
.fixed-btn {
  width: 100%;
  height: 13.5rem;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
}
@media only screen and (min-width: 769px) {
  .fixed-btn {
    display: none;
  }
}
.fixed-btn .cv-btn {
  display: block;
  width: 30.5rem;
  height: 7.1rem;
  background: #f17400;
  border-radius: 9999px;
  position: relative;
  line-height: 7.1rem;
  font-weight: 700;
  text-align: center;
}
.fixed-btn .cv-btn::before {
  content: "";
  background: url(../img/arrow_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
.fixed-btn .cv-btn p {
  color: #fff;
  font-size: 2.28rem;
}
.fixed-btn .cv-btn p .small {
  font-size: 1.82rem;
}
.fixed-btn--list {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
}
.fixed-btn--list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.fixed-btn--list li figure {
  width: 3rem;
  height: 3rem;
}
.fixed-btn--list li p {
  margin-left: 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
  color: #042a8c;
}

/*------------------▲固定ボタン //.fixed-btn------------------*/
/*------------------▼FV //.fv------------------*/
.fv {
  margin-top: 7rem;
  background: url(../img/fv_texcher.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 769px) {
  .fv {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: space-between;
  }
}
.fv--top {
  position: relative;
  overflow: hidden;
}
.fv--top--img {
  width: 102%;
  transform: translateX(-0.4rem);
}
@media only screen and (min-width: 769px) {
  .fv--top--img {
    width: 45.8rem;
    height: 52.2rem;
    transform: translateX(-1rem);
  }
}
.fv--top--sub {
  position: absolute;
  left: -4rem;
  top: 4.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.7rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .fv--top--sub {
    left: -3rem;
    gap: 1.3rem;
    top: 31rem;
  }
}
.fv--top--sub .white-bg {
  background: #fff;
  transform: skewX(-20deg);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.5rem 1rem 0.5rem 5rem;
}
@media only screen and (min-width: 769px) {
  .fv--top--sub .white-bg {
    font-size: 3rem;
    padding: 1rem 2rem 1rem 5rem;
  }
}
.fv--top--sub .white-bg p {
  transform: skewX(15deg);
}
.fv--top--sub .white-bg p .m-blue {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .fv--top--sub .white-bg p .m-blue {
    font-size: 3.4rem;
  }
}
.fv--middle--ttl-wrap {
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  .fv--middle--ttl-wrap {
    margin-top: 0;
  }
}
.fv--middle--ttl-wrap--main {
  font-size: 3.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.27;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media only screen and (min-width: 769px) {
  .fv--middle--ttl-wrap--main {
    font-size: 4.8rem;
  }
}
.fv--middle--ttl-wrap--main .small {
  font-size: 2.8rem;
}
@media only screen and (min-width: 769px) {
  .fv--middle--ttl-wrap--main .small {
    font-size: 4.2rem;
  }
}
.fv--middle--ttl-wrap--logo {
  width: 20.9rem;
  height: 6.8rem;
  margin: 0 auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .fv--middle--ttl-wrap--logo {
    width: 29.8rem;
    height: 9.6rem;
    margin: 0 auto;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.fv--middle--cv-btn {
  display: block;
  width: 30.5rem;
  height: 7rem;
  background: #f17400;
  color: #fff;
  border-radius: 9999px;
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: all 0.3s linear;
}
@media only screen and (min-width: 769px) {
  .fv--middle--cv-btn {
    width: 36.3rem;
    height: 8.4rem;
  }
}
.fv--middle--cv-btn:hover {
  transform: translateY(0.5rem);
  box-shadow: 0 0.5rem 0.8rem rgba(0, 0, 0, 0.15);
}
.fv--middle--cv-btn--txt {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .fv--middle--cv-btn--txt {
    font-size: 2.7rem;
  }
}
.fv--middle--cv-btn--txt .small {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .fv--middle--cv-btn--txt .small {
    font-size: 2.1rem;
  }
}
.fv--middle--cv-btn--arrow {
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 34%;
  right: 2.5rem;
}
@media only screen and (min-width: 769px) {
  .fv--middle--cv-btn--arrow {
    width: 1.7rem;
    height: 1.7rem;
    right: 2.9rem;
    top: 38%;
  }
}
.fv--bottom {
  margin-top: 4rem;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 769px) {
  .fv--bottom {
    margin-top: 0;
  }
}
.fv--bottom--img {
  width: 102%;
}
@media only screen and (min-width: 769px) {
  .fv--bottom--img {
    width: 45.8rem;
    height: 52.2rem;
    transform: translateX(1rem);
  }
}
.fv--bottom--sub {
  position: absolute;
  right: -4rem;
  top: 6.8rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 0.7rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .fv--bottom--sub {
    gap: 1.3rem;
    top: 36rem;
    right: -2rem;
  }
}
.fv--bottom--sub .white-bg {
  background: #fff;
  transform: skewX(-20deg);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 0.5rem 5rem 0.5rem 1rem;
}
@media only screen and (min-width: 769px) {
  .fv--bottom--sub .white-bg {
    font-size: 3rem;
    padding: 1rem 5rem 1rem 2rem;
  }
}
.fv--bottom--sub .white-bg p {
  transform: skewX(15deg);
}
.fv--bottom--sub .white-bg p .m-blue {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .fv--bottom--sub .white-bg p .m-blue {
    font-size: 3.4rem;
  }
}

/*------------------▼cm //.cm------------------*/
.cm {
  padding: 3rem 3rem 3.6rem;
  position: relative;
  background: url(../img/cm-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 769px) {
  .cm {
    padding: 6rem 38rem;
    background: url(../img/cm-bg-pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
}
.cm--ttl {
  width: 17.5rem;
  height: 3.6rem;
  border-radius: 9999px;
  text-align: center;
  line-height: 3.6rem;
  background: #042a8c;
  position: relative;
  color: #fff;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .cm--ttl {
    width: 26.5rem;
    height: 5.4rem;
    line-height: 5.4rem;
    font-size: 2.4rem;
  }
}
.cm--ttl::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -0.8rem;
  border: 0.8rem solid transparent;
  border-top: 0.8rem solid #042a8c;
}
@media only screen and (min-width: 769px) {
  .cm--ttl::before {
    margin-left: -1.3rem;
    border: 1.3rem solid transparent;
    border-top: 1.3rem solid #042a8c;
  }
}
.cm--video {
  width: 33rem;
  aspect-ratio: 16/9;
  border: 0.5rem solid #042a8c;
  margin-top: -0.8rem;
}
@media only screen and (min-width: 769px) {
  .cm--video {
    margin: 0 auto;
    width: 51rem;
    border: 1rem solid #042a8c;
    margin-top: -1.2rem;
  }
}
.cm--video iframe {
  width: 100%;
  height: 100%;
}

/*------------------▼プレゼント //.present------------------*/
.present {
  background: url(../img/present_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 4rem 3rem 4rem;
}
@media only screen and (min-width: 769px) {
  .present {
    background: url(../img/present_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 8rem 22rem 8rem;
  }
}
.present--top--list {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 1.5rem;
}
.present--top--list--item {
  padding-top: 1rem;
  text-align: center;
  background: #fff;
  border: #f17400 0.2rem solid;
  width: 15.8rem;
  height: 7.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.375;
}
@media only screen and (min-width: 769px) {
  .present--top--list--item {
    padding-top: 1.2rem;
    width: 22.6rem;
    height: 10.8rem;
    font-size: 2.28rem;
  }
}
.present--top--list--item.list-last {
  padding-top: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .present--top--list--item.list-last {
    padding-top: 2.2rem;
  }
}
.present--top--list--item .font-en {
  font-size: 3.2rem;
  line-height: 1;
}
@media only screen and (min-width: 769px) {
  .present--top--list--item .font-en {
    font-size: 4.6rem;
  }
}
.present--top--list--item .font-en .small {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .present--top--list--item .font-en .small {
    font-size: 3rem;
  }
}
.present--top--list--item .note {
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  .present--top--list--item .note {
    font-size: 1.7rem;
  }
}
.present--top--note {
  font-size: 1rem;
  text-align: center;
  margin-top: 0.8rem;
}
@media only screen and (min-width: 769px) {
  .present--top--note {
    font-size: 1.4rem;
    margin-top: 1.4rem;
    text-align: right;
  }
}
.present--plus {
  width: 3.4rem;
  height: 3.4rem;
  text-align: center;
  margin: 2rem auto;
}
@media only screen and (min-width: 769px) {
  .present--plus {
    width: 4.6rem;
    height: 4.6rem;
    margin: 0.8rem auto 2.5rem;
  }
}
.present--bottom--ribon {
  margin: 0 auto;
  width: 20.3rem;
  height: 5.3rem;
  text-align: center;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--ribon {
    width: 38rem;
    height: auto;
    margin-bottom: 2.5rem;
  }
}
.present--bottom--list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list {
    gap: 5rem;
  }
}
.present--bottom--list--item {
  width: 14.3rem;
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item {
    width: 33rem;
  }
}
.present--bottom--list--item--number {
  width: 4rem;
  height: 4rem;
  margin: 0 auto;
  margin-bottom: -2rem;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--number {
    width: 5.2rem;
    height: 5.2rem;
    margin-bottom: -2.6rem;
  }
}
.present--bottom--list--item--top {
  background: #042a8c;
  color: #fff;
  position: relative;
  height: 5.2rem;
  width: 100%;
  position: relative;
  padding: 2.8rem 0 1rem;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--top {
    height: 7.2rem;
    padding: 3.5rem 0 1rem;
    font-size: 2.4rem;
  }
}
.present--bottom--list--item--top::before, .present--bottom--list--item--top::after {
  content: "";
  width: 50%;
  height: 1.2rem;
  position: absolute;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--top::before, .present--bottom--list--item--top::after {
    height: 2.4rem;
  }
}
.present--bottom--list--item--top::before {
  background: linear-gradient(to bottom left, #042a8c 50%, transparent 50.1%);
  bottom: 0.08rem;
  left: 0;
  transform: translateY(100%);
}
.present--bottom--list--item--top::after {
  background: linear-gradient(to bottom right, #042a8c 50%, transparent 50.1%);
  bottom: 0.08rem;
  right: 0;
  transform: translateY(100%);
}
.present--bottom--list--item--bottom {
  box-shadow: 0 0.8rem 1rem rgba(133, 111, 1, 0.15);
  font-weight: 700;
  background: #fff;
  width: 100%;
  height: 12rem;
  text-align: center;
  padding-top: 2rem;
  line-height: 1.35;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--bottom {
    height: 15.7rem;
    padding-top: 4rem;
  }
}
.present--bottom--list--item--bottom .only {
  font-size: 1.4rem;
  line-height: 1.7;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--bottom .only {
    font-size: 2rem;
  }
}
.present--bottom--list--item--bottom--txt {
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--bottom--txt {
    font-size: 2.4rem;
  }
}
.present--bottom--list--item--bottom--txt .font-en {
  font-size: 3.2rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--bottom--txt .font-en {
    font-size: 4.5rem;
    padding: 0 0.3rem;
  }
}
.present--bottom--list--item--bottom .note {
  font-size: 1rem;
  font-weight: 400;
  position: absolute;
  bottom: 1rem;
  right: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .present--bottom--list--item--bottom .note {
    font-size: 1.3rem;
    bottom: 2rem;
    right: 2.3rem;
  }
}

/*------------------▼ポイント //.point------------------*/
.point {
  background: url(../img/point_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 4rem 3rem;
}
@media only screen and (min-width: 769px) {
  .point {
    background: url(../img/point_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 8rem 0rem;
  }
}
.point--sub {
  margin: 0 auto;
  background: #101434;
  width: 22.6rem;
  height: 4.3rem;
  position: relative;
  font-weight: 700;
  border-radius: 0.7rem;
  box-shadow: 0 0.8rem 0.5rem rgba(0, 17, 62, 0.15);
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
  line-height: 4.3rem;
}
@media only screen and (min-width: 769px) {
  .point--sub {
    width: 34rem;
    height: 6.5rem;
    border-radius: 1rem;
    box-shadow: 0 0.8rem 0.5rem rgba(0, 17, 62, 0.15);
    font-size: 3.4rem;
    line-height: 6.5rem;
  }
}
.point--sub .font-en {
  font-size: 3rem;
}
@media only screen and (min-width: 769px) {
  .point--sub .font-en {
    font-size: 4.5rem;
  }
}
.point--sub .small {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .point--sub .small {
    font-size: 2.7rem;
  }
}
.point--sub::before {
  content: "";
  position: absolute;
  top: 95%;
  left: 50%;
  margin-left: -0.7rem;
  border: 0.7rem solid transparent;
  border-top: 0.7rem solid #101434;
}
@media only screen and (min-width: 769px) {
  .point--sub::before {
    margin-left: -1.2rem;
    border: 1.2rem solid transparent;
    border-top: 1.2rem solid #101434;
  }
}
.point--main {
  color: #fff;
  text-align: center;
  font-size: 2.5rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .point--main {
    font-size: 3.8rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.point--main .font-en {
  font-size: 3.2rem;
}
@media only screen and (min-width: 769px) {
  .point--main .font-en {
    font-size: 4.8rem;
  }
}
.point--main .yellow .font-en {
  font-size: 4.5rem;
}
@media only screen and (min-width: 769px) {
  .point--main .yellow .font-en {
    font-size: 6.7rem;
    padding-left: 1.5rem;
  }
}
.point--btn {
  display: block;
  width: 28rem;
  height: 5.7rem;
  border-radius: 9999px;
  margin: 0 auto;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .point--btn {
    width: 41.85rem;
    height: 8.55rem;
  }
  .point--btn:hover::before {
    transform: translateX(0.6rem);
  }
}
.point--btn::before {
  content: "";
  background: url(../img/arrow_b.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.8rem;
  height: 1.7rem;
  position: absolute;
  top: 35%;
  right: 1.8rem;
  transition: all 0.2s linear;
}
@media only screen and (min-width: 769px) {
  .point--btn::before {
    width: 2.6rem;
    height: 2.6rem;
    top: 35%;
    right: 2.4rem;
  }
}
.point--btn--txt {
  font-size: 1.6rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .point--btn--txt {
    font-size: 2.4rem;
  }
}
.point--btn--txt .font-en {
  font-size: 2.4rem;
  margin-right: 0.5rem;
}
@media only screen and (min-width: 769px) {
  .point--btn--txt .font-en {
    font-size: 3.6rem;
    margin-right: 0.9rem;
  }
}

/*------------------▼アドバイス //.advice------------------*/
.advice {
  padding-bottom: 2.7rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .advice {
    padding-bottom: 3rem;
    text-align: center;
  }
}
.advice::before, .advice::after {
  content: "";
  width: 100%;
  height: 5rem;
}
@media only screen and (min-width: 769px) {
  .advice::before, .advice::after {
    height: 18.6rem;
  }
}
.advice::before {
  background: linear-gradient(to bottom left, #7dc8fe 50%, transparent 50.1%);
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateY(100%);
  z-index: 2;
}
.advice::after {
  background: linear-gradient(to bottom right, #fff 50%, transparent 50.1%);
  position: absolute;
  bottom: 0.1rem;
  left: 0;
  transform: translateY(100%);
  z-index: 2;
}
.advice--top {
  position: relative;
  overflow-x: hidden;
  z-index: 1;
}
.advice--top::before {
  content: "";
  width: 7rem;
  height: 7rem;
  background: linear-gradient(to right, #0064ff, #00bdff);
  opacity: 0.4;
  position: absolute;
  top: 0;
  right: -5rem;
  z-index: 2;
  transform: skewX(-20deg);
}
@media only screen and (min-width: 769px) {
  .advice--top::before {
    width: 18rem;
    height: 18rem;
    right: -10rem;
  }
}
.advice--worry {
  position: relative;
  padding: 5rem 3rem 3rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry {
    padding: 12rem 22rem 6rem;
  }
}
.advice--worry::before {
  content: "";
  width: 11.4rem;
  height: 20rem;
  background: url(../img/advice_bg_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -15rem;
  left: -4rem;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .advice--worry::before {
    width: 37.8em;
    height: 65rem;
    top: -30rem;
    left: -30rem;
  }
}
.advice--worry--bubble {
  font-size: 2.8rem;
  text-align: center;
  color: #042a8c;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  margin-bottom: 3.2rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry--bubble {
    font-size: 4.2rem;
    margin-bottom: 5.5rem;
  }
}
.advice--worry--bubble::before, .advice--worry--bubble::after {
  content: "";
  background: url(../img/advice_bubble_deco.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 3.8rem;
  height: 6.2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-15deg);
}
@media only screen and (min-width: 769px) {
  .advice--worry--bubble::before, .advice--worry--bubble::after {
    width: 4.3rem;
    height: 7rem;
    transform: translateY(-40%) rotate(-15deg);
  }
}
.advice--worry--bubble::before {
  left: -0.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry--bubble::before {
    left: 10rem;
  }
}
.advice--worry--bubble::after {
  right: -0.5rem;
  transform: translateY(-50%) rotate(15deg) scale(-1, 1);
}
@media only screen and (min-width: 769px) {
  .advice--worry--bubble::after {
    right: 10rem;
    transform: translateY(-40%) rotate(15deg) scale(-1, 1);
  }
}
.advice--worry--bubble .small {
  font-size: 2.4rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry--bubble .small {
    font-size: 3.6rem;
  }
}
.advice--worry--illust {
  width: 14.2rem;
  height: 15.8rem;
  margin: 0 auto;
  position: relative;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .advice--worry--illust {
    width: 21.3rem;
    height: 23.7rem;
  }
}
.advice--worry--illust::before {
  content: "";
  width: 11.4rem;
  height: 20rem;
  background: url(../img/advice_bg_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 2rem;
  right: -12rem;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .advice--worry--illust::before {
    width: 30rem;
    height: 51rem;
    top: 10rem;
    right: -60rem;
  }
}
.advice--worry--list {
  background: #ddf2ff;
  padding: 3.7rem 0 3.7rem 7rem;
  margin-top: -2rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry--list {
    padding: 4rem 5rem 4rem 11.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12.3rem;
    margin-top: -4rem;
  }
}
.advice--worry--list--item {
  font-size: 1.6rem;
  font-weight: 700;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .advice--worry--list--item {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.advice--worry--list--item + li {
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  .advice--worry--list--item + li {
    margin-top: 0rem;
  }
}
.advice--worry--list--item::before {
  content: "";
  background: url(../img/check_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 50%;
  left: -4rem;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .advice--worry--list--item::before {
    width: 4.5rem;
    height: 4.5rem;
    left: -6.5rem;
  }
}
.advice--middle {
  padding-top: 1rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle {
    padding-top: 0rem;
  }
}
.advice--middle--first {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle--first {
    gap: 2.2rem;
    margin-bottom: 2rem;
  }
}
.advice--middle--first--icon {
  width: 2.2rem;
  height: 3.4rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle--first--icon {
    width: 3.3rem;
    height: 5.1rem;
  }
}
.advice--middle--first--txt {
  font-size: 3rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .advice--middle--first--txt {
    font-size: 4.5rem;
  }
}
.advice--middle--txt {
  text-align: center;
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 3rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle--txt {
    font-size: 3rem;
    margin-bottom: 1.5rem;
  }
}
.advice--middle--txt .bg-blue {
  color: #fff;
  background: #00caff;
  padding: 0 0.5rem;
  font-size: 2.5rem;
  font-weight: 700;
  margin-right: 0.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle--txt .bg-blue {
    padding: 0 1rem;
    font-size: 3.8rem;
    margin-right: 0.8rem;
  }
}
.advice--middle--small {
  line-height: 2;
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 4.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--middle--small {
    font-size: 2.4rem;
    margin-bottom: 7rem;
  }
}
.advice--bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: #ddf2ff;
  transform: skewX(-15deg);
  width: 30rem;
  margin: 0 auto;
  margin-bottom: 3.5rem;
  padding: 0.5rem 0;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .advice--bottom {
    gap: 3rem;
    width: 73.5rem;
    margin-bottom: 8rem;
    padding: 6rem 0;
    height: 22rem;
  }
}
.advice--bottom::before {
  content: "";
  width: 4.5rem;
  height: 14rem;
  background: linear-gradient(to right, #0064ff, #00bdff);
  opacity: 0.4;
  position: absolute;
  top: -2.8rem;
  left: -3rem;
}
@media only screen and (min-width: 769px) {
  .advice--bottom::before {
    width: 6em;
    height: 20rem;
    top: -5rem;
    left: -6rem;
  }
}
.advice--bottom--img {
  transform: skewX(15deg) translateY(-1rem);
  width: 8.8rem;
  height: 12.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--bottom--img {
    width: 15.6rem;
    height: 22.4rem;
    transform: skewX(15deg) translateY(-3rem);
  }
}
.advice--bottom--txt {
  transform: skewX(15deg);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  font-style: italic;
}
@media only screen and (min-width: 769px) {
  .advice--bottom--txt {
    font-size: 4.2rem;
  }
}
.advice--cv-btn {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn {
    display: inline-block;
    position: relative;
    margin-top: 4rem;
    transition: all 0.3s linear;
  }
  .advice--cv-btn:hover {
    transform: translateY(0.5rem);
  }
  .advice--cv-btn:hover a {
    box-shadow: 0 0.6rem 0.8rem rgba(0, 0, 0, 0.15);
  }
}
.advice--cv-btn .sub {
  background: #fff;
  border: #f17400 solid 0.2rem;
  border-radius: 0.7rem;
  color: #f17400;
  width: 23.8rem;
  height: 3.6rem;
  line-height: 3.6rem;
  position: relative;
  font-weight: 700;
  text-align: center;
  z-index: 2;
  margin-bottom: -1rem;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn .sub {
    border-radius: 1rem;
    border: #f17400 solid 0.3rem;
    width: 42.8rem;
    height: 6.5rem;
    line-height: 6.5rem;
    margin-bottom: -1.8rem;
    font-size: 2.8rem;
    position: absolute;
    left: 50%;
    top: -30%;
    transform: translateX(-50%);
  }
}
.advice--cv-btn .sub .font-en {
  font-size: 2.8rem;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn .sub .font-en {
    font-size: 5rem;
  }
}
.advice--cv-btn .sub::before {
  content: "";
  position: absolute;
  top: 95%;
  left: 50%;
  margin-left: -0.7rem;
  border: 0.7rem solid transparent;
  border-top: 0.7rem solid #fff;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn .sub::before {
    margin-left: -1.2rem;
    border: 1.2rem solid transparent;
    border-top: 1.2rem solid #fff;
  }
}
.advice--cv-btn--orange {
  display: block;
  width: 30.5rem;
  height: 7.1rem;
  border-radius: 9999px;
  line-height: 7.1rem;
  text-align: center;
  position: relative;
  background: #f17400;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.15);
  transition: all 0.3s linear;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn--orange {
    width: 55rem;
    height: 12.8rem;
    line-height: 12.8rem;
  }
}
.advice--cv-btn--orange::before {
  content: "";
  background: url(../img/arrow_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 50%;
  right: 2.6rem;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn--orange::before {
    width: 2.5rem;
    height: 2.5rem;
    right: 4.7rem;
  }
}
.advice--cv-btn--orange p {
  font-size: 2.28rem;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn--orange p {
    font-size: 4.1rem;
  }
}
.advice--cv-btn--orange p .small {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .advice--cv-btn--orange p .small {
    font-size: 3.3rem;
  }
}
.advice--list {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--list {
    margin-top: 4rem;
    gap: 3rem;
  }
}
.advice--list--item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.advice--list--item--icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media only screen and (min-width: 769px) {
  .advice--list--item--icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.advice--list--item--txt {
  margin-left: 0.5rem;
  font-size: 1.4rem;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .advice--list--item--txt {
    margin-left: 1.5rem;
    font-size: 1.7rem;
  }
}

/*------------------▼求人 //.recruit------------------*/
.recruit {
  padding: 10.7rem 3rem 7.5rem;
  background: #f5f5f5;
}
@media only screen and (min-width: 769px) {
  .recruit {
    padding: 25rem 17rem 11.8rem;
  }
}
.recruit .slider {
  margin-top: 4.5rem;
}
@media only screen and (min-width: 769px) {
  .recruit .slider {
    margin-top: 8.8rem;
  }
}
.recruit .slider .slider-item {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .recruit .slider .slider-item {
    width: 33rem;
    margin: 0 2.5rem;
  }
}
.recruit .slider .slider-item .slider-top {
  background: linear-gradient(to right, #0064ff, #00bdff);
  width: 100%;
  height: 6rem;
  line-height: 6rem;
  text-align: center;
  color: #fff;
  font-size: 2.1rem;
  font-weight: 700;
}
.recruit .slider .slider-item .slider-top .small {
  font-size: 1.6rem;
}
.recruit .slider .slider-item .slider-content {
  background: #fff;
  padding: 3.7rem 2rem 4.5rem;
  height: 88rem;
}
.recruit .slider .slider-item .slider-content .slider-content-ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 2rem;
  text-align: justify;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.recruit .slider .slider-item .slider-content .slider-box-list {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: #707070;
  line-height: 1.8;
  margin-bottom: 1.2rem;
}
.recruit .slider .slider-item .slider-content .slider-box-list .slider-box-list-item {
  border: #707070 0.1rem solid;
  padding: 0 0.7rem;
}
.recruit .slider .slider-item .slider-content .slider-conditions dl {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 2rem 0 1.5rem;
}
.recruit .slider .slider-item .slider-content .slider-conditions dl dt {
  width: 30%;
  color: #0064ff;
  text-align: center;
}
.recruit .slider .slider-item .slider-content .slider-conditions dl dd {
  padding-left: 1.3rem;
  width: 70%;
  line-height: 1.75;
  font-size: 1.5rem;
  text-align: justify;
}
.recruit .slider .slider-item .slider-content .slider-conditions dl dd .font-en {
  font-weight: 400;
  font-size: 2.4rem;
  margin-left: 0.5rem;
  margin-right: 0.2rem;
}
.recruit .slider .slider-item .slider-content .slider-conditions dl .job {
  transform: translateY(-0.5rem);
}
.recruit .slider .slider-item .slider-content .slider-conditions .line {
  display: block;
  background: linear-gradient(to right, #0064ff 30%, #e9e9e9 30.1%);
  width: 100%;
  height: 0.2rem;
}
.recruit .slider .slider-item .slider-content .slider-btn {
  display: block;
  width: 100%;
  height: 6rem;
  line-height: 6rem;
  text-align: center;
  background: #101434;
  border-radius: 9999px;
  color: #fff;
  position: relative;
  margin-top: 0rem;
  font-size: 2rem;
  font-weight: 700;
}
.recruit .slider .slider-item .slider-content .slider-btn::before {
  content: "";
  background: url(../img/arrow_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 50%;
  right: 2.6rem;
  transform: translateY(-50%);
  transition: all 0.2s linear;
}
.recruit .slider .slider-item .slider-content .slider-btn:hover {
  opacity: 0.7;
}
.recruit .slider .slider-item .slider-content .slider-btn:hover::before {
  transform: translateY(-50%) translateX(0.5rem);
}

.recruit .slider .slider-item02 .slider-content .slider-btn {
  margin-top: 12.8rem;
}

.recruit .slider .slider-item01 .slider-content .slider-btn {
  margin-top: 1.5rem;
}

.recruit .slider .slider-item05 .slider-content .slider-btn {
  margin-top: 13.1rem;
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 3;
  top: 45%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  background: url(../img/arrow_b.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 3.5rem;
  width: 3.5rem;
}

.slick-prev { /*戻る矢印の位置と形状*/
  left: -5%;
  transform: scale(-1.1);
}

.slick-next { /*次へ矢印の位置と形状*/
  right: -5%;
}

/*ドットナビゲーションの設定*/
.slick-dots {
  position: relative;
  z-index: 3;
  text-align: center;
  margin: 4rem 0 0 0;
}

.slick-dots li {
  display: inline-block;
  padding: 0 1rem;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 1.1rem;
  height: 1.1rem;
  display: block;
  border-radius: 50%;
  background: #dadada; /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: linear-gradient(to right, #0064ff, #00bdff); /*ドットボタンの現在地表示の色*/
}

/*------------------present（2つ目）------------------*/
.present-2 {
  background-position: bottom;
}
@media only screen and (min-width: 769px) {
  .present-2 {
    background-position: center;
  }
}

/*------------------▼製造業について //.about------------------*/
.about {
  padding: 4rem 0 0;
}
@media only screen and (min-width: 769px) {
  .about {
    padding: 12rem 0 0;
  }
}
.about--top {
  position: relative;
}
.about--top::before, .about--top::after {
  content: "";
  width: 50%;
  height: 5rem;
}
@media only screen and (min-width: 769px) {
  .about--top::before, .about--top::after {
    height: 12rem;
  }
}
.about--top::before {
  background: linear-gradient(to bottom left, #fff 50%, transparent 50.1%);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
}
@media only screen and (min-width: 769px) {
  .about--top::before {
    bottom: 4rem;
  }
}
.about--top::after {
  background: linear-gradient(to bottom right, #fff 50%, transparent 50.1%);
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateY(100%);
}
@media only screen and (min-width: 769px) {
  .about--top::after {
    bottom: 4rem;
  }
}
.about--top--bubble {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  position: relative;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .about--top--bubble {
    font-size: 3.7rem;
    margin-top: 0rem;
    margin-bottom: 4rem;
  }
}
.about--top--bubble::before, .about--top--bubble::after {
  content: "";
  background: url(../img/about_ttl_deco.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 3.4rem;
  height: 3.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .about--top--bubble::before, .about--top--bubble::after {
    width: 5.1rem;
    height: 5.8rem;
  }
}
.about--top--bubble::before {
  left: 11%;
}
@media only screen and (min-width: 769px) {
  .about--top--bubble::before {
    left: 32%;
  }
}
.about--top--bubble::after {
  right: 11%;
  transform: translateY(-50%) scale(-1, 1);
}
@media only screen and (min-width: 769px) {
  .about--top--bubble::after {
    right: 33%;
  }
}
.about--top--img {
  width: 10.2rem;
  height: 11.9rem;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .about--top--img {
    width: 21rem;
    height: auto;
    margin-bottom: -4rem;
    position: relative;
    z-index: 2;
  }
}
.about--bottom {
  padding: 8rem 3rem 5rem;
  background: url(../img/about_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 769px) {
  .about--bottom {
    background: url(../img/about_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 19rem 22rem 10rem;
  }
}
.about--bottom--sub {
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.5;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .about--bottom--sub {
    font-size: 2.5rem;
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
}
.about--bottom--sub .bg-white {
  background: #fff;
  padding: 0.5rem 1rem;
}
@media only screen and (min-width: 769px) {
  .about--bottom--sub .bg-white {
    padding: 1rem 2rem;
  }
}
.about--bottom--sub .bg-white .l-blue {
  font-weight: 700;
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .about--bottom--sub .bg-white .l-blue {
    font-size: 2.88rem;
  }
}
.about--bottom--content {
  text-align: justify;
  line-height: 2;
  font-size: 1.6rem;
}
@media only screen and (min-width: 769px) {
  .about--bottom--content {
    text-align: center;
    font-size: 2rem;
  }
}
.about--bottom--content .l-blue {
  font-weight: 700;
}
.about--example {
  background: #f5f5f5;
  position: relative;
  z-index: -2;
  padding: 4rem 3rem 6rem;
}
@media only screen and (min-width: 769px) {
  .about--example {
    padding: 12rem 22rem 10rem;
  }
}
.about--example::before {
  content: "";
  background: url(../img/example_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 33.5rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .about--example::before {
    background: url(../img/example_img_pc.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 100%;
    height: 60.2rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
.about--example--ttl-wrap--main {
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .about--example--ttl-wrap--main {
    font-size: 4.5rem;
  }
}
.about--example--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 3rem;
  margin-bottom: 6rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list {
    margin-top: 7.5rem;
    margin-bottom: 7.5rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3rem;
  }
}
.about--example--list--item {
  width: 90%;
  height: 4.9rem;
  transform: skewX(-15deg);
  background: #fff;
  border: #042a8c 0.2rem solid;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item {
    width: 46rem;
    height: 7.8rem;
    border: #042a8c 0.4rem solid;
  }
}
.about--example--list--item--icon {
  background: #042a8c;
  width: 5.3rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--icon {
    width: 8rem;
  }
}
.about--example--list--item--icon img {
  transform: skewX(15deg);
}
.about--example--list--item--icon .example-icon-1 {
  width: 2.6rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--icon .example-icon-1 {
    width: 4rem;
  }
}
.about--example--list--item--icon .example-icon-2 {
  width: 2.3rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--icon .example-icon-2 {
    width: 3.6rem;
  }
}
.about--example--list--item--icon .example-icon-3 {
  width: 1.7rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--icon .example-icon-3 {
    width: 3.1rem;
  }
}
.about--example--list--item--icon .example-icon-4 {
  width: 1.3rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--icon .example-icon-4 {
    width: 2.5rem;
  }
}
.about--example--list--item--txt {
  transform: skewX(15deg);
  font-weight: 700;
  font-size: 1.8rem;
  padding-left: 2rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item--txt {
    font-size: 2.7rem;
    padding-left: 3.3rem;
  }
}
.about--example--list--item + li {
  margin-top: 1rem;
}
@media only screen and (min-width: 769px) {
  .about--example--list--item + li {
    margin-top: 0rem;
  }
}
.about--example--person {
  text-align: center;
}
.about--example--person--ttl {
  font-size: 2.2rem;
  padding-bottom: 0.7rem;
  border-bottom: #00caff solid 0.2rem;
  font-weight: 700;
  display: inline-block;
}
@media only screen and (min-width: 769px) {
  .about--example--person--ttl {
    font-size: 4rem;
    padding-bottom: 0.7rem;
    border-bottom: #00caff solid 0.4rem;
  }
}
.about--example--person--ttl .small {
  font-size: 1.8rem;
}
@media only screen and (min-width: 769px) {
  .about--example--person--ttl .small {
    font-size: 3.2rem;
  }
}
.about--example--person--content {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.8rem;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content {
    margin-top: 5rem;
  }
}
.about--example--person--content--img {
  width: 5.4rem;
  height: 21.5rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--img {
    width: 10.2rem;
    height: 40.6rem;
  }
}
.about--example--person--content--img::before {
  content: "";
  background: url(../img/example_triangle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 37.5rem;
  height: 17rem;
  position: absolute;
  bottom: -8rem;
  left: -10rem;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--img::before {
    width: 71.8rem;
    height: 32.8rem;
    bottom: -13rem;
    left: -13rem;
  }
}
.about--example--person--content--list {
  margin-left: 5.4rem;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--list {
    margin-left: 10.3rem;
  }
}
.about--example--person--content--list--item {
  font-size: 1.6rem;
  position: relative;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--list--item {
    font-size: 3rem;
  }
}
.about--example--person--content--list--item::before {
  content: "";
  background: url(../img/check_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: 50%;
  left: -3rem;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--list--item::before {
    width: 4.2rem;
    height: 4.2rem;
    left: -5rem;
  }
}
.about--example--person--content--list--item + li {
  margin-top: 2rem;
}
@media only screen and (min-width: 769px) {
  .about--example--person--content--list--item + li {
    margin-top: 4.5rem;
  }
}
.about--example--person--content--list--item.person-3::before {
  top: 0;
  transform: translateY(10%);
}

/*------------------▼理由 //.reason------------------*/
.reason {
  background: #042a8c;
  padding: 7rem 3rem;
}
@media only screen and (min-width: 769px) {
  .reason {
    padding: 12rem 22rem;
  }
}
.reason .ttl-en {
  text-align: center;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .reason .ttl-en {
    margin-bottom: 1.5rem;
  }
}
.reason .ttl-en span {
  display: inline-block;
  background: linear-gradient(0deg, #b2d0ff, #b2ebff);
  background: -webkit-linear-gradient(0deg, #b2d0ff, #b2ebff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.reason .section-ttl {
  color: #fff;
  line-height: 1.6;
}
.reason .section-ttl .font-en {
  font-size: 4.5rem;
}
@media only screen and (min-width: 769px) {
  .reason .section-ttl .font-en {
    font-size: 7rem;
  }
}
.reason--list {
  margin-top: 5.5rem;
}
@media only screen and (min-width: 769px) {
  .reason--list {
    margin-top: 8rem;
  }
}
.reason--list--item {
  position: relative;
  background: #fff;
  padding-bottom: 4rem;
  position: relative;
  box-shadow: 0 1.5rem 2rem rgba(2, 23, 79, 0.2);
}
@media only screen and (min-width: 769px) {
  .reason--list--item {
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    padding: 0;
  }
}
.reason--list--item + li {
  margin-top: 7.4rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item + li {
    margin-top: 9rem;
  }
}
.reason--list--item .number {
  font-size: 9.4rem;
  font-style: italic;
  padding-right: 1rem;
  background: linear-gradient(90deg, #0064ff, #00bdff);
  background: -webkit-linear-gradient(90deg, #0064ff, #00bdff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: -4rem;
  position: absolute;
  top: -4.5rem;
  left: 1rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--img {
    width: 46rem;
  }
}
.reason--list--item--ttl {
  position: absolute;
  top: 5.5rem;
  left: 2rem;
  font-size: 2.4rem;
  color: #042a8c;
  font-weight: 700;
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--ttl {
    left: 0rem;
    font-size: 3.3rem;
  }
}
.reason--list--item--ttl .bg-white {
  background: #fff;
  padding: 0.3rem 0.5rem;
  box-shadow: 0 0.5rem 0.3rem rgba(0, 52, 132, 0.2);
}
@media only screen and (min-width: 769px) {
  .reason--list--item--ttl .bg-white {
    padding: 0.4rem 1rem;
  }
}
.reason--list--item--ttl .bg-white .small {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--ttl .bg-white .small {
    font-size: 2.7rem;
  }
}
.reason--list--item--ttl .bg-white .font-en {
  font-size: 3.5rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--ttl .bg-white .font-en {
    font-size: 4.7rem;
  }
}
.reason--list--item--content {
  background: #fff;
  padding: 3rem 2rem 0;
  line-height: 2;
  text-align: justify;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--content {
    padding: 4rem;
    padding-bottom: 0rem;
  }
}
.reason--list--item--content .blue {
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .reason--list--item .content-3 {
    padding: 2rem 4rem 4rem;
  }
}
.reason--list--item--example {
  background: #f3f3f3;
  padding: 2rem;
  width: 29rem;
  margin: 0 auto;
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--example {
    margin: 4rem;
    width: calc(100% - 8rem);
  }
}
.reason--list--item--example--ttl {
  text-align: center;
  font-weight: 700;
  margin-bottom: 2rem;
}
.reason--list--item--example--txt {
  line-height: 2;
}
.reason--list--item--box {
  margin-top: 2.8rem;
  margin-bottom: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--box {
    margin-top: 2rem;
    margin-bottom: 2rem;
    flex-direction: row;
  }
}
.reason--list--item--box--item {
  display: block;
  width: 27rem;
  height: 11.5rem;
  background: rgba(211, 230, 255, 0.7);
  transform: skewX(-15deg);
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--box--item {
    transform: skewX(-10deg);
    width: auto;
    height: auto;
    padding: 2rem;
    font-size: 1.4rem;
  }
}
.reason--list--item--box--item + li {
  margin-top: -1.5rem;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--box--item + li {
    margin-top: 0;
    margin-left: 1rem;
  }
}
.reason--list--item--box--item .blue {
  font-weight: 700;
  transform: skewX(15deg);
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--box--item .blue {
    transform: skewX(10deg);
  }
}
.reason--list--item--box--item .content {
  font-weight: 700;
  transform: skewX(15deg);
  text-align: center;
}
@media only screen and (min-width: 769px) {
  .reason--list--item--box--item .content {
    transform: skewX(10deg);
  }
}
.reason--list--item--plus {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-bottom: -0.5rem;
}
.reason--list--item--plus picture {
  width: 2.6rem;
  height: 2.6rem;
}
.reason--list--item--plus p {
  font-weight: 700;
  font-size: 1.6rem;
}

/*------------------▼cta //.cta------------------*/
.cta {
  background: url(../img/cta_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 4rem 0;
  text-align: center;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .cta {
    background: url(../img/cta_bg_pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 7rem 0;
    text-align: center;
  }
}
.cta--ttl {
  color: #331a01;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .cta--ttl {
    font-size: 4.32rem;
  }
}
.cta--ttl .small {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .cta--ttl .small {
    font-size: 3.6rem;
  }
}
.cta--btn {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 769px) {
  .cta--btn {
    margin-top: 2.5rem;
    display: inline-block;
    position: relative;
    margin-top: 6rem;
    transition: all 0.3s linear;
  }
  .cta--btn:hover {
    transform: translateY(0.5rem);
  }
  .cta--btn:hover .cv-btn {
    box-shadow: 0 0.5rem 0.8rem rgba(0, 0, 0, 0.15);
  }
}
.cta--btn--bbl {
  width: 23.8rem;
  height: 3.6rem;
  background: #f17400;
  border: #fff 0.2rem solid;
  border-radius: 0.7rem;
  position: relative;
  line-height: 3.6rem;
  color: #fff;
  font-size: 1.6rem;
  position: relative;
  z-index: 2;
  margin-bottom: -1rem;
}
@media only screen and (min-width: 769px) {
  .cta--btn--bbl {
    width: 42.8rem;
    height: 6.4rem;
    border: #fff 0.3rem solid;
    border-radius: 1rem;
    line-height: 6.4rem;
    font-size: 2.9rem;
    position: absolute;
    left: 50%;
    top: -30%;
    transform: translateX(-50%);
  }
}
.cta--btn--bbl::before {
  content: "";
  position: absolute;
  top: 95%;
  left: 50%;
  margin-left: -0.7rem;
  border: 0.7rem solid transparent;
  border-top: 0.7rem solid #f17400;
}
@media only screen and (min-width: 769px) {
  .cta--btn--bbl::before {
    margin-left: -1.2rem;
    border: 1.2rem solid transparent;
    border-top: 1.2rem solid #f17400;
  }
}
.cta--btn--bbl .font-en {
  font-size: 2.8rem;
  padding: 0 0.4rem;
}
@media only screen and (min-width: 769px) {
  .cta--btn--bbl .font-en {
    font-size: 5rem;
    padding: 0 0.6rem;
  }
}
.cta--btn .cv-btn {
  display: block;
  width: 30.5rem;
  height: 7.1rem;
  background: #fff;
  border-radius: 9999px;
  box-shadow: 0 1rem 1rem rgba(105, 52, 0, 0.2);
  position: relative;
  line-height: 7.1rem;
  transition: all 0.3s linear;
}
@media only screen and (min-width: 769px) {
  .cta--btn .cv-btn {
    width: 54.9rem;
    height: 12.7rem;
    box-shadow: 0 1.5rem 1.5rem rgba(105, 52, 0, 0.2);
    line-height: 12.7rem;
  }
}
.cta--btn .cv-btn::before {
  content: "";
  background: url(../img/arrow_o.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
}
@media only screen and (min-width: 769px) {
  .cta--btn .cv-btn::before {
    width: 2.5rem;
    height: 2.5rem;
    right: 3.8rem;
  }
}
.cta--btn .cv-btn p {
  color: #f17400;
  font-size: 2.28rem;
}
@media only screen and (min-width: 769px) {
  .cta--btn .cv-btn p {
    font-size: 4rem;
  }
}
.cta--btn .cv-btn p .small {
  font-size: 1.82rem;
}
@media only screen and (min-width: 769px) {
  .cta--btn .cv-btn p .small {
    font-size: 3.2rem;
  }
}
.cta--list {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .cta--list {
    margin-top: 3rem;
    gap: 3rem;
  }
}
.cta--list--item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.cta--list--item--icon {
  width: 2.5rem;
  height: 2.5rem;
}
@media only screen and (min-width: 769px) {
  .cta--list--item--icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.cta--list--item--txt {
  margin-left: 0.5rem;
  font-size: 1.4rem;
  font-weight: normal;
}
@media only screen and (min-width: 769px) {
  .cta--list--item--txt {
    margin-left: 1.5rem;
    font-size: 1.7rem;
  }
}

/*------------------▼エピソード //.episode------------------*/
.episode {
  padding: 7rem 3rem;
  position: relative;
  overflow-x: hidden;
}
@media only screen and (min-width: 769px) {
  .episode {
    padding: 12rem 17rem;
  }
}
.episode::before {
  content: "";
  position: absolute;
  background: #f5f5f5;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 28rem;
  height: 60rem;
  transform: skewX(-15deg);
  top: 0;
  right: -1rem;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .episode::before {
    left: -1rem;
  }
}
.episode::after {
  content: "";
  position: absolute;
  background: #f5f5f5;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 28rem;
  height: 80rem;
  transform: skewX(-15deg);
  top: 65rem;
  right: -1rem;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .episode::after {
    top: 24.2rem;
  }
}
@media only screen and (min-width: 769px) {
  .episode .ttl-en {
    margin-bottom: 0.5rem;
  }
}
.episode--list {
  margin-top: 4rem;
}
@media only screen and (min-width: 769px) {
  .episode--list {
    margin-top: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.episode--list--item {
  background: #fff;
  width: 100%;
  padding: 4rem 2rem;
  box-shadow: 0 1.5rem 1.5rem rgba(0, 0, 0, 0.1);
  position: relative;
}
@media only screen and (min-width: 769px) {
  .episode--list--item {
    width: 33rem;
  }
}
.episode--list--item::before {
  content: "";
  position: absolute;
  width: 4.6rem;
  height: 14rem;
  background: linear-gradient(to top right, #b2d0ff, #b2ebff);
  transform: skewX(-15deg);
  top: -1.5rem;
  left: -3rem;
}
.episode--list--item + li {
  margin-top: 4.7rem;
}
@media only screen and (min-width: 769px) {
  .episode--list--item + li {
    margin-top: 0;
  }
}
.episode--list--item.episode-2::before {
  left: 31.5rem;
}
@media only screen and (min-width: 769px) {
  .episode--list--item.episode-2::before {
    top: 85%;
  }
}
@media only screen and (min-width: 769px) {
  .episode--list--item.episode-3::before {
    left: 31.5rem;
  }
}
.episode--list--item--epi {
  text-align: center;
}
.episode--list--item--epi .number {
  font-size: 2.8rem;
  background: linear-gradient(0deg, #0064ff, #00bdff);
  background: -webkit-linear-gradient(0deg, #0064ff, #00bdff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-bottom: 0.4rem;
  border-bottom: #0064ff 0.2rem solid;
  text-align: center;
}
.episode--list--item--ttl {
  margin-top: 3rem;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 2.5rem;
  font-weight: 700;
  white-space: nowrap;
  text-align: center;
}
.episode--list--item--img {
  margin-bottom: 2rem;
}
.episode--list--item .name {
  color: #8e8e8e;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
}
.episode--list--item .name .small {
  font-size: 1.4rem;
}
.episode--list--item .accordion-area {
  margin-top: 3rem;
}
.episode--list--item .accordion-area li section .title {
  background: #101434;
  width: 100%;
  height: 5.4rem;
  line-height: 5.4rem;
  text-align: center;
  color: #fff;
  position: relative;
  cursor: pointer;
}
.episode--list--item .accordion-area li section .title::before {
  position: absolute;
  content: "";
  background: url(../img/arrow_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 1.4rem;
  top: 39%;
  right: 2.7rem;
  transform: rotate(90deg);
}
@media only screen and (min-width: 769px) {
  .episode--list--item .accordion-area li section .title::before {
    top: 38%;
  }
}
.episode--list--item .accordion-area li section .title.close::before {
  transform: rotate(-90deg);
}
.episode--list--item .accordion-area li section .box {
  display: none;
  background: #edf4ff;
  padding: 3rem 2rem;
  text-align: justify;
  line-height: 2;
}
.episode--list--item .accordion-area li section .box .blue {
  font-weight: 700;
  color: #0064ff;
}

/*------------------▼スケジュール //.schedule------------------*/
.schedule {
  background: #ddf2ff;
  padding: 7rem 3rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .schedule {
    padding: 12rem 22rem;
  }
}
@media only screen and (min-width: 769px) {
  .schedule .ttl-en {
    margin-bottom: 0rem;
  }
}
.schedule--top {
  margin-top: 3rem;
}
@media only screen and (min-width: 769px) {
  .schedule--top {
    margin-top: 6rem;
  }
}
.schedule--top--img {
  width: 28.6rem;
  height: 18.2rem;
  margin: 0 auto;
}
@media only screen and (min-width: 769px) {
  .schedule--top--img {
    width: 50rem;
    height: auto;
  }
}
.schedule--top--content {
  background: linear-gradient(to top right, #b2d0ff, #b2ebff);
  width: 100%;
  margin-top: -5.4rem;
  padding: 7.4rem 3rem 2.5rem;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content {
    width: 72%;
    margin: 0 auto;
    margin-top: -5.4rem;
    padding: 9rem 4rem 4rem;
  }
}
.schedule--top--content--name {
  font-size: 1.7rem;
  text-align: center;
  font-weight: 700;
  white-space: nowrap;
  margin-bottom: 1rem;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content--name {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
.schedule--top--content--name .small {
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content--name .small {
    font-size: 2.3rem;
  }
}
.schedule--top--content--box {
  background: rgba(255, 255, 255, 0.4);
  padding: 1.5rem 1rem;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content--box {
    padding: 2rem;
  }
}
.schedule--top--content--box p {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content--box p {
    font-size: 1.8rem;
  }
}
.schedule--top--content--box p .note {
  font-size: 1.2rem;
  font-weight: 400;
}
@media only screen and (min-width: 769px) {
  .schedule--top--content--box p .note {
    font-size: 1.6rem;
  }
}
.schedule--time {
  margin-top: 6rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time {
    margin-top: 8rem;
  }
}
.schedule--time--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list {
    align-items: flex-start;
    gap: 7rem;
  }
}
.schedule--time--list::before {
  content: "";
  height: 100%;
  width: 0.2rem;
  position: absolute;
  top: 0;
  left: 2rem;
  border-left: #042a8c 0.2rem dashed;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list::before {
    left: 10.5rem;
    border-left: #042a8c 0.2rem dashed;
  }
}
.schedule--time--list--item {
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  gap: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item {
    justify-content: flex-start;
    gap: 6rem;
    padding: 0 7rem;
  }
}
.schedule--time--list--item .clock {
  width: 3.9rem;
  height: 3.9rem;
  transform: translateY(-15%);
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item .clock {
    width: 7rem;
    height: 7rem;
  }
}
.schedule--time--list--item--content {
  width: 27rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item--content {
    width: auto;
    position: relative;
  }
}
.schedule--time--list--item--content--top {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item--content--top {
    font-size: 3.4rem;
    margin-bottom: 3.6rem;
    white-space: nowrap;
  }
}
.schedule--time--list--item--content--top .font-en {
  font-size: 2.4rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item--content--top .font-en {
    font-size: 4.2rem;
  }
}
.schedule--time--list--item--content--top.data {
  margin-top: 3rem;
  line-height: 1.5;
}
.schedule--time--list--item--content--img {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item--content--img {
    width: 30rem;
    position: absolute;
    right: -85%;
    bottom: 0;
    transform: translateY(15%);
  }
}
.schedule--time--list--item--content--txt {
  text-align: justify;
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .schedule--time--list--item--content--txt {
    width: 40rem;
  }
}
.schedule--topic {
  background-color: #fff;
  padding: 3.6rem 2rem 4rem;
  position: relative;
  margin-top: 5rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic {
    padding: 10rem 7rem 7.5rem;
    margin-top: 8rem;
  }
}
.schedule--topic::before {
  content: "TOPICS";
  font-family: myriad-pro-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  font-size: 5.78rem;
  color: #ddf2ff;
  position: absolute;
  left: -4.7rem;
  top: 4rem;
  transform: rotate(90deg);
}
@media only screen and (min-width: 769px) {
  .schedule--topic::before {
    font-size: 13rem;
    left: 0rem;
    top: -3rem;
    transform: rotate(0deg);
  }
}
.schedule--topic--ttl {
  margin-left: 6rem;
  font-weight: 700;
  margin-bottom: 4rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--ttl {
    margin: 0;
    text-align: center;
    margin-bottom: 4rem;
  }
}
.schedule--topic--ttl .sub {
  font-size: 1.8rem;
  line-height: 1.3;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--ttl .sub {
    font-size: 3rem;
  }
}
.schedule--topic--ttl .merit {
  font-size: 2.7rem;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--ttl .merit {
    font-size: 4.5rem;
  }
}
.schedule--topic--ttl .merit .small {
  font-size: 2.2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--ttl .merit .small {
    font-size: 3.8rem;
  }
}
@media only screen and (min-width: 769px) {
  .schedule--topic--flex {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
  }
}
.schedule--topic--flex--content {
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--flex--content {
    width: 60%;
  }
}
.schedule--topic--flex--content .blue {
  font-weight: 700;
}
.schedule--topic--flex--figure {
  margin-top: 3rem;
  margin-bottom: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
}
.schedule--topic--flex--figure--list {
  width: 13rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--flex--figure--list {
    width: 15rem;
  }
}
.schedule--topic--flex--figure .plus {
  font-size: 4rem;
  color: #042a8c;
}
.schedule--topic--point--head {
  width: 100%;
  line-height: 1.5;
  color: #fff;
  background: #042a8c;
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  padding: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--head {
    font-size: 3rem;
    padding: 2rem;
  }
}
.schedule--topic--point--head .small {
  font-size: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--head .small {
    font-size: 2.4rem;
  }
}
.schedule--topic--point--head::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -1.2rem;
  border: 1.2rem solid transparent;
  border-top: 1.2rem solid #042a8c;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--head::before {
    margin-left: -1.5rem;
    border: 1.5rem solid transparent;
    border-top: 1.5rem solid #042a8c;
  }
}
.schedule--topic--point--body {
  background: #fff;
  border: 0.2rem #042a8c solid;
  padding: 4rem 2rem 3rem;
  font-weight: 700;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--body {
    border: 0.3rem #042a8c solid;
    padding: 5rem 6.5rem 4rem;
  }
}
.schedule--topic--point--body--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--body--list {
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 3.5rem;
    column-gap: 5.5rem;
  }
}
.schedule--topic--point--body--list--item {
  line-height: 1.6;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  white-space: nowrap;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--body--list--item {
    font-size: 2.4rem;
  }
}
.schedule--topic--point--body--list--item picture {
  width: 2.2rem;
  height: 2.2rem;
  margin-right: 1.5rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--body--list--item picture {
    width: 4rem;
    height: 4rem;
    margin-right: 2rem;
  }
}
.schedule--topic--point--body--list--item .note {
  font-size: 1.2rem;
  font-weight: 400;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--body--list--item .note {
    font-size: 1.6rem;
  }
}
.schedule--topic--point--note {
  font-size: 1.2rem;
  margin-top: 1.4rem;
  text-align: right;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--point--note {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}
.schedule--topic--room {
  margin-top: 4rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--room {
    margin-top: 6rem;
  }
}
.schedule--topic--room--ttl {
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.8rem;
  margin-bottom: 3rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--room--ttl {
    font-size: 3rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 769px) {
  .schedule--topic--room--flex {
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-start;
    gap: 5rem;
  }
}
.schedule--topic--room--flex--img {
  margin-bottom: 3.2rem;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--room--flex--img {
    margin-bottom: 0;
    width: 50%;
  }
}
.schedule--topic--room--flex--content {
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  .schedule--topic--room--flex--content {
    font-size: 1.6rem;
    transform: translateY(-0.5rem);
  }
}

/*------------------▼流れ //.flow------------------*/
.flow {
  padding: 7rem 3rem;
}
@media only screen and (min-width: 769px) {
  .flow {
    padding: 12rem 25rem;
    background: url(../img/flow_bg_pc.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-position: top;
  }
}
.flow .section-ttl .sub .font-en {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 3.2rem;
  color: #0064ff;
  border: 0.1rem solid #0064ff;
  margin: 0 0.5rem;
}
@media only screen and (min-width: 769px) {
  .flow .section-ttl .sub .font-en {
    width: 6rem;
    height: 6rem;
    font-size: 5.5rem;
    border: 0.2rem solid #0064ff;
    margin: 0 1rem;
  }
}
.flow--list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 5rem;
}
@media only screen and (min-width: 769px) {
  .flow--list {
    align-items: flex-start;
    gap: 9rem;
    margin-top: 5rem;
  }
}
.flow--list--item {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3rem;
}
@media only screen and (min-width: 769px) {
  .flow--list--item {
    align-items: center;
    gap: 6rem;
  }
}
.flow--list--item.flow-3 {
  align-items: center;
}
.flow--list--item--icon {
  position: relative;
}
.flow--list--item--icon::before {
  content: "";
  height: 65%;
  width: 0.2rem;
  position: absolute;
  top: 7rem;
  left: 5rem;
  border-left: #d6e5fa 0.1rem dashed;
  z-index: -1;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--icon::before {
    height: 110%;
    top: 10rem;
    left: 7.5rem;
    border-left: #d6e5fa 0.2rem dashed;
  }
}
.flow--list--item--icon.flow-2::before {
  height: 210%;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--icon.flow-2::before {
    height: 110%;
    top: 10rem;
    left: 7.5rem;
  }
}
.flow--list--item--icon.flow-3::before {
  height: 65%;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--icon.flow-3::before {
    height: 85%;
    top: 10rem;
    left: 7.5rem;
  }
}
.flow--list--item--icon.flow-4::before {
  height: 0%;
}
.flow--list--item--icon--img {
  width: 10rem;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--icon--img {
    width: 15rem;
  }
}
.flow--list--item--txt.flow-3 {
  margin-top: 2.8rem;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt.flow-3 {
    margin-top: 4rem;
  }
}
.flow--list--item--txt .m-blue {
  font-weight: 700;
  padding-bottom: 1rem;
  line-height: 1.5;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt .m-blue {
    font-size: 2.6rem;
  }
}
.flow--list--item--txt p {
  text-align: justify;
  line-height: 1.6;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt p {
    font-size: 2rem;
  }
}
.flow--list--item--txt--box {
  background: #ddf2ff;
  padding: 1rem;
  font-size: 1.2rem;
  margin-top: 0.5rem;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt--box {
    padding: 2rem;
    font-size: 1.6rem;
    margin-top: 1rem;
    width: 60rem;
  }
}
.flow--list--item--txt--box--top {
  background: #0064ff;
  color: #fff;
  padding: 0.5rem;
  text-align: center;
  line-height: 1.35;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt--box--top {
    padding: 1rem;
  }
}
.flow--list--item--txt--box p {
  margin-top: 0.8rem;
  line-height: 2;
}
@media only screen and (min-width: 769px) {
  .flow--list--item--txt--box p {
    font-size: 1.4rem;
  }
}

/*------------------▼ラスト //.last------------------*/
.last {
  overflow-x: hidden;
  padding-bottom: 6rem;
}
@media only screen and (min-width: 769px) {
  .last {
    padding-bottom: 10rem;
  }
}
.last--pic {
  width: 110%;
  transform: translateX(-5%);
}
@media only screen and (min-width: 769px) {
  .last--pic {
    width: 107rem;
    margin: 0 auto;
  }
}
.last--box {
  margin: -9.5rem 3rem 0;
  background: #fff;
  padding: 3.5rem 2rem;
  box-shadow: 0 1.5rem 2rem rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  .last--box {
    margin: -17rem 27rem 0;
    padding: 6rem 5rem;
  }
}
.last--box--top {
  text-align: center;
  font-weight: 700;
  font-size: 2.2rem;
  margin-bottom: 4.5rem;
}
@media only screen and (min-width: 769px) {
  .last--box--top {
    font-size: 3rem;
    margin-bottom: 6rem;
  }
}
.last--box--figure {
  margin-top: 4.6rem;
  margin-bottom: 3.2rem;
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .last--box--figure {
    width: 90%;
    margin: 0 auto;
    margin-top: 6rem;
    margin-bottom: 4.5rem;
  }
}
.last--box--content {
  font-size: 1.5rem;
  line-height: 2;
  text-align: justify;
}
@media only screen and (min-width: 769px) {
  .last--box--content {
    font-size: 2.2rem;
    text-align: center;
  }
}

/*------------------▼フッター //.footer------------------*/
.footer {
  background: #101434;
  text-align: center;
  padding: 4rem 0 15rem;
}
@media only screen and (min-width: 769px) {
  .footer {
    padding: 6rem 0;
  }
}
.footer--logo {
  display: block;
  width: 15rem;
  margin: 0 auto;
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 769px) {
  .footer--logo {
    width: 22rem;
    margin-bottom: 3rem;
  }
}
.footer--txt {
  color: #fff;
  line-height: 2;
  font-size: 1.4rem;
}
@media only screen and (min-width: 769px) {
  .footer--txt {
    font-size: 1.6rem;
  }
}
.footer--txt:hover {
  color: #00bdff;
}
.footer--list {
  margin-top: 3rem;
  color: #fff;
  line-height: 2;
  font-size: 1.2rem;
}
@media only screen and (min-width: 769px) {
  .footer--list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    font-size: 1.4rem;
  }
}
.footer--list li:hover {
  color: #00bdff;
}/*# sourceMappingURL=style.css.map */