@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; } }

/* screen\0 */
a:link,
a:active {
  text-decoration: none; }

a:visited {
  text-decoration: none; }

a:focus {
  outline: none; }

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

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

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

/* BACKGROUND ----------------------- */
.bgColor1 {
  background-color: #c9bc9c; }

.bgColor2 {
  background-color: #eeeeee; }

.bgColor3 {
  background-color: #c9a032; }

.bgColor4 {
  background-color: #e4ddcd; }

ul,
li {
  list-style: none; }

img {
  display: block;
  width: 100%; }

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

article {
  min-height: 100vh; }

/* PC/SP ------------------- */
.only_sp {
  display: block; }

.only_pc {
  display: none; }

/* --------------------------------------
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;
    max-width: 960px;
    height: 100%;
    margin: 0 auto; }
  .headerInner h1 {
    margin: 0; }
    .headerInner h1 a {
      display: block;
      width: calc(100% - 80px);
      margin: 0;
      padding-top: 5px; }
      .headerInner h1 a img {
        display: block;
        margin: 3px auto 0 3%; }
        .headerInner h1 a img.header-logo {
          width: 170px; }
  .headerInner.fixed {
    position: fixed; }

/* headerInner */
.entry {
  display: block;
  position: absolute;
  top: 0;
  right: 40px;
  width: 40px;
  height: 40px;
  background: #29973c;
  transition: background 0.3s; }
  .entry img {
    width: auto;
    height: 32px;
    margin: 4px auto; }
  .entry:active {
    background: #005034; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
/* MENU ------------------- */
.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: #29973c;
    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(41, 151, 60, 0.85);
  transition: 0.2s;
  /* ul */ }
  .menulist.is-active {
    right: 0; }
  .menulist > div {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  .menulist h3 {
    padding: 20px 5% 15px;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.8;
    color: #fff; }
    .menulist h3.other {
      color: #ddd;
      font-weight: 500; }
  .menulist ul {
    /* li */
    /* li */ }
    .menulist ul li {
      padding: 10px 5% 10px 8%;
      font-size: 12px;
      font-weight: 700;
      line-height: 1.3;
      border-bottom: solid 1px #eee;
      color: #fff;
      /* a */ }
      .menulist ul li a {
        display: block;
        position: relative;
        color: #fff;
        font-weight: 700; }
        .menulist ul li a:active {
          color: #ccc; }
      .menulist ul li ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 5px 0 0; }
        .menulist ul li ul li {
          border: none;
          width: 80%;
          margin: 10px 0;
          padding: 0;
          /* a */ }
          .menulist ul li ul li a {
            display: flex;
            flex-wrap: wrap;
            position: relative;
            /* span */ }
            .menulist ul li ul li a div {
              position: relative;
              width: 50%; }
              .menulist ul li ul li a div:nth-of-type(2) {
                align-items: stretch;
                background-color: #29783c;
                text-align: center;
                line-height: 1.5;
                font-weight: normal;
                font-feature-settings: 'pkna';
                font-size: 10px; }
                .menulist ul li ul li a div:nth-of-type(2) span {
                  display: block;
                  position: absolute;
                  top: 25%;
                  margin: auto;
                  left: 0;
                  right: 0; }
              .menulist ul li ul li a div strong {
                display: block;
                margin-top: 8px;
                font-size: 14px; }
            .menulist ul li ul li a img {
              display: block;
              width: 100%; }
      .menulist ul li small {
        display: block;
        margin: 0 0 5px;
        font-size: 10px;
        font-weight: 700; }
    .menulist ul > li {
      /* a */ }
      .menulist ul > li > a::after {
        position: absolute;
        top: 50%;
        left: -15px;
        -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 #fff;
        transition: 0.3s; }
      .menulist ul > li > ul li {
        /* a */ }
        .menulist ul > li > ul li a:after {
          content: "";
          display: block;
          position: absolute;
          right: 6px;
          top: auto;
          left: auto;
          bottom: 2px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 10px 10px;
          border-color: transparent transparent #FFFFFF transparent; }
        .menulist ul > li > ul li a:hover:after {
          border-color: transparent transparent #ccc transparent; }
  .menulist.entrypage .navEntry {
    display: none !important; }

/* menulist */
.navParent {
  position: relative; }
  .navParent::after {
    position: absolute;
    top: 50%;
    left: -15px;
    -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 #fff;
    transition: 0.3s; }
  .navParent.open {
    color: #ccc; }
    .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: #29973c;
  letter-spacing: 0.3em;
  background-color: #fff;
  transition: 0.3s; }
  .navEntry:active {
    color: #fff;
    background-color: #005034; }
  .navEntry.sp {
    display: block; }
  .navEntry.pc {
    display: none; }

/* --- BREADCRUMS --- */
.breadcrums {
  background: #eeeeee; }
  .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 #005034; }

/* COMMON ------------------- */
.readmore {
  display: block;
  width: 85%;
  max-width: 110px;
  margin: 0 auto;
  padding: 6px 0;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background-color: #29973c;
  transition: 0.3s; }
  .readmore:active {
    background-color: #13be67; }
  .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;
  letter-spacing: 0.2em;
  color: #333; }

.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 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  max-height: 350px;
  height: 54.6vw; }
  .commonTopimage::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2); }
  .commonTopimage h2 {
    position: relative;
    margin: 0 auto;
    width: 30%;
    transition-delay: 0.5s; }
  .commonTopimage p {
    position: relative;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.2em;
    font-size: 10px;
    color: #fff; }
  .commonTopimage.fade h2 {
    opacity: 0; }
  .commonTopimage.fadein h2 {
    transition: opacity 0.8s ease-in;
    opacity: 1; }

/* FOOTER ------------------- */
.othercontent {
  padding: 30px 0;
  /* ul */ }
  .othercontent h2 {
    margin: 0 0 15px;
    text-align: center;
    font-size: 15px;
    line-height: 1;
    font-weight: bold;
    color: #29973c;
    letter-spacing: 0.3em; }
  .othercontent ul {
    display: flex;
    justify-content: space-between;
    /* li */ }
    .othercontent ul li {
      width: 31%;
      height: 28vw; }
      .othercontent 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: 15px;
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        line-height: 1.3;
        color: #fff;
        background-color: #29973c;
        transition: 0.3s; }
        .othercontent ul li a:active {
          background-color: #308165; }
        .othercontent ul li a span {
          display: block;
          position: absolute;
          bottom: 12px;
          left: 50%;
          margin-left: -40px;
          width: 80px;
          padding: 5px 0;
          font-size: 10px;
          font-weight: bold;
          line-height: 1;
          color: #29973c;
          background: #fff;
          letter-spacing: 0; }
      .othercontent ul li:nth-of-type(2) a {
        background-color: #005034; }
        .othercontent ul li:nth-of-type(2) a:active {
          background-color: #308165; }

/* othercontent */
.sitemap {
  padding: 15px 0;
  background: #0074cc;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff; }
  .sitemap ul li {
    text-align: center;
    font-size: 10px; }
    .sitemap ul li:first-child {
      margin-bottom: 10px; }
    .sitemap ul li a {
      color: #fff; }
      .sitemap ul li a:active {
        text-decoration: underline; }

/* sitemap */
footer {
  padding: 8px 0;
  background-color: #231815; }
  footer small {
    display: block;
    text-align: center;
    line-height: 2;
    font-size: 12px;
    color: #ffffff; }

/* -----------------------------
TOP
-------------------------------- */
.topImage {
  position: relative;
  width: 100%;
  height: 108vw;
  /* img1 */
  /* img2 */
  /* img3 */
  /* img4 */
  /* img5 */
  /* mainCatch */ }
  .topImage .swiper-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .topImage .swiper-slide {
    overflow: hidden; }
    .topImage .swiper-slide > span {
      display: block;
      width: 100%;
      height: 100%;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      transition: 7s linear; }
  .topImage .swiper-slide-active > span {
    -webkit-transform: scale3d(1.1, 1.1, 1);
    transform: scale3d(1.1, 1.1, 1); }
  .topImage .swiper-slide-active .subCatch > span {
    opacity: 1;
    height: 100%; }
  .topImage .swiper-slide-prev > span {
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1); }
  .topImage .swiper-slide-prev .subCatch > span {
    opacity: 0; }
  .topImage .swiper-slide-duplicate-active > span {
    -webkit-transform: scale3d(1.1, 1.1, 1);
    transform: scale3d(1.1, 1.1, 1); }
  .topImage .swiper-slide-duplicate-prev > span {
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1); }
  .topImage .subCatch {
    position: absolute;
    width: 13%;
    height: 83.3vw; }
    .topImage .subCatch > span {
      display: block;
      position: absolute;
      top: 0;
      width: 33.33%;
      height: 0;
      overflow: hidden; }
      .topImage .subCatch > span img {
        display: block;
        width: 100%; }
      .topImage .subCatch > span:first-child {
        right: 0;
        transition: height 0.4s 1.5s linear, opacity 0.2s 0s linear; }
      .topImage .subCatch > span:last-child {
        left: 0;
        transition: height 0.4s 1.9s linear, opacity 0.2s 0s linear; }
  .topImage .topImage1 {
    background-image: url(../images/top_header-1-sp.jpg?0927); }
  .topImage .img1 .subCatch {
    top: 20px;
    right: 10%; }
  .topImage .topImage2 {
    background-image: url(../images/top_header-2-sp.jpg?190617); }
  .topImage .img2 .subCatch {
    top: 20px;
    left: 10%; }
  .topImage .topImage3 {
    background-image: url(../images/top_header-3-sp.jpg?0919); }
  .topImage .img3 .subCatch {
    top: 20px;
    left: 10%; }
  .topImage .topImage4 {
    background-image: url(../images/top_header-4-sp.jpg); }
  .topImage .img4 .subCatch {
    top: 20px;
    left: 10%; }
  .topImage .topImage5 {
    background-image: url(../images/top_header-5-sp.jpg); }
  .topImage .img5 .subCatch {
    top: 20px;
    left: 10%; }
  .topImage .mainCatch {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    z-index: 9;
    width: 40%;
    margin: 0 auto; }

/* topImage */
.topH2 {
  margin-bottom: 25px;
  text-align: center;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.3;
  letter-spacing: 0.2em;
  color: #29973c; }

/* ABOUT --------------- */
.topSection1 {
  position: relative;
  box-sizing: border-box;
  padding: 100px 0 15% 0;
  background-image: url(../images/top_about_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left 35%; }
  .topSection1::after {
    position: absolute;
    z-index: 0;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #fff; }
  .topSection1 > div {
    position: relative;
    z-index: 2;
    width: 85%;
    margin: 0 auto; }
  .topSection1 h2 {
    transition-delay: 0.5s; }
  .topSection1 img {
    margin: 0 auto 20px auto;
    transition-delay: 0.5s; }
  .topSection1 p {
    text-align: center;
    line-height: 2;
    letter-spacing: 0.1em;
    font-size: 14px;
    transition-delay: 1.3s; }
  .topSection1 .readmore {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 15%;
    margin: 0 auto; }
  .topSection1.fade::after {
    opacity: 1; }
  .topSection1.fade h2 {
    opacity: 0; }
  .topSection1.fade img {
    opacity: 0; }
  .topSection1.fade p {
    opacity: 0; }
  .topSection1.fadein::after {
    opacity: 0;
    transition: opacity 1.2s 0 ease-in; }
  .topSection1.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.2s ease-in; }
  .topSection1.fadein h3 {
    opacity: 1;
    transition: opacity 0.8s 0 ease-in; }
  .topSection1.fadein img {
    opacity: 1;
    transition: opacity 0.8s 0.5s ease-in; }
  .topSection1.fadein p {
    opacity: 1;
    transition: opacity 0.8s 1s ease-in; }

/* topSection1 */
/* LINK BANNER --------------- */
.topSection2 {
  padding: 25px 5%;
  /* ul */ }
  .topSection2 ul {
    display: block;
    /* li */ }
    .topSection2 ul li {
      position: relative; }
      .topSection2 ul li a {
        display: block;
        overflow: hidden; }
      .topSection2 ul li div {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center; }
      .topSection2 ul li.works {
        margin-bottom: 10px;
        transition-delay: 0.5s; }
        .topSection2 ul li.works div {
          background-image: url(../images/top_bnr-intro.jpg);
          background-position: center right; }
      .topSection2 ul li.case {
        transition-delay: 0.5s; }
        .topSection2 ul li.case div {
          background-image: url(../images/top_bnr-case.jpg); }
      .topSection2 ul li.fade {
        opacity: 0;
        transition: opacity 0.8s 0 ease-in; }
      .topSection2 ul li.fadein {
        opacity: 1; }
        .topSection2 ul li.fadein.works {
          opacity: 1;
          transition: opacity 0.8s 0.2s ease-in; }
        .topSection2 ul li.fadein.case {
          opacity: 1;
          transition: opacity 0.8s 0.5s ease-in; }
    .topSection2 ul a {
      display: block;
      width: 100%;
      height: 31.42vw;
      background-repeat: no-repeat;
      background-size: cover; }
    .topSection2 ul h2 {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 9;
      margin: 0 auto;
      padding: 5% 0;
      box-sizing: border-box;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.4);
      text-align: center;
      font-size: 20px;
      color: #ffffff; }
      .topSection2 ul h2 span {
        display: block;
        margin-top: 8px;
        font-size: 12px; }

/* topSection2 */
/* INTERVIEW --------------- */
.topSection3 {
  position: relative;
  z-index: 9;
  padding: 30px 0 60px 0;
  background: #ffffff;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ffffff 40%, #eaf5eb 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ffffff 40%, #eaf5eb 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ffffff 40%, #eaf5eb 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaf5eb',GradientType=0 );
  /* IE6-9 */
  /* li */ }
  .topSection3:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 40%;
    background-image: url(../images/top_staff-bg.png?0917b);
    background-repeat: repeat-x;
    background-size: 250%;
    background-position: bottom center; }
  .topSection3 h2 {
    margin: 0 auto 40px auto;
    text-align: center;
    font-size: 26px;
    color: #000000;
    transition-delay: 0.5s; }
    .topSection3 h2 span {
      display: block;
      margin-top: 8px;
      font-size: 12px; }
  .topSection3 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 90%; }
  .topSection3 li {
    margin-bottom: 30px;
    width: 45%;
    transition-delay: 0.5s; }
    .topSection3 li:last-of-type {
      margin-bottom: 0px; }
    .topSection3 li .fukidashi {
      width: 100%; }
    .topSection3 li a > span {
      position: relative;
      top: -20px;
      display: block;
      width: 100%;
      height: 81.25vw;
      max-height: 160px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center top; }
    .topSection3 li.staff1 a > span {
      background-image: url(../images/top_staff-1.png?092602); }
    .topSection3 li.staff2 a > span {
      background-image: url(../images/top_staff-3.png?092602);
      background-position: center 10%; }
    .topSection3 li.staff3 a > span {
      background-image: url(../images/top_staff-5.png?092602); }
    .topSection3 li.staff4 a > span {
      background-image: url(../images/top_staff-2.png?092602); }
    .topSection3 li.staff5 a > span {
      background-image: url(../images/top_staff-4.png?0930);
      background-position: center 5%; }
    .topSection3 li .name {
      text-align: center;
      letter-spacing: 0.2em; }
      .topSection3 li .name span {
        display: block;
        font-size: 12px; }
  .topSection3.fade h2 {
    opacity: 0; }
  .topSection3.fade li {
    opacity: 0; }
  .topSection3.fadein li:first-of-type {
    opacity: 1;
    transition: opacity 0.5s 0.2s ease-in; }
  .topSection3.fadein li:nth-of-type(1) {
    opacity: 1;
    transition: opacity 0.5s 0.4s ease-in; }
  .topSection3.fadein li:nth-of-type(2) {
    opacity: 1;
    transition: opacity 0.5s 0.6s ease-in; }
  .topSection3.fadein li:nth-of-type(3) {
    opacity: 1;
    transition: opacity 0.5s 0.8s ease-in; }
  .topSection3.fadein li:nth-of-type(4) {
    opacity: 1;
    transition: opacity 0.5s 1s ease-in; }
  .topSection3.fadein li:nth-of-type(5) {
    opacity: 1;
    transition: opacity 0.5s 1.2s ease-in; }
  .topSection3.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.2s ease-in; }

/* topSection3 */
/* PRESIDENT --------------- */
.topSection4 {
  position: relative;
  margin-bottom: 40px;
  padding: 40px 0 38vw 0; }
  .topSection4 a > span {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/top_president-sp.jpg?230222);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: contain; }
  .topSection4 a > div {
    position: relative;
    z-index: 9;
    margin: 0 auto;
    width: 90%; }
  .topSection4 h2 {
    margin: 0 auto 30px auto;
    max-width: 492px;
    width: 90%;
    transition-delay: 0.5s; }
  .topSection4 p {
    position: relative;
    z-index: 9;
    line-height: 2;
    transition-delay: 0.5s; }
    .topSection4 p:first-of-type {
      font-size: 24px; }
  .topSection4 .name {
    margin-top: 14px;
    transition-delay: 0.5s; }
    .topSection4 .name span {
      display: block;
      font-size: 23px; }
  .topSection4.fade h2 {
    opacity: 0; }
  .topSection4.fade p {
    opacity: 0; }
  .topSection4.fade .name {
    opacity: 0; }
  .topSection4.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.2s ease-in; }
  .topSection4.fadein p {
    opacity: 1;
    transition: opacity 0.8s 0.4s ease-in; }
  .topSection4.fadein .name {
    opacity: 1;
    transition: opacity 0.8s 0.6s ease-in; }

/* topSection4 */
/* SPECIAL --------------- */
.topSection5 {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 114vw; }
  .topSection5 a {
    display: block;
    width: 100%;
    height: 100%; }
    .topSection5 a > span {
      display: block;
      position: absolute;
      top: 0;
      width: 100%;
      height: 100%;
      background-image: url(../images/top_special-sp.jpg);
      background-repeat: no-repeat;
      background-size: cover; }
  .topSection5 h2 {
    position: absolute;
    top: 10%;
    right: 2%;
    z-index: 9;
    width: 60%;
    transition-delay: 0.5s; }
    .topSection5 h2 span {
      display: table;
      margin-bottom: 12px;
      padding: 8px 30px;
      background-color: #29973c;
      letter-spacing: 0.5em;
      font-weight: bold;
      font-size: 16px;
      color: #ffffff; }
  .topSection5 .small {
    position: absolute;
    right: 0%;
    bottom: 0px;
    z-index: 9;
    padding: 8px 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    font-size: 10px; }
  .topSection5.fade h2 {
    opacity: 0; }
  .topSection5.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.2s ease-in; }

/* topSection5 */
/* WOMAN TALK --------------- */
.topSection6 {
  padding: 48px 0 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.topSection6 .imageBox {
  display: block;
  width: calc(100% - 50px);
}
.topSection6 .imageBox .pc_MV {
  display: none;
}
.topSection6 .imageBox .sp_MV {
  display: block;
  width: 100%;
  margin: auto;
  position: relative;
}
.topSection6 .imageBox .sp_mvText {
  position: absolute;
  width: 140px;
  height: 60px;
  right: -13px;
  bottom: 14px;
}
.topSection6 .employees_pc {
  display: none;
}
.topSection6 .employees_sp {
  margin-top: -72px;
  z-index: 2;
}
.topSection6 .discussionGroup {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
}
.topSection6 .discussionGroup .discussionBox {
  display: block;
  width: calc(100% - 70px);
  margin: auto;
  margin-top: 24px;
  position: relative;
}
.topSection6 .discussionGroup .discussionBox > p {
  border-top: 1px solid #5B79B9;
  border-bottom: 1px solid #5B79B9;
  padding: 12px 0;
  display: flex;
  justify-content: center;
  font-size: 24px;
  font-family :
  YuMincho,    /* Mac用 */
  'Yu Mincho', /* Windows用 */
  serif;
}
.topSection6 .discussionGroup .discussionBox div {
  width: 100%;
  margin-top: 8px;
  overflow: hidden;
}
.topSection6 .discussionGroup .discussionBox > img {
  width: 304px;
  margin-top: 8px;
}
.topSection6 .discussionGroup .discussionBox span {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  position: absolute;
  bottom: 8px;
  right: -4px;
  padding: 8px 12px 8px 16px;
  box-shadow: 0px 4px 16px 0px rgba(48, 48, 48, 0.1);
  transition: 0.3s;
}
.topSection6 .discussionGroup .discussionBox:active {
  background-color: #F3F7FF;
}
.topSection6 .discussionGroup .discussionBox:active span{
  background-color: #87ABE0;
}
.topSection6 .discussionGroup .discussionBox:active span p{
  color: white;
}
.topSection6 .discussionGroup .discussionBox:active span > img{
  display: none;
}
.topSection6 .discussionGroup .discussionBox:active span .hoverButton{
  display: block;
}
.topSection6 .discussionGroup .discussionBox span .hoverButton{
  display: none;
}
.topSection6 .discussionGroup .discussionBox span p {
  margin-right: 8px;
  font-size: 12px;
  font-family :
  YuMincho,    /* Mac用 */
  'Yu Mincho', /* Windows用 */
  serif;
}
.topSection6 .discussionGroup .discussionBox span > img {
  width: 16px;
  height: 16px;
}
/* topSection6 */
/* ROOKIE --------------- */
.topSection7 {
  position: relative;
  z-index: 9;
  padding-bottom: 40px;
  background-image: url(../images/bg_stripe.jpg);
  background-repeat: repeat;
  background-size: 19px;
  /* li */
  /* a */ }
  .topSection7:after {
    content: "";
    display: block;
    position: absolute;
    top: 5%;
    right: 0;
    left: 0;
    z-index: -1;
    margin: 0 auto;
    width: 90%;
    height: 92%;
    background-color: #ffffff; }
  .topSection7 .sub_ttl {
    position: relative;
    margin: 0 auto 30px auto;
    border-radius: 0 0 50% 50% / 0 0 100% 100%;
    width: 184px;
    height: 92px;
    background: #fff100;
    text-align: center;
    font-size: 20px; }
    .topSection7 .sub_ttl span {
      display: block;
      position: absolute;
      top: 20px;
      left: 0;
      right: 0;
      margin: 0 auto; }
  .topSection7 h2 {
    margin: 0 auto 40px auto;
    width: 85%;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.5em;
    font-size: 22px;
    transition-delay: 0.5s; }
    .topSection7 h2 span {
      display: block; }
  .topSection7 .lead {
    margin: 0 0 40px 0;
    text-align: center;
    line-height: 1.8;
    font-size: 14px;
    transition-delay: 0.5s; }
  .topSection7 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 90%; }
  .topSection7 li {
    width: 47%;
    transition-delay: 0.5s; }
    .topSection7 li:first-of-type img {
      border: 3px solid #1eb4ff; }
    .topSection7 li:first-of-type p {
      color: #1eb4ff; }
    .topSection7 li:nth-of-type(2) img {
      border: 3px solid #ff7896; }
    .topSection7 li:nth-of-type(2) p {
      color: #ff7896; }
    .topSection7 li:nth-of-type(3) {
      margin-top: 30px; }
      .topSection7 li:nth-of-type(3) img {
        border: 3px solid #13ae67; }
      .topSection7 li:nth-of-type(3) p {
        color: #13ae67; }
  .topSection7 a > img {
    margin-bottom: 12px;
    border-radius: 10px; }
  .topSection7 a p {
    text-align: center;
    letter-spacing: 0.1em; }
    .topSection7 a p span {
      display: block;
      font-size: 12px; }
  .topSection7 .readmore {
    margin: 20px auto 10px; }
  .topSection7.fade h2 {
    opacity: 0; }
  .topSection7.fade .lead {
    opacity: 0; }
  .topSection7.fade li {
    opacity: 0; }
  .topSection7.fade .readmore {
    opacity: 0; }
  .topSection7.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.2s ease-in; }
  .topSection7.fadein .lead {
    opacity: 1;
    transition: opacity 0.8s 0.4s ease-in; }
  .topSection7.fadein li:first-of-type {
    opacity: 1;
    transition: opacity 0.8s 0.6s ease-in; }
  .topSection7.fadein li:nth-of-type(2) {
    opacity: 1;
    transition: opacity 0.8s 0.8s ease-in; }
  .topSection7.fadein li:nth-of-type(3) {
    opacity: 1;
    transition: opacity 0.8s 1s ease-in; }
  .topSection7.fadein .readmore {
    opacity: 1;
    transition: opacity 0.5s 1.5s ease-in; }

/* topSection7 */
/* ---------------
WOMENSTALK
----------------- */
.womenSection1 {
  position: relative;
  height: 138vw;
  background-image: url(../images/women_header-sp.png?0919);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover; }
  .womenSection1 h2 {
    position: absolute;
    top: 3%;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%; }
    .womenSection1 h2 img {
      display: block;
      width: 100%; }
  .womenSection1 > div {
    position: absolute;
    left: 2%;
    bottom: 10px;
    width: 45%; }
    .womenSection1 > div img {
      margin-bottom: 10px; }
    .womenSection1 > div p {
      display: table;
      margin: 0 auto;
      padding: 8px 12px;
      background-color: #ff7896;
      text-align: center;
      font-size: 12px;
      color: #ffffff; }
  .womenSection1.fade h2 {
    opacity: 0; }
  .womenSection1.fade > div {
    opacity: 0; }
  .womenSection1.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s ease-in; }
  .womenSection1.fadein > div {
    opacity: 1;
    transition: opacity 0.8s 0.5s ease-in; }

/* womenSection1 */
.womenSection2 {
  padding: 25px 0; }
  .womenSection2 > p {
    margin: 0 auto;
    width: 90%;
    line-height: 2;
    font-size: 14px; }
  .womenSection2.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .womenSection2.fadein {
    opacity: 1; }

/* womenSection2 */
.womenSection3 {
  /* ul */ }
  .womenSection3 ul {
    width: 90%;
    margin: 0 auto; }
    .womenSection3 ul li {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
      align-items: center;
      margin-bottom: 25px; }
      .womenSection3 ul li > span {
        display: block;
        width: 50%;
        border-radius: 50%;
        overflow: hidden; }
        .womenSection3 ul li > span img {
          display: block;
          width: 100%; }
      .womenSection3 ul li div {
        padding-left: 20px;
        box-sizing: border-box;
        width: 45%; }
        .womenSection3 ul li div h4 {
          margin-bottom: 5px;
          font-size: 18px;
          line-height: 1.4;
          font-weight: bold;
          letter-spacing: 0.1em; }
          .womenSection3 ul li div h4.pink {
            color: #ff7896; }
          .womenSection3 ul li div h4.orange {
            color: #f39800; }
          .womenSection3 ul li div h4.purple {
            color: #ce80b8; }
          .womenSection3 ul li div h4 small {
            font-size: 75%; }
          .womenSection3 ul li div h4 span {
            display: block;
            font-size: 11px;
            font-weight: normal;
            letter-spacing: 0;
            font-feature-settings: 'pkna'; }
        .womenSection3 ul li div p {
          font-size: 12px;
          color: #333; }
      .womenSection3 ul li > p {
        width: 90%;
        margin: 10px auto 0;
        font-size: 14px;
        line-height: 2;
        color: #333; }
      .womenSection3 ul li.fade {
        opacity: 0;
        transition: opacity 0.8s ease-in; }
      .womenSection3 ul li.fadein {
        opacity: 1; }

/* womenSection3 */
.womenSection4 {
  padding: 40px 0 50px;
  background-color: #fff1f4;
  /* txtWrap */ }
  .womenSection4 > div {
    margin: 0 !important;
    overflow: hidden; }
  .womenSection4 .txtWrap {
    overflow: hidden;
    margin: 0 auto 30px auto;
    width: 90%;
    /* right */
    /* right */ }
    .womenSection4 .txtWrap p {
      line-height: 1.85;
      letter-spacing: .1em; }
      .womenSection4 .txtWrap p.pink {
        color: #ff7896; }
      .womenSection4 .txtWrap p.orange {
        color: #f39800; }
      .womenSection4 .txtWrap p.purple {
        color: #ce80b8; }
      .womenSection4 .txtWrap p.large {
        line-height: 1.85;
        letter-spacing: .1em;
        font-weight: bold;
        font-size: 18px; }
      .womenSection4 .txtWrap p.large_big {
        line-height: 1.85;
        letter-spacing: .1em;
        font-weight: bold;
        font-size: 22px; }
    .womenSection4 .txtWrap span {
      display: block;
      width: 100px; }
    .womenSection4 .txtWrap.right span {
      float: right;
      margin-left: 12px; }
    .womenSection4 .txtWrap.left span {
      float: left;
      margin-right: 12px; }
    .womenSection4 .txtWrap .photoWrap {
      display: flex;
      position: relative;
      margin: 0 auto 20px auto; }
      .womenSection4 .txtWrap .photoWrap span {
        width: 40%; }
        .womenSection4 .txtWrap .photoWrap span:first-of-type {
          margin: 0 auto 0 0; }
        .womenSection4 .txtWrap .photoWrap span:nth-of-type(2) {
          position: absolute;
          left: 30%; }
        .womenSection4 .txtWrap .photoWrap span:nth-of-type(3) {
          margin: 0 0 0 auto; }
    .womenSection4 .txtWrap.fade {
      opacity: 0;
      transition: opacity 0.8s ease-in; }
    .womenSection4 .txtWrap.fadein {
      opacity: 1; }

/* womenSection4 */
/* ------------------
PRESIDENT
--------------------- */
.infoSection2 {
  overflow: hidden;
  padding: 20px 10px 0 10px;
  box-sizing: border-box;
  width: 100%;
  height: 120vw;
  background-color: #f2f3f3; }
  .infoSection2 > div {
    position: relative;
    z-index: 9;
    width: 100%;
    height: 100%; }
    .infoSection2 > div:after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      bottom: 0px;
      z-index: -1;
      width: 90%;
      height: 35.964vw;
      background-image: url(../images/president_triangle.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center bottom; }
  .infoSection2 h2 {
    margin-bottom: 12px;
    width: 70%;
    text-align: left;
    font-size: 18px; }
    .infoSection2 h2 span {
      display: block;
      margin: 0 0 12px 0; }
  .infoSection2 h3 {
    text-align: left;
    font-size: 4.8vw; }
  .infoSection2 .name {
    position: absolute;
    bottom: 40px;
    letter-spacing: 0.1em;
    font-size: 29px; }
    .infoSection2 .name span {
      display: block;
      font-size: 14px; }
  .infoSection2 .img {
    position: absolute;
    bottom: 4px;
    right: 0;
    width: 30%; }
  .infoSection2.fade h2 {
    opacity: 0;
    transition: opacity 0.8s 0.2s ease-in; }
  .infoSection2.fade h3 {
    opacity: 0;
    transition: opacity 0.8s 0.5s ease-in; }
  .infoSection2.fade .name {
    opacity: 0;
    transition: opacity 0.8s 0.8s ease-in; }
  .infoSection2.fade .img {
    opacity: 0;
    transition: opacity 0.8s 1s ease-in; }
  .infoSection2.fadein h3, .infoSection2.fadein h2, .infoSection2.fadein .name, .infoSection2.fadein .img {
    opacity: 1; }

/* infoSection2 */
.infoSection3 {
  padding: 40px 0 10px 0;
  /* imageArea */ }
  .infoSection3 h3 {
    margin-bottom: 20px;
    font-size: 18px;
    color: #29973c; }
  .infoSection3 p {
    margin: 0 auto 25px;
    max-width: 960px;
    width: 90%;
    line-height: 2;
    font-size: 14px; }
  .infoSection3 .imageArea {
    margin: 0 0 40px 0;
    width: 100%;
    height: 69.6vw;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    .infoSection3 .imageArea.photo1 {
      background-image: url(../images/president_img_1.jpg?2); }
    .infoSection3 .imageArea.photo2 {
      background-image: url(../images/president_img_2.jpg); }
    .infoSection3 .imageArea.photo3 {
      margin-bottom: 0;
      background-image: url(../images/president_img_3.jpg?2); }
  .infoSection3 .bg {
    margin-bottom: 40px;
    padding: 40px 0 20px 0;
    background-color: #f7f8f8; }
  .infoSection3 .fade {
    opacity: 0;
    transition: opacity 0.5s 0s ease-in; }
  .infoSection3 .fadein {
    opacity: 1; }

/* infoSection3 */
/* ---------------------------
SPECIAL
------------------------------- */
.specialSection1 {
  position: relative;
  margin-bottom: 30px;
  width: 100%;
  height: 80vw;
  background-image: url(../images/special_hd-sp.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }
  .specialSection1 h2 {
    position: absolute;
    top: 10%;
    right: 2%;
    width: 60%; }
    .specialSection1 h2 span {
      display: table;
      margin: 0 auto 12px auto;
      padding: 4px 30px;
      background-color: #29973c;
      font-size: 14px;
      color: #ffffff; }
  .specialSection1 .small {
    position: absolute;
    bottom: 0px;
    padding: 5px 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    text-align: center;
    font-size: 11px; }
  .specialSection1.fade h2 {
    opacity: 0;
    transition: opacity 0.5s 0s ease-in; }
  .specialSection1.fadein h2 {
    opacity: 1; }

/* specialSection1 */
.specialSection2 {
  margin-bottom: 120px; }
  .specialSection2 h2 {
    margin-bottom: 30px;
    text-align: center;
    font-size: 22px; }
    .specialSection2 h2 strong {
      font-size: 28px; }
  .specialSection2 p {
    margin: 0 auto;
    width: 90%;
    line-height: 1.85;
    font-size: 14px; }
  .specialSection2.fade h2 {
    opacity: 0;
    transition: opacity 0.5s 0.5s ease-in; }
  .specialSection2.fade p {
    opacity: 0;
    transition: opacity 0.5s 0.8s ease-in; }
  .specialSection2.fadein h2, .specialSection2.fadein p {
    opacity: 1; }

/* specialSection2 */
.specialSection3 {
  /* bgA */
  /* bgB */
  /* top */
  /* bottom */ }
  .specialSection3 .bgA {
    background-color: #29973c; }
  .specialSection3 .bgB {
    background-color: #00b53c; }
  .specialSection3 .sectionBox {
    position: relative;
    padding: 100px 0;
    box-sizing: border-box; }
    .specialSection3 .sectionBox:last-child {
      padding-bottom: 30px; }
  .specialSection3 .maxWidth {
    margin: 0 auto;
    width: 90%; }
  .specialSection3 h3 {
    position: absolute;
    left: 0%;
    right: 0;
    top: -8%;
    margin: 0 auto;
    box-sizing: border-box;
    max-width: 150px; }
  .specialSection3 h4 {
    margin-bottom: 30px;
    text-align: center;
    font-size: 16px;
    color: #ffffff; }
  .specialSection3 .top {
    margin-bottom: 40px; }
    .specialSection3 .top p {
      line-height: 1.85;
      font-size: 14px;
      color: #ffffff; }
  .specialSection3 .bottom ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .specialSection3 .bottom li {
    margin-bottom: 20px;
    width: 50%; }
    .specialSection3 .bottom li span {
      display: block;
      margin-top: -10px;
      text-align: center;
      font-size: 14px;
      line-height: 1.5;
      color: #fff; }

/* specialSection3 */
/* ---------------------------
STAFF
------------------------------- */
.staffSection1 {
  /* staffProfile */ }
  .staffSection1 .staffImage {
    position: relative;
    width: 100%;
    height: 64vw;
    margin: 0px;
    overflow: hidden; }
  .staffSection1 .block0 .catch {
    margin: 15px auto;
    width: 100%;
    color: #29973c;
    font-size: 18px;
    text-align: center; }
    .staffSection1 .block0 .catch.fade {
      opacity: 0;
      transition: opacity 0.8s ease-in; }
    .staffSection1 .block0 .catch.fadein {
      opacity: 1; }
    .staffSection1 .block0 .catch span {
      display: block; }
  .staffSection1 .staffProfile {
    padding: 20px 0;
    background-color: #29973c; }
    .staffSection1 .staffProfile p {
      text-align: center;
      color: #fff;
      font-size: 14px;
      line-height: 1.5; }
      .staffSection1 .staffProfile p span {
        font-size: 10px; }
      .staffSection1 .staffProfile p.profName {
        margin: 5px 0 20px 0;
        font-weight: normal;
        font-size: 30px; }
        .staffSection1 .staffProfile p.profName::after {
          display: block;
          content: '';
          width: 90px;
          height: 1px;
          margin: 8px auto;
          background: #fff; }
      .staffSection1 .staffProfile p.profText {
        margin: 10px auto 0;
        width: 80%;
        text-align: left;
        line-height: 1.85; }
    .staffSection1 .staffProfile.fade {
      opacity: 0;
      transition: opacity 0.8s ease-in; }
    .staffSection1 .staffProfile.fadein {
      opacity: 1; }
  .staffSection1 .note {
    font-size: 12px; }

/* staffSection1 */
.staffSection2 {
  padding-top: 40px;
  /* sectionBox */
  /* sec2 */
  /* bgImage */ }
  .staffSection2 h2 {
    font-size: 18px; }
    .staffSection2 h2.fade {
      opacity: 0;
      transition: opacity 0.8s ease-in; }
    .staffSection2 h2.fadein {
      opacity: 1; }
  .staffSection2 .sectionBox {
    position: relative;
    padding-bottom: 10px; }
    .staffSection2 .sectionBox h2 {
      margin-bottom: 30px;
      padding-left: 10px;
      border-left: 4px solid #29973c;
      text-align: left; }
    .staffSection2 .sectionBox p {
      line-height: 2;
      font-size: 14px; }
      .staffSection2 .sectionBox p span {
        border-bottom: solid 3px #ffeb00;
        font-weight: bold; }
    .staffSection2 .sectionBox .block1,
    .staffSection2 .sectionBox .block2 {
      width: 90%;
      margin: 0 auto; }
      .staffSection2 .sectionBox .block1.fade,
      .staffSection2 .sectionBox .block2.fade {
        opacity: 0;
        transition: opacity 0.8s ease-in; }
      .staffSection2 .sectionBox .block1.fadein,
      .staffSection2 .sectionBox .block2.fadein {
        opacity: 1; }
    .staffSection2 .sectionBox .block1 {
      margin-bottom: 40px; }
    .staffSection2 .sectionBox .imgBox1 {
      position: relative;
      margin: 12px auto 0 auto;
      max-width: 90px; }
    .staffSection2 .sectionBox .bg {
      background-color: #eaf5eb; }
  .staffSection2 .sec2 {
    padding-bottom: 40px;
    /* block1 */ }
    .staffSection2 .sec2 .block1 {
      padding: 30px 0;
      width: 100%; }
      .staffSection2 .sec2 .block1 > div .txtBox {
        margin: 0 auto;
        width: 90%; }
    .staffSection2 .sec2 .imgBox2 {
      margin: 20px auto 0;
      max-width: 406px;
      width: 90%;
      max-height: 414px;
      height: 90vw;
      background-size: cover; }
    .staffSection2 .sec2.fade .txtBox {
      opacity: 0;
      transition: opacity 0.8s ease-in; }
    .staffSection2 .sec2.fadein .txtBox {
      opacity: 1; }
  .staffSection2 .bgImage {
    position: relative;
    background-image: url(../images/top_staff-bg.png?0917b);
    background-repeat: repeat-x;
    background-position: bottom center;
    background-size: 200%; }
    .staffSection2 .bgImage:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
      background: #ffffff;
      background: -moz-linear-gradient(top, #ffffff 40%, #eaf5eb 100%);
      background: -webkit-linear-gradient(top, #ffffff 40%, #eaf5eb 100%);
      background: linear-gradient(to bottom, #ffffff 40%, #eaf5eb 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eaf5eb',GradientType=0 ); }

/* staffSection2 */
#interview01 {
  /* sec2 */ }
  #interview01 .sec2 .imgBox2 {
    background-image: url(../images/staff1_img_1.jpg); }

/* interview01 */
#interview02 {
  /* sec2 */ }
  #interview02 .sec2 .imgBox2 {
    background-image: url(../images/staff2_img_1.jpg); }

/* interview02 */
#interview03 {
  /* sec2 */ }
  #interview03 .sec2 .imgBox2 {
    background-image: url(../images/staff3_img_1.jpg); }

/* interview03 */
#interview04 {
  /* sec2 */ }
  #interview04 .sec2 .imgBox2 {
    background-image: url(../images/staff4_img_1.jpg); }

/* interview04 */
#interview05 {
  /* sec2 */ }
  #interview05 .sec2 .imgBox2 {
    background-image: url(../images/staff5_img_1.jpg); }

/* interview05 */
.bgGray {
  background-color: #eaeaea; }

.staffSection3 {
  margin-bottom: 60px;
  padding: 25px 0;
  background-color: #eaf5eb;
  /* staffSection3Schedule */ }
  .staffSection3.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .staffSection3.fadein {
    opacity: 1; }
  .staffSection3 h2 {
    margin-bottom: 25px; }
  .staffSection3 .staffSection3Schedule {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* div */
    /* schedule */ }
    .staffSection3 .staffSection3Schedule > div {
      position: relative;
      width: 32%;
      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.4);
      transition: 0.3s; }
      .staffSection3 .staffSection3Schedule .schedule p {
        text-align: center;
        color: #fff;
        /* scheduleText */ }
        .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 {
          line-height: 1.2;
          font-size: 18px;
          letter-spacing: 0.1em; }
          .staffSection3 .staffSection3Schedule .schedule p.scheduleText span {
            display: block;
            margin-top: 8px;
            font-size: 10px; }
    .staffSection3 .staffSection3Schedule figcaption {
      display: none; }

/* staffSection3 */
.pswp__img {
  top: -90px !important;
  height: auto !important; }

.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; }
  .pswp__caption__center span {
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: bold; }

.staffSection4 {
  padding: 10px 0 30px;
  /* staffSection4Img */
  /* staffSection4Text */ }
  .staffSection4.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .staffSection4.fadein {
    opacity: 1; }
  .staffSection4 h2 {
    margin: 0 auto 20px auto;
    line-height: 2; }
  .staffSection4 .staffSection4Img {
    display: block;
    width: 195px;
    height: 195px;
    margin: 0px auto 30px auto;
    border-radius: 100px;
    overflow: hidden; }
    .staffSection4 .staffSection4Img img {
      width: 100%; }
  .staffSection4 .staffSection4Text {
    width: 90%;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.85; }
    .staffSection4 .staffSection4Text span {
      display: block;
      margin-bottom: 25px;
      font-weight: bold;
      text-align: center; }
    .staffSection4 .staffSection4Text br {
      display: none; }

/* staffSection4 */
.staffSection5 {
  padding: 30px 0 20px; }
  .staffSection5.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .staffSection5.fadein {
    opacity: 1; }
  .staffSection5 h3 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 18px;
    line-height: 1.5; }
  .staffSection5 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 94%;
    /* li */ }
    .staffSection5 ul li {
      position: relative;
      margin-bottom: 20px;
      width: 48%;
      overflow: hidden; }
      .staffSection5 ul li a {
        display: block;
        box-sizing: border-box; }
      .staffSection5 ul li img {
        width: 100%;
        transition: 0.3s; }
      .staffSection5 ul li p {
        position: relative;
        padding: 5px 0 15px;
        background-color: #29973c;
        text-align: center;
        font-size: 10px;
        font-feature-settings: 'palt';
        color: #ffffff; }
        .staffSection5 ul li p span {
          display: block;
          margin-bottom: 2px;
          font-size: 15px;
          letter-spacing: 0.3em; }
        .staffSection5 ul li p:after {
          content: "";
          display: block;
          position: absolute;
          right: 2px;
          bottom: 2px;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0 10px 10px;
          border-color: transparent transparent #ffffff transparent; }
      .staffSection5 ul li:active img {
        opacity: 0.6; }

/* staffSection5 */
/* ------------------------------
ABOUT
-------------------------------- */
#aboutPage {
  /* maxWidth */ }
  #aboutPage .maxWidth {
    margin: 0 auto;
    max-width: 800px;
    width: 90%; }
  #aboutPage .flexWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #aboutPage h3 {
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.8;
    color: #29973c;
    /* underLine */ }
    #aboutPage h3.underLine {
      text-align: center; }
      #aboutPage h3.underLine span {
        display: block;
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid #29973c;
        font-feature-settings: 'palt';
        font-weight: 500;
        font-family: '游明朝', YuMincho, 'Hiragino Mincho ProN', 'HG明朝E', Sans-Serif;
        font-size: 12px; }
  #aboutPage h4 {
    margin-bottom: 20px;
    line-height: 1.8;
    color: #29973c; }
  #aboutPage p {
    line-height: 1.8;
    font-size: 14px; }

/* aboutPage */
.arSection1 {
  margin-bottom: 40px;
  background-image: url(../images/about_bg.jpg);
  background-repeat: no-repeat;
  background-position: right 35% center;
  background-size: auto 100%; }

/* arSection1 */
.arSection2 {
  padding-top: 20px;
  margin-bottom: 30px; }
  .arSection2 .top,
  .arSection2 .bottom {
    margin-bottom: 20px;
    transition-delay: 0.5s; }
  .arSection2 dt {
    position: relative;
    margin: 0 auto 40px auto;
    padding: 12px 8px;
    background-color: #29973c;
    color: #ffffff; }
    .arSection2 dt:after {
      content: "";
      display: block;
      position: absolute;
      bottom: -30px;
      left: 0;
      right: 0;
      margin: 0 auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 80px 0 80px;
      border-color: #29973c transparent transparent transparent; }
  .arSection2 dd {
    line-height: 1.8;
    font-size: 14px; }
  .arSection2 .figArea {
    margin-bottom: 30px; }
  .arSection2.fade .top {
    opacity: 0;
    transition: opacity 0.5s 0.4s ease-in; }
  .arSection2.fade .bottom {
    opacity: 0;
    transition: opacity 0.5s 0.8s ease-in; }
  .arSection2.fadein .top, .arSection2.fadein .bottom {
    opacity: 1; }

/* arSection2 */
.arSection3 {
  padding: 30px 0 10px 0;
  /* flexWrap */ }
  .arSection3.bgColor2 {
    background-color: #f2f3f3; }
  .arSection3 h3 {
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
    width: 90%; }
    .arSection3 h3.fade {
      opacity: 0;
      transition: opacity 0.5s ease-in; }
    .arSection3 h3.fadein {
      opacity: 1; }
  .arSection3 .flexWrap {
    margin-bottom: 20px !important; }
    .arSection3 .flexWrap:first-of-type {
      transition-delay: 0.5s; }
    .arSection3 .flexWrap:nth-of-type(2) {
      transition-delay: 0.8s; }
      .arSection3 .flexWrap:nth-of-type(2) div:first-of-type {
        order: 2; }
      .arSection3 .flexWrap:nth-of-type(2) div:nth-of-type(2) {
        order: 1; }
    .arSection3 .flexWrap:nth-of-type(3) {
      transition-delay: 0.8s; }
    .arSection3 .flexWrap p {
      margin-bottom: 20px; }
    .arSection3 .flexWrap.fade {
      opacity: 0; }
      .arSection3 .flexWrap.fade:first-of-type {
        transition: opacity 0.8s 0.5s ease-in; }
      .arSection3 .flexWrap.fade:nth-of-type(2) {
        transition: opacity 0.8s 0.8s ease-in; }
      .arSection3 .flexWrap.fade:nth-of-type(3) {
        transition: opacity 0.8s 1s ease-in; }
    .arSection3 .flexWrap.fadein {
      opacity: 1; }

/* arSection3 */
.arSection4 {
  padding-bottom: 40px; }
  .arSection4.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .arSection4.fadein {
    opacity: 1; }
  .arSection4 table {
    table-layout: fixed;
    margin: 0 auto;
    border-collapse: collapse;
    width: 90%; }
  .arSection4 th {
    display: block;
    padding: 5px 0;
    border-right: 1px solid #e4e4e4;
    border-left: 1px solid #e4e4e4;
    box-sizing: border-box;
    background-color: #005034;
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: #ffffff; }
  .arSection4 td {
    display: block;
    border-right: 1px solid #e4e4e4;
    border-left: 1px solid #e4e4e4;
    padding: 12px 10px;
    box-sizing: border-box;
    width: 100%;
    font-size: 14px;
    line-height: 1.6;
    color: #333; }
    .arSection4 td li, .arSection4 td p {
      font-size: 14px; }
  .arSection4 tr:last-of-type td {
    border-bottom: 1px solid #e4e4e4; }

/* arSection4 */
/* ------------------------------
RECRUIT
-------------------------------- */
#recruitPage {
  /* maxWidth */ }
  #recruitPage .maxWidth {
    margin: 0 auto;
    max-width: 800px;
    width: 90%; }
  #recruitPage .flexWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #recruitPage h3 {
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.8;
    color: #29973c;
    /* underLine */ }
    #recruitPage h3.underLine {
      display: block;
      margin-bottom: 8px;
      padding-bottom: 8px;
      border-bottom: 1px solid #000000; }
  #recruitPage h4 {
    margin-bottom: 20px;
    line-height: 1.8;
    color: #29973c; }
  #recruitPage p {
    line-height: 1.8;
    font-size: 14px; }

/* recruitPage */
.recSection1 {
  background-image: url(../images/recruit_bg.jpg);
  background-repeat: no-repeat;
  background-position: right 35% center;
  background-size: auto 100%; }

/* recSection1 */
.recSection2 {
  padding: 30px 0 10px 0;
  /* flexWrap */ }
  .recSection2.bgColor2 {
    background-color: #f2f3f3; }
  .recSection2 h3 {
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
    width: 90%; }
    .recSection2 h3.fade {
      opacity: 0;
      transition: opacity 0.5s ease-in; }
    .recSection2 h3.fadein {
      opacity: 1; }
  .recSection2 .flexWrap {
    margin-bottom: 20px !important; }
    .recSection2 .flexWrap:first-of-type {
      transition-delay: 0.5s; }
    .recSection2 .flexWrap:nth-of-type(2) {
      transition-delay: 0.8s; }
      .recSection2 .flexWrap:nth-of-type(2) div:first-of-type {
        order: 2; }
      .recSection2 .flexWrap:nth-of-type(2) div:nth-of-type(2) {
        order: 1; }
    .recSection2 .flexWrap:nth-of-type(3) {
      transition-delay: 0.8s; }
    .recSection2 .flexWrap p {
      margin-bottom: 20px; }
    .recSection2 .flexWrap.fade {
      opacity: 0; }
      .recSection2 .flexWrap.fade:first-of-type {
        transition: opacity 0.8s 0.5s ease-in; }
      .recSection2 .flexWrap.fade:nth-of-type(2) {
        transition: opacity 0.8s 0.8s ease-in; }
      .recSection2 .flexWrap.fade:nth-of-type(3) {
        transition: opacity 0.8s 1s ease-in; }
    .recSection2 .flexWrap.fadein {
      opacity: 1; }

/* recSection2 */
.recruitSection3 {
  padding: 30px 0 1px; }
  .recruitSection3 .recruitSection3B {
    width: 90%;
    margin: 0 auto 30px; }
    .recruitSection3 .recruitSection3B h3 {
      padding-bottom: 15px;
      text-align: center;
      font-size: 15px;
      line-height: 1.2;
      font-weight: bold;
      color: #29973c;
      letter-spacing: 0.1em;
      border-bottom: solid 1px #333; }
    .recruitSection3 .recruitSection3B li {
      padding: 15px 0;
      border-bottom: solid 1px #ccc; }
    .recruitSection3 .recruitSection3B h4 {
      margin: 0 0 5px;
      font-size: 13px;
      line-height: 1.4;
      font-weight: bold;
      color: #29973c; }
      .recruitSection3 .recruitSection3B h4 br {
        display: none; }
    .recruitSection3 .recruitSection3B p, .recruitSection3 .recruitSection3B dt, .recruitSection3 .recruitSection3B dd {
      font-size: 12px;
      line-height: 1.5;
      color: #333; }
    .recruitSection3 .recruitSection3B p.small {
      font-size: 12px !important; }

/* recSection3*/
/* ---------------
FAQ
------------------ */
.faqSection1 {
  background-image: url(../images/faq_bg.jpg);
  background-repeat: no-repeat;
  background-position: right 40% center;
  background-size: auto 100%; }

/* faqSection1 */
.faqSection3 {
  padding: 30px 0 10px 0;
  /* faqSection3B */ }
  .faqSection3.bgColor2 {
    background-color: #f2f3f3; }
  .faqSection3 .faqSection3B {
    margin: 0 auto 20px;
    width: 90%;
    /* ul */ }
    .faqSection3 .faqSection3B ul li {
      margin-bottom: 30px;
      /* faqAnswer */ }
      .faqSection3 .faqSection3B ul li.fade {
        opacity: 0; }
      .faqSection3 .faqSection3B ul li.fadein {
        transition: 0.8s;
        opacity: 1; }
      .faqSection3 .faqSection3B ul li .faqQuestion {
        display: block;
        position: relative;
        padding: 10px 10px 10px 30px;
        background-color: #29973c;
        line-height: 1.5;
        font-size: 14px;
        color: #ffffff;
        -webkit-tap-highlight-color: transparent;
        transition: 0.3s; }
        .faqSection3 .faqSection3B ul li .faqQuestion::before {
          content: 'Q';
          position: absolute;
          top: 14px;
          left: 6px;
          line-height: 1;
          font-weight: 700;
          font-size: 14px;
          color: #ffffff; }
      .faqSection3 .faqSection3B ul li .faqAnswer {
        display: block;
        position: relative;
        margin: 0 0 10px;
        padding: 10px 0px 0px 0px;
        line-height: 1.6;
        font-size: 13px;
        color: #333; }
        .faqSection3 .faqSection3B ul li .faqAnswer > div {
          display: flex; }
          .faqSection3 .faqSection3B ul li .faqAnswer > div span:first-of-type {
            flex-shrink: 0;
            margin-right: 12px;
            padding: 4px 0;
            width: 40px;
            height: 12px;
            font-size: 12px;
            line-height: 1;
            background-color: #29973c;
            text-align: center;
            color: #ffffff; }
        .faqSection3 .faqSection3B ul li .faqAnswer a {
          position: relative;
          display: block;
          width: 80%;
          max-width: 240px;
          margin: 10px auto 0;
          padding: 8px 10px 8px 0;
          text-align: center;
          font-size: 14px;
          font-weight: bold;
          background-color: #005034;
          text-decoration: none;
          color: #ffffff;
          transition: 0.3s; }
          .faqSection3 .faqSection3B ul li .faqAnswer a::after {
            position: absolute;
            content: '▼';
            top: 12px;
            right: 12px;
            font-size: 12px;
            line-height: 1;
            font-weight: 700;
            color: #ffffff; }
          .faqSection3 .faqSection3B ul li .faqAnswer a:active {
            background-color: #29973c; }

/* faqSection3 */
/* ------------------
BUSINESS
--------------------- */
#businessPage {
  /* workSection4 */ }
  #businessPage .maxWidth {
    margin: 0 auto;
    max-width: 800px;
    width: 90%; }
  #businessPage p {
    margin-bottom: 20px;
    line-height: 1.8;
    font-size: 14px; }
  #businessPage .workSection4 {
    /* flexWrap */ }
    #businessPage .workSection4 h2 {
      margin-bottom: 20px;
      text-align: center;
      font-size: 22px;
      font-weight: bold;
      letter-spacing: 0.2em;
      color: #29973c; }
    #businessPage .workSection4 .flexWrap {
      width: 80%;
      margin: 0 auto; }
    #businessPage .workSection4 .textBox {
      margin-bottom: 40px; }
      #businessPage .workSection4 .textBox img {
        display: block;
        width: 100%;
        margin-bottom: 15px; }
      #businessPage .workSection4 .textBox h3 {
        width: 8em;
        margin: 0 auto 15px;
        padding-bottom: 10px;
        border-bottom: solid 1px #29973c;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0.1em;
        color: #29973c; }
      #businessPage .workSection4 .textBox.fade {
        opacity: 0; }
      #businessPage .workSection4 .textBox.fadein {
        opacity: 1;
        transition: 0.8s ease-in; }
  #businessPage .staffSection5 h3 {
    color: #29973c !important; }

/* businessPage */
.businessSection1 {
  margin-bottom: 40px;
  background: url(../images/business_bg.jpg) center center no-repeat;
  background-size: cover; }

.businessSection2 {
  padding: 20px 0 20px 0; }
  .businessSection2 h3 {
    color: #29973c;
    transition-delay: 0.5s; }
  .businessSection2 p {
    transition-delay: 0.5s; }
  .businessSection2.fade h3 {
    opacity: 0;
    transition: opacity 0.8s 0.5s ease-in; }
  .businessSection2.fade p {
    opacity: 0;
    transition: opacity 0.8s 0.8s ease-in; }
  .businessSection2.fadein h3, .businessSection2.fadein p {
    opacity: 1; }

/* businessSection2 */
.businessSection3 {
  padding: 20px 0; }
  .businessSection3.fade {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .businessSection3.fadein {
    opacity: 1; }
  .businessSection3 .businessSection3B {
    width: 85%;
    margin: 0 auto; }
  .businessSection3 .businessSection3Button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    height: 30vw;
    margin: 15px auto;
    padding: 0 5%;
    background: #29973c;
    -webkit-tap-highlight-color: transparent; }
    .businessSection3 .businessSection3Button h4 {
      font-size: 14px;
      line-height: 1;
      margin-bottom: 5px;
      color: #fff; }
    .businessSection3 .businessSection3Button p {
      font-size: 16px;
      line-height: 1.4;
      font-weight: bold;
      color: #fff; }
    .businessSection3 .businessSection3Button::before, .businessSection3 .businessSection3Button::after {
      position: absolute;
      content: '';
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      background: #fff; }
    .businessSection3 .businessSection3Button::before {
      right: 5%;
      width: 20px;
      height: 3px; }
    .businessSection3 .businessSection3Button::after {
      right: calc(5% + 8.5px);
      width: 3px;
      height: 20px;
      transition: 0.3s; }
    .businessSection3 .businessSection3Button:active {
      opacity: 0.6; }
    .businessSection3 .businessSection3Button.blue {
      background: #005034; }
    .businessSection3 .businessSection3Button.open::after {
      -webkit-transform: translateY(-50%) rotate(90deg);
      transform: translateY(-50%) rotate(90deg); }
  .businessSection3 .businessSection3Fig {
    display: none;
    margin: 20px auto;
    width: 100%; }
    .businessSection3 .businessSection3Fig h4 {
      position: relative;
      margin-bottom: 10px;
      text-align: left;
      font-size: 15px;
      line-height: 1.85;
      font-weight: bold;
      color: #29973c; }
      .businessSection3 .businessSection3Fig h4 span {
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        max-width: 100px; }
    .businessSection3 .businessSection3Fig p {
      font-size: 13px;
      line-height: 1.7;
      color: #333; }

.businessSection4 {
  margin: 20px auto 40px;
  /* a */ }
  .businessSection4.fade {
    opacity: 0;
    transition: opacity 0.8s 0s ease-in; }
  .businessSection4.fadein {
    opacity: 1; }
  .businessSection4 a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    border-radius: 10px;
    width: 90%;
    max-width: 960px;
    height: 120px;
    background: url(../images/business_bnr.jpg) 40% center no-repeat;
    background-size: cover; }
    .businessSection4 a:active .readmore {
      background-color: #29973c;
      color: #fff; }
  .businessSection4 p {
    margin-bottom: 15px;
    text-align: center;
    font-size: 16px;
    line-height: 1.4;
    font-weight: bold;
    color: #fff; }
  .businessSection4 .readmore {
    background-color: #ffffff;
    color: #29973c; }

/* businessSection4 */
/* -------------
ROOKIE
--------------- */
#rookiePage {
  /* section1 */
  /* section2 */
  /* section3 */ }
  #rookiePage p {
    line-height: 1.8;
    font-size: 14px; }
  #rookiePage .flexWrap {
    display: flex;
    flex-wrap: wrap; }
  #rookiePage .maxWidth {
    margin: 0 auto;
    max-width: 800px;
    width: 90%; }
  #rookiePage .section1 {
    position: relative;
    height: 110vw;
    background-image: url(../images/bg_stripe.jpg);
    background-repeat: repeat;
    background-size: 19px; }
    #rookiePage .section1 .maxWidth {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0px;
      margin: 0 auto;
      width: 85%;
      max-width: 895px;
      height: 100%; }
      #rookiePage .section1 .maxWidth > img {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: 40px; }
    #rookiePage .section1 h2 {
      position: absolute;
      right: 0;
      left: 0;
      bottom: 20px;
      z-index: 10;
      margin: 0 auto;
      max-width: 190px;
      width: 40%; }
    #rookiePage .section1 .ttl {
      position: relative;
      z-index: 9;
      margin: 0 auto 50px auto;
      border-radius: 0 0 50% 50% / 0 0 100% 100%;
      width: 100px;
      height: 50px;
      background: #fff100;
      text-align: center;
      font-size: 14px; }
      #rookiePage .section1 .ttl span {
        display: block;
        position: absolute;
        top: 10px;
        left: 0;
        right: 0;
        margin: 0 auto; }
    #rookiePage .section1.fade h2 {
      opacity: 0;
      transition: opacity 0.8s 0.5s ease-in; }
    #rookiePage .section1.fadein h2 {
      opacity: 1; }
  #rookiePage .section2 {
    margin: 0 auto;
    padding: 40px 0;
    width: 90%;
    /* itemBox*/ }
    #rookiePage .section2 .top {
      margin-bottom: 40px; }
    #rookiePage .section2 h3 {
      line-height: 1.85;
      letter-spacing: normal;
      font-weight: 600;
      font-size: 16px; }
    #rookiePage .section2 .itemBox {
      margin: 0 auto 20px auto;
      width: 80%;
      transition-delay: 0.5s; }
      #rookiePage .section2 .itemBox img {
        box-sizing: border-box; }
      #rookiePage .section2 .itemBox:first-of-type img {
        border: 3px solid #1eb4ff; }
      #rookiePage .section2 .itemBox:first-of-type h4 {
        color: #1eb4ff; }
      #rookiePage .section2 .itemBox:nth-of-type(2) img {
        border: 3px solid #ff7896; }
      #rookiePage .section2 .itemBox:nth-of-type(2) h4 {
        color: #ff7896; }
      #rookiePage .section2 .itemBox:nth-of-type(3) {
        margin-bottom: 0px; }
        #rookiePage .section2 .itemBox:nth-of-type(3) img {
          border: 3px solid #13ae67; }
        #rookiePage .section2 .itemBox:nth-of-type(3) h4 {
          color: #13ae67; }
      #rookiePage .section2 .itemBox img {
        margin-bottom: 12px;
        border-radius: 10px; }
      #rookiePage .section2 .itemBox h4 {
        margin-bottom: 12px;
        text-align: center;
        font-size: 12px; }
        #rookiePage .section2 .itemBox h4 strong {
          display: block;
          margin: 4px 0;
          font-size: 14px; }
      #rookiePage .section2 .itemBox.fade {
        opacity: 0; }
        #rookiePage .section2 .itemBox.fade:first-of-type {
          transition: opacity 0.8s 0.5s ease-in; }
        #rookiePage .section2 .itemBox.fade:nth-of-type(2) {
          transition: opacity 0.8s 0.8s ease-in; }
        #rookiePage .section2 .itemBox.fade:nth-of-type(3) {
          transition: opacity 0.8s 1s ease-in; }
      #rookiePage .section2 .itemBox.fadein {
        opacity: 1; }
    #rookiePage .section2.fade h3 {
      opacity: 0;
      transition: opacity 0.8s 0.5s ease-in; }
    #rookiePage .section2.fade p {
      opacity: 0;
      transition: opacity 0.8s 0.8s ease-in; }
    #rookiePage .section2.fadein h3, #rookiePage .section2.fadein p {
      opacity: 1; }
  #rookiePage .section3 {
    /* question */
    /* rookie1 */
    /* rookie2 */
    /* rookie3 */ }
    #rookiePage .section3 .maxWidth {
      position: relative;
      overflow: hidden;
      width: 100%;
      max-width: 960px; }
    #rookiePage .section3 .rookieSlideContainer {
      position: relative;
      padding: 30px 0 0 0;
      overflow: hidden; }
    #rookiePage .section3 .rookieSlide {
      display: flex;
      width: 600%;
      transition: margin 0.2s linear; }
      #rookiePage .section3 .rookieSlide li {
        width: 16.66%;
        box-sizing: border-box;
        padding: 0 15px; }
        #rookiePage .section3 .rookieSlide li p {
          margin-top: 25px;
          font-size: 14px;
          line-height: 1.6; }
    #rookiePage .section3 .qa {
      margin-bottom: 15px;
      font-size: 0; }
      #rookiePage .section3 .qa span {
        display: inline-block;
        vertical-align: middle;
        font-size: 16px;
        line-height: 1.5;
        font-weight: bold; }
        #rookiePage .section3 .qa span.ico {
          width: 70px; }
          #rookiePage .section3 .qa span.ico img {
            display: block;
            width: 100%; }
        #rookiePage .section3 .qa span.text {
          width: calc(100% - 80px);
          margin-left: 10px; }
    #rookiePage .section3 .rookiePagenation {
      position: relative;
      z-index: 2;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-content: flex-end;
      width: 50%;
      min-height: 50vw;
      margin-left: 15px; }
      #rookiePage .section3 .rookiePagenation li {
        width: 30%;
        height: 15px;
        padding: 8px 0;
        margin-bottom: 15px;
        color: #fff;
        text-align: center;
        font-size: 15px;
        line-height: 1; }
        #rookiePage .section3 .rookiePagenation li.current {
          opacity: 0.5; }
      #rookiePage .section3 .rookiePagenation a {
        position: relative;
        margin: 10px 0 20px;
        padding: 0 30px 3px 2px;
        font-size: 15px;
        line-height: 1;
        color: #333;
        border-bottom: solid 1px #333; }
        #rookiePage .section3 .rookiePagenation a::after {
          position: absolute;
          content: '';
          width: 1px;
          height: 24px;
          right: 0;
          bottom: 0;
          background: #333;
          transform-origin: right bottom;
          transform: rotate(-45deg); }
        #rookiePage .section3 .rookiePagenation a.hide {
          opacity: 0;
          pointer-events: none; }
    #rookiePage .section3 .imgBox {
      position: absolute;
      z-index: 1;
      width: 50%;
      height: 50vw;
      right: 0;
      bottom: 0;
      overflow: hidden; }
    #rookiePage .section3 .rookie1 {
      background-color: #e8f7ff; }
      #rookiePage .section3 .rookie1 .rookiePagenation li {
        background: #1eb4ff; }
    #rookiePage .section3 .rookie2 {
      background-color: #fff1f4; }
      #rookiePage .section3 .rookie2 .rookiePagenation li {
        background: #ff7896; }
      #rookiePage .section3 .rookie2 .imgBox {
        right: -10%; }
    #rookiePage .section3 .rookie3 {
      background-color: #e7f7f0; }
      #rookiePage .section3 .rookie3 .rookiePagenation li {
        background: #13ae67; }

