@charset "UTF-8";
.color1 {
  color: #f27129; }

.color2 {
  color: #f39f57; }

.color3 {
  color: #f1d64c; }

.color4 {
  color: #76b7cd; }

.delay1 {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s; }

.delay2 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s; }

.delay3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s; }

.fade-text,
.fade-text span {
  opacity: 0; }

.fade-in {
  opacity: 0;
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear; }
  .fade-in.active {
    opacity: 1; }

.fade-up {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -webkit-transition-timing-function: easeOutSine;
          transition-timing-function: easeOutSine; }
  .fade-up.active {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.fade-up-min {
  opacity: 0;
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -webkit-transition-timing-function: easeOutSine;
          transition-timing-function: easeOutSine; }
  .fade-up-min.active {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }

.fade-right {
  opacity: 0;
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); }
  .fade-right.active {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }

.fade-left {
  opacity: 0;
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); }
  .fade-left.active {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }

.scale-up {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-duration: 0.8s;
          transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86); }
  .scale-up.active {
    -webkit-transform: scale(1);
            transform: scale(1); }

/*==================================================
	RESET CSS
==================================================*/
* {
  position: relative;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  list-style-type: none;
  text-decoration: none;
  outline: none; }

/*==================================================
		COMMON
==================================================*/
html,
body {
  position: relative;
  color: #222;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 2; }
  @media print, screen and (min-width: 751px) {
    html,
    body {
      font-size: 18px; } }
  @media screen and (max-width: 750px) {
    html,
    body {
      font-size: 3.4666666667vw; } }

img {
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  vertical-align: bottom; }

@media print, screen and (min-width: 751px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 750px) {
  .pc {
    display: none !important; } }

.centering, .nv-more {
  margin-left: auto;
  margin-right: auto; }

a {
  color: inherit;
  text-decoration: none; }

.inner {
  position: relative;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 751px) {
    .inner {
      width: 912px; } }
  @media screen and (max-width: 750px) {
    .inner {
      width: 78.6666666667vw; } }

.underline {
  position: relative;
  display: inline-block;
  padding: 0 0.3em;
  line-height: 1.66; }
  .underline::after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 3px;
    background-color: #76b7cd;
    position: absolute;
    bottom: 0;
    left: 0; }

a.underline {
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  z-index: 1; }
  a.underline::before {
    content: '';
    width: 0;
    height: 100%;
    background-color: #76b7cd;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    z-index: -1; }
  a.underline:hover {
    color: #fff; }
    a.underline:hover::before {
      left: 0;
      width: 100%; }

a.undeline-inline {
  padding-bottom: 4px;
  border-bottom: 1px solid #222;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  a.undeline-inline:hover {
    opacity: 0.7;
    border-bottom: none; }

@media print, screen and (min-width: 751px) {
  .note {
    font-size: 14px; } }
@media screen and (max-width: 750px) {
  .note {
    font-size: 3.2vw; } }

.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
  background-color: #f27129;
  color: #fff;
  font-weight: bold; }
  @media print, screen and (min-width: 751px) {
    .btn {
      padding-left: 42px;
      width: 320px;
      height: 70px;
      font-size: 18px; } }
  @media screen and (max-width: 750px) {
    .btn {
      padding-left: 14.9333333333vw;
      width: 78.6666666667vw;
      height: 16vw;
      letter-spacing: 0.1em;
      font-size: 3.4666666667vw; } }
  .btn::before {
    content: '';
    width: 70px;
    height: 100%;
    background-color: #f39f57;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    @media screen and (max-width: 750px) {
      .btn::before {
        width: 16vw; } }
  .btn::after {
    content: '';
    width: 9px;
    height: 9px;
    border-right: solid 3px #fff;
    border-bottom: solid 3px #fff;
    position: absolute;
    top: 50%;
    right: 29px;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg); }
    @media screen and (max-width: 750px) {
      .btn::after {
        right: 6.6666666667vw;
        width: 1.6vw;
        height: 1.6vw;
        border-width: 0.8vw; } }
  .btn:hover::before {
    width: 0 !important; }

