@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, .eyes {
  position: relative;
  margin-top: 0;
  padding-top: 20px;
  padding-bottom: 240px;
  background-color: #f5f5f5;
  z-index: 2; }
  @media screen and (max-width: 750px) {
    .news, .eyes {
      padding-top: 13.3333333333vw;
      padding-bottom: 45.3333333333vw; } }
  #index .news::before, #index .eyes::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, #index .eyes::before {
        height: 86.6666666667vw; } }
  .news h2, .eyes 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, .eyes h2 {
        font-size: 12.8vw;
        text-align: center; } }
    .news h2 small, .eyes h2 small {
      display: block;
      margin-top: 16px;
      font-size: 18px; }
      @media screen and (max-width: 750px) {
        .news h2 small, .eyes h2 small {
          margin-top: 4vw;
          font-size: 3.4666666667vw; } }
  .news .wrap, .eyes .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, .eyes .wrap {
        margin-top: 82px; } }
    @media screen and (max-width: 750px) {
      .news .wrap, .eyes .wrap {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
    .news .wrap a, .eyes .wrap a {
      background-color: #fff; }
      @media print, screen and (min-width: 751px) {
        .news .wrap a, .eyes .wrap a {
          width: 282px;
          margin-left: 33px; }
          .news .wrap a:nth-child(3n+1), .eyes .wrap a:nth-child(3n+1) {
            margin-left: 0; }
          .news .wrap a:nth-child(n+4), .eyes .wrap a:nth-child(n+4) {
            margin-top: 60px; } }
      @media screen and (max-width: 750px) {
        .news .wrap a, .eyes .wrap a {
          margin-top: 13.3333333333vw;
          width: 100%; }
          .news .wrap a:nth-child(n+2), .eyes .wrap a:nth-child(n+2) {
            margin-top: 13.3333333333vw; } }
      .news .wrap a picture, .eyes .wrap a picture {
        display: block;
        width: 100%;
        height: 212px;
        overflow: hidden;
        background-color: #989898; }
        @media screen and (max-width: 750px) {
          .news .wrap a picture, .eyes .wrap a picture {
            height: 59.0666666667vw; } }
        .news .wrap a picture img, .eyes .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, .eyes .wrap a:hover picture img {
        -webkit-transform: scale(1.2);
                transform: scale(1.2); }
      .news .wrap a .date, .eyes .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, .eyes .wrap a .date {
            padding: 1em 5.3333333333vw;
            width: 39.3333333333vw;
            font-size: 2.9333333333vw; } }
      .news .wrap a .text, .eyes .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, .eyes .wrap a .text {
            padding: 1em 5.3333333333vw;
            font-size: 3.4666666667vw; } }
  .news .nv-more, .eyes .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; } }

/*==================================================
	common
==================================================*/
.category-tag, .eyes .wrap a .category {
  display: inline-block;
  background-color: #ececec;
  line-height: 1;
  font-weight: bold; }
  @media print, screen and (min-width: 751px) {
    .category-tag, .eyes .wrap a .category {
      padding: 10px 10px;
      font-size: 16px; } }
  @media screen and (max-width: 750px) {
    .category-tag, .eyes .wrap a .category {
      padding: 2.6666666667vw;
      font-size: 2.6666666667vw; } }

/*==================================================
	header (overwrite)
==================================================*/
@media print, screen and (min-width: 751px) {
  body > header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }
@media print, screen and (min-width: 751px) {
  body > header .btn {
    margin-right: 40px;
    width: 274px;
    height: 60px;
    font-size: 15px; }
    body > header .btn::before {
      width: 60px; }
    body > header .btn::after {
      right: 24px; } }

