@charset "UTF-8";
/* 基本設定 --------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  background-color: #fff;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  letter-spacing: 0.1em; }

main {
  position: relative;
  overflow: hidden; }

img {
  vertical-align: top; }

div,
p {
  font-size: 1.6rem; }
  @media all and (max-width: 480px) {
    div,
    p {
      font-size: 1.4rem; } }

h2 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: .9; }
  @media all and (max-width: 580px) {
    h2 {
      font-size: 3.2rem; } }
  @media all and (max-width: 480px) {
    h2 {
      font-size: 2.6rem; } }
  @media all and (max-width: 374px) {
    h2 {
      font-size: 2.4rem; } }
  h2 span {
    font-size: 55%; }
    @media all and (max-width: 580px) {
      h2 span {
        font-size: 50%; } }

h3 {
  font-weight: 700; }

img {
  width: 100%;
  height: auto; }

.fl {
  float: left; }

.fr {
  float: right; }

.clearfix:after {
  clear: both; }

.x80 {
  font-size: 80%; }

/* ボタン設定--------------------------------------------------*/
.btn {
  max-width: 300px;
  border: 5px solid #31ac42;
  height: 70px;
  border-radius: 35px;
  line-height: 70px;
  text-align: center;
  background: #fff;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  @media all and (max-width: 480px) {
    .btn {
      width: 250px;
      border: 4px solid #31ac42;
      height: 60px;
      line-height: 60px; } }
  @media all and (max-width: 374px) {
    .btn {
      width: 220px; } }
  .btn:hover {
    background: #31ac42;
    -webkit-box-shadow: 0px 6px 0px 0px #e2e6d4;
            box-shadow: 0px 6px 0px 0px #e2e6d4;
    -webkit-transform: translateY(-6px);
            transform: translateY(-6px); }

