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-family: Helvetica Neue, Helvetica, Arial, Verdana, Roboto, "\6E38\30B4\30B7\30C3\30AF", Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF", MS PGothic, sans-serif;
  margin: 0;
  padding: 0; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

html {
  scroll-behavior: smooth; }

body {
  color: #000;
  font-size: 14px;
  line-height: 1.4; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  vertical-align: bottom; }

a {
  color: #000;
  text-decoration: none; }
  a:hover {
    color: #000;
    text-decoration: underline; }

.header {
  background-color: #fff;
  margin: auto;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1100; }
  .header > div {
    height: 50px;
    vertical-align: middle; }
    @media (min-width: 768px) {
      .header > div {
        height: 80px; } }
  .header .ttl-side {
    display: block;
    margin-right: 0;
    height: 50px;
    font-size: 2.1rem;
    line-height: 1.15; }
    .header .ttl-side a {
      display: block; }
      .header .ttl-side a img {
        max-width: 100%;
        height: 16px;
        vertical-align: -webkit-baseline-middle;
        vertical-align: baseline; }
        @media (min-width: 768px) {
          .header .ttl-side a img {
            height: 18px; } }
        @media (min-width: 992px) {
          .header .ttl-side a img {
            height: 22px; } }
  .header #menuToggle {
    display: block;
    margin: 0 -15px 0; }
    @media (min-width: 768px) {
      .header #menuToggle {
        margin: 13px 0; } }
    .header #menuToggle a {
      color: #000;
      text-decoration: none;
      transition: color 0.3s ease; }
    .header #menuToggle .burger-icon {
      background-color: #000;
      display: block;
      height: 3px;
      margin: 0 -5px 5px auto;
      position: absolute;
      right: 15px;
      top: 17px;
      transform-origin: 4px 0;
      transition: transform 0.5s;
      width: 29px;
      z-index: 1; }
      @media (min-width: 768px) {
        .header #menuToggle .burger-icon {
          display: none; } }
      .header #menuToggle .burger-icon + .burger-icon {
        top: 25px; }
        .header #menuToggle .burger-icon + .burger-icon + .burger-icon {
          top: 33px; }
      .header #menuToggle .burger-icon:first-child {
        transform-origin: 0% 0%; }
      .header #menuToggle .burger-icon:nth-last-child(2) {
        transform-origin: 0% 100%; }
    .header #menuToggle .closeIcon {
      cursor: pointer;
      border: none;
      display: block;
      height: 32px;
      opacity: 0;
      position: absolute;
      top: 9px;
      right: 10px;
      width: 40px;
      -webkit-touch-callout: none;
      z-index: 2; }
      @media (min-width: 768px) {
        .header #menuToggle .closeIcon {
          display: none;
          position: unset; } }
      .header #menuToggle .closeIcon:checked ~ .burger-icon {
        opacity: 1;
        transform: rotate(45deg) translate(-1px, 0); }
      .header #menuToggle .closeIcon:checked ~ .burger-icon:nth-last-child(3) {
        opacity: 0;
        transform: rotate(0deg) scale(0.2, 0.2); }
      .header #menuToggle .closeIcon:checked ~ .burger-icon:nth-last-child(2) {
        transform: rotate(-45deg) translate(-1px, 0); }
    .header #menuToggle #menu {
      -ms-flex-align: center;
      align-items: center;
      margin: 0;
      padding: 0;
      position: absolute;
      top: 50px;
      right: -100vw;
      width: 100vw;
      -webkit-transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      z-index: 0; }
      @media (min-width: 768px) {
        .header #menuToggle #menu {
          border-bottom: none;
          height: 80px;
          transform: none;
          width: auto;
          position: unset; } }
      .header #menuToggle #menu > ul {
        background-color: #fff;
        justify-content: space-around;
        -ms-flex-pack: distribute;
        padding: 0 25px; }
        .header #menuToggle #menu > ul > li {
          background-color: #fff;
          border-top: 1px solid #000;
          padding: 0; }
          .header #menuToggle #menu > ul > li:last-child {
            border-bottom: 1px solid #000; }
          .header #menuToggle #menu > ul > li a {
            background-color: #fff;
            background-image: url(../_image/ico_arrow_01.png);
            background-repeat: no-repeat;
            background-position: calc(100% - 5px) center;
            background-size: auto 5px;
            display: block;
            font-weight: bold;
            padding: 13px 5px; }
            .header #menuToggle #menu > ul > li a:hover {
              text-decoration: underline; }
        @media (min-width: 768px) {
          .header #menuToggle #menu > ul {
            padding: 0; }
            .header #menuToggle #menu > ul li {
              border: none !important; }
              .header #menuToggle #menu > ul li a {
                background: none;
                font-size: 12px; } }
        @media (min-width: 992px) {
          .header #menuToggle #menu > ul li a {
            font-size: 100%;
            padding: 13px 10px; } }
    .header #menuToggle .closeIcon:checked ~ #menu {
      right: 0; }
  .header .btn-apply {
    margin-left: 0; }
    .header .btn-apply img {
      max-height: 40px;
      max-width: 100%; }
    @media (min-width: 992px) {
      .header .btn-apply {
        margin-left: 10px; }
        .header .btn-apply img {
          max-height: 54px; } }
  .header-social {
    background-color: #fff;
    padding: 28px 0;
    height: 100vh; }
    .header-social .btn-apply {
      margin-left: 0; }
    .header-social__ttl {
      margin-top: 22px; }
      .header-social__ttl img {
        max-height: 14px;
        vertical-align: middle; }
    .header-social li {
      margin: 0 7px; }
      .header-social li img {
        max-width: 64px; }