.nv-more {
  display: block;
  padding: 1em 0;
  width: 282px;
  border-bottom: solid 3px #222;
  font-family: nobel, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  .nv-more::before {
    content: '';
    width: 0;
    height: 100%;
    background-color: #76b7cd;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    z-index: -1; }
  .nv-more::after {
    content: '';
    width: 7px;
    height: 7px;
    border-right: solid 3px #222;
    border-bottom: solid 3px #222;
    position: absolute;
    top: 50%;
    right: 28px;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    @media screen and (max-width: 750px) {
      .nv-more::after {
        width: 1.3333333333vw;
        height: 1.3333333333vw;
        border-width: 0.6666666667vw; } }
  .nv-more._plus::after {
    content: '';
    width: 12px;
    height: 12px;
    border: none;
    background: url(../img/icon-plus.png) center no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 28px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    @media screen and (max-width: 750px) {
      .nv-more._plus::after {
        width: 2.6666666667vw;
        height: 2.6666666667vw; } }
  .nv-more._plus:hover::after {
    background-image: url(../img/icon-minus.png); }
  .nv-more:hover {
    color: #fff;
    border-bottom-color: #76b7cd; }
    .nv-more:hover::before {
      left: 0;
      width: 100%; }
    .nv-more:hover::after {
      border-color: #fff; }

a.pdf {
  font-weight: bold;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  a.pdf::after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    background-image: url(../img/icon-pdf.png);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle; }
    @media print, screen and (min-width: 751px) {
      a.pdf::after {
        margin-left: 10px;
        width: 16px;
        height: 20px; } }
    @media screen and (max-width: 750px) {
      a.pdf::after {
        margin-left: 1.3333333333vw;
        width: 2.1333333333vw;
        height: 2.6666666667vw; } }
  a.pdf:hover {
    opacity: 0.7; }

.nv-scroll,
.nv-pagetop {
  position: absolute;
  top: 36vw;
  right: 40px;
  display: inline-block;
  color: #fff;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  font-family: nobel, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 13px;
  line-height: 1;
  cursor: pointer; }
  @media print, screen and (min-width: 751px) {
    .nv-scroll:hover,
    .nv-pagetop:hover {
      -webkit-transition-duration: .3s;
              transition-duration: .3s;
      opacity: 0.7; } }
  @media screen and (max-width: 750px) {
    .nv-scroll,
    .nv-pagetop {
      top: 106.6666666667vw;
      right: 2.6666666667vw;
      font-size: 2.6666666667vw; } }
  .nv-scroll::before,
  .nv-pagetop::before {
    content: '';
    display: inline-block;
    width: 1px;
    background-color: currentColor;
    position: absolute;
    bottom: -75px;
    left: 50%;
    height: 60px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transform-origin: center top;
            transform-origin: center top;
    -webkit-animation: stretch 1.5s infinite;
            animation: stretch 1.5s infinite; }
    @media screen and (max-width: 750px) {
      .nv-scroll::before,
      .nv-pagetop::before {
        bottom: -15.3333333333vw;
        height: 12vw; } }

.nv-pagetop {
  top: 100px;
  color: #fff; }
  @media screen and (max-width: 750px) {
    .nv-pagetop {
      top: 21.3333333333vw;
      right: 2.6666666667vw; } }
  .nv-pagetop::before {
    bottom: auto;
    top: -70px;
    -webkit-animation-direction: reverse;
            animation-direction: reverse; }

@-webkit-keyframes stretch {
  0% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center top;
            transform-origin: center top; }
  30% {
    -webkit-transform: translateX(-50%) scale(1, 1);
            transform: translateX(-50%) scale(1, 1);
    -webkit-transform-origin: center top;
            transform-origin: center top; }
  36% {
    -webkit-transform: translateX(-50%) scale(1, 1);
            transform: translateX(-50%) scale(1, 1);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  70% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  100% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; } }

@keyframes stretch {
  0% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center top;
            transform-origin: center top; }
  30% {
    -webkit-transform: translateX(-50%) scale(1, 1);
            transform: translateX(-50%) scale(1, 1);
    -webkit-transform-origin: center top;
            transform-origin: center top; }
  36% {
    -webkit-transform: translateX(-50%) scale(1, 1);
            transform: translateX(-50%) scale(1, 1);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  70% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; }
  100% {
    -webkit-transform: translateX(-50%) scale(1, 0);
            transform: translateX(-50%) scale(1, 0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom; } }
/*==================================================
	global nav
==================================================*/
.gnv {
  z-index: 100; }
  @media print, screen and (min-width: 751px) {
    #index .gnv {
      top: 6.9444444444vw; } }
  #index .gnv ul li:first-child {
    display: none; }
  @media print, screen and (min-width: 751px) {
    .gnv {
      position: absolute;
      top: 100px;
      left: 0; } }
  @media screen and (max-width: 750px) {
    .gnv {
      position: fixed;
      top: 0;
      right: 0;
      text-align: center;
      margin: 0;
      padding: 0;
      width: 60px; } }
  .gnv > a {
    display: inline-block;
    vertical-align: top; }
    @media print, screen and (min-width: 751px) {
      .gnv > a {
        -webkit-transform: scale(0.81);
                transform: scale(0.81);
        -webkit-transform-origin: left top;
                transform-origin: left top;
        -webkit-transition-duration: .3s;
                transition-duration: .3s; } }
    @media screen and (max-width: 750px) {
      .gnv > a {
        position: absolute;
        right: 0; } }
    @media print, screen and (min-width: 751px) {
      .gnv > a img {
        width: 84px; } }
    @media screen and (max-width: 750px) {
      .gnv > a img {
        width: 60px;
        height: 60px; } }
  .gnv ul {
    display: inline-block;
    vertical-align: top;
    width: 0;
    height: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 751px) {
      .gnv ul {
        margin-top: 20px;
        margin-left: 16px; } }
    @media screen and (max-width: 750px) {
      .gnv ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-top: 60px; } }
    .gnv ul li a {
      display: inline-block;
      padding: 12px 4px;
      color: #222;
      font-family: nobel, sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 19px;
      letter-spacing: 0.07em;
      line-height: 1;
      opacity: 0;
      -webkit-transform: translateY(1em);
              transform: translateY(1em);
      -webkit-transition-duration: 0;
              transition-duration: 0;
      -webkit-transition-property: opacity, -webkit-transform;
      transition-property: opacity, -webkit-transform;
      transition-property: transform, opacity;
      transition-property: transform, opacity, -webkit-transform;
      cursor: pointer;
      position: relative; }
      @media screen and (max-width: 750px) {
        .gnv ul li a {
          padding: 3.7333333333vw 0;
          color: #fff;
          font-size: 4.2666666667vw; } }
      .gnv ul li a::after {
        content: '';
        display: inline-block;
        width: 0;
        height: 3px;
        background-color: #76b7cd;
        position: absolute;
        bottom: 0.2em;
        right: 0;
        -webkit-transition: width .3s ease;
        transition: width .3s ease; }
        @media screen and (max-width: 750px) {
          .gnv ul li a::after {
            height: 0.6666666667vw;
            bottom: 0.5em; } }
      .gnv ul li a:hover::after {
        left: 0;
        width: 100%; }

@media print, screen and (min-width: 751px) {
  .gnv:hover > a,
  .gnv.start > a {
    -webkit-transform: scale(1);
            transform: scale(1); }
  .gnv:hover ul,
  .gnv.start ul {
    width: auto;
    height: auto; }
    .gnv:hover ul li a,
    .gnv.start ul li a {
      opacity: 1;
      -webkit-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition-duration: .3s;
              transition-duration: .3s; }
    .gnv:hover ul li:nth-child(1) a,
    .gnv.start ul li:nth-child(1) a {
      -webkit-transition-delay: 0.2s;
              transition-delay: 0.2s; }
    .gnv:hover ul li:nth-child(2) a,
    .gnv.start ul li:nth-child(2) a {
      -webkit-transition-delay: 0.3s;
              transition-delay: 0.3s; }
    .gnv:hover ul li:nth-child(3) a,
    .gnv.start ul li:nth-child(3) a {
      -webkit-transition-delay: 0.4s;
              transition-delay: 0.4s; }
    .gnv:hover ul li:nth-child(4) a,
    .gnv.start ul li:nth-child(4) a {
      -webkit-transition-delay: 0.5s;
              transition-delay: 0.5s; }
    .gnv:hover ul li:nth-child(5) a,
    .gnv.start ul li:nth-child(5) a {
      -webkit-transition-delay: 0.6s;
              transition-delay: 0.6s; }
    .gnv:hover ul li:nth-child(6) a,
    .gnv.start ul li:nth-child(6) a {
      -webkit-transition-delay: 0.7s;
              transition-delay: 0.7s; }

  .gnv.start ul li a {
    color: #fff; }

  #index .gnv.start > a img {
    width: 5.8333333333vw; }
  #index .gnv.start ul {
    margin-top: 1.3888888889vw;
    margin-left: 1.1111111111vw; }
    #index .gnv.start ul li a {
      padding: 0.8333333333vw 0.2777777778vw;
      background: none;
      font-size: 1.3194444444vw; } }
@media screen and (max-width: 750px) {
  .gnv.active {
    width: 100%; }
    .gnv.active > a {
      background: url(../img/btn-close.png) no-repeat;
      background-size: cover; }
      .gnv.active > a img {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 0; }
    .gnv.active ul {
      padding: 20vw;
      width: 100%;
      height: 100vw;
      background-color: #f27129; }
      .gnv.active ul li a {
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0);
        -webkit-transition-duration: .3s;
                transition-duration: .3s; }
      .gnv.active ul li:nth-child(1) a {
        -webkit-transition-delay: 0.2s;
                transition-delay: 0.2s; }
      .gnv.active ul li:nth-child(2) a {
        -webkit-transition-delay: 0.3s;
                transition-delay: 0.3s; }
      .gnv.active ul li:nth-child(3) a {
        -webkit-transition-delay: 0.4s;
                transition-delay: 0.4s; }
      .gnv.active ul li:nth-child(4) a {
        -webkit-transition-delay: 0.5s;
                transition-delay: 0.5s; }
      .gnv.active ul li:nth-child(5) a {
        -webkit-transition-delay: 0.6s;
                transition-delay: 0.6s; }
      .gnv.active ul li:nth-child(6) a {
        -webkit-transition-delay: 0.6s;
                transition-delay: 0.6s; } }
.gnv.fixed,
#index .gnv.fixed {
  position: fixed;
  top: 0; }