.link {
  position: relative;
  top: -5px;
  display: block;
  border-radius: 35px;
  color: #000;
  font-size: 1.8rem;
  -webkit-transition-duration: .3s;
          transition-duration: .3s; }
  @media all and (max-width: 480px) {
    .link {
      top: -4px;
      font-size: 1.6rem; } }
  @media all and (max-width: 374px) {
    .link {
      font-size: 1.4rem; } }
  .link span {
    display: inline-block;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    position: relative; }
    .link span::after {
      font-family: "Font Awesome 5 Free";
      content: '\f35a';
      font-weight: 900;
      padding-left: 10px;
      color: #ff8181; }
    .link span::before {
      position: absolute;
      content: '';
      display: inline-block;
      top: 29px;
      right: 3.5px;
      border-radius: 6px;
      width: 12px;
      height: 12px;
      background: #fff;
      z-index: -1; }
      @media all and (max-width: 480px) {
        .link span::before {
          top: 27px; } }
      @media all and (max-width: 374px) {
        .link span::before {
          top: 25px;
          right: 3px; } }
  .link:hover span {
    color: #fff;
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    font-weight: 700; }

/* ヘッダー--------------------------------------------------*/
header {
  position: relative; }
  header .sp_logo {
    display: none; }
    @media screen and (max-width: 768px) {
      header .sp_logo {
        display: block;
        position: absolute;
        top: 30px;
        left: 3%;
        width: 32%;
        height: 70px;
        max-width: 250px;
        z-index: 10; } }
    @media screen and (max-width: 768px) and (max-width: 580px) {
      header .sp_logo {
        top: 20px; } }
    @media screen and (max-width: 768px) and (max-width: 374px) {
      header .sp_logo {
        top: 15px; } }
  header.header_sub {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    margin-left: auto;
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    height: 70px;
    padding: 0;
    -webkit-transition: all .3s ease 0s, background .3s ease .1s;
    transition: all .3s ease 0s, background .3s ease .1s; }
    @media all and (max-width: 1200px) {
      header.header_sub {
        padding: 0; } }
    @media screen and (max-width: 768px) {
      header.header_sub {
        position: relative;
        height: auto;
        background: none;
        padding: 0; } }
  header nav {
    position: relative;
    margin-left: 10%;
    z-index: 99; }
    @media all and (max-width: 1200px) {
      header nav {
        margin-left: 5%; } }
    @media all and (max-width: 1024px) {
      header nav {
        margin-left: 3%; } }
  header h1 {
    max-width: 200px;
    position: absolute;
    top: 50px;
    z-index: 99; }
    @media all and (max-width: 1200px) {
      header h1 {
        width: 180px; } }
    @media all and (max-width: 1024px) {
      header h1 {
        width: 130px;
        top: 30px; } }
    header h1 img {
      -webkit-transition-duration: .2s;
              transition-duration: .2s; }
      header h1 img:hover {
        opacity: 0.7; }
    header h1::before {
      position: absolute;
      top: 105px;
      left: -82px;
      content: '';
      display: block;
      background: #fff;
      width: 210px;
      height: 500px;
      z-index: -1;
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg);
      -webkit-transform-origin: top;
              transform-origin: top; }
      @media all and (max-width: 1200px) {
        header h1::before {
          width: 185px; } }
      @media all and (max-width: 1024px) {
        header h1::before {
          width: 130px;
          left: -50px;
          top: 70px; } }
  header.header_sub h1 {
    position: absolute;
    width: 150px;
    top: 13px; }
    @media all and (max-width: 1024px) {
      header.header_sub h1 {
        width: 130px; } }
    @media screen and (max-width: 768px) {
      header.header_sub h1 {
        position: relative;
        width: 30%;
        max-width: 200px;
        min-width: 120px;
        top: 20px;
        left: 20px; } }
    header.header_sub h1::before {
      display: none; }
  header .tri {
    position: absolute;
    top: 50px;
    left: 275px;
    background: #fff;
    width: 100px;
    height: 60px;
    -webkit-transform: skewX(-45deg);
            transform: skewX(-45deg);
    border-bottom: 5px solid #31ac42; }
    @media all and (max-width: 1200px) {
      header .tri {
        left: 240px; } }
    @media all and (max-width: 1024px) {
      header .tri {
        top: 30px;
        left: 170px;
        height: 55px; } }
  header.header_sub .tri {
    display: none; }
  header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    left: 305px;
    top: 50px;
    width: calc(100% - 18vw);
    height: 60px;
    background: #fff;
    padding: 0 18vw 0 0;
    border-bottom: 5px solid #31ac42;
    z-index: 90; }
    @media all and (max-width: 1200px) {
      header ul {
        left: 270px;
        padding: 0 20vw 0 0; } }
    @media all and (max-width: 1024px) {
      header ul {
        top: 30px;
        left: 200px;
        height: 55px; } }
  header.header_sub ul {
    width: 90%;
    top: 6px;
    left: auto;
    right: auto;
    background: none;
    border-bottom: none;
    padding: 0 150px; }
    @media all and (max-width: 1200px) {
      header.header_sub ul {
        left: 35px;
        width: 95%; } }
    @media all and (max-width: 1024px) {
      header.header_sub ul {
        left: 0;
        width: 100%;
        padding: 0 130px; } }
    @media all and (max-width: 768px) {
      header.header_sub ul {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-line-pack: distribute;
            align-content: space-around;
        left: auto;
        top: 50px;
        width: 85%;
        max-width: 500px;
        margin: 0 auto;
        background: #fff;
        padding: 0;
        border: none; } }
    @media screen and (max-width: 768px) and (max-width: 480px) {
      header.header_sub ul {
        width: 90%; } }
  header li {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    text-align: center; }
    header li a {
      position: relative;
      color: #000;
      font-weight: 500;
      text-align: center;
      display: inline-block;
      -webkit-transition-duration: .2s;
              transition-duration: .2s; }
      @media all and (max-width: 1024px) {
        header li a {
          font-size: 1.4rem;
          letter-spacing: normal; } }
      header li a::before {
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -60px;
        content: '';
        display: block;
        width: 60px;
        height: 3px;
        background: #31ac42;
        opacity: 0;
        -webkit-transition-duration: .2s;
                transition-duration: .2s; }
      header li a:hover::before {
        opacity: 1;
        margin-left: -30px;
        margin-bottom: 0; }
      header li a:hover {
        margin-bottom: 5px;
        color: #31ac42; }
        @media screen and (max-width: 768px) {
          header li a:hover {
            -webkit-transform: translateY(0);
                    transform: translateY(0); } }
    header li.sp_li,
    header li .sp_ttl {
      display: none; }
  header .entry_top {
    position: absolute;
    top: 50px;
    right: 4vw; }
    @media all and (max-width: 1200px) {
      header .entry_top {
        right: 2vw; } }
    @media all and (max-width: 1024px) {
      header .entry_top {
        top: 30px;
        right: 3vw; } }
    header .entry_top a {
      position: relative;
      display: block;
      color: #31ac42;
      font-size: 2.2rem;
      font-weight: 700;
      text-align: center;
      line-height: 1.2;
      text-shadow: 2px 2px 1px #fff, -2px 2px 1px #fff, 2px -2px 1px #fff, -2px -2px 1px #fff;
      z-index: 99; }
      @media all and (max-width: 1024px) {
        header .entry_top a {
          font-size: 1.8rem; } }
      header .entry_top a .sp_ttl {
        display: inline-block;
        -webkit-transition-duration: .2s;
                transition-duration: .2s; }
        header .entry_top a .sp_ttl:hover {
          -webkit-transform: scale(1.15, 1.15);
                  transform: scale(1.15, 1.15); }
        header .entry_top a .sp_ttl::after {
          font-family: "Font Awesome 5 Free";
          display: block;
          margin-top: 5px;
          content: '\f35a';
          font-weight: 900; }
      header .entry_top a::before {
        position: absolute;
        top: -50px;
        right: -4vw;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 19.2vw 19.2vw 0;
        border-color: transparent #e2e6d4 transparent transparent;
        z-index: -1;
        pointer-events: none;
        display: block; }
        @media all and (max-width: 1200px) {
          header .entry_top a::before {
            border-width: 0 21.5vw 21.5vw 0; } }
        @media all and (max-width: 1024px) {
          header .entry_top a::before {
            border-width: 0 23vw 23vw 0; } }
    header .entry_top .ttl {
      display: none; }
  header.header_sub .entry_top {
    position: absolute;
    top: 0;
    right: 10%; }
    @media all and (max-width: 1200px) {
      header.header_sub .entry_top {
        right: 5%; } }
    @media screen and (max-width: 768px) {
      header.header_sub .entry_top {
        position: static;
        top: auto;
        right: auto;
        display: table;
        width: 85%;
        max-width: 500px;
        height: 12vh;
        margin: 3vh auto 0;
        min-height: 65px; } }
    header.header_sub .entry_top a {
      font-size: 2rem;
      height: 45px;
      line-height: 45px;
      margin-top: 12px;
      -webkit-transition-duration: .2s;
              transition-duration: .2s; }
      @media all and (max-width: 1200px) {
        header.header_sub .entry_top a {
          font-size: 1.8rem; } }
      @media all and (max-width: 1024px) {
        header.header_sub .entry_top a {
          font-size: 1.6rem; } }
      @media screen and (max-width: 768px) {
        header.header_sub .entry_top a {
          font-size: 1.8rem;
          color: #000;
          line-height: 1;
          text-shadow: none;
          background: #ffd8d3;
          width: 100%;
          height: 100%;
          text-align: left;
          padding-left: 41%;
          display: table-cell;
          vertical-align: middle;
          -webkit-transition-duration: .2s;
                  transition-duration: .2s; } }
      @media screen and (max-width: 768px) and (max-width: 480px) {
        header.header_sub .entry_top a {
          padding-left: 39%;
          font-size: 1.8rem; } }
      header.header_sub .entry_top a span::after {
        display: inline;
        margin-top: 0;
        padding-left: 10px; }
      header.header_sub .entry_top a::before {
        top: 0;
        left: -25%;
        right: auto;
        border: none;
        pointer-events: auto;
        width: 150%;
        height: 100%;
        background: #e2e6d4;
        border-radius: 22.5px;
        -webkit-transition-duration: 0.2s;
                transition-duration: 0.2s; }
      @media screen and (max-width: 768px) {
        header.header_sub .entry_top a:hover {
          color: #31ac42; } }
      header.header_sub .entry_top a:hover::before {
        -webkit-transform: scale(1.15, 1);
                transform: scale(1.15, 1); }
  header nav.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    margin-left: auto;
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    height: 70px;
    padding: 0 10%;
    -webkit-transition: all .3s ease 0s, background .3s ease .1s;
    transition: all .3s ease 0s, background .3s ease .1s; }
    @media all and (max-width: 1200px) {
      header nav.is-fixed {
        padding: 0 3%; } }
    header nav.is-fixed h1 {
      position: relative;
      width: 150px;
      top: 13px; }
      @media all and (max-width: 1024px) {
        header nav.is-fixed h1 {
          width: 130px; } }
      header nav.is-fixed h1::before {
        display: none; }
    header nav.is-fixed .tri {
      display: none; }
    header nav.is-fixed ul {
      width: 80%;
      top: 6px;
      left: auto;
      right: auto;
      background: none;
      border-bottom: none;
      padding: 0 150px; }
      @media all and (max-width: 1200px) {
        header nav.is-fixed ul {
          left: 35px;
          width: 95%; } }
      @media all and (max-width: 1024px) {
        header nav.is-fixed ul {
          left: 20px;
          width: 100%; } }
    header nav.is-fixed .entry_top {
      position: absolute;
      top: 0;
      right: 10%; }
      @media all and (max-width: 1200px) {
        header nav.is-fixed .entry_top {
          right: 5%; } }
      header nav.is-fixed .entry_top a {
        font-size: 2rem;
        height: 45px;
        line-height: 45px;
        margin-top: 12px;
        -webkit-transition-duration: .2s;
                transition-duration: .2s; }
        @media all and (max-width: 1200px) {
          header nav.is-fixed .entry_top a {
            font-size: 1.8rem; } }
        @media all and (max-width: 1024px) {
          header nav.is-fixed .entry_top a {
            font-size: 1.6rem; } }
        header nav.is-fixed .entry_top a span::after {
          display: inline;
          margin-top: 0;
          padding-left: 10px; }
        header nav.is-fixed .entry_top a::before {
          top: 0;
          left: -25%;
          right: auto;
          border: none;
          pointer-events: auto;
          width: 150%;
          height: 100%;
          background: #e2e6d4;
          border-radius: 22.5px;
          -webkit-transition-duration: 0.2s;
                  transition-duration: 0.2s; }
        header nav.is-fixed .entry_top a:hover::before {
          -webkit-transform: scale(1.15, 1);
                  transform: scale(1.15, 1); }
  header#header_recruit li.menu-item-245 a {
    margin-bottom: 5px;
    color: #31ac42; }
    @media screen and (max-width: 768px) {
      header#header_recruit li.menu-item-245 a {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        margin-bottom: 0; } }
    header#header_recruit li.menu-item-245 a .sp_ttl {
      color: #31ac42; }
    header#header_recruit li.menu-item-245 a::before {
      margin-left: -30px;
      opacity: 1; }
  header#header_interview li.menu-item-242 a {
    margin-bottom: 5px;
    color: #31ac42; }
    @media screen and (max-width: 768px) {
      header#header_interview li.menu-item-242 a {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        margin-bottom: 0; } }
    header#header_interview li.menu-item-242 a .sp_ttl {
      color: #31ac42; }
    header#header_interview li.menu-item-242 a::before {
      margin-left: -30px;
      opacity: 1; }
  header li.current-menu-item a {
    margin-bottom: 5px;
    color: #31ac42; }
    header li.current-menu-item a::before {
      margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      header li.current-menu-item a {
        margin-bottom: 0; } }
    header li.current-menu-item a .sp_ttl {
      color: #31ac42; }
    header li.current-menu-item a::before {
      margin-left: -30px;
      opacity: 1; }
  header .menu-btn {
    display: none;
    outline: none; }
  @media screen and (max-width: 768px) {
    header nav {
      margin-left: auto;
      width: 100%;
      min-height: 100vh;
      height: 100vh;
      background: #fff;
      z-index: 99; }
      header nav h1 {
        position: relative;
        width: 30%;
        max-width: 200px;
        min-width: 120px;
        top: 20px;
        left: 20px; }
        header nav h1::before {
          display: none; }
      header nav .tri {
        display: none; }
      header nav ul {
        position: relative;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -ms-flex-line-pack: distribute;
            align-content: space-around;
        left: auto;
        top: 50px;
        width: 85%;
        max-width: 500px;
        margin: 0 auto;
        height: 100%;
        background: #fff;
        padding: 0;
        border: none; } }
  @media screen and (max-width: 768px) and (max-width: 480px) {
    header nav ul {
      width: 90%; } }
  @media screen and (max-width: 768px) {
    header nav li {
      text-align: left;
      border-bottom: 1px solid #aaa;
      width: 100%;
      display: table;
      height: 10vh;
      padding: 0 10%;
      min-height: 60px; } }
  @media screen and (max-width: 768px) and (max-width: 374px) {
    header nav li {
      padding: 0 5%; } }
  @media screen and (max-width: 768px) {
    header nav li a {
      font-weight: 500;
      font-size: 1.4rem;
      padding-left: 70px;
      display: table-cell;
      vertical-align: middle;
      text-align: left;
      margin: 0 5%;
      line-height: 1.2;
      -webkit-transition-duration: 0.2s;
              transition-duration: 0.2s; } }
  @media screen and (max-width: 768px) and (max-width: 480px) {
    header nav li a {
      font-size: 1.2rem; } }
  @media screen and (max-width: 768px) {
    header nav li a:hover {
      color: #31ac42; } }
  header nav li a::after {
    position: absolute;
    left: 0;
    top: calc(50% - 25px);
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: cover; }
    @media all and (-ms-high-contrast: none) {
      header nav li a::after {
        top: 27%; } }
    @media screen and (max-width: 768px) and (max-width: 374px) {
      header nav li a::after {
        width: 48px;
        height: 48px;
        top: calc(50% - 22.5px); } }
    @media all and (max-width: 768px) and (max-width: 374px) and (-ms-high-contrast: none) {
      header nav li a::after {
        top: 27%; } }
  @media screen and (max-width: 768px) {
    header nav li a::before {
      display: none; } }
  header nav li a:hover {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  @media screen and (max-width: 768px) {
    header nav li a::after {
      background-image: url(../img/common/i_default.png); }
    header nav li.menu-item-236 a::after {
      background-image: url(../img/common/i_home.png); }
    header nav li.menu-item-239 a::after {
      background-image: url(../img/common/i_what.png); }
    header nav li.menu-item-242 a::after {
      background-image: url(../img/common/i_interview.png); }
    header nav li.menu-item-241 a::after {
      background-image: url(../img/common/i_culture.png); }
    header nav li.menu-item-245 a::after {
      background-image: url(../img/common/i_rec.png); }
    header nav li.sp_li {
      display: table; }
    header nav li .sp_ttl {
      display: inline-block;
      font-size: 140%;
      font-weight: 700; } }
  @media screen and (max-width: 768px) {
    header nav .entry_wrap {
      position: relative;
      width: 100%;
      height: 30vh;
      margin-top: 50px;
      top: 20px; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top {
      position: static;
      top: auto;
      right: auto;
      display: table;
      width: 85%;
      max-width: 500px;
      height: 12vh;
      margin: auto;
      min-height: 65px; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a {
      color: #000;
      line-height: 1;
      text-shadow: none;
      background: #ffd8d3;
      width: 100%;
      height: 100%;
      text-align: left;
      padding-left: 41%;
      display: table-cell;
      vertical-align: middle;
      -webkit-transition-duration: .2s;
              transition-duration: .2s; } }
  @media screen and (max-width: 768px) and (max-width: 480px) {
    header nav .entry_top a {
      padding-left: 39%;
      font-size: 1.8rem; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a:hover {
      color: #31ac42; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a .sp_ttl {
      display: inline-block;
      text-align: left;
      -webkit-transition-duration: 0s;
              transition-duration: 0s;
      pointer-events: none; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a .sp_ttl:hover {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1); } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a .sp_ttl::after {
      position: absolute;
      left: calc(41% - 70px);
      top: calc(50% - 30px);
      content: '';
      width: 60px;
      height: 60px;
      margin-top: 0;
      background-image: url(../img/common/i_goal.png);
      background-repeat: no-repeat;
      background-size: cover; } }
  @media all and (max-width: 768px) and (-ms-high-contrast: none) {
    header nav .entry_top a .sp_ttl::after {
      top: 50%; } }
  @media screen and (max-width: 768px) and (max-width: 480px) {
    header nav .entry_top a .sp_ttl::after {
      top: calc(50% - 25px);
      width: 50px;
      height: 50px; } }
  @media all and (max-width: 768px) and (max-width: 480px) and (-ms-high-contrast: none) {
    header nav .entry_top a .sp_ttl::after {
      top: 50%; } }
  @media screen and (max-width: 768px) {
    header nav .entry_top a::before {
      display: none; } }
  @media screen and (max-width: 768px) {
    header#header_top nav .entry_wrap {
      top: 20px; } }

@media screen and (max-width: 768px) {
  header nav .entry_top a::before {
    display: none; } }
@media screen and (max-width: 768px) {
  header nav .entry_top .ttl {
    display: inline-block;
    font-size: 70%;
    font-weight: 500; } }
@media screen and (max-width: 768px) {
  header .nav_wrap nav {
    position: fixed;
    -webkit-transform: translateX(100vw);
            transform: translateX(100vw);
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease; } }
@media screen and (max-width: 768px) {
  header .nav_wrap.is-active nav {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    overflow: auto; } }
@media screen and (max-width: 768px) {
  header .menu-btn {
    display: block;
    position: fixed;
    right: 3%;
    top: 30px;
    width: 12%;
    height: 50px;
    background: none;
    border: none;
    z-index: 100; } }
@media screen and (max-width: 768px) and (max-width: 580px) {
  header .menu-btn {
    top: 20px; } }
@media screen and (max-width: 768px) and (max-width: 480px) {
  header .menu-btn {
    top: 10px; } }
@media screen and (max-width: 768px) and (max-width: 374px) {
  header .menu-btn {
    height: 40px; } }
@media screen and (max-width: 768px) {
  header .menu-btn span {
    display: block;
    width: 80%;
    margin: auto;
    height: 5px;
    background-color: #31ac42;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 4px)/2);
    border-radius: 3px;
    -webkit-transition: 0.2s;
    transition: 0.2s; } }
@media screen and (max-width: 768px) and (max-width: 768px) {
  header .menu-btn span {
    -webkit-box-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff;
            box-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff; } }
@media screen and (max-width: 768px) and (max-width: 480px) {
  header .menu-btn span {
    height: 4px; } }
@media screen and (max-width: 768px) {
  header .menu__lineTop {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px); } }
@media screen and (max-width: 768px) and (max-width: 480px) {
  header .menu__lineTop {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); } }
@media screen and (max-width: 768px) {
  header .menu__lineBottom {
    -webkit-transform: translateY(15px);
            transform: translateY(15px); } }
@media screen and (max-width: 768px) and (max-width: 480px) {
  header .menu__lineBottom {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); } }
@media screen and (max-width: 768px) {
  header .nav_wrap.is-active .menu__lineTop {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  header .nav_wrap.is-active .menu__lineMiddle {
    opacity: 0; }
  header .nav_wrap.is-active .menu__lineBottom {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); } }

.kv_wrap {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  /* (画像の高さ / 画像の横幅) × 100 */
  padding-top: 85.166666%;
  background: url(../img/top/kv_bg_pc.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: -1; }
  @media screen and (max-width: 768px) {
    .kv_wrap {
      padding-top: 173.828125%;
      background: url(../img/top/kv_bg_sp.png);
      background-size: cover; } }

.kv_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  /* (画像の高さ / 画像の横幅) × 100 */
  padding-top: 85.166666%;
  background: url(../img/top/kv_pc.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .kv_img {
      padding-top: 173.828125%;
      background: url(../img/top/kv_sp.png);
      background-size: cover; } }

/* フッター--------------------------------------------------*/
footer {
  position: relative;
  z-index: 1;
  background: #c3e18b; }
  footer::before {
    position: absolute;
    top: -200px;
    right: 0;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 200px 200px;
    border-color: transparent transparent #c3e18b transparent;
    z-index: -10; }
    @media screen and (max-width: 480px) {
      footer::before {
        top: -150px;
        border-width: 0 0 150px 150px; } }
  footer .foot_wrap {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px 0; }
  footer nav ul {
    display: table;
    border-collapse: separate;
    border-spacing: 30px 0; }
    @media screen and (max-width: 768px) {
      footer nav ul {
        display: block; } }
  footer nav li {
    display: table-cell; }
    @media screen and (max-width: 768px) {
      footer nav li {
        display: block;
        margin: 10px auto; } }
  footer nav a {
    position: relative;
    font-weight: 500;
    color: #fff;
    bottom: 0;
    -webkit-transition-duration: .2s;
            transition-duration: .2s; }
    @media screen and (min-width: 769px) and (max-width: 1024px) {
      footer nav a {
        font-size: 80%; } }
    footer nav a::before {
      position: absolute;
      bottom: 0;
      left: 50%;
      margin-left: -60px;
      content: '';
      display: block;
      width: 60px;
      height: 3px;
      background: #31ac42;
      opacity: 0;
      -webkit-transition-duration: .2s;
              transition-duration: .2s; }
    footer nav a:hover::before {
      opacity: 1;
      bottom: -5px;
      margin-left: -30px; }
    footer nav a:hover {
      color: #31ac42;
      bottom: 5px; }
    footer nav a .fa-external-link-alt {
      padding-left: 5px; }
  footer .pmark {
    max-width: 73px;
    -webkit-transition-duration: .3s;
            transition-duration: .3s; }
    footer .pmark:hover {
      opacity: .6; }

small {
  display: block;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 1.2rem;
  color: #fff; }
  @media screen and (max-width: 374px) {
    small {
      font-size: 1rem; } }

/* PCSP表示非表示-------------------------------------------------*/
.sp_none {
  display: none; }

.pc_none {
  display: none; }

.sp-br {
  display: none; }

.sp-br_s {
  display: none; }

.se_br {
  display: none; }

section {
  position: relative; }

.tab_br {
  display: none; }

@media all and (min-width: 769px) {
  .sp_none {
    display: block; } }
@media all and (max-width: 768px) {
  .sp_none {
    display: none; }

  .pc_none {
    display: block; }

  .sp-br {
    display: block; } }
@media all and (max-width: 480px) {
  .sp-br_s {
    display: block; } }
@media all and (max-width: 374px) {
  .se_br {
    display: block; } }
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .tab_br {
    display: block; } }
.ie {
  display: none; }

@media all and (-ms-high-contrast: none) {
  .ie {
    display: block; }

  .ie_none {
    display: none; } }

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