.hero-top {
  margin-left: 25px;
  margin-right: 25px;
  position: relative;
  z-index: 2; }
  @media (max-width: 320px) {
    .hero-top {
      margin-left: 15px;
      margin-right: 15px; } }
  .hero-top__block {
    margin-left: auto;
    margin-right: auto;
    max-width: 1010px;
    width: 100%; }
    .hero-top__block.bg-paper {
      padding: 20px 5px; }
      @media (min-width: 768px) {
        .hero-top__block.bg-paper {
          padding: 20px 5px; } }
    .hero-top__block .hero-top_h2 {
      position: absolute;
      left: -12px;
      top: -23px; }
      .hero-top__block .hero-top_h2 img {
        max-height: 35px; }
        .hero-top__block .hero-top_h2 img.pc {
          display: none; }
      @media (min-width: 768px) {
        .hero-top__block .hero-top_h2 {
          left: -18px;
          top: -48px; }
          .hero-top__block .hero-top_h2 img {
            max-height: 63px; }
            .hero-top__block .hero-top_h2 img.sp {
              display: none; }
            .hero-top__block .hero-top_h2 img.pc {
              display: block; } }
    .hero-top__block--logo {
      background-image: url(../_image/bg_number_three_sp.jpg);
      background-repeat: no-repeat;
      background-position: center 58px;
      background-size: 82px 120px;
      margin: 0;
      padding: 25px 24px 20px;
      position: relative; }
      .hero-top__block--logo:after {
        background-color: #000;
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        right: 0;
        height: 1px;
        width: 100%; }
      @media (min-width: 768px) {
        .hero-top__block--logo {
          background-image: url(../_image/bg_number_three.jpg);
          background-position: center 75px;
          background-size: 152px 222px;
          padding: 24px 52px 24px 56px;
          margin: 36px 0; }
          .hero-top__block--logo:after {
            height: 100%;
            width: 2px;
            top: 0;
            right: -8px;
            bottom: unset; } }
    .hero-top__block--inner {
      border: 2px solid #000;
      display: block;
      position: relative; }
      @media (min-width: 768px) {
        .hero-top__block--inner {
          border: 3px solid #000; } }
      @media (min-width: 992px) {
        .hero-top__block--inner {
          display: flex; } }
  .hero-top__txt {
    background-color: #c00;
    border: 2px solid #000;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    margin-top: 5px;
    padding: 5px 3px;
    text-align: center; }
    @media (min-width: 768px) {
      .hero-top__txt {
        border: 3px solid #000; } }
    @media (min-width: 576px) {
      .hero-top__txt {
        font-size: 16px;
        line-height: 1.6;
        min-height: 86px;
        padding: 16px 10px; } }
    @media (max-width: 320px) {
      .hero-top__txt {
        font-size: 12px; } }
  .hero-top .heading-02 {
    color: #fff;
    font-size: 89px;
    font-weight: bold;
    text-align: center; }
    .hero-top .heading-02 img {
      max-height: 109px; }
      .hero-top .heading-02 img.pc {
        display: none; }
      @media (min-width: 576px) {
        .hero-top .heading-02 img {
          max-height: 180px; }
          .hero-top .heading-02 img.pc {
            display: block; }
          .hero-top .heading-02 img.sp {
            display: none; } }
  .hero-top .logo-list {
    margin-bottom: 15px;
    text-align: center; }
    @media (min-width: 768px) {
      .hero-top .logo-list {
        margin-bottom: 38px;
        padding-left: 3px; } }
    .hero-top .logo-list > li {
      margin: 0 4px; }
      .hero-top .logo-list > li:first-child {
        margin-left: 0; }
      .hero-top .logo-list > li:last-child {
        margin-left: 6px;
        margin-right: 0; }
      .hero-top .logo-list > li img {
        max-height: 19px;
        max-width: 100%;
        vertical-align: middle; }
        .hero-top .logo-list > li img.txt-present {
          min-height: 8px; }
      @media (min-width: 576px) {
        .hero-top .logo-list > li {
          margin: 0 10px; }
          .hero-top .logo-list > li img {
            max-height: 31px; }
            .hero-top .logo-list > li img.txt-present {
              min-height: 12px; } }
  .hero-top .hero_news {
    max-width: 100%;
    margin: 0 0 10px;
    padding: 5px 13px 4px;
    width: 100%; }
    @media (min-width: 992px) {
      .hero-top .hero_news {
        margin: 38px 0 35px auto;
        max-width: 496px;
        padding: 0 43px 5px 47px; } }
    .hero-top .hero_news--list {
      border-bottom: 1px solid #b8b8b8;
      margin: 10px 0; }
      @media (min-width: 768px) {
        .hero-top .hero_news--list {
          margin: 21px 0 12px; } }
      .hero-top .hero_news--list__item {
        align-items: center;
        border-top: 1px solid #b8b8b8;
        line-height: 1.3;
        padding: 10px 0; }
        @media (min-width: 768px) {
          .hero-top .hero_news--list__item {
            line-height: 1.7;
            padding: 15px 0 18px 4px; } }
        .hero-top .hero_news--list__item-video .hero_news--link {
          min-height: 48px;
          padding-right: 45px;
          width: 100%;
          background-image: url(../_image/ico-video.png);
          background-repeat: no-repeat;
          background-position: right center;
          background-size: 40px;
          letter-spacing: -0.05em; }
          @media (min-width: 576px) {
            .hero-top .hero_news--list__item-video .hero_news--link {
              letter-spacing: normal; } }
          @media (min-width: 992px) {
            .hero-top .hero_news--list__item-video .hero_news--link {
              background-size: 48px;
              padding-right: 55px; } }
          .hero-top .hero_news--list__item-video .hero_news--link:hover {
            background-image: url(../_image/ico-video_hover.png); }
          .hero-top .hero_news--list__item-video .hero_news--link.no-link {
            cursor: default; }
            .hero-top .hero_news--list__item-video .hero_news--link.no-link:hover {
              background-image: url(../_image/ico-video.png);
              pointer-events: none;
              text-decoration: none; }
            .hero-top .hero_news--list__item-video .hero_news--link.no-link .hero_news--txt {
              cursor: text; }
    .hero-top .hero_news .ttl-news {
      line-height: 1.1; }
      .hero-top .hero_news .ttl-news img {
        max-height: 17px; }
        @media (min-width: 992px) {
          .hero-top .hero_news .ttl-news img {
            max-height: 21px; } }
    .hero-top .hero_news--txt {
      font-weight: bold;
      font-size: 12px; }
      @media (min-width: 992px) {
        .hero-top .hero_news--txt {
          font-size: 15px; } }
    .hero-top .hero_news--date {
      font-weight: bold;
      padding-top: 4px;
      font-size: 10px;
      line-height: 1.1; }
      @media (min-width: 992px) {
        .hero-top .hero_news--date {
          font-size: 12px;
          line-height: 1.3; } }
    .hero-top .hero_news--link {
      display: block;
      width: 100%; }
    .hero-top .hero_news .link-more {
      font-size: 12px;
      text-align: right; }
      @media (min-width: 992px) {
        .hero-top .hero_news .link-more {
          font-size: 15px; } }
      .hero-top .hero_news .link-more a {
        font-weight: bold;
        text-decoration: underline; }
        .hero-top .hero_news .link-more a:hover {
          text-decoration: none; }
  .hero-top .top-scroll {
    color: #fff;
    margin: auto;
    max-width: 60px;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    text-align: center;
    -webkit-animation: sdb05 1.5s infinite;
    animation: sdb05 1.5s infinite;
    width: 100%; }
    .hero-top .top-scroll img {
      max-height: 10px; }
    .hero-top .top-scroll:after {
      background-color: #fff;
      content: '';
      display: block;
      margin: 5px auto 0;
      height: 20px;
      width: 2px; }
    @media (min-width: 768px) {
      .hero-top .top-scroll img {
        max-height: 16px; }
      .hero-top .top-scroll:after {
        margin: 15px auto 0;
        height: 35px; } }

@-webkit-keyframes sdb05 {
  0% {
    -webkit-transform: rotate(0) translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  80% {
    -webkit-transform: rotate(0) translate(0, 10px);
    opacity: 0; } }
@keyframes sdb05 {
  0% {
    transform: rotate(0) translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: rotate(0) translate(0, 10px);
    opacity: 0; } }
/*common */
.modal-open {
  overflow-y: scroll;
  padding-right: 0 !important; }

#layout {
  padding-top: 53px; }
  @media (min-width: 768px) {
    #layout {
      padding-top: 80px; } }

main {
  position: relative;
  z-index: 2; }

.container {
  margin: 0 auto;
  max-width: 960px;
  width: 100%;
  padding-right: 25px;
  padding-left: 25px; }
  @media (max-width: 320px) {
    .container {
      padding-right: 15px;
      padding-left: 15px; } }
  @media (min-width: 768px) {
    .container {
      padding-right: 15px;
      padding-left: 15px; } }
  .container-main {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%; }

.heading-02__type--01 {
  align-items: center;
  background: url(../_image/bg_heading_02.png) center/auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 2px solid #000;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  margin-top: 0;
  height: 100px;
  text-align: center; }
  @media (min-width: 768px) {
    .heading-02__type--01 {
      border: 3px solid #000; } }
  .heading-02__type--01 h2 {
    font-weight: bold;
    font-size: 40px;
    line-height: 1;
    -ms-flex-item-align: center;
    align-self: center;
    text-align: center; }
    .heading-02__type--01 h2 img {
      max-width: 100%;
      height: 42px; }
  @media (min-width: 768px) {
    .heading-02__type--01 {
      margin-top: 27px;
      height: 160px; }
      .heading-02__type--01 h2 {
        font-size: 63px; }
        .heading-02__type--01 h2 img {
          max-width: 100%;
          height: 66px; } }

.heading-02__type--03 {
  align-items: center;
  background: url(../_image/bg_lead_03_sp.jpg) center/auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 2px solid #000;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  margin-top: 0;
  height: 203px;
  text-align: center; }
  @media (min-width: 768px) {
    .heading-02__type--03 {
      border: 3px solid #000; } }
  .heading-02__type--03 h2 {
    font-weight: bold;
    font-size: 40px;
    line-height: 1;
    -ms-flex-item-align: center;
    align-self: center;
    text-align: center; }
    .heading-02__type--03 h2 img {
      max-width: 100%;
      height: 120px; }
      .heading-02__type--03 h2 img.pc {
        display: none; }
  @media (min-width: 768px) {
    .heading-02__type--03 {
      background: url(../_image/bg_lead_03.jpg) center/auto;
      margin-top: 27px;
      height: 240px; }
      .heading-02__type--03 h2 {
        font-size: 63px; }
        .heading-02__type--03 h2 img {
          max-width: 100%;
          height: 116px; }
          .heading-02__type--03 h2 img.pc {
            display: block; }
          .heading-02__type--03 h2 img.sp {
            display: none; } }

.lead-block__left--sp .lead-heading:after {
  background-image: url(../_image/bg_lead_01_sp.png); }
  @media (min-width: 576px) {
    .lead-block__left--sp .lead-heading:after {
      background-image: url(../_image/bg_lead_pc.jpg);
      right: -40px;
      bottom: 0; } }
.lead-block__left--sp .lead-block-line {
  -ms-transform: skewY(-10deg);
  transform: skewY(-10deg); }
  @media (min-width: 576px) {
    .lead-block__left--sp .lead-block-line {
      -ms-transform: skewX(-10deg);
      transform: skewX(-10deg); } }
.lead-block__left--sp .lead-txt:after {
  -ms-transform: skewY(-10deg);
  transform: skewY(-10deg); }
  @media (min-width: 576px) {
    .lead-block__left--sp .lead-txt:after {
      -ms-transform: skewX(-10deg);
      transform: skewX(-10deg); } }
.lead-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 10px;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 0; }
  .lead-block-line {
    background: #f0f0f0 url(../_image/bg_paper.png) 50%/auto repeat;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
    position: absolute;
    left: 0;
    right: 0;
    top: 125px;
    height: 10px;
    width: 100%;
    z-index: 9; }
  @media (min-width: 576px) {
    .lead-block {
      min-height: 303px; }
      .lead-block-line {
        border: none;
        border-left: 3px solid #000;
        border-right: 3px solid #000;
        margin: 0 auto;
        left: 33px;
        top: 0;
        bottom: 0;
        height: 100%;
        width: 16px; } }
.lead-heading {
  border: 2px solid #000;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  margin: 0;
  max-width: 100%;
  position: relative;
  z-index: 1; }
  .lead-heading:after {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2; }
  .lead-heading h2 {
    max-height: unset;
    padding: 12px 30px 0;
    position: relative;
    z-index: 3;
    display: flex;
    align-content: center;
    justify-content: center;
    flex-direction: column; }
    .lead-heading h2 .pc {
      display: none; }
    .lead-heading h2 .sp {
      display: block; }
    .lead-heading h2 > img {
      max-height: 95px; }
      .lead-heading h2 > img.pc {
        display: none; }
    .lead-heading h2 .lead-heading_sub {
      background-color: #C00;
      border: 1px solid #000;
      display: block;
      max-width: 423px;
      margin-top: 13px;
      width: 100%;
      padding: 8px;
      text-align: center; }
      .lead-heading h2 .lead-heading_sub img {
        margin-left: auto;
        margin-right: auto;
        max-height: 42px; }
    @media (min-width: 576px) {
      .lead-heading h2 {
        -ms-flex-item-align: center;
        align-self: center;
        padding: 0; }
        .lead-heading h2 .pc {
          display: block; }
        .lead-heading h2 .sp {
          display: none; }
        .lead-heading h2 .lead-heading_sub img {
          max-height: unset; }
        .lead-heading h2 > img {
          max-height: unset; }
          .lead-heading h2 > img.sp {
            display: none; }
          .lead-heading h2 > img.pc {
            display: inline; } }
    @media (min-width: 992px) {
      .lead-heading h2 .lead-heading_sub {
        width: 423px; } }
  @media (min-width: 576px) {
    .lead-heading {
      border-width: 3px;
      display: -ms-flexbox;
      display: flex;
      justify-content: center;
      -ms-flex-pack: center;
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
      width: 100%; } }
.lead-txt {
  background: #f0f0f0 url(../_image/bg_paper.png) 50%/auto repeat;
  border: 2px solid #000;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
  max-width: 100%;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  padding: 23px 20px 30px;
  position: relative;
  text-align: justify;
  text-justify: inter-ideograph; }
  .lead-txt:after {
    background: #f0f0f0 url(../_image/bg_paper.png) 50%/auto repeat;
    content: '';
    display: block;
    height: 200%;
    position: absolute;
    top: -18px;
    width: 100%;
    z-index: 2; }
  .lead-txt:before {
    background: #000;
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    bottom: -2px;
    width: 100%;
    z-index: 3; }
  @media (min-width: 576px) {
    .lead-txt {
      border: 3px solid #000;
      border-left: none;
      font-size: 18px;
      line-height: 1.8;
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
      width: 100%; }
      .lead-txt__about {
        font-size: 23px;
        line-height: 2.2; }
      .lead-txt:after {
        top: 0;
        left: 20px;
        bottom: 0;
        height: 100%;
        width: 220px; } }
  .lead-txt > div {
    position: relative;
    max-width: 486px;
    z-index: 3; }
.lead-block-about .lead-heading {
  min-height: 153px; }
  .lead-block-about .lead-heading:after {
    bottom: -13px; }
    @media (min-width: 576px) {
      .lead-block-about .lead-heading:after {
        bottom: 0; } }
.lead-block-about h2 {
  padding: 12px; }
  @media (min-width: 576px) {
    .lead-block-about h2 {
      padding: 0 30px; } }
.lead-block-about .lead-block-line {
  top: 130px; }
  @media (min-width: 576px) {
    .lead-block-about .lead-block-line {
      top: 0; } }
.lead-block-about .lead-txt {
  padding: 30px 20px 25px; }
  .lead-block-about .lead-txt > div {
    margin-left: 9px; }
  @media (min-width: 576px) {
    .lead-block-about .lead-txt {
      padding: 30px 20px 30px 70px; }
      .lead-block-about .lead-txt > div {
        margin-left: 0px; } }
.lead-block-curriculum .lead-heading {
  text-align: right;
  min-height: 153px; }
  .lead-block-curriculum .lead-heading:after {
    background-image: url(../_image/bg_lead_02_sp.jpg); }
    @media (min-width: 576px) {
      .lead-block-curriculum .lead-heading:after {
        background-image: url(../_image/bg_lead_pc.jpg);
        right: -38px; } }
.lead-block-curriculum h2 {
  padding: 22px 20px; }
  @media (min-width: 576px) {
    .lead-block-curriculum h2 {
      padding: 0 30px; } }
.lead-block-curriculum .lead-block-line {
  display: none;
  overflow-y: hidden;
  -ms-transform: rotate(10deg);
  transform: rotate(10deg);
  width: 200%;
  left: -20px;
  top: 149px; }
  @media (min-width: 576px) {
    .lead-block-curriculum .lead-block-line {
      display: block;
      -ms-transform: skewX(-10deg);
      transform: skewX(-10deg);
      height: 100%;
      width: 16px;
      top: 0;
      left: 33px; } }
.lead-block-curriculum .lead-txt {
  padding: 25px 20px; }
  @media (min-width: 576px) {
    .lead-block-curriculum .lead-txt {
      padding: 30px 20px 30px 70px; } }
  .lead-block-curriculum .lead-txt:after {
    display: none;
    top: -30px;
    -ms-transform: skewY(10deg);
    transform: skewY(10deg); }
    @media (min-width: 576px) {
      .lead-block-curriculum .lead-txt:after {
        display: block;
        height: 100%;
        top: 0;
        -ms-transform: skewX(-10deg);
        transform: skewX(-10deg); } }
.lead-block-requirement {
  margin-bottom: 20px; }
  .lead-block-requirement h2 {
    margin: 43px 30px 15px; }
    .lead-block-requirement h2 img {
      max-height: 78px; }
      .lead-block-requirement h2 img.pc {
        display: none; }
      .lead-block-requirement h2 img.sp {
        display: block; }
    @media (min-width: 576px) {
      .lead-block-requirement h2 {
        margin: 16px 30px 0; }
        .lead-block-requirement h2 img {
          height: unset;
          max-height: unset; }
          .lead-block-requirement h2 img.pc {
            display: block; }
          .lead-block-requirement h2 img.sp {
            display: none; } }
.lead-block-faq {
  height: 120px; }
  @media (min-width: 768px) {
    .lead-block-faq {
      height: 196px; } }
  .lead-block-faq h2 img {
    height: 42px; }
    @media (min-width: 768px) {
      .lead-block-faq h2 img {
        height: unset; } }

.heading-03 img {
  max-height: 21px;
  max-width: 100%; }
  .heading-03 img.pc {
    display: none; }
  @media (min-width: 768px) {
    .heading-03 img {
      max-height: 40px; } }
  @media (min-width: 576px) {
    .heading-03 img.sp {
      display: none;
      max-height: 48px; }
    .heading-03 img.pc {
      display: inline; } }
.heading-03.type-2 img {
  max-height: 46px; }
  @media (min-width: 768px) {
    .heading-03.type-2 img {
      max-height: 84px; } }
.heading-03.type-3 img {
  max-height: 21px; }
  @media (min-width: 768px) {
    .heading-03.type-3 img {
      max-height: 84px; } }

.lang-en {
  font-family: sans-serif; }

.bg-paper {
  background: #f0f0f0 url(../_image/bg_paper.png) 50%/auto repeat;
  padding: 8px; }
  @media (min-width: 768px) {
    .bg-paper {
      padding: 10px; } }
  .bg-paper_inner {
    border: 2px solid #000; }
    @media (min-width: 768px) {
      .bg-paper_inner {
        border: 3px solid #000; } }

.list-note-01 > li {
  font-size: 12px;
  padding-left: 15px;
  text-indent: -15px; }
  .list-note-01 > li > span {
    font-family: Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33\FF30\30B4\30B7\30C3\30AF", MS PGothic; }

.page-error {
  margin-left: 25px;
  margin-right: 25px;
  position: relative;
  z-index: 2; }
  @media (max-width: 320px) {
    .page-error {
      margin-left: 15px;
      margin-right: 15px; } }
  .page-error__block {
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    width: 100%; }
    .page-error__block--inner {
      border: 2px solid #000;
      padding: 35px 24px; }
      @media (min-width: 768px) {
        .page-error__block--inner {
          border: 3px solid #000; } }
      @media (min-width: 768px) {
        .page-error__block--inner {
          padding: 57px 44px 59px; } }

.btn-fixed {
  position: fixed;
  left: 0;
  bottom: 18px;
  z-index: 5; }
  .btn-fixed li {
    margin-left: -5px;
    margin-bottom: 2px;
    transition: margin-left .2s; }
    .btn-fixed li:hover {
      margin-left: -2px;
      transition: .2s; }
    .btn-fixed li img {
      max-height: 55px; }
      @media (min-width: 576px) {
        .btn-fixed li img {
          max-height: 72px; } }
.btn:focus {
  box-shadow: none !important; }
.btn-apply--space {
  padding-top: 15px;
  padding-bottom: 0; }
  @media (min-width: 576px) {
    .btn-apply--space {
      padding-top: 25px;
      margin-bottom: -4px; } }
.btn-apply-03.btn-disabled, .btn-apply-03:disabled {
  pointer-events: none;
  opacity: .65; }
.btn-apply-03 img {
  max-height: 60px;
  max-width: 100%; }
  @media (min-width: 576px) {
    .btn-apply-03 img {
      max-height: 74px; } }
.btn-more {
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  -ms-flex-pack: center;
  display: -ms-flexbox;
  display: flex;
  border: 2px solid #c00;
  color: #000;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 12px;
  height: 35px;
  max-width: 112px;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  line-height: 1;
  -webkit-transition: ease-in-out, border-color 0.2s, background-color 0.2s;
  transition: ease-in-out, border-color 0.2s, background-color 0.2s; }
  @media (min-width: 576px) {
    .btn-more {
      font-size: 100%; } }
  .btn-more > span {
    display: block; }
  .btn-more .ico {
    margin-right: 5px;
    height: 13px;
    position: relative;
    width: 13px;
    -webkit-transition: ease-in-out, background-color 0.2s;
    transition: ease-in-out, background-color 0.2s; }
    .btn-more .ico:before, .btn-more .ico:after {
      background-color: #c00;
      content: '';
      display: block;
      position: absolute;
      -webkit-transition: ease-in-out, background-color 0.2s;
      transition: ease-in-out, background-color 0.2s; }
    .btn-more .ico:before {
      height: 13px;
      width: 3px;
      top: 0;
      left: 5px; }
    .btn-more .ico:after {
      height: 3px;
      width: 13px;
      left: 0;
      top: 5px; }
  .btn-more:hover {
    background-color: #000;
    border-color: #000; }
    .btn-more:hover .ico:before, .btn-more:hover .ico:after {
      background-color: #fff; }

#bg,
#bg .bg-inner2 {
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  z-index: 0; }

#bg {
  background-color: #000;
  height: 100vh;
  position: fixed;
  top: 50px;
  touch-action: none; }
  @media (min-width: 768px) {
    #bg {
      top: 80px; } }
  #bg .bg-inner {
    height: 100%;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity 1s linear;
    transition: opacity 1s linear;
    width: 100%; }
    #bg .bg-inner .bg-image {
      height: 100%;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      background-attachment: scroll; }
    #bg .bg-inner.active {
      opacity: 1; }
  #bg .bg-inner_01 .bg-image {
    background-image: url(../_image/bg_slider_sp_01.jpg); }
  @media (min-width: 576px) {
    #bg .bg-inner_01 .bg-image {
      background-image: url(../_image/bg_slider_pc_01.jpg); } }
  #bg .bg-inner_02 .bg-image {
    background-image: url(../_image/bg_slider_sp_02.jpg); }
  @media (min-width: 576px) {
    #bg .bg-inner_02 .bg-image {
      background-image: url(../_image/bg_slider_pc_02.jpg); } }
  #bg .bg-inner_03 .bg-image {
    background-image: url(../_image/bg_slider_sp_03.jpg); }
  @media (min-width: 576px) {
    #bg .bg-inner_03 .bg-image {
      background-image: url(../_image/bg_slider_pc_03.jpg); } }
  #bg .bg-inner_04 .bg-image {
    background-image: url(../_image/bg_slider_sp_04.jpg); }
  @media (min-width: 576px) {
    #bg .bg-inner_04 .bg-image {
      background-image: url(../_image/bg_slider_pc_04.jpg); } }
  #bg .bg-inner_05 .bg-image {
    background-image: url(../_image/bg_slider_sp_05.jpg); }
  @media (min-width: 576px) {
    #bg .bg-inner_05 .bg-image {
      background-image: url(../_image/bg_slider_pc_05.jpg); } }