/*==================================================
	page title
==================================================*/
.page-title, .page-title-cms {
  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;
  background-color: #f27129;
  background-repeat: no-repeat;
  background-size: contain; }
  @media print, screen and (min-width: 751px) {
    .page-title, .page-title-cms {
      height: 380px;
      background-image: url(../img/bg_page-ttl_pc.png);
      background-position: right center; } }
  @media screen and (max-width: 750px) {
    .page-title, .page-title-cms {
      height: 53.3333333333vw;
      background-image: url(../img/bg_page-ttl_sp.png);
      background-position: center bottom; } }
  .page-title h1, .page-title-cms h1 {
    color: #fff;
    font-family: nobel, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.075em; }
    @media print, screen and (min-width: 751px) {
      .page-title h1, .page-title-cms h1 {
        font-size: 48px; } }
    @media screen and (max-width: 750px) {
      .page-title h1, .page-title-cms h1 {
        font-size: 9.0666666667vw; } }
  .page-title .shoulder-copy, .page-title-cms .shoulder-copy {
    position: absolute;
    color: #fff;
    font-weight: bold; }
    @media print, screen and (min-width: 751px) {
      .page-title .shoulder-copy, .page-title-cms .shoulder-copy {
        right: 26px;
        bottom: 18px;
        font-size: 18px;
        line-height: 28px; } }
    @media screen and (max-width: 750px) {
      .page-title .shoulder-copy, .page-title-cms .shoulder-copy {
        top: 4vw;
        left: 4vw;
        font-size: 3.4666666667vw; } }

.page-title-cms {
  background-size: cover;
  background-position: center center; }

/*==================================================
	contents bg
==================================================*/
.bg-grid {
  background-image: url(../img/base-grid.png);
  background-position: left top;
  position: relative; }

/*==================================================
	About
==================================================*/
@media print, screen and (min-width: 751px) {
  .about-contents {
    padding-top: 150px;
    padding-bottom: 320px; } }
@media screen and (max-width: 750px) {
  .about-contents {
    padding-top: 20vw;
    padding-bottom: 46vw; } }
@media screen and (max-width: 750px) {
  .about-contents article {
    position: relative;
    z-index: 1; }
    .about-contents article::before {
      content: '';
      display: block;
      position: absolute;
      top: 2.1em;
      left: -10.6666666667vw;
      width: 80vw;
      height: calc(100% - 54vw);
      background-color: #f39f57;
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 15.2vw;
      z-index: -1; }
    .about-contents article.about::before {
      background-image: url(../img/txt-about.png); }
    .about-contents article.what::before {
      background-image: url(../img/txt-what.png); }
    .about-contents article.where::before {
      background-image: url(../img/txt-where.png); }
    .about-contents article.who::before {
      background-image: url(../img/txt-who.png); } }
@media print, screen and (min-width: 751px) {
  .about-contents article + article {
    margin-top: 168px; } }
@media screen and (max-width: 750px) {
  .about-contents article + article {
    margin-top: 24vw; } }
@media print, screen and (min-width: 751px) {
  .about-contents .card {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 60px 0;
    z-index: 1; }
    .about-contents .card::before {
      content: '';
      position: absolute;
      top: 0;
      left: calc( ((100vw - 912px) / 2) * -1);
      width: calc( (100vw - 912px) / 2 + 584px);
      height: 100%;
      background-color: #f39f57;
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 88px;
      z-index: -1; } }
@media screen and (max-width: 912px) {
  .about-contents .card::before {
    left: 0;
    width: 584px; } }
@media screen and (max-width: 750px) {
  .about-contents .card {
    padding-top: 8vw; } }
@media print, screen and (min-width: 751px) {
  .about-contents .about .card::before {
    background-image: url(../img/txt-about.png); }
  .about-contents .what .card::before {
    background-image: url(../img/txt-what.png); }
  .about-contents .where .card::before {
    background-image: url(../img/txt-where.png); }
  .about-contents .who .card::before {
    background-image: url(../img/txt-who.png); } }
.about-contents h2 {
  z-index: 2; }
  @media print, screen and (min-width: 751px) {
    .about-contents h2 {
      position: absolute;
      top: -52px;
      font-size: 48px; } }
  @media screen and (max-width: 750px) {
    .about-contents h2 {
      font-size: 8.5333333333vw;
      line-height: 1.5; } }