/*==================================================
	header
==================================================*/
body > header {
  z-index: 2; }
  body > header .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    background-color: #fff; }
    @media print, screen and (min-width: 751px) {
      body > header .header__logo {
        padding-left: 40px;
        width: 480px;
        height: 100px; } }
    @media screen and (max-width: 750px) {
      body > header .header__logo {
        padding-left: 20px;
        width: 100vw;
        height: 60px; } }
    body > header .header__logo a {
      line-height: 1; }
      @media print, screen and (min-width: 751px) {
        body > header .header__logo a {
          margin-right: 40px; }
          body > header .header__logo a:nth-child(1) img {
            width: 52px; }
          body > header .header__logo a:nth-child(2) img {
            width: 90px; } }
      @media screen and (max-width: 750px) {
        body > header .header__logo a {
          margin-right: 4.2666666667vw; }
          body > header .header__logo a:nth-child(1) img {
            width: 36px; }
          body > header .header__logo a:nth-child(2) img {
            width: 63px; } }
    @media print, screen and (min-width: 751px) {
      body > header .header__logo h1 {
        font-size: 15px; } }
    @media screen and (max-width: 750px) {
      body > header .header__logo h1 {
        font-size: 12px; } }

@media print, screen and (min-width: 751px) {
  #index > header {
    position: absolute; }
    #index > header .header__logo {
      padding-left: 2.7777777778vw;
      width: 33.3333333333vw;
      height: 6.9444444444vw; }
      #index > header .header__logo a {
        margin-right: 2.7777777778vw; }
        #index > header .header__logo a:nth-child(1) img {
          width: 3.6111111111vw; }
        #index > header .header__logo a:nth-child(2) img {
          width: 6.25vw; }
      #index > header .header__logo h1 {
        font-size: 1.0416666667vw; } }
