@charset "UTF-8";
/*---------------------------*/
* {
  margin: 0px;
  padding: 0px;
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'YuGothic', 'Yu Gothic', 'メイリオ', Meiryo, sans-serif;
  font-weight: 500; }

@media screen\0 {
  * {
    font-family: 'メイリオ', Meiryo, sans-serif; } }

a:link,
a:active {
  text-decoration: none; }

a:visited {
  text-decoration: none; }

a:focus {
  outline: none; }

a {
  -webkit-tap-highlight-color: transparent; }

ul,
li {
  list-style: none; }

img {
  display: block; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

p {
  text-align: left;
  color: #333; }

.mincho {
  font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN', 'HG明朝E', Sans-Serif;
  font-weight: 500;
  font-feature-settings: 'palt'; }

.bgColor1 {
  background-color: #c9bc9c; }

.bgColor2 {
  background-color: #f7f5f0; }

.bgColor3 {
  background-color: #c9a032; }

.bgColor4 {
  background-color: #e4ddcd; }

/* --------------------------------------
SP
----------------------------------------- */
/* --- HEADER --- */
header {
  position: relative;
  width: 100%;
  height: 40px; }

.headerInner {
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #fff;
  border-bottom: solid 1px #ccc; }
  .headerInner > div {
    position: relative;
    height: 100%; }
  .headerInner h1 {
    margin: 0; }
    .headerInner h1 a {
      display: block;
      width: 32px;
      height: 32px;
      padding: 4px 0;
      margin: 0 auto; }
      .headerInner h1 a img {
        width: 100%; }
      .headerInner h1 a span {
        display: none; }
  .headerInner.fixed {
    position: fixed; }

.entry {
  display: block;
  position: absolute;
  top: 0;
  right: 40px;
  width: 40px;
  height: 40px;
  background: #006934;
  transition: 0.3s; }
  .entry img {
    width: auto;
    height: 32px;
    margin: 4px auto; }
  .entry:active {
    background: #51af80; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  padding: 11px 8px;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: #f7f7f7;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:focus {
    outline: none; }

.hamburger-box {
  width: 24px;
  height: 18px;
  display: block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 24px;
    height: 2px;
    background-color: #006934;
    border-radius: 2px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -6px; }
  .hamburger-inner::after {
    bottom: -6px; }

.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/* --- NAV --- */
#bgBlack {
  display: none;
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5); }
  #bgBlack.is-active {
    display: block; }

.menulist {
  position: fixed;
  z-index: 50;
  width: 100%;
  height: 100%;
  top: 0;
  right: -100%;
  box-sizing: border-box;
  padding: 40px 0 46px;
  background: rgba(255, 255, 255, 0.95);
  transition: 0.2s; }
  .menulist.is-active {
    right: 0; }
  .menulist > div {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  .menulist img {
    display: none; }
  .menulist h3 {
    padding: 20px 5% 15px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: #006934; }
    .menulist h3.other {
      color: #999;
      font-weight: 500; }
  .menulist ul li {
    padding: 10px 5%;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    border-bottom: solid 1px #ccc;
    color: #666; }
    .menulist ul li a {
      display: block;
      color: #666;
      font-weight: 700; }
      .menulist ul li a:active {
        color: #006934; }
    .menulist ul li ul {
      margin: 5px 0 0; }
      .menulist ul li ul a {
        font-weight: 500; }
      .menulist ul li ul li:last-child {
        border: none; }
    .menulist ul li small {
      display: block;
      margin: 0 0 5px;
      font-size: 10px;
      font-weight: 700; }

.navParent {
  position: relative; }
  .navParent::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -webkit-transform-origin: 10% center;
    transform: translateY(-50%);
    transform-origin: 10% center;
    content: '';
    width: 0;
    height: 0;
    border: solid 8px transparent;
    border-left: solid 8px #006934;
    transition: 0.3s; }
  .navParent.open {
    color: #006934; }
    .navParent.open::after {
      -webkit-transform: translateY(-50%) rotate(90deg);
      transform: translateY(-50%) rotate(90deg); }

.navEntry {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 13px 0;
  text-align: center;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.3em;
  background-color: #006934;
  transition: 0.3s; }
  .navEntry:active {
    background-color: #51af80; }
  .navEntry.sp {
    display: block; }
  .navEntry.pc {
    display: none; }

/* --- BREADCRUMS --- */
.breadcrums {
  background: #f7f5f0; }
  .breadcrums > div {
    height: 10px;
    padding: 8px 2%; }
  .breadcrums a {
    position: relative;
    display: block;
    float: left;
    height: 10px;
    padding: 0 20px 0 0;
    font-size: 10px;
    line-height: 1;
    color: #666; }
  .breadcrums a[href]::after {
    position: absolute;
    top: 0;
    right: 4px;
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #51af80; }

/* --- COMMON --- */
.readmore {
  display: block;
  width: 85%;
  max-width: 140px;
  margin: 0 auto;
  padding: 6px 0;
  text-align: center;
  font-size: 11px;
  line-height: 1;
  color: #fff;
  background-color: #006934;
  transition: 0.3s; }
  .readmore:active {
    background-color: #51af80; }
  .readmore.outerlink {
    position: relative; }
    .readmore.outerlink::after {
      position: absolute;
      content: url(../images/icon_outerlink.svg);
      top: 50%;
      right: 10px;
      width: 12px;
      height: 12px;
      -webkit-transform: translateY(-60%);
      transform: translateY(-60%); }

.minchoHead {
  margin: 0 0 20px;
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7; }

.coverImageH {
  position: absolute;
  width: auto;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }

.coverImageW {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.commonTopimage {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 54.6vw;
  max-height: 350px; }
  .commonTopimage::before {
    position: absolute;
    z-index: 0;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.5); }
  .commonTopimage h2 {
    margin: 0 0 15px;
    position: relative;
    text-align: center;
    font-size: 30px;
    line-height: 1.2;
    color: #fff; }
  .commonTopimage p {
    position: relative;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.2em; }

@media screen and (min-width: 960px) {
  .commonTopimage h2 br {
    display: none; } }

/* --- FOOTER --- */
footer {
  padding: 25px 0 0; }
  footer h2 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    color: #006934;
    letter-spacing: 0.3em; }
  footer ul {
    display: flex;
    margin: 0 0 25px; }
    footer ul li {
      width: 33.3%;
      height: 28vw; }
      footer ul li a {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        min-height: 90px;
        box-sizing: border-box;
        padding-bottom: 10px;
        text-align: center;
        font-size: 11px;
        line-height: 1.5;
        color: #fff;
        background-color: #006934;
        transition: 0.3s; }
        footer ul li a span {
          display: none; }
        footer ul li a::after {
          position: absolute;
          left: 50%;
          bottom: 0;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
          content: '';
          width: 0;
          height: 0;
          border: solid 10px transparent;
          border-top: solid 10px #fff;
          transition: 0.3s; }
        footer ul li a:active {
          background-color: #51af80; }
          footer ul li a:active::after {
            bottom: -5px; }
      footer ul li:nth-of-type(2) a {
        background-color: #005034; }
        footer ul li:nth-of-type(2) a:active {
          background-color: #51af80; }
  footer .copyright {
    padding: 10px 0;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    color: #fff;
    background: #333; }

/* --- TOP --- */
#bgWhite {
  position: fixed;
  z-index: 50;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  transition: opacity 0.5s; }
  #bgWhite.hide {
    opacity: 0;
    pointer-events: none; }
  #bgWhite img {
    position: absolute;
    display: block;
    width: 60px;
    height: 60px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }

#bgBlack2 {
  display: none; }

.topImage {
  position: relative;
  width: 100%;
  height: 120vw;
  padding-top: 8.5vw;
  background: url(../images/top_header-1-sp.jpg) center center no-repeat;
  background-size: cover;
  overflow: hidden; }
  .topImage .topText1 {
    opacity: 0;
    transition: opacity 1.5s 0.5s; }
    .topImage .topText1.show {
      opacity: 1; }
  .topImage .topText2 {
    opacity: 0;
    transition: opacity 0.5s 2s; }
    .topImage .topText2.show {
      opacity: 1; }

#topMovie {
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: calc(-65vw - 62px);
  width: calc(230vw + 125px);
  height: calc(128.5vw + 70px);
  overflow: hidden;
  opacity: 0;
  pointer-events: none; }
  #topMovie.show {
    opacity: 1; }

.topText1 {
  position: relative;
  z-index: 2;
  width: 21.5%;
  margin: 0 auto 15px; }

.topText2 {
  position: relative;
  z-index: 2;
  margin: 50px auto 0;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.8;
  color: #fff;
  letter-spacing: 0.2em; }

.topH2 {
  margin: 0 0 20px;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
  color: #006934; }

.topSection1 {
  padding: 25px 5%; }
  .topSection1 h3 {
    margin: 0 0 15px;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.2em; }
  .topSection1 p {
    margin: 0 0 25px;
    font-size: 12px;
    line-height: 1.8;
    letter-spacing: 0.1em; }

.topSection2 {
  padding: 25px 0; }
  .topSection2 ul {
    display: block;
    background: #fff; }
    .topSection2 ul li {
      display: flex; }
      .topSection2 ul li:nth-of-type(2) {
        flex-direction: row-reverse; }
      .topSection2 ul li > span {
        width: 50%;
        background: center center no-repeat;
        background-size: cover; }
      .topSection2 ul li > div {
        width: 50%;
        box-sizing: border-box;
        padding: 25px 10px 15px; }
      .topSection2 ul li h3 {
        text-align: center;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 500; }
        .topSection2 ul li h3::after {
          display: block;
          content: '';
          width: 45px;
          height: 1px;
          margin: 10px auto;
          background-color: #006934; }
      .topSection2 ul li p {
        margin: 0 0 10px;
        font-size: 12px;
        line-height: 1.5; }
        .topSection2 ul li p br {
          display: none; }
  .topSection2 .topSection2Img1 {
    background-image: url(../images/top_sec2-img1.jpg?0208);
    background-position: center 30%; }
  .topSection2 .topSection2Img2 {
    background-image: url(../images/top_sec2-img2.jpg?0208); }
  .topSection2 .topSection2Img3 {
    background-image: url(../images/top_sec2-img3.jpg?0208); }

.topSection3 {
  padding: 30px 0 50px; }
  .topSection3 .lead {
    width: 90%;
    margin: 0 auto 40px;
    text-align: center;
    font-size: 12px;
    line-height: 1.5; }
  .topSection3 > div {
    position: relative;
    padding: 10px 0 35vw;
    margin: 0 0 50px;
    overflow: hidden; }
    .topSection3 > div .textArea {
      width: 82%;
      box-sizing: border-box;
      padding: 25px 15px 30vw;
      background: #fff; }
    .topSection3 > div h3 {
      position: absolute;
      top: 0;
      left: 0;
      display: inline-block;
      padding: 5px 15px;
      background-color: #c9a032;
      font-size: 10px;
      font-weight: 500;
      line-height: 1;
      color: #fff; }
    .topSection3 > div .topSection3Img {
      position: absolute;
      width: 78%;
      bottom: 12vw;
      right: -10%; }
    .topSection3 > div .topSection3TextSP {
      position: absolute; }
    .topSection3 > div .topSection3TextPC {
      position: absolute;
      display: none; }
    .topSection3 > div h4 {
      margin: 0 0 15px;
      font-size: 16px;
      line-height: 1.6;
      font-weight: 500; }
    .topSection3 > div p {
      font-size: 12px;
      line-height: 1.5; }
    .topSection3 > div .readmore {
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%); }
    .topSection3 > div:nth-of-type(1) .topSection3TextSP {
      width: 15.6%;
      max-width: 65px;
      top: 0;
      right: 2%; }
    .topSection3 > div:nth-of-type(2) .textArea {
      margin: 0 0 0 auto; }
    .topSection3 > div:nth-of-type(2) h3 {
      left: auto;
      right: 0; }
    .topSection3 > div:nth-of-type(2) .topSection3Img {
      bottom: 12vw;
      right: auto;
      left: -10%; }
    .topSection3 > div:nth-of-type(2) .topSection3TextSP {
      width: 33.7%;
      bottom: 13vw;
      right: 2%; }
    .topSection3 > div:nth-of-type(3) {
      margin: 0; }
      .topSection3 > div:nth-of-type(3) .topSection3TextSP {
        width: 33.7%;
        bottom: 13vw;
        left: 2%; }

.topSection4 {
  padding: 0 0 20px; }
  .topSection4 > div .topMovie2 {
    position: relative;
    margin: 0 0 20px; }
    .topSection4 > div .topMovie2 .topMovie2Pos {
      position: absolute;
      top: -60px;
      left: 0;
      width: 100%;
      height: 1px; }
    .topSection4 > div .topMovie2 .movie .topMovie2Poster {
      display: block;
      position: absolute;
      z-index: 2;
      width: 100%;
      top: 0;
      left: 0; }
      .topSection4 > div .topMovie2 .movie .topMovie2Poster .poster {
        display: block;
        width: 100%;
        transition: 0.3s; }
      .topSection4 > div .topMovie2 .movie .topMovie2Poster .iconMovie {
        position: absolute;
        z-index: 3;
        top: 10px;
        left: 10px;
        width: 36px;
        height: 36px; }
  .topSection4 h3 {
    margin: 0 0 10px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 500; }
    .topSection4 h3::after {
      display: block;
      content: '';
      width: 45px;
      height: 1px;
      margin: 10px auto;
      background-color: #006934; }
  .topSection4 p {
    margin: 0 0 20px;
    text-align: center;
    font-size: 12px; }
  .topSection4 .movie {
    position: relative;
    width: 100%;
    height: 56.25vw; }
  .topSection4 iframe {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; }

.topSection5 {
  padding: 0 0 15px; }
  .topSection5 .lead {
    width: 90%;
    margin: 0 auto 20px;
    font-size: 12px;
    line-height: 1.5; }
    .topSection5 .lead br {
      display: none; }
  .topSection5 ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 15px;
    background: #fff; }
    .topSection5 ul li {
      width: 50%; }
      .topSection5 ul li > span {
        position: relative;
        display: block;
        width: 100%;
        height: 31.25vw;
        margin: 0 0 10px;
        overflow: hidden; }
      .topSection5 ul li p {
        text-align: center;
        font-size: 10px;
        line-height: 1.5; }
        .topSection5 ul li p span {
          display: block;
          margin: 5px 0 0;
          font-size: 12px; }
    .topSection5 ul > span {
      width: 100%;
      padding: 15px 0; }
    .topSection5 ul::before, .topSection5 ul::after {
      position: absolute;
      content: '';
      width: 30px;
      height: 1px;
      background: #aaa;
      bottom: 80px;
      left: calc(50% - 15px); }
    .topSection5 ul::before {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .topSection5 ul::after {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.topLink1 {
  padding: 20px 0; }
  .topLink1 a {
    display: block;
    width: 80%;
    max-width: 800px;
    margin: 0 auto;
    padding: 15px 0;
    text-align: center;
    line-height: 1;
    border: solid 1px #006934;
    border-radius: 5px;
    transition: 0.3s; }
    .topLink1 a span {
      display: inline-block;
      vertical-align: top;
      position: relative;
      padding: 0 1em 0 0;
      font-size: 18px;
      color: #006934; }
      .topLink1 a span::before, .topLink1 a span::after {
        position: absolute;
        content: '';
        width: 10px;
        height: 10px;
        top: 50%;
        margin-top: -6px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        border-top: solid 1px #006934;
        border-right: solid 1px #006934; }
      .topLink1 a span::before {
        right: 4px; }
      .topLink1 a span::after {
        right: -4px; }
    .topLink1 a:active {
      background: #006934; }
      .topLink1 a:active span {
        color: #fff; }
        .topLink1 a:active span::before, .topLink1 a:active span::after {
          border-color: #fff; }

@media screen\0 {
  .topLink1 a span.mincho {
    font-family: 'メイリオ', Meiryo, sans-serif; } }

/* --- INTERVIEW --- */
.interviewSection1 {
  background: url(../images/interview_header.jpg) center center no-repeat;
  background-size: auto 100%; }

.interviewSection2 {
  padding: 20px 0 1px; }

.interviewSection3 {
  padding: 0 0 10px; }
  .interviewSection3 h3 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 16px;
    line-height: 1.5; }
  .interviewSection3 ul {
    display: flex;
    flex-wrap: wrap; }
    .interviewSection3 ul li {
      position: relative;
      width: 50%;
      overflow: hidden; }
      .interviewSection3 ul li a {
        display: block;
        padding: 0 0 10px; }
      .interviewSection3 ul li img {
        width: 100%;
        transition: 0.3s; }
      .interviewSection3 ul li p {
        padding: 8px 0 5px;
        text-align: center;
        font-size: 12px; }
        .interviewSection3 ul li p span {
          display: block;
          margin-bottom: 2px;
          font-size: 15px;
          letter-spacing: 0.3em; }
      .interviewSection3 ul li:active img {
        opacity: 0.6; }

/* --- STAFF --- */
.staffSection1 .staffImage {
  position: relative;
  width: 100%;
  height: 64vw;
  margin: 0 0 20px;
  overflow: hidden; }

.staffSection1 h2 {
  margin: 0 0 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.5; }
  .staffSection1 h2 span {
    display: inline-block; }

.staffSection1 .staffProfile {
  padding: 15px 0;
  background-color: #006934; }
  .staffSection1 .staffProfile p {
    text-align: center;
    color: #fff;
    font-size: 12px;
    line-height: 1.5; }
    .staffSection1 .staffProfile p.profName {
      margin: 5px 0;
      font-size: 18px;
      font-weight: 700; }
      .staffSection1 .staffProfile p.profName::after {
        display: block;
        content: '';
        width: 36px;
        height: 1px;
        margin: 8px auto;
        background: #fff; }
    .staffSection1 .staffProfile p.profText {
      width: 90%;
      margin: 10px auto 0;
      text-align: left; }

.staffSection2 {
  padding: 30px 0; }
  .staffSection2 > div {
    overflow: hidden; }
  .staffSection2 .staffSection2Article {
    display: flex;
    width: 300%;
    margin: 0 0 30px;
    transition: 0.3s; }
    .staffSection2 .staffSection2Article li {
      position: relative;
      width: 33.33%; }
    .staffSection2 .staffSection2Article h3 {
      width: 90%;
      margin: 0 5% 25px;
      font-size: 20px;
      line-height: 1.5; }
      .staffSection2 .staffSection2Article h3.small {
        font-size: 19px; }
    .staffSection2 .staffSection2Article .staffSection2Img {
      position: relative;
      width: 100%;
      height: 70vw;
      margin: 0 0 15px;
      overflow: hidden; }
      .staffSection2 .staffSection2Article .staffSection2Img .w100 {
        width: 100%;
        height: auto;
        margin-top: -9vw; }
    .staffSection2 .staffSection2Article .staffSection2Text {
      position: absolute; }
    .staffSection2 .staffSection2Article .staffSection2Text1-1 {
      width: 16%;
      top: 0;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text1-2 {
      width: 45%;
      top: 70px;
      left: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text1-3 {
      width: 30%;
      top: 40px;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text2-1 {
      width: 16%;
      top: 0;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text2-2 {
      width: 35%;
      top: 0;
      right: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text2-3 {
      width: 28%;
      top: 75px;
      left: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text3-1 {
      width: 16%;
      top: 0;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text3-2 {
      width: 60%;
      top: 75px;
      left: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text3-3 {
      width: 16%;
      top: 0;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text4-1 {
      width: 16%;
      top: 40px;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text4-2 {
      width: 45%;
      top: 75px;
      left: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text4-3 {
      width: 35%;
      top: 75px;
      left: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text5-1 {
      width: 16%;
      top: 0;
      right: 5%; }
    .staffSection2 .staffSection2Article .staffSection2Text5-2 {
      width: 16%;
      top: 75px;
      right: 3%; }
    .staffSection2 .staffSection2Article .staffSection2Text5-3 {
      width: 30%;
      top: 30px;
      right: 3%; }
    .staffSection2 .staffSection2Article p {
      width: 90%;
      margin: 0 auto;
      font-size: 13px;
      line-height: 1.6; }
  .staffSection2 .staffPagenation {
    position: relative;
    display: flex;
    justify-content: center; }
    .staffSection2 .staffPagenation li {
      width: 12px;
      height: 12px;
      margin: 0 8px;
      padding: 9px;
      text-align: center;
      font-size: 12px;
      line-height: 1;
      color: #fff;
      transition: 0.3s;
      background: #51af80;
      -webkit-tap-highlight-color: transparent; }
      .staffSection2 .staffPagenation li:active {
        background: #006934; }
      .staffSection2 .staffPagenation li.current {
        background: #006934; }
  .staffSection2 .staffNext {
    position: absolute;
    bottom: 0;
    right: 2%;
    padding: 0 25px 2px 0;
    font-size: 10px;
    line-height: 1;
    color: #666;
    border-bottom: solid 1px #666;
    transition: 0.3s; }
    .staffSection2 .staffNext.hide {
      display: none; }
    .staffSection2 .staffNext:active {
      color: #006934; }
    .staffSection2 .staffNext::after {
      position: absolute;
      content: '';
      width: 1px;
      height: 20px;
      bottom: 0;
      right: 0;
      background: #666;
      -webkit-transform: rotate(-45deg);
      -webkit-transform-origin: bottom right;
      transform: rotate(-45deg);
      transform-origin: bottom right; }

.staffSection3 {
  padding: 30px 0 45px; }
  .staffSection3 .staffSection3Schedule {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .staffSection3 .staffSection3Schedule > div {
      position: relative;
      width: 48.5%;
      margin: 0 0 3vw; }
      .staffSection3 .staffSection3Schedule > div a {
        display: block; }
        .staffSection3 .staffSection3Schedule > div a img {
          width: 100%; }
        .staffSection3 .staffSection3Schedule > div a:active .schedule {
          background: rgba(0, 0, 0, 0.8); }
    .staffSection3 .staffSection3Schedule .schedule {
      pointer-events: none;
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      transition: 0.3s; }
      .staffSection3 .staffSection3Schedule .schedule p {
        text-align: center;
        color: #fff; }
        .staffSection3 .staffSection3Schedule .schedule p.scheduleTime {
          margin: 10px 0 5px;
          font-family: 'Lato', sans-serif;
          font-weight: 300;
          font-size: 36px;
          line-height: 1; }
        .staffSection3 .staffSection3Schedule .schedule p.scheduleText {
          min-height: 2.4em;
          font-size: 11px;
          line-height: 1.2; }
    .staffSection3 .staffSection3Schedule figcaption {
      display: none; }

.staffSection4 {
  padding: 30px 0; }
  .staffSection4 .staffSection4Img {
    display: block;
    width: 120px;
    height: 120px;
    margin: 30px auto;
    border-radius: 60px;
    overflow: hidden; }
    .staffSection4 .staffSection4Img img {
      width: 100%; }
  .staffSection4 .staffSection4Text {
    text-align: center;
    font-size: 0; }
    .staffSection4 .staffSection4Text img {
      display: block;
      height: 5.625vw;
      max-height: 30px;
      margin: 0 auto 12px; }
    .staffSection4 .staffSection4Text span {
      display: block;
      margin: 0 auto 12px;
      font-size: 15px;
      line-height: 1; }
    .staffSection4 .staffSection4Text br {
      display: none; }

.staffSection5 {
  padding: 30px 0 20px; }
  .staffSection5 h3 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 16px;
    line-height: 1.5; }
  .staffSection5 ul {
    display: flex;
    flex-wrap: wrap; }
    .staffSection5 ul li {
      position: relative;
      width: 50%;
      overflow: hidden; }
      .staffSection5 ul li a {
        display: block; }
      .staffSection5 ul li img {
        width: 100%;
        transition: 0.3s; }
      .staffSection5 ul li p {
        padding: 5px 0 15px;
        text-align: center;
        font-size: 12px; }
        .staffSection5 ul li p span {
          display: block;
          margin-bottom: 2px;
          font-size: 15px;
          letter-spacing: 0.3em; }
      .staffSection5 ul li:active img {
        opacity: 0.6; }

/* --- INFO --- */
.infoSection1 {
  background: url(../images/info_header.jpg) center center no-repeat;
  background-size: auto 100%; }

.infoSection1b {
  padding: 20px 0 30px; }
  .infoSection1b h4 {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.2;
    color: #006934;
    letter-spacing: 0.1em;
    text-align: center; }
  .infoSection1b .infoSec1bImg {
    position: relative;
    height: 60vw;
    overflow: hidden; }
  .infoSection1b img.infoSec1bText {
    display: none; }
  .infoSection1b p.infoSec1bText {
    margin: 15px auto;
    text-align: center;
    font-size: 18px;
    line-height: 1.6; }
  .infoSection1b p {
    width: 90%;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.5; }
    .infoSection1b p.name {
      margin: 15px auto 0;
      text-align: right; }

.infoSection2 {
  padding: 20px 0 1px; }
  .infoSection2 h3 {
    margin: 0 0 25px; }
  .infoSection2 h4 {
    margin: 0 0 15px;
    text-align: center;
    font-size: 15px;
    line-height: 1.2;
    color: #006934;
    letter-spacing: 0.1em; }
    .infoSection2 h4 span {
      display: block;
      width: 100px;
      padding: 3px 0;
      margin: 0 auto 15px;
      font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'YuGothic', 'Yu Gothic', 'メイリオ', Meiryo, sans-serif;
      font-weight: 500;
      font-size: 11px;
      line-height: 1;
      color: #fff;
      background-color: #006934; }
  .infoSection2 .infoSection2Img {
    position: relative;
    width: 100%;
    height: 39vw;
    max-height: 250px;
    margin: 0 0 10px;
    overflow: hidden; }
  .infoSection2 p {
    width: 90%;
    margin: 0 auto 25px;
    font-size: 13px;
    line-height: 1.5; }

/* --- WORK --- */
.workSection1 {
  background: url(../images/work_header-sp.jpg) center center no-repeat;
  background-size: cover; }

.workSection2 {
  padding: 20px 0 25px; }
  .workSection2 p {
    width: 90%;
    margin: 0 auto 20px;
    font-size: 13px;
    line-height: 1.5; }
    .workSection2 p br {
      display: none; }
  .workSection2 ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 95%;
    margin: 0 auto; }
    .workSection2 ul li {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 26vw;
      height: 26vw;
      border: solid 1px #006934;
      background: #fff;
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      color: #006934;
      border-radius: 100%;
      letter-spacing: 0.1em; }
    .workSection2 ul span {
      display: block;
      width: 8px;
      height: 8px;
      border-right: solid 1px #006934;
      border-bottom: solid 1px #006934;
      -webkit-transform: translateX(-3px) rotate(-45deg);
      transform: translateX(-3px) rotate(-45deg); }

.workSection3 .workSection3B {
  padding: 0 0 5px; }
  .workSection3 .workSection3B:first-child {
    padding: 25px 0 5px; }
  .workSection3 .workSection3B svg {
    width: 100%;
    height: 15.6vw;
    margin: -1px 0 25px; }

.workSection3 h4 {
  margin: 0 5% 20px;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: #006934;
  letter-spacing: 0.1em; }
  .workSection3 h4 span {
    display: inline-block;
    vertical-align: middle;
    padding: 3px 15px 3px 0;
    margin: 0 15px 0 0;
    font-size: 24px;
    border-right: solid 1px #006934; }

.workSection3 .workSection3C span {
  display: block;
  width: 40vw;
  height: 40vw;
  margin: 0 auto 20px;
  border-radius: 100%;
  overflow: hidden; }
  .workSection3 .workSection3C span img {
    width: 100%; }

.workSection3 .workSection3C div {
  width: 90%;
  margin: 0 auto; }
  .workSection3 .workSection3C div h5 {
    text-align: center;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    color: #006934;
    letter-spacing: 0.1em; }
    .workSection3 .workSection3C div h5::after {
      display: block;
      content: '';
      width: 130px;
      height: 1px;
      margin: 15px auto;
      background: #006934; }
  .workSection3 .workSection3C div p {
    margin: 0 0 25px;
    font-size: 12px;
    line-height: 1.5; }

.workSection3 hr {
  display: none; }

.workSection4 {
  padding: 40px 0 5px; }
  .workSection4 ul li {
    margin: 0 0 25px;
    padding: 0 0 15px;
    background: #fff; }
    .workSection4 ul li a:hover {
      opacity: 0.6;
      transition: .3s; }
  .workSection4 .workSection4Img {
    position: relative;
    width: 100%;
    height: 46vw;
    margin: 0 0 20px;
    overflow: hidden; }
    .workSection4 .workSection4Img .coverImageW {
      -webkit-transform: translateY(-60%);
      transform: translateY(-60%); }
  .workSection4 h3 {
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    color: #006934;
    letter-spacing: 0.1em; }
    .workSection4 h3::after {
      display: block;
      content: '';
      width: 75px;
      height: 1px;
      margin: 10px auto 10px;
      background: #006934; }
  .workSection4 .workSection4Logo {
    width: 70%;
    margin: 0 auto 15px; }
  .workSection4 p {
    width: 90%;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.5; }
    .workSection4 p.workSection4Name {
      text-align: center;
      margin: 0 auto 20px;
      font-weight: 700; }

.workSection5 {
  padding: 40px 0; }
  .workSection5 > div {
    overflow: hidden; }
  .workSection5 .lead {
    width: 90%;
    margin: 0 auto 30px;
    font-size: 13px;
    line-height: 1.5; }
    .workSection5 .lead br {
      display: none; }
  .workSection5 .workSection5Article {
    display: flex;
    width: 700%;
    margin: 0 0 30px;
    transition: 0.3s; }
    .workSection5 .workSection5Article li {
      position: relative;
      width: 14.285%; }
      .workSection5 .workSection5Article li h4 {
        margin: 0 0 20px;
        text-align: center;
        line-height: 1; }
        .workSection5 .workSection5Article li h4 span {
          display: inline-block;
          padding: 1px 15px;
          height: 15px;
          font-size: 15px;
          line-height: 1;
          font-weight: 700;
          color: #006934;
          border-left: solid 1px #006934;
          border-right: solid 1px #006934;
          letter-spacing: 0.1em; }
      .workSection5 .workSection5Article li h5 {
        margin: 0 0 20px;
        text-align: center;
        font-size: 15px;
        line-height: 1.9; }
      .workSection5 .workSection5Article li .workSection5Img {
        position: relative; }
        .workSection5 .workSection5Article li .workSection5Img > div {
          position: relative;
          width: 94%;
          height: 47vw;
          margin: 0 0 50px;
          overflow: hidden; }
          .workSection5 .workSection5Article li .workSection5Img > div img {
            top: 0;
            -webkit-transform: translateY(0);
            transform: translateY(0); }
        .workSection5 .workSection5Article li .workSection5Img::after {
          position: absolute;
          z-index: -1;
          content: '';
          right: 0;
          bottom: -7vw;
          width: 37.5vw;
          height: 37.5vw;
          background: #006934; }
      .workSection5 .workSection5Article li p {
        width: 90%;
        margin: 0 auto;
        font-size: 12px;
        line-height: 1.5; }
  .workSection5 .workPagenation {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end; }
    .workSection5 .workPagenation li {
      width: 11px;
      height: 11px;
      margin: 0 6px;
      padding: 6px;
      text-align: center;
      font-size: 11px;
      line-height: 1;
      color: #fff;
      transition: 0.3s;
      background: #51af80;
      -webkit-tap-highlight-color: transparent; }
      .workSection5 .workPagenation li:active {
        background: #006934; }
      .workSection5 .workPagenation li.current {
        background: #006934; }
  .workSection5 .workNext {
    position: relative;
    margin: 0 0 0 10px;
    padding: 0 25px 2px 0;
    font-size: 10px;
    line-height: 1;
    color: #666;
    border-bottom: solid 1px #666;
    transition: 0.3s; }
    .workSection5 .workNext.hide {
      display: none; }
    .workSection5 .workNext:active {
      color: #006934; }
    .workSection5 .workNext::after {
      position: absolute;
      content: '';
      width: 1px;
      height: 20px;
      bottom: 0;
      right: 0;
      background: #666;
      -webkit-transform: rotate(-45deg);
      -webkit-transform-origin: bottom right;
      transform: rotate(-45deg);
      transform-origin: bottom right; }

/* --- STORY --- */
.story01Section1 {
  background: url(../images/story01_header-sp.jpg) center center no-repeat;
  background-size: cover; }

.storySection2 {
  padding: 20px 0 40px; }
  .storySection2 .storySection2B {
    position: relative;
    padding: 0 0 40vw;
    margin: 0 0 40px; }
    .storySection2 .storySection2B .textArea {
      width: 90%;
      box-sizing: border-box;
      padding: 15px 15px 20vw;
      background: #fff; }
    .storySection2 .storySection2B .storySection2Img {
      position: absolute;
      width: 64%;
      bottom: 13vw;
      right: 0; }
    .storySection2 .storySection2B .storySection2Text {
      position: absolute; }
      .storySection2 .storySection2B .storySection2Text.pc {
        display: none; }
      .storySection2 .storySection2B .storySection2Text.sp {
        width: 24%;
        left: 20px;
        bottom: 0; }
    .storySection2 .storySection2B h4 {
      margin: 0 0 15px;
      font-size: 17px;
      line-height: 1.6;
      font-weight: 500; }
    .storySection2 .storySection2B p {
      font-size: 13px;
      line-height: 1.6; }
    .storySection2 .storySection2B:nth-of-type(2) .textArea {
      margin: 0 0 0 auto; }
    .storySection2 .storySection2B:nth-of-type(2) .storySection2Img {
      right: auto;
      left: 0; }
    .storySection2 .storySection2B:nth-of-type(2) .storySection2Text.sp {
      left: auto;
      right: 20px; }
    .storySection2 .storySection2B:nth-of-type(3) {
      margin: 0; }

.storySection3 {
  padding: 30px 0 40px; }
  .storySection3 ul {
    display: flex; }
    .storySection3 ul li {
      width: 33.33%;
      height: 33.33vw;
      background: center center no-repeat;
      background-size: cover; }
      .storySection3 ul li a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100%;
        min-height: 106px;
        overflow: hidden;
        text-align: center;
        font-size: 12px;
        line-height: 1;
        color: #fff;
        background: rgba(0, 0, 0, 0.3);
        transition: 0.3s; }
        .storySection3 ul li a::after {
          position: absolute;
          bottom: 0;
          right: 0;
          content: '';
          width: 0;
          height: 0;
          border: solid 10px transparent;
          border-left: solid 10px #fff;
          -webkit-transform-origin: bottom left;
          -webkit-transform: translateX(35.36%) rotate(45deg);
          transform-origin: bottom left;
          transform: translateX(35.36%) rotate(45deg);
          transition: 0.3s; }
        .storySection3 ul li a:active {
          background: rgba(0, 0, 0, 0.6); }
          .storySection3 ul li a:active::after {
            border: solid 15px transparent;
            border-left: solid 15px #fff; }
    .storySection3 ul .storySection3Link1 {
      background-image: url(../images/story_sec3-img1.jpg?0224); }
    .storySection3 ul .storySection3Link2 {
      background-image: url(../images/story_sec3-img2.jpg?0208); }
    .storySection3 ul .storySection3Link3 {
      background-image: url(../images/story_sec3-img3.jpg?0208); }

/* --- SESSION --- */
.sessionSection1 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 54.6vw;
  max-height: 350px; }
  .sessionSection1.session01 {
    background: url(../images/session01_header-sp.jpg?0208) center center no-repeat;
    background-size: cover; }
  .sessionSection1.session02 {
    background: url(../images/session02_header-sp.jpg?0208) center center no-repeat;
    background-size: cover; }
  .sessionSection1.session03 {
    background: url(../images/session03_header-sp.jpg?0208) center center no-repeat;
    background-size: cover; }
  .sessionSection1::before {
    position: absolute;
    z-index: 0;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3); }
  .sessionSection1 h2 {
    margin: 0 0 10px;
    position: relative;
    text-align: center; }
    .sessionSection1 h2 span {
      padding: 0 5px 10px;
      display: inline-block;
      font-size: 20px;
      line-height: 1.2;
      color: #fff;
      border-bottom: solid 1px #fff; }
  .sessionSection1 p {
    position: relative;
    margin: 0 0 10px;
    text-align: center;
    font-size: 10px;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.2em; }
    .sessionSection1 p:last-child {
      margin: 0 0 7vw; }
    .sessionSection1 p br {
      display: none; }

.sessionSection2 {
  padding: 25px 0; }
  .sessionSection2 ul {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    .sessionSection2 ul li {
      width: 42%; }
      .sessionSection2 ul li img {
        width: 100%; }
      .sessionSection2 ul li p {
        margin: 10px 0 0;
        text-align: center;
        font-size: 10px;
        line-height: 1.5; }
        .sessionSection2 ul li p span {
          display: block;
          margin: 5px 0 5px;
          font-size: 14px; }
    .sessionSection2 ul > span {
      position: relative;
      display: block;
      width: 12%;
      padding: 30% 0 0; }
      .sessionSection2 ul > span::before, .sessionSection2 ul > span::after {
        position: absolute;
        content: '';
        width: 100%;
        height: 1px;
        background: #666;
        top: 50%;
        left: 0; }
      .sessionSection2 ul > span::before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .sessionSection2 ul > span::after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }

.sessionSection3 {
  padding: 25px 0 1px; }
  .sessionSection3 .sessionSection3Text {
    width: 90%;
    margin: 0 auto; }
    .sessionSection3 .sessionSection3Text p {
      margin: 0 auto 15px;
      font-size: 13px;
      line-height: 1.6; }
      .sessionSection3 .sessionSection3Text p span {
        display: inline-block;
        width: 4em;
        margin: 0 0.5em 0 0;
        text-align: center;
        font-size: 11px;
        color: #fff; }
        .sessionSection3 .sessionSection3Text p span.name1 {
          background-color: #006934; }
        .sessionSection3 .sessionSection3Text p span.name2 {
          background-color: #999; }
  .sessionSection3 .sessionSection3Img {
    position: relative;
    width: 100%;
    height: 54vw;
    margin: 25px 0;
    overflow: hidden; }
    .sessionSection3 .sessionSection3Img .trY40 {
      -webkit-transform: translateY(-40%);
      transform: translateY(-40%); }

.sessionSection4 {
  padding: 25px 0; }
  .sessionSection4 ul {
    display: block;
    background: #fff; }
    .sessionSection4 ul li .sessionSection4Img {
      display: block;
      width: 90%;
      margin: 0 auto; }
    .sessionSection4 ul li > div {
      box-sizing: border-box;
      padding: 20px 0 10px; }
    .sessionSection4 ul li h3 {
      text-align: center;
      font-size: 15px;
      line-height: 1.4;
      font-weight: 500; }
      .sessionSection4 ul li h3::after {
        display: block;
        content: '';
        width: 45px;
        height: 1px;
        margin: 15px auto 15px;
        background-color: #006934; }
    .sessionSection4 ul li p {
      margin: 0 0 15px;
      text-align: center;
      font-size: 12px;
      line-height: 1.5; }

/* --- CULTURE --- */
.cultureSection1 {
  background: url(../images/culture_header.jpg) center center no-repeat;
  background-size: auto 100%; }

.cultureSection2 {
  padding: 20px 0 25px; }
  .cultureSection2 p {
    width: 90%;
    margin: 0 auto;
    font-size: 13px;
    line-height: 1.5; }
    .cultureSection2 p br {
      display: none; }

.cultureSection3 {
  padding: 25px 0 15px; }
  .cultureSection3 h2 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
    color: #006934;
    letter-spacing: 0.2em; }
    .cultureSection3 h2 span {
      margin: 5px 0 0;
      display: block;
      font-size: 18px;
      color: #333;
      letter-spacing: 0.1em; }
  .cultureSection3 .my-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .cultureSection3 .my-gallery > div {
      width: 31.25%;
      height: 22.5vw;
      margin: 0 0 3vw; }
      .cultureSection3 .my-gallery > div.cultureSec3last {
        margin: 0 34.375% 3vw 0; }
      .cultureSection3 .my-gallery > div a {
        display: block; }
        .cultureSection3 .my-gallery > div a img {
          width: 100%;
          transition: opacity 0.3s; }
        .cultureSection3 .my-gallery > div a:active img {
          opacity: 0.6; }
      .cultureSection3 .my-gallery > div figcaption {
        display: none; }

.pswp__bg {
  background: rgba(0, 0, 0, 0.9); }

.pswp__caption {
  bottom: auto;
  top: calc(50% + 35vw);
  background: none; }

.pswp__caption__center {
  min-height: 75px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5; }

/* --- DATA --- */
.dataSection1 {
  padding: 40% 0 30px;
  background: url(../images/data_header.png) center top no-repeat;
  background-size: 100% auto; }
  .dataSection1 h2 {
    margin: 0 0 10px;
    text-align: center;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.1em; }
  .dataSection1 p {
    text-align: center;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }

.dataSection2 {
  padding: 0 0 30px; }
  .dataSection2 h3 {
    margin: 0 0 30px;
    padding: 25px 0;
    text-align: center;
    font-size: 14px;
    line-height: 1; }
  .dataSection2 .dataSection2B {
    width: 85%;
    margin: 0 auto; }
  .dataSection2 .dataSection2Button {
    position: relative;
    margin: 10px auto;
    transition: 0.3s;
    -webkit-tap-highlight-color: transparent; }
    .dataSection2 .dataSection2Button > div {
      position: relative;
      display: flex;
      align-items: center;
      height: 30vw;
      padding: 0 0 3vw;
      border-radius: 5px;
      overflow: hidden; }
      .dataSection2 .dataSection2Button > div span {
        position: relative;
        z-index: 2;
        display: block;
        margin: 0 15px 0 18%;
        width: 70px;
        height: 70px; }
        .dataSection2 .dataSection2Button > div span img {
          width: 100%; }
      .dataSection2 .dataSection2Button > div p {
        position: relative;
        z-index: 2;
        font-size: 18px;
        line-height: 1.3;
        font-weight: 700;
        color: #fff; }
      .dataSection2 .dataSection2Button > div::before {
        position: absolute;
        z-index: 0;
        content: '';
        bottom: 0;
        right: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 33vw 85vw; }
    .dataSection2 .dataSection2Button::after {
      position: absolute;
      z-index: 3;
      content: '';
      bottom: 5px;
      left: 50%;
      width: 0;
      height: 0;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      border-style: solid;
      border-width: 12px 12px 0 12px;
      border-color: #fff transparent transparent transparent;
      transition: 0.3s; }
    .dataSection2 .dataSection2Button.green > div {
      background: #1ab962; }
      .dataSection2 .dataSection2Button.green > div::before {
        border-color: transparent transparent #14ac53 transparent; }
    .dataSection2 .dataSection2Button.green.open::after {
      bottom: -20px;
      border-color: #1ab962 transparent transparent transparent; }
    .dataSection2 .dataSection2Button.blue > div {
      background: #0abdd6; }
      .dataSection2 .dataSection2Button.blue > div::before {
        border-color: transparent transparent #07b1cd transparent; }
    .dataSection2 .dataSection2Button.blue.open::after {
      bottom: -20px;
      border-color: #0abdd6 transparent transparent transparent; }
    .dataSection2 .dataSection2Button:active {
      opacity: 0.6; }
  .dataSection2 .dataSection2Fig {
    display: none;
    margin: 30px auto;
    width: 100%; }
    .dataSection2 .dataSection2Fig img {
      width: 100%; }
    .dataSection2 .dataSection2Fig.green {
      border-top: solid 3px #1ab962;
      border-bottom: solid 3px #1ab962; }
    .dataSection2 .dataSection2Fig.blue {
      border-top: solid 3px #0abdd6;
      border-bottom: solid 3px #0abdd6; }

/* --- FAQ --- */
.faqSection1 {
  background: url(../images/faq_header.jpg) center center no-repeat;
  background-size: auto 100%; }

.faqSection2 {
  padding: 15px 0; }
  .faqSection2 ul {
    display: flex;
    width: 95%;
    max-width: 960px;
    margin: 0 auto; }
    .faqSection2 ul li {
      width: 33.33%;
      box-sizing: border-box;
      border-left: solid 1px #aaa; }
      .faqSection2 ul li:last-child {
        border-right: solid 1px #aaa; }
      .faqSection2 ul li a {
        position: relative;
        display: block;
        padding: 5px 0 18px;
        text-align: center;
        font-size: 11px;
        line-height: 1;
        color: #333; }
        .faqSection2 ul li a::after {
          position: absolute;
          bottom: 5px;
          left: 50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 6px 6px 0 6px;
          border-color: #006934 transparent transparent transparent; }

.faqSection3 {
  padding: 10px 0 1px; }
  .faqSection3 .faqSection3B {
    width: 90%;
    margin: 0 auto 30px; }
    .faqSection3 .faqSection3B > p {
      font-size: 12px;
      margin-bottom: 10px; }
    .faqSection3 .faqSection3B h3 {
      margin: 0 0 10px;
      font-size: 14px;
      line-height: 1.2;
      font-weight: 700;
      color: #006934;
      letter-spacing: 0.1em; }
    .faqSection3 .faqSection3B ul {
      border-top: solid 1px #ccc; }
      .faqSection3 .faqSection3B ul li {
        padding: 0 0 1px;
        border-bottom: solid 1px #ccc; }
        .faqSection3 .faqSection3B ul li .faqQuestion {
          position: relative;
          display: block;
          padding: 10px 40px 10px 30px;
          font-size: 12px;
          line-height: 1.5;
          color: #333;
          -webkit-tap-highlight-color: transparent;
          transition: 0.3s; }
          .faqSection3 .faqSection3B ul li .faqQuestion::before {
            position: absolute;
            content: 'Q.';
            top: 10px;
            left: 0;
            font-size: 22px;
            line-height: 1;
            font-weight: 700;
            color: #006934; }
          .faqSection3 .faqSection3B ul li .faqQuestion::after {
            position: absolute;
            content: '＋';
            top: 50%;
            right: 0;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
            width: 10px;
            height: 10px;
            padding: 4px;
            text-align: center;
            font-size: 10px;
            font-weight: 700;
            line-height: 1;
            color: #fff;
            background-color: #006934;
            transition: 0.3s; }
          .faqSection3 .faqSection3B ul li .faqQuestion:active {
            color: #006934; }
            .faqSection3 .faqSection3B ul li .faqQuestion:active::after {
              background-color: #51af80; }
          .faqSection3 .faqSection3B ul li .faqQuestion.open::after {
            content: '−'; }
        .faqSection3 .faqSection3B ul li .faqAnswer {
          display: none;
          margin: 0 0 10px;
          padding: 10px;
          font-size: 12px;
          line-height: 1.5;
          color: #333;
          background: #fff; }

/* --- RECRUITING --- */
.recruitSection1 {
  background: url(../images/recruit_header.jpg) center center no-repeat;
  background-size: auto 100%; }

.recruitSection2 {
  padding: 15px 0 25px; }
  .recruitSection2 ul {
    display: flex;
    width: 95%;
    max-width: 960px;
    margin: 0 auto; }
    .recruitSection2 ul li {
      width: 33.33%;
      box-sizing: border-box;
      border-left: solid 1px #aaa; }
      .recruitSection2 ul li:last-child {
        border-right: solid 1px #aaa; }
      .recruitSection2 ul li a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 24px;
        padding: 5px 0 18px;
        text-align: center;
        font-size: 11px;
        line-height: 1;
        color: #333; }
        .recruitSection2 ul li a span {
          display: block;
          -webkit-transform: scale(0.8);
          transform: scale(0.8); }
        .recruitSection2 ul li a::after {
          position: absolute;
          bottom: 5px;
          left: 50%;
          -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 6px 6px 0 6px;
          border-color: #006934 transparent transparent transparent; }

.recruitSection3 {
  padding: 10px 0 1px; }
  .recruitSection3 .recruitSection3B {
    width: 90%;
    margin: 0 auto 30px; }
    .recruitSection3 .recruitSection3B h3 {
      margin: 0 0 15px;
      text-align: center;
      font-size: 15px;
      line-height: 1.2;
      font-weight: 700;
      color: #006934;
      letter-spacing: 0.1em; }
    .recruitSection3 .recruitSection3B li {
      padding: 15px 0;
      border-top: solid 1px #ccc; }
    .recruitSection3 .recruitSection3B h4 {
      margin: 0 0 5px;
      font-size: 13px;
      line-height: 1.4;
      font-weight: 700;
      color: #006934; }
      .recruitSection3 .recruitSection3B h4 br {
        display: none; }
    .recruitSection3 .recruitSection3B p {
      font-size: 12px;
      line-height: 1.5;
      color: #333; }
    .recruitSection3 .recruitSection3B table {
      font-size: 12px;
      line-height: 1.5;
      color: #333; }
      .recruitSection3 .recruitSection3B table th {
        padding-right: 1em; }
    .recruitSection3 .recruitSection3B .goTop {
      padding: 5px 0 0;
      border-top: solid 1px #ccc;
      text-align: right; }
      .recruitSection3 .recruitSection3B .goTop a {
        font-size: 13px;
        color: #006934;
        text-decoration: underline; }
    .recruitSection3 .recruitSection3B .recruitFlow span {
      position: relative;
      display: inline-block;
      padding: 7px 10px 7px 15px;
      margin: 0 3px 10px 0;
      font-size: 12px;
      line-height: 1;
      color: #fff; }
      .recruitSection3 .recruitSection3B .recruitFlow span::after {
        position: absolute;
        z-index: 2;
        content: '';
        width: 0;
        height: 0;
        top: 0;
        right: -13px;
        border-style: solid;
        border-width: 13px 0 13px 13px; }
      .recruitSection3 .recruitSection3B .recruitFlow span:last-child::after {
        display: none; }
      .recruitSection3 .recruitSection3B .recruitFlow span:nth-of-type(2n) {
        background: #009634; }
        .recruitSection3 .recruitSection3B .recruitFlow span:nth-of-type(2n)::after {
          border-color: transparent transparent transparent #009634; }
      .recruitSection3 .recruitSection3B .recruitFlow span:nth-of-type(2n+1) {
        background: #006934; }
        .recruitSection3 .recruitSection3B .recruitFlow span:nth-of-type(2n+1)::after {
          border-color: transparent transparent transparent #006934; }
    .recruitSection3 .recruitSection3B .recruitEntry {
      display: block;
      width: 60%;
      margin: 20px auto;
      padding: 10px 0;
      background: #006934;
      transition: 0.3s; }
      .recruitSection3 .recruitSection3B .recruitEntry:active {
        background: #51af80; }
      .recruitSection3 .recruitSection3B .recruitEntry img {
        display: block;
        width: 107px;
        margin: 0 auto; }
    .recruitSection3 .recruitSection3B .recruitSection3C {
      padding: 15px 0 1px;
      border-top: solid 1px #ccc; }
      .recruitSection3 .recruitSection3B .recruitSection3C h5 {
        margin: 0 0 5px;
        padding-left: 1em;
        text-indent: -1em;
        font-size: 12px;
        line-height: 1.4;
        font-weight: 700;
        color: #006934; }
      .recruitSection3 .recruitSection3B .recruitSection3C p {
        margin: 0 0 15px; }
        .recruitSection3 .recruitSection3B .recruitSection3C p.list {
          margin: 0 0 3px;
          padding-left: 1em;
          text-indent: -1em; }
      .recruitSection3 .recruitSection3B .recruitSection3C .tri {
        display: block;
        width: 0;
        height: 0;
        margin: 15px 0 15px 10px;
        border-style: solid;
        border-width: 10px 10px 0 10px;
        border-color: #006934 transparent transparent transparent; }

/* --- INTRO --- */
.introImage {
  position: relative;
  width: 100%;
  height: 120vw;
  padding-top: 8.5vw; }
  .introImage .topText2 {
    margin: 0 auto; }

.swiper-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.swiper-slide {
  overflow: hidden; }
  .swiper-slide span {
    display: block;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: 7s linear; }

.swiper-slide-active span {
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1); }

.swiper-slide-prev span {
  -webkit-transform: scale3d(1.2, 1.2, 1);
  transform: scale3d(1.2, 1.2, 1); }

.swiper-slide-duplicate-active span {
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1); }

.swiper-slide-duplicate-prev span {
  -webkit-transform: scale3d(1.2, 1.2, 1);
  transform: scale3d(1.2, 1.2, 1); }

.topImage1 {
  background-image: url(../images/top_header-1-sp.jpg); }

.topImage2 {
  background-image: url(../images/top_header-2-sp.jpg); }

.topImage3 {
  background-image: url(../images/top_header-3-sp.jpg); }

.topImage4 {
  background-image: url(../images/top_header-4-sp.jpg); }

.topImage5 {
  background-image: url(../images/top_header-5-sp.jpg); }

.topImage6 {
  background-image: url(../images/top_header-6-sp.jpg); }

.topImage7 {
  background-image: url(../images/top_header-7-sp.jpg?0225); }

.topImage8 {
  background-image: url(../images/top_header-8-sp.jpg); }

.introLink {
  display: flex;
  justify-content: space-between;
  position: absolute;
  z-index: 2;
  width: 90%;
  max-width: 450px;
  bottom: 13vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }
  .introLink li {
    width: 46%;
    background: #fff; }
    .introLink li a {
      position: relative;
      display: block;
      padding: 8px 0;
      text-align: center;
      font-size: 12px;
      line-height: 1;
      font-weight: 700;
      color: #006934;
      letter-spacing: 0.1em; }
      .introLink li a::after {
        position: absolute;
        content: '';
        bottom: 5px;
        right: 5px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0 8px 8px;
        border-color: transparent transparent #006934 transparent;
        transition: 0.3s; }
      .introLink li a:active::after {
        border-width: 0 0 12px 12px; }

.introSection2 .workSection4Img .coverImageW {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }

.introSection2 h3 {
  margin: 0 0 20px;
  font-size: 15px;
  color: #333; }
  .introSection2 h3::after {
    display: none; }

.introSection2 .iconMovie {
  position: absolute;
  z-index: 3;
  top: 20px;
  left: 20px;
  width: 36px;
  height: 36px; }

.introSection2 .readmore {
  margin: 0 auto 10px; }

.introSection3 .readmore {
  margin: 20px auto 10px; }

.introFooter {
  padding: 0; }
  .introFooter .introSns a {
    display: block;
    width: 43px;
    height: 43px;
    margin: 0 auto 20px; }
    .introFooter .introSns a img {
      width: 100%; }
  .introFooter .introSns h3 {
    text-align: center;
    font-size: 20px;
    margin: 0 0 20px; }
  .introFooter .introSns p {
    margin: 0 0 30px;
    text-align: center;
    font-size: 10px;
    line-height: 1.8; }

/* --------------------------------------
TABLET
----------------------------------------- */
@media screen and (min-width: 767px) {
  /* --- HEADER-TABLET --- */
  header {
    height: 72px; }
  .headerInner {
    height: 72px; }
    .headerInner h1 a {
      display: flex;
      align-items: center;
      width: 520px;
      height: 54px;
      padding: 9px 0;
      margin: 0 auto 0 0; }
      .headerInner h1 a img {
        width: 54px;
        height: 54px; }
      .headerInner h1 a span {
        display: block;
        margin: 0 0 0 10px;
        font-size: 13px;
        line-height: 1.5;
        font-weight: 500;
        color: #333; }
        .headerInner h1 a span strong {
          font-size: 18px;
          font-weight: 500; }
        .headerInner h1 a span small {
          font-size: 11px; }
        .headerInner h1 a span:last-child {
          margin: 0 0 0 20px; }
  .entry {
    right: 72px;
    width: 72px;
    height: 72px; }
    .entry img {
      height: 50px;
      margin: 11px auto; }
  .hamburger {
    padding: 27px 21px; }
  .hamburger-box {
    width: 30px;
    height: 18px; }
  .hamburger-inner {
    margin-top: -2px; }
    .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
      width: 30px; }
    .hamburger-inner::before {
      top: -8px; }
    .hamburger-inner::after {
      bottom: -8px; }
  /* --- NAV-TABLET --- */
  .menulist {
    width: calc(50% - 490px + 640px);
    min-width: 640px;
    height: 100%;
    padding: 70px 0 0 40px;
    transition: 0.3s; }
    .menulist.is-active {
      right: -17px; }
    .menulist img {
      display: block;
      margin-bottom: 5px;
      transition: 0.3s; }
    .menulist h3 {
      padding: 30px 0 20px;
      font-size: 18px; }
      .menulist h3.other {
        font-size: 13px;
        padding: 30px 0 20px; }
    .menulist ul {
      width: 240px; }
      .menulist ul li {
        padding: 11px 0;
        font-size: 15px;
        border-bottom: none; }
        .menulist ul li ul {
          position: absolute;
          top: 90px;
          left: 340px;
          width: 200px;
          margin: 0; }
          .menulist ul li ul li {
            padding: 0;
            margin-bottom: 20px; }
          .menulist ul li ul a {
            font-size: 12px; }
            .menulist ul li ul a:active {
              color: #006934; }
              .menulist ul li ul a:active img {
                opacity: 0.7; }
            .menulist ul li ul a.talk {
              text-align: center; }
              .menulist ul li ul a.talk img {
                margin: 5px 0; }
  .navParent:hover {
    cursor: pointer; }
  .navParent.open::after {
    -webkit-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0); }
  .navEntry {
    display: block;
    position: static;
    width: 200px;
    margin: 20px 0 40px;
    padding: 8px 0; }
    .navEntry.pc {
      display: block; }
    .navEntry.sp {
      display: none; }
  /* --- BREADCRUMS-TABLET --- */
  .breadcrums > div {
    height: 12px;
    padding: 10px 0; }
  .breadcrums a {
    height: 12px;
    padding: 0 25px 0 0;
    font-size: 12px; }
  .breadcrums a[href]::after {
    right: 5px;
    border: solid 5px transparent;
    border-left: solid 5px #006934; }
  /* --- COMMON-TABLET --- */
  .maxWidth {
    width: 98%;
    max-width: 960px;
    margin: 0 auto; }
  .readmore {
    width: 128px;
    padding: 10px 0;
    font-size: 11px; }
  .minchoHead {
    margin: 0 0 40px;
    font-size: 28px;
    line-height: 1.9;
    letter-spacing: 0.3em; }
  .commonTopimage h2 {
    margin: 0 0 30px;
    font-size: 60px;
    letter-spacing: 0.1em; }
  .commonTopimage p {
    font-size: 20px; }
  /* --- FOOTER-TABLET --- */
  footer {
    padding: 80px 0 0; }
    footer h2 {
      margin: 0 0 40px;
      font-size: 19px; }
    footer ul {
      display: flex; }
      footer ul li {
        max-height: 275px; }
        footer ul li a {
          padding-bottom: 30px;
          font-size: 19px;
          line-height: 1.8;
          letter-spacing: 0.2em; }
          footer ul li a span {
            display: block;
            position: absolute;
            bottom: 50px;
            left: 50%;
            margin-left: -64px;
            width: 128px;
            padding: 10px 0;
            font-size: 11px;
            line-height: 1;
            color: #006934;
            background: #fff;
            letter-spacing: 0; }
          footer ul li a::after {
            display: none; }
    footer .copyright {
      margin-top: 80px;
      padding: 22px 0;
      font-size: 16px; }
  /* --- TOP-TABLET --- */
  #bgBlack2 {
    display: none;
    position: fixed;
    z-index: 199;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.9); }
    #bgBlack2 span {
      position: absolute;
      width: 40px;
      height: 40px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(320px, -252px);
      transform: translate(320px, -252px); }
      #bgBlack2 span::before, #bgBlack2 span::after {
        position: absolute;
        content: '';
        width: 40px;
        height: 1px;
        top: 20px;
        left: 0;
        background: #aaa; }
      #bgBlack2 span::before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      #bgBlack2 span::after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      #bgBlack2 span:hover {
        cursor: pointer; }
    #bgBlack2.is-active {
      display: block; }
  .topImage {
    position: relative;
    width: 100%;
    height: 56vw;
    max-height: calc(100vh - 72px);
    padding-top: 0; }
  #topMovie {
    left: -95px;
    bottom: -42px;
    width: calc(100% + 190px);
    height: calc(56vw + 106px); }
  .topText1 {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11%;
    max-width: 18vh;
    margin: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .topText2 {
    position: absolute;
    left: 50%;
    bottom: 6vw;
    margin: 0 0 0 -40%;
    text-align: left;
    font-size: 14px;
    font-weight: 500; }
  .topH2 {
    margin: 0 0 30px;
    font-size: 19px;
    letter-spacing: 0.3em; }
  .topSection1 {
    padding: 50px 0 75px; }
    .topSection1 > div {
      direction: rtl;
      margin: 0 0 40px;
      text-align: center; }
    .topSection1 h3 {
      direction: ltr;
      display: inline-block;
      vertical-align: top;
      margin: 0 0 0 30px;
      text-align: left;
      font-size: 28px;
      line-height: 1.9;
      -ms-writing-mode: tb-rl;
      -webkit-writing-mode: vertical-rl;
      writing-mode: vertical-rl; }
    .topSection1 p {
      direction: ltr;
      display: inline-block;
      vertical-align: top;
      margin: 0;
      font-size: 14px;
      line-height: 3;
      letter-spacing: 0.1em;
      font-feature-settings: normal;
      -ms-writing-mode: tb-rl;
      -webkit-writing-mode: vertical-rl;
      writing-mode: vertical-rl; }
      .topSection1 p br.sp {
        display: none; }
  .topSection2 {
    padding: 80px 0; }
    .topSection2 ul {
      display: flex;
      justify-content: space-between;
      background: none; }
      .topSection2 ul li {
        width: 32.5%;
        display: block;
        background: #fff; }
        .topSection2 ul li > span {
          display: block;
          width: 100%;
          height: 0;
          padding-top: 87.5%; }
        .topSection2 ul li > div {
          width: 100%;
          padding: 40px 0; }
        .topSection2 ul li h3 {
          font-size: 20px;
          letter-spacing: 0.3em; }
          .topSection2 ul li h3::after {
            width: 90px;
            margin: 20px auto 25px; }
        .topSection2 ul li p {
          margin: 0 0 25px;
          text-align: center;
          line-height: 1.9; }
          .topSection2 ul li p br {
            display: inline; }
  .topSection3 {
    padding: 70px 0;
    overflow: hidden; }
    .topSection3 .lead {
      width: 100%;
      margin: 0 auto 60px;
      text-align: center;
      font-size: 14px;
      line-height: 2.3; }
      .topSection3 .lead br.sp {
        display: none; }
    .topSection3 > div {
      position: relative;
      padding: 0 0 100px;
      margin: 0 auto 100px;
      overflow: visible; }
      .topSection3 > div .textArea {
        width: 67%;
        margin: 0 auto 0 -2%;
        padding: 40px 0 40px 30px;
        background: #fff; }
      .topSection3 > div h3 {
        top: auto;
        bottom: calc(50vw - 120px);
        left: 48%;
        padding: 7px 50px 7px 10px;
        font-size: 16px;
        letter-spacing: 0.1em; }
      .topSection3 > div .topSection3Img {
        width: 52%;
        max-width: 500px;
        bottom: 0;
        right: 0; }
      .topSection3 > div .topSection3TextSP {
        display: none; }
      .topSection3 > div .topSection3TextPC {
        display: block; }
      .topSection3 > div h4 {
        margin: 0 0 15px;
        font-size: 23px;
        line-height: 2;
        letter-spacing: 0.2em; }
      .topSection3 > div p {
        margin: 0 0 30px;
        width: 322px;
        font-size: 14px;
        line-height: 2.3; }
      .topSection3 > div .readmore {
        position: static;
        margin: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0); }
      .topSection3 > div:nth-of-type(1) .topSection3Text {
        bottom: 60%;
        right: 2%; }
      .topSection3 > div:nth-of-type(1) .topSection3TextPC {
        width: 20.9%;
        max-width: 200px;
        top: 0;
        right: 0; }
      .topSection3 > div:nth-of-type(2) .textArea {
        margin: 0 -2% 0 auto;
        padding: 40px 30px 40px 0; }
      .topSection3 > div:nth-of-type(2) h3 {
        left: auto;
        right: 48%; }
      .topSection3 > div:nth-of-type(2) h4 {
        text-align: right; }
      .topSection3 > div:nth-of-type(2) p {
        margin: 0 0 30px auto; }
      .topSection3 > div:nth-of-type(2) .topSection3Img {
        bottom: 0;
        left: 0; }
      .topSection3 > div:nth-of-type(2) .topSection3TextPC {
        width: 20.9%;
        max-width: 200px;
        top: -70px;
        left: 0; }
      .topSection3 > div:nth-of-type(2) .readmore {
        margin: 0 0 0 auto; }
      .topSection3 > div:nth-of-type(3) {
        margin: 0 auto; }
        .topSection3 > div:nth-of-type(3) .topSection3TextPC {
          width: 32.1%;
          max-width: 308px;
          top: -70px;
          right: 0; }
  .topSection4 {
    padding: 0 0 90px; }
    .topSection4 > div {
      display: flex; }
      .topSection4 > div .topMovie2 {
        width: 50%;
        margin: 0; }
        .topSection4 > div .topMovie2 .topMovie2Pos {
          top: -90px; }
        .topSection4 > div .topMovie2 .movie {
          width: 90%;
          height: 0;
          margin: 0 auto;
          padding-top: 50.625%; }
          .topSection4 > div .topMovie2 .movie .topMovie2Poster {
            display: block;
            position: absolute;
            z-index: 2;
            width: 100%;
            top: 0;
            left: 0; }
            .topSection4 > div .topMovie2 .movie .topMovie2Poster .poster {
              display: block;
              width: 100%;
              transition: 0.3s; }
            .topSection4 > div .topMovie2 .movie .topMovie2Poster .iconMovie {
              position: absolute;
              z-index: 3;
              top: 10px;
              left: 10px;
              width: 36px;
              height: 36px; }
            .topSection4 > div .topMovie2 .movie .topMovie2Poster:hover {
              cursor: pointer; }
              .topSection4 > div .topMovie2 .movie .topMovie2Poster:hover .poster {
                opacity: 0.6; }
          .topSection4 > div .topMovie2 .movie iframe {
            opacity: 0;
            transition: opacity 0.3s; }
            .topSection4 > div .topMovie2 .movie iframe.fixed {
              position: fixed;
              z-index: 200;
              width: 720px;
              height: 405px;
              padding: 0;
              top: 50%;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
              opacity: 1; }
    .topSection4 h3 {
      margin: 0 0 25px;
      font-size: 36px; }
      .topSection4 h3::after {
        width: 90px;
        margin: 10px auto 25px; }
    .topSection4 p {
      margin: 0 0 30px;
      font-size: 14px; }
  .topSection5 {
    padding: 0 0 80px; }
    .topSection5 .minchoHead {
      font-size: 50px; }
    .topSection5 .lead {
      width: 100%;
      margin: 0 auto 50px;
      text-align: center;
      font-size: 14px;
      line-height: 2.3; }
      .topSection5 .lead br {
        display: inline; }
    .topSection5 ul li > span {
      position: relative;
      display: block;
      height: 0;
      padding-top: 50%;
      margin: 0 0 25px; }
    .topSection5 ul li p {
      font-size: 16px; }
      .topSection5 ul li p span {
        display: block;
        margin-top: 10px;
        font-size: 18px; }
      .topSection5 ul li p br {
        display: none; }
    .topSection5 ul > span {
      padding: 25px 0; }
    .topSection5 ul::before, .topSection5 ul::after {
      width: 80px;
      top: auto;
      bottom: 120px;
      left: calc(50% - 40px); }
  .topLink1 {
    padding: 20px 0; }
    .topLink1 a {
      width: 90%;
      max-width: 880px;
      padding: 30px 0;
      border: solid 2px #006934;
      border-radius: 10px; }
      .topLink1 a span {
        font-size: 36px;
        letter-spacing: 0.1em; }
        .topLink1 a span::before, .topLink1 a span::after {
          width: 24px;
          height: 24px;
          margin-top: -13px; }
        .topLink1 a span::before {
          right: 6px; }
        .topLink1 a span::after {
          right: -6px; }
  /* --- INTERVIEW-TABLET --- */
  .interviewSection2 {
    padding: 120px 0 50px; }
  .interviewSection3 {
    padding: 0 0 80px; }
    .interviewSection3 h3 {
      margin: 0 0 45px;
      font-size: 31px;
      letter-spacing: 0.1em; }
    .interviewSection3 ul {
      justify-content: center; }
      .interviewSection3 ul li {
        width: 33.33%; }
        .interviewSection3 ul li p {
          padding: 20px 0; }
          .interviewSection3 ul li p span {
            margin-bottom: 8px;
            font-size: 20px; }
  /* --- STAFF-TABLET --- */
  .staffSection1 {
    padding: 0; }
    .staffSection1 .maxWidth {
      position: relative;
      padding: 0 0 50px; }
    .staffSection1 .staffImage {
      position: relative;
      width: 72%;
      height: 410px;
      margin: 0 0 60px; }
    .staffSection1 h2 {
      margin: 0;
      text-align: left;
      font-size: 29px;
      line-height: 2; }
    .staffSection1 .staffProfile {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 32%;
      padding: 35px 25px 25px; }
      .staffSection1 .staffProfile p {
        font-size: 14px; }
        .staffSection1 .staffProfile p.profName {
          margin: 10px 0;
          font-size: 30px; }
          .staffSection1 .staffProfile p.profName::after {
            width: 72px;
            margin: 20px auto; }
        .staffSection1 .staffProfile p.profText {
          width: 100%;
          margin: 25px auto 0;
          line-height: 2; }
  .staffSection2 {
    padding: 100px 0 50px; }
    .staffSection2 .staffSection2Article {
      margin: 0 0 40px; }
      .staffSection2 .staffSection2Article h3 {
        width: 480px;
        margin: 40px 0 25px;
        font-size: 31px;
        line-height: 1.8;
        letter-spacing: 0.1em; }
        .staffSection2 .staffSection2Article h3.small {
          font-size: 29px; }
      .staffSection2 .staffSection2Article .staffSection2Img {
        position: absolute;
        width: calc(87.5% - 434px);
        height: 100%;
        margin: 0;
        right: 0;
        bottom: 0; }
        .staffSection2 .staffSection2Article .staffSection2Img .w100 {
          width: auto;
          height: 100%;
          margin-top: 0; }
        .staffSection2 .staffSection2Article .staffSection2Img .trX40 {
          -webkit-transform: translateX(-40%);
          transform: translateX(-40%); }
        .staffSection2 .staffSection2Article .staffSection2Img .trX55 {
          -webkit-transform: translateX(-55%);
          transform: translateX(-55%); }
        .staffSection2 .staffSection2Article .staffSection2Img .trX60 {
          -webkit-transform: translateX(-60%);
          transform: translateX(-60%); }
      .staffSection2 .staffSection2Article .staffSection2Text1-1 {
        width: 10.4%;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text1-2 {
        width: 30%;
        top: auto;
        bottom: 23vw;
        left: 480px; }
      .staffSection2 .staffSection2Article .staffSection2Text1-3 {
        width: 18%;
        top: 0;
        right: auto;
        left: 455px; }
      .staffSection2 .staffSection2Article .staffSection2Text2-1 {
        width: 10.4%;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text2-2 {
        width: 18%;
        top: 0;
        right: auto;
        left: 455px; }
      .staffSection2 .staffSection2Article .staffSection2Text2-3 {
        width: 18%;
        top: 0;
        right: auto;
        left: 455px; }
      .staffSection2 .staffSection2Article .staffSection2Text3-1 {
        width: 10.4%;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text3-2 {
        width: 30%;
        top: 0;
        right: auto;
        left: 480px; }
      .staffSection2 .staffSection2Article .staffSection2Text3-3 {
        width: 10.4%;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text4-1 {
        width: 10.4%;
        top: 0;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text4-2 {
        width: 30%;
        top: 0;
        right: auto;
        left: 460px; }
      .staffSection2 .staffSection2Article .staffSection2Text4-3 {
        width: 18%;
        top: 0;
        right: auto;
        left: 455px; }
      .staffSection2 .staffSection2Article .staffSection2Text5-1 {
        width: 10.4%;
        top: 0;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text5-2 {
        width: 10.4%;
        top: 0;
        right: auto;
        left: 490px; }
      .staffSection2 .staffSection2Article .staffSection2Text5-3 {
        width: 18%;
        top: 0;
        right: auto;
        left: 455px; }
      .staffSection2 .staffSection2Article p {
        width: 434px;
        margin: 0;
        font-size: 14px;
        line-height: 2; }
    .staffSection2 .staffPagenation li:not(.current):hover {
      cursor: pointer; }
    .staffSection2 .staffNext {
      right: 0;
      padding: 0 40px 2px 0;
      font-size: 14px;
      line-height: 1; }
      .staffSection2 .staffNext::after {
        height: 30px; }
      .staffSection2 .staffNext:hover {
        cursor: pointer; }
  .staffSection3 {
    padding: 60px 0 80px; }
    .staffSection3 .staffSection3Schedule > div {
      width: 31.875%;
      margin: 0 0 20px; }
      .staffSection3 .staffSection3Schedule > div a:hover .schedule {
        opacity: 1; }
      .staffSection3 .staffSection3Schedule > div.box2-left {
        margin-left: 17.1%; }
      .staffSection3 .staffSection3Schedule > div.box2-right {
        margin-right: 17.1%; }
    .staffSection3 .staffSection3Schedule .schedule {
      opacity: 0;
      transition: 0.3s; }
      .staffSection3 .staffSection3Schedule .schedule p.scheduleTime {
        margin: 0 0 10px;
        font-size: 64px; }
      .staffSection3 .staffSection3Schedule .schedule p.scheduleText {
        font-size: 16px;
        letter-spacing: 0.2em; }
  .staffSection4 {
    padding: 60px 0 80px; }
    .staffSection4 .staffSection4Img {
      display: block;
      width: 210px;
      height: 210px;
      margin: 40px auto;
      border-radius: 105px; }
    .staffSection4 .staffSection4Text {
      text-align: center;
      font-size: 0; }
      .staffSection4 .staffSection4Text img {
        display: inline-block;
        height: 30px;
        margin: 0 0 20px; }
      .staffSection4 .staffSection4Text span {
        display: inline-block;
        font-size: 24px;
        margin: 0 0 20px; }
      .staffSection4 .staffSection4Text br {
        display: inline; }
  .staffSection5 {
    padding: 60px 0 30px; }
    .staffSection5 h3 {
      margin: 0 0 45px;
      font-size: 31px;
      letter-spacing: 0.1em; }
    .staffSection5 ul {
      justify-content: center; }
      .staffSection5 ul li {
        width: 33.33%; }
        .staffSection5 ul li p {
          padding: 15px 0 40px; }
          .staffSection5 ul li p span {
            margin-bottom: 8px;
            font-size: 20px; }
        .staffSection5 ul li::after {
          border: solid 20px transparent;
          border-left: solid 20px #006934; }
        .staffSection5 ul li:active::after {
          border: solid 30px transparent;
          border-left: solid 30px #006934; }
  /* --- INFO-TABLET --- */
  .infoSection1 {
    background-size: 1600px 480px; }
  .infoSection1b {
    padding: 90px 0 30px; }
    .infoSection1b h3 {
      margin-bottom: 70px; }
    .infoSection1b h4 {
      margin: 0 0 30px;
      font-size: 30px;
      text-align: left;
      letter-spacing: 0.2em; }
    .infoSection1b .infoSec1bImg {
      height: 510px;
      margin: 0 auto 50px;
      overflow: visible; }
      .infoSection1b .infoSec1bImg .coverImageH {
        left: 0;
        -webkit-transform: translateX(-320px);
        transform: translateX(-320px); }
    .infoSection1b img.infoSec1bText {
      position: absolute;
      display: block;
      width: 208px;
      top: 20px;
      right: 0; }
    .infoSection1b p.infoSec1bText {
      display: none; }
    .infoSection1b p {
      width: 100%;
      font-size: 14px;
      line-height: 1.9; }
      .infoSection1b p.name {
        margin: 30px auto 0;
        font-size: 16px; }
  .infoSection2 {
    padding: 120px 0 1px; }
    .infoSection2 h3 {
      margin: 0 0 70px; }
    .infoSection2 h4 {
      margin: 0 0 30px;
      font-size: 30px;
      letter-spacing: 0.2em; }
      .infoSection2 h4 span {
        width: 210px;
        padding: 6px 0;
        margin: 0 auto 30px;
        font-size: 18px; }
    .infoSection2 .infoSection2Img {
      margin: 0 0 20px; }
    .infoSection2 p {
      width: 100%;
      margin: 0 auto 90px;
      font-size: 14px;
      line-height: 2.3; }
  /* --- WORK-TABLET --- */
  .workSection1 {
    background: url(../images/work_header-pc.jpg) center center no-repeat;
    background-size: auto 100%; }
  .workSection2 {
    padding: 60px 0; }
    .workSection2 p {
      width: 100%;
      margin: 0 auto 50px;
      text-align: center;
      font-size: 14px;
      line-height: 2.3; }
      .workSection2 p br {
        display: inline; }
    .workSection2 ul {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 95%;
      max-width: 780px;
      margin: 0 auto; }
      .workSection2 ul li {
        width: 200px;
        height: 200px;
        border: solid 2px #006934;
        font-size: 19px; }
      .workSection2 ul span {
        width: 20px;
        height: 20px;
        border-right: solid 2px #006934;
        border-bottom: solid 2px #006934;
        -webkit-transform: translateX(-6px) rotate(-45deg);
        transform: translateX(-6px) rotate(-45deg); }
  .workSection3 .workSection3B {
    padding: 0 0 30px; }
    .workSection3 .workSection3B:first-child {
      padding: 50px 0 30px; }
    .workSection3 .workSection3B:last-child {
      padding: 0 0 70px; }
    .workSection3 .workSection3B svg {
      width: 100%;
      height: 100px;
      margin: -1px 0 40px; }
  .workSection3 h4 {
    margin: 0 0 35px;
    font-size: 19px;
    text-align: center; }
    .workSection3 h4 span {
      padding: 3px 20px 3px 0;
      margin: 0 20px 0 0;
      font-size: 36px; }
  .workSection3 .workSection3C {
    display: flex;
    align-items: center;
    max-width: 820px; }
    .workSection3 .workSection3C span {
      width: 250px;
      height: 250px;
      margin: 0 30px 0 0; }
    .workSection3 .workSection3C div {
      width: calc(100% - 280px); }
      .workSection3 .workSection3C div h5 {
        position: relative;
        margin: 0 0 20px;
        padding: 0 0 0 12px;
        text-align: left;
        font-size: 20px;
        letter-spacing: 0.2em; }
        .workSection3 .workSection3C div h5::after {
          position: absolute;
          width: 2px;
          height: 20px;
          margin: 0;
          top: 0;
          left: -2px; }
      .workSection3 .workSection3C div p {
        margin: 0;
        font-size: 14px;
        line-height: 2.3; }
  .workSection3 hr {
    display: block;
    width: 98%;
    max-width: 820px;
    margin: 30px auto;
    border: none;
    border-top: dashed 1px #006934; }
  .workSection4 {
    padding: 60px 0; }
    .workSection4 h2 {
      margin: 0 0 40px; }
    .workSection4 ul {
      display: flex; }
      .workSection4 ul li {
        width: 33.33%;
        margin: 0;
        padding: 0 0 25px; }
    .workSection4 .workSection4Img {
      width: 100%;
      height: 0;
      padding-top: 85%;
      margin: 0 0 20px; }
    .workSection4 h3 {
      font-size: 19px;
      letter-spacing: 0.2em; }
      .workSection4 h3::after {
        width: 90px;
        margin: 20px auto 10px; }
    .workSection4 .workSection4Logo {
      width: 80%;
      margin: 0 auto 15px; }
    .workSection4 p {
      width: 90%;
      font-size: 12px;
      line-height: 1.9; }
  .workSection5 {
    padding: 60px 0; }
    .workSection5 > div {
      overflow: hidden; }
    .workSection5 .lead {
      width: 100%;
      margin: 0 auto 60px;
      text-align: center;
      font-size: 14px;
      line-height: 2.3; }
      .workSection5 .lead br {
        display: inline; }
    .workSection5 .workSection5Article {
      height: 47vw;
      max-height: 450px;
      margin: 0; }
      .workSection5 .workSection5Article li {
        position: relative; }
        .workSection5 .workSection5Article li h4 {
          margin: 0 0 50px; }
          .workSection5 .workSection5Article li h4 span {
            height: 19px;
            font-size: 19px;
            border-left: solid 2px #006934;
            border-right: solid 2px #006934;
            letter-spacing: 0.2em; }
        .workSection5 .workSection5Article li h5 {
          width: 430px;
          margin: 0 0 20px;
          text-align: left;
          font-size: 23px;
          line-height: 1.9;
          letter-spacing: 0.1em; }
        .workSection5 .workSection5Article li .workSection5Img {
          position: absolute;
          top: 70px;
          right: 0;
          width: calc(100% - 430px); }
          .workSection5 .workSection5Article li .workSection5Img > div {
            position: relative;
            width: 94%;
            height: auto;
            margin: 0; }
            .workSection5 .workSection5Article li .workSection5Img > div img {
              position: relative;
              top: 0;
              left: 0; }
          .workSection5 .workSection5Article li .workSection5Img::after {
            right: 0;
            bottom: -30px;
            width: 200px;
            height: 200px; }
        .workSection5 .workSection5Article li p {
          width: 350px;
          min-height: 14em;
          margin: 0;
          font-size: 14px;
          line-height: 2.3; }
    .workSection5 .workPagenation li {
      width: 12px;
      height: 12px;
      margin: 0 8px;
      padding: 9px;
      font-size: 12px; }
      .workSection5 .workPagenation li:not(.current):hover {
        cursor: pointer; }
    .workSection5 .workNext {
      position: absolute;
      margin: 0;
      bottom: 0;
      right: 0;
      padding: 0 40px 2px 0;
      font-size: 14px;
      line-height: 1; }
      .workSection5 .workNext::after {
        height: 30px; }
      .workSection5 .workNext:hover {
        cursor: pointer; }
  /* --- STORY-TABLET --- */
  .story01Section1 {
    background: url(../images/story01_header-pc.jpg) center center no-repeat;
    background-size: auto 100%; }
  .storySection2 {
    padding: 80px 0 100px;
    overflow: hidden; }
    .storySection2 h3 {
      margin: 0 0 60px; }
    .storySection2 .storySection2B {
      position: relative;
      padding: 0;
      margin: 0 auto 80px; }
      .storySection2 .storySection2B .textArea {
        width: calc(420px + 20%);
        min-height: 535px;
        margin: 0 auto 0 -2%;
        padding: 60px 0 40px 30px;
        background: #fff; }
      .storySection2 .storySection2B .storySection2Img {
        width: calc(100% - 460px);
        max-width: 500px;
        bottom: auto;
        top: 180px;
        right: 0; }
      .storySection2 .storySection2B .storySection2Text.sp {
        display: none; }
      .storySection2 .storySection2B .storySection2Text.pc {
        display: block;
        width: calc(100% - 460px);
        max-width: 500px;
        top: -20px;
        left: auto;
        right: 0; }
      .storySection2 .storySection2B h4 {
        margin: 0 0 25px;
        font-size: 23px;
        line-height: 2;
        letter-spacing: 0.2em; }
      .storySection2 .storySection2B p {
        margin: 0 0 30px;
        width: 420px;
        font-size: 14px;
        line-height: 2.3; }
      .storySection2 .storySection2B:nth-of-type(2) .textArea {
        margin: 0 -2% 0 auto;
        padding: 40px 30px 40px 0; }
      .storySection2 .storySection2B:nth-of-type(2) .storySection2Text.pc {
        left: 0;
        right: auto; }
      .storySection2 .storySection2B:nth-of-type(2) h3 {
        left: auto;
        right: 48%; }
      .storySection2 .storySection2B:nth-of-type(2) h4 {
        width: 420px;
        margin: 0 0 25px auto; }
      .storySection2 .storySection2B:nth-of-type(2) p {
        margin: 0 0 30px auto; }
      .storySection2 .storySection2B:nth-of-type(3) {
        margin: 0 auto; }
  .storySection3 {
    padding: 60px 0 100px; }
    .storySection3 ul {
      max-width: 960px;
      margin: 0 auto; }
      .storySection3 ul li {
        max-height: 320px; }
        .storySection3 ul li a {
          font-size: 20px; }
          .storySection3 ul li a::after {
            border: solid 20px transparent;
            border-left: solid 20px #fff; }
          .storySection3 ul li a:active::after {
            border: solid 30px transparent;
            border-left: solid 30px #fff; }
  /* --- SESSION-TABLET --- */
  .sessionSection1 {
    width: 100%;
    height: 70vw;
    max-height: 615px; }
    .sessionSection1.session01 {
      background: url(../images/session01_header-pc.jpg?0208) center center no-repeat;
      background-size: auto 100%; }
    .sessionSection1.session02 {
      background: url(../images/session02_header-pc.jpg?0208) center center no-repeat;
      background-size: auto 100%; }
    .sessionSection1.session03 {
      background: url(../images/session03_header-pc.jpg?0208) center center no-repeat;
      background-size: auto 100%; }
    .sessionSection1::before {
      display: none; }
    .sessionSection1 h2 {
      margin: 40px 0 40px; }
      .sessionSection1 h2 span {
        padding: 0 10px 20px;
        font-size: 40px;
        color: #333;
        border-color: #333; }
    .sessionSection1 p {
      font-size: 19px;
      line-height: 1.6;
      color: #006934; }
      .sessionSection1 p:last-child {
        margin: 0 0 160px;
        color: #333; }
      .sessionSection1 p br {
        display: inline; }
  .sessionSection2 {
    padding: 60px 0 40px; }
    .sessionSection2 ul {
      max-width: 800px;
      margin: 0 auto; }
      .sessionSection2 ul li {
        width: 42%; }
        .sessionSection2 ul li img {
          width: 100%; }
        .sessionSection2 ul li p {
          margin: 20px 0 0;
          font-size: 12px; }
          .sessionSection2 ul li p br {
            display: none; }
          .sessionSection2 ul li p span {
            margin: 0 0 5px;
            font-size: 20px; }
  .sessionSection3 {
    padding: 70px 0 20px; }
    .sessionSection3 h3.minchoHead {
      font-size: 25px; }
    .sessionSection3 h3 br.sp {
      display: none; }
    .sessionSection3 .sessionSection3B {
      display: flex;
      justify-content: space-between;
      margin: 0 auto 50px; }
      .sessionSection3 .sessionSection3B:nth-of-type(odd) {
        flex-direction: row-reverse; }
    .sessionSection3 .sessionSection3Text {
      width: 56.25%;
      margin: 0; }
      .sessionSection3 .sessionSection3Text p {
        margin: 0 auto;
        font-size: 14px;
        line-height: 2; }
        .sessionSection3 .sessionSection3Text p span {
          font-size: 12px; }
    .sessionSection3 .sessionSection3Img {
      position: relative;
      width: 37.5%;
      height: auto;
      margin: 0; }
      .sessionSection3 .sessionSection3Img .coverImageW {
        top: 0;
        left: 0;
        -webkit-transform: none;
        transform: none; }
  .sessionSection4 {
    padding: 60px 0; }
    .sessionSection4 ul li {
      width: 480px;
      margin: 0 auto; }
      .sessionSection4 ul li .sessionSection4Img {
        width: 100%; }
      .sessionSection4 ul li > div {
        padding: 40px 0; }
      .sessionSection4 ul li h3 {
        font-size: 20px;
        letter-spacing: 0.3em; }
        .sessionSection4 ul li h3::after {
          width: 90px;
          margin: 20px auto 25px; }
      .sessionSection4 ul li p {
        margin: 0 0 25px;
        text-align: center;
        line-height: 1.9; }
        .sessionSection4 ul li p br {
          display: inline; }
  /* --- CULTURE-TABLET --- */
  .cultureSection2 {
    padding: 60px 0; }
    .cultureSection2 p {
      width: 100%;
      margin: 0 auto;
      text-align: center;
      font-size: 14px;
      line-height: 2.3; }
      .cultureSection2 p br {
        display: inline; }
  .cultureSection3 {
    padding: 60px 0 40px; }
    .cultureSection3 h2 {
      margin: 0 0 50px;
      font-size: 19px; }
      .cultureSection3 h2 span {
        margin: 20px 0 0;
        font-size: 28px;
        letter-spacing: 0.3em; }
    .cultureSection3 .my-gallery > div {
      max-height: 216px;
      margin: 0 0 30px; }
      .cultureSection3 .my-gallery > div a {
        display: block; }
        .cultureSection3 .my-gallery > div a img {
          width: 100%; }
      .cultureSection3 .my-gallery > div figcaption {
        display: none; }
  .pswp__caption {
    top: calc(50% + 220px); }
  .pswp__caption__center {
    min-height: 85px;
    font-size: 14px; }
  /* --- DATA-TABLET --- */
  .dataSection1 {
    padding: 190px 0 0;
    height: 425px;
    background: url(../images/data_header.png) center top no-repeat;
    background-size: auto 100%; }
    .dataSection1 > div {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 450px;
      height: 235px;
      margin: 0 auto;
      background: #fff; }
    .dataSection1 h2 {
      margin: 0 0 10px;
      font-size: 40px;
      letter-spacing: 0.2em; }
    .dataSection1 p {
      font-size: 14px;
      line-height: 1; }
  .dataSection2 {
    padding: 0 0 100px; }
    .dataSection2 h3 {
      margin: 0 0 120px;
      padding: 80px 0;
      font-size: 23px;
      letter-spacing: 0.1em; }
    .dataSection2 .dataSection2B {
      position: relative;
      width: 100%;
      max-width: 960px;
      display: flex;
      justify-content: space-around;
      margin: 0 auto 25px; }
    .dataSection2 .dataSection2Button {
      width: 30.5%;
      height: 168px;
      margin: 0; }
      .dataSection2 .dataSection2Button > div {
        justify-content: center;
        box-sizing: border-box;
        height: 168px;
        padding: 0 10px 10px; }
        .dataSection2 .dataSection2Button > div span {
          width: auto;
          height: auto;
          max-width: 90px;
          margin: 0 15px 0 0; }
        .dataSection2 .dataSection2Button > div p {
          min-width: 100px; }
        .dataSection2 .dataSection2Button > div::before {
          border-width: 0 0 168px 29.3vw; }
      .dataSection2 .dataSection2Button::after {
        border-width: 15px 15px 0 15px; }
      .dataSection2 .dataSection2Button.green.open::after {
        bottom: -25px; }
      .dataSection2 .dataSection2Button.blue.open::after {
        bottom: -25px; }
      .dataSection2 .dataSection2Button.open.fig1 {
        margin-bottom: 2454px; }
      .dataSection2 .dataSection2Button.open.fig2 {
        margin-bottom: 580px; }
      .dataSection2 .dataSection2Button.open.fig3 {
        margin-bottom: 942px; }
      .dataSection2 .dataSection2Button.open.fig4 {
        margin-bottom: 1140px; }
      .dataSection2 .dataSection2Button.open.fig5 {
        margin-bottom: 2688px; }
      .dataSection2 .dataSection2Button.open.fig6 {
        margin-bottom: 1370px; }
      .dataSection2 .dataSection2Button:hover {
        cursor: pointer;
        opacity: 0.6; }
    .dataSection2 .dataSection2Fig {
      position: absolute;
      z-index: -1;
      bottom: 0;
      left: 0;
      display: none;
      margin: 0;
      width: 100%;
      overflow: hidden; }
      .dataSection2 .dataSection2Fig.fig1 {
        height: 2414px; }
      .dataSection2 .dataSection2Fig.fig2 {
        height: 540px; }
      .dataSection2 .dataSection2Fig.fig3 {
        height: 902px; }
      .dataSection2 .dataSection2Fig.fig4 {
        height: 1100px; }
      .dataSection2 .dataSection2Fig.fig5 {
        height: 2648px; }
      .dataSection2 .dataSection2Fig.fig6 {
        height: 1330px; }
      .dataSection2 .dataSection2Fig img {
        width: 760px;
        margin: 0 auto; }
      .dataSection2 .dataSection2Fig.green {
        border-top: solid 5px #1ab962;
        border-bottom: solid 5px #1ab962; }
      .dataSection2 .dataSection2Fig.blue {
        border-top: solid 5px #0abdd6;
        border-bottom: solid 5px #0abdd6; }
  /* --- FAQ-TABLET --- */
  .faqSection2 {
    padding: 60px 0 50px; }
    .faqSection2 ul li a {
      padding: 15px 0 40px;
      font-size: 25px; }
      .faqSection2 ul li a::after {
        bottom: 15px;
        border-width: 10px 10px 0 10px; }
  .faqSection3 .faqSection3B {
    max-width: 960px;
    margin: 0 auto 90px; }
    .faqSection3 .faqSection3B > p {
      font-size: 15px; }
    .faqSection3 .faqSection3B h3 {
      margin: 0 0 20px;
      font-size: 19px; }
    .faqSection3 .faqSection3B ul li .faqQuestion {
      padding: 30px 60px 30px 40px;
      font-size: 18px;
      line-height: 1.8; }
      .faqSection3 .faqSection3B ul li .faqQuestion::before {
        top: 30px;
        font-size: 25px; }
      .faqSection3 .faqSection3B ul li .faqQuestion::after {
        width: 16px;
        height: 16px;
        padding: 7px;
        font-size: 16px; }
    .faqSection3 .faqSection3B ul li .faqAnswer {
      margin: 0 0 30px;
      padding: 15px 40px;
      font-size: 14px;
      line-height: 2.3; }
  /* --- RECRUIT-TABLET --- */
  .recruitSection2 {
    padding: 60px 0 50px; }
    .recruitSection2 ul li a {
      min-height: 50px;
      padding: 15px 0 30px;
      font-size: 25px; }
      .recruitSection2 ul li a::after {
        bottom: 15px;
        border-width: 10px 10px 0 10px; }
  .recruitSection3 .recruitSection3B {
    max-width: 960px;
    margin: 0 auto 50px; }
    .recruitSection3 .recruitSection3B h3 {
      margin: 0 0 25px;
      font-size: 24px; }
    .recruitSection3 .recruitSection3B li {
      padding: 26px 0; }
    .recruitSection3 .recruitSection3B h4 {
      display: inline-block;
      vertical-align: middle;
      width: 6em;
      margin: 0 30px 0 0;
      font-size: 18px; }
      .recruitSection3 .recruitSection3B h4 br {
        display: inline; }
    .recruitSection3 .recruitSection3B p {
      display: inline-block;
      vertical-align: middle;
      width: calc(100% - 150px);
      font-size: 18px;
      line-height: 1.8; }
    .recruitSection3 .recruitSection3B table {
      display: inline-block;
      vertical-align: top;
      font-size: 18px;
      line-height: 1.8; }
      .recruitSection3 .recruitSection3B table th {
        padding-right: 3em; }
    .recruitSection3 .recruitSection3B .goTop {
      padding: 10px 0 0; }
      .recruitSection3 .recruitSection3B .goTop a {
        font-size: 18px; }
        .recruitSection3 .recruitSection3B .goTop a:hover {
          text-decoration: none; }
    .recruitSection3 .recruitSection3B .recruitFlow {
      margin: 15px 0 0; }
      .recruitSection3 .recruitSection3B .recruitFlow span {
        min-width: 120px;
        padding: 10px 10px 10px 25px;
        margin: 0 3px 5px 0;
        text-align: center;
        font-size: 18px; }
        .recruitSection3 .recruitSection3B .recruitFlow span::after {
          right: -19px;
          border-width: 19px 0 19px 19px; }
        .recruitSection3 .recruitSection3B .recruitFlow span:last-child {
          padding-right: 25px; }
    .recruitSection3 .recruitSection3B .recruitEntry {
      float: right;
      width: 160px;
      margin: 0; }
    .recruitSection3 .recruitSection3B .recruitSection3C {
      padding: 26px 0 1px; }
      .recruitSection3 .recruitSection3B .recruitSection3C h4 {
        display: block;
        width: 100%;
        margin: 0 0 20px; }
      .recruitSection3 .recruitSection3B .recruitSection3C h5 {
        clear: both;
        margin: 0 0 10px;
        font-size: 18px; }
      .recruitSection3 .recruitSection3B .recruitSection3C p {
        display: block;
        width: 100%;
        margin: 0 0 25px; }
        .recruitSection3 .recruitSection3B .recruitSection3C p.list {
          margin: 0 0 3px;
          padding-left: 1em;
          text-indent: -1em; }
        .recruitSection3 .recruitSection3B .recruitSection3C p.recruitEntrytext {
          float: left;
          width: calc(100% - 200px); }
      .recruitSection3 .recruitSection3B .recruitSection3C .tri {
        margin: 25px 0 25px 40px;
        border-width: 18px 18px 0 18px; }
  /* --- INTRO-TABLET --- */
  .introImage {
    position: relative;
    width: 100%;
    height: 56vw;
    max-height: calc(100vh - 72px);
    padding-top: 0; }
    .introImage .topText2 {
      margin: 0 0 0 -40%;
      bottom: 80px; }
  .topImage1 {
    background-image: url(../images/top_header-1.jpg); }
  .topImage2 {
    background-image: url(../images/top_header-2.jpg); }
  .topImage3 {
    background-image: url(../images/top_header-3.jpg); }
  .topImage4 {
    background-image: url(../images/top_header-4.jpg); }
  .topImage5 {
    background-image: url(../images/top_header-5.jpg); }
  .topImage6 {
    background-image: url(../images/top_header-6.jpg); }
  .topImage7 {
    background-image: url(../images/top_header-7.jpg?0225); }
  .topImage8 {
    background-image: url(../images/top_header-8.jpg); }
  .introLink {
    bottom: 30px; }
    .introLink li a {
      padding: 10px 0;
      font-size: 15px; }
      .introLink li a::after {
        border-width: 0 0 10px 10px; }
      .introLink li a:active::after {
        border-width: 0 0 20px 20px; }
      .introLink li a:hover::after {
        border-width: 0 0 20px 20px; }
  .introFooter .copyright {
    margin-top: 0; } }

/* --------------------------------------
PC
----------------------------------------- */
@media screen and (min-width: 980px) {
  /* --- HEADER-PC --- */
  .entry:hover {
    background-color: #51af80; }
  /* --- NAV-PC --- */
  .menulist ul li a:hover {
    color: #006934; }
  .menulist ul li ul a:hover {
    color: #006934; }
    .menulist ul li ul a:hover img {
      opacity: 0.7; }
  .navParent:hover {
    color: #006934; }
  .navEntry:hover {
    background-color: #51af80; }
  /* --- BREADCRUMS-TABLET --- */
  .breadcrums a[href]:hover {
    color: #006934; }
  /* --- COMMON-PC --- */
  .readmore:hover {
    background-color: #51af80; }
  /* --- FOOTER-PC --- */
  footer ul li a:hover {
    background-color: #51af80; }
  /* --- TOP-PC --- */
  .topImage {
    min-height: 500px; }
  .topText2 {
    margin: 0 0 0 -480px;
    font-size: 18px; }
  .topSection3 > div .textArea {
    width: calc(136px + 50vw);
    margin-left: calc(480px - 50vw);
    padding-left: calc(50vw - 480px); }
  .topSection3 > div h3 {
    bottom: 370px; }
  .topSection3 > div:nth-of-type(2) .textArea {
    margin-left: 344px;
    margin-right: calc(480px - 50vw);
    padding-right: calc(50vw - 480px); }
  .topLink1 a:hover {
    background: #006934; }
    .topLink1 a:hover span {
      color: #fff; }
      .topLink1 a:hover span::before, .topLink1 a:hover span::after {
        border-color: #fff; }
  /* --- INTERVIEW-PC --- */
  .interviewSection3 ul li:hover img {
    opacity: 0.6; }
  /* --- STAFF-PC --- */
  .staffSection1 .staffImage {
    width: calc(50% - 480px + 691px); }
  .staffSection1 h2 span {
    letter-spacing: 0.1em; }
  .staffSection1 h2 span:last-child {
    margin-left: 100px; }
  .staffSection2 .staffSection2Article .staffSection2Text1-2 {
    top: 0;
    bottom: auto; }
  .staffSection2 .staffSection2Article .staffSection2Text1-3 {
    width: 20.2%; }
  .staffSection2 .staffPagenation li:hover {
    background: #006934; }
  .staffSection2 .staffNext:hover {
    color: #006934; }
  .staffSection5 ul li:hover img {
    opacity: 0.6; }
  .staffSection5 ul li:hover::after {
    border: solid 30px transparent;
    border-left: solid 30px #006934; }
  /* --- INFO-PC --- */
  .infoSection2 p {
    width: 100%; }
  /* --- WORK-PC --- */
  .workPagenation li:hover {
    background: #006934; }
  .workNext:hover {
    color: #006934; }
  .workSection4 p {
    width: 288px; }
    .workSection4 p:last-of-type {
      min-height: 90px; }
  .workSection5 .workSection5Article li {
    width: 960px; }
  /* --- STORY-PC --- */
  .storySection3 ul li a:hover {
    background: rgba(0, 0, 0, 0.6); }
    .storySection3 ul li a:hover::after {
      border: solid 30px transparent;
      border-left: solid 30px #fff; }
  /* --- SESSION-PC --- */
  .sessionSection1.session01 {
    background-size: cover; }
  /* --- CULTURE-PC --- */
  .cultureSection3 .my-gallery > div a:hover img {
    opacity: 0.6; }
  .pswp__top-bar {
    width: 960px;
    left: 50%;
    margin-left: -480px; }
  .pswp__ui .pswp__button--arrow--left {
    left: calc(50% - 480px); }
  .pswp__ui .pswp__button--arrow--right {
    right: calc(50% - 480px); }
  /* --- DATA-PC --- */
  .dataSection2 .dataSection2Button > div::before {
    border-width: 0 0 168px 293px; }
  .dataSection2 .dataSection2Button > div p {
    font-size: 20px; }
  /* --- FAQ-PC --- */
  .faqSection3 .faqSection3B ul li .faqQuestion:hover {
    cursor: pointer;
    color: #006934; }
    .faqSection3 .faqSection3B ul li .faqQuestion:hover::after {
      background-color: #51af80; }
  /* --- RECRUIT-PC --- */
  .recruitSection3 .recruitSection3B .recruitEntry:hover {
    background: #51af80; }
  /* --- INTRO-PC --- */
  .introImage {
    min-height: 500px; }
    .introImage .topText2 {
      margin: 0 0 0 -480px;
      font-size: 18px; } }

@media screen and (min-width: 1600px) {
  .commonTopimage {
    background-size: cover; } }

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