@charset "UTF-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html {
  -webkit-text-size-adjust: 100%; }

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, font, 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, p {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 100%; }

body {
  width: 100%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
  font-size: 13px; }

body,
table,
input, textarea, select, option {
  font: Arial, Helvetica, sans-serif;
  /*font-family: HiraKakuProN-W3;*/
  /*font-size: 85%;*/ }

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

:focus {
  outline: 0; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

em {
  font-weight: bold;
  font-style: normal; }

.clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0; }

/* ************************************************ */
/*                       共通                       */
/* ************************************************ */
header, footer, nav, section, article, main, aside, hgroup {
  display: block; }

html {
  font-size: 10px; }

body {
  background: url(../img/body_bg.png) left top repeat;
  font-family: 'Zen Kaku Gothic New', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: -0.03em; }
  body.is-scrollLock {
    overflow-y: hidden; }

#page img,
#page input {
  margin: 0;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
  vertical-align: top; }

@media (min-width: 751px) {
  .is-pc {
    display: block; }

  .is-sp {
    display: none; }

  br.is-pc {
    display: inline; } }
@media (max-width: 750px) {
  .is-pc {
    display: none; }

  .is-sp {
    display: block; }

  br.is-sp {
    display: inline; } }
/* ************************************************ */
/*                       モジュール                    */
/* ************************************************ */
.m-section {
  margin: 0 20px 60px; }
  .m-section-inner {
    margin: 0 auto 0;
    max-width: 900px;
    padding: 70px 100px;
    border-radius: 100px; }
  .m-section-title {
    margin-bottom: 1em;
    font-weight: 700;
    font-size: 3.6rem;
    letter-spacing: 0.05em; }
  .m-section-discList {
    margin-left: 20px; }
    .m-section-discList li {
      line-height: 1.6;
      list-style-type: disc;
      font-weight: 500;
      font-size: 2rem; }
      .m-section-discList li small {
        font-size: 1.6rem; }
  @media (max-width: 750px) {
    .m-section {
      margin: 0 0 8vw; }
      .m-section-inner {
        max-width: 76vw;
        padding: 6.13333vw 8vw 8vw;
        border-radius: 6.66667vw; }
      .m-section-title {
        font-size: 5.6vw; }
      .m-section-discList {
        margin-left: 2.66667vw; }
        .m-section-discList li {
          font-size: 3.46667vw; }
          .m-section-discList li small {
            font-size: 2.93333vw; } }

.m-btn {
  border-radius: 100px;
  display: block;
  width: 500px;
  height: 86px;
  line-height: 86px;
  color: #000;
  background-color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.03em;
  transition: background-color .3s; }
  .m-btn:hover {
    background-color: #e8a6bf; }
  @media (max-width: 750px) {
    .m-btn {
      font-size: 4vw;
      width: 100%;
      height: 10.66667vw;
      line-height: 10.66667vw; } }

.m-mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 10; }

/* ************************************************ */
/*                       コンテンツ                     */
/* ************************************************ */
.mv {
  padding: 0 20px 66px;
  background: url(../img/mv_bg_pc.png) left top no-repeat; }
  .mv-inner {
    margin: 0 auto 0;
    max-width: 900px;
    padding-top: 100px; }
  .mv h1 {
    margin-bottom: 48px; }
  .mv-company {
    margin-bottom: 48px;
    display: flex; }
    .mv-company li {
      margin-right: 21px;
      width: 301px; }
  .mv-summary {
    line-height: 1.6;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: -0.03em; }
  @media (min-width: 1300px) {
    .mv {
      background-size: 100%; } }
  @media (max-width: 750px) {
    .mv {
      padding: 0 0 7.73333vw;
      background-image: url(../img/mv_bg_sp.png);
      background-size: 100%; }
      .mv-inner {
        margin: 0 auto 0;
        max-width: 84vw;
        padding-top: 12.4vw; }
      .mv h1 {
        margin-bottom: 6.93333vw; }
      .mv-company {
        margin-bottom: 5.73333vw;
        justify-content: space-between; }
        .mv-company li {
          margin-right: 0;
          width: 40.66667vw; }
      .mv-summary {
        font-size: 3.46667vw;
        padding: 0 4vw;
        line-height: 1.53846;
        letter-spacing: 0; } }