.about-contents p,
.about-contents dl {
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  line-height: 2;
  overflow-wrap: break-word; }
  @media print, screen and (min-width: 751px) {
    .about-contents p,
    .about-contents dl {
      margin-right: 32px;
      width: 496px;
      font-size: 24px; } }
  @media screen and (max-width: 750px) {
    .about-contents p,
    .about-contents dl {
      width: 62.6666666667vw;
      font-size: 4.2666666667vw; } }
  .about-contents p dt,
  .about-contents dl dt {
    font-weight: bold; }
    .about-contents p dt:not(:first-child),
    .about-contents dl dt:not(:first-child) {
      margin-top: 1em; }
@media print, screen and (min-width: 751px) {
  .about-contents figure {
    margin-right: -56px; } }
@media print, screen and (min-width: 751px) {
  .about-contents figure img {
    width: 440px; } }
@media screen and (max-width: 750px) {
  .about-contents figure img {
    margin-top: 9.3333333333vw;
    width: 78.6666666667vw; } }

/*==================================================
	Supporters
==================================================*/
.index-tab {
  border-bottom: 2px solid rgba(34, 34, 34, 0.5); }
  @media print, screen and (min-width: 751px) {
    .index-tab {
      margin-top: 106px; } }
  @media screen and (max-width: 750px) {
    .index-tab {
      margin-top: 21.3333333333vw; } }
  .index-tab ul {
    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; }
    .index-tab ul li a {
      display: block;
      color: rgba(34, 34, 34, 0.65);
      font-family: nobel, sans-serif;
      font-weight: 700;
      font-style: normal;
      cursor: pointer;
      -webkit-transition-property: background;
      transition-property: background;
      -webkit-transition-duration: .3s;
              transition-duration: .3s; }
      @media print, screen and (min-width: 751px) {
        .index-tab ul li a {
          padding: 0.25em 2em 0.15em;
          font-size: 21px; } }
      @media screen and (max-width: 750px) {
        .index-tab ul li a {
          padding: 0.25em 1em 0.15em;
          font-size: 4vw; } }
      .index-tab ul li a:hover {
        height: calc(100% - 1px);
        border-top: 1px solid #fff;
        background-color: #efefef;
        color: rgba(34, 34, 34, 0.45); }
      .index-tab ul li a.current {
        margin-bottom: -2px;
        background-color: #f27129;
        color: #fff;
        pointer-events: none; }
        .index-tab ul li a.current::after {
          content: '';
          display: block;
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%);
                  transform: translateX(-50%); }
          @media print, screen and (min-width: 751px) {
            .index-tab ul li a.current::after {
              width: 0;
              height: 0;
              border-width: 14px 10px 0 10px;
              border-color: #f27129 transparent transparent transparent;
              border-style: solid;
              bottom: -10px; } }
          @media screen and (max-width: 750px) {
            .index-tab ul li a.current::after {
              width: 0;
              height: 0;
              border-width: 1.8666666667vw 1.3333333333vw 0 1.3333333333vw;
              border-color: #f27129 transparent transparent transparent;
              border-style: solid;
              bottom: -1.3333333333vw; } }