.container-catch {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%; }

.catch-block {
  float: right;
  font-weight: bold;
  font-size: 41px;
  margin: 80px 25px 103px;
  height: 302px;
  width: 215px;
  position: relative;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  z-index: 2; }
  .catch-block img {
    max-height: 197px;
    vertical-align: middle; }
  @media (max-width: 320px) {
    .catch-block {
      margin: 60px 15px 103px; } }
  @media (min-width: 576px) {
    .catch-block {
      margin: 60px 97px 265px auto;
      height: 412px;
      width: 294px; }
      .catch-block img {
        max-height: 280px; } }
  .catch-block .bg-paper_inner {
    height: 100%;
    width: 100%; }

main.main-home {
  margin-left: 25px;
  margin-right: 25px; }
  @media (max-width: 320px) {
    main.main-home {
      margin-right: 15px;
      margin-left: 15px; } }
  @media (min-width: 576px) {
    main.main-home {
      margin-left: 15px;
      margin-right: 15px; } }

.statement {
  padding-top: 33px; }
  @media (min-width: 576px) {
    .statement {
      margin-top: -60px;
      padding-top: 70px; } }
  .statement .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
    @media (min-width: 576px) {
      .statement .container-main {
        padding-bottom: 44px; } }
  .statement-inner {
    margin: 0 auto;
    max-width: 1032px;
    padding: 50px 27px 55px; }
    @media (min-width: 576px) {
      .statement-inner {
        padding: 70px 10px 78px; } }
  .statement-txt {
    font-weight: bold;
    font-size: 14px;
    line-height: 1.9;
    padding: 0; }
    .statement-txt > p {
      margin-bottom: 25px; }
      .statement-txt > p br.sp {
        display: block; }
    @media (min-width: 576px) {
      .statement-txt {
        font-size: 22px;
        line-height: 2;
        padding: 0 30px 3px; }
        .statement-txt > p {
          margin-bottom: 27px; }
          .statement-txt > p br.sp {
            display: none; } }
  .statement-logo {
    display: block; }
    @media (min-width: 576px) {
      .statement-logo {
        -ms-flex-align: flex-end;
        align-items: flex-end;
        display: -ms-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-end;
        -ms-flex-pack: flex-end; } }
    .statement-logo li {
      margin-top: 15px; }
      .statement-logo li img {
        max-height: 37px;
        max-width: 100%; }
      @media (min-width: 768px) {
        .statement-logo li {
          margin-top: 17px; }
          .statement-logo li:nth-child(2) {
            margin-left: 36px;
            margin-right: 33px; }
          .statement-logo li img {
            max-height: 57px; } }