.qualification-inner {
  background-color: #e68366; }

.assignment {
  color: #fff; }
  .assignment-inner {
    background-color: #4e934f; }
  .assignment-theme {
    margin-bottom: 34px; }
    .assignment-theme dl {
      margin-bottom: 46px; }
      .assignment-theme dl:last-child {
        margin-bottom: 0; }
      .assignment-theme dl dt {
        margin-bottom: .5em;
        line-height: 1.4;
        font-weight: 500;
        font-size: 3rem; }
      .assignment-theme dl dd p {
        margin-bottom: 1.5em;
        line-height: 1.6;
        font-size: 2rem; }
        .assignment-theme dl dd p:last-child {
          margin-bottom: 0; }
        .assignment-theme dl dd p a {
          color: #fff;
          text-decoration: underline; }
          .assignment-theme dl dd p a:hover {
            text-decoration: none; }
        .assignment-theme dl dd p em {
          text-decoration: underline;
          font-style: normal; }
  .assignment-bg {
    margin-bottom: 34px;
    padding: 18px;
    border: 2px solid #fff; }
    .assignment-bg h3 {
      margin-bottom: 0.5em;
      font-size: 2.4rem; }
    .assignment-bg dl {
      margin-bottom: 24px; }
      .assignment-bg dl:last-child {
        margin-bottom: 0; }
      .assignment-bg dl dt {
        margin-bottom: .2em;
        font-size: 2rem; }
      .assignment-bg dl dd {
        line-height: 1.625;
        font-size: 1.6rem; }
  @media (max-width: 750px) {
    .assignment-theme {
      margin-bottom: 4vw; }
      .assignment-theme dl {
        margin-bottom: 4vw; }
        .assignment-theme dl dt {
          font-size: 4.8vw; }
        .assignment-theme dl dd p {
          font-size: 3.46667vw; }
    .assignment-bg {
      margin-bottom: 4vw;
      padding: 2.66667vw; }
      .assignment-bg h3 {
        font-size: 4vw; }
      .assignment-bg dl {
        margin-bottom: 4vw; }
        .assignment-bg dl dt {
          font-size: 3.46667vw; }
        .assignment-bg dl dd {
          font-size: 2.66667vw; } }

.material {
  color: #fff; }
  .material-inner {
    background-color: #6385a2; }
  .material .m-section-discList {
    margin-bottom: 44px; }
  .material .material-note {
    padding-top: 1em;
    font-size: 1.6rem;
    letter-spacing: 0.05em; }
  @media (max-width: 750px) {
    .material .m-section-discList {
      margin-bottom: 6.66667vw; }
    .material .material-note {
      font-size: 2.66667vw; } }

.member-inner {
  background-color: #ddc9eb; }
.member-articles {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .member-articles::after {
    width: 27.77778%;
    height: 0;
    visibility: hidden;
    content: ""; }
  .member-articles-article {
    margin-bottom: 40px;
    padding-bottom: 56px;
    position: relative;
    width: 27.77778%; }
    .member-articles-article:first-child {
      margin-right: 63.88889%; }
    .member-articles-article.is-pcLine4 .member-articles-article-job {
      min-height: 90px; }
    .member-articles-article-image {
      margin-bottom: 12px;
      display: block;
      text-align: center; }
    .member-articles-article-job {
      margin: 0 0 5px -25%;
      width: 150%;
      line-height: 1.375;
      font-weight: 500;
      font-size: 1.6rem;
      text-align: center; }
    .member-articles-article-name {
      line-height: 1;
      font-weight: 700;
      font-size: 4.2rem;
      text-align: center;
      letter-spacing: 0.05em; }
    .member-articles-article-profile {
      margin-left: -80px;
      border-radius: 100px;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 160px;
      height: 40px;
      line-height: 40px;
      background-color: #fff;
      font-family: "Montserrat";
      font-weight: 500;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      text-align: center;
      cursor: pointer; }
.member-modal {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 11; }
  .member-modal-inner {
    padding: 82px 100px 74px;
    border-radius: 100px;
    display: flex;
    justify-content: space-between;
    max-width: 900px;
    background-color: #fff; }
  .member-modal-image {
    display: block;
    width: 27.77778%; }
  .member-modal-data {
    width: 68%; }
    .member-modal-data-job {
      margin-bottom: 15px;
      line-height: 1.375;
      font-weight: 500;
      font-size: 1.6rem; }
    .member-modal-data-name {
      margin-bottom: 18px;
      line-height: 1;
      font-weight: 700;
      font-size: 4.2rem; }
    .member-modal-data-desc {
      line-height: 1.5;
      font-weight: 500;
      font-size: 1.6rem; }
@media (max-width: 1150px) {
  .member-modal-inner {
    padding-right: 10%;
    padding-left: 10%;
    max-width: 60%; } }
@media (max-width: 1100px) {
  .member-articles-article {
    width: 44.44444%; }
    .member-articles-article:first-child {
      margin-right: 50%; }
    .member-articles-article-job {
      font-size: 1.5rem; }
    .member-articles-article-name {
      font-size: 3.6rem; } }
@media (max-width: 750px) {
  .member-articles {
    display: block; }
    .member-articles-article {
      margin-bottom: 8vw;
      padding-bottom: 12vw;
      width: auto; }
      .member-articles-article:first-child {
        margin-right: 0; }
      .member-articles-article.is-pcLine4 .member-articles-article-job {
        min-height: 1px; }
      .member-articles-article-image {
        margin-bottom: 2.66667vw; }
        .member-articles-article-image img {
          width: 100%; }
      .member-articles-article-job {
        font-size: 3.46667vw;
        margin: 0 0 2.66667vw;
        width: auto; }
      .member-articles-article-name {
        font-size: 10.66667vw; }
      .member-articles-article-profile {
        font-size: 4.8vw;
        margin-left: -20vw;
        left: 50%;
        width: 40vw;
        height: 8vw;
        line-height: 8vw; }
  .member-modal-inner {
    padding: 10.66667vw 6.66667vw;
    border-radius: 13.33333vw;
    display: block;
    max-width: 76vw; }
  .member-modal-image {
    margin: 0 auto 6.66667vw;
    width: 40vw;
    text-align: center; }
  .member-modal-data {
    width: auto; }
    .member-modal-data-job {
      font-size: 3.2vw;
      margin-bottom: 2.66667vw; }
    .member-modal-data-name {
      font-size: 8vw;
      margin-bottom: 2.66667vw; }
    .member-modal-data-desc {
      font-size: 3.2vw; } }

.criterion {
  color: #fff; }
  .criterion-inner {
    background-color: #69a8a0; }
  .criterion-point {
    margin-bottom: 28px; }
    .criterion-point dl {
      margin-bottom: 14px; }
      .criterion-point dl:last-child {
        margin-bottom: 0; }
      .criterion-point dl dt {
        margin-bottom: .2em;
        line-height: 1.61538;
        font-weight: 700;
        font-size: 2.6rem; }
      .criterion-point dl dd {
        font-weight: 500;
        font-size: 1.8rem; }
  .criterion-note {
    font-weight: 500;
    font-size: 1.8rem; }
    .criterion-note ul {
      margin-left: 17px; }
      .criterion-note ul li {
        list-style-type: disc; }
  @media (max-width: 750px) {
    .criterion-point {
      margin-bottom: 4vw; }
      .criterion-point dl {
        margin-bottom: 2.66667vw; }
        .criterion-point dl dt {
          font-size: 4.53333vw; }
        .criterion-point dl dd {
          font-size: 3.46667vw; }
    .criterion-note {
      font-size: 3.46667vw; }
      .criterion-note ul {
        margin-left: 3.46667vw; } }

.prize {
  color: #fff; }
  .prize-inner {
    background-color: #e8a6bf; }
  .prize dl {
    margin-bottom: 32px;
    display: flex;
    align-items: center; }
    .prize dl:last-child dt {
      letter-spacing: -0.1em; }
    .prize dl dt {
      padding-right: 2.22222%;
      width: 31.77778%;
      font-weight: 700;
      font-size: 4.2rem; }
    .prize dl dd {
      flex: 1;
      font-weight: 500;
      font-size: 2rem; }
      .prize dl dd small {
        font-size: 1.2rem; }
  @media (max-width: 1100px) {
    .prize dl {
      display: block; }
      .prize dl dt {
        padding-right: 0;
        width: auto; } }
  @media (max-width: 750px) {
    .prize dl {
      margin-bottom: 4vw; }
      .prize dl dt {
        font-size: 6.66667vw; }
      .prize dl dd {
        font-size: 3.46667vw; }
        .prize dl dd small {
          font-size: 2.66667vw; } }

.fee-inner {
  background-color: #f4be2c; }
.fee dl {
  margin-bottom: 32px;
  display: flex;
  align-items: flex-end;
  line-height: 1; }
  .fee dl:last-child {
    margin-bottom: 0; }
  .fee dl dt {
    margin-right: 1.11111%;
    width: 39.55556%;
    font-weight: 500;
    font-size: 2rem; }
  .fee dl dd {
    flex: 1;
    font-weight: 500;
    font-size: 1.6rem; }
    .fee dl dd em {
      margin-right: .3em;
      font-weight: 700;
      font-size: 4.2rem; }
@media (max-width: 1100px) {
  .fee dl {
    display: block; }
    .fee dl dt {
      margin: 0 0 10px;
      width: auto; } }
@media (max-width: 750px) {
  .fee dl {
    margin-bottom: 4vw; }
    .fee dl dt {
      font-size: 3.46667vw;
      margin-bottom: 1.33333vw; }
    .fee dl dd {
      font-size: 2.53333vw; }
      .fee dl dd em {
        font-size: 6.13333vw; } }

.schedule-inner {
  background-color: #e68366; }
.schedule dl {
  margin-bottom: 16px;
  padding: 22px 0;
  border: 2px solid #000;
  border-radius: 10px;
  display: flex;
  align-items: center;
  line-height: 1;
  background-color: #fff; }
  .schedule dl dt {
    margin-right: 1.11607%;
    padding-left: 2.67857%;
    width: 44.64286%;
    font-weight: 500;
    font-size: 2.6rem; }
    .schedule dl dt small {
      font-size: 1.8rem; }
  .schedule dl dd {
    flex: 1;
    font-weight: 700;
    font-size: 3.6rem; }
    .schedule dl dd small {
      font-size: 2.6rem; }
  .schedule dl.finalist, .schedule dl.presentation {
    color: #fff; }
  .schedule dl.finalist {
    background-color: #6385a2; }
  .schedule dl.presentation {
    background-color: #4e934f; }
@media (max-width: 1100px) {
  .schedule dl dt {
    font-size: 2.2rem; }
    .schedule dl dt small {
      font-size: 1.4rem; }
  .schedule dl dd {
    font-size: 2.6rem; }
    .schedule dl dd small {
      font-size: 2rem; } }
@media (max-width: 750px) {
  .schedule dl {
    margin-bottom: 2.66667vw;
    padding: 4vw;
    display: block; }
    .schedule dl dt {
      font-size: 4.53333vw;
      margin: 0 0 2.66667vw;
      padding-left: 0;
      width: auto; }
      .schedule dl dt small {
        font-size: 3.2vw; }
    .schedule dl dd {
      font-size: 6.66667vw; }
      .schedule dl dd small {
        font-size: 4.26667vw; } }

.terms {
  color: #fff; }
  .terms-inner {
    background-color: #4e934f; }
  .terms section {
    margin-bottom: 26px; }
    .terms section:last-child {
      margin-bottom: 0; }
    .terms section h3 {
      margin-bottom: 0.2em;
      font-weight: 500;
      font-size: 2.6rem; }
    .terms section ul {
      margin-left: 40px; }
      .terms section ul li {
        list-style-type: disc;
        line-height: 1.66667;
        font-weight: 500;
        font-size: 1.8rem; }
  @media (max-width: 750px) {
    .terms section {
      margin-bottom: 4vw; }
      .terms section h3 {
        font-size: 4.26667vw; }
      .terms section ul {
        margin-left: 5.33333vw; }
        .terms section ul li {
          font-size: 3.2vw; } }

.company {
  color: #fff; }
  .company-inner {
    display: flex;
    justify-content: space-between;
    background-color: #6385a2; }
  .company dl {
    width: 47.77778%; }
    .company dl dt {
      margin-bottom: 48px;
      line-height: 1;
      font-weight: 700;
      font-size: 3.6rem;
      letter-spacing: .05em; }
    .company dl dd a {
      transition: opacity .3s; }
      .company dl dd a:hover {
        opacity: .7; }

.aside {
  padding: .7em 1em;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border: solid #000;
  border-width: 2px 0 5px 2px;
  position: fixed;
  top: 20%;
  right: 0;
  line-height: 1;
  color: #fff;
  background-color: #000;
  text-align: center;
  text-orientation: upright;
  font-weight: 500;
  font-size: 2.4rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 10;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background-color .4s; }
  .aside span {
    text-combine-upright: all; }
  .aside.is-end {
    color: #fff;
    background-color: #ccc;
    pointer-events: none; }
  .aside:hover {
    background-color: #e8a6bf; }
  @media (max-width: 750px) {
    .aside {
      font-size: 4vw;
      padding: .3em;
      top: 40%; } }

.footer {
  padding: 74px 0 46px; }
  .footer-links {
    margin-bottom: 24px;
    text-align: center; }
    .footer-links li {
      margin-right: 1em;
      padding-right: 1.5em;
      display: inline-block;
      position: relative;
      line-height: 1;
      font-size: 1.6rem;
      letter-spacing: 0.1em; }
      .footer-links li::after {
        position: absolute;
        top: 2px;
        right: 0;
        width: 1px;
        height: calc(100% - 2px);
        background-color: #000;
        content: ""; }
      .footer-links li:last-child {
        margin-right: 0;
        padding-right: 0; }
        .footer-links li:last-child::after {
          display: none; }
      .footer-links li a {
        color: #000;
        text-decoration: none; }
        .footer-links li a:hover {
          text-decoration: underline; }
  .footer small {
    display: block;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.1em; }
  @media (max-width: 750px) {
    .footer {
      padding: 13.33333vw 0 6.66667vw; }
      .footer-links {
        margin-bottom: 2.66667vw; }
        .footer-links li {
          font-size: 3.2vw; }
      .footer small {
        font-size: 2.66667vw; } }