#index > header nav {
  display: none; }

/*==================================================
	first-view
==================================================*/
.fv {
  position: relative;
  width: 100%;
  z-index: 1; }
  @media print, screen and (min-width: 751px) {
    .fv {
      height: calc(100vw / 3 * 2); } }
  @media screen and (max-width: 750px) {
    .fv {
      height: 166.6666666667vw; } }
  .fv div {
    position: absolute; }
    .fv div.txt-block {
      height: 100%;
      background-color: #f27129;
      background-image: url(../img/txt-senpai.png);
      background-repeat: no-repeat;
      color: #fff; }
      @media print, screen and (min-width: 751px) {
        .fv div.txt-block {
          padding: 27.5vw 0 0 5.55vw;
          width: calc(100vw / 3);
          background-position: 15.4166666667vw 31.25vw;
          background-size: 18.5416666667vw; }
          .fv div.txt-block h1 {
            -webkit-font-feature-settings: 'palt';
                    font-feature-settings: 'palt';
            font-size: 2.5vw;
            line-height: 1.55;
            letter-spacing: 0.1em; } }
      @media screen and (max-width: 750px) {
        .fv div.txt-block {
          padding: 40.6666666667vw 0 0 10.6666666667vw;
          width: 100%;
          background-position: 45.3333333333vw 52.6666666667vw;
          background-size: 57.0666666667vw; }
          .fv div.txt-block h1 {
            -webkit-font-feature-settings: 'palt';
                    font-feature-settings: 'palt';
            font-size: 8.5333333333vw;
            line-height: 1.55;
            letter-spacing: 0.1em; } }
    @media print, screen and (min-width: 751px) {
      .fv div.img-block1, .fv div.img-block8, .fv div.img-block9 {
        width: calc(100vw / 3);
        height: calc(100vw / 3); }
      .fv div.img-block2, .fv div.img-block3, .fv div.img-block4, .fv div.img-block5, .fv div.img-block6, .fv div.img-block7 {
        width: calc(100vw / 6);
        height: calc(100vw / 6); } }
    @media screen and (max-width: 750px) {
      .fv div.img-block1, .fv div.img-block2, .fv div.img-block3, .fv div.img-block4, .fv div.img-block5 {
        width: calc(100vw / 3);
        height: calc(100vw / 3); }
      .fv div.img-block6 {
        width: calc(100vw / 3 * 2);
        height: calc(100vw / 3 * 2); } }
    @media print, screen and (min-width: 751px) {
      .fv div.img-block1 {
        background-color: #f39f57;
        top: 0;
        left: calc(100vw / 3); }
      .fv div.img-block2 {
        background-color: #76b7cd;
        top: 0;
        left: calc(100vw / 3 * 2); }
      .fv div.img-block3 {
        background-color: #f27129;
        top: 0;
        left: calc(100vw / 6 * 5); }
      .fv div.img-block4 {
        background-color: #f1d64c;
        top: calc(100vw / 6);
        left: calc(100vw / 3 * 2); }
      .fv div.img-block5 {
        background-color: #f39f57;
        top: calc(100vw / 6);
        left: calc(100vw / 6 * 5); }
      .fv div.img-block6 {
        background-color: #76b7cd;
        bottom: 0;
        left: 0; }
      .fv div.img-block7 {
        background-color: #f39f57;
        bottom: 0;
        left: calc(100vw / 6); }
      .fv div.img-block8 {
        background-color: #f1d64c;
        bottom: 0;
        left: calc(100vw / 3); }
      .fv div.img-block9 {
        background-color: #76b7cd;
        bottom: 0;
        left: calc(100vw / 3 * 2); } }
    @media screen and (max-width: 750px) {
      .fv div.img-block1 {
        background-color: #76b7cd;
        top: 0;
        left: 0; }
      .fv div.img-block2 {
        background-color: #f39f57;
        top: 0;
        left: calc(100vw / 3); }
      .fv div.img-block3 {
        background-color: #f1d64c;
        top: 0;
        left: calc(100vw / 3 * 2); }
      .fv div.img-block4 {
        background-color: #76b7cd;
        bottom: calc(100vw / 3);
        left: 0; }
      .fv div.img-block5 {
        background-color: #f1d64c;
        bottom: 0;
        left: 0; }
      .fv div.img-block6 {
        background-color: #f39f57;
        bottom: 0;
        left: calc(100vw / 3); } }
    .fv div picture {
      display: block;
      width: 100%;
      height: 100%;
      background-size: cover; }
    @media print, screen and (min-width: 751px) {
      .fv div.img-block1 picture {
        background-image: url(../img/student-d.png); }
      .fv div.img-block2 picture {
        background-image: url(../img/student-e.png); }
      .fv div.img-block3 picture {
        background-image: url(../img/student-f.png); }
      .fv div.img-block4 picture {
        background-image: url(../img/student-b.png); }
      .fv div.img-block5 picture {
        background-image: url(../img/student-a.png); }
      .fv div.img-block6 picture {
        background-image: url(../img/student-c.png); }
      .fv div.img-block7 picture {
        background-image: url(../img/student-i.png); }
      .fv div.img-block8 picture {
        background-image: url(../img/student-h.png); }
      .fv div.img-block9 picture {
        background-image: url(../img/student-g.png); } }
    @media screen and (max-width: 750px) {
      .fv div.img-block1 picture {
        background-image: url(../img/student-c.png); }
      .fv div.img-block2 picture {
        background-image: url(../img/student-i.png); }
      .fv div.img-block3 picture {
        background-image: url(../img/student-b.png); }
      .fv div.img-block4 picture {
        background-image: url(../img/student-e.png); }
      .fv div.img-block5 picture {
        background-image: url(../img/student-h.png); }
      .fv div.img-block6 picture {
        background-image: url(../img/student-d.png); } }
  .fv .btn {
    background-color: #fff;
    color: #222; }
    @media print, screen and (min-width: 751px) {
      .fv .btn {
        margin-top: 4.3055555556vw;
        padding-left: 2.9166666667vw;
        width: 22.2222222222vw;
        height: 4.8611111111vw;
        font-size: 1.25vw; } }
    @media screen and (max-width: 750px) {
      .fv .btn {
        margin-top: 8.5333333333vw; } }
    .fv .btn::before {
      background-color: #f5f5f5; }
      @media print, screen and (min-width: 751px) {
        .fv .btn::before {
          width: 4.8611111111vw; } }
    .fv .btn::after {
      border-color: #222; }
      @media print, screen and (min-width: 751px) {
        .fv .btn::after {
          right: 1.9444444444vw;
          width: 0.625vw;
          height: 0.625vw;
          border-width: 0.2083333333vw; } }

/*==================================================
	introduction
==================================================*/
.intro {
  width: 100%;
  overflow: hidden; }
  @media print, screen and (min-width: 751px) {
    .intro {
      padding-top: 105px;
      padding-bottom: 135px; } }
  @media screen and (max-width: 750px) {
    .intro {
      padding-top: 30vw;
      padding-bottom: 40vw;
      background-image: url(../img/txt-senpaianswer.png);
      background-position: 49.7333333333vw 71.6vw;
      background-repeat: no-repeat;
      background-size: 50.2666666667vw; } }
  .intro .inner {
    position: relative; }
    @media print, screen and (min-width: 751px) {
      .intro .inner::after {
        content: '';
        display: block;
        width: 687px;
        height: 296px;
        background-image: url(../img/txt-senpaianswer.png);
        position: absolute;
        top: 75px;
        left: 465px; } }
  .intro h1 {
    line-height: 1.48; }
    @media print, screen and (min-width: 751px) {
      .intro h1 {
        font-size: 62px; } }
    @media screen and (max-width: 750px) {
      .intro h1 {
        -webkit-font-feature-settings: 'palt';
                font-feature-settings: 'palt';
        font-size: 10.9333333333vw;
        letter-spacing: 0.05em;
        white-space: nowrap; } }
    .intro h1::after {
      content: '';
      display: block;
      background-color: #f27129; }
      @media print, screen and (min-width: 751px) {
        .intro h1::after {
          margin-top: 28px;
          width: 32px;
          height: 4px; } }
      @media screen and (max-width: 750px) {
        .intro h1::after {
          margin-top: 8.8vw;
          width: 8.5333333333vw;
          height: 1.0666666667vw; } }
  .intro p {
    font-weight: bold; }
    @media print, screen and (min-width: 751px) {
      .intro p {
        margin-top: 30px;
        font-size: 18px;
        line-height: 2.67; } }
    @media screen and (max-width: 750px) {
      .intro p {
        margin-top: 8vw;
        -webkit-font-feature-settings: 'palt';
                font-feature-settings: 'palt';
        font-size: 3.4666666667vw;
        letter-spacing: 0.05em;
        line-height: 3; } }

#bnr-floating {
  position: fixed;
  opacity: 0;
  pointer-events: none;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  z-index: 10; }
  @media print, screen and (min-width: 751px) {
    #bnr-floating {
      right: 40px;
      bottom: 40px;
      z-index: 100; } }
  @media screen and (max-width: 750px) {
    #bnr-floating {
      padding: 4vw;
      width: 54.4vw;
      height: 13.3333333333vw;
      right: 0;
      bottom: 8vw; }
      #bnr-floating::before {
        width: 13.3333333333vw; }
      #bnr-floating::after {
        right: 5.3333333333vw; } }
  #bnr-floating.active {
    opacity: 1;
    pointer-events: auto; }