.txt-danger {
  color: #c00; }

.about {
  padding-top: 33px; }
  .about > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .about {
      margin-top: 80px;
      padding-top: 50px; }
      .about > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .about-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -4px;
    margin-left: -4px; }
  .about .heading-02__type--03 h2 {
    margin-top: 0; }
    @media (min-width: 576px) {
      .about .heading-02__type--03 h2 {
        margin-top: 20px; } }
  .about .heading-03 {
    border-bottom: 1px solid #bcbcbc;
    padding-bottom: 14px; }
    @media (min-width: 576px) {
      .about .heading-03 {
        padding-bottom: 20px; } }
    .about .heading-03 img {
      max-height: 33px; }
      .about .heading-03 img .pc {
        display: none; }
      .about .heading-03 img.type-2 {
        max-height: 78px; }
      @media (min-width: 576px) {
        .about .heading-03 img {
          max-height: 44px; }
          .about .heading-03 img.sp {
            display: none; }
          .about .heading-03 img.pc {
            display: block; } }
  .about-col {
    margin: 7px 4px 0;
    padding: 20px 16px; }
    .about-col--100 {
      margin: 7px 4px 0;
      padding: 20px 16px; }
    @media (min-width: 576px) {
      .about-col {
        -ms-flex: 0 0 calc(50% - 8px);
        flex: 0 0 calc(50% - 8px);
        max-width: calc(50% - 8px);
        padding: 38px 40px 38px; }
        .about-col--100 {
          -ms-flex: 0 0 calc(100% - 8px);
          flex: 0 0 calc(100% - 8px);
          max-width: calc(100% - 8px);
          padding: 18px 21px 16px 40px; } }
  .about-prize {
    align-items: center;
    flex-wrap: wrap; }
    @media (min-width: 576px) {
      .about-prize {
        flex-wrap: nowrap; } }
    .about-prize .grand_prize-txt {
      max-width: 624px; }
    .about-prize .grand_prize-img {
      display: flex;
      justify-content: center;
      margin-top: 14px;
      max-width: 456px;
      width: 100%; }
      .about-prize .grand_prize-img .grand_prize-02 {
        margin-left: 7px; }
      .about-prize .grand_prize-img img {
        max-width: 138px;
        width: 100%; }
        .about-prize .grand_prize-img img.pc {
          display: none; }
      @media (min-width: 576px) {
        .about-prize .grand_prize-img {
          margin-left: auto;
          margin-top: 0; }
          .about-prize .grand_prize-img .grand_prize-01,
          .about-prize .grand_prize-img .grand_prize-02 {
            margin-left: 15px; }
          .about-prize .grand_prize-img img {
            max-width: unset; }
            .about-prize .grand_prize-img img.sp {
              display: none; }
            .about-prize .grand_prize-img img.pc {
              display: block; } }
  .about-txt {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.8;
    margin-top: 15px;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media (min-width: 576px) {
      .about-txt {
        font-size: 18px;
        line-height: 1.8;
        margin-top: 20px; } }

.first-term {
  padding-top: 33px; }
  .first-term > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .first-term {
      margin-top: 80px;
      padding-top: 50px; }
      .first-term > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .first-term .achieve-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -4px -8px; }
  .first-term .achieve-col {
    border: 2px solid #000;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0 4px 8px;
    min-height: 115px;
    width: 100%; }
    @media (min-width: 768px) {
      .first-term .achieve-col {
        border: 3px solid #000; } }
    .first-term .achieve-col .pc {
      display: none; }
    .first-term .achieve-col .sp {
      max-width: 100%; }
    @media (min-width: 576px) {
      .first-term .achieve-col {
        background-size: cover;
        flex: 0 0 calc(50% - 8px);
        max-width: calc(50% - 8px);
        min-height: 254px; }
        .first-term .achieve-col .sp {
          display: none; }
        .first-term .achieve-col .pc {
          display: block;
          max-width: 100%; } }
    .first-term .achieve-col-one {
      background-image: url(../_image/bg_paper_01_sp.jpg); }
      .first-term .achieve-col-one .achieve-one-txt {
        max-height: 75px; }
      @media (min-width: 992px) {
        .first-term .achieve-col-one .achieve-one-txt {
          margin-top: 32px;
          margin-left: 30px; } }
      @media (min-width: 576px) {
        .first-term .achieve-col-one {
          background-image: url(../_image/bg_paper_01.jpg); }
          .first-term .achieve-col-one .achieve-one-txt {
            max-height: unset; } }
    .first-term .achieve-col-two {
      background-image: url(../_image/bg_paper_02_sp.jpg);
      background-position: left center;
      justify-content: left; }
      .first-term .achieve-col-two .achieve-two-txt {
        max-height: 80px;
        margin-left: 56px; }
      @media (min-width: 576px) {
        .first-term .achieve-col-two {
          background-image: url(../_image/bg_paper_02.jpg);
          background-position: center;
          justify-content: center; }
          .first-term .achieve-col-two .achieve-two-txt {
            margin-left: 36px;
            max-height: unset; } }
    .first-term .achieve-col-three {
      background-image: url(../_image/bg_paper_03_sp.jpg);
      background-position: right center; }
      .first-term .achieve-col-three .achieve-three-txt {
        max-height: 59px;
        margin-left: 60px; }
      @media (min-width: 576px) {
        .first-term .achieve-col-three {
          background-image: url(../_image/bg_paper_03.jpg);
          background-position: center; }
          .first-term .achieve-col-three .achieve-three-txt {
            margin-left: 120px;
            max-height: unset; } }
    .first-term .achieve-col-four {
      background-image: url(../_image/bg_paper_04_sp.jpg);
      background-position: left center;
      min-height: 142px;
      justify-content: left; }
      .first-term .achieve-col-four .achieve-four-txt {
        margin-left: 46px;
        max-height: 79px; }
      @media (min-width: 576px) {
        .first-term .achieve-col-four {
          background-image: url(../_image/bg_paper_04.jpg);
          background-position: center;
          justify-content: center; }
          .first-term .achieve-col-four .achieve-four-txt {
            margin-top: 10px;
            margin-left: 32px;
            max-height: unset; } }

.editor-comment {
  padding-top: 33px; }
  .editor-comment > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .editor-comment {
      margin-top: 80px;
      padding-top: 50px; }
      .editor-comment > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .editor-comment .comment-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -4px -8px; }
  .editor-comment .comment-col {
    border: 2px solid #000;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    margin: 0 4px 8px;
    width: 100%; }
    @media (min-width: 768px) {
      .editor-comment .comment-col {
        border: 3px solid #000; } }
    .editor-comment .comment-col .pc {
      display: none; }
    .editor-comment .comment-col .sp {
      max-width: 100%; }
    @media (min-width: 576px) {
      .editor-comment .comment-col {
        background-size: cover;
        flex: 0 0 calc(50% - 8px);
        max-width: calc(50% - 8px);
        min-height: 254px; }
        .editor-comment .comment-col .sp {
          display: none; }
        .editor-comment .comment-col .pc {
          display: block;
          max-width: 100%; } }
    .editor-comment .comment-col-heading {
      background-image: url(../_image/bg_lead_04.jpg);
      display: flex;
      background-size: cover;
      justify-content: center;
      align-items: center;
      background-repeat: no-repeat;
      background-position: center; }
      .editor-comment .comment-col-heading h2 {
        margin: 30px; }
      .editor-comment .comment-col-heading img {
        max-height: 141px; }
        @media (min-width: 576px) {
          .editor-comment .comment-col-heading img {
            max-height: unset; } }
  .editor-comment .comment-txt {
    font-weight: bold;
    font-size: 16px;
    line-height: 1.6;
    margin: 30px 20px 16px;
    flex: 1 1 auto;
    text-align: justify;
    text-justify: inter-ideograph;
    letter-spacing: -1px; }
    @media (min-width: 576px) {
      .editor-comment .comment-txt {
        font-size: 17px;
        margin: 37px 45px 28px; } }
  .editor-comment .comment-name {
    margin: 0 20px 24px;
    text-align: right; }
    .editor-comment .comment-name > img {
      margin-left: auto;
      max-height: 26px; }
    @media (min-width: 576px) {
      .editor-comment .comment-name {
        margin: 0 50px 36px; }
        .editor-comment .comment-name > img {
          max-height: unset; } }

.curriculum {
  padding-top: 33px; }
  .curriculum > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .curriculum {
      margin-top: 80px;
      padding-top: 50px; }
      .curriculum > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .curriculum .lead-txt {
    letter-spacing: -0.03rem;
    margin-top: 6px; }
    @media (min-width: 576px) {
      .curriculum .lead-txt {
        margin-top: 0; } }
  .curriculum > .container-main {
    padding-bottom: 15px; }
    .curriculum > .container-main .illust-txt {
      font-size: 12px;
      font-weight: bold;
      margin: 30px 5px 0;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media (min-width: 768px) {
        .curriculum > .container-main .illust-txt {
          margin: 24px 10px 0; } }

.profile-inner {
  margin: 0; }
  @media (min-width: 768px) {
    .profile-inner {
      margin: 13px 10px 16px; } }
.profile .heading-2 {
  -ms-flex-align: center;
  align-items: center;
  background-color: #000;
  color: #E9E9E9;
  display: -ms-flex;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 10px 5px; }
  .profile .heading-2 > h2 {
    font-size: 25px;
    font-weight: bold; }
  .profile .heading-2 > p {
    color: #E9E9E9;
    font-size: 14px;
    margin-top: 0;
    margin-left: auto;
    text-align: right; }
    .profile .heading-2 > p.pc {
      display: none; }
    .profile .heading-2 > p.sp {
      display: block;
      margin-top: 5px; }
  @media (min-width: 576px) {
    .profile .heading-2 {
      justify-content: center;
      -ms-flex-pack: center;
      -ms-flex-direction: column;
      flex-direction: column;
      text-align: center; }
      .profile .heading-2 > h2 {
        font-size: 35px; }
      .profile .heading-2 > p {
        font-size: 16px;
        margin: 6px 0 0;
        text-align: left; }
        .profile .heading-2 > p.pc {
          display: block; }
        .profile .heading-2 > p.sp {
          display: none; } }
.profile .heading-03 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: 40px;
  font-weight: bold;
  margin: 0 10px 14px;
  text-align: center; }
  @media (min-width: 576px) {
    .profile .heading-03 {
      margin: 6px 10px 15px;
      min-height: 84px; } }
.profile-group {
  padding: 20px 6px 25px; }
  @media (min-width: 768px) {
    .profile-group {
      padding: 0 5px 10px; }
      .profile-group:nth-child(2):before, .profile-group:nth-child(3):before {
        background-image: url(../_image/bg_dot.png);
        background-repeat: repeat-y;
        background-position: 0 0;
        background-size: auto;
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        left: -2px;
        top: 0;
        width: 4px; } }
  .profile-group-ttl {
    background-color: #000;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    margin: 10px 5px;
    padding: 5px 10px 3px;
    text-align: center; }
    @media (min-width: 768px) {
      .profile-group-ttl {
        font-size: 18px;
        margin: 0 0 10px; } }
.profile-dot_sp .profile-group:nth-child(2):after, .profile-dot_sp .profile-group:nth-child(3):after {
  background-image: url(../_image/bg_dot_02.png);
  background-repeat: repeat-x;
  background-position: center;
  background-size: 6px auto;
  content: '';
  display: block;
  height: 3px;
  position: absolute;
  left: 5px;
  top: 0;
  right: 5px; }
  @media (min-width: 768px) {
    .profile-dot_sp .profile-group:nth-child(2):after, .profile-dot_sp .profile-group:nth-child(3):after {
      background: none; } }
.profile-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -3px;
  margin-right: -3px;
  padding-bottom: 0; }
  @media (min-width: 768px) {
    .profile-row {
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      margin-left: 0;
      margin-right: 0;
      padding: 0; } }
.profile-col {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 3px;
  margin-right: 3px;
  padding-bottom: 0;
  width: 90px; }
  @media (min-width: 768px) {
    .profile-col {
      margin-left: 5px;
      margin-right: 5px;
      padding-bottom: 4px;
      width: 152px; }
      .profile-col-4 {
        margin-left: 5px;
        margin-right: 5px; } }
  .profile-col__body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto; }
  
  @media (max-width: 768px) {
    .profile-col-body-custom {
      width: 117px;
      margin-left: -12px;
    } }
  
  
    


.profile-inner-2nd {
  margin: 13px 0 16px; }
  .profile-inner-2nd [class*='col-'] {
    position: relative;
    width: 100%; }
  @media (min-width: 992px) {
    .profile-inner-2nd {
      margin: 13px -5px 16px; }
      .profile-inner-2nd .col-01 {
        max-width: 313px; }
      .profile-inner-2nd .col-02 {
        max-width: 506px; }
      .profile-inner-2nd .col-03 {
        max-width: 360px; } }
  .profile-inner-2nd .profile-row {
    justify-content: space-around; }
  .profile-inner-2nd .profile-col {
    margin-left: 0;
    margin-right: 0; }
    .profile-inner-2nd .profile-col:nth-child(2), .profile-inner-2nd .profile-col:nth-child(3) {
      margin-left: 6px; }
      @media (min-width: 768px) {
        .profile-inner-2nd .profile-col:nth-child(2), .profile-inner-2nd .profile-col:nth-child(3) {
          margin-left: 5px; } }
.profile .wrap-sp {
  display: block;
  width: 100%; }
  @media (min-width: 768px) {
    .profile .wrap-sp {
      display: none; } }
.profile-img {
  margin: 0 auto 8px;
  max-width: 100%;
  height: 90px;
  text-align: center;
  width: 90px; }
  @media (min-width: 768px) {
    .profile-img {
      margin-bottom: 10px;
      height: 150px;
      width: 150px; } }

  @media (min-width: 768px) {
    .profile-imgs {
      margin-bottom: 10px;
      height: 89px;
      width: 262px; } }

.profile-name {
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 3px; }
  @media (min-width: 768px) {
    .profile-name {
      font-size: 20px; } }
.profile-txt {
  color: #999;
  font-size: 11px;
  padding-bottom: 10px; }
  .profile-txt .sp {
    display: block; }
  @media (min-width: 768px) {
    .profile-txt {
      font-size: 100%;
      line-height: 1.35; }
      .profile-txt .sp {
        display: none; } }

.profile.profile-teacher .pc {
  display: none; }
.profile.profile-teacher .sp {
  display: block; }
.profile.profile-teacher .profile-txt__sub {
  max-height: 20px;
  margin-bottom: 13px; }
.profile.profile-teacher .profile-inner {
  margin: 0 10px; }
.profile.profile-teacher .teacher-col {
  padding: 40px 10px; }
.profile.profile-teacher .teacher-logo img {
  max-width: 123px;
  max-height: 100%;
  vertical-align: middle; }
  .profile.profile-teacher .teacher-logo img.pc {
    display: none; }
  .profile.profile-teacher .teacher-logo img.sp {
    display: block; }
.profile.profile-teacher .heading-03 {
  margin-top: 0;
  margin-bottom: 10px;
  min-height: unset; }
  .profile.profile-teacher .heading-03 img {
    max-height: 45px;
    max-width: 100%; }
@media (min-width: 768px) {
  .profile.profile-teacher .sp {
    display: none; }
  .profile.profile-teacher .pc {
    display: block; }
  .profile.profile-teacher .profile-txt__sub {
    max-height: unset;
    margin-bottom: 32px; }
  .profile.profile-teacher .profile-inner {
    margin: 7px 10px 13px; }
  .profile.profile-teacher .teacher-col {
    padding: 68px 17px 65px; }
  .profile.profile-teacher .teacher-logo img {
    max-width: unset; }
    .profile.profile-teacher .teacher-logo img.sp {
      display: none; }
    .profile.profile-teacher .teacher-logo img.pc {
      display: block; }
  .profile.profile-teacher .heading-03 {
    margin-top: 0;
    margin-bottom: 20px; }
    .profile.profile-teacher .heading-03 img {
      max-height: 58px; } }
.profile-note {
  margin: 15px 8px 0; }
  @media (min-width: 768px) {
    .profile-note {
      margin: 24px 0 -7px; } }
.profile-bottom {
  padding-top: 15px; }
  @media (min-width: 768px) {
    .profile-bottom {
      padding-top: 24px; } }

.masi_text_jp {
    margin-bottom: 5px;

  }
.masi_text_jp.pc {
    display: none;

  }
.masi_text_jp.sp {
    max-height: 31px;
    

  }
.masi_oka .sp{
    max-height: 15px;
    margin-bottom: 15px;
  }

.masi_oka .pc{
    display: none;
    
  }
.profile-col-masi {
  width: auto;
  justify-content: center;
  
}
@media (min-width: 768px) {
  
  .avatar_masi{
    min-height: 235px;

  }
  .masi_text_jp{
    margin-bottom: 10px;
    margin-top: 40px;

  }
  .masi_text_jp.sp{
    display: none;
  }
  .masi_text_jp.pc{
    display: block;
    
  }
  .masi_oka{
    margin-bottom: 10px;
  }
  .masi_oka .sp{
    display: none;
  }
  .masi_oka .pc{
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
}


.requirement {
  padding-top: 33px; }
  .requirement > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .requirement {
      margin-top: 80px;
      padding-top: 50px; }
      .requirement > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .requirement-inner {
    margin: 0; }
    .requirement-inner:first-child {
      margin-top: 10px; }
    @media (min-width: 768px) {
      .requirement-inner {
        margin: 34px 10px 29px; }
        .requirement-inner:first-child {
          margin-top: 20px; } }
  .requirement .heading-03 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 39px;
    font-weight: bold;
    margin: 15px 0;
    text-align: center; }
    .requirement .heading-03 img {
      max-height: 22px; }
      .requirement .heading-03 img.type-1 {
        max-height: 50px; }
      .requirement .heading-03 img.type-2 {
        max-height: 76px; }
    @media (min-width: 768px) {
      .requirement .heading-03 {
        margin: 30px 0 27px; }
        .requirement .heading-03 img {
          max-height: unset; }
          .requirement .heading-03 img.type-1 {
            max-height: unset; }
          .requirement .heading-03 img.type-2 {
            max-height: unset; } }
  @media (min-width: 768px) {
    .requirement-wraper {
      position: relative; }
      .requirement-wraper:before {
        background-color: #000;
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        top: 20px;
        bottom: 26px;
        width: 2px; } }
  .requirement-group {
    padding-left: 10px;
    padding-right: 10px; }
    .requirement-group-ttl {
      background-color: #000;
      color: #fff;
      font-weight: bold;
      font-size: 14px;
      padding: 5px 10px 3px;
      text-align: center; }
      @media (min-width: 768px) {
        .requirement-group-ttl {
          font-size: 20px;
          padding: 7px 10px 5px; } }
  .requirement-txt {
    color: #999;
    font-weight: 600;
    letter-spacing: -1px;
    margin: 0 0 20px;
    text-align: justify;
    text-justify: inter-ideograph; }
    @media (min-width: 768px) {
      .requirement-txt {
        margin: 0 40px 10px; } }
    .requirement-txt .ico-star {
      font-family: Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33\FF30\30B4\30B7\30C3\30AF", MS PGothic; }
    .requirement-txt__02 {
      font-weight: bold;
      margin-bottom: 20px;
      text-align: justify;
      text-justify: inter-ideograph; }
      @media (min-width: 768px) {
        .requirement-txt__02 {
          margin-bottom: 0;
          text-align: left; } }
  .requirement-red__txt {
    color: #c00; }

.list-note__02 {
  line-height: 1.5;
  padding-left: 1rem;
  text-indent: -1rem; }
  .list-note__02 > li > span {
    font-family: Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33\FF30\30B4\30B7\30C3\30AF", MS PGothic; }
.list-note__03 {
  line-height: 1.5;
  padding-left: .8rem;
  text-indent: -.8rem; }
  .list-note__03 > li > span {
    font-family: Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33\FF30\30B4\30B7\30C3\30AF", MS PGothic; }
@media (min-width: 768px) {
  .list-note__02 {
    line-height: 1.8; }
  .list-note__03 {
    line-height: 1.8; } }

.faq {
  padding-top: 33px; }
  .faq > .container-main {
    padding-top: 25px;
    padding-bottom: 25px; }
  @media (min-width: 576px) {
    .faq {
      margin-top: 80px;
      padding-top: 50px; }
      .faq > .container-main {
        padding-top: 44px;
        padding-bottom: 44px; } }
  .faq-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -4px;
    margin-left: -4px; }
  .faq-col {
    -ms-flex: 0 0 calc(100% - 8px);
    flex: 0 0 calc(100% - 8px);
    max-width: calc(100% - 8px);
    margin: 7px 4px 0;
    padding: 17px 10px; }
    @media (min-width: 768px) {
      .faq-col {
        -ms-flex: 0 0 calc(50% - 8px);
        flex: 0 0 calc(50% - 8px);
        max-width: calc(50% - 8px);
        padding: 17px 20px; } }
  .faq-group {
    padding-left: 10px;
    padding-right: 10px; }
    .faq-group-ttl {
      background-color: #000;
      color: #fff;
      font-weight: bold;
      font-size: 14px;
      padding: 5px 10px 3px;
      text-align: center; }
      @media (min-width: 768px) {
        .faq-group-ttl {
          font-size: 18px;
          padding: 7px 10px 3px; } }
  .faq .btn-collapse {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: -1px;
    position: relative;
    padding: 16px 35px 16px 25px;
    text-align: left;
    text-indent: -25px;
    width: 100%; }
    .faq .btn-collapse span {
      margin-right: 5px; }
    @media (min-width: 576px) {
      .faq .btn-collapse {
        padding: 25px 70px 22px 35px;
        font-size: 18px; } }
  .faq .ico-collapse {
    background-color: #000;
    border-radius: 100%;
    display: block;
    margin: 0 !important;
    height: 31px;
    position: absolute;
    right: 0;
    top: 15px;
    width: 31px;
    z-index: 2; }
    @media (min-width: 576px) {
      .faq .ico-collapse {
        right: 10px; } }
    .faq .ico-collapse:before, .faq .ico-collapse:after {
      background-color: #fff;
      content: '';
      display: block;
      margin: 0 auto;
      position: absolute;
      z-index: 2; }
    .faq .ico-collapse:after {
      /*-*/
      top: 14px;
      left: 8px;
      height: 3px;
      width: 15px; }
    @media (min-width: 576px) {
      .faq .ico-collapse {
        right: 10px;
        top: 15px;
        height: 43px;
        width: 43px; }
        .faq .ico-collapse:after {
          top: 20px;
          left: 11px;
          height: 4px;
          width: 22px; } }
  .faq-accordion > dt:not(:first-child) {
    border-top: 1px solid #000; }
  .faq-accordion .accordion-content {
    color: #000;
    font-size: 16px;
    font-weight: bold;
    padding: 0 20px 20px 25px;
    text-indent: -25px; }
    @media (min-width: 576px) {
      .faq-accordion .accordion-content {
        font-size: 18px;
        padding: 0 20px 20px 35px;
        text-indent: -25px; } }
    .faq-accordion .accordion-content > span {
      margin-right: 5px; }
    .faq-accordion .accordion-content a {
      text-decoration: underline; }
      .faq-accordion .accordion-content a:hover {
        text-decoration: none; }
  .faq .collapsed .ico-collapse:before {
    /*|*/
    left: 14px;
    top: 8px;
    width: 3px;
    height: 15px; }
    @media (min-width: 576px) {
      .faq .collapsed .ico-collapse:before {
        left: 20px;
        top: 11px;
        width: 4px;
        height: 22px; } }

.footer-social {
  max-width: 560px;
  margin: 65px auto 0;
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 100%;
  z-index: 2; }
  .footer-social--heading {
    font-weight: bold;
    font-size: 24px;
    margin: 0 0 13px; }
  .footer-social--inner {
    padding: 15px 10px 20px; }
  @media (min-width: 768px) {
    .footer-social {
      margin: 140px auto 0;
      padding-top: 27px;
      padding-bottom: 24px; }
      .footer-social--heading {
        margin: 7px 0 18px; }
      .footer-social--inner {
        padding: 10px 10px 50px; } }
  .footer-social li {
    margin: 0 2px; }
    .footer-social li img {
      max-width: 73px; }
      .footer-social li img.pc {
        display: none; }
      .footer-social li img.sp {
        display: block; }
    @media (min-width: 768px) {
      .footer-social li {
        margin: 0 13px; }
        .footer-social li img {
          max-width: 106px; }
          .footer-social li img.sp {
            display: none; }
          .footer-social li img.pc {
            display: block; } }

.footer {
  background-color: #fff;
  padding: 30px 0;
  position: relative;
  text-align: center;
  z-index: 2; }
  .footer .logo {
    max-height: 25px;
    max-width: 100%; }
  .footer-logo {
    margin: 15px 0; }
    .footer-logo li {
      margin-left: 5px;
      margin-right: 5px; }
    .footer-logo img {
      max-height: 29px;
      max-width: 100%; }
  .footer #copyright {
    font-size: 10px;
    font-family: Yu Gothic, "\6E38\30B4\30B7\30C3\30AF\4F53", YuGothic, "\30D2\30E9\30AE\30CE\89D2\30B4 Pro W3", Hiragino Kaku Gothic Pro, Meiryo UI, "\30E1\30A4\30EA\30AA", Meiryo, "\FF2D\FF33\FF30\30B4\30B7\30C3\30AF", MS PGothic;
    font-weight: bold; }
  @media (min-width: 768px) {
    .footer {
      padding: 70px 0; }
      .footer .logo {
        max-height: 29px; }
      .footer-logo {
        margin: 30px 0 33px; }
        .footer-logo li {
          margin-left: 10px;
          margin-right: 10px; }
        .footer-logo img {
          max-height: 31px; } }

.modal-profile {
  background-color: rgba(0, 0, 0, 0.8);
  padding-left: 30px;
  padding-right: 30px !important; }
  @media (max-width: 320px) {
    .modal-profile {
      padding-left: 15px;
      padding-right: 15px !important; } }
  .model-content-masi {
    margin-top: 50px;
  }
  @media (min-width: 768px) {
    .model-content-masi {
      margin-top: 0px;
    }
    
  }
  .modal-profile .close {
    height: 51px;
    margin-left: auto;
    opacity: 1;
    overflow: hidden;
    width: 51px; }
    .modal-profile .close:focus {
      outline: none; }
    .modal-profile .close > span {
      display: block;
      overflow: hidden;
      height: 35px;
      width: 35px; }
      .modal-profile .close > span:before, .modal-profile .close > span:after {
        background-color: #fff;
        content: '';
        display: block;
        margin: 0 auto;
        position: absolute; }
      .modal-profile .close > span:before {
        /*/*/
        right: 32px;
        top: 2px;
        width: 3px;
        height: 47px;
        transform: rotate(45deg); }
      .modal-profile .close > span:after {
        /*\*/
        top: 24px;
        right: 10px;
        height: 3px;
        width: 47px;
        transform: rotate(45deg); }
      @media (min-width: 576px) {
        .modal-profile .close > span {
          height: 51px;
          width: 51px; }
          .modal-profile .close > span:before {
            right: 24px;
            top: -9px;
            height: 69px; }
          .modal-profile .close > span:after {
            top: 24px;
            right: -9px;
            width: 69px; } }
      .modal-profile .close > span:focus {
        outline: none; }
  .modal-profile__pic {
    max-height: 100%;
    max-width: 180px; }
    @media (min-width: 768px) {
      .modal-profile__pic {
        max-width: 270px; } }
  .modal-profile__heading-02 {
    font-size: 30px;
    margin-bottom: 20px;
    margin-top: 20px;
    text-align: center; }
    @media (min-width: 768px) {
      .modal-profile__heading-02 {
        margin-top: 0;
        text-align: left; } }
  .modal-profile__txt {
    max-width: 400px;
    line-height: 2;
    word-break: break-all;
    width: 100%; }
    .modal-profile__txt > span {
      display: inline-block; }

/*# sourceMappingURL=style.css.map */