/* rookiePage */
/* ---------------
WORK
------------------ */
#workPage p {
  line-height: 1.8;
  font-size: 14px; }

/* workPage */
.workSection1 {
  margin-bottom: 20px;
  background: url(../images/work_bg.jpg) 65% center no-repeat;
  background-size: cover; }

.workSection2 {
  margin-bottom: 50px; }
  .workSection2 h3 {
    font-size: 20px;
    color: #29973c;
    transition-delay: 0.5s; }
  .workSection2 p {
    width: 90%;
    max-width: 960px;
    margin: 0 auto;
    transition-delay: 0.5s; }
  .workSection2.fade h3 {
    opacity: 0;
    transition: opacity 0.8s 0.5s ease-in; }
  .workSection2.fade p {
    opacity: 0;
    transition: opacity 0.8s 0.8s ease-in; }
  .workSection2.fadein h3, .workSection2.fadein p {
    opacity: 1; }

/* workSection2 */
.workSection3 {
  margin-bottom: 50px; }
  .workSection3 table {
    width: 96%;
    height: 100%;
    margin: 0 auto; }
    .workSection3 table.fade {
      opacity: 0; }
    .workSection3 table.fadein {
      opacity: 1;
      transition: 0.8s ease-in; }
    .workSection3 table td, .workSection3 table th {
      padding: 5px;
      text-align: center;
      font-size: 12px;
      line-height: 1.4; }
    .workSection3 table th {
      width: 5em;
      color: #fff;
      background: #29973c;
      border: solid 1px #fff; }
    .workSection3 table td {
      color: #333;
      border: solid 1px #29973c; }
      .workSection3 table td.top {
        border: none;
        padding: 0;
        height: 100%; }
        .workSection3 table td.top span {
          display: flex;
          width: 80%;
          height: 100%;
          margin: 0 auto;
          padding: 3px 0;
          justify-content: center;
          align-items: center;
          color: #fff;
          background: #29973c;
          border-top-left-radius: 5px;
          border-top-right-radius: 5px; }
      .workSection3 table td.space {
        width: 5px;
        padding: 0;
        border: none; }
      .workSection3 table td.col1 {
        background: #eaf5eb; }
      .workSection3 table td.text {
        text-align: left; }

/* ------------
ENTRY
--------------- */
#entry .flexWrap {
  display: flex;
  flex-wrap: wrap; }

#entry h2 {
  margin-bottom: 12px; }

#entry .topH2 {
  font-size: 24px;
  font-weight: 600; }