/*==================================================
	flow
==================================================*/
.flow {
  background-image: url(../img/base-grid.png);
  background-position: left top;
  position: relative; }
  @media print, screen and (min-width: 751px) {
    .flow {
      padding: 140px 0 200px; } }
  @media screen and (max-width: 750px) {
    .flow {
      padding: 53.3333333333vw 0 40vw; } }
  .flow h2 {
    -webkit-font-feature-settings: 'palt';
            font-feature-settings: 'palt';
    font-size: 42px;
    letter-spacing: 0.12em; }
    @media screen and (max-width: 750px) {
      .flow h2 {
        font-size: 7.7333333333vw;
        white-space: nowrap; } }
  .flow p {
    margin-top: 20px;
    font-size: 18px;
    line-height: 2.67; }
    @media screen and (max-width: 750px) {
      .flow p {
        font-size: 2.8vw;
        line-height: 2; } }
    .flow p.lead {
      margin-bottom: 80px;
      font-weight: bold; }
      @media screen and (max-width: 750px) {
        .flow p.lead {
          font-size: 3.4666666667vw; } }
  .flow dl {
    position: relative;
    padding-bottom: 30px; }
    @media screen and (max-width: 750px) {
      .flow dl {
        padding-bottom: 0; } }
    .flow dl dt {
      color: #f27129;
      font-family: nobel, sans-serif;
      font-weight: 700;
      font-style: normal;
      background: url(../img/ttl-corner.png);
      background-position: left top;
      background-repeat: no-repeat; }
      @media print, screen and (min-width: 751px) {
        .flow dl dt {
          display: inline-block;
          padding-left: 44px;
          width: 134px;
          font-size: 60px;
          vertical-align: top;
          background-size: 60px; } }
      @media screen and (max-width: 750px) {
        .flow dl dt {
          padding-top: 4.2666666667vw;
          padding-left: 9.3333333333vw;
          font-size: 10.6666666667vw;
          background-size: 13.3333333333vw;
          line-height: 1.5; } }
    @media print, screen and (min-width: 751px) {
      .flow dl dd {
        display: inline-block;
        top: 40px;
        padding-bottom: 40px;
        width: calc(90% - 135px);
        vertical-align: top; } }
    @media screen and (max-width: 750px) {
      .flow dl dd {
        padding-left: 10.6666666667vw;
        padding-bottom: 13.3333333333vw; } }
    .flow dl dd a:not(.btn) {
      font-size: 23px;
      font-weight: 600; }
      @media screen and (max-width: 750px) {
        .flow dl dd a:not(.btn) {
          font-size: 4.2666666667vw; } }
    .flow dl dd a.en {
      font-family: nobel, sans-serif;
      font-weight: 700;
      font-style: normal;
      font-size: 24px;
      letter-spacing: 0.05em; }
      @media screen and (max-width: 750px) {
        .flow dl dd a.en {
          font-size: 4.2666666667vw; } }
    .flow dl:not(.last)::after {
      content: '';
      display: block;
      width: 3px;
      height: calc(100% - 55px);
      background-color: #76b7cd;
      position: absolute;
      top: 57px;
      left: 33px; }
      @media screen and (max-width: 750px) {
        .flow dl:not(.last)::after {
          width: 0.7vw;
          height: calc(100% - 12.5vw);
          top: 12.8vw;
          left: 6.6666666667vw; } }
  .flow .btn {
    margin-top: 20px;
    width: 260px;
    height: 50px;
    font-size: 15px; }
    @media screen and (max-width: 750px) {
      .flow .btn {
        width: 68.2666666667vw;
        height: 13.3333333333vw;
        font-size: 3.2vw; } }
    .flow .btn::before {
      width: 50px; }
    .flow .btn::after {
      width: 7px;
      height: 7px;
      right: 20px; }
  .flow p:last-child {
    margin-top: 30px;
    font-size: 15px;
    font-weight: normal;
    line-height: 2; }
    @media screen and (max-width: 750px) {
      .flow p:last-child {
        font-size: 2.8vw; } }
  .flow .deco1,
  .flow .deco2,
  .flow .deco3 {
    position: absolute; }
    .flow .deco1 img:last-child,
    .flow .deco2 img:last-child,
    .flow .deco3 img:last-child {
      -webkit-transform: scale(0);
              transform: scale(0);
      -webkit-transform-origin: bottom;
              transform-origin: bottom;
      -webkit-transition-duration: .15s;
              transition-duration: .15s; }
  .flow .deco1.active img:last-child,
  .flow .deco2.active img:last-child,
  .flow .deco3.active img:last-child {
    -webkit-transform: scale(1);
            transform: scale(1); }
  @media print, screen and (min-width: 751px) {
    .flow .deco1 {
      position: absolute;
      top: -59px;
      left: calc(50% + 81px); }
      .flow .deco1 img:first-child {
        width: 82px; }
      .flow .deco1 img:last-child {
        width: 36px;
        position: absolute;
        top: 17px;
        left: -55px; }
    .flow .deco2 {
      position: absolute;
      top: 21px;
      left: calc(50% + 358px); }
      .flow .deco2 img:first-child {
        width: 89px; }
      .flow .deco2 img:last-child {
        width: 16px;
        position: absolute;
        top: -10px;
        left: -30px; }
    .flow .deco3 {
      position: absolute;
      top: 82px;
      left: calc(50% + 134px); }
      .flow .deco3 img:first-child {
        width: 121px; }
      .flow .deco3 img:last-child {
        width: 22px;
        position: absolute;
        top: 10px;
        left: 130px; } }
  @media screen and (max-width: 750px) {
    .flow .deco1 {
      position: absolute;
      top: -10.9333333333vw;
      left: 32.8vw; }
      .flow .deco1 img:first-child {
        width: 15.7333333333vw; }
      .flow .deco1 img:last-child {
        width: 6.9333333333vw;
        position: absolute;
        top: 3.6vw;
        left: -9.3333333333vw; }
    .flow .deco2 {
      position: absolute;
      top: 3.7333333333vw;
      left: 78vw; }
      .flow .deco2 img:first-child {
        width: 17.2vw; }
      .flow .deco2 img:last-child {
        width: 2.9333333333vw;
        position: absolute;
        top: -1.3333333333vw;
        left: -5.3333333333vw; }
    .flow .deco3 {
      position: absolute;
      top: 14.4vw;
      left: 41.2vw; }
      .flow .deco3 img:first-child {
        width: 23.3333333333vw; }
      .flow .deco3 img:last-child {
        width: 4.2666666667vw;
        position: absolute;
        top: 2.6666666667vw;
        left: 25.6vw; } }

