@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
/*フォント*/
.font_noto {
  font-family: "Noto Sans JP", "sans-serif"; }

.font_anton {
  font-family: "Anton", sans-serif; }

/* PC */
@media screen and (min-width: 798px) {
  .sponly {
    display: none !important; }

  #pcarea {
    padding-top: 81px;
    position: relative; }
    #pcarea .pcbg {
      width: 100%;
      height: 100vh;
      background: url("../img/bootcamp2026/main_bg.webp") no-repeat center center;
      background-size: cover;
      position: fixed;
      top: 0;
      left: 0;
      z-index: -1; }

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background: #fff;
    box-shadow: 0 4px 5px #79A616; }
    header .inner {
      width: 95%;
      max-width: 1868px;
      margin: 0 auto;
      padding: 20px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .logo {
        width: 193px; }
      header .inner .header_btn {
        display: flex;
        justify-content: flex-end;
        padding-right: 55px; }
        header .inner .header_btn a {
          display: block;
          font-size: 14px;
          line-height: 1.5em;
          font-weight: 600;
          text-align: center;
          box-sizing: border-box;
          border-radius: 5px;
          transition: 0.3s; }
          header .inner .header_btn a.login {
            width: 108px;
            color: #8FC31E;
            padding: 8px 0;
            border: solid 2px #8FC31E; }
            header .inner .header_btn a.login:hover {
              color: #fff;
              background: #8FC31E; }
          header .inner .header_btn a.signin {
            width: 152px;
            color: #fff;
            padding: 8px 0;
            border: solid 2px #F0670B;
            background: #F0670B;
            margin-left: 15px; }
            header .inner .header_btn a.signin:hover {
              color: #F0670B;
              background: #fff; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 81px;
    right: -375px;
    /*bottom: 0;*/
    width: 375px;
    max-height: calc( 100% - 81px );
    overflow-x: hidden;
    overflow-y: auto;
    background: #111111;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1;
    box-sizing: border-box;
    padding-bottom: 51px; }
    nav.hum .hum_cont {
      width: 330px;
      margin: 0 auto;
      padding: 30px 0 0; }
      nav.hum .hum_cont .hum_menu {
        margin-bottom: 67px; }
        nav.hum .hum_cont .hum_menu li {
          font-size: 21px;
          line-height: 1.5em;
          font-weight: 500; }
          nav.hum .hum_cont .hum_menu li:nth-child(n+2) {
            margin-top: 9px; }
          nav.hum .hum_cont .hum_menu li a {
            display: block;
            width: 100%;
            color: #fff;
            padding: 10px 0;
            border-bottom: solid 1px #fff;
            background: url("../img/bootcamp2026/hum_arrow.png") no-repeat right center;
            background-size: 32px; }
      nav.hum .hum_cont .apply_btn {
        width: 100%; }
        nav.hum .hum_cont .apply_btn a {
          font-size: 17px;
          line-height: 1;
          padding: 26px 0 26px 48px; }
      nav.hum .hum_cont .dl_btn {
        width: 100%;
        margin: 25px 0 19px; }
        nav.hum .hum_cont .dl_btn a {
          display: block;
          width: 100%;
          font-size: 14px;
          line-height: 1.5em;
          font-weight: bold;
          color: #00AA00;
          box-sizing: border-box;
          padding: 20px 0 20px 42px;
          border-radius: 60rem;
          border: solid 2px #00AA00;
          background: url("../img/bootcamp2026/about_btn_icon.png") no-repeat right 27px top 18px #fff;
          background-size: 27px;
          box-shadow: 0 3px 8px rgba(61, 91, 97, 0.2); }
      nav.hum .hum_cont .app {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 19px; }
        nav.hum .hum_cont .app .app_btn {
          width: 145px; }
          nav.hum .hum_cont .app .app_btn a {
            display: block;
            width: 100%; }
          nav.hum .hum_cont .app .app_btn.google {
            width: 177px; }
      nav.hum .hum_cont .causion li {
        font-size: 12px;
        letter-spacing: 0.04em;
        line-height: 1.4em;
        color: #fff; }
        nav.hum .hum_cont .causion li:nth-child(n+2) {
          margin-top: 6px; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 27px;
    right: 26px;
    width: 40px;
    height: 28px;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 40px;
    height: 3px;
    border-radius: 100rem;
    background-color: #444444;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 12px; }

  .toggle_btn span:nth-of-type(3) {
    top: 24px; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-315deg);
    transform: translateY(12px) rotate(-315deg); }

  .open .toggle_btn span:nth-of-type(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(315deg);
    transform: translateY(-12px) rotate(315deg); }

  main {
    width: 375px;
    margin: 0 auto;
    filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.25)); }

  /*申し込みボタン*/
  .apply_btn {
    width: 343px;
    margin: 0 auto; }
    .apply_btn a {
      display: block;
      width: 100%;
      font-size: 18px;
      line-height: 1;
      font-weight: bold;
      color: #fff;
      box-sizing: border-box;
      padding: 27px 0 27px 50px;
      border-radius: 45px;
      background: url("../img/bootcamp2026/apply_btn_bg.png") no-repeat center;
      background-size: contain;
      transition: 0.3s; }
      .apply_btn a:hover {
        filter: brightness(1.1); }
      .apply_btn a.green {
        background: url("../img/bootcamp2026/apply_btn_bg_green.png") no-repeat center;
        background-size: contain; }
      .apply_btn a.green02 {
        background: url("../img/bootcamp2026/apply_btn_bg_green_02.png") no-repeat center;
        background-size: contain; }
    .apply_btn .causion {
      font-size: 10px;
      line-height: 2em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-top: 4px; }
      .apply_btn .causion.black {
        color: #000; }

  #mv {
    background: #8FC31E;
    padding-top: 36px;
    position: relative; }
    #mv h1 {
      width: 348px;
      margin-left: 11px;
      position: relative;
      z-index: 2; }
    #mv .mv_txt {
      width: 352px;
      margin: 29px 0 218px 16px;
      position: relative;
      z-index: 2; }
    #mv .mv_img {
      width: 341px;
      position: absolute;
      top: 245px;
      right: 0; }
    #mv .mv_box {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: center;
      box-sizing: border-box;
      padding: 14px 16px 13px;
      background: #000;
      position: relative;
      z-index: 2; }
      #mv .mv_box .mv_box_time {
        width: 100%;
        margin-bottom: 10px; }
      #mv .mv_box .mv_box_tag {
        width: 154px; }
      #mv .mv_box .mv_box_logo {
        width: 180px; }
      #mv .mv_box .apply_btn {
        margin-top: 17px; }

  #intro {
    padding-top: 81px;
    margin-top: -81px; }
    #intro .bg {
      background: #EDFCFB;
      position: relative; }
      #intro .bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 202px;
        top: 0;
        left: 0;
        background: url("../img/bootcamp2026/intro_bg.png") no-repeat center;
        background-size: contain; }
      #intro .bg::after {
        position: absolute;
        content: "";
        width: 364px;
        height: 261px;
        top: 398px;
        left: 0;
        background: url("../img/bootcamp2026/intro_img.png") no-repeat center;
        background-size: contain; }
    #intro .inner {
      width: 344px;
      margin: 0 auto;
      padding: 64px 0 40px;
      position: relative;
      z-index: 2; }
      #intro .inner h2 {
        text-align: center;
        margin-bottom: 30px; }
        #intro .inner h2 img {
          width: 343px; }
        #intro .inner h2 span {
          display: block;
          font-size: 32px;
          line-height: 1.4375em;
          font-weight: 900; }
      #intro .inner .intro_txt {
        font-size: 16px;
        line-height: 2em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 226px; }
        #intro .inner .intro_txt span {
          display: inline-block;
          background: url("../img/bootcamp2026/intro_txt_line.png") no-repeat center bottom;
          background-size: 100% 19px; }

  #theme {
    padding-top: 81px;
    margin-top: -81px; }
    #theme .bg {
      background: #1F2922; }
    #theme .inner {
      width: 343px;
      margin: 0 auto;
      padding: 60px 0 40px; }
      #theme .inner .theme_ttl {
        margin-bottom: 22px; }
        #theme .inner .theme_ttl h2 {
          width: 283px;
          margin: 0 auto; }
        #theme .inner .theme_ttl .ja {
          font-size: 24px;
          line-height: 1.45em;
          font-weight: 900;
          color: #A1DC20;
          text-align: center; }
          #theme .inner .theme_ttl .ja span {
            display: inline-block;
            font-size: 30px;
            line-height: 1.43em;
            color: #fff; }
      #theme .inner .theme_txt {
        font-size: 15px;
        line-height: 1.8em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        margin: 24px 0 36px; }

  #try {
    padding-top: 81px;
    margin-top: -81px; }
    #try .bg {
      background: url("../img/bootcamp2026/try_bg.png") no-repeat center bottom #98CF21;
      background-size: 100% auto; }
    #try .inner {
      width: 343px;
      margin: 0 auto;
      padding: 64px 0 52px; }
      #try .inner h2 {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 35px; }
        #try .inner h2 span {
          display: inline-block;
          font-size: 40px;
          line-height: 1;
          font-weight: 400;
          color: #fff; }
      #try .inner .try_boxes {
        margin-bottom: 28px; }
        #try .inner .try_boxes .try_box {
          position: relative; }
          #try .inner .try_boxes .try_box .try_box_chara {
            position: absolute; }
          #try .inner .try_boxes .try_box .try_box_ttl {
            position: relative;
            margin-bottom: 5px;
            position: relative;
            z-index: 2; }
            #try .inner .try_boxes .try_box .try_box_ttl::before {
              position: absolute;
              content: "";
              width: 100%;
              height: 1px;
              left: 0;
              bottom: 0;
              background: #000; }
            #try .inner .try_boxes .try_box .try_box_ttl .num {
              width: 37px;
              position: absolute;
              top: -11px;
              left: 10px; }
            #try .inner .try_boxes .try_box .try_box_ttl h3 {
              display: inline-block;
              font-size: 24px;
              line-height: 1.458em;
              font-weight: 900;
              color: #fff;
              background: #000;
              padding: 3px 15px 5px 51px;
              border-top-right-radius: 20px; }
          #try .inner .try_boxes .try_box .try_box_img {
            position: relative;
            z-index: 2; }
          #try .inner .try_boxes .try_box .try_box_txt {
            font-size: 14px;
            line-height: 1.8em;
            font-weight: bold;
            color: #fff;
            margin-top: 8px; }
          #try .inner .try_boxes .try_box:nth-child(1) .try_box_chara {
            width: 79px;
            top: -93px;
            right: 0;
            z-index: 3; }
          #try .inner .try_boxes .try_box:nth-child(2) {
            margin: 54px 0 68px; }
            #try .inner .try_boxes .try_box:nth-child(2) .try_box_chara {
              width: 77px;
              top: -39px;
              left: 4px;
              z-index: 1; }
            #try .inner .try_boxes .try_box:nth-child(2) .try_box_ttl {
              text-align: right; }
              #try .inner .try_boxes .try_box:nth-child(2) .try_box_ttl .num {
                left: 95px; }
          #try .inner .try_boxes .try_box:nth-child(3) .try_box_chara {
            width: 67px;
            top: -35px;
            right: -7px;
            z-index: 1; }

  #timetable {
    padding-top: 81px;
    margin-top: -81px; }
    #timetable .bg {
      background: url("../img/bootcamp2026/timetable_bg.png") no-repeat center top #EDFCFB;
      background-size: 100% auto; }
    #timetable .inner {
      width: 353px;
      margin: 0 auto;
      padding: 64px 0 84px; }
      #timetable .inner h2 {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        color: #8FC31F;
        text-align: center;
        margin-bottom: 35px; }
        #timetable .inner h2 span {
          display: inline-block;
          font-size: 40px;
          line-height: 1;
          font-weight: 400;
          color: #000; }
      #timetable .inner .timetable_boxes .timetable_box {
        position: relative; }
        #timetable .inner .timetable_boxes .timetable_box:nth-child(n+2) {
          margin-top: 41px; }
        #timetable .inner .timetable_boxes .timetable_box::before {
          position: absolute;
          content: "";
          width: 345px;
          height: calc( 100% - 6px );
          bottom: -10px;
          right: 0;
          border-radius: 10px;
          background: #76A316; }
        #timetable .inner .timetable_boxes .timetable_box .timetable_box_in {
          width: 343px;
          border-radius: 10px;
          overflow: hidden;
          position: relative;
          z-index: 2; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num {
            font-size: 16px;
            letter-spacing: 0.2em;
            line-height: 38px;
            color: #fff;
            text-align: center;
            padding: 10px 0;
            background: #393C32;
            position: relative; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num span {
              display: inline-block;
              font-size: 20px; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num::before {
              position: absolute;
              content: "";
              width: 35px;
              height: 31px;
              left: 68px;
              top: 14px;
              transform: rotate(-12.74deg);
              background: url("../img/bootcamp2026/timetable_box_icon.png") no-repeat center;
              background-size: contain; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_img {
            line-height: 0; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_bg {
            box-sizing: border-box;
            padding: 22px 14px 18px;
            border: solid 2px #000;
            border-radius: 0 0 10px 10px;
            background: url("../img/bootcamp2026/timetable_box_txtbg.png") no-repeat center;
            background-size: cover; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_txt {
            font-size: 14px;
            line-height: 1.8em;
            font-weight: bold;
            margin-bottom: 13px; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .apply_btn {
            width: 286px; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .apply_btn a {
              font-size: 15px;
              padding: 22px 0 23px 42px; }
      #timetable .inner .cs {
        font-size: 30px;
        letter-spacing: 0.1em;
        line-height: 2em;
        text-align: center;
        margin-top: 57px; }

  #speaker {
    padding-top: 81px;
    margin-top: -81px; }
    #speaker .bg {
      background: #1F2922; }
    #speaker .inner {
      width: 343px;
      margin: 0 auto;
      padding: 64px 0; }
      #speaker .inner h2 {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        color: #8FC31F;
        text-align: center;
        margin-bottom: 45px;
        position: relative; }
        #speaker .inner h2::before {
          position: absolute;
          content: "";
          width: 64px;
          height: 37px;
          top: 22px;
          right: 17px;
          transform: rotate(-12.74deg);
          background: url("../img/bootcamp2026/speaker_icon.png") no-repeat;
          background-size: contain; }
        #speaker .inner h2 span {
          display: inline-block;
          font-size: 40px;
          line-height: 1;
          font-weight: 400;
          color: #fff; }
      #speaker .inner .speaker_boxes {
        width: 335px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #speaker .inner .speaker_boxes .speaker_box {
          width: 160px;
          min-height: 227px;
          position: relative;
          background: #fff;
          cursor: pointer;
          transition: 0.3s; }
          #speaker .inner .speaker_boxes .speaker_box:hover {
            opacity: 0.8; }
          #speaker .inner .speaker_boxes .speaker_box:nth-child(n+3) {
            margin-top: 23px; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_bg {
            width: calc( 100% + 8px );
            height: calc( 100% + 9px );
            background: url("../img/bootcamp2026/speaker_box_bg.png") no-repeat center;
            background-size: 100% 100%;
            border-radius: 4px;
            position: absolute;
            top: -4px;
            left: -4px;
            z-index: 1; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_in {
            width: 100%;
            height: 100%;
            background: #fff;
            position: relative;
            z-index: 2; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_icon {
            color: #fff;
            width: 20px;
            position: absolute;
            top: 5px;
            right: 6px; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_img {
            width: 100%;
            line-height: 0; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea {
            width: 100%;
            box-sizing: border-box;
            padding: 10px; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .time {
              display: inline-block;
              padding: 0 10px;
              font-size: 14px;
              letter-spacing: 0.03em;
              line-height: 1.5em;
              font-weight: bold;
              color: #fff;
              border-radius: 50px;
              background: #8FC31F;
              margin-bottom: 2px; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .name {
              font-size: 16px;
              letter-spacing: 0.03em;
              line-height: 1.5em;
              font-weight: bold; }
              #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .name span {
                display: inline-block;
                font-size: 14px;
                font-weight: 400;
                margin-left: 0.8em; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .job_ttl {
              font-size: 12px;
              line-height: 1.5em;
              min-height: 36px; }
      #speaker .inner .cs {
        font-size: 30px;
        letter-spacing: 0.1em;
        line-height: 2em;
        text-align: center;
        color: #fff;
        margin: 54px 0 68px; }
      #speaker .inner .apply_btn {
        margin-top: 54px; }

  .modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 30; }
    .modal .modal-bg {
      position: absolute;
      height: 100vh;
      width: 100%;
      background: rgba(0, 0, 0, 0.9);
      z-index: 32; }
    .modal .modal-content {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center; }
      .modal .modal-content .modal_inner {
        width: 343px;
        max-height: 95vh;
        position: relative;
        box-sizing: border-box;
        border-radius: 10px;
        border: solid 3px #8FC31F;
        background: url("../img/bootcamp2026/modal_cont_bg.png") no-repeat center;
        background-size: cover;
        overflow: hidden;
        position: relative;
        z-index: 33; }
        .modal .modal-content .modal_inner .time {
          display: inline-block;
          font-size: 18px;
          letter-spacing: 0.03em;
          line-height: 1.5em;
          font-weight: bold;
          color: #fff;
          padding: 3px 18px 4px;
          background: #8FC31F;
          margin-bottom: 16px; }
        .modal .modal-content .modal_inner .scroll {
          width: 316px;
          margin: 0 auto;
          height: 100%;
          overflow: scroll;
          box-sizing: border-box;
          padding-bottom: 30px; }
          .modal .modal-content .modal_inner .scroll .ttl {
            font-size: 18px;
            letter-spacing: 0.03em;
            line-height: 1.5em;
            font-weight: bold;
            margin-bottom: 13px; }
          .modal .modal-content .modal_inner .scroll .modal_box {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            margin-bottom: 16px; }
            .modal .modal-content .modal_inner .scroll .modal_box .modal_box_img {
              width: 110px;
              margin-right: 30px; }
            .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right {
              flex: 1; }
              .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .name {
                font-size: 16px;
                letter-spacing: 0.03em;
                line-height: 1.5em;
                font-weight: bold;
                margin-bottom: 2px; }
                .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .name span {
                  display: inline-block;
                  font-size: 14px;
                  font-weight: 400;
                  margin-left: 0.8em; }
              .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .job_ttl {
                font-size: 12px;
                line-height: 1.5em; }
          .modal .modal-content .modal_inner .scroll .txt {
            font-size: 14px;
            line-height: 1.5em;
            padding-top: 15px;
            border-top: dashed 1px #9FA09F;
            margin-bottom: 40px; }
          .modal .modal-content .modal_inner .scroll .apply_btn {
            width: 100%; }
            .modal .modal-content .modal_inner .scroll .apply_btn a {
              font-size: 16px;
              box-sizing: border-box;
              padding: 28px 0 28px 46px;
              border-radius: 45px;
              filter: drop-shadow(0 3px 9px rgba(61, 91, 97, 0.2));
              transition: 0.3s; }
              .modal .modal-content .modal_inner .scroll .apply_btn a:hover {
                filter: brightness(1.1); }
        .modal .modal-content .modal_inner .close_btn {
          width: 30px;
          position: absolute;
          top: 8px;
          right: 8px;
          cursor: pointer; }

  #exhibition .bg {
    background: #F8F8F8; }
  #exhibition .inner {
    width: 343px;
    margin: 0 auto;
    padding: 64px 0; }
    #exhibition .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 20px; }
      #exhibition .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #exhibition .inner .exhibition_txt {
      font-size: 18px;
      line-height: 1.8em;
      font-weight: bold;
      text-align: center;
      margin-bottom: 40px; }
    #exhibition .inner .exhibition_boxes {
      width: 335px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #exhibition .inner .exhibition_boxes .speaker_box {
        width: 160px;
        min-height: 204px;
        position: relative;
        background: #fff; }
        #exhibition .inner .exhibition_boxes .speaker_box:nth-child(n+3) {
          margin-top: 23px; }
        #exhibition .inner .exhibition_boxes .speaker_box:nth-child(n+5) {
          display: none; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_bg {
          width: calc( 100% + 8px );
          height: calc( 100% + 9px );
          background: url("../img/bootcamp2026/speaker_box_bg_02.png") no-repeat center;
          background-size: 100% 100%;
          border-radius: 4px;
          position: absolute;
          top: -4px;
          left: -4px;
          z-index: 1; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_in {
          width: 100%;
          height: 100%;
          background: #fff;
          position: relative;
          z-index: 2; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_img {
          width: 100%;
          line-height: 0; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea {
          width: 100%;
          box-sizing: border-box;
          padding: 10px; }
          #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .name {
            font-size: 16px;
            letter-spacing: 0.03em;
            line-height: 1.5em;
            font-weight: bold;
            margin-bottom: 2px; }
            #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .name span {
              display: inline-block;
              font-size: 14px;
              font-weight: 400;
              margin-left: 0.8em; }
          #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .job_ttl {
            font-size: 12px;
            line-height: 1.5em;
            min-height: 36px; }
    #exhibition .inner .apply_btn {
      width: 252px;
      margin: 45px auto 0; }
      #exhibition .inner .apply_btn a {
        font-size: 14px;
        box-sizing: border-box;
        padding: 18px 0 19px 50px;
        border-radius: 45px;
        filter: drop-shadow(0 3px 9px rgba(61, 91, 97, 0.2));
        transition: 0.3s; }
        #exhibition .inner .apply_btn a:hover {
          filter: brightness(1.1); }
    #exhibition .inner .cs {
      font-size: 30px;
      letter-spacing: 0.1em;
      line-height: 2em;
      text-align: center;
      color: #8FC31F;
      margin: 60px 0 64px; }

  #banner .bg {
    background: #EDFCFB; }
  #banner .inner {
    width: 343px;
    margin: 0 auto;
    padding: 38px 0; }
    #banner .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 30px; }
      #banner .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #banner .inner .banner_img {
      width: 100%; }
      #banner .inner .banner_img a {
        display: block;
        width: 100%;
        transition: 0.3s; }
        #banner .inner .banner_img a:hover {
          opacity: 0.8; }
    #banner .inner .banner_txt {
      font-size: 15px;
      line-height: 1.8em;
      font-weight: bold;
      color: #000;
      text-align: center;
      margin: 24px 0 36px; }

  #overview .bg {
    background: #1F2922; }
  #overview .inner {
    width: 343px;
    margin: 0 auto;
    padding: 64px 0; }
    #overview .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-bottom: 53px; }
      #overview .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #8FC31F; }
    #overview .inner .overview_box {
      padding: 40px 0;
      border-radius: 10px;
      background: #fff;
      margin-bottom: 40px; }
      #overview .inner .overview_box table {
        width: 295px;
        margin: 0 auto; }
        #overview .inner .overview_box table tr th {
          display: block;
          width: 100%;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 1.428em;
          font-weight: bold;
          text-align: left;
          padding-bottom: 7px;
          border-bottom: solid 1px #8FC31F; }
        #overview .inner .overview_box table tr td {
          display: block;
          width: 100%;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 1.428em;
          font-weight: 500;
          padding: 7px 0 30px; }
          #overview .inner .overview_box table tr td .map {
            width: 100%;
            height: 154px;
            position: relative;
            margin-top: 8px; }
            #overview .inner .overview_box table tr td .map iframe {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0; }
        #overview .inner .overview_box table tr:last-child td {
          padding-bottom: 0; }

  #sponsor .bg {
    background: #F8F8F8; }
  #sponsor .inner {
    width: 343px;
    margin: 0 auto;
    padding: 46px 0 64px; }
    #sponsor .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 59px; }
      #sponsor .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #sponsor .inner ul {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      #sponsor .inner ul li {
        width: 109px;
        margin-right: 8px; }
        #sponsor .inner ul li:nth-child(3n) {
          margin-right: 0; }
        #sponsor .inner ul li:nth-child(n+4) {
          margin-top: 8px; }

  #about {
    padding-top: 81px;
    margin-top: -81px; }
    #about .bg {
      background: url("../img/bootcamp2026/about_bg.png") no-repeat center top;
      background-size: cover; }
    #about .inner {
      padding: 62px 0 42px; }
      #about .inner .about_head {
        width: 350px;
        margin: 0 auto 58px;
        padding: 10px 0 24px;
        text-align: center;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 4px 10px rgba(221, 227, 208, 0.4); }
        #about .inner .about_head .about_ttl {
          margin-bottom: 10px; }
          #about .inner .about_head .about_ttl h2 {
            display: inline-block;
            font-size: 34px;
            letter-spacing: 0.04em;
            line-height: 1.25em;
            font-weight: bold;
            /* ▼ ここからグラデーションの指定を追加 ▼ */
            background: linear-gradient(45deg, #00AEBB 0%, #00AEBB 20%, #A8CD52 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            text-fill-color: transparent;
            /* ▲ ここまで ▲ */ }
            #about .inner .about_head .about_ttl h2 .fs26 {
              display: inline-block;
              font-size: 26px; }
            #about .inner .about_head .about_ttl h2 .fs24 {
              display: inline-block;
              font-size: 24px; }
        #about .inner .about_head .about_txt {
          font-size: 16px;
          line-height: 1.7em;
          font-weight: bold; }
      #about .inner .about_boxes {
        margin-bottom: 20px; }
        #about .inner .about_boxes .about_box {
          position: relative; }
          #about .inner .about_boxes .about_box h3 {
            letter-spacing: 0.06em;
            line-height: 1;
            font-weight: bold;
            margin-bottom: 16px;
            position: relative;
            z-index: 2; }
            #about .inner .about_boxes .about_box h3 span {
              display: inline-block; }
              #about .inner .about_boxes .about_box h3 span.small {
                font-size: 38px;
                padding: 11px 23px;
                margin-bottom: 16px; }
              #about .inner .about_boxes .about_box h3 span.big {
                font-size: 46px;
                padding: 16px 27px; }
              #about .inner .about_boxes .about_box h3 span.blue {
                background: #00FFFF; }
              #about .inner .about_boxes .about_box h3 span.yellow {
                background: #FFFF00; }
              #about .inner .about_boxes .about_box h3 span.pink {
                background: #FF9397; }
          #about .inner .about_boxes .about_box .about_box_chara {
            position: absolute;
            z-index: 3; }
          #about .inner .about_boxes .about_box .about_box_txt {
            font-size: 16px;
            letter-spacing: 0.04em;
            line-height: 1.5em;
            font-weight: bold;
            text-align: center;
            padding: 12px 0 13px;
            background: #fff;
            margin-bottom: 16px; }
          #about .inner .about_boxes .about_box .about_box_img {
            line-height: 0; }
          #about .inner .about_boxes .about_box.box01 .about_box_chara {
            width: 147px;
            top: 0;
            right: 0;
            z-index: 1; }
          #about .inner .about_boxes .about_box.box02 {
            margin: 70px 0 78px; }
            #about .inner .about_boxes .about_box.box02 h3 {
              text-align: right; }
            #about .inner .about_boxes .about_box.box02 .about_box_chara {
              width: 150px;
              top: 8px;
              left: 21px; }
            #about .inner .about_boxes .about_box.box02 .about_box_img img {
              width: 100%;
              filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.4)); }
          #about .inner .about_boxes .about_box.box03 h3 span.small {
            padding: 10px 20px; }
          #about .inner .about_boxes .about_box.box03 h3 span.big {
            padding: 14px 25px; }
          #about .inner .about_boxes .about_box.box03 .about_box_chara {
            width: 150px;
            top: -10px;
            right: 19px; }
      #about .inner .about_btn {
        width: 343px;
        margin: 0 auto; }
        #about .inner .about_btn a {
          display: block;
          width: 100%;
          font-size: 14px;
          line-height: 1.5em;
          font-weight: bold;
          color: #00AA00;
          box-sizing: border-box;
          padding: 18px 0 19px 48px;
          border-radius: 60px;
          border: solid 1px #00AA00;
          background: url("../img/bootcamp2026/about_btn_icon.png") no-repeat right 36px top 14px #fff;
          background-size: 28px;
          box-shadow: 0 3px 9px rgba(61, 91, 97, 0.2);
          transition: 0.3s; }
          #about .inner .about_btn a:hover {
            filter: brightness(1.2); }
      #about .inner .about_app {
        width: 316px;
        margin: 20px auto 1px;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #about .inner .about_app .app_btn {
          width: 139px;
          line-height: 0; }
          #about .inner .about_app .app_btn a {
            display: block;
            width: 100%;
            line-height: 0;
            transition: 0.3s; }
            #about .inner .about_app .app_btn a:hover {
              opacity: 0.8; }
          #about .inner .about_app .app_btn.google {
            width: 169px; }
      #about .inner .causion {
        width: 308px;
        margin: 0 auto; }
        #about .inner .causion li {
          font-size: 10px;
          letter-spacing: 0.04em;
          line-height: 1.4em;
          font-weight: 500; }
          #about .inner .causion li:nth-child(n+2) {
            margin-top: 5px; }

  #faq .bg {
    background: url("../img/bootcamp2026/faq_bg.png") no-repeat center top #EDFCFB;
    background-size: 100% auto; }
  #faq .inner {
    width: 341px;
    margin: 0 auto;
    padding: 64px 0; }
    #faq .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 48px; }
      #faq .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #faq .inner .faq_boxes .faq_box {
      border-radius: 10px;
      background: #fff;
      overflow: hidden; }
      #faq .inner .faq_boxes .faq_box:nth-child(n+2) {
        margin-top: 8px; }
      #faq .inner .faq_boxes .faq_box .q_box {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        box-sizing: border-box;
        padding: 16px 24px;
        background: #fff;
        position: relative;
        cursor: pointer;
        transition: 0.3s; }
        #faq .inner .faq_boxes .faq_box .q_box:hover {
          filter: brightness(1.2); }
        #faq .inner .faq_boxes .faq_box .q_box::before {
          position: absolute;
          content: "";
          width: 16px;
          height: 2px;
          top: 50%;
          right: 24px;
          transform: translateY(-50%);
          background: #999999; }
        #faq .inner .faq_boxes .faq_box .q_box::after {
          position: absolute;
          content: "";
          width: 16px;
          height: 2px;
          top: 50%;
          right: 24px;
          transform: translateY(-50%) rotate(90deg);
          background: #999999;
          transition: 0.3s; }
        #faq .inner .faq_boxes .faq_box .q_box .q_icon {
          width: 36px;
          height: 36px;
          font-size: 16px;
          line-height: 1.4em;
          color: #fff;
          text-align: center;
          box-sizing: border-box;
          padding: 7px 0 8px;
          border-radius: 100%;
          background: #000;
          margin-right: 24px; }
        #faq .inner .faq_boxes .faq_box .q_box .q_txt {
          width: 193px;
          font-size: 16px;
          line-height: 1.5em;
          font-weight: bold;
          color: #77AE00; }
        #faq .inner .faq_boxes .faq_box .q_box.open {
          background: #77AE00; }
          #faq .inner .faq_boxes .faq_box .q_box.open::before {
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open::after {
            transform: translateY(-50%) rotate(0);
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open .q_icon {
            color: #77AE00;
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open .q_txt {
            color: #fff; }
      #faq .inner .faq_boxes .faq_box .a_box {
        display: none;
        box-sizing: border-box;
        padding: 16px 24px; }
        #faq .inner .faq_boxes .faq_box .a_box .a_box_in {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #faq .inner .faq_boxes .faq_box .a_box .a_box_in .a_icon {
            width: 36px;
            height: 36px;
            font-size: 16px;
            line-height: 1.4em;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 7px 0 8px;
            border-radius: 100%;
            background: #77AE00;
            margin-right: 24px; }
          #faq .inner .faq_boxes .faq_box .a_box .a_box_in .a_txt {
            flex: 1;
            font-size: 14px;
            letter-spacing: 0.04em;
            line-height: 1.8em;
            font-weight: 500; }

  #contact .bg {
    background: url("../img/bootcamp2026/contact_bg.png") no-repeat center;
    background-size: cover; }
  #contact .inner {
    width: 343px;
    margin: 0 auto;
    padding: 60px 0; }
    #contact .inner h2 {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 18px; }
      #contact .inner h2 span {
        display: inline-block;
        font-size: 40px;
        line-height: 1;
        font-weight: 400;
        color: #000;
        padding: 1px 8px 2px;
        background: #8FC31F; }
    #contact .inner .contact_txt {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 1.8em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-bottom: 32px; }
    #contact .inner .contact_btn {
      width: 100%; }
      #contact .inner .contact_btn a {
        display: block;
        width: 100%;
        font-size: 14px;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        font-weight: bold;
        color: #00AA00;
        text-align: center;
        padding: 19px 0 20px;
        background: url("../img/bootcamp2026/contact_btn_bg.png") no-repeat center;
        background-size: 100% 100%;
        transition: 0.3s; }
        #contact .inner .contact_btn a:hover {
          filter: brightness(1.1); }

  footer {
    background: #8FC31F; }
    footer .inner {
      width: 317px;
      margin: 0 auto;
      padding: 40px 0; }
      footer .inner dl {
        font-size: 13px;
        letter-spacing: 0.03em;
        line-height: 1.34em;
        margin-bottom: 36px; }
        footer .inner dl dt {
          font-weight: bold;
          margin-bottom: 20px; }
        footer .inner dl dd:nth-child(n+2) {
          margin-top: 15px; }
        footer .inner dl dd a {
          color: #000; }
          footer .inner dl dd a:hover {
            text-decoration: underline; }
      footer .inner .sns {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: 12px; }
        footer .inner .sns .sns_txt {
          width: 100%;
          font-size: 13px;
          letter-spacing: 0.03em;
          line-height: 1.34em;
          font-weight: bold;
          color: #545454;
          text-align: center;
          margin-bottom: 12px; }
        footer .inner .sns a {
          display: block;
          width: 51px;
          margin: 0 4px;
          transition: 0.3s; }
          footer .inner .sns a:hover {
            filter: brightness(1.1); }
      footer .inner .footer_btn {
        margin-bottom: 36px; }
        footer .inner .footer_btn .btn {
          width: 100%; }
          footer .inner .footer_btn .btn a {
            display: block;
            width: 100%;
            font-size: 13px;
            letter-spacing: 0.03em;
            line-height: 1.34em;
            font-weight: bold;
            padding: 14px 0 15px;
            text-align: center;
            transition: 0.3s; }
            footer .inner .footer_btn .btn a:hover {
              filter: brightness(1.1); }
            footer .inner .footer_btn .btn a.signin {
              color: #fff;
              background: #F0670B; }
            footer .inner .footer_btn .btn a.login {
              color: #8FC31F;
              background: #fff;
              margin-top: 12px; }
      footer .inner .footer_app {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 36px;
        border-bottom: solid 1px #E1E5E5; }
        footer .inner .footer_app .app_btn {
          width: 139px; }
          footer .inner .footer_app .app_btn.google {
            width: 169px; }
          footer .inner .footer_app .app_btn a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            footer .inner .footer_app .app_btn a:hover {
              opacity: 0.8; }
      footer .inner .footer_logo {
        width: 132px;
        margin: 35px auto 38px; }
        footer .inner .footer_logo a {
          display: block;
          width: 100%; }
      footer .inner .copyright {
        font-size: 12px;
        line-height: 1.25em;
        letter-spacing: 0.05em;
        color: #4E4E4E;
        text-align: center; } }
/* SP */
@media screen and (max-width: 797px) {
  .pconly {
    display: none !important; }

  html {
    font-size: calc(1vw * 100 / 375); }

  #pcarea {
    position: relative; }

  /*申し込みボタン（共通）*/
  .apply_btn {
    width: 343rem;
    margin: 0 auto; }
    .apply_btn a {
      display: block;
      width: 100%;
      font-size: 18rem;
      line-height: 1;
      font-weight: bold;
      color: #fff;
      box-sizing: border-box;
      padding: 27rem 0 27rem 50rem;
      border-radius: 45rem;
      background: url("../img/bootcamp2026/apply_btn_bg.png") no-repeat center;
      background-size: contain;
      transition: 0.3s; }
      .apply_btn a:hover {
        filter: brightness(1.1); }
      .apply_btn a.green {
        background: url("../img/bootcamp2026/apply_btn_bg_green.png") no-repeat center;
        background-size: contain; }
      .apply_btn a.green02 {
        background: url("../img/bootcamp2026/apply_btn_bg_green_02.png") no-repeat center;
        background-size: contain; }
    .apply_btn .causion {
      font-size: 10rem;
      line-height: 2em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-top: 4rem; }
      .apply_btn .causion.black {
        color: #000; }

  header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    background: #fff;
    box-shadow: 0 4rem 5rem #79A616; }
    header .inner {
      width: 100%;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 13rem 48rem 13rem 16rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .logo {
        width: 117rem; }
      header .inner .header_btn {
        display: flex;
        justify-content: flex-end; }
        header .inner .header_btn a {
          display: block;
          font-size: 8.74rem;
          letter-spacing: 0.03em;
          line-height: 1.5em;
          font-weight: 600;
          text-align: center;
          box-sizing: border-box;
          border-radius: 4rem; }
          header .inner .header_btn a.login {
            width: 64rem;
            color: #8FC31E;
            padding: 5rem 0 4rem;
            border: solid 2rem #8FC31E; }
          header .inner .header_btn a.signin {
            width: 82rem;
            color: #fff;
            padding: 5rem 0 4rem;
            border: solid 2rem #F0670B;
            background: #F0670B;
            margin-left: 8rem; }

  #navArea {
    position: relative; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 52rem;
    right: -312rem;
    /*bottom: 0;*/
    width: 312rem;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #111111;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1;
    box-sizing: border-box;
    padding-bottom: 43rem; }
    nav.hum .hum_cont {
      width: 275rem;
      margin: 0 auto;
      padding: 25rem 0 43rem; }
      nav.hum .hum_cont .hum_menu {
        margin-bottom: 56rem; }
        nav.hum .hum_cont .hum_menu li {
          font-size: 18rem;
          line-height: 1.5em;
          font-weight: 500; }
          nav.hum .hum_cont .hum_menu li:nth-child(n+2) {
            margin-top: 8rem; }
          nav.hum .hum_cont .hum_menu li a {
            display: block;
            width: 100%;
            color: #fff;
            padding: 8rem 0 7rem;
            border-bottom: solid 1rem #fff;
            background: url("../img/bootcamp2026/hum_arrow.png") no-repeat right center;
            background-size: 27rem; }
      nav.hum .hum_cont .apply_btn {
        width: 100%; }
        nav.hum .hum_cont .apply_btn a {
          font-size: 14rem;
          line-height: 1;
          padding: 22rem 0 22rem 40rem; }
      nav.hum .hum_cont .dl_btn {
        width: 100%;
        margin: 16rem 0; }
        nav.hum .hum_cont .dl_btn a {
          display: block;
          width: 100%;
          font-size: 12rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #00AA00;
          box-sizing: border-box;
          padding: 16rem 0 16rem 35rem;
          border-radius: 60rem;
          border: solid 2rem #00AA00;
          background: url("../img/bootcamp2026/about_btn_icon.png") no-repeat right 22rem top 15rem #fff;
          background-size: 22rem;
          box-shadow: 0 3rem 7rem rgba(61, 91, 97, 0.2); }
      nav.hum .hum_cont .app {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 16rem; }
        nav.hum .hum_cont .app .app_btn {
          width: 121rem; }
          nav.hum .hum_cont .app .app_btn a {
            display: block;
            width: 100%; }
          nav.hum .hum_cont .app .app_btn.google {
            width: 147rem; }
      nav.hum .hum_cont .causion li {
        font-size: 10rem;
        letter-spacing: 0.04em;
        line-height: 1.4em;
        color: #fff; }
        nav.hum .hum_cont .causion li:nth-child(n+2) {
          margin-top: 5rem; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 17rem;
    right: 15rem;
    width: 24rem;
    height: 18rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 0;
    width: 24rem;
    height: 2rem;
    border-radius: 100rem;
    background-color: #444444;
    transition: all .5s; }

  .toggle_btn span:nth-of-type(1) {
    top: 0; }

  .toggle_btn span:nth-of-type(2) {
    top: 8rem; }

  .toggle_btn span:nth-of-type(3) {
    top: 16rem; }

  .open .toggle_btn span:nth-of-type(1) {
    -webkit-transform: translateY(8rem) rotate(-315deg);
    transform: translateY(8rem) rotate(-315deg); }

  .open .toggle_btn span:nth-of-type(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-of-type(3) {
    -webkit-transform: translateY(-8rem) rotate(315deg);
    transform: translateY(-8rem) rotate(315deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 52rem;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20;
    background: rgba(0, 0, 0, 0.8); }

  main {
    width: 100%; }

  #mv {
    background: #8FC31E;
    padding-top: 76rem;
    position: relative; }
    #mv h1 {
      width: 348rem;
      margin-left: 11rem;
      position: relative;
      z-index: 2; }
    #mv .mv_txt {
      width: 352rem;
      margin: 29rem 0 255rem 14rem;
      position: relative;
      z-index: 2; }
    #mv .mv_img {
      width: 341rem;
      position: absolute;
      top: 285rem;
      right: 0; }
    #mv .mv_box {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: center;
      box-sizing: border-box;
      padding: 14rem 16rem 13rem;
      background: #000;
      position: relative;
      z-index: 2; }
      #mv .mv_box .mv_box_time {
        width: 100%;
        margin-bottom: 10rem; }
      #mv .mv_box .mv_box_tag {
        width: 154rem; }
      #mv .mv_box .mv_box_logo {
        width: 180rem; }
      #mv .mv_box .apply_btn {
        margin-top: 17rem; }

  #intro {
    padding-top: 52rem;
    margin-top: -52rem; }
    #intro .bg {
      background: #EDFCFB;
      position: relative; }
      #intro .bg::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 202rem;
        top: 0;
        left: 0;
        background: url("../img/bootcamp2026/intro_bg.png") no-repeat center;
        background-size: contain; }
      #intro .bg::after {
        position: absolute;
        content: "";
        width: 364rem;
        height: 261rem;
        top: 398rem;
        left: 0;
        background: url("../img/bootcamp2026/intro_img.png") no-repeat center;
        background-size: contain; }
    #intro .inner {
      width: 344rem;
      margin: 0 auto;
      padding: 64rem 0 40rem;
      position: relative;
      z-index: 2; }
      #intro .inner h2 {
        text-align: center;
        margin-bottom: 30rem; }
        #intro .inner h2 img {
          width: 343rem; }
        #intro .inner h2 span {
          display: block;
          font-size: 32rem;
          line-height: 1.4375em;
          font-weight: 900; }
      #intro .inner .intro_txt {
        font-size: 16rem;
        line-height: 2em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 226rem; }
        #intro .inner .intro_txt span {
          display: inline-block;
          background: url("../img/bootcamp2026/intro_txt_line.png") no-repeat center bottom;
          background-size: 100% 19rem; }

  #theme {
    padding-top: 52rem;
    margin-top: -52rem; }
    #theme .bg {
      background: #1F2922; }
    #theme .inner {
      width: 343rem;
      margin: 0 auto;
      padding: 60rem 0 40rem; }
      #theme .inner .theme_ttl {
        margin-bottom: 22rem; }
        #theme .inner .theme_ttl h2 {
          width: 283rem;
          margin: 0 auto; }
        #theme .inner .theme_ttl .ja {
          font-size: 24rem;
          line-height: 1.45em;
          font-weight: 900;
          color: #A1DC20;
          text-align: center; }
          #theme .inner .theme_ttl .ja span {
            display: inline-block;
            font-size: 30rem;
            line-height: 1.43em;
            color: #fff; }
      #theme .inner .theme_txt {
        font-size: 15rem;
        line-height: 1.8em;
        font-weight: bold;
        color: #fff;
        text-align: center;
        margin: 24rem 0 36rem; }

  #try {
    padding-top: 52rem;
    margin-top: -52rem; }
    #try .bg {
      background: url("../img/bootcamp2026/try_bg.png") no-repeat center bottom #98CF21;
      background-size: 100% auto; }
    #try .inner {
      width: 343rem;
      margin: 0 auto;
      padding: 64rem 0 52rem; }
      #try .inner h2 {
        font-size: 14rem;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 35rem; }
        #try .inner h2 span {
          display: inline-block;
          font-size: 40rem;
          line-height: 1;
          font-weight: 400;
          color: #fff; }
      #try .inner .try_boxes {
        margin-bottom: 28rem; }
        #try .inner .try_boxes .try_box {
          position: relative; }
          #try .inner .try_boxes .try_box .try_box_chara {
            position: absolute; }
          #try .inner .try_boxes .try_box .try_box_ttl {
            position: relative;
            margin-bottom: 5rem;
            position: relative;
            z-index: 2; }
            #try .inner .try_boxes .try_box .try_box_ttl::before {
              position: absolute;
              content: "";
              width: 100%;
              height: 1rem;
              left: 0;
              bottom: 0;
              background: #000; }
            #try .inner .try_boxes .try_box .try_box_ttl .num {
              width: 37rem;
              position: absolute;
              top: -11rem;
              left: 10rem; }
            #try .inner .try_boxes .try_box .try_box_ttl h3 {
              display: inline-block;
              font-size: 24rem;
              line-height: 1.458em;
              font-weight: 900;
              color: #fff;
              background: #000;
              padding: 3rem 15rem 5rem 51rem;
              border-top-right-radius: 20rem; }
          #try .inner .try_boxes .try_box .try_box_img {
            position: relative;
            z-index: 2; }
          #try .inner .try_boxes .try_box .try_box_txt {
            font-size: 14rem;
            line-height: 1.8em;
            font-weight: bold;
            color: #fff;
            margin-top: 8rem; }
          #try .inner .try_boxes .try_box:nth-child(1) .try_box_chara {
            width: 79rem;
            top: -93rem;
            right: 0;
            z-index: 3; }
          #try .inner .try_boxes .try_box:nth-child(2) {
            margin: 54rem 0 68rem; }
            #try .inner .try_boxes .try_box:nth-child(2) .try_box_chara {
              width: 77rem;
              top: -39rem;
              left: 4rem;
              z-index: 1; }
            #try .inner .try_boxes .try_box:nth-child(2) .try_box_ttl {
              text-align: right; }
              #try .inner .try_boxes .try_box:nth-child(2) .try_box_ttl .num {
                left: 95rem; }
          #try .inner .try_boxes .try_box:nth-child(3) .try_box_chara {
            width: 67rem;
            top: -35rem;
            right: -7rem;
            z-index: 1; }

  #timetable {
    padding-top: 52rem;
    margin-top: -52rem; }
    #timetable .bg {
      background: url("../img/bootcamp2026/timetable_bg.png") no-repeat center top #EDFCFB;
      background-size: 100% auto; }
    #timetable .inner {
      width: 353rem;
      margin: 0 auto;
      padding: 64rem 0 84rem; }
      #timetable .inner h2 {
        font-size: 14rem;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        color: #8FC31F;
        text-align: center;
        margin-bottom: 35rem; }
        #timetable .inner h2 span {
          display: inline-block;
          font-size: 40rem;
          line-height: 1;
          font-weight: 400;
          color: #000; }
      #timetable .inner .timetable_boxes .timetable_box {
        position: relative; }
        #timetable .inner .timetable_boxes .timetable_box:nth-child(n+2) {
          margin-top: 41rem; }
        #timetable .inner .timetable_boxes .timetable_box::before {
          position: absolute;
          content: "";
          width: 345rem;
          height: calc( 100% - 6rem );
          bottom: -10rem;
          right: 0;
          border-radius: 10rem;
          background: #76A316; }
        #timetable .inner .timetable_boxes .timetable_box .timetable_box_in {
          width: 343rem;
          border-radius: 10rem;
          overflow: hidden;
          position: relative;
          z-index: 2; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num {
            font-size: 16rem;
            letter-spacing: 0.2em;
            line-height: 38rem;
            color: #fff;
            text-align: center;
            padding: 10rem 0;
            background: #393C32;
            position: relative; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num span {
              display: inline-block;
              font-size: 20rem; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .num::before {
              position: absolute;
              content: "";
              width: 35rem;
              height: 31rem;
              left: 68rem;
              top: 14rem;
              transform: rotate(-12.74deg);
              background: url("../img/bootcamp2026/timetable_box_icon.png") no-repeat center;
              background-size: contain; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_img {
            line-height: 0; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_bg {
            box-sizing: border-box;
            padding: 22rem 14rem 18rem;
            border: solid 2rem #000;
            border-radius: 0 0 10rem 10rem;
            background: url("../img/bootcamp2026/timetable_box_txtbg.png") no-repeat center;
            background-size: cover; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .timetable_box_txt {
            font-size: 14rem;
            line-height: 1.8em;
            font-weight: bold;
            margin-bottom: 13rem; }
          #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .apply_btn {
            width: 286rem; }
            #timetable .inner .timetable_boxes .timetable_box .timetable_box_in .apply_btn a {
              font-size: 15rem;
              padding: 22rem 0 23rem 42rem; }
      #timetable .inner .cs {
        font-size: 30rem;
        letter-spacing: 0.1em;
        line-height: 2em;
        text-align: center;
        margin-top: 57rem; }

  #speaker {
    padding-top: 52rem;
    margin-top: -52rem; }
    #speaker .bg {
      background: #1F2922; }
    #speaker .inner {
      width: 343rem;
      margin: 0 auto;
      padding: 64rem 0; }
      #speaker .inner h2 {
        font-size: 14rem;
        letter-spacing: 0.1em;
        line-height: 2em;
        font-weight: bold;
        color: #8FC31F;
        text-align: center;
        margin-bottom: 45rem;
        position: relative; }
        #speaker .inner h2::before {
          position: absolute;
          content: "";
          width: 64rem;
          height: 37rem;
          top: 22rem;
          right: 17rem;
          transform: rotate(-12.74deg);
          background: url("../img/bootcamp2026/speaker_icon.png") no-repeat;
          background-size: contain; }
        #speaker .inner h2 span {
          display: inline-block;
          font-size: 40rem;
          line-height: 1;
          font-weight: 400;
          color: #fff; }
      #speaker .inner .speaker_boxes {
        width: 335rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #speaker .inner .speaker_boxes .speaker_box {
          width: 160rem;
          min-height: 227rem;
          position: relative;
          background: #fff;
          cursor: pointer;
          transition: 0.3s; }
          #speaker .inner .speaker_boxes .speaker_box:hover {
            opacity: 0.8; }
          #speaker .inner .speaker_boxes .speaker_box:nth-child(n+3) {
            margin-top: 23rem; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_bg {
            width: calc( 100% + 8rem );
            height: calc( 100% + 9rem );
            background: url("../img/bootcamp2026/speaker_box_bg.png") no-repeat center;
            background-size: 100% 100%;
            border-radius: 4rem;
            position: absolute;
            top: -4rem;
            left: -4rem;
            z-index: 1; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_in {
            width: 100%;
            height: 100%;
            background: #fff;
            position: relative;
            z-index: 2; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_icon {
            color: #fff;
            width: 20rem;
            position: absolute;
            top: 5rem;
            right: 6rem; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_img {
            width: 100%;
            line-height: 0; }
          #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea {
            width: 100%;
            box-sizing: border-box;
            padding: 10rem; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .time {
              display: inline-block;
              padding: 0 10rem;
              font-size: 14rem;
              letter-spacing: 0.03em;
              line-height: 1.5em;
              font-weight: bold;
              color: #fff;
              border-radius: 50rem;
              background: #8FC31F;
              margin-bottom: 2rem; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .name {
              font-size: 16rem;
              letter-spacing: 0.03em;
              line-height: 1.5em;
              font-weight: bold; }
              #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .name span {
                display: inline-block;
                font-size: 14rem;
                font-weight: 400;
                margin-left: 0.8em; }
            #speaker .inner .speaker_boxes .speaker_box .speaker_box_txtarea .job_ttl {
              font-size: 12rem;
              line-height: 1.5em;
              min-height: 36rem; }
      #speaker .inner .cs {
        font-size: 30rem;
        letter-spacing: 0.1em;
        line-height: 2em;
        text-align: center;
        color: #fff;
        margin: 54rem 0 68rem; }
      #speaker .inner .apply_btn {
        margin-top: 54rem; }

  .modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 30; }
    .modal .modal-bg {
      position: absolute;
      height: 100vh;
      width: 100%;
      background: rgba(0, 0, 0, 0.9);
      z-index: 32; }
    .modal .modal-content {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center; }
      .modal .modal-content .modal_inner {
        width: 343rem;
        max-height: 95vh;
        position: relative;
        box-sizing: border-box;
        border-radius: 10rem;
        border: solid 3rem #8FC31F;
        background: url("../img/bootcamp2026/modal_cont_bg.png") no-repeat center;
        background-size: cover;
        overflow: hidden;
        position: relative;
        z-index: 33; }
        .modal .modal-content .modal_inner .time {
          display: inline-block;
          font-size: 18rem;
          letter-spacing: 0.03em;
          line-height: 1.5em;
          font-weight: bold;
          color: #fff;
          padding: 3rem 18rem 4rem;
          background: #8FC31F;
          margin-bottom: 16rem; }
        .modal .modal-content .modal_inner .scroll {
          width: 316rem;
          margin: 0 auto;
          height: 100%;
          overflow: scroll;
          box-sizing: border-box;
          padding-bottom: 30rem; }
          .modal .modal-content .modal_inner .scroll .ttl {
            font-size: 18rem;
            letter-spacing: 0.03em;
            line-height: 1.5em;
            font-weight: bold;
            margin-bottom: 13rem; }
          .modal .modal-content .modal_inner .scroll .modal_box {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            margin-bottom: 16rem; }
            .modal .modal-content .modal_inner .scroll .modal_box .modal_box_img {
              width: 110rem;
              margin-right: 30rem; }
            .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right {
              flex: 1; }
              .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .name {
                font-size: 16rem;
                letter-spacing: 0.03em;
                line-height: 1.5em;
                font-weight: bold;
                margin-bottom: 2rem; }
                .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .name span {
                  display: inline-block;
                  font-size: 14rem;
                  font-weight: 400;
                  margin-left: 0.8em; }
              .modal .modal-content .modal_inner .scroll .modal_box .modal_box_right .job_ttl {
                font-size: 12rem;
                line-height: 1.5em; }
          .modal .modal-content .modal_inner .scroll .txt {
            font-size: 14rem;
            line-height: 1.5em;
            padding-top: 15rem;
            border-top: dashed 1rem #9FA09F;
            margin-bottom: 40rem; }
          .modal .modal-content .modal_inner .scroll .apply_btn {
            width: 100%; }
            .modal .modal-content .modal_inner .scroll .apply_btn a {
              font-size: 16rem;
              box-sizing: border-box;
              padding: 28rem 0 28rem 46rem;
              border-radius: 45rem;
              filter: drop-shadow(0 3rem 9rem rgba(61, 91, 97, 0.2));
              transition: 0.3s; }
              .modal .modal-content .modal_inner .scroll .apply_btn a:hover {
                filter: brightness(1.1); }
        .modal .modal-content .modal_inner .close_btn {
          width: 30rem;
          position: absolute;
          top: 8rem;
          right: 8rem;
          cursor: pointer; }

  #exhibition .bg {
    background: #F8F8F8; }
  #exhibition .inner {
    width: 343rem;
    margin: 0 auto;
    padding: 64rem 0; }
    #exhibition .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 20rem; }
      #exhibition .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #exhibition .inner .exhibition_txt {
      font-size: 18rem;
      line-height: 1.8em;
      font-weight: bold;
      text-align: center;
      margin-bottom: 40rem; }
    #exhibition .inner .exhibition_boxes {
      width: 335rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #exhibition .inner .exhibition_boxes .speaker_box {
        width: 160rem;
        min-height: 204rem;
        position: relative;
        background: #fff; }
        #exhibition .inner .exhibition_boxes .speaker_box:nth-child(n+3) {
          margin-top: 23rem; }
        #exhibition .inner .exhibition_boxes .speaker_box:nth-child(n+5) {
          display: none; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_bg {
          width: calc( 100% + 8rem );
          height: calc( 100% + 9rem );
          background: url("../img/bootcamp2026/speaker_box_bg_02.png") no-repeat center;
          background-size: 100% 100%;
          border-radius: 4rem;
          position: absolute;
          top: -4rem;
          left: -4rem;
          z-index: 1; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_in {
          width: 100%;
          height: 100%;
          background: #fff;
          position: relative;
          z-index: 2; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_img {
          width: 100%;
          line-height: 0; }
        #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea {
          width: 100%;
          box-sizing: border-box;
          padding: 10rem; }
          #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .name {
            font-size: 16rem;
            letter-spacing: 0.03em;
            line-height: 1.5em;
            font-weight: bold;
            margin-bottom: 2rem; }
            #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .name span {
              display: inline-block;
              font-size: 14rem;
              font-weight: 400;
              margin-left: 0.8em; }
          #exhibition .inner .exhibition_boxes .speaker_box .speaker_box_txtarea .job_ttl {
            font-size: 12rem;
            line-height: 1.5em;
            min-height: 36rem; }
    #exhibition .inner .apply_btn {
      width: 252rem;
      margin: 45rem auto 0; }
      #exhibition .inner .apply_btn a {
        font-size: 14rem;
        box-sizing: border-box;
        padding: 18rem 0 19rem 50rem;
        border-radius: 45rem;
        filter: drop-shadow(0 3rem 9rem rgba(61, 91, 97, 0.2));
        transition: 0.3s; }
        #exhibition .inner .apply_btn a:hover {
          filter: brightness(1.1); }
    #exhibition .inner .cs {
      font-size: 30rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      text-align: center;
      color: #8FC31F;
      margin: 60rem 0 64rem; }

  #banner .bg {
    background: #EDFCFB; }
  #banner .inner {
    width: 343rem;
    margin: 0 auto;
    padding: 38rem 0; }
    #banner .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 30rem; }
      #banner .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #banner .inner .banner_img {
      width: 100%; }
      #banner .inner .banner_img a {
        display: block;
        width: 100%;
        transition: 0.3s; }
        #banner .inner .banner_img a:hover {
          opacity: 0.8; }
    #banner .inner .banner_txt {
      font-size: 15rem;
      line-height: 1.8em;
      font-weight: bold;
      color: #000;
      text-align: center;
      margin: 24rem 0 36rem; }

  #overview .bg {
    background: #1F2922; }
  #overview .inner {
    width: 343rem;
    margin: 0 auto;
    padding: 64rem 0; }
    #overview .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-bottom: 53rem; }
      #overview .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #8FC31F; }
    #overview .inner .overview_box {
      padding: 40rem 0;
      border-radius: 10rem;
      background: #fff;
      margin-bottom: 40rem; }
      #overview .inner .overview_box table {
        width: 295rem;
        margin: 0 auto; }
        #overview .inner .overview_box table tr th {
          display: block;
          width: 100%;
          font-size: 14rem;
          letter-spacing: 0.05em;
          line-height: 1.428em;
          font-weight: bold;
          text-align: left;
          padding-bottom: 7rem;
          border-bottom: solid 1rem #8FC31F; }
        #overview .inner .overview_box table tr td {
          display: block;
          width: 100%;
          font-size: 14rem;
          letter-spacing: 0.05em;
          line-height: 1.428em;
          font-weight: 500;
          padding: 7rem 0 30rem; }
          #overview .inner .overview_box table tr td .map {
            width: 100%;
            height: 154rem;
            position: relative;
            margin-top: 8rem; }
            #overview .inner .overview_box table tr td .map iframe {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0; }
        #overview .inner .overview_box table tr:last-child td {
          padding-bottom: 0; }

  #sponsor .bg {
    background: #F8F8F8; }
  #sponsor .inner {
    width: 343rem;
    margin: 0 auto;
    padding: 46rem 0 64rem; }
    #sponsor .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 59rem; }
      #sponsor .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #sponsor .inner ul {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      #sponsor .inner ul li {
        width: 109rem;
        margin-right: 8rem; }
        #sponsor .inner ul li:nth-child(3n) {
          margin-right: 0; }
        #sponsor .inner ul li:nth-child(n+4) {
          margin-top: 8rem; }

  #about {
    padding-top: 52rem;
    margin-top: -52rem; }
    #about .bg {
      background: url("../img/bootcamp2026/about_bg.png") no-repeat center top;
      background-size: cover; }
    #about .inner {
      padding: 62rem 0 42rem; }
      #about .inner .about_head {
        width: 350rem;
        margin: 0 auto 58rem;
        padding: 10rem 0 24rem;
        text-align: center;
        border-radius: 20rem;
        background: #fff;
        box-shadow: 0 4rem 10rem rgba(221, 227, 208, 0.4); }
        #about .inner .about_head .about_ttl {
          margin-bottom: 10rem; }
          #about .inner .about_head .about_ttl h2 {
            display: inline-block;
            font-size: 34rem;
            letter-spacing: 0.04em;
            line-height: 1.25em;
            font-weight: bold;
            /* ▼ ここからグラデーションの指定を追加 ▼ */
            background: linear-gradient(45deg, #00AEBB 0%, #00AEBB 20%, #A8CD52 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            text-fill-color: transparent;
            /* ▲ ここまで ▲ */ }
            #about .inner .about_head .about_ttl h2 .fs26 {
              display: inline-block;
              font-size: 26rem; }
            #about .inner .about_head .about_ttl h2 .fs24 {
              display: inline-block;
              font-size: 24rem; }
        #about .inner .about_head .about_txt {
          font-size: 16rem;
          line-height: 1.7em;
          font-weight: bold; }
      #about .inner .about_boxes {
        margin-bottom: 20rem; }
        #about .inner .about_boxes .about_box {
          position: relative; }
          #about .inner .about_boxes .about_box h3 {
            letter-spacing: 0.06em;
            line-height: 1;
            font-weight: bold;
            margin-bottom: 16rem;
            position: relative;
            z-index: 2; }
            #about .inner .about_boxes .about_box h3 span {
              display: inline-block; }
              #about .inner .about_boxes .about_box h3 span.small {
                font-size: 38rem;
                padding: 11rem 23rem;
                margin-bottom: 16rem; }
              #about .inner .about_boxes .about_box h3 span.big {
                font-size: 46rem;
                padding: 16rem 27rem; }
              #about .inner .about_boxes .about_box h3 span.blue {
                background: #00FFFF; }
              #about .inner .about_boxes .about_box h3 span.yellow {
                background: #FFFF00; }
              #about .inner .about_boxes .about_box h3 span.pink {
                background: #FF9397; }
          #about .inner .about_boxes .about_box .about_box_chara {
            position: absolute;
            z-index: 3; }
          #about .inner .about_boxes .about_box .about_box_txt {
            font-size: 16rem;
            letter-spacing: 0.04em;
            line-height: 1.5em;
            font-weight: bold;
            text-align: center;
            padding: 12rem 0 13rem;
            background: #fff;
            margin-bottom: 16rem; }
          #about .inner .about_boxes .about_box .about_box_img {
            line-height: 0; }
          #about .inner .about_boxes .about_box.box01 .about_box_chara {
            width: 147rem;
            top: 0;
            right: 0;
            z-index: 1; }
          #about .inner .about_boxes .about_box.box02 {
            margin: 70rem 0 78rem; }
            #about .inner .about_boxes .about_box.box02 h3 {
              text-align: right; }
            #about .inner .about_boxes .about_box.box02 .about_box_chara {
              width: 150rem;
              top: 8rem;
              left: 21rem; }
            #about .inner .about_boxes .about_box.box02 .about_box_img img {
              width: 100%;
              filter: drop-shadow(2rem 2rem 10rem rgba(0, 0, 0, 0.4)); }
          #about .inner .about_boxes .about_box.box03 h3 span.small {
            padding: 10rem 20rem; }
          #about .inner .about_boxes .about_box.box03 h3 span.big {
            padding: 14rem 25rem; }
          #about .inner .about_boxes .about_box.box03 .about_box_chara {
            width: 150rem;
            top: -10rem;
            right: 19rem; }
      #about .inner .about_btn {
        width: 343rem;
        margin: 0 auto; }
        #about .inner .about_btn a {
          display: block;
          width: 100%;
          font-size: 14rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #00AA00;
          box-sizing: border-box;
          padding: 18rem 0 19rem 48rem;
          border-radius: 60rem;
          border: solid 1rem #00AA00;
          background: url("../img/bootcamp2026/about_btn_icon.png") no-repeat right 36rem top 14rem #fff;
          background-size: 28rem;
          box-shadow: 0 3rem 9rem rgba(61, 91, 97, 0.2);
          transition: 0.3s; }
          #about .inner .about_btn a:hover {
            filter: brightness(1.2); }
      #about .inner .about_app {
        width: 316rem;
        margin: 20rem auto 1rem;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #about .inner .about_app .app_btn {
          width: 139rem;
          line-height: 0; }
          #about .inner .about_app .app_btn a {
            display: block;
            width: 100%;
            line-height: 0;
            transition: 0.3s; }
            #about .inner .about_app .app_btn a:hover {
              opacity: 0.8; }
          #about .inner .about_app .app_btn.google {
            width: 169rem; }
      #about .inner .causion {
        width: 308rem;
        margin: 0 auto; }
        #about .inner .causion li {
          font-size: 10rem;
          letter-spacing: 0.04em;
          line-height: 1.4em;
          font-weight: 500; }
          #about .inner .causion li:nth-child(n+2) {
            margin-top: 5rem; }

  #faq .bg {
    background: url("../img/bootcamp2026/faq_bg.png") no-repeat center top #EDFCFB;
    background-size: 100% auto; }
  #faq .inner {
    width: 341rem;
    margin: 0 auto;
    padding: 64rem 0; }
    #faq .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 48rem; }
      #faq .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #000; }
    #faq .inner .faq_boxes .faq_box {
      border-radius: 10rem;
      background: #fff;
      overflow: hidden; }
      #faq .inner .faq_boxes .faq_box:nth-child(n+2) {
        margin-top: 8rem; }
      #faq .inner .faq_boxes .faq_box .q_box {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        box-sizing: border-box;
        padding: 16rem 24rem;
        background: #fff;
        position: relative;
        cursor: pointer;
        transition: 0.3s; }
        #faq .inner .faq_boxes .faq_box .q_box:hover {
          filter: brightness(1.2); }
        #faq .inner .faq_boxes .faq_box .q_box::before {
          position: absolute;
          content: "";
          width: 16rem;
          height: 2rem;
          top: 50%;
          right: 24rem;
          transform: translateY(-50%);
          background: #999999; }
        #faq .inner .faq_boxes .faq_box .q_box::after {
          position: absolute;
          content: "";
          width: 16rem;
          height: 2rem;
          top: 50%;
          right: 24rem;
          transform: translateY(-50%) rotate(90deg);
          background: #999999;
          transition: 0.3s; }
        #faq .inner .faq_boxes .faq_box .q_box .q_icon {
          width: 36rem;
          height: 36rem;
          font-size: 16rem;
          line-height: 1.4em;
          color: #fff;
          text-align: center;
          box-sizing: border-box;
          padding: 7rem 0 8rem;
          border-radius: 100%;
          background: #000;
          margin-right: 24rem; }
        #faq .inner .faq_boxes .faq_box .q_box .q_txt {
          width: 193rem;
          font-size: 16rem;
          line-height: 1.5em;
          font-weight: bold;
          color: #77AE00; }
        #faq .inner .faq_boxes .faq_box .q_box.open {
          background: #77AE00; }
          #faq .inner .faq_boxes .faq_box .q_box.open::before {
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open::after {
            transform: translateY(-50%) rotate(0);
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open .q_icon {
            color: #77AE00;
            background: #fff; }
          #faq .inner .faq_boxes .faq_box .q_box.open .q_txt {
            color: #fff; }
      #faq .inner .faq_boxes .faq_box .a_box {
        display: none;
        box-sizing: border-box;
        padding: 16rem 24rem; }
        #faq .inner .faq_boxes .faq_box .a_box .a_box_in {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          #faq .inner .faq_boxes .faq_box .a_box .a_box_in .a_icon {
            width: 36rem;
            height: 36rem;
            font-size: 16rem;
            line-height: 1.4em;
            color: #fff;
            text-align: center;
            box-sizing: border-box;
            padding: 7rem 0 8rem;
            border-radius: 100%;
            background: #77AE00;
            margin-right: 24rem; }
          #faq .inner .faq_boxes .faq_box .a_box .a_box_in .a_txt {
            flex: 1;
            font-size: 14rem;
            letter-spacing: 0.04em;
            line-height: 1.8em;
            font-weight: 500; }

  #contact .bg {
    background: url("../img/bootcamp2026/contact_bg.png") no-repeat center;
    background-size: cover; }
  #contact .inner {
    width: 343rem;
    margin: 0 auto;
    padding: 60rem 0; }
    #contact .inner h2 {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 2em;
      font-weight: bold;
      color: #8FC31F;
      text-align: center;
      margin-bottom: 18rem; }
      #contact .inner h2 span {
        display: inline-block;
        font-size: 40rem;
        line-height: 1;
        font-weight: 400;
        color: #000;
        padding: 1rem 8rem 2rem;
        background: #8FC31F; }
    #contact .inner .contact_txt {
      font-size: 14rem;
      letter-spacing: 0.1em;
      line-height: 1.8em;
      font-weight: bold;
      color: #fff;
      text-align: center;
      margin-bottom: 32rem; }
    #contact .inner .contact_btn {
      width: 100%; }
      #contact .inner .contact_btn a {
        display: block;
        width: 100%;
        font-size: 14rem;
        letter-spacing: 0.05em;
        line-height: 1.5em;
        font-weight: bold;
        color: #00AA00;
        text-align: center;
        padding: 19rem 0 20rem;
        background: url("../img/bootcamp2026/contact_btn_bg.png") no-repeat center;
        background-size: 100% 100%;
        transition: 0.3s; }
        #contact .inner .contact_btn a:hover {
          filter: brightness(1.1); }

  footer {
    background: #8FC31F; }
    footer .inner {
      width: 317rem;
      margin: 0 auto;
      padding: 40rem 0; }
      footer .inner dl {
        font-size: 13rem;
        letter-spacing: 0.03em;
        line-height: 1.34em;
        margin-bottom: 36rem; }
        footer .inner dl dt {
          font-weight: bold;
          margin-bottom: 20rem; }
        footer .inner dl dd:nth-child(n+2) {
          margin-top: 15rem; }
        footer .inner dl dd a {
          color: #000; }
          footer .inner dl dd a:hover {
            text-decoration: underline; }
      footer .inner .sns {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        margin-bottom: 12rem; }
        footer .inner .sns .sns_txt {
          width: 100%;
          font-size: 13rem;
          letter-spacing: 0.03em;
          line-height: 1.34em;
          font-weight: bold;
          color: #545454;
          text-align: center;
          margin-bottom: 12rem; }
        footer .inner .sns a {
          display: block;
          width: 51rem;
          margin: 0 4rem;
          transition: 0.3s; }
          footer .inner .sns a:hover {
            filter: brightness(1.1); }
      footer .inner .footer_btn {
        margin-bottom: 36rem; }
        footer .inner .footer_btn .btn {
          width: 100%; }
          footer .inner .footer_btn .btn a {
            display: block;
            width: 100%;
            font-size: 13rem;
            letter-spacing: 0.03em;
            line-height: 1.34em;
            font-weight: bold;
            padding: 14rem 0 15rem;
            text-align: center;
            transition: 0.3s; }
            footer .inner .footer_btn .btn a:hover {
              filter: brightness(1.1); }
            footer .inner .footer_btn .btn a.signin {
              color: #fff;
              background: #F0670B; }
            footer .inner .footer_btn .btn a.login {
              color: #8FC31F;
              background: #fff;
              margin-top: 12rem; }
      footer .inner .footer_app {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 36rem;
        border-bottom: solid 1rem #E1E5E5; }
        footer .inner .footer_app .app_btn {
          width: 139rem; }
          footer .inner .footer_app .app_btn.google {
            width: 169rem; }
          footer .inner .footer_app .app_btn a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            footer .inner .footer_app .app_btn a:hover {
              opacity: 0.8; }
      footer .inner .footer_logo {
        width: 132rem;
        margin: 35rem auto 38rem; }
        footer .inner .footer_logo a {
          display: block;
          width: 100%; }
      footer .inner .copyright {
        font-size: 12rem;
        line-height: 1.25em;
        letter-spacing: 0.05em;
        color: #4E4E4E;
        text-align: center; } }

/*# sourceMappingURL=style_bootcamp2026.css.map */