#entry p {
  line-height: 1.8;
  font-size: 14px; }

#entry .underLine {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  #entry .underLine:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-bottom: 1px solid #29973c;
    width: 108px; }

/* entry */
.entrySection1 {
  background: url(../images/entry_bg.jpg) center center no-repeat;
  background-size: auto 100%; }
  .entrySection1 h2 img {
    max-width: 80px;
    margin: 0 auto; }

/* entrySection1 */
.entrySection2 {
  margin: 0 auto;
  padding: 20px 0 0;
  width: 95%;
  /* li */ }
  .entrySection2 h2 {
    margin-bottom: 0 !important; }
  .entrySection2 ul {
    margin: 0 auto;
    width: 100%; }
  .entrySection2 li {
    margin-bottom: 20px;
    width: 33%; }
    .entrySection2 li span {
      display: block;
      position: relative;
      padding: 4px 0px 4px 0px;
      width: 90%;
      background-color: #29973c;
      text-align: center;
      font-size: 12px;
      font-weight: 600;
      color: #ffffff; }
      .entrySection2 li span:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: -10px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 13px 0 13px 10px;
        border-color: transparent transparent transparent #29973c; }
    .entrySection2 li:last-of-type span:after {
      content: none; }

/* entrySection2 */
.entrySection3 {
  padding: 30px 0 1px;
  width: 90%;
  margin: 0 auto; }
  .entrySection3 .error {
    /*display: none;*/
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: #c00; }
  .entrySection3.thankyou .topH2 {
    letter-spacing: 0 !important; }
  .entrySection3.thankyou p {
    margin-bottom: 30px; }

/* entrySection3 */
.entryTable {
  margin: 30px auto 20px; }
  .entryTable th {
    display: block;
    text-align: left;
    font-size: 14px;
    color: #333;
    padding: 5px 0;
    border-bottom: solid 1px #29973c; }
  .entryTable td {
    display: block;
    padding: 15px 0 20px;
    color: #333; }
    .entryTable td input {
      display: inline-block;
      vertical-align: middle;
      line-height: 1.4; }
    .entryTable td span {
      display: inline-block;
      font-size: 14px;
      margin: 0 15px 0 0; }
      .entryTable td span input {
        margin-right: 5px; }
    .entryTable td input[type="text"] {
      box-sizing: border-box;
      width: 100%;
      padding: 3px;
      font-size: 16px;
      line-height: 1.6;
      border-radius: 0;
      border: solid 1px #ccc;
      -webkit-appearance: none; }
      .entryTable td input[type="text"].text2 {
        width: 48%; }
      .entryTable td input[type="text"].text3 {
        width: 29%; }
      .entryTable td input[type="text"]::placeholder {
        color: #ccc; }
      .entryTable td input[type="text"]:-ms-input-placeholder {
        color: #ccc; }
      .entryTable td input[type="text"]::-ms-input-placeholder {
        color: #ccc; }

.entryAgreement {
  padding: 3%;
  height: 30vh;
  margin: 20px auto;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  border: solid 1px #ccc; }
  .entryAgreement ul li {
    margin-bottom: 0.5em;
    padding-left: 1em;
    font-size: 11px;
    line-height: 1.4;
    color: #333;
    text-indent: -1em; }

.entryAgreementCheck {
  margin: 20px 0;
  text-align: center;
  font-size: 15px;
  color: #333; }
  .entryAgreementCheck input {
    margin-right: 10px; }

.entrySubmit {
  display: block;
  width: 60%;
  margin: 0 auto 40px;
  padding: 10px 0;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  color: #fff;
  background: #29973c;
  border: none;
  border-radius: 0; }

.confirmTable {
  width: 100%;
  margin: 30px auto 30px; }
  .confirmTable th {
    display: block;
    text-align: left;
    font-size: 13px;
    color: #fff;
    padding: 3px 5%;
    background: #29973c; }
  .confirmTable td {
    display: block;
    text-align: left;
    font-size: 16px;
    color: #333;
    padding: 10px 5%;
    background: #eaf5eb;
    border-bottom: solid 5px #fff; }

.entryBack {
  margin: 0 auto 30px;
  background: #b5b5b5; }

/* --- 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::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 {
      position: relative;
      padding: 0 5px 10px;
      display: inline-block;
      font-size: 20px;
      line-height: 1.2;
      color: #fff; }
      .sessionSection1 h2 span::after {
        position: absolute;
        content: '';
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background: #fff; }
    .sessionSection1 h2.fade span::after {
      transform: scaleX(0); }
    .sessionSection1 h2.fadein span::after {
      transform: scaleX(1);
      transition: 0.3s 0.5s linear; }
  .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; }
  .sessionSection1 .fade {
    opacity: 0; }
  .sessionSection1 .fadein {
    opacity: 1;
    transition: opacity 0.8s ease-in; }

/* sessionSection1 */
.sessionSection2 {
  padding: 25px 0;
  /* ul */ }
  .sessionSection2 > p {
    margin: 0 auto 30px auto;
    max-width: 944px;
    width: 90%;
    font-size: 14px;
    line-height: 1.6; }
    .sessionSection2 > p br {
      display: none; }
  .sessionSection2 ul {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto;
    width: 90%;
    /* li */ }
    .sessionSection2 ul li {
      width: 48%;
      /* p */ }
      .sessionSection2 ul li img {
        width: 100%; }
      .sessionSection2 ul li p {
        margin: 10px 0 0;
        text-align: center;
        font-size: 10px;
        line-height: 1.5;
        font-feature-settings: 'pkna'; }
        .sessionSection2 ul li p span {
          display: block;
          margin: 5px 0 5px;
          font-size: 14px; }
          .sessionSection2 ul li p span.blue {
            color: #1eb4ff; }
          .sessionSection2 ul li p span.pink {
            color: #ff7896; }
  .sessionSection2.fade > p, .sessionSection2.fade ul {
    opacity: 0;
    transition: opacity 0.8s ease-in; }
  .sessionSection2.fade > p {
    transition-delay: 0.8s; }
  .sessionSection2.fade ul {
    transition-delay: 1.3s; }
  .sessionSection2.fadein > p, .sessionSection2.fadein ul {
    opacity: 1; }

/* sessionSection2 */
.sessionSection3 {
  padding: 30px 0 30px;
  /* sessionSection3Text */
  /* sessionSection3Img */
  /* sessionSection3Img */
  /* sessionFooterImage */ }
  .sessionSection3 .sessionSection3Text {
    width: 90%;
    margin: 0 auto; }
    .sessionSection3 .sessionSection3Text h3 {
      margin: 0 0 12px 0;
      font-size: 13px;
      font-weight: bold;
      color: #333; }
    .sessionSection3 .sessionSection3Text p {
      margin: 0 auto 15px;
      font-size: 13px;
      line-height: 1.6;
      /* name */ }
      .sessionSection3 .sessionSection3Text p .name {
        display: inline-block;
        width: 4em;
        margin: 0 0.5em 0 0;
        text-align: center;
        font-size: 11px;
        color: #fff; }
        .sessionSection3 .sessionSection3Text p .name.name1 {
          background-color: #29973c; }
        .sessionSection3 .sessionSection3Text p .name.name2 {
          background-color: #ff7896; }
  .sessionSection3 .sessionSection3Img {
    position: relative;
    width: 100%;
    height: 54vw;
    margin: 25px 0;
    overflow: hidden; }
    .sessionSection3 .sessionSection3Img .trYtop {
      top: 0;
      -webkit-transform: translateY(-10%);
      transform: translateY(-10%); }
    .sessionSection3 .sessionSection3Img .trY30 {
      -webkit-transform: translateY(-30%);
      transform: translateY(-30%); }
    .sessionSection3 .sessionSection3Img .trY40 {
      -webkit-transform: translateY(-40%);
      transform: translateY(-40%); }
  .sessionSection3 .sessionSection3Img2 {
    display: none;
    height: auto; }
    .sessionSection3 .sessionSection3Img2 img {
      display: block;
      width: 50%;
      float: left; }
  .sessionSection3 .sessionFooterImage {
    height: 66.66vw;
    width: 100%;
    background-image: url(../images/session01_sec3-img7-sp.jpg);
    background-repeat: no-repeat;
    background-size: cover; }
  .sessionSection3 .fade {
    opacity: 0;
    transition: opacity 0.5s ease-in; }
  .sessionSection3 .fadein {
    opacity: 1; }

/* sessionSection3 */
/* ------------------
DATA
--------------------- */
/* dataPage */
.dataSection1 {
  position: relative;
  height: 54.6vw;
  background: url(../images/data_bg.jpg) center center no-repeat;
  background-size: cover; }
  .dataSection1.fadein h2 {
    opacity: 1;
    transition: opacity 0.8s 0.8s ease-in; }

/* dataSection1 */
.dataSection2 {
  padding: 30px 0 15px; }
  .dataSection2.fade .dataSection2B {
    transition: opacity 0.8s ease-in;
    opacity: 0; }
  .dataSection2.fadein .dataSection2B {
    opacity: 1; }
  .dataSection2 h3 {
    position: relative;
    margin: 0 0 30px;
    padding-bottom: 20px;
    text-align: center;
    font-size: 18px;
    line-height: 1;
    color: #29973c; }
    .dataSection2 h3:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      max-width: 316px;
      width: 60%;
      border-bottom: 1px solid #29973c; }
  .dataSection2 .dataSection2B {
    width: 90%;
    margin: 0 auto; }
  .dataSection2 .dataSection2Button {
    position: relative;
    margin: 15px auto;
    transition: 0.3s;
    -webkit-tap-highlight-color: transparent; }
    .dataSection2 .dataSection2Button > div {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 25vw;
      padding: 0;
      overflow: hidden;
      background: #29973c; }
      .dataSection2 .dataSection2Button > div span {
        position: relative;
        z-index: 2;
        display: block;
        margin: 0 15px 0 0;
        width: 98px;
        height: 70px; }
        .dataSection2 .dataSection2Button > div span img {
          display: block;
          width: 100%; }
      .dataSection2 .dataSection2Button > div p {
        position: relative;
        z-index: 2;
        text-align: center;
        font-size: 18px;
        line-height: 1.3;
        font-weight: bold;
        color: #fff; }
    .dataSection2 .dataSection2Button::before, .dataSection2 .dataSection2Button::after {
      content: '';
      position: absolute;
      z-index: 9;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      background: #fff; }
    .dataSection2 .dataSection2Button::before {
      right: 5%;
      width: 20px;
      height: 3px; }
    .dataSection2 .dataSection2Button::after {
      right: calc(5% + 8.5px);
      width: 3px;
      height: 20px;
      transition: 0.3s; }
    .dataSection2 .dataSection2Button:active {
      opacity: 0.6; }
    .dataSection2 .dataSection2Button.blue {
      background: #005034; }
    .dataSection2 .dataSection2Button.open div {
      background: #94cb9d; }
    .dataSection2 .dataSection2Button.open::after {
      -webkit-transform: translateY(-50%) rotate(90deg);
      transform: translateY(-50%) rotate(90deg); }
    .dataSection2 .dataSection2Button:active {
      opacity: 0.6; }
  .dataSection2 .dataSection2Fig {
    display: none;
    margin: 30px auto;
    width: 100%; }
    .dataSection2 .dataSection2Fig img {
      display: block;
      width: 100%; }
  .dataSection2 .small {
    margin: 0 auto;
    width: 90%;
    text-align: right;
    font-size: 12px; }

/* dataSection2 */
.dataSection3 {
  padding: 30px 0 30px; }
  .dataSection3.fade {
    opacity: 0;
    transition: opacity 0.5s ease-in; }
  .dataSection3.fadein {
    opacity: 1; }
  .dataSection3 h3 {
    margin-bottom: 20px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;
    color: #333; }
    .dataSection3 h3 span {
      display: none; }
  .dataSection3 ul {
    width: 250px;
    margin: 0 auto; }
    .dataSection3 ul li {
      padding: 15px 0;
      font-size: 15px;
      line-height: 1;
      font-weight: bold;
      color: #005034;
      border-bottom: dotted 1px #005034; }
      .dataSection3 ul li img {
        display: inline-block;
        vertical-align: middle;
        width: 30px;
        height: 29px;
        margin: -7px 5px 0 0; }
      .dataSection3 ul li:last-child {
        border: none; }