/*==================================================
	news
==================================================*/
.news {
  position: relative;
  margin-top: 0;
  padding-top: 20px;
  padding-bottom: 240px;
  background-color: #f5f5f5;
  z-index: 2; }
  @media screen and (max-width: 750px) {
    .news {
      padding-top: 13.3333333333vw;
      padding-bottom: 45.3333333333vw; } }
  #index .news::before {
    content: '';
    display: block;
    width: 100%;
    height: 475px;
    background-color: #f39f57;
    position: absolute;
    top: -7vw;
    left: 0;
    z-index: -1;
    -webkit-transform: skewY(-7.9deg);
            transform: skewY(-7.9deg); }
    @media screen and (max-width: 750px) {
      #index .news::before {
        height: 86.6666666667vw; } }
  .news h2 {
    color: #fff;
    font-family: nobel, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 72px;
    line-height: 1;
    text-align: right; }
    @media screen and (max-width: 750px) {
      .news h2 {
        font-size: 12.8vw;
        text-align: center; } }
    .news h2 small {
      display: block;
      margin-top: 16px;
      font-size: 18px; }
      @media screen and (max-width: 750px) {
        .news h2 small {
          margin-top: 4vw;
          font-size: 3.4666666667vw; } }
  .news .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media print, screen and (min-width: 751px) {
      .news .wrap {
        margin-top: 82px; } }
    @media screen and (max-width: 750px) {
      .news .wrap {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .news .wrap a {
      background-color: #fff; }
      @media print, screen and (min-width: 751px) {
        .news .wrap a {
          width: 282px;
          margin-left: 33px; }
          .news .wrap a:nth-child(3n+1) {
            margin-left: 0; }
          .news .wrap a:nth-child(n+4) {
            margin-top: 60px; } }
      @media screen and (max-width: 750px) {
        .news .wrap a {
          margin-top: 13.3333333333vw;
          width: 100%; }
          .news .wrap a:nth-child(n+2) {
            margin-top: 13.3333333333vw; } }
      .news .wrap a picture {
        display: block;
        width: 100%;
        height: 212px;
        overflow: hidden;
        background-color: #989898; }
        @media screen and (max-width: 750px) {
          .news .wrap a picture {
            height: 59.0666666667vw; } }
        .news .wrap a picture img {
          width: 100% !important;
          height: 100% !important;
          -o-object-fit: cover;
             object-fit: cover;
          -webkit-transition-duration: .6s;
                  transition-duration: .6s; }
      .news .wrap a:hover picture img {
        -webkit-transform: scale(1.2);
                transform: scale(1.2); }
      .news .wrap a .date {
        display: inline-block;
        top: -1.7em;
        padding: 1.1em 20px 1em;
        width: 140px;
        background-color: #fff;
        border-left: #f27129 solid 4px;
        font-family: nobel, sans-serif;
        font-weight: 300;
        font-style: normal;
        font-size: 13px;
        font-weight: 500;
        line-height: 1; }
        @media screen and (max-width: 750px) {
          .news .wrap a .date {
            padding: 1em 5.3333333333vw;
            width: 39.3333333333vw;
            font-size: 2.9333333333vw; } }
      .news .wrap a .text {
        top: -1.7em;
        padding: 1em 20px;
        font-size: 15px;
        font-weight: bold;
        line-height: 2; }
        @media screen and (max-width: 750px) {
          .news .wrap a .text {
            padding: 1em 5.3333333333vw;
            font-size: 3.4666666667vw; } }
  .news .nv-more {
    margin-top: 50px; }

/*==================================================
	contact
==================================================*/
.contact {
  position: relative;
  background-color: #76b7cd;
  color: #fff;
  z-index: 2; }
  @media print, screen and (min-width: 751px) {
    .contact {
      padding-top: 80px;
      padding-bottom: 240px; } }
  @media screen and (max-width: 750px) {
    .contact {
      padding-top: 12vw;
      padding-bottom: 28.2666666667vw; } }
  .contact::before {
    content: '';
    display: block;
    width: 100%;
    height: 200px;
    background-image: url(../img/footer_blue.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: -200px; }
    @media screen and (max-width: 750px) {
      .contact::before {
        height: 14vw;
        top: -14vw; } }
  .contact::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../img/txt-contact.png);
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1; }
    @media print, screen and (min-width: 751px) {
      .contact::after {
        background-position: center bottom -64px;
        background-size: 1324px; } }
    @media screen and (max-width: 750px) {
      .contact::after {
        background-position: center bottom -4.5333333333vw;
        background-size: 98.4vw; } }
  @media print, screen and (min-width: 751px) {
    .contact .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .contact h2 {
    line-height: 1;
    text-align: right; }
    @media screen and (max-width: 750px) {
      .contact h2 {
        font-size: 4.2666666667vw;
        text-align: center; } }
  @media screen and (max-width: 750px) {
    .contact div {
      margin-top: 2.6666666667vw; }
      .contact div:nth-child(2) {
        margin-top: 12vw; } }
  .contact div p {
    font-size: 15px;
    line-height: 2; }
    @media screen and (max-width: 750px) {
      .contact div p {
        font-size: 3.2vw; } }
    .contact div p a {
      border-bottom: #fff solid 1px; }
      .contact div p a:hover {
        opacity: 0.7;
        border-bottom: none; }

/*==================================================
	footer
==================================================*/
body > footer {
  position: relative;
  padding: 70px 0 40px;
  background-color: #222;
  color: #fff;
  text-align: center;
  z-index: 2; }
  @media screen and (max-width: 750px) {
    body > footer {
      padding: 10.6666666667vw 0 32vw; } }
  body > footer h2 {
    font-family: nobel, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    letter-spacing: 0.1em; }
  body > footer ul.sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    body > footer ul.sns li:not(:first-child) {
      margin-left: 28px; }
    body > footer ul.sns li:nth-child(1) img {
      width: 18px;
      top: 2px; }
    body > footer ul.sns li:nth-child(2) img {
      width: 18px; }
    body > footer ul.sns li:nth-child(3) img {
      width: 19px; }
    body > footer ul.sns li a img {
      -webkit-transition-duration: .3s;
              transition-duration: .3s; }
    body > footer ul.sns li a:hover img {
      -webkit-transform: scale(1.25);
              transform: scale(1.25); }
  @media print, screen and (min-width: 751px) {
    body > footer ul.link {
      margin-top: 50px; }
      body > footer ul.link li {
        display: inline-block;
        line-height: 1; }
        body > footer ul.link li + li {
          border-left: #fff solid 1px; }
        body > footer ul.link li a {
          display: inline-block;
          padding: 0.5em 20px;
          font-size: 13px;
          font-weight: bold; }
          body > footer ul.link li a:hover {
            opacity: 0.7; } }
  @media screen and (max-width: 750px) {
    body > footer ul.link {
      margin-top: 12vw; }
      body > footer ul.link li {
        font-size: 3.4666666667vw;
        line-height: 2.77; } }
  body > footer .copyright {
    margin-top: 95px;
    font-family: nobel, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    opacity: 0.3; }
    @media screen and (max-width: 750px) {
      body > footer .copyright {
        margin-top: 16vw;
        font-size: 2.4vw; } }

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