@-webkit-keyframes cardshow {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes cardshow {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
.index-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  z-index: 1; }
  @media print, screen and (min-width: 751px) {
    .index-contents {
      margin-left: -30px;
      padding-top: -12px;
      padding-bottom: 360px; } }
  @media screen and (max-width: 750px) {
    .index-contents {
      padding-top: 10.6666666667vw;
      padding-bottom: 35.3333333333vw;
      padding-right: 2.6666666667vw; } }
  @media print, screen and (min-width: 751px) {
    .index-contents.supporters {
      padding-bottom: 290px; } }
  .index-contents .card-wrap {
    display: none;
    opacity: 0;
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    @media print, screen and (min-width: 751px) {
      .index-contents .card-wrap {
        margin-top: 60px;
        margin-left: 30px; } }
    @media screen and (max-width: 750px) {
      .index-contents .card-wrap:nth-child(n+2) {
        margin-top: 16vw; } }
    .index-contents .card-wrap::before {
      content: '';
      width: 100%;
      height: 100%;
      background-color: #f39f57;
      position: absolute;
      z-index: -1; }
      @media print, screen and (min-width: 751px) {
        .index-contents .card-wrap::before {
          right: -10px;
          bottom: -10px; } }
      @media screen and (max-width: 750px) {
        .index-contents .card-wrap::before {
          right: -2.6666666667vw;
          bottom: -2.6666666667vw; } }
    .index-contents .card-wrap.show {
      display: block;
      -webkit-animation: cardshow 0.3s both;
              animation: cardshow 0.3s both; }
    .index-contents .card-wrap .card {
      position: relative;
      -webkit-transition-duration: .3s;
              transition-duration: .3s;
      -webkit-transition-timing-function: ease-in-out;
              transition-timing-function: ease-in-out;
      -webkit-transform-style: preserve-3d;
              transform-style: preserve-3d;
      z-index: 1; }
      @media print, screen and (min-width: 751px) {
        .index-contents .card-wrap .card {
          width: 280px;
          height: 220px; } }
      @media screen and (max-width: 750px) {
        .index-contents .card-wrap .card {
          width: 76vw;
          height: 59.7333333333vw; } }
      .index-contents .card-wrap .card > div {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        line-height: 1;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        -webkit-transform: rotateX(0deg);
                transform: rotateX(0deg); }
        @media print, screen and (min-width: 751px) {
          .index-contents .card-wrap .card > div {
            padding: 15px; } }
        @media screen and (max-width: 750px) {
          .index-contents .card-wrap .card > div {
            padding: 4vw; } }
        .index-contents .card-wrap .card > div.front {
          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-align: start;
              -ms-flex-align: start;
                  align-items: flex-start;
          -webkit-box-pack: end;
              -ms-flex-pack: end;
                  justify-content: flex-end;
          pointer-events: none;
          overflow: hidden;
          background-color: #666;
          background-image: url(/melic/peer/wp/wp-content/uploads/2021/03/comingsoon.jpg);
          background-position: top;
          background-repeat: no-repeat;
          background-size: cover;
          z-index: 2; }
          @media print, screen and (min-width: 751px) {
            .index-contents .card-wrap .card > div.front {
              padding-bottom: 20px; }
              .index-contents .card-wrap .card > div.front h2, .index-contents .card-wrap .card > div.front .class {
                padding: 0 10px; } }
          @media screen and (max-width: 750px) {
            .index-contents .card-wrap .card > div.front {
              padding-top: 41.3333333333vw; } }
        .index-contents .card-wrap .card > div.back {
          overflow-x: hidden;
          overflow-y: scroll;
          background-color: #f5f5f5;
          -webkit-transform: rotateY(180deg);
                  transform: rotateY(180deg); }
          .index-contents .card-wrap .card > div.back .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
          .index-contents .card-wrap .card > div.back .mCS-minimal-dark.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
            background-color: #76b7cd; }
        .index-contents .card-wrap .card > div h2 {
          display: inline-block;
          padding: 0 0.5em;
          background-color: #fff;
          line-height: 1.5; }
          @media print, screen and (min-width: 751px) {
            .index-contents .card-wrap .card > div h2 {
              font-size: 16px; } }
          @media screen and (max-width: 750px) {
            .index-contents .card-wrap .card > div h2 {
              font-size: 3.3333333333vw; } }
        .index-contents .card-wrap .card > div .class {
          display: inline-block;
          padding: 0 0.5em;
          background-color: #fff;
          line-height: 1.5; }
          @media print, screen and (min-width: 751px) {
            .index-contents .card-wrap .card > div .class {
              margin-top: 10px;
              font-size: 13px; } }
          @media screen and (max-width: 750px) {
            .index-contents .card-wrap .card > div .class {
              margin-top: 2.6666666667vw;
              font-size: 2.6666666667vw; } }
        .index-contents .card-wrap .card > div .name {
          padding: 1em 0.5em 0.5em;
          font-weight: bold; }
          @media print, screen and (min-width: 751px) {
            .index-contents .card-wrap .card > div .name {
              font-size: 15px; } }
          @media screen and (max-width: 750px) {
            .index-contents .card-wrap .card > div .name {
              font-size: 3.2vw; } }
          .index-contents .card-wrap .card > div .name small {
            -webkit-font-feature-settings: 'palt';
                    font-feature-settings: 'palt';
            font-size: 75%;
            font-weight: normal;
            opacity: 0.6; }
            .index-contents .card-wrap .card > div .name small::before {
              content: '（'; }
            .index-contents .card-wrap .card > div .name small::after {
              content: '）'; }
        .index-contents .card-wrap .card > div dl {
          padding: 0.5em 0.5em;
          border-top: 1px solid rgba(34, 34, 34, 0.2);
          line-height: 1.5; }
          .index-contents .card-wrap .card > div dl dt {
            font-weight: bold; }
            @media print, screen and (min-width: 751px) {
              .index-contents .card-wrap .card > div dl dt {
                font-size: 12px; } }
            @media screen and (max-width: 750px) {
              .index-contents .card-wrap .card > div dl dt {
                font-size: 2.6666666667vw; } }
          .index-contents .card-wrap .card > div dl dd {
            margin-top: 0.5em; }
            @media print, screen and (min-width: 751px) {
              .index-contents .card-wrap .card > div dl dd {
                font-size: 12px; } }
            @media screen and (max-width: 750px) {
              .index-contents .card-wrap .card > div dl dd {
                font-size: 2.6666666667vw; } }
        .index-contents .card-wrap .card > div p + dl {
          border-top: none; }
        .index-contents .card-wrap .card > div .btn {
          width: 100%; }
          @media print, screen and (min-width: 751px) {
            .index-contents .card-wrap .card > div .btn {
              margin-top: 20px;
              padding: 0 30px;
              height: 50px;
              font-size: 15px; }
              .index-contents .card-wrap .card > div .btn::before {
                width: 50px; }
              .index-contents .card-wrap .card > div .btn::after {
                right: 20px;
                width: 7px;
                height: 7px;
                border-width: 2px; } }
          @media screen and (max-width: 750px) {
            .index-contents .card-wrap .card > div .btn {
              margin-top: 5.3333333333vw;
              padding: 0 10.6666666667vw;
              height: 13.3333333333vw; }
              .index-contents .card-wrap .card > div .btn::before {
                width: 13.3333333333vw; }
              .index-contents .card-wrap .card > div .btn::after {
                right: 5.3333333333vw; } }
    .index-contents .card-wrap:hover .card, .index-contents .card-wrap.active .card {
      -webkit-transform: rotateY(180deg);
              transform: rotateY(180deg); }

/*==================================================
	Supporters’ Eye
==================================================*/
@media print, screen and (min-width: 751px) {
  .eyes .wrap a {
    padding-bottom: 32px; } }
@media screen and (max-width: 750px) {
  .eyes .wrap a {
    padding-bottom: 8.5333333333vw; } }
.eyes .wrap a .text {
  padding-bottom: 0; }
.eyes .wrap a .name {
  margin-top: -1em; }
  @media print, screen and (min-width: 751px) {
    .eyes .wrap a .name {
      padding: 0 20px;
      font-size: 13px;
      line-height: 1; } }
  @media screen and (max-width: 750px) {
    .eyes .wrap a .name {
      padding: 0 5.3333333333vw;
      font-size: 2.9333333333vw;
      line-height: 1.5; } }
.eyes .wrap a .category {
  font-weight: normal; }
  @media print, screen and (min-width: 751px) {
    .eyes .wrap a .category {
      margin: 20px 20px 0;
      padding: 10px 10px;
      font-size: 12px; } }
  @media screen and (max-width: 750px) {
    .eyes .wrap a .category {
      margin: 4vw 5.3333333333vw 0;
      padding: 2.6666666667vw;
      font-size: 2.9333333333vw; } }

/*==================================================
	Recruit
==================================================*/
@media print, screen and (min-width: 751px) {
  .recruit-contents {
    padding-top: 120px;
    padding-bottom: 360px; } }
@media screen and (max-width: 750px) {
  .recruit-contents {
    padding-top: 16vw;
    padding-bottom: 35.3333333333vw; } }
.recruit-contents article {
  position: relative;
  background-color: #fff; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents article {
      padding: 70px 40px; }
      .recruit-contents article + article {
        margin-top: 130px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents article {
      padding: 12vw 5.3333333333vw; }
      .recruit-contents article + article {
        margin-top: 26.6666666667vw; } }
.recruit-contents .introduction {
  z-index: 2; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .introduction {
      padding: 60px 40px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .introduction {
      padding: 8vw 5.3333333333vw; } }
  .recruit-contents .introduction p {
    line-height: 2; }
    .recruit-contents .introduction p + p {
      margin-top: 2em; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .introduction p {
        font-size: 24px; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .introduction p {
        font-size: 4.2666666667vw; } }
.recruit-contents .activities {
  position: relative;
  z-index: 1; }
  .recruit-contents .activities::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .activities::before {
        top: -193px;
        right: -188px;
        width: 414px;
        height: 183px;
        background: url(../img/txt-peer-support.png) no-repeat;
        background-size: contain; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .activities::before {
        top: -28.9333333333vw;
        left: 42.1333333333vw;
        width: 49.2vw;
        height: 28.9333333333vw;
        overflow: hidden;
        background: url(../img/txt-peer-support-2l.png) no-repeat;
        background-size: 100%; } }
.recruit-contents h2 {
  position: absolute;
  display: inline-block;
  background-color: #76b7cd;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1.5; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents h2 {
      top: -30px;
      left: 20px;
      padding: 0 20px;
      font-size: 42px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents h2 {
      top: -5.3333333333vw;
      left: 2.6666666667vw;
      padding: 1.3333333333vw 2.6666666667vw;
      font-size: 7.7333333333vw;
      line-height: 1.25; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents h3 {
    font-size: 24px; } }
@media screen and (max-width: 750px) {
  .recruit-contents h3 {
    font-size: 4.2666666667vw; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents p {
    margin-top: 20px;
    font-size: 15px; } }
@media screen and (max-width: 750px) {
  .recruit-contents p {
    margin-top: 5.3333333333vw;
    font-size: 3.2vw; } }
.recruit-contents div + div {
  border-top: 2px solid #76b7cd; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents div + div {
      margin-top: 50px;
      padding-top: 50px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents div + div {
      margin-top: 10.6666666667vw;
      padding-top: 10.6666666667vw; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents dl {
    margin: 0 40px; } }
.recruit-contents dl dt {
  font-weight: bold; }
.recruit-contents ul li {
  padding-left: 1.5em;
  text-indent: -1.5em; }
@media print, screen and (min-width: 751px) {
  .recruit-contents ol {
    padding: 10px 0; } }
@media screen and (max-width: 750px) {
  .recruit-contents ol {
    padding: 5.3333333333vw 0; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents ol li {
    margin-top: 20px; } }
@media screen and (max-width: 750px) {
  .recruit-contents ol li {
    margin: 2.6666666667vw 5.3333333333vw; } }
.recruit-contents ol dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .recruit-contents ol dl dt {
    position: relative;
    padding: 0 0.1em;
    color: #f27129;
    font-family: nobel, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.05em;
    line-height: 1.1; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents ol dl dt {
        font-size: 24px; } }
    @media screen and (max-width: 750px) {
      .recruit-contents ol dl dt {
        font-size: 4.2666666667vw; } }
    .recruit-contents ol dl dt::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      display: inline-block;
      width: 100%;
      height: 1px;
      background-color: #f39f57; }
  .recruit-contents ol dl dd {
    margin-left: 1em;
    padding: 0;
    line-height: 1.5; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents ol dl dd {
        font-size: 18px; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents ol + p {
    margin-top: 30px; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents .department > dl {
    margin-top: 60px; } }
@media screen and (max-width: 750px) {
  .recruit-contents .department > dl {
    margin-top: 8vw; } }
.recruit-contents .department > dl dt {
  display: inline-block;
  border-bottom: 1px solid #f27129;
  vertical-align: bottom; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .department > dl dt {
      padding: 0 20px 10px 5px;
      font-size: 18px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .department > dl dt {
      padding: 0 12vw 0.6666666667vw 0.6666666667vw; } }
  .recruit-contents .department > dl dt img {
    margin-right: 0.5em; }
@media print, screen and (min-width: 751px) {
  .recruit-contents .department > dl dd {
    padding-top: 10px;
    padding-left: 50px;
    font-size: 15px; } }
@media screen and (max-width: 750px) {
  .recruit-contents .department > dl dd {
    padding-top: 1.3333333333vw;
    font-size: 3.2vw; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents .department figure {
    margin-top: 80px; } }
@media screen and (max-width: 750px) {
  .recruit-contents .department figure {
    margin-top: 10.6666666667vw; } }
.recruit-contents .department figure figcaption {
  line-height: 1.5; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .department figure figcaption {
      margin-top: 15px;
      font-size: 13px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .department figure figcaption {
      margin-top: 4vw;
      font-size: 2.6666666667vw; } }
.recruit-contents .department figure + p {
  margin-top: 60px; }
@media print, screen and (min-width: 751px) {
  .recruit-contents .project {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 40px; } }
.recruit-contents .project > div {
  width: 100%; }
  .recruit-contents .project > div figure {
    margin-top: 40px; }
  .recruit-contents .project > div + div {
    margin-top: 0;
    padding-top: 0;
    border: 0; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .project > div + div {
        margin-left: 32px; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .project > div + div {
        margin-top: 10.6666666667vw; } }
  .recruit-contents .project > div dl {
    background-color: #fff; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .project > div dl {
        margin: -40px 20px 0; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .project > div dl {
        margin: -6.6666666667vw 4vw;
        -webkit-font-feature-settings: 'palt';
                font-feature-settings: 'palt'; } }
    .recruit-contents .project > div dl dt {
      display: block;
      border-bottom: 1px solid #222; }
      @media print, screen and (min-width: 751px) {
        .recruit-contents .project > div dl dt {
          padding: 20px; } }
      @media screen and (max-width: 750px) {
        .recruit-contents .project > div dl dt {
          padding: 4.6666666667vw 4vw;
          font-size: 3.4666666667vw; } }
      .recruit-contents .project > div dl dt small {
        display: block;
        margin-top: 1em; }
      .recruit-contents .project > div dl dt::after {
        display: none; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .project > div dl dd {
        padding: 20px; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .project > div dl dd {
        padding: 4.6666666667vw 4vw;
        font-size: 3.2vw; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents .training dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 40px;
    font-size: 15px;
    line-height: 2; }
    .recruit-contents .training dl + dl {
      margin-top: 20px; } }
@media screen and (max-width: 750px) {
  .recruit-contents .training dl {
    margin-top: 8vw; } }
.recruit-contents .training dl dt {
  background-color: #f27129;
  color: #fff; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .training dl dt {
      padding: 20px;
      width: 184px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .training dl dt {
      padding: 4vw 2.6666666667vw;
      text-align: center; } }
.recruit-contents .training dl dd {
  background-color: #f5f5f5; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .training dl dd {
      padding: 20px;
      width: 564px;
      line-height: 2; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .training dl dd {
      padding: 4vw 2.6666666667vw; } }
@media screen and (max-width: 750px) {
  .recruit-contents .howto h2 {
    top: -1.5em; } }
.recruit-contents .howto dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .howto dl {
      margin: 40px 0 0;
      font-size: 15px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .howto dl {
      margin: 5.3333333333vw 0 0;
      font-size: 3.2vw; } }
  .recruit-contents .howto dl dt {
    white-space: nowrap;
    background-color: #f2f2f2; }
    @media print, screen and (min-width: 751px) {
      .recruit-contents .howto dl dt {
        padding: 10px 30px; } }
    @media screen and (max-width: 750px) {
      .recruit-contents .howto dl dt {
        padding: 2vw 4vw; } }
  @media print, screen and (min-width: 751px) {
    .recruit-contents .howto dl dd {
      padding: 10px 15px; } }
  @media screen and (max-width: 750px) {
    .recruit-contents .howto dl dd {
      padding: 1.3333333333vw 2vw;
      line-height: 1.35; } }
@media print, screen and (min-width: 751px) {
  .recruit-contents .howto figure {
    margin: 40px 40px 0; } }
@media screen and (max-width: 750px) {
  .recruit-contents .howto figure {
    margin-top: 5.3333333333vw;
    overflow-x: scroll; }
    .recruit-contents .howto figure img {
      width: 138.6666666667vw;
      max-width: 138.6666666667vw; } }

/*==================================================
	CMS
==================================================*/
.article-header {
  border-bottom: 2px solid #76b7cd; }
  @media print, screen and (min-width: 751px) {
    .article-header {
      padding-top: 110px;
      padding-bottom: 50px; } }
  @media screen and (max-width: 750px) {
    .article-header {
      padding-top: 20vw;
      padding-bottom: 10.6666666667vw; } }
  @media print, screen and (min-width: 751px) {
    .article-header h1 {
      margin-top: 30px;
      font-size: 42px; } }
  @media screen and (max-width: 750px) {
    .article-header h1 {
      margin-top: 8vw;
      font-size: 7.7333333333vw;
      line-height: 1.5; } }
  .article-header .date {
    font-family: nobel, sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.075em; }
    @media print, screen and (min-width: 751px) {
      .article-header .date {
        margin-top: 35px;
        font: 18px; } }
    @media screen and (max-width: 750px) {
      .article-header .date {
        margin-top: 4.6666666667vw;
        font-size: 3.4666666667vw; } }
  .article-header .autor {
    font-weight: bold;
    letter-spacing: 0.075em; }
    @media print, screen and (min-width: 751px) {
      .article-header .autor {
        margin-top: 5px;
        font: 18px; } }
    @media screen and (max-width: 750px) {
      .article-header .autor {
        margin-top: 0.6666666667vw;
        font-size: 3.4666666667vw; } }

@media print, screen and (min-width: 751px) {
  .article-body {
    padding-bottom: 360px; } }
@media screen and (max-width: 750px) {
  .article-body {
    padding-bottom: 35.3333333333vw; } }
.article-body h2 {
  margin-top: 50px;
  font-weight: normal; }
.article-body p {
  margin-top: 20px; }
.article-body figure {
  text-align: center; }
  @media print, screen and (min-width: 751px) {
    .article-body figure img {
      margin-top: 50px;
      max-width: 640px; } }
  @media screen and (max-width: 750px) {
    .article-body figure img {
      margin-top: 13.3333333333vw;
      width: 100%; } }
  @media print, screen and (min-width: 751px) {
    .article-body figure + p {
      margin-top: 90px; } }
  @media screen and (max-width: 750px) {
    .article-body figure + p {
      margin-top: 12vw; } }
.article-body .movie,
.article-body figure.is-type-video {
  position: relative; }
  @media print, screen and (min-width: 751px) {
    .article-body .movie,
    .article-body figure.is-type-video {
      margin: 90px auto 0;
      width: 640px;
      height: 0;
      padding-top: 360px; } }
  @media screen and (max-width: 750px) {
    .article-body .movie,
    .article-body figure.is-type-video {
      margin-top: 12vw;
      width: 100%;
      height: 0;
      padding-top: 56.25%; } }
  .article-body .movie .wp-block-embed__wrapper::before,
  .article-body figure.is-type-video .wp-block-embed__wrapper::before {
    margin-top: -56.25%; }
  .article-body .movie iframe,
  .article-body figure.is-type-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@media print, screen and (min-width: 751px) {
  .article-map {
    margin-top: 120px; } }
@media screen and (max-width: 750px) {
  .article-map {
    margin-top: 26.6666666667vw; } }
.article-map iframe {
  width: 100%; }

@media print, screen and (min-width: 751px) {
  .article-map + .contact,
  .article-body + .contact {
    margin-top: 400px; } }
@media screen and (max-width: 750px) {
  .article-map + .contact,
  .article-body + .contact {
    margin-top: 53.3333333333vw; } }

.sns-share {
  position: absolute;
  right: 40px;
  margin-top: 120px;
  width: 105px;
  text-align: center;
  z-index: 10; }
  .sns-share h2 {
    font-family: nobel, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    letter-spacing: 0.075em; }
  .sns-share ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .sns-share ul li img {
      width: 24px;
      -webkit-transition-duration: .3s;
              transition-duration: .3s; }
    .sns-share ul li a:hover img {
      -webkit-transform: scale(1.25);
              transform: scale(1.25); }

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