@charset "UTF-8";
.din {
  font-family: din-condensed, sans-serif;
  font-weight: 400;
  font-style: normal; }

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium",  "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "メイリオ","Noto Sans JP",sans-serif; }

@media screen and (min-width: 767px) {
  .sp {
    display: none !important; }
  .block {
    display: flex;
    justify-content: flex-start; }
    .block-unit {
      margin-right: 0; }
      .block-unit:first-child {
        margin-right: 2.56223vw; }
      .block-unit--img {
        width: 29.17%; }
        .block-unit--img img {
          width: 100%; }
      .block-unit--text {
        width: 67.1875%; }
    .block-p {
      font-size: 1.1713vw;
      font-weight: 500;
      color: #000000;
      line-height: 2;
      letter-spacing: 0.02em; }
  .read-withicon__head {
    display: inline;
    color: #006937;
    font-size: 1.61054vw;
    letter-spacing: 0.05em;
    font-weight: 700;
    padding-bottom: 1px;
    position: relative;
    padding-right: 3.80673vw;
    border-bottom: 1px solid #006937; }
    .read-withicon__head::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      right: 0;
      width: 3.14788vw;
      height: 2.12299vw;
      background: url(../images/ebike/icon_bike.png) no-repeat;
      background-size: contain; }
  .hero {
    width: calc(100% - 200px);
    margin: 0 0 0 auto;
    background: #ffffff;
    position: relative; }
    .hero .background {
      width: 100%;
      padding-top: 55.9%;
      position: relative; }
      .hero .background img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .hero .maintitle {
      position: absolute;
      top: 42%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 27.18%; }
    .hero .mainlogo {
      width: 100%;
      padding-top: 59.3%;
      position: relative; }
      .hero .mainlogo img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: contain;
        font-family: 'object-fit: contain;'; }
    .hero .caption {
      width: 100%;
      margin-top: 0.73206vw;
      font-size: 1.31772vw;
      font-weight: 700;
      letter-spacing: 0.04em;
      line-height: 1.67;
      color: #ffffff;
      text-align: center; }
    .hero .description {
      width: 100%;
      padding: 3.95315vw 0;
      background: #ffffff; }
      .hero .description p {
        text-align: center;
        font-size: 1.1713vw;
        color: #000;
        letter-spacing: 0.02em;
        line-height: 2; }
  .separate {
    width: calc(100% - 200px);
    margin: 0 0 0 auto;
    background: #ffffff;
    position: relative; }
    .separate .background {
      width: 100%;
      padding-top: 34.3%;
      position: relative; }
      .separate .background img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .separate .description {
      width: 100%;
      padding: 5.12445vw 0;
      background: #ffffff; }
      .separate .description p {
        text-align: center;
        font-size: 1.1713vw;
        color: #000;
        letter-spacing: 0.02em;
        line-height: 2; }
  .content {
    background: #f5f0e6;
    width: calc(100% - 200px);
    margin: 0 0 0 auto;
    padding-top: 5.12445vw; }
    .content-header {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 1.75695vw;
      font-weight: 700;
      letter-spacing: 0;
      position: relative;
      color: #000000; }
      .content-header::before, .content-header::after {
        display: block;
        flex: 1;
        content: '';
        border-top: 1px solid #000000; }
      .content-header::before {
        margin-right: 0.4em; }
      .content-header::after {
        margin-left: 0.4em; }
  .about {
    width: 82.33%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 1.83016vw;
    padding-bottom: 7.32064vw; }
    .about .read {
      font-size: 1.1713vw;
      font-weight: 500;
      color: #000000;
      line-height: 2;
      letter-spacing: 0.02em;
      text-align: left;
      margin-bottom: 4.39239vw; }
    .about .block-p {
      margin-top: 12px; }
    .about .list {
      margin-top: 5.85652vw; }
      .about .list-wrapper {
        width: 100%;
        border-top: 1px solid #006937; }
      .about .list-block {
        padding: 2.78184vw 0;
        border-bottom: 1px solid #006937;
        list-style-type: none; }
        .about .list-block .num {
          display: inline-block;
          text-align: center;
          width: 1.75695vw;
          height: 1.75695vw;
          background: #006937;
          color: #ffffff;
          font-size: 1.46413vw;
          font-weight: 700;
          vertical-align: middle;
          margin-right: 0.58565vw;
          line-height: 1.97657vw; }
        .about .list-block .txt {
          display: inline-block;
          font-size: 1.46413vw;
          font-weight: 700;
          letter-spacing: 0.05em;
          vertical-align: middle; }
        .about .list-block .desc {
          margin-top: 1.0981vw;
          font-size: 1.1713vw;
          font-weight: 500;
          color: #000000;
          line-height: 2;
          letter-spacing: 0.02em; }
    .about .caution {
      width: 100%;
      margin-top: 5.85652vw; }
      .about .caution-head {
        width: 100%;
        display: inline-block;
        background: #e64628;
        border-radius: 6px;
        padding: 0.43924vw 0 0.51245vw 0.80527vw;
        vertical-align: middle;
        font-size: 1.31772vw;
        color: #ffffff;
        font-weight: 700; }
      .about .caution-lists {
        width: 100%;
        margin-top: 1.0981vw;
        font-size: 1.1713vw; }
      .about .caution-list {
        padding-left: 1.3em;
        text-indent: -1.3em;
        font-size: 1.1713vw;
        font-weight: 500;
        color: #000000;
        line-height: 2;
        letter-spacing: 0.02em; }
        .about .caution-list::before {
          content: '';
          display: inline-block;
          width: 1em;
          height: 1em;
          background: #e64628;
          border-radius: 50%; }
  .plan {
    width: 82.33%;
    margin-right: auto;
    margin-left: auto; }
    .plan-title {
      width: 100%;
      background: #006937;
      padding: 0.87848vw;
      color: #ffffff;
      font-size: 3.07467vw;
      letter-spacing: 0;
      margin-bottom: 2.34261vw; }
    .plan-num {
      display: inline-block;
      margin-left: 0.58565vw;
      width: 2.34261vw;
      height: 2.34261vw;
      background: #ffffff;
      color: #006937;
      font-size: 2.04978vw;
      text-align: center;
      vertical-align: middle;
      transform: translateY(-0.1em);
      border-radius: 50%; }
    .plan-desc {
      margin-top: 0.73206vw;
      font-size: 1.1713vw;
      font-weight: 500;
      color: #000000;
      line-height: 2;
      letter-spacing: 0.02em; }
    .plan .place-list {
      margin-top: 2.19619vw;
      display: flex;
      justify-content: center; }
    .plan .place-box {
      margin-right: 0;
      background: #ffffff;
      padding: 1.31772vw 0 2.19619vw;
      width: calc(100% / 2); }
      .plan .place-box:first-child {
        margin-right: 3.3675vw; }
      .plan .place-box .title {
        text-align: center;
        font-size: 2.04978vw;
        font-weight: 700;
        letter-spacing: 0.05em;
        color: #006937; }
      .plan .place-box .information {
        margin-top: 1.31772vw;
        margin-bottom: 2.19619vw;
        width: auto;
        padding: 0 2.19619vw; }
      .plan .place-box dl {
        margin-bottom: 0.80527vw; }
      .plan .place-box dt, .plan .place-box dd {
        display: inline-block; }
      .plan .place-box dt {
        border: 1px solid #006937;
        width: 23.6%;
        padding: 0.36603vw 0;
        text-align: center;
        font-size: 0.95168vw;
        font-weight: 700;
        color: #006937;
        letter-spacing: 0;
        vertical-align: middle; }
      .plan .place-box dd {
        width: 74%;
        margin-left: 0.51245vw;
        text-align: left;
        font-size: 1.02489vw;
        color: #000000;
        letter-spacing: 0;
        line-height: 1.71429;
        vertical-align: top;
        padding-top: 0.36603vw; }
      .plan .place-box .map {
        width: 100%;
        padding-top: 64.33%;
        position: relative; }
        .plan .place-box .map iframe {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0; }
    .plan .course {
      width: 100%;
      margin-top: 5.85652vw; }
      .plan .course-head {
        border: 1px solid #006937;
        display: block;
        padding: 0.58565vw 0 0.65886vw 0.87848vw;
        color: #006937;
        font-size: 1.31772vw;
        font-weight: 700;
        letter-spacing: 0.05em;
        line-height: 1;
        margin-bottom: 2.92826vw; }
      .plan .course .block {
        margin-bottom: 2.92826vw; }
        .plan .course .block .block-title {
          font-size: 2.04978vw;
          font-weight: 700;
          letter-spacing: 0;
          color: #006937;
          margin-top: -0.80527vw;
          margin-bottom: 1.46413vw; }
        .plan .course .block .block-p {
          font-size: 1.1713vw;
          font-weight: 500;
          color: #000000;
          line-height: 2;
          letter-spacing: 0.02em;
          margin-bottom: 1.1713vw; }
        .plan .course .block .info {
          display: flex; }
          .plan .course .block .info dl {
            margin-right: 1.46413vw; }
          .plan .course .block .info dt {
            display: inline-block;
            border: 1px solid #006937;
            padding: 0 0.51245vw;
            font-size: 0.95168vw;
            font-weight: 700;
            color: #006937; }
          .plan .course .block .info dd {
            display: inline-block;
            margin-left: 0.36603vw;
            font-size: 1.02489vw;
            font-weight: 500;
            letter-spacing: 0;
            padding-top: 0.43924vw; }
    .plan .applink {
      padding: 2.92826vw;
      border: 1px solid #006937;
      margin-bottom: 120px; }
      .plan .applink .block {
        justify-content: space-between; }
        .plan .applink .block-unit:first-child {
          width: 48.68228vw; }
        .plan .applink .block-unit:last-child {
          width: 13.17716vw; }
        .plan .applink .block-unit .logo {
          width: 18.81406vw;
          margin-bottom: 1.83016vw; }
          .plan .applink .block-unit .logo img {
            width: 100%; }
        .plan .applink .block-unit .desc {
          font-size: 1.1713vw;
          font-weight: 500;
          color: #000000;
          line-height: 2;
          letter-spacing: 0.02em; }
        .plan .applink .block-unit .link-area {
          width: 13.17716vw; }
        .plan .applink .block-unit .link-content {
          width: 100%;
          margin-bottom: 1.31772vw; }
          .plan .applink .block-unit .link-content a {
            display: block;
            width: 100%;
            height: 100%; }
            .plan .applink .block-unit .link-content a img {
              width: 100%; }
    .plan .secondplan-box .desc {
      font-size: 1.1713vw;
      font-weight: 500;
      color: #000000;
      line-height: 2;
      letter-spacing: 0.02em;
      margin-top: 0.73206vw; }
    .plan .secondplan-box .info {
      margin-top: 1.83016vw; }
      .plan .secondplan-box .info dl {
        margin-bottom: 1.0981vw; }
      .plan .secondplan-box .info dt {
        display: inline-block;
        border: 1px solid #006937;
        font-weight: 700;
        padding: 0.36603vw 0.51245vw;
        font-size: 0.95168vw;
        color: #006937;
        vertical-align: top; }
      .plan .secondplan-box .info dd {
        display: inline-block;
        margin-left: 0.36603vw;
        font-size: 1.02489vw;
        font-weight: 500;
        letter-spacing: 0;
        padding-top: 0.43924vw;
        vertical-align: middle; }
  .link {
    width: 13.90922vw;
    margin: 2.19619vw auto 0;
    box-sizing: border-box;
    font-size: 0; }
    .link .inner {
      border: 2px solid #000;
      text-align: center;
      position: relative;
      transition: .5s ease; }
      .link .inner::before {
        background: #006937;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        transition: .4s ease;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        transform-origin: center left; }
      .link .inner:hover a {
        color: #ffffff;
        z-index: 10; }
        .link .inner:hover a::after {
          -webkit-transform: translateX(50%);
          transform: translateX(50%); }
      .link .inner:hover::before {
        opacity: 1;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1); }
      .link .inner a {
        display: block;
        position: relative;
        color: #333333;
        font-weight: bold;
        font-size: 1.1713vw;
        width: 100%;
        height: 100%;
        letter-spacing: 0.1em;
        padding: 0.732vw 0 0.5856vw;
        transition: all .3s ease;
        transition-delay: .1s; }
        .link .inner a::after {
          content: "";
          position: absolute;
          display: inline-block;
          width: 1.4641vw;
          height: 2px;
          background: #000000;
          top: 50%;
          right: -0.732vw;
          transition: all .5s;
          -webkit-transform: translateX(0);
          transform: translateX(0); }
  .ending {
    padding-top: 120px; }
    .ending .wrapper {
      width: 100%;
      position: relative; }
    .ending .end-bg {
      width: 100%;
      padding-top: 55.91%;
      position: relative; }
      .ending .end-bg img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .ending .txt-area {
      width: 35.2123vw;
      padding: 1.83016vw 1.46413vw 1.46413vw 1.83016vw;
      background: rgba(255, 255, 255, 0.5);
      position: absolute;
      top: 2.92826vw;
      left: 7.54026vw; }
      .ending .txt-area .head {
        text-align: left;
        font-size: 2.04978vw;
        line-height: 1.5;
        color: #000000;
        letter-spacing: 0.02em; }
      .ending .txt-area .read {
        font-size: 1.1713vw;
        font-weight: 500;
        color: #000000;
        line-height: 2;
        letter-spacing: 0.02em;
        letter-spacing: 0; } }

@media screen and (max-width: 768px) {
  .pc {
    display: none !important; }
  .block {
    display: block; }
    .block-unit--img {
      width: 100%; }
      .block-unit--img img {
        width: 100%; }
    .block-unit--text {
      width: 100%; }
    .block-p {
      font-size: 3.73333vw;
      font-weight: 500;
      color: #000000;
      line-height: 1.78571;
      letter-spacing: 0.02em; }
  .read-withicon__head {
    display: inline;
    color: #006937;
    font-size: 5.86667vw;
    letter-spacing: 0;
    font-weight: 700;
    padding-bottom: 0.66667vw;
    position: relative;
    padding-right: 12.53333vw;
    border-bottom: 0.26667vw solid #006937;
    line-height: 1.85; }
    .read-withicon__head::after {
      content: '';
      display: block;
      position: absolute;
      bottom: -0.2vw;
      right: 0vw;
      width: 11.33333vw;
      height: 7.73333vw;
      background: url(../images/ebike/icon_bike.png) no-repeat;
      background-size: contain; }
  .hero {
    width: 100%;
    margin: 13.33vw 0 0 auto;
    background: #ffffff;
    position: relative; }
    .hero .background {
      width: 100%;
      padding-top: 115.34%;
      position: relative; }
      .hero .background img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .hero .maintitle {
      position: absolute;
      top: 30.26667vw;
      left: 50%;
      transform: translateX(-50%);
      width: 65.6%; }
    .hero .mainlogo {
      width: 100%;
      padding-top: 59%;
      position: relative; }
      .hero .mainlogo img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .hero .caption {
      width: 100%;
      margin-top: 3.73333vw;
      font-size: 3.73333vw;
      font-weight: 700;
      letter-spacing: 0.04em;
      line-height: 1.64286;
      color: #ffffff;
      text-align: center; }
    .hero .description {
      width: 89.33333vw;
      margin-right: auto;
      margin-left: auto;
      padding: 8.66667vw 0;
      background: #ffffff; }
      .hero .description p {
        text-align: left;
        font-weight: 500;
        font-size: 3.73333vw;
        color: #000;
        letter-spacing: 0.02em;
        line-height: 1.78571; }
  .separate {
    width: 100%;
    margin: 0 auto;
    background: #ffffff;
    position: relative; }
    .separate .background {
      width: 100%;
      padding-top: 34.27%;
      position: relative; }
      .separate .background img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .separate .description {
      width: 100%;
      padding: 8vw 0;
      background: #ffffff; }
      .separate .description p {
        width: 89.33333vw;
        margin-right: auto;
        margin-left: auto;
        text-align: left;
        font-weight: 500;
        font-size: 3.73333vw;
        color: #000;
        letter-spacing: 0.02em;
        line-height: 1.78571; }
  .content {
    background: #f5f0e6;
    width: 100%;
    margin: 0 auto;
    padding-top: 12vw; }
    .content-header {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 6.4vw;
      font-weight: 700;
      letter-spacing: 0;
      position: relative;
      color: #000000; }
      .content-header::before, .content-header::after {
        display: block;
        flex: 1;
        content: '';
        border-top: 1px solid #000000; }
      .content-header::before {
        margin-right: 0.4em; }
      .content-header::after {
        margin-left: 0.4em; }
  .about {
    width: 89.33333vw;
    margin-right: auto;
    margin-left: auto;
    padding-top: 3.33333vw;
    padding-bottom: 13.33333vw; }
    .about .read {
      font-size: 3.73333vw;
      font-weight: 500;
      color: #000000;
      line-height: 1.78571;
      letter-spacing: 0.02em;
      text-align: left;
      margin-bottom: 9.06667vw; }
    .about .block-p {
      margin-top: 3.73333vw; }
    .about .block-unit--img {
      margin-top: 5.33333vw; }
    .about .list {
      margin-top: 13.33333vw; }
      .about .list-wrapper {
        width: 100%;
        border-top: 0.26667vw solid #006937; }
      .about .list-block {
        padding: 8vw 0;
        border-bottom: 0.26667vw solid #006937;
        list-style-type: none; }
        .about .list-block dl {
          display: flex;
          align-items: start; }
        .about .list-block .num {
          display: inline-block;
          text-align: center;
          width: 6.13333vw;
          height: 6.13333vw;
          background: #006937;
          color: #ffffff;
          font-size: 5.33333vw;
          font-weight: 500;
          vertical-align: top;
          margin-right: 2.4vw;
          line-height: 6.13333vw; }
        .about .list-block .txt {
          width: 80vw;
          display: inline-block;
          font-size: 5.33333vw;
          font-weight: 700;
          letter-spacing: 0.05em;
          vertical-align: middle;
          margin-top: -0.8vw; }
        .about .list-block .desc {
          margin-top: 2.4vw;
          font-size: 3.73333vw;
          font-weight: 500;
          color: #000000;
          line-height: 1.78571;
          letter-spacing: 0.02em; }
    .about .caution {
      width: 89.33333vw;
      margin-right: auto;
      margin-left: auto;
      margin-top: 13.33333vw; }
      .about .caution-head {
        background: #e64628;
        border-radius: 1.6vw;
        padding: 0.66667vw 0 0.8vw 3.06667vw;
        vertical-align: middle;
        font-size: 4.8vw;
        color: #ffffff;
        font-weight: 700;
        margin-bottom: 4vw; }
      .about .caution-lists {
        width: 100%;
        margin-top: 2vw;
        font-size: 3.73333vw; }
      .about .caution-list {
        padding-left: 1.3em;
        text-indent: -1.3em;
        font-size: 3.73333vw;
        font-weight: 500;
        color: #000000;
        line-height: 1.78571;
        letter-spacing: 0.02em; }
        .about .caution-list::before {
          content: '';
          display: inline-block;
          width: 1em;
          height: 1em;
          background: #e64628;
          border-radius: 50%; }
  .plan {
    width: 89.33333vw;
    margin-right: auto;
    margin-left: auto; }
    .plan-title {
      background: #006937;
      padding: 1.33333vw 0 1.06667vw 3.33333vw;
      color: #ffffff;
      font-size: 11.2vw;
      letter-spacing: 0;
      margin-bottom: 8.66667vw; }
    .plan-num {
      display: inline-block;
      margin-left: 1.86667vw;
      width: 8.66667vw;
      height: 8.66667vw;
      background: #ffffff;
      color: #006937;
      font-size: 7.46667vw;
      text-align: center;
      vertical-align: middle;
      transform: translateY(-0.1em);
      border-radius: 50%; }
    .plan-desc {
      margin-top: 10px;
      font-size: 3.73333vw;
      font-weight: 500;
      color: #000000;
      line-height: 1.78571;
      letter-spacing: 0.02em; }
    .plan .place-list {
      margin-top: 6.66667vw; }
    .plan .place-box {
      margin-right: 0;
      background: #ffffff;
      padding: 5.33333vw 0 6.66667vw;
      width: 100%; }
      .plan .place-box:first-child {
        margin-bottom: 6.66667vw; }
      .plan .place-box .title {
        text-align: center;
        font-size: 6.4vw;
        font-weight: 700;
        letter-spacing: 0.05em;
        color: #006937; }
      .plan .place-box .information {
        margin-top: 4.4vw;
        margin-bottom: 5.6vw;
        width: auto;
        padding: 0 5.33333vw; }
      .plan .place-box dl {
        margin-bottom: 3.2vw;
        display: flex;
        align-items: start; }
      .plan .place-box dt, .plan .place-box dd {
        display: inline-block; }
      .plan .place-box dt {
        border: 0.26667vw solid #006937;
        width: 26.6%;
        padding: 0.53333vw 0;
        text-align: center;
        font-size: 3.2vw;
        color: #006937;
        letter-spacing: 0;
        vertical-align: middle;
        font-weight: 700; }
      .plan .place-box dd {
        width: 71%;
        margin-left: 1.86667vw;
        text-align: left;
        font-size: 3.46667vw;
        color: #000000;
        letter-spacing: 0;
        line-height: 1.53846;
        vertical-align: top;
        padding-top: 0.53333vw; }
      .plan .place-box .map {
        width: 100%;
        padding-top: 64.33%;
        position: relative; }
        .plan .place-box .map iframe {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0; }
    .plan .course {
      width: 100%;
      margin-top: 10.66667vw; }
      .plan .course-head {
        border: 0.26667vw solid #006937;
        display: block;
        padding: 1.73333vw 0 1.86667vw 3.2vw;
        color: #006937;
        font-size: 4.8vw;
        font-weight: 700;
        letter-spacing: 0.05em;
        line-height: 1;
        margin-bottom: 8vw; }
      .plan .course .block {
        margin-bottom: 7.33333vw; }
        .plan .course .block-unit--img {
          margin-bottom: 5.33333vw; }
        .plan .course .block .block-title {
          font-size: 6.4vw;
          font-weight: 700;
          letter-spacing: -0.02em;
          color: #006937;
          margin-bottom: 3.73333vw;
          line-height: 1.54167; }
        .plan .course .block .block-p {
          font-size: 3.73333vw;
          font-weight: 500;
          color: #000000;
          line-height: 1.78571;
          letter-spacing: 0.02em;
          margin-bottom: 2.93333vw; }
        .plan .course .block .info {
          display: flex; }
          .plan .course .block .info dl {
            margin-right: 3.73333vw; }
          .plan .course .block .info dt {
            display: inline-block;
            border: 1px solid #006937;
            padding: 1.06667vw 1.2vw;
            font-size: 3.2vw;
            font-weight: 700;
            color: #006937; }
          .plan .course .block .info dd {
            display: inline-block;
            margin-left: 1.33333vw;
            font-size: 3.46667vw;
            font-weight: 500;
            letter-spacing: 0;
            padding-top: 1.06667vw; }
    .plan .applink {
      padding: 7.46667vw 4.66667vw 6.66667vw;
      border: 1px solid #006937;
      margin-bottom: 18.66667vw; }
      .plan .applink .block-unit:first-child {
        width: 100%;
        margin-bottom: 5.33333vw; }
      .plan .applink .block-unit:last-child {
        width: 48vw;
        margin: 0 auto; }
      .plan .applink .block-unit .logo {
        width: 68.26667vw;
        margin: 0 auto 5.33333vw; }
        .plan .applink .block-unit .logo img {
          width: 100%; }
      .plan .applink .block-unit .desc {
        font-size: 3.73333vw;
        font-weight: 500;
        color: #000000;
        line-height: 1.78571;
        letter-spacing: 0.02em; }
      .plan .applink .block-unit .link-area {
        width: 100%; }
      .plan .applink .block-unit .link-content {
        width: 100%;
        margin-bottom: 4vw; }
        .plan .applink .block-unit .link-content:last-child {
          margin-bottom: 0; }
        .plan .applink .block-unit .link-content a {
          display: block;
          width: 100%;
          height: 100%; }
          .plan .applink .block-unit .link-content a img {
            width: 100%; }
    .plan .secondplan-box .desc {
      font-size: 3.73333vw;
      font-weight: 500;
      color: #000000;
      line-height: 1.78571;
      letter-spacing: 0.02em;
      margin-top: 3.46667vw; }
    .plan .secondplan-box .block .block-unit--img .block-img {
      width: 100%;
      padding-top: 68.65%;
      position: relative; }
      .plan .secondplan-box .block .block-unit--img .block-img img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover; }
    .plan .secondplan-box .info {
      margin-top: 4vw;
      margin-bottom: 5.2vw; }
      .plan .secondplan-box .info dl {
        margin-bottom: 3.33333vw;
        display: flex;
        align-items: start; }
      .plan .secondplan-box .info dt {
        width: 16vw;
        display: inline-block;
        border: 0.26667vw solid #006937;
        padding: 0.66667vw 1.2vw;
        font-size: 3.2vw;
        color: #006937;
        vertical-align: top;
        text-align: center;
        font-weight: 700; }
      .plan .secondplan-box .info dd {
        width: 71.2vw;
        display: inline-block;
        margin-left: 1.6vw;
        font-size: 3.46667vw;
        font-weight: 500;
        letter-spacing: 0;
        padding-top: 0.66667vw;
        vertical-align: middle; }
  .link {
    width: 50.4vw;
    margin: 6.66667vw auto 0;
    box-sizing: border-box;
    font-size: 0; }
    .link .inner {
      border: 0.26667vw solid #000;
      text-align: center;
      position: relative;
      transition: .5s ease; }
      .link .inner::before {
        background: #006937;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        transition: .4s ease;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        transform-origin: center left; }
      .link .inner a {
        display: block;
        position: relative;
        color: #333333;
        font-weight: bold;
        font-size: 4.26667vw;
        width: 100%;
        height: 100%;
        letter-spacing: 0.1em;
        padding: 2.2vw 0;
        transition: all .3s ease;
        transition-delay: .1s; }
        .link .inner a::after {
          content: "";
          position: absolute;
          display: inline-block;
          width: 5.3333vw;
          height: 0.53333vw;
          background: #000000;
          top: 50%;
          right: -2.66666vw; }
  .ending {
    padding-top: 18.66667vw; }
    .ending .wrapper {
      width: 100%;
      position: relative; }
    .ending .end-bg {
      width: 100%;
      padding-top: 115.34%;
      position: relative; }
      .ending .end-bg img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        object-fit: cover;
        font-family: 'object-fit: cover;'; }
    .ending .txt-area {
      width: 74.8vw;
      background: rgba(255, 255, 255, 0.5);
      position: absolute;
      top: 5.33333vw;
      left: 5.33333vw; }
      .ending .txt-area .head {
        padding: 5.06667vw 4.93333vw 0;
        text-align: left;
        font-size: 5.6vw;
        line-height: 1.52381;
        color: #000000;
        letter-spacing: 0.02em;
        margin-bottom: 0.66667vw; }
      .ending .txt-area .read {
        font-size: 3.73333vw;
        font-weight: 500;
        color: #000000;
        line-height: 1.78571;
        letter-spacing: 0.02em;
        letter-spacing: 0;
        padding: 0 4.93333vw 4.93333vw; } }
