/* -------------------------------------------------
slider
------------------------------------------------- */
.tns-outer {
  padding: 0 !important;
}
.tns-outer [hidden] {
  display: none !important;
}
.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer;
}
.tns-slider {
  -webkit-transition: all 0s;
  transition: all 0s;
}
.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.tns-horizontal.tns-no-subpixel:after {
  content: '';
  display: table;
  clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}
.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}
.tns-no-calc {
  position: relative;
  left: 0;
}
.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -webkit-transition: opacity 0s, -webkit-transform 0s;
  transition: opacity 0s, -webkit-transform 0s;
  transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s, -webkit-transform 0s;
}
.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.tns-autowidth {
  display: inline-block;
}
.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}
.tns-lazy-img.tns-complete {
  opacity: 1;
}
.tns-ah {
  -webkit-transition: height 0s;
  transition: height 0s;
}
.tns-ovh {
  overflow: hidden;
}
.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}
.tns-transparent {
  opacity: 0;
  visibility: hidden;
}
.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}
.tns-normal,
.tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
.tns-vpfix {
  white-space: nowrap;
}
.tns-vpfix > div,
.tns-vpfix > li {
  display: inline-block;
}
.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}
.tns-t-ct {
  width: 2333.3333333%;
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0;
}
.tns-t-ct:after {
  content: '';
  display: table;
  clear: both;
}
.tns-t-ct > div {
  width: 1.4285714%;
  width: calc(100% / 70);
  height: 10px;
  float: left;
}
/* -------------------------------------------------
reset
------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
form {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time {
  display: block;
  margin: 0;
  padding: 0;
}
img {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
select {
  text-transform: none;
}
select {
  word-wrap: normal;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="button"],
input[type="submit"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
button {
  padding: 0;
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: button;
  cursor: pointer;
}
/* -------------------------------------------------
init
------------------------------------------------- */
html {
  font-size: 3.2vw;
}
@media screen and (min-width: 560px) {
  html {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: calc(12px + 2 * (100vw - 1024px) / 376);
  }
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 14px;
  }
}
body {
  position: relative;
  margin: 0;
  padding: 0;
  font-family: "游ゴシック", "Yu Gothic Medium", "YuGothic", "メイリオ", Meiryo, sans-serif;
  line-height: 1;
  text-align: center;
  color: #000;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
}
img {
  vertical-align: top;
  width: 100%;
}
video {
  width: 100%;
}
a {
  color: #000;
}
a a {
  color: #000;
}
/* -------------------------------------------------
utils
------------------------------------------------- */
/* for js
------------------------------------------------- */
.js-lock-scroll {
  overflow: hidden;
}
/* -------------------------------------------------
global
------------------------------------------------- */
/* header
------------------------------------------------- */
.g-header {
  z-index: 100;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 4% 3.333333333333333%;
}
.g-header .g-header-logo {
  position: relative;
  width: 15.958333333333334rem;
}
.g-header .g-header-logo a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-size: 0.833333333333333rem;
  font-weight: bold;
  text-align: left;
}
.g-header .g-header-logo a span {
  display: block;
  position: absolute;
  padding: 0.416666666666667rem 0 0;
}
.g-header .g-header-button-menu {
  z-index: 1;
  position: relative;
  margin: 0 0 0 auto;
  padding: 4px;
  cursor: pointer;
}
.g-header .g-header-button-menu div {
  position: relative;
  width: 24px;
  height: 16px;
}
.g-header .g-header-button-menu div::before,
.g-header .g-header-button-menu div::after,
.g-header .g-header-button-menu div button {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  background: #fff;
}
.g-header .g-header-button-menu div button {
  overflow: hidden;
  top: 7px;
  text-indent: 300%;
  white-space: nowrap;
  opacity: 1;
}
.g-header .g-header-button-menu div::before {
  content: "";
  top: 0;
}
.g-header .g-header-button-menu div::after {
  content: "";
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .g-header {
    padding: 2.777777777777778% 2.083333333333333%;
  }
  .g-header .g-header-logo {
    width: 26.59722222222222%;
    max-width: 383px;
  }
  .g-header .g-header-logo a {
    font-size: 1rem;
  }
  .g-header .g-header-logo a span {
    padding: 0.714285714285714rem 0 0;
  }
}
@media screen and (min-width: 1100px) {
  .g-header .g-header-button-menu {
    display: none;
  }
}
.g-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.g-menu .g-menu-bg {
  position: fixed;
  top: calc(1.25rem + 12px);
  right: 1.25rem;
  right: calc(1rem + 16px);
}
.g-menu .g-menu-bg::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 400vh;
  width: 300vmax;
  height: 400vh;
  height: 300vmax;
  background: #fff;
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.g-menu nav {
  position: relative;
  width: 78.66666666666666%;
  max-width: 590px;
  margin: 0 auto;
  padding: 3.333333333333333rem 0;
  text-align: left;
}
.g-menu .g-menu-link ul {
  list-style-type: none;
  margin: 0 0 2.708333333333333rem;
}
.g-menu .g-menu-link li {
  font-size: 1.166666666666667rem;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
}
.g-menu .g-menu-link li a {
  display: block;
  padding: 1.666666666666667rem 0;
  text-decoration: none;
}
.g-menu .g-menu-entry {
  position: relative;
}
.g-menu .g-menu-entry ul {
  list-style-type: none;
}
.g-menu .g-menu-entry li {
  margin: 0 0 1.666666666666667rem;
}
.g-menu .g-menu-entry li:last-child {
  margin-bottom: 0;
}
.g-menu .g-menu-entry a {
  display: block;
  padding: 1.166666666666667rem 0;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: #e36314;
  border-radius: 3.333333333333333rem;
}
@media screen and (min-width: 768px) {
  .g-menu .g-menu-entry ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .g-menu .g-menu-entry li {
    width: 48%;
    margin: 1.666666666666667rem 0 0;
  }
  .g-menu .g-menu-entry li:nth-child(1),
  .g-menu .g-menu-entry li:nth-child(2) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1100px) {
  .g-menu {
    overflow-y: visible;
    position: static;
    width: auto;
    height: auto;
    top: auto;
    left: auto;
  }
  .g-menu .g-menu-bg {
    display: none;
  }
  .g-menu nav {
    position: relative;
    width: auto;
    max-width: 5000px;
    max-width: initial;
    margin: auto;
    padding: 0;
  }
  .g-menu .g-menu-link ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
  }
  .g-menu .g-menu-link li {
    position: relative;
    padding: 0 0.928571428571429rem;
    font-size: 0.928571428571429rem;
    border: none;
  }
  .g-menu .g-menu-link li::after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 1.714285714285714em;
    top: 50%;
    right: 0;
    background: #ccc;
    -webkit-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg);
  }
  .g-menu .g-menu-link li:last-child {
    padding-right: 0;
  }
  .g-menu .g-menu-link li:last-child::after {
    display: none;
  }
  .g-menu .g-menu-link li.g-menu-link-top {
    display: none;
  }
  .g-menu .g-menu-link li a {
    padding: 0.357142857142857rem 0;
    white-space: nowrap;
    color: #fff;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .g-menu .g-menu-link li a:hover {
    opacity: 0.6;
  }
  .g-menu .g-menu-link li .c-link-nw::after {
    background-image: url("../images/icon_link_nb_white.png");
  }
  .g-menu .g-menu-entry {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .g-menu .g-menu-link li {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1300px) {
  .g-menu .g-menu-link li {
    font-size: 1.142857142857143rem;
  }
}
@media screen and (min-width: 1440px) {
  .g-menu li {
    padding: 0 1.428571428571429rem;
    font-size: 1.142857142857143rem;
  }
}
.g-header .g-header-button-menu div button {
  -webkit-transition: background 0s ease, opacity 0s ease;
  transition: background 0s ease, opacity 0s ease;
  -webkit-transition-delay: 0.8s, 0.3s, 0s;
          transition-delay: 0.8s, 0.3s, 0s;
}
.g-header .g-header-button-menu div::before {
  -webkit-transition: background 0s ease, top 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0s ease, top 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0s ease, top 0.3s ease, transform 0.3s ease;
  transition: background 0s ease, top 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transition-delay: 0.8s, 0.3s, 0s, 0s;
          transition-delay: 0.8s, 0.3s, 0s, 0s;
}
.g-header .g-header-button-menu div::after {
  -webkit-transition: background 0s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0s ease, bottom 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0s ease, bottom 0.3s ease, transform 0.3s ease;
  transition: background 0s ease, bottom 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transition-delay: 0.8s, 0.3s, 0s, 0s;
          transition-delay: 0.8s, 0.3s, 0s, 0s;
}
.g-header .g-menu {
  left: -100%;
  -webkit-transition: left 0s linear;
  transition: left 0s linear;
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.g-header .g-menu .g-menu-bg {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease-in-out;
  transition: opacity 0.3s ease, transform 0.3s ease-in-out;
  transition: opacity 0.3s ease, transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.g-header .g-menu nav ul {
  opacity: 0;
  -webkit-transform: translate(0, -8px);
          transform: translate(0, -8px);
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.g-header .g-menu nav .g-menu-button-entry {
  opacity: 0;
  -webkit-transform: translate(0, -8px);
          transform: translate(0, -8px);
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.g-header.js-active .g-header-button-menu div::before,
.g-header.js-active .g-header-button-menu div::after,
.g-header.js-active .g-header-button-menu div button {
  background: #e36314;
}
.g-header.js-active .g-header-button-menu div button {
  opacity: 0;
}
.g-header.js-active .g-header-button-menu div::before {
  top: 7px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition-delay: 0s, 0s, 0.3s, 0.3s;
          transition-delay: 0s, 0s, 0.3s, 0.3s;
}
.g-header.js-active .g-header-button-menu div::after {
  bottom: 7px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition-delay: 0s, 0s, 0.3s, 0.3s;
          transition-delay: 0s, 0s, 0.3s, 0.3s;
}
.g-header.js-active .g-menu {
  overflow-y: auto;
  opacity: 1;
  left: 0;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.g-header.js-active .g-menu .g-menu-bg {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.g-header.js-active .g-menu nav ul {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.g-header.js-active .g-menu nav .g-menu-button-entry {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}
.g-header.js-narrow .g-menu {
  display: block;
}
@media screen and (min-width: 1100px) {
  .g-header .g-menu {
    left: auto;
  }
  .g-header .g-menu nav ul {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .g-header .g-menu nav .g-menu-button-entry {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
/* main
------------------------------------------------- */
/* footer
------------------------------------------------- */
.g-footer .g-footer-nav {
  margin: 0 0 2.5rem;
}
.g-footer .g-footer-nav ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.g-footer .g-footer-nav li {
  width: 50%;
  border-bottom: 1px solid #ccc;
}
.g-footer .g-footer-nav li:nth-child(odd) {
  width: calc(50% - 1px);
  border-right: 1px solid #ccc;
}
.g-footer .g-footer-nav a {
  display: block;
  padding: 1.666666666666667rem 0;
  text-decoration: none;
}
.g-footer .g-footer-logo {
  margin: 0 0 1.666666666666667rem;
}
.g-footer .g-footer-logo a {
  display: inline-block;
  text-decoration: none;
  color: #0e3192;
}
.g-footer .g-footer-logo img {
  width: 13.375rem;
  margin: 0 0 1.666666666666667rem;
}
.g-footer .g-footer-logo span {
  display: block;
  font-size: 0.833333333333333rem;
  font-weight: bold;
}
.g-footer .g-footer-copyright {
  padding: 0 0 2.916666666666667rem;
  color: #0e3192;
}
.g-footer .g-footer-copyright small {
  font-size: 0.833333333333333rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .g-footer .g-footer-nav {
    margin: 0 0 2.857142857142857rem;
    padding: 3.214285714285714rem 0 2.5rem;
    border-bottom: 1px solid #ccc;
  }
  .g-footer .g-footer-nav ul {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .g-footer .g-footer-nav li {
    width: auto;
    border: none;
    font-size: 0.857142857142857rem;
  }
  .g-footer .g-footer-nav li:nth-child(odd) {
    width: auto;
    border: none;
  }
  .g-footer .g-footer-nav a {
    padding: 0.357142857142857rem 0.857142857142857rem;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .g-footer .g-footer-nav a:hover {
    opacity: 0.5;
  }
  .g-footer .g-footer-nav li + li {
    position: relative;
  }
  .g-footer .g-footer-nav li + li::before {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 1.714285714285714em;
    top: 50%;
    left: 0;
    background: #ccc;
    -webkit-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg);
  }
}
@media screen and (min-width: 768px) {
  .g-footer .g-footer-nav {
    margin: 0;
  }
  .g-footer .g-footer-nav a {
    padding: 0.357142857142857rem 1.142857142857143rem;
  }
  .g-footer .g-footer-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.777777777777778% 8.333333333333332%;
  }
  .g-footer .g-footer-logo {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 36.666666666666664%;
    margin: 0;
  }
  .g-footer .g-footer-logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .g-footer .g-footer-logo a:hover {
    opacity: 0.5;
  }
  .g-footer .g-footer-logo img {
    width: 60.909090909090914%;
    max-width: 268px;
    margin: 0 7.954545454545454% 0 0;
  }
  .g-footer .g-footer-logo span {
    font-size: 1rem;
    white-space: nowrap;
  }
  .g-footer .g-footer-copyright {
    padding: 0;
    color: #0e3192;
  }
  .g-footer .g-footer-copyright small {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1440px) {
  .g-footer .g-footer-nav li {
    font-size: 1rem;
  }
  .g-footer .g-footer-nav a {
    padding: 0.357142857142857rem 2rem;
  }
  .g-footer .g-footer-body {
    padding-right: 8.571428571428571rem;
    padding-left: 8.571428571428571rem;
  }
}
/* -------------------------------------------------
common
------------------------------------------------- */
/* icon for new window link(target="_blank")
------------------------------------------------- */
.c-link-nw::after {
  content: "";
  display: inline-block;
  width: 1.25rem;
  height: 1rem;
  margin: 0 0 0 0.833333333333333rem;
  background: url("../images/icon_link_nb.png") left top no-repeat;
  background-size: 1.25rem auto;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media screen and (min-width: 768px) {
  .c-link-nw::after {
    width: 1.071428571428571rem;
    height: 0.857142857142857rem;
    margin: 0 0 0 0.357142857142857rem;
    background-size: 1.071428571428571rem auto;
  }
}
/* section navigation in each page
------------------------------------------------- */
.c-nav-section {
  z-index: 20;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  height: 100%;
  top: 0;
  right: calc(4.1666666% - 10px);
  -webkit-transition: height 0.5s ease;
  transition: height 0.5s ease;
}
.c-nav-section ul {
  list-style-type: none;
}
.c-nav-section li {
  margin: 0 0 1.071428571428571rem;
  -webkit-transition: margin 0.5s ease;
  transition: margin 0.5s ease;
}
.c-nav-section li:last-child {
  margin-bottom: 0;
}
.c-nav-section a {
  display: block;
  overflow: hidden;
  position: relative;
  width: 20px;
  height: 20px;
  white-space: nowrap;
  text-indent: 500%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-nav-section a::before,
.c-nav-section a::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 10px;
  height: 10px;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  -webkit-transition: border 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease;
  transition: border 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease;
  transition: border 0.3s ease, background 0.3s ease, transform 0.3s ease;
  transition: border 0.3s ease, background 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-nav-section a::before {
  background: #fff;
}
.c-nav-section a::after {
  border: 1px solid #fff;
  -webkit-transform: scale(0);
          transform: scale(0);
}
.c-nav-section a:hover {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
.c-nav-section a:hover::before {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.c-nav-section a:hover::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.c-nav-section li.js-active a::before {
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: none;
  transition: none;
}
.c-nav-section li.js-active a::after {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: none;
  transition: none;
}
@media screen and (min-width: 768px) {
  .c-nav-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-nav-section-move a::before {
  background: #e36314;
}
.c-nav-section-move a::after {
  border-color: #e36314;
}
.c-nav-section-shrink li {
  margin: 0 0 0.357142857142857rem;
}
/* main visual
------------------------------------------------- */
.c-mv {
  overflow: hidden;
  position: relative;
}
.c-mv .c-mv-wrapper {
  position: relative;
  margin: 0 0 8%;
}
.c-mv .c-mv-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background: url("../images/mv_mask.svg") center bottom no-repeat;
  background-position: center bottom -2px;
  background-size: 102% auto;
}
.c-mv .c-mv-photo::before {
  content: "";
  display: block;
  width: 100%;
  padding: 106.66666666666667% 0 0;
}
.c-mv .c-mv-photo video,
.c-mv .c-mv-photo img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.c-mv .c-mv-photo iframe,
.c-mv .c-mv-photo #ytplayer {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-mv .c-mv-copy {
  position: absolute;
  width: 81.33333333333333%;
  max-width: 610px;
  top: 50%;
  left: 8.666666666666668%;
}
.c-mv .c-mv-video {
  position: relative;
  margin: 0 10.666666666666668%;
}
.c-mv .c-mv-video::before {
  content: "";
  display: block;
  width: 100%;
  padding: 56.25% 0 0;
}
.c-mv .c-mv-video iframe {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.c-mv .c-mv-video video:focus {
  outline: none;
}
.c-mv .c-mv-scroll {
  z-index: 10;
  overflow: hidden;
  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;
  position: absolute;
  height: 100%;
  top: 0;
  right: 1rem;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.c-mv .c-mv-scroll .text {
  z-index: 10;
  width: 1rem;
  margin: 0 0 6px;
  font-size: 1rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-mv .c-mv-scroll .line {
  overflow: hidden;
  width: 1px;
  height: 60px;
  margin: 0 auto;
}
.c-mv .c-mv-scroll .line::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-animation: anim-c-nav-side-scroll 3s ease infinite;
          animation: anim-c-nav-side-scroll 3s ease infinite;
}
.c-mv .c-mv-scroll.js-hide {
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .c-mv .c-mv-wrapper {
    margin: 0;
  }
  .c-mv .c-mv-photo::before {
    padding: 55.55555555555556% 0 0;
  }
  .c-mv .c-mv-copy {
    width: 42.36111111111111%;
    max-width: 610px;
    top: 21.25%;
    left: 4.166666666666666%;
  }
  .c-mv .c-mv-video {
    position: absolute;
    margin: 0;
    width: 34.72222222222222%;
    max-width: 500px;
    top: 50%;
    left: 4.166666666666666%;
  }
  .c-mv .c-mv-scroll {
    z-index: 10;
    position: fixed;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    bottom: 0;
    right: calc(4.1666666% - 0.5rem);
  }
  .c-mv .c-mv-scroll .text {
    margin: 0 0 12px;
    font-size: 0.857142857142857rem;
    color: #e36314;
  }
  .c-mv .c-mv-scroll .line {
    height: 70px;
  }
  .c-mv .c-mv-scroll .line::before {
    background: #e36314;
  }
}
@media screen and (min-width: 1024px) {
  .c-mv .c-mv-copy {
    top: 21.25%;
  }
  .c-mv .c-mv-video {
    top: 46.25%;
  }
}
@media screen and (min-width: 1440px) {
  .c-mv .c-mv-copy {
    top: 15%;
  }
  .c-mv .c-mv-video {
    top: 40%;
  }
}
@media screen and (min-width: 1441px) {
  .c-mv {
    margin-bottom: 7.142857142857143rem;
  }
}
.c-mv-top .c-mv-photo {
  background: url("../images/top/mv_photo.jpg") center top no-repeat;
  background-size: contain;
}
.c-mv-top .c-mv-photo #ytplayer {
  display: none;
}
.c-mv-top .c-mv-copy {
  width: 78%;
  max-width: 780px;
  top: 32.5%;
  left: 11.333333333333332%;
}
@media screen and (min-width: 768px) {
  .c-mv-top .c-mv-wrapper {
    height: 100vh;
    height: 56.25vh;
  }
  .c-mv-top .c-mv-photo {
    background-image: none;
  }
  .c-mv-top .c-mv-photo #ytplayer {
    display: block;
  }
  .c-mv-top .c-mv-copy {
    display: none;
  }
  .c-mv-top .c-mv-video {
    display: none;
  }
}
.c-mv-hs .c-mv-photo {
  background: #8eb7d1 url("../images/highschool/mv_photo.jpg") center top no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .c-mv-hs .c-mv-photo {
    background-image: url("../images/highschool/mv_photo_pc.jpg");
  }
}
.c-mv-nc .c-mv-photo {
  background: #8eb7d1 url("../images/newgrad_career/mv_photo.jpg") center top no-repeat;
  background-size: contain;
}
.c-mv-nc .c-mv-copy {
  position: absolute;
  width: 82.26666666666667%;
  max-width: 617px;
  top: 45.875%;
  left: 7.199999999999999%;
}
@media screen and (min-width: 768px) {
  .c-mv-nc .c-mv-photo {
    background-image: url("../images/newgrad_career/mv_photo_pc.jpg");
  }
  .c-mv-nc .c-mv-copy {
    width: 42.84722222222222%;
    top: 12.5%;
    right: 7.986111111111111%;
    left: auto;
  }
  .c-mv-nc .c-mv-video {
    top: 40%;
    right: 12.152777777777777%;
    left: auto;
  }
}
@media screen and (min-width: 768px) {
  .c-mv-nc .c-mv-copy {
    width: 42.84722222222222%;
    top: 17.75%;
    right: 7.986111111111111%;
    left: auto;
  }
  .c-mv-nc .c-mv-video {
    right: 12.152777777777777%;
    left: auto;
  }
}
/* join us
------------------------------------------------- */
.c-joinus {
  color: #fff;
}
.c-joinus .c-joinus-inner {
  background: #e36314;
}
.c-joinus .c-joinus-body {
  padding: 8% 8% 10.666666666666668%;
}
.c-joinus .c-joinus-body h2 {
  position: relative;
  width: 61.6%;
  max-width: 462px;
  margin: 0 auto 1.625rem;
}
.c-joinus .c-joinus-body h2::before {
  content: "";
  display: block;
  width: 100%;
  padding: 40.692640692640694% 0 0;
}
.c-joinus .c-joinus-body h2 .en {
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.c-joinus .c-joinus-body h2 .line {
  display: block;
  position: absolute;
  width: 86.58008658008657%;
  height: 34.04255319148936%;
  bottom: 0;
  left: 8.658008658008658%;
}
.c-joinus .c-joinus-body p {
  margin: 0 0 1.625rem;
  font-size: 1.166666666666667rem;
  line-height: 1.4;
}
.c-joinus .c-joinus-body p:last-child {
  margin-bottom: 0;
}
.c-joinus .c-joinus-button-entry ul {
  list-style-type: none;
}
.c-joinus .c-joinus-button-entry li {
  margin: 0 0 1.25rem;
}
.c-joinus .c-joinus-button-entry li:last-child {
  margin-bottom: 0;
}
.c-joinus .c-joinus-button-entry a {
  display: block;
  padding: 1.458333333333333rem 0;
  font-size: 1.333333333333333rem;
  font-weight: bold;
  text-decoration: none;
  color: #e36314;
  background: #fff;
  border-radius: 4.25rem;
}
@media screen and (min-width: 768px) {
  .c-joinus {
    padding: 6.944444444444445vw 0 0 8.333333333333332%;
  }
  .c-joinus .c-joinus-inner {
    position: relative;
  }
  .c-joinus .c-joinus-photo {
    position: relative;
    width: 68.18181818181817%;
    top: -6.944444444444445vw;
    left: -9.090909090909092%;
  }
  .c-joinus .c-joinus-body {
    position: absolute;
    width: 28.78787878787879%;
    padding: 0;
    top: 50%;
    right: 9.090909090909092%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .c-joinus .c-joinus-body h2 {
    width: auto;
    max-width: 5000px;
    max-width: initial;
    margin: 0 auto 1.928571428571429rem;
  }
  .c-joinus .c-joinus-body h2::before {
    padding: 40.625% 0 0;
  }
  .c-joinus .c-joinus-body p {
    margin: 0 0 1.928571428571429rem;
    font-size: 1rem;
    line-height: 2;
  }
  .c-joinus .c-joinus-body p:last-child {
    margin-bottom: 0;
  }
  .c-joinus .c-joinus-button-entry {
    width: 100%;
    margin: 0 auto;
  }
  .c-joinus .c-joinus-button-entry ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-joinus .c-joinus-button-entry li {
    width: 47.61904761904761%;
    margin: 0.714285714285714rem 0 0;
  }
  .c-joinus .c-joinus-button-entry li:nth-child(1),
  .c-joinus .c-joinus-button-entry li:nth-child(2) {
    margin-top: 0;
  }
  .c-joinus .c-joinus-button-entry li:only-child {
    width: 100%;
  }
  .c-joinus .c-joinus-button-entry a {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    max-width: 5000px;
    max-width: initial;
    margin: 0 auto;
    padding: 1.071428571428571rem 0;
    font-size: 1rem;
    color: #fff;
    background: none;
    border: 1px solid #fff;
    border-radius: 3.142857142857143rem;
    -webkit-transition: color 0.5s ease, background 0.5s ease;
    transition: color 0.5s ease, background 0.5s ease;
  }
  .c-joinus .c-joinus-button-entry a:hover {
    color: #e36314;
    background: #fff;
  }
}
@media screen and (min-width: 1440px) {
  .c-joinus .c-joinus-button-entry a {
    padding: 1.428571428571429rem 0;
    font-size: 1.285714285714286rem;
    border-radius: 4.142857142857143rem;
  }
}
.c-joinus .c-joinus-body h2 .line span {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #e36314;
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-transition: -webkit-transform 1s cubic-bezier(1, 0, 0, 1);
  transition: -webkit-transform 1s cubic-bezier(1, 0, 0, 1);
  transition: transform 1s cubic-bezier(1, 0, 0, 1);
  transition: transform 1s cubic-bezier(1, 0, 0, 1), -webkit-transform 1s cubic-bezier(1, 0, 0, 1);
}
.c-joinus.js-anim-in .c-joinus-body h2 .line span {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}
/* -------------------------------------------------
top
------------------------------------------------- */
.top-nav {
  padding: 13.333333333333334% 5.333333333333334% 40%;
  background: url("../images/top/nav_bg.jpg") center bottom no-repeat;
  background-size: 192% auto;
}
.top-nav ul {
  list-style-type: none;
}
.top-nav li {
  margin: 0 0 1.666666666666667rem;
  color: #fff;
}
.top-nav li:last-child {
  margin-bottom: 0;
}
.top-nav li a {
  display: block;
  color: #fff;
  text-decoration: none;
  background: #e36314;
}
.top-nav li > div {
  background: #5a5a5a;
}
.top-nav li .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-nav li .photo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 50%;
}
.top-nav li .text {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
}
.top-nav li .text::after {
  content: "";
  display: block;
  width: 3.958333333333333rem;
  height: 0.416666666666667rem;
  margin: 1.25rem 0 0;
  background: url("../images/top/nav_icon_arrow.png") left top no-repeat;
  background-size: contain;
}
.top-nav li .text span {
  display: block;
  margin: 0 0 0.416666666666667rem;
  font-size: 1.166666666666667rem;
  font-weight: bold;
}
.top-nav li .text span.note {
  font-size: 0.833333333333333rem;
  font-weight: normal;
}
.top-nav li .text br {
  display: none;
}
@media screen and (max-width: 320px) {
  .top-nav li .text br {
    display: inline;
  }
}
@media screen and (min-width: 768px) {
  .top-nav {
    padding: 6.944444444444445% 8.333333333333332% 16.666666666666664%;
    background-size: cover;
  }
  .top-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .top-nav li {
    position: relative;
    width: 30%;
    margin: 0;
    background: #e36314;
  }
  .top-nav li:last-child {
    background: #5a5a5a;
  }
  .top-nav li a {
    height: 100%;
    background: none;
  }
  .top-nav li a:hover .photo::after {
    opacity: 1;
  }
  .top-nav li a:hover .photo img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition-duration: 3s;
            transition-duration: 3s;
  }
  .top-nav li a:hover .text::after {
    -webkit-transform: translate(10px, 0);
            transform: translate(10px, 0);
  }
  .top-nav li .container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .top-nav li div {
    background: none;
  }
  .top-nav li .photo {
    overflow: hidden;
    position: relative;
    width: auto;
  }
  .top-nav li .photo::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    background: rgba(142,183,209,0.4);
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
  }
  .top-nav li .photo img {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  }
  .top-nav li .text {
    display: block;
    width: auto;
    margin: 0;
    padding: 2.142857142857143rem 2.142857142857143rem 3.571428571428572rem;
  }
  .top-nav li .text::after {
    position: absolute;
    bottom: 2.142857142857143rem;
    right: 2.142857142857143rem;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .top-nav li .text span {
    font-size: 1rem;
    text-align: left;
  }
  .top-nav li .text span:nth-child(1) {
    font-size: 1.285714285714286rem;
  }
}
.top-news {
  padding: 16% 10.666666666666668%;
  background: #f7f7f2;
}
.top-news h2 {
  margin: 0 0 0.833333333333333rem;
  font-weight: normal;
  text-align: left;
}
.top-news h2 span {
  display: block;
}
.top-news h2 .en {
  margin: 0 0 0.416666666666667rem;
  font-size: 2.166666666666667rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
}
.top-news h2 .ja {
  font-size: 0.833333333333333rem;
}
.top-news h2 br {
  display: none;
}
.top-news ul {
  overflow: hidden;
  list-style-type: none;
  text-align: left;
  -webkit-transition: height 0.5s ease;
  transition: height 0.5s ease;
}
.top-news li {
  border-bottom: 1px solid #ccc;
}
.top-news li div,
.top-news li a {
  display: block;
  padding: 1.666666666666667rem 0 0.833333333333333rem;
  text-decoration: none;
}
.top-news li time {
  margin: 0 0 0.708333333333333rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
}
.top-news li p {
  line-height: 1.4;
}
.top-news .button {
  margin: 2.5rem 0 0;
}
.top-news .button button {
  display: inline-block;
  min-width: 13.333333333333334rem;
  padding: 1.333333333333333rem 0;
  font-size: 0.916666666666667rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 900;
  text-decoration: none;
  color: #e36314;
  border: 1px solid #e36314;
  background: #fff;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .top-news {
    margin: 0 8.333333333333332% 0 0;
    padding: 5.416666666666667% 13.88888888888889% 6.944444444444445% 8.333333333333332%;
  }
  .top-news .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 4.285714285714286rem;
  }
  .top-news h2 {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 20%;
    margin: 0;
    padding: 1.285714285714286rem 0 0;
  }
  .top-news h2 span {
    margin: 0 0 0.357142857142857rem;
  }
  .top-news h2 .en {
    font-size: 2.857142857142857rem;
  }
  .top-news h2 .ja {
    font-size: 1rem;
  }
  .top-news ul {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .top-news li:first-child {
    padding-top: 0;
  }
  .top-news li div,
  .top-news li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.571428571428571rem 0;
  }
  .top-news li a {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
  }
  .top-news li a:hover {
    opacity: 0.5;
  }
  .top-news li time {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 7em;
    margin: 0;
    line-height: 1.4;
  }
  .top-news li p {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    line-height: 1.4;
  }
  .top-news .button {
    margin: 4.285714285714286rem 0 0 20%;
  }
  .top-news .button button {
    padding: 1.428571428571429rem 4.285714285714286rem;
    font-size: 1rem;
    border-radius: 3.857142857142857rem;
    -webkit-transition: background 0.5s ease;
    transition: background 0.5s ease;
  }
  .top-news .button button:hover {
    background: #fff3ec;
  }
}
.top-news-small .button {
  display: none;
}
.top-blog {
  padding: 16% 5.333333333333334%;
}
.top-blog h2 {
  margin: 0 0 3.333333333333333rem;
  font-weight: normal;
}
.top-blog h2 span {
  display: block;
}
.top-blog h2 .en {
  margin: 0 0 0.416666666666667rem;
  font-size: 2.166666666666667rem;
  font-family: 'Barlow', sans-serif;
  font-weight: 700;
}
.top-blog h2 .ja {
  font-size: 0.833333333333333rem;
}
.top-blog h2 br {
  display: none;
}
.top-blog article {
  margin: 0 0 2.5rem;
  text-align: left;
}
.top-blog article:last-child {
  margin-bottom: 0;
}
.top-blog article a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-decoration: none;
}
.top-blog article .photo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  position: relative;
  width: 49.850746268656714%;
  margin: 0 5.970149253731343% 0 0;
}
.top-blog article .photo::before {
  content: "";
  display: block;
  width: 100%;
  padding: 66.66666666666666% 0 0;
}
.top-blog article .photo img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-blog article .text {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.top-blog article .text::after {
  content: "";
  display: block;
  position: absolute;
  width: 6.666666666666667rem;
  height: 0.708333333333333rem;
  right: 0;
  bottom: 0.166666666666667rem;
  background: url("../images/top/blog_icon_arrow.png") right bottom no-repeat;
  background-size: contain;
}
.top-blog article .text h3 {
  margin: -0.2rem 0 0.566666666666667rem;
  font-weight: bold;
  line-height: 1.4;
  color: #e36314;
}
.top-blog article .text p {
  overflow: hidden;
  max-height: 5.6em;
  margin: 0 0 0.766666666666667rem;
  font-size: 1.166666666666667rem;
  line-height: 1.4;
}
.top-blog article .text time {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 1em 0 0;
  font-family: 'Barlow', sans-serif;
  font-weight: 100;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .top-blog {
    padding: 6.944444444444445% 8.333333333333332%;
  }
  .top-blog h2 {
    margin: 0 0 4.285714285714286rem;
  }
  .top-blog h2 span {
    margin: 0 0 0.357142857142857rem;
  }
  .top-blog h2 .en {
    font-size: 2.857142857142857rem;
  }
  .top-blog h2 .ja {
    font-size: 1rem;
  }
  .top-blog .items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -2.5%;
  }
  .top-blog article {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 28.57142857142857%;
    margin: 3.571428571428572rem 2.380952380952381% 0;
  }
  .top-blog article:nth-child(1),
  .top-blog article:nth-child(2),
  .top-blog article:nth-child(3) {
    margin-top: 0;
  }
  .top-blog article a {
    display: block;
  }
  .top-blog article a:hover .photo::after {
    opacity: 1;
  }
  .top-blog article a:hover .photo img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition-duration: 3s;
            transition-duration: 3s;
  }
  .top-blog article a:hover .text::after {
    -webkit-transform: translate(10px, 0);
            transform: translate(10px, 0);
  }
  .top-blog article .photo {
    overflow: hidden;
    position: relative;
    width: auto;
    margin: 0 0 1.285714285714286rem;
  }
  .top-blog article .photo::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    background: rgba(142,183,209,0.4);
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
  }
  .top-blog article .photo img {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  }
  .top-blog article .text {
    position: relative;
    margin: 0;
  }
  .top-blog article .text::after {
    width: 5.714285714285714rem;
    height: 0.714285714285714rem;
    bottom: 1px;
    background: url("../images/top/blog_icon_arrow_pc.png") right bottom no-repeat;
    background-size: contain;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .top-blog article .text h3 {
    margin: 0 0 1rem;
  }
  .top-blog article .text p {
    margin: 0 0 1.857142857142857rem;
    font-size: 1.428571428571429rem;
  }
}
/* -------------------------------------------------
section
------------------------------------------------- */
.sec {
  padding: 18.666666666666668% 5.333333333333334% 0;
}
.sec .sec-headline {
  margin: 0 0 3.333333333333333rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}
.sec .sec-lead {
  margin: 0 0 2.208333333333333rem;
  text-align: left;
}
.sec .sec-lead p {
  margin: 0 0 1.6em;
  line-height: 1.6;
}
.sec .sec-lead p:last-child {
  margin-bottom: 0;
}
.sec .sec-lead p .pc {
  display: none;
}
.sec .sec-lead-center {
  text-align: center;
}
.sec .sec-button {
  margin: 0 0 4.166666666666667rem;
}
.sec .sec-button a {
  display: inline-block;
  min-width: 13.333333333333334rem;
  padding: 1.333333333333333rem 0;
  font-size: 0.916666666666667rem;
  font-weight: bold;
  text-decoration: none;
  color: #e36314;
  border: 1px solid #e36314;
  background: #fff;
  border-radius: 5rem;
}
@media screen and (min-width: 768px) {
  .sec {
    padding: 6.944444444444445% 8.333333333333332% 0;
  }
  .sec .sec-headline {
    margin: 0 0 3.571428571428572rem;
    font-size: 2.857142857142857rem;
    line-height: 1;
  }
  .sec .sec-headline br {
    display: none;
  }
  .sec .sec-lead {
    margin: 0 0 3.071428571428572rem;
    text-align: center;
  }
  .sec .sec-lead p {
    margin: 0 0 2em;
    line-height: 2;
  }
  .sec .sec-lead p:last-child {
    margin-bottom: 0;
  }
  .sec .sec-lead p .pc {
    display: inline;
  }
  .sec .sec-button {
    margin: 0 0 3.571428571428572rem;
  }
  .sec .sec-button a {
    min-width: 14.285714285714286rem;
    padding: 1.285714285714286rem 0;
    font-size: 1.166666666666667rem;
    border-radius: 3.571428571428572rem;
    -webkit-transition: color 0.5s ease, background 0.5s ease;
    transition: color 0.5s ease, background 0.5s ease;
  }
  .sec .sec-button a:hover {
    color: #fff;
    background: #e36314;
  }
}
.sec-message {
  padding-top: 7.466666666666668%;
  padding-bottom: 66.13333333333333%;
}
.sec-message p {
  line-height: 3;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sec-message {
    padding-top: 4.166666666666666%;
    padding-bottom: 0;
  }
  .sec-message .sec-inner {
    padding: 0 0 30%;
  }
  .sec-message .message {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    display: inline-block;
    margin: 0 auto;
    white-space: nowrap;
    text-align: center;
  }
  .sec-message .message p {
    font-size: 1.142857142857143rem;
    line-height: 4.444444444444445vw;
  }
  .sec-message .message span {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
  }
}
@media screen and (min-width: 1440px) {
  .sec-message .message p {
    line-height: 4;
  }
}
.sec-message-hs {
  background: url("../images/highschool/message_photo.jpg") center bottom no-repeat;
  background-size: 160% auto;
}
@media screen and (min-width: 768px) {
  .sec-message-hs {
    background: none;
  }
  .sec-message-hs .sec-inner {
    background: url("../images/highschool/message_photo.jpg") center bottom no-repeat;
    background-size: contain;
  }
}
@media screen and (min-width: 1440px) {
  .sec-message-hs .sec-inner {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, rgba(255,255,255,0))), url("../images/highschool/message_photo.jpg");
    background-image: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,0) 50%), url("../images/highschool/message_photo.jpg");
    background-position: center top, center bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.sec-message-nc {
  padding-top: 10.133333333333333%;
  background: url("../images/newgrad_career/message_photo.jpg") center bottom no-repeat;
  background-size: 160% auto;
}
.sec-message-nc .message p {
  margin: 0 0 2.4em;
  line-height: 2.4;
}
.sec-message-nc .message p:last-child {
  margin-bottom: 0;
}
.sec-message-nc .message p:first-child {
  font-size: 1.25rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .sec-message-nc {
    padding-top: 4.166666666666666%;
    background: none;
  }
  .sec-message-nc .sec-inner {
    background: url("../images/newgrad_career/message_photo.jpg") center bottom no-repeat;
    background-size: contain;
  }
  .sec-message-nc .message p {
    margin: 0 0 0 2.666666666666667vw;
    line-height: 2.666666666666667vw;
  }
  .sec-message-nc .message p:last-child {
    margin-left: 0;
  }
  .sec-message-nc .message p:first-child {
    font-size: 1.428571428571429rem;
  }
}
@media screen and (min-width: 1440px) {
  .sec-message-nc .sec-inner {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, rgba(255,255,255,0))), url("../images/newgrad_career/message_photo.jpg");
    background-image: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,0) 50%), url("../images/newgrad_career/message_photo.jpg");
    background-position: center top, center bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .sec-message-nc .message p {
    margin: 0 0 0 2.4em;
    line-height: 2.4;
  }
}
.sec-world {
  padding-bottom: 0;
  padding-right: 0;
  padding-left: 0;
}
.sec-world .text {
  color: #fff;
  background: #e36314;
}
.sec-world .text .inner {
  padding: 3.041666666666667rem 5.333333333333334%;
}
.sec-world .text p {
  margin: 0 0 1.6em;
  line-height: 1.6;
  text-align: left;
}
.sec-world .text p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .sec-world {
    padding-right: 0;
    padding-left: 0;
  }
  .sec-world .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sec-world .text {
    margin: 8.333333333333332% 0;
    padding: 0 0 0 8.333333333333332%;
  }
  .sec-world .text .inner {
    padding: 5.214285714285714rem 4.285714285714286rem 5.214285714285714rem 0;
  }
  .sec-world .text p {
    margin: 0 0 2em;
    line-height: 2;
    text-align: left;
  }
  .sec-world .text p:last-child {
    margin-bottom: 0;
  }
  .sec-world .photo {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 62.5%;
  }
  .sec-world .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.sec-letter {
  padding-bottom: 48%;
  background: url("../images/highschool/letter_photo.jpg") center bottom no-repeat;
  background-size: 192% auto;
}
.sec-letter ul {
  list-style-type: none;
}
.sec-letter li {
  margin: 0 0 0.833333333333333rem;
  padding: 1.916666666666667rem 2.5rem;
  text-align: left;
  border: 7px solid #0e78c4;
  background: #fff;
}
.sec-letter li:last-child {
  margin-bottom: 0;
}
.sec-letter .text {
  margin: 0 0 1.083333333333333rem;
}
.sec-letter .text:last-child {
  margin-bottom: 0;
}
.sec-letter .text p {
  margin: 0 0 1em;
  font-size: 1.166666666666667rem;
  line-height: 2;
}
.sec-letter .text p:last-child {
  margin-bottom: 0;
}
.sec-letter .name {
  font-weight: bold;
  text-align: right;
  color: #0e78c4;
}
.sec-letter .name::before {
  content: "";
  display: inline-block;
  width: 5rem;
  height: 1px;
  margin: 0 0.833333333333333rem 0 0;
  vertical-align: middle;
  background: #0e78c4;
}
@media screen and (min-width: 768px) {
  .sec-letter {
    padding-bottom: 12.5%;
    background-size: contain;
  }
  .sec-letter .sec-lead br.tab {
    display: inline;
  }
  .sec-letter .sec-lead br.pc {
    display: inline;
  }
  .sec-letter ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-letter li {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    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: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 30%;
    margin: 0;
    padding: 1.428571428571429rem 2.142857142857143rem;
    border-width: 0.714285714285714rem;
  }
  .sec-letter .text {
    margin: 0 0 2.142857142857143rem;
  }
  .sec-letter .text:last-child {
    margin-bottom: 0;
  }
  .sec-letter .text p {
    font-size: 1.142857142857143rem;
    line-height: 2;
  }
  .sec-letter .text p:last-child {
    padding: 0;
  }
  .sec-letter .name {
    font-size: 1rem;
  }
  .sec-letter .name::before {
    width: 4.285714285714286rem;
    margin: 0 0.714285714285714rem 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .sec-letter .sec-lead br.tab {
    display: none;
  }
}
@media screen and (min-width: 1440px) {
  .sec-letter li {
    padding: 3.071428571428572rem 3.571428571428572rem;
  }
  .sec-letter .text p {
    font-size: 1.428571428571429rem;
  }
  .sec-letter .name {
    font-size: 1.428571428571429rem;
  }
}
.sec-work {
  padding: 18.666666666666668% 0 13.333333333333334%;
  background: #f7f7f2;
}
.sec-work .item {
  position: relative;
  overflow: hidden;
  margin: 0 0 2.5rem;
  padding: 0 0 2.5rem;
}
.sec-work .item::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 3.333333333333333rem;
  left: 10.666666666666668%;
  background: #fff;
}
.sec-work .item .head {
  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;
  margin: 0 0 2.208333333333333rem 5.333333333333334%;
}
.sec-work .item .head h3 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  text-align: left;
}
.sec-work .item .head h3 span {
  display: inline-block;
  position: relative;
  padding: 0 0 0.5rem;
}
.sec-work .item .head h3 span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0.5rem;
  bottom: 0;
  background: #e36314;
}
.sec-work .item .head h3 br {
  display: none;
}
.sec-work .item .head .photo {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 49.29577464788733%;
  margin: 0 0 0 2.816901408450704%;
}
.sec-work .item .body {
  position: relative;
  margin: 0 0 0 10.666666666666668%;
}
.sec-work .item .body > p {
  margin: 0 0 2.208333333333333rem;
  padding: 0 8.955223880597014%;
  line-height: 1.6;
  text-align: left;
}
.sec-work .item .body .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 0 2.5rem;
}
.sec-work .item .body .name .photo {
  width: 31.967213114754102%;
  margin: 0 6.557377049180328% 0 0;
  border-radius: 50%;
}
.sec-work .item .body .name p {
  font-size: 1.166666666666667rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: left;
  color: #e36314;
}
.sec-work .item:nth-child(even)::before {
  left: auto;
  right: 10.666666666666668%;
}
.sec-work .item:nth-child(even) .head {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: 0;
  margin-right: 5.333333333333334%;
}
.sec-work .item:nth-child(even) .head .photo {
  margin-left: 0;
  margin-right: 2.816901408450704%;
}
.sec-work .item:nth-child(even) .body {
  margin-left: 0;
  margin-right: 10.666666666666668%;
}
@media screen and (min-width: 768px) {
  .sec-work {
    padding: 6.944444444444445% 8.333333333333332%;
  }
  .sec-work .items {
    padding: 0 3.571428571428572rem;
    padding: 0 4.166666666666666%;
  }
  .sec-work .item {
    overflow: visible;
    margin: 0 0 7.142857142857143rem;
    padding: 0;
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sec-work .item:last-child {
    margin-bottom: 0;
  }
  .sec-work .item::before {
    display: none;
  }
  .sec-work .item .head {
    position: static;
    display: block;
    margin: 0;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 36.36363636363637%;
  }
  .sec-work .item .head h3 {
    font-size: 2.857142857142857rem;
    position: absolute;
    top: 0;
    right: -4.545454545454546%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
  .sec-work .item .head h3 span {
    padding: 0 0 0.357142857142857rem;
  }
  .sec-work .item .head h3 span::after {
    height: 0.714285714285714rem;
  }
  .sec-work .item .head .photo {
    width: 100%;
    height: 100%;
    margin: 0;
  }
  .sec-work .item .head .photo img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
  }
  .sec-work .item .body {
    margin: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    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: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 6.642857142857143rem 3.571428571428572rem 3.571428571428572rem;
  }
  .sec-work .item .body > p {
    margin: 0 0 2rem;
    padding: 0;
    line-height: 2;
  }
  .sec-work .item .body .name {
    padding: 0;
  }
  .sec-work .item .body .name .photo {
    width: 7.142857142857143rem;
    margin: 0 1.428571428571429rem 0 0;
  }
  .sec-work .item .body .name p {
    font-size: 1.428571428571429rem;
    line-height: 1.65;
  }
  .sec-work .item:nth-child(even) .head {
    margin: 0;
  }
  .sec-work .item:nth-child(even) .head .photo {
    margin: 0;
  }
  .sec-work .item:nth-child(even) .body {
    margin: 0;
  }
  .sec-work .item:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .sec-work .item:nth-child(odd) .head h3 {
    right: auto;
    left: -4.545454545454546%;
  }
}
.sec-oneday {
  padding-right: 0;
  padding-left: 0;
}
.sec-oneday ul {
  list-style-type: none;
}
.sec-oneday li {
  padding: 0 3.333333333333333rem;
}
.sec-oneday .photo {
  margin: 0 0 1.666666666666667rem;
}
.sec-oneday .text p:nth-child(1) {
  margin: 0 0 1.375rem;
  font-size: 1.166666666666667rem;
  font-weight: bold;
  color: #0e78c4;
}
.sec-oneday .text p:nth-child(2) {
  line-height: 1.6;
  text-align: left;
}
.sec-oneday .tns-ovh {
  margin: 0 0 1.666666666666667rem;
}
.sec-oneday .tns-controls {
  padding: 0 3.333333333333333rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.sec-oneday .tns-controls button {
  content: "";
  overflow: hidden;
  display: block;
  width: 10.666666666666666rem;
  height: 2.5rem;
  white-space: nowrap;
  text-indent: 500%;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}
.sec-oneday .tns-controls button:nth-child(1) {
  background-image: url("../images/highschool/oneday_icon_prev.png");
}
.sec-oneday .tns-controls button:nth-child(2) {
  background-image: url("../images/highschool/oneday_icon_next.png");
}
@media screen and (min-width: 768px) {
  .sec-oneday {
    padding-bottom: 3.472222222222222%;
  }
  .sec-oneday .sec-inner {
    max-width: 5000px;
    max-width: initial;
  }
  .sec-oneday .sec-headline {
    margin-bottom: 5.714285714285714rem;
  }
  .sec-oneday li {
    padding: 0;
  }
  .sec-oneday .photo {
    margin: 0 0 1.428571428571429rem;
  }
  .sec-oneday .text p:nth-child(1) {
    margin: 0 0 1.083333333333333rem;
    font-size: 1.428571428571429rem;
  }
  .sec-oneday .text p:nth-child(2) {
    line-height: 2;
  }
  .sec-oneday .tns-outer {
    position: relative;
  }
  .sec-oneday .tns-ovh {
    margin: 0;
  }
  .sec-oneday .tns-controls {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: absolute;
    top: -5.714285714285714rem;
    right: 4.285714285714286rem;
    right: 8.333333333333332%;
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
  .sec-oneday .tns-controls button {
    width: 4.285714285714286rem;
    height: 0.714285714285714rem;
    background-position: left center;
    cursor: pointer;
  }
  .sec-oneday .tns-controls button:nth-child(1) {
    margin: 0 1.142857142857143rem 0 0;
    background-image: url("../images/highschool/oneday_icon_prev_pc.png");
  }
  .sec-oneday .tns-controls button:nth-child(2) {
    background-image: url("../images/highschool/oneday_icon_next_pc.png");
  }
  .sec-oneday .tns-controls button:hover:nth-child(1) {
    background-image: url("../images/highschool/oneday_icon_prev_pc_o.png");
  }
  .sec-oneday .tns-controls button:hover:nth-child(2) {
    background-image: url("../images/highschool/oneday_icon_next_pc_o.png");
  }
}
.sec-business {
  padding: 16% 0 0 0;
}
.sec-business .sec-lead {
  padding-right: 5.333333333333334%;
  padding-left: 5.333333333333334%;
}
.sec-business .item {
  position: relative;
}
.sec-business .item .outer {
  padding: 16% 5.333333333333334%;
  background: #f7f7f2;
}
.sec-business .item .inner {
  position: relative;
  padding: 4.166666666666667rem 1.666666666666667rem 2.625rem;
  border: 7px solid #e36314;
  text-align: left;
}
.sec-business .item .inner h3 {
  margin: 0 0 1.791666666666667rem;
  font-size: 2rem;
  font-weight: bold;
}
.sec-business .item .inner h3 img {
  display: block;
  position: absolute;
  width: 6.875rem;
  top: 0;
  left: 1.666666666666667rem;
  -webkit-transform: translate(0, -60%);
          transform: translate(0, -60%);
}
.sec-business .item .inner p {
  line-height: 1.6;
}
.sec-business .item .photo {
  z-index: 1;
  position: relative;
  width: 80%;
  margin: -21.333333333333336% 0 0 auto;
}
.sec-business .item:nth-child(2) {
  margin: 0 0 3.333333333333333rem;
}
.sec-business .item:nth-child(2) .outer {
  background: none;
}
.sec-business .item:nth-child(2) .inner h3 {
  text-align: right;
}
.sec-business .item:nth-child(2) .inner h3 img {
  width: 7.708333333333333rem;
  right: 0.833333333333333rem;
  left: auto;
  -webkit-transform: translate(0, -46.728971962616825%);
          transform: translate(0, -46.728971962616825%);
}
.sec-business .item:nth-child(2) .photo {
  width: 60.8%;
  margin: -21.333333333333336% auto 0 0;
}
.sec-business .item:nth-child(3) .outer {
  padding-bottom: 7.083333333333333rem;
}
.sec-business .item:nth-child(3) .inner h3 img {
  width: 5.708333333333333rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.sec-business .item:nth-child(3) .photo {
  width: 53.333333333333336%;
  margin: -27.46666666666667% 0 0 auto;
}
@media screen and (min-width: 768px) {
  .sec-business {
    padding: 6.944444444444445% 8.333333333333332% 10rem;
  }
  .sec-business .sec-lead {
    padding: 0;
  }
  .sec-business .item {
    position: relative;
    background: #f7f7f2;
  }
  .sec-business .item .outer {
    position: relative;
    background: none;
  }
  .sec-business .item .inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-width: 0.714285714285714rem;
  }
  .sec-business .item .inner h3 {
    margin: 0 0 3.071428571428572rem;
    font-size: 2.142857142857143rem;
  }
  .sec-business .item .inner h3 img {
    width: 11.785714285714286rem;
    left: 2.857142857142857rem;
  }
  .sec-business .item .inner p {
    line-height: 2;
  }
  .sec-business .item .photo {
    position: absolute;
    margin: 0;
  }
  .sec-business .item::after {
    display: none;
  }
  .sec-business .item:nth-child(1) {
    margin: 0 8.333333333333332% 3rem;
  }
  .sec-business .item:nth-child(1) .outer {
    padding: 5.714285714285714rem 0 14.714285714285714rem;
  }
  .sec-business .item:nth-child(1) .inner {
    width: 70%;
    margin: 0 0 0 -10%;
    padding: 5.714285714285714rem 14.000000000000002% 3.071428571428572rem 4%;
  }
  .sec-business .item:nth-child(1) .photo {
    width: 60%;
    max-width: 800px;
    right: -10%;
    bottom: 5.714285714285714rem;
  }
  .sec-business .item:nth-child(2) {
    margin: 0 0 5.714285714285714rem;
    background: none;
  }
  .sec-business .item:nth-child(2) .outer {
    padding: 2.857142857142857rem 0 5rem;
  }
  .sec-business .item:nth-child(2) .inner {
    width: 58.333333333333336%;
    margin: 0 0 0 auto;
    padding: 5.714285714285714rem 3.333333333333333% 3.071428571428572rem 11.666666666666666%;
  }
  .sec-business .item:nth-child(2) .inner h3 {
    text-align: right;
  }
  .sec-business .item:nth-child(2) .inner h3 img {
    width: 13.214285714285714rem;
    right: 2.142857142857143rem;
  }
  .sec-business .item:nth-child(2) .photo {
    width: 38%;
    max-width: 610px;
    bottom: 0;
    left: 12%;
  }
  .sec-business .item:nth-child(3) {
    margin: 0 8.333333333333332%;
  }
  .sec-business .item:nth-child(3) .outer {
    padding: 5.857142857142857rem 0 14.285714285714286rem;
  }
  .sec-business .item:nth-child(3) .inner {
    width: 70%;
    margin: 0 0 0 -10%;
    padding: 5.714285714285714rem 14.000000000000002% 3.071428571428572rem 4%;
  }
  .sec-business .item:nth-child(3) .inner h3 img {
    width: 9.785714285714286rem;
  }
  .sec-business .item:nth-child(3) .photo {
    width: 40%;
    max-width: 540px;
    right: 10%;
    bottom: -3.857142857142857rem;
  }
}
.sec-performance {
  padding-bottom: 56.00000000000001%;
  background: url("../images/performance_photo.jpg") center bottom no-repeat;
  background-size: 192% auto;
}
.sec-performance .graph {
  margin: 0 0 4.166666666666667rem;
}
.sec-performance .text {
  text-align: left;
}
.sec-performance .text h3 {
  margin: 0 0 1.375rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
}
.sec-performance .text h3 span {
  position: relative;
  display: inline-block;
  padding: 0 0 0.5rem;
}
.sec-performance .text h3 span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0.5rem;
  bottom: 0;
  background: #e36314;
}
.sec-performance .text p {
  margin: 0 0 2.708333333333333rem;
  line-height: 1.6;
}
.sec-performance .text p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .sec-performance {
    padding-bottom: 18.75%;
    background-size: contain;
  }
  .sec-performance .sec-inner {
    padding: 0 8.333333333333332%;
  }
  .sec-performance .graph {
    margin: 0 0 3.571428571428572rem;
  }
  .sec-performance .text h3 {
    margin: 0 0 1.642857142857143rem;
    font-size: 1.428571428571429rem;
  }
  .sec-performance .text h3 span {
    padding-bottom: 0.714285714285714rem;
  }
  .sec-performance .text h3 span::after {
    height: 0.714285714285714rem;
  }
  .sec-performance .text p {
    margin: 0 0 1.642857142857143rem;
    line-height: 2;
  }
  .sec-performance .text p:last-child {
    margin-bottom: 0;
  }
}
.sec-performance-hs {
  margin: 0 0 5.833333333333333rem;
}
@media screen and (min-width: 768px) {
  .sec-performance-hs {
    margin: 0 0 5.714285714285714rem;
  }
}
.sec-strength {
  padding-bottom: 61.33333333333333%;
  background: url("../images/newgrad_career/strength_photo.jpg") center bottom no-repeat;
  background-size: 192% auto;
}
.sec-strength .body {
  margin: 3.041666666666667rem 0 0;
  padding: 2.208333333333333rem 1.666666666666667rem;
  border: 7px solid #e36314;
  background: #fff;
}
.sec-strength .body h3 {
  position: relative;
  margin: 0 1.666666666666667rem 1.666666666666667rem;
  font-size: 1.666666666666667rem;
  font-weight: bold;
  color: #e36314;
}
.sec-strength .body h3 span {
  position: relative;
  margin: 0 auto;
  padding: 0 1rem;
  background: #fff;
}
.sec-strength .body h3::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  background: #e36314;
}
.sec-strength .body > p {
  margin: 0 0 2.208333333333333rem;
  text-align: left;
  line-height: 1.6;
}
.sec-strength .body > p:last-child {
  margin-bottom: 0;
}
.sec-strength .body .items {
  margin: 0 0 1.958333333333333rem;
  padding: 0 1.666666666666667rem;
}
.sec-strength .body .item {
  margin: 0 0 2.25rem;
}
.sec-strength .body .item:last-child {
  margin-bottom: 0;
}
.sec-strength .body .item .photo {
  width: 75.35934291581108%;
  margin: 0 auto 1.25rem;
}
.sec-strength .body .item h4 {
  margin: 0 0 1.25rem;
  font-size: 1.166666666666667rem;
  font-weight: bold;
}
.sec-strength .body .item p {
  font-size: 0.833333333333333rem;
  line-height: 1.6;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sec-strength {
    padding-bottom: 31.944444444444443%;
    background-size: contain;
  }
  .sec-strength .sec-inner {
    padding: 0 10%;
  }
  .sec-strength .body {
    margin: 0;
    padding: 4.5rem 4.285714285714286rem;
    border-width: 0.714285714285714rem;
  }
  .sec-strength .body h3 {
    margin: 0 2.857142857142857rem 2.142857142857143rem;
    font-size: 2.285714285714286rem;
  }
  .sec-strength .body h3 span {
    padding: 0 2.857142857142857rem;
  }
  .sec-strength .body > p {
    margin: 0 0 3.583333333333333rem;
    line-height: 2;
  }
  .sec-strength .body > p:last-child {
    margin-bottom: 0;
  }
  .sec-strength .body .items {
    margin: 0 0 3.285714285714286rem;
    padding: 0 2.857142857142857rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-strength .body .item {
    margin: 0;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 47.368421052631575%;
  }
  .sec-strength .body .item .photo {
    width: auto;
    margin: 0 0 1.428571428571429rem;
  }
  .sec-strength .body .item h4 {
    margin: 0 0 0.928571428571429rem;
    font-size: 1.428571428571429rem;
  }
  .sec-strength .body .item p {
    font-size: 1rem;
    line-height: 2;
  }
}
.sec-personality .item {
  margin: 0 0 1.666666666666667rem;
  padding: 3.333333333333333rem 1.666666666666667rem;
  background: #fff;
}
.sec-personality .item:last-child {
  margin-bottom: 0;
}
.sec-personality .item h3 {
  margin: 0 0 2.208333333333333rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
}
.sec-personality .item h3 span {
  position: relative;
  display: inline-block;
  padding: 0 0 0.5rem;
}
.sec-personality .item h3 span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 0.5rem;
  bottom: 0;
  background: #e36314;
}
.sec-personality .item p {
  margin: 0 0 2.208333333333333rem;
  line-height: 1.6;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sec-personality .items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-personality .item {
    margin: 0;
    padding: 2.857142857142857rem 2.857142857142857rem;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    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-sizing: border-box;
            box-sizing: border-box;
    width: 47.5%;
  }
  .sec-personality .item h3 {
    margin: 0 0 2.357142857142857rem;
    font-size: 2.142857142857143rem;
    line-height: 2;
  }
  .sec-personality .item h3 span {
    padding-bottom: 0.714285714285714rem;
  }
  .sec-personality .item h3 span::after {
    height: 0.714285714285714rem;
  }
  .sec-personality .item p {
    margin: 0 0 2.357142857142857rem;
    line-height: 2;
  }
  .sec-personality .item .photo {
    margin: auto 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .sec-personality .item h3 {
    font-size: 2.857142857142857rem;
  }
}
.sec-occupation {
  padding: 13.333333333333334% 0;
}
.sec-occupation .occupation {
  position: relative;
  margin: 0 5.333333333333334% 34px;
}
.sec-occupation .occupation::before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 100%;
  margin: auto;
  right: 0;
  background: #9fb2c0;
}
.sec-occupation .occupation::after {
  content: "";
  display: block;
  position: relative;
  height: 55px;
  background: url("../images/newgrad_career/occupation_line.png") center bottom no-repeat;
  background-size: auto 55px;
}
.sec-occupation .occupation ul {
  list-style-type: none;
  margin: 0 0 40px;
}
.sec-occupation .occupation li {
  position: relative;
}
.sec-occupation .occupation li::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 5px;
  margin: auto;
  top: 0;
  bottom: 0;
  background: #9fb2c0;
}
.sec-occupation .occupation li:first-child::after {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: calc(50% - 2.5px);
  top: 0;
  right: 0;
  background: #f7f7f2;
}
.sec-occupation .occupation li div {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 89.55223880597015%;
  padding: 2.083333333333333rem 2.083333333333333rem 1.791666666666667rem;
  text-align: left;
  color: #fff;
  background: linear-gradient(150deg, #0e5cb0 1%, #0e78c4 98%);
}
.sec-occupation .occupation li h3 {
  margin: 0 0 2.083333333333333rem;
  font-size: 1.666666666666667rem;
  font-weight: bold;
}
.sec-occupation .occupation li p {
  line-height: 1.6;
}
.sec-occupation .ideal {
  position: relative;
  margin: 0 5.333333333333334%;
  padding: 3.333333333333333rem 1.666666666666667rem 3.125rem;
  background: #fff;
  border: 7px solid #e36314;
}
.sec-occupation .ideal h3 {
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 75px;
  margin: 0 auto;
  padding: 30.5px 0;
  top: 0;
  right: 0;
  left: 0;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #e36314;
  border-radius: 50%;
  -webkit-transform: translate(0, -54.666666666666664%);
          transform: translate(0, -54.666666666666664%);
}
.sec-occupation .ideal h4 {
  margin: 0 0 2rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
}
.sec-occupation .ideal p {
  line-height: 1.6;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .sec-occupation {
    padding: 6.944444444444445% 0;
  }
  .sec-occupation .occupation {
    position: relative;
    margin: 0 8.333333333333332% 5rem;
  }
  .sec-occupation .occupation::before {
    display: none;
  }
  .sec-occupation .occupation::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 75px;
    bottom: 0;
    background: url("../images/newgrad_career/occupation_line_pc.png") center bottom no-repeat;
    background-size: auto;
  }
  .sec-occupation .occupation ul {
    margin: 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sec-occupation .occupation li {
    width: 33.33333333333333%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    position: relative;
    padding: 0 0 120px;
  }
  .sec-occupation .occupation li::before {
    width: 6px;
    height: 100%;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
  }
  .sec-occupation .occupation li:first-child::after {
    z-index: 1;
    width: calc(50% - 3px);
    height: 120px;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
  }
  .sec-occupation .occupation li:last-child::after {
    content: "";
    display: block;
    z-index: 1;
    position: absolute;
    width: calc(50% - 3px);
    height: 120px;
    bottom: 0;
    right: 0;
    background: #f7f7f2;
  }
  .sec-occupation .occupation li div {
    width: auto;
    padding: 2.857142857142857rem 2.857142857142857rem 2.357142857142857rem;
    height: 100%;
  }
  .sec-occupation .occupation li h3 {
    margin: 0 0 2.357142857142857rem;
    font-size: 1.428571428571429rem;
  }
  .sec-occupation .occupation li p {
    line-height: 2;
  }
  .sec-occupation .ideal {
    margin: 0 8.333333333333332%;
    padding: 5rem 6.428571428571429rem 4.5rem;
    border-width: 10px;
  }
  .sec-occupation .ideal h3 {
    width: 10.714285714285714rem;
    padding: 4.357142857142857rem 0;
    font-size: 2rem;
    -webkit-transform: translate(0, -53.333333333333336%);
            transform: translate(0, -53.333333333333336%);
  }
  .sec-occupation .ideal h4 {
    margin: 0 0 1.714285714285714rem;
    font-size: 3.142857142857143rem;
    line-height: 1.4;
  }
  .sec-occupation .ideal h4 br {
    display: none;
  }
  .sec-occupation .ideal p {
    line-height: 2;
  }
}
@media screen and (min-width: 1024px) {
  .sec-occupation .occupation li h3 {
    font-size: 1.857142857142857rem;
  }
}
@media screen and (min-width: 1440px) {
  .sec-occupation .occupation li h3 {
    font-size: 2.285714285714286rem;
  }
}
.sec-workenv {
  margin: 0 0 19.066666666666666%;
}
.sec-workenv .sec-inner {
  padding: 0 5.970149253731343%;
}
.sec-workenv .item {
  margin: 0 0 3.041666666666667rem;
}
.sec-workenv .item:last-child {
  margin-bottom: 0;
}
.sec-workenv .item .photo {
  margin: 0 0 1.666666666666667rem;
}
.sec-workenv .item h3 {
  margin: 0 0 1.375rem;
  font-size: 1.166666666666667rem;
  font-weight: bold;
  color: #e36314;
}
.sec-workenv .item p {
  margin: 0 0 1.6em;
  line-height: 1.6;
  text-align: left;
}
.sec-workenv .item p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .sec-workenv {
    margin: 0 0 5.928571428571429rem;
  }
  .sec-workenv .sec-inner {
    padding: 0;
  }
  .sec-workenv .items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-workenv .item {
    margin: 0;
    width: 30%;
  }
  .sec-workenv .item .photo {
    margin: 0 0 1.428571428571429rem;
  }
  .sec-workenv .item h3 {
    margin: 0 0 0.928571428571429rem;
    font-size: 1.428571428571429rem;
  }
  .sec-workenv .item p {
    margin: 0 0 2em;
    line-height: 2;
  }
  .sec-workenv .item p:last-child {
    margin-bottom: 0;
  }
}
.sec-interview {
  margin: 0 0 5.333333333333334%;
}
.sec-interview .item {
  position: relative;
  margin: 0 0 5rem;
}
.sec-interview .item:last-child {
  margin-bottom: 0;
}
.sec-interview .item > a {
  display: block;
  text-decoration: none;
}
.sec-interview .item-fujiwara .interviewee {
  right: auto;
  left: -5.970149253731343%;
}
.sec-interview .item-fujiwara .interviewee .title {
  margin: 0 0 0.833333333333333rem 1.125rem;
}
.sec-interview .photo {
  overflow: hidden;
}
.sec-interview .interviewee {
  position: absolute;
  width: 89.55223880597015%;
  right: -5.970149253731343%;
  bottom: -1.666666666666667rem;
}
.sec-interview .interviewee .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0 0.458333333333333rem 0.833333333333333rem 0.291666666666667rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  color: #e36314;
}
.sec-interview .interviewee .title span {
  display: block;
}
.sec-interview .interviewee .title .en {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
}
.sec-interview .interviewee .title .en::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  margin: 0 2.083333333333333rem 0 0.958333333333333rem;
  background: #e36314;
}
.sec-interview .interviewee .title .num {
  font-size: 3.75rem;
  -webkit-transform: translate(0, 11.11111111111111%);
          transform: translate(0, 11.11111111111111%);
}
.sec-interview .interviewee .box {
  padding: 2.5rem;
  text-align: left;
  color: #fff;
  background: #e36314;
}
.sec-interview .interviewee .box h2 {
  margin: 0 0 2.5rem;
}
.sec-interview .interviewee .box h2 span {
  display: inline-block;
}
.sec-interview .interviewee .box h2 .ja {
  margin: 0 0 0.625rem;
  font-size: 2rem;
  font-weight: bold;
}
.sec-interview .interviewee .box h2 .en {
  font-size: 0.916666666666667rem;
  font-weight: 700;
}
.sec-interview .interviewee .box .job {
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .sec-interview {
    margin: 0 0 2.142857142857143rem;
  }
  .sec-interview .items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .sec-interview .item {
    position: relative;
    width: 47.5%;
    margin: 0;
  }
  .sec-interview .item-fujiwara .interviewee {
    right: -2.142857142857143rem;
    left: auto;
  }
  .sec-interview .item-fujiwara .interviewee .title {
    margin: 0 0 1.428571428571429rem;
  }
  .sec-interview .photo {
    padding: 0;
  }
  .sec-interview .interviewee {
    width: 70.17543859649122%;
    bottom: -2.142857142857143rem;
    right: -2.142857142857143rem;
  }
  .sec-interview .interviewee .title {
    margin: 0 0 1.428571428571429rem;
  }
  .sec-interview .interviewee .title .en {
    font-size: 1.428571428571429rem;
  }
  .sec-interview .interviewee .title .en::after {
    height: 2px;
    margin: 0 1.428571428571429rem 0 0.714285714285714rem;
  }
  .sec-interview .interviewee .title .num {
    font-size: 2.857142857142857rem;
  }
  .sec-interview .interviewee .box {
    padding: 10%;
  }
  .sec-interview .interviewee .box h2 {
    margin: 0 0 2.857142857142857rem;
  }
  .sec-interview .interviewee .box h2 .ja {
    margin: 0 0 0.714285714285714rem;
    font-size: 2.285714285714286rem;
  }
  .sec-interview .interviewee .box h2 .en {
    font-size: 1rem;
  }
  .sec-interview .interviewee .box .job {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec-interview .interviewee .title .en {
    font-size: 1.714285714285714rem;
  }
  .sec-interview .interviewee .title .num {
    font-size: 4.285714285714286rem;
  }
  .sec-interview .interviewee .box .job {
    font-size: 1.142857142857143rem;
  }
}
@media screen and (min-width: 1440px) {
  .sec-interview .interviewee .title .en::after {
    margin: 0 3.571428571428572rem 0 1.071428571428571rem;
  }
}
@media screen and (min-width: 768px) {
  .sec-interview .item a:hover .photo::after {
    opacity: 1;
  }
  .sec-interview .item a:hover .photo figure {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-transition-duration: 3s;
            transition-duration: 3s;
  }
  .sec-interview .photo::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    background: rgba(142,183,209,0.4);
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
  }
  .sec-interview .photo figure {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  }
}
/* -------------------------------------------------
newgrad/career
------------------------------------------------- */
.nc-info-wrapper {
  background: #f7f7f2;
}
/* -------------------------------------------------
interview
------------------------------------------------- */
/* common
------------------------------------------------- */
.intv {
  margin: 0 0 5rem;
}
.intv:last-child {
  margin-bottom: 8.333333333333334rem;
}
.intv-header {
  position: relative;
}
.intv-header::before {
  content: "";
  display: block;
  width: 100%;
  padding: 53.333333333333336% 0 0;
}
.intv-header .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.intv-header .bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.intv-header .title {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  font-weight: 700;
  color: #fff;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.intv-header .title span {
  display: block;
}
.intv-header .title .en {
  margin: 0 0 0.833333333333333rem;
  font-size: 2rem;
  font-family: 'Open Sans', sans-serif;
}
.intv-header .title .en::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 2px;
  margin: 0.833333333333333rem auto 0;
  background: #e36314;
}
.intv-header .title .ja {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .intv-header::before {
    padding: 23.61111111111111% 0 0;
  }
  .intv-header .bg {
    height: 117.64705882352942%;
  }
  .intv-header .title {
    top: 29.411764705882355%;
    -webkit-transform: none;
            transform: none;
  }
  .intv-header .title .en {
    margin: 0 0 1.142857142857143rem;
    font-size: 3.333333333333333rem;
  }
  .intv-header .title .en::after {
    width: 2.5rem;
    height: 2px;
    margin: 1.333333333333333rem auto 0;
  }
  .intv-header .title .ja {
    font-size: 1.666666666666667rem;
  }
}
@media screen and (min-width: 1100px) {
  .intv-header .title {
    top: 47.05882352941176%;
  }
}
.intv-mv {
  margin: 0 0 13.333333333333334%;
}
.intv-mv .inner {
  padding: 5.333333333333334% 0 0;
}
.intv-mv .photo {
  padding: 0 5.333333333333334%;
}
.intv-mv .photo figure {
  position: relative;
}
.intv-mv .photo figure::before {
  content: "";
  display: block;
  width: 100%;
  padding: 89.55223880597015% 0 0;
}
.intv-mv .photo img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.intv-mv .interviewee {
  position: relative;
  width: 80%;
  margin: -26.666666666666668% 0 0 auto;
}
.intv-mv .interviewee .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0 0.458333333333333rem 0.833333333333333rem 0.291666666666667rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  color: #e36314;
}
.intv-mv .interviewee .title span {
  display: block;
}
.intv-mv .interviewee .title .en {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
}
.intv-mv .interviewee .title .en::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  margin: 0 2.083333333333333rem 0 0.958333333333333rem;
  background: #e36314;
}
.intv-mv .interviewee .title .num {
  font-size: 3.75rem;
  -webkit-transform: translate(0, 11.11111111111111%);
          transform: translate(0, 11.11111111111111%);
}
.intv-mv .interviewee .box {
  padding: 2.5rem;
  text-align: left;
  color: #fff;
  background: #e36314;
}
.intv-mv .interviewee .box h2 {
  margin: 0 0 2.5rem;
}
.intv-mv .interviewee .box h2 span {
  display: inline-block;
}
.intv-mv .interviewee .box h2 .ja {
  margin: 0 0 0.625rem;
  font-size: 2rem;
  font-weight: bold;
}
.intv-mv .interviewee .box h2 .en {
  font-size: 0.916666666666667rem;
  font-weight: 700;
}
.intv-mv .interviewee .box .job {
  margin: 0 0 2.316666666666667rem;
  font-size: 1rem;
  font-weight: bold;
}
.intv-mv .interviewee .box .history p {
  margin: 0 0 1.44em;
  font-size: 0.833333333333333rem;
  line-height: 1.44;
}
.intv-mv .interviewee .box .history p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .intv-mv {
    margin: 0 0 3.472222222222222%;
    padding: 0 8.333333333333332%;
  }
  .intv-mv .inner {
    position: relative;
    padding: 5% 5% 3.333333333333333%;
    background: #fff;
  }
  .intv-mv .photo {
    position: static;
    width: 74.07407407407408%;
    padding: 0;
    top: auto;
  }
  .intv-mv .photo figure {
    min-height: 250px;
  }
  .intv-mv .photo figure::before {
    padding: 50% 0 0;
  }
  .intv-mv .interviewee {
    position: absolute;
    width: 33.33333333333333%;
    margin: 0;
    right: 5%;
    bottom: 0;
  }
  .intv-mv .interviewee .title {
    margin: 0 0 1.428571428571429rem;
  }
  .intv-mv .interviewee .title .en {
    font-size: 1.428571428571429rem;
  }
  .intv-mv .interviewee .title .en::after {
    height: 2px;
    margin: 0 1.428571428571429rem 0 0.714285714285714rem;
  }
  .intv-mv .interviewee .title .num {
    font-size: 2.857142857142857rem;
  }
  .intv-mv .interviewee .box {
    padding: 10%;
  }
  .intv-mv .interviewee .box h2 {
    margin: 0 0 2.857142857142857rem;
  }
  .intv-mv .interviewee .box h2 .ja {
    margin: 0 0 0.714285714285714rem;
    font-size: 2.285714285714286rem;
  }
  .intv-mv .interviewee .box h2 .en {
    font-size: 1rem;
  }
  .intv-mv .interviewee .box .job {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .intv-mv .interviewee .title .en {
    font-size: 1.714285714285714rem;
  }
  .intv-mv .interviewee .title .num {
    font-size: 4.285714285714286rem;
  }
  .intv-mv .interviewee .box .job {
    font-size: 1.142857142857143rem;
  }
}
@media screen and (min-width: 1440px) {
  .intv-mv .interviewee .title .en::after {
    margin: 0 3.571428571428572rem 0 1.071428571428571rem;
  }
}
.intv-jobdscription {
  margin: 0 0 12.053333333333335%;
  padding: 0 6.666666666666667%;
}
.intv-jobdscription h3 {
  display: inline-block;
  margin: 0 0 1.683333333333333rem;
  padding: 1.25rem 2.083333333333333rem;
  font-size: 1rem;
  color: #fff;
  background: #333;
}
.intv-jobdscription .text {
  text-align: left;
}
.intv-jobdscription .text p {
  margin: 0 0 1em;
  font-size: 1rem;
  line-height: 1.8;
}
.intv-jobdscription .text p:last-child {
  margin-bottom: 0;
}
.intv-jobdscription ul {
  margin: 0 0 0 1.5em;
  font-size: 1rem;
  line-height: 1.8;
  text-align: left;
}
.intv-jobdscription ul li {
  margin: 0 0 1em;
}
.intv-jobdscription ul li:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .intv-jobdscription {
    margin: 0 0 6.666666666666667%;
    padding: 0 8.333333333333332%;
  }
  .intv-jobdscription .inner {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto;
  }
  .intv-jobdscription h3 {
    margin: 0rem 1.428571428571429rem 0 0;
    padding: 1.428571428571429rem 2rem;
    font-size: 1rem;
  }
  .intv-jobdscription ul {
    margin: 0 0 0 1.5em;
    font-size: 1rem;
    line-height: 2;
  }
  .intv-jobdscription ul li {
    margin: 0;
  }
}
.intv-lead {
  margin: 13.333333333333334% 0;
  padding: 8% 5.333333333333334%;
  background: #f7f7f2;
}
.intv-lead p {
  margin: 0 0 1em;
  font-size: 1rem;
  line-height: 2;
  text-align: left;
}
.intv-lead p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .intv-lead {
    margin: 3.472222222222222% 0 4.166666666666666%;
    padding: 3.680555555555556% 8.333333333333332%;
  }
  .intv-lead .inner {
    margin: 0 8.333333333333332%;
  }
  .intv-lead p {
    margin: 0 0 1em;
    font-size: 1rem;
    line-height: 2;
  }
  .intv-lead p:last-child {
    margin-bottom: 0;
  }
}
.intv-sec {
  margin: 13.333333333333334% 0 11.733333333333333%;
  padding: 0 5.333333333333334%;
}
.intv-sec .header {
  margin: 0 0 1.783333333333333rem;
}
.intv-sec .header::before {
  content: "";
  display: block;
  width: 0.083333333333333rem;
  height: 2.5rem;
  margin: 0 auto 1.4rem;
  background: #e36314;
}
.intv-sec .header h3 {
  margin: 0 0 2.016666666666667rem;
  font-size: 1.333333333333333rem;
  font-weight: bold;
  line-height: 1.4;
  color: #e36314;
}
.intv-sec .header h4 {
  font-size: 2.166666666666667rem;
  font-weight: bold;
  line-height: 1.2;
}
.intv-sec .body p {
  margin: 0 0 1em;
  font-size: 1rem;
  line-height: 2;
  text-align: left;
}
.intv-sec .body p:last-child {
  margin-bottom: 0;
}
.intv-sec .body .photo {
  position: relative;
  margin: 3.666666666666667rem 0;
}
.intv-sec .body .photo:last-child {
  margin-bottom: 0;
}
.intv-sec .body .photo::before {
  content: "";
  display: block;
  width: 100%;
  padding: 89.55223880597015% 0 0;
}
.intv-sec .body .photo img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}
.intv-sec .body .photo-left img {
  -o-object-position: 10% 50%;
     object-position: 10% 50%;
}
@media screen and (min-width: 768px) {
  .intv-sec {
    margin: 4.166666666666666% 0 3.680555555555556%;
    padding: 0 8.333333333333332%;
  }
  .intv-sec .inner {
    margin: 0 8.333333333333332%;
  }
  .intv-sec .header {
    margin: 0 0 3.442857142857143rem;
  }
  .intv-sec .header::before {
    width: 1px;
    height: 2.857142857142857rem;
    margin: 0 auto 1.085714285714286rem;
  }
  .intv-sec .header h3 {
    margin: 0 0 1.714285714285714rem;
    font-size: 1.714285714285714rem;
    line-height: 1.4;
  }
  .intv-sec .header h4 {
    font-size: 2.714285714285714rem;
    line-height: 1.2;
  }
  .intv-sec .header br.m {
    display: none;
  }
  .intv-sec .body p {
    font-size: 1.166666666666667rem;
    line-height: 2;
  }
  .intv-sec .body .photo {
    position: relative;
    margin: 3.785714285714286rem 10%;
  }
  .intv-sec .body .photo:last-child {
    margin-bottom: 0;
  }
  .intv-sec .body .photo::before {
    display: none;
  }
  .intv-sec .body .photo img {
    display: inline;
    position: static;
    width: 100%;
    height: auto;
    top: auto;
    left: auto;
    -o-object-fit: fills;
       object-fit: fills;
  }
}
@media screen and (min-width: 1024px) {
  .intv-sec .header h4 {
    font-size: 2.857142857142857rem;
    line-height: 1.2;
  }
}
@media screen and (min-width: 1440px) {
  .intv-sec .header br.tab {
    display: none;
  }
}
.intv-message {
  margin: 18.666666666666668% 0 13.333333333333334%;
  padding: 0 4%;
}
.intv-message .inner {
  position: relative;
  padding: 4.366666666666666rem 2.083333333333333rem 4.083333333333333rem;
  border: 0.583333333333333rem solid #e36314;
}
.intv-message h3 {
  position: absolute;
  padding: 1.25rem 2.083333333333333rem;
  top: -0.291666666666667rem;
  left: 50%;
  font-size: 1rem;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  color: #fff;
  background: #333;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.intv-message h4 {
  margin: 0 0 3.45rem;
  font-size: 2.166666666666667rem;
  font-weight: 700;
  line-height: 1.2;
  color: #e36314;
}
.intv-message .text {
  text-align: left;
}
.intv-message .text p {
  margin: 0 0 2em;
  font-size: 1rem;
  line-height: 2;
}
.intv-message .text p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .intv-message {
    margin: 8.541666666666666% 0 4.166666666666666%;
    padding: 0 8.333333333333332%;
  }
  .intv-message .inner {
    margin: 0 5%;
    padding: 5.342857142857143rem 6.428571428571429rem 4.142857142857143rem;
    border-width: 0.714285714285714rem;
  }
  .intv-message h3 {
    padding: 1.785714285714286rem 3.928571428571428rem;
    top: -0.357142857142857rem;
    font-size: 1.428571428571429rem;
  }
  .intv-message h4 {
    margin: 0 0 2.071428571428572rem;
    font-size: 2.857142857142857rem;
    line-height: 1.2;
  }
  .intv-message h4 br.m {
    display: none;
  }
  .intv-message .text p {
    margin: 0 0 2em;
    font-size: 1rem;
    line-height: 2;
  }
  .intv-message .text p:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1440px) {
  .intv-message br.tab {
    display: none;
  }
}
.intv-nav {
  margin: 16% 0;
}
.intv-nav ul {
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.intv-nav li {
  margin: 2.291666666666667rem 0 0;
  font-size: 1.166666666666667rem;
  font-weight: bold;
}
.intv-nav li:nth-child(1),
.intv-nav li:nth-child(2),
.intv-nav li:nth-child(3) {
  margin-top: 0;
}
.intv-nav a {
  padding: 0.416666666666667rem 1.25rem;
  text-decoration: none;
  color: #000;
}
.intv-nav li + li {
  position: relative;
}
.intv-nav li + li::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 1.4em;
  top: 50%;
  left: 0;
  background: #ccc;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
.intv-nav li:nth-child(4)::before {
  display: none;
}
@media screen and (min-width: 768px) {
  .intv-nav {
    margin: 6.944444444444445% 0;
  }
  .intv-nav li {
    margin: 0;
    font-size: 1.285714285714286rem;
  }
  .intv-nav a {
    padding: 0 1.428571428571429rem;
  }
  .intv-nav li:nth-child(4)::before {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .intv-nav a {
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .intv-nav a:hover {
    opacity: 0.5;
  }
}
/* sekihana
------------------------------------------------- */
.intv-sekihata .intv-mv .photo img {
  -o-object-position: 20% 50%;
     object-position: 20% 50%;
}
/* fujiwara
------------------------------------------------- */
.intv-fujiwara .intv-mv .photo img {
  -o-object-position: 70% 50%;
     object-position: 70% 50%;
}
.intv-fujiwara .interviewee {
  margin-left: 0;
}
.intv-fujiwara .interviewee .title {
  margin-right: 0;
  margin-left: 1.125rem;
}
@media screen and (min-width: 768px) {
  .intv-fujiwara .intv-mv .photo {
    margin: 0 0 0 auto;
  }
  .intv-fujiwara .interviewee {
    right: auto;
    left: 5%;
  }
  .intv-fujiwara .interviewee .title {
    margin-left: 0;
  }
}
@-webkit-keyframes anim-c-nav-side-scroll {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@keyframes anim-c-nav-side-scroll {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  50% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
