@charset "UTF-8";
/* =========================================================
 * reset　　　    /*リセット
========================================================= */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:200);
@import url(https://fonts.googleapis.com/css?family=Nunito:300);
@import url(https://fonts.googleapis.com/css?family=Nunito:400);
@import url(https://fonts.googleapis.com/css?family=Nunito:600);
@import url(https://fonts.googleapis.com/css?family=Nunito:700);
@import url(https://fonts.googleapis.com/css?family=Nunito:800);
@import url(https://fonts.googleapis.com/css?family=Nunito:900);
@import url(https://fonts.googleapis.com/css?family=Lato:100);
@import url(https://fonts.googleapis.com/css?family=Lato:300);
@import url(https://fonts.googleapis.com/css?family=Lato:400);
@import url(https://fonts.googleapis.com/css?family=Lato:700);
@import url(https://fonts.googleapis.com/css?family=Lato:900);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400);
@import url(https://fonts.googleapis.com/css?family=Montserrat:700);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:400);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:500);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:600);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:700);
@import url(https://fonts.googleapis.com/css?family=EB+Garamond:800);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap&subset=japanese);
blockquote, body, div, dl, dt, dd, fieldset, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, select, span, textarea, td, th, ul, figure, figcaption {
  margin: 0px;
  padding: 0px; }

fieldset, img {
  border: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol {
  list-style-type: none; }

ul {
  list-style-type: none; }
  ul li {
    list-style-type: none; }

img {
  border: none;
  vertical-align: bottom; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

iframe {
  border: none; }

a:focus {
  outline: none; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

li img {
  line-height: 0;
  font-size: 0;
  vertical-align: top; }

/* IE */
* html ul li dl, * html ol li dl {
  display: inline; }
*:first-child + html ul li dl, *:first-child + html ol li dl {
  display: inline; }

/* =========================================================
 * default settings      　   /*デフォルトセッティング
========================================================= */
html {
  font-size: 62.5%; }

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  word-break: break-all; }

p {
  line-break: strict; }

a {
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out; }
  a:hover {
    opacity: 0.7;
    -webkit-opacity: .7;
    -moz-opacity: .7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)"; }

body {
  font-size: 1.4rem;
  font: inherit;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #333; }

@media all and (-ms-high-contrast: none) {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
#wrapper {
  width: 100%; }

.pc {
  display: block; }

.sp {
  display: none; }

.hide, .hidden {
  visibility: hidden; }

img {
  max-width: 100%; }

main {
  display: block; }

@media screen and (max-width: 767px) {
  a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    transition: none; }
    a:hover {
      opacity: 1;
      -webkit-opacity: 1;
      -moz-opacity: 1;
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }

  body {
    -webkit-text-size-adjust: 100%;
    background: #fff;
    min-width: 100%; }

  img {
    width: 100%; }

  .pc {
    display: none; }

  .sp {
    display: block; } }
/* =========================================================
 * font
========================================================= */
/*noto-sans*/
/*Robot*/
/*Nunito*/
/*Lato*/
/*Montserrat*/
.roboto {
  font-family: 'Roboto Condensed', sans-serif; }

.font-rk {
  font-family: Ryumin Regular KL; }

.font-mb31 {
  font-family: Midashi Go MB31; }

.font-telop {
  font-family: TelopMinPro-D; }

.font-noto {
  font-family: 'Noto Sans Japanese'; }

.font-nunito {
  font-family: 'Nunito', sans-serif; }

.font-lato {
  font-family: 'Lato', sans-serif; }

.font-montserrat {
  font-family: 'Montserrat', sans-serif; }

.fonte-gramond {
  font-family: 'EB Garamond', serif; }

.font-serif {
  font-family: 'Noto Serif JP', serif; }

/* =========================================================
 * clearfix　　   /*クリアフィックス
========================================================= */
.clearfix {
  zoom: 1; }
  .clearfix:before {
    content: "";
    display: table; }
  .clearfix:after {
    content: "";
    display: table;
    clear: both; }

.fade,
.fadein,
.fadein-top,
.fadein-left,
.fadein-right,
.opening {
  opacity: 0;
  transition: all 0.875s ease-in-out; }

.fade {
  transform: translate(0, 0); }

.fadein {
  transform: translate(0, 50px); }

.fadein-top {
  transform: translate(0, -50px); }

.fadein-left {
  transform: translate(-50px, 0); }

.fadein-right {
  transform: translate(50px, 0); }

.fade.scrollin,
.fadein.scrollin,
.fadein-top.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin,
.opening.active {
  opacity: 1;
  transform: translate(0, 0); }

@keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
@-webkit-keyframes arrow-move {
  0% {
    top: -100%; }
  50% {
    top: 0; }
  100% {
    top: 100%; } }
.header {
  width: 100%;
  background-color: #fff;
  position: relative;
  z-index: 20; }
  .header:before {
    content: '';
    display: block;
    width: 100px;
    height: 105px;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff; }
  .header--logo {
    width: 100px;
    height: 100vh;
    text-align: center;
    position: relative;
    padding-top: 30px;
    background-color: #fff;
    position: absolute;
    z-index: 5; }
    .header--logo h1, .header--logo .scroll {
      line-height: 1.0;
      writing-mode: vertical-rl;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
    .header--logo h1 {
      font-size: 3.0rem;
      letter-spacing: .12em;
      background-color: #fff;
      position: relative;
      z-index: 2; }
      .header--logo h1 span {
        font-size: 1.6rem;
        letter-spacing: .02em;
        display: inline-block;
        margin-top: 24px;
        position: relative;
        left: -6px; }
    .header--logo .scroll {
      bottom: 0; }
      .header--logo .scroll--inner {
        position: relative;
        width: 14px;
        height: 130px; }
        .header--logo .scroll--inner span {
          display: inline-block;
          white-space: nowrap;
          font-size: 1.4rem;
          letter-spacing: .12em;
          position: absolute;
          top: 0;
          font-family: "Noto Serif JP", serif; }
        .header--logo .scroll--inner .bar {
          display: block;
          width: 100%;
          height: 54px;
          position: absolute;
          bottom: 0;
          overflow: hidden; }
          .header--logo .scroll--inner .bar:before {
            content: '';
            display: block;
            position: absolute;
            left: calc(50% - 2px);
            bottom: 0;
            width: 1px;
            height: 100%;
            border-left: 1px solid #000;
            -webkit-animation: arrow-move 2.2s 0.5s ease-in-out infinite;
            animation: arrow-move 2.2s 0.5s ease-in-out infinite; }
  .header--navigation {
    position: fixed;
    top: 0;
    right: 0;
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    background-color: #fff;
    padding: 24px 0 17px 0;
    z-index: 10; }
    .header--navigation .smartphone-menu {
      display: none; }
    .header--navigation .gnav ul {
      display: flex;
      justify-content: flex-end;
      padding-right: 2%; }
      .header--navigation .gnav ul li a {
        text-decoration: none;
        color: #000;
        white-space: nowrap;
        font-size: 1.4rem;
        position: relative;
        padding-bottom: 5px;
        overflow: hidden; }
        .header--navigation .gnav ul li a span {
          display: none; }
        .header--navigation .gnav ul li a:after {
          content: '';
          position: absolute;
          width: 0;
          border-top: 1px solid #000;
          left: 0;
          bottom: 0;
          transition: all .3s ease-out; }
        .header--navigation .gnav ul li a:hover {
          opacity: 1; }
          .header--navigation .gnav ul li a:hover:after {
            width: 100%; }
      .header--navigation .gnav ul li:not(:last-child) {
        margin-right: 3vw; }
      .header--navigation .gnav ul li.soon a {
        display: inline-block;
        pointer-events: none;
        opacity: .3; }
    .header--navigation--under {
      margin-top: 12px;
      display: flex;
      justify-content: flex-end;
      align-items: center; }
      .header--navigation--under .instagram {
        margin-right: 24px; }
        .header--navigation--under .instagram a {
          display: flex;
          align-items: center;
          line-height: 1.0;
          color: #000;
          text-decoration: none;
          font-size: 1.4rem; }
          .header--navigation--under .instagram a .icon {
            margin-right: 5px; }
            .header--navigation--under .instagram a .icon img {
              width: 20px; }
      .header--navigation--under .contact {
        display: inline-block; }
        .header--navigation--under .contact a {
          background-color: #008840;
          color: #fff;
          line-height: 1.0;
          padding: 8px 22px;
          display: block;
          width: 100%;
          height: 100%;
          text-decoration: none;
          font-size: 1.4rem; }

      .header--navigation--under .special-feature {
          margin-right: 24px; }
          .header--navigation--under .special-feature a {
            display: block;
            align-items: center;
            line-height: 1.0;
            padding: 8px 22px;
            background-color: #e2530a;
            color: #fff;
            text-decoration: none;
            font-size: 1.4rem; }

.footer {
  padding: 0 5%;
  position: relative; }
  .footer--inner {
    max-width: 1166px;
    margin: 0 auto;
    padding: 60px 0 100px 0;
    border-top: 1px solid #000;
    display: flex; }
    .footer--inner--block {
      width: 100%; }
      .footer--inner--block:nth-of-type(1) {
        width: 26.6%; }
        .footer--inner--block:nth-of-type(1) .logo img {
          max-width: 180px; }
        .footer--inner--block:nth-of-type(1) span {
          display: block;
          line-height: 1.0;
          margin-top: 15px;
          font-size: 1.4rem; }
        .footer--inner--block:nth-of-type(1) .corp {
          margin-top: 60px; }
          .footer--inner--block:nth-of-type(1) .corp a {
            text-decoration: none;
            line-height: 1.0;
            color: #000;
            font-size: 1.4rem; }
            .footer--inner--block:nth-of-type(1) .corp a:hover {
              text-decoration: underline; }
        .footer--inner--block:nth-of-type(1) address {
          margin-top: 64px;
          line-height: 1.0;
          font-size: 1.0rem; }
      .footer--inner--block:nth-of-type(2) {
        width: 55.1%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start; }
        .footer--inner--block:nth-of-type(2) ul {
          border-left: 1px solid #bdbdbd;
          padding-left: 25px;
          padding-right: 3%;
          min-height: 152px; }
          .footer--inner--block:nth-of-type(2) ul li a {
            color: #000;
            text-decoration: none;
            line-height: 1.0;
            font-size: 1.4rem; }
            .footer--inner--block:nth-of-type(2) ul li a:hover {
              text-decoration: underline; }
          .footer--inner--block:nth-of-type(2) ul li.soon a {
            pointer-events: none;
            opacity: .3;
            display: inline-block; }
          .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) {
            width: 30%; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) li:nth-of-type(n+2) {
              margin-top: 16px; }
          .footer--inner--block:nth-of-type(2) ul:nth-of-type(2) {
            width: 36.5%; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(2) li:nth-of-type(n+2) {
              margin-top: 10px; }
          .footer--inner--block:nth-of-type(2) ul:nth-of-type(3) {
            width: 33.5%; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(3) li:nth-of-type(n+2) {
              margin-top: 28px; }
      .footer--inner--block:nth-of-type(3) {
        width: 18.3%; }
        .footer--inner--block:nth-of-type(3) .contact {
          height: 100%; }
          .footer--inner--block:nth-of-type(3) .contact a {
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            text-decoration: none;
            color: #fff;
            background-color: #008742;
            text-align: center;
            line-height: 2.0;
            letter-spacing: .08em;
            font-size: 1.9rem; }
  .footer #pagetop {
    position: absolute;
    left: 1%;
    bottom: 90px; }
    .footer #pagetop a {
      line-height: 1.0;
      writing-mode: vertical-rl;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      text-decoration: none;
      color: #000;
      letter-spacing: .12em;
      font-size: 1.4rem;
      padding-top: 75px;
      position: relative;
      white-space: nowrap; }
      .footer #pagetop a:before {
        content: '';
        display: block;
        width: 1px;
        height: 53px;
        border-left: 1px solid #000;
        position: absolute;
        left: calc(50% - 2px);
        top: 0; }

article {
  padding-top: 105px; }

.lower-page .header--logo {
  height: calc(105px + 470px); }

@media all and (-ms-high-contrast: none) {
  .header--logo {
    top: -200px; }
    .header--logo .scroll {
      bottom: auto;
      margin-top: 73px; }
  .header--navigation .gnav ul li a:after {
    width: 100%;
    opacity: 0; }
  .header--navigation .gnav ul li a:hover:after {
    opacity: 1; }

  .lower-page .header--logo {
    top: -100px; } }
.mfp-bg {
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-close {
  display: none !important; }

/* overlay animate in */
.mfp-bg.mfp-ready {
  opacity: 0.8; }

/* overlay animate out */
.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-wrap .modal-content {
  transform: translateY(-30px);
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out; }

/* content animate it */
.mfp-wrap.mfp-ready .modal-content {
  transform: translateY(0);
  opacity: 1; }

/* content animate out */
.mfp-wrap.mfp-removing .modal-content {
  transform: translateY(30px);
  opacity: 0; }

.modal-content {
  max-width: 1024px;
  margin: 0 auto;
  position: relative; }
  .modal-content .popup-modal-close {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: -41px; }
    .modal-content .popup-modal-close span img {
      max-width: 31px; }
  .modal-content--inner {
    background-color: #fff;
    padding: 30px 0 50px 0; }
    .modal-content--inner .title {
      text-align: center; }
      .modal-content--inner .title p {
        font-size: 2.0rem;
        line-height: 1.8; }
    .modal-content--inner .wrap {
      max-width: 762px;
      margin: 35px auto 0 auto;
      display: flex;
      justify-content: space-between; }
      .modal-content--inner .wrap .box {
        width: 100%;
        max-width: 300px; }
        .modal-content--inner .wrap .box h4 {
          line-height: 1.0;
          color: #008742;
          padding-bottom: 15px;
          letter-spacing: -0.02em;
          white-space: nowrap;
          border-bottom: 1px solid #000;
          font-size: 1.6rem; }
        .modal-content--inner .wrap .box ul {
          margin-top: 15px; }
          .modal-content--inner .wrap .box ul li {
            line-height: 1.0;
            font-size: 1.6rem; }
            .modal-content--inner .wrap .box ul li:nth-of-type(n+2) {
              margin-top: 12px; }
    .modal-content--inner .under-text {
      margin-top: 35px;
      text-align: center; }
      .modal-content--inner .under-text p {
        font-size: 1.5rem;
        letter-spacing: -0.04em; }
      .modal-content--inner .under-text .name {
        margin-top: 25px;
        line-height: 1.0;
        font-size: 1.6rem; }
      .modal-content--inner .under-text .btn {
        max-width: 300px;
        margin: 25px auto 0 auto; }
        .modal-content--inner .under-text .btn a {
          display: block;
          width: 100%;
          height: 100%;
          text-decoration: none;
          color: #fff;
          line-height: 1.0;
          padding: 7px 0;
          font-size: 1.6rem;
          background-color: #008742; }

@media screen and (max-height: 660px) {
  .mfp-content {
    vertical-align: top;
    margin: 70px 0 0 0; } }
@media screen and (max-width: 767px) {
  html {
    overflow: visible !important; }

  .header:before {
    width: 16.4%;
    height: 70px; }
  .header--logo {
    width: 16.4%;
    height: 100vh;
    padding-top: 25px;
    z-index: 11; }
    .header--logo h1 {
      font-size: 18px;
      font-size: 5.625vw;
      letter-spacing: .06em; }
      .header--logo h1 span {
        font-size: 10px;
        font-size: 3.125vw;
        letter-spacing: .02em;
        margin-top: 10px;
        left: -0.5%; }
    .header--logo .scroll--inner {
      width: auto;
      height: auto;
      padding-bottom: 60px; }
      .header--logo .scroll--inner span {
        font-size: 10px;
        font-size: 3.125vw;
        letter-spacing: .06em;
        position: static; }
      .header--logo .scroll--inner .bar {
        height: 40px;
        left: calc(50% - 1vw); }
  .header--navigation {
    width: 100%;
    height: 70px;
    padding: 0;
    display: flex;
    justify-content: flex-end; }
    .header--navigation .smartphone-menu {
      display: flex;
      align-items: center;
      margin-right: 8vw; }
      .header--navigation .smartphone-menu p {
        line-height: 1.0;
        letter-spacing: .04em;
        font-size: 14px;
        font-size: 4.375vw;
        margin-right: 3vw; }
      .header--navigation .smartphone-menu .menu-trigger {
        margin-right: 0;
        margin-top: 0;
        z-index: 5;
        position: relative;
        width: 30px;
        height: 20px; }
        .header--navigation .smartphone-menu .menu-trigger span {
          position: absolute;
          left: 0;
          width: 100%;
          height: 2px;
          background-color: #000; }
          .header--navigation .smartphone-menu .menu-trigger span:nth-of-type(1) {
            top: 0; }
          .header--navigation .smartphone-menu .menu-trigger span:nth-of-type(2) {
            top: 50%;
            margin-top: -1px; }
          .header--navigation .smartphone-menu .menu-trigger span:nth-of-type(3) {
            bottom: 0; }
        .header--navigation .smartphone-menu .menu-trigger.active span:nth-of-type(1) {
          -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg); }
        .header--navigation .smartphone-menu .menu-trigger.active span:nth-of-type(2) {
          opacity: 0;
          transform: translateX(20px); }
        .header--navigation .smartphone-menu .menu-trigger.active span:nth-of-type(3) {
          -webkit-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg); }
      .header--navigation .smartphone-menu .menu-trigger,
      .header--navigation .smartphone-menu .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box; }
    .header--navigation .gnav {
      position: absolute;
      width: 100%;
      height: calc(100vh - 70px);
      top: 100%;
      left: 0;
      padding-left: 16.4%;
      background-color: #fff;
      display: none; }
      .header--navigation .gnav ul {
        display: block;
        padding-right: 0; }
        .header--navigation .gnav ul li a {
          white-space: normal;
          font-size: 12px;
          font-size: 3.75vw;
          position: relative;
          padding-bottom: 0;
          display: block;
          width: 100%;
          height: 100%;
          padding: 4.5vw 0 4.5vw 10%; }
          .header--navigation .gnav ul li a span {
            display: inline-block;
            margin-right: 0.5em; }
          .header--navigation .gnav ul li a:after {
            display: none; }
        .header--navigation .gnav ul li:not(:last-child) {
          margin-right: 0; }
        .header--navigation .gnav ul .instagram a {
          display: flex;
          align-items: center;
          width: 100%;
          height: 100%;
          padding: 5vw 0 5vw 10%;
          line-height: 1.0;
          text-decoration: none;
          color: #000; }
          .header--navigation .gnav ul .instagram a .icon {
            max-width: 5%;
            margin-right: 2vw; }
          .header--navigation .gnav ul .instagram a p {
            font-size: 10px;
            font-size: 3.125vw; }
    .header--navigation--under {
      margin-top: 0;
      display: block; }
      .header--navigation--under .instagram {
        display: none;
        margin-right: 18px; }
        .header--navigation--under .instagram a {
          display: flex;
          align-items: center;
          line-height: 1.0;
          color: #000;
          text-decoration: none;
          font-size: 1.4rem; }
          .header--navigation--under .instagram a .icon {
            margin-right: 5px; }
            .header--navigation--under .instagram a .icon img {
              width: 20px; }
      .header--navigation--under .contact {
        height: 70px; }
        .header--navigation--under .contact a {
          line-height: 1.6;
          padding: 0 3vw;
          text-align: center;
          font-size: 11px;
          font-size: 3.4375vw;
          display: flex;
          align-items: center;
          justify-content: center; }

      .header--navigation--under .special-feature {
          display: none;
          margin-right: 18px; }
          .header--navigation--under .special-feature a {
            display: flex;
            align-items: center;
            line-height: 1.0;
            color: #000;
            text-decoration: none;
            font-size: 1.4rem; }

        .sp_special_button{
          background-color: #e2530a;
          display: block;
          align-items: center;
          line-height: 1.0;
          padding: 8px 22px;
          width: 280px;
        }
        
        .sp_special_button a{
          color: #fff !important;

        }

  .footer {
    padding: 170px 0 0 0;
    position: relative;
    margin-top: 25px; }
    .footer--inner {
      max-width: 88%;
      margin: 0 auto;
      padding: 45px 0 25px 0;
      margin-bottom: 60px;
      display: block;
      position: relative;
      border-bottom: 1px solid #bdbdbd; }
      .footer--inner--block {
        width: 100%; }
        .footer--inner--block:nth-of-type(1) {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: space-between; }
          .footer--inner--block:nth-of-type(1) .logo {
            width: 40%; }
            .footer--inner--block:nth-of-type(1) .logo img {
              max-width: 100%; }
          .footer--inner--block:nth-of-type(1) span {
            margin-top: 10px;
            font-size: 10px;
            font-size: 3.125vw; }
          .footer--inner--block:nth-of-type(1) .corp {
            margin-top: 0; }
            .footer--inner--block:nth-of-type(1) .corp a {
              font-size: 10px;
              font-size: 3.125vw; }
          .footer--inner--block:nth-of-type(1) address {
            margin-top: 0;
            font-size: 8px;
            font-size: 2.5vw;
            position: absolute;
            bottom: -10vw;
            left: 0; }
        .footer--inner--block:nth-of-type(2) {
          width: 100%;
          display: block;
          margin-top: 50px; }
          .footer--inner--block:nth-of-type(2) ul {
            border-left: none;
            padding-left: 0;
            padding-right: 0;
            min-height: inherit; }
            .footer--inner--block:nth-of-type(2) ul li a {
              font-size: 10px;
              font-size: 3.125vw; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) {
              width: 100%;
              padding-top: 25px;
              border-top: 1px solid #bdbdbd;
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
              .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) li {
                width: 50%; }
                .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) li:nth-of-type(n+2) {
                  margin-top: 0; }
                .footer--inner--block:nth-of-type(2) ul:nth-of-type(1) li:nth-of-type(n+3) {
                  margin-top: 25px; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(2) {
              width: 100%;
              margin-top: 25px;
              display: flex;
              justify-content: space-between;
              flex-wrap: wrap; }
              .footer--inner--block:nth-of-type(2) ul:nth-of-type(2) li:nth-of-type(n+2) {
                margin-top: 25px;
                width: 50%; }
              .footer--inner--block:nth-of-type(2) ul:nth-of-type(2) li:nth-of-type(1) {
                width: 100%; }
            .footer--inner--block:nth-of-type(2) ul:nth-of-type(3) {
              width: 50%;
              margin-top: 25px; }
              .footer--inner--block:nth-of-type(2) ul:nth-of-type(3) li:nth-of-type(n+2) {
                margin-top: 25px; }
        .footer--inner--block:nth-of-type(3) {
          width: 50%;
          position: absolute;
          right: 0;
          bottom: 25px; }
          .footer--inner--block:nth-of-type(3) .contact {
            height: 100%; }
            .footer--inner--block:nth-of-type(3) .contact a {
              line-height: 1.8;
              letter-spacing: .04em;
              font-size: 12px;
              font-size: 3.75vw;
              padding: 5.5vw 0; }
    .footer #pagetop {
      position: absolute;
      left: 6%;
      bottom: auto;
      top: 0; }
      .footer #pagetop a {
        letter-spacing: .06em;
        font-size: 10px;
        font-size: 3.125vw;
        padding-top: 60px; }
        .footer #pagetop a:before {
          content: '';
          display: block;
          width: 1px;
          height: 40px;
          border-left: 1px solid #000;
          position: absolute;
          left: calc(50% - 2px);
          top: 0; }

  article {
    padding-top: 70px; }

  .lower-page .header--logo {
    height: calc(70px + 250px); }

  .mfp-bg.mfp-ready, .mfp-wrap {
    display: none; }

  .modal-content {
    max-width: 90%;
    margin: 10vw auto; }
    .modal-content .popup-modal-close {
      top: -35px; }
      .modal-content .popup-modal-close span img {
        max-width: 30px; }
    .modal-content--inner {
      padding: 30px 0 30px 0; }
      .modal-content--inner .title p {
        font-size: 12px;
        font-size: 3.75vw; }
      .modal-content--inner .wrap {
        max-width: 90%;
        margin: 30px auto 0 auto;
        display: block; }
        .modal-content--inner .wrap .box {
          max-width: inherit; }
          .modal-content--inner .wrap .box h4 {
            padding-bottom: 10px;
            letter-spacing: 0;
            line-height: 1.4;
            white-space: normal;
            font-size: 11px;
            font-size: 3.4375vw; }
          .modal-content--inner .wrap .box ul {
            margin-top: 10px; }
            .modal-content--inner .wrap .box ul li {
              font-size: 10px;
              font-size: 3.125vw; }
              .modal-content--inner .wrap .box ul li:nth-of-type(n+2) {
                margin-top: 10px; }
          .modal-content--inner .wrap .box:nth-of-type(2) {
            margin-top: 30px; }
      .modal-content--inner .under-text {
        margin: 30px auto 0 auto;
        max-width: 90%; }
        .modal-content--inner .under-text p {
          font-size: 11px;
          font-size: 3.4375vw;
          letter-spacing: 0;
          text-align: left; }
        .modal-content--inner .under-text .name {
          margin-top: 35px;
          font-size: 11px;
          font-size: 3.4375vw; }
        .modal-content--inner .under-text .btn {
          max-width: 80%;
          margin: 25px auto 0 auto; }
          .modal-content--inner .under-text .btn a {
            padding: 10px 0;
            font-size: 11px;
            font-size: 3.4375vw; } }
.top .header--logo {
  height: calc(105px + 668px); }
.top article {
  overflow: hidden;
  font-family: "Noto Serif JP", serif; }
  .top article .main {
    position: relative;
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    height: 668px; }
    .top article .main--title {
      position: absolute;
      z-index: 5;
      text-align: center;
      top: 61.77%;
      left: 50%;
      transform: translateX(-50%); }
      .top article .main--title h2 {
        width: 75.19%;
        min-width: 950px; }
        .top article .main--title h2 img {
          max-width: 100%;
          width: 100%; }
      .top article .main--title p {
        color: #fff;
        font-size: 1.5rem;
        line-height: 1.0;
        margin-top: 20px; }
    .top article .main--slideshow {
      width: 100%;
      height: 100%; }
      .top article .main--slideshow:before {
        content: '';
        display: block;
        padding-top: 52.4%; }
      .top article .main--slideshow ul {
        width: 100%;
        height: 100%; }
        .top article .main--slideshow ul li {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center; }
          .top article .main--slideshow ul li img {
            display: none; }
          .top article .main--slideshow ul li:nth-of-type(1) {
            background-image: url("../images/top/main_slider01_pc.png"); }
          .top article .main--slideshow ul li:nth-of-type(2) {
            background-image: url("../images/top/main_slider02_pc.png"); }
          .top article .main--slideshow ul li:nth-of-type(3) {
            background-image: url("../images/top/main_slider03_pc.png"); }
          .top article .main--slideshow ul li:nth-of-type(4) {
            background-image: url("../images/top/main_slider04_pc.png"); }
          .top article .main--slideshow ul li:nth-of-type(5) {
            background-image: url("../images/top/main_slider05_pc.png"); }
          .top article .main--slideshow ul li:nth-of-type(6) {
            background-image: url("../images/top/main_slider06_pc.png"); }
  .top article .message {
    margin-top: 150px; }
    .top article .message--inner {
      max-width: 960px;
      margin: 0 auto; }
      .top article .message--inner--text h3 {
        line-height: 1.0;
        font-size: 1.4rem; }
      .top article .message--inner--text h2 {
        line-height: 1.0;
        font-size: 3.2rem;
        font-weight: bold;
        margin-top: 45px; }
        .top article .message--inner--text h2 span {
          letter-spacing: -0.2em; }
      .top article .message--inner--text p {
        font-size: 1.8rem;
        margin-top: 45px;
        line-height: 2.0; }
      .top article .message--inner--wrap {
        display: flex;
        justify-content: space-between;
        margin-top: 95px; }
        .top article .message--inner--wrap .box {
          width: 46%; }
          .top article .message--inner--wrap .box a {
            display: block;
            width: 100%;
            height: 100%;
            text-decoration: none;
            color: #000; }
            .top article .message--inner--wrap .box a .image {
              width: 100%;
              height: 200px; }
              .top article .message--inner--wrap .box a .image--inner {
                width: 100%;
                height: 100%;
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center center; }
              .top article .message--inner--wrap .box a .image h3 {
                line-height: 1.0;
                display: inline-block;
                padding: 5px 14px 5px 20px;
                font-size: 2.0rem;
                color: #fff;
                background-color: rgba(0, 0, 0, 0.35);
                margin-top: 15px; }
            .top article .message--inner--wrap .box a p {
              font-size: 1.6rem;
              margin-top: 20px;
              letter-spacing: .02em;
              line-height: 2.0; }
          .top article .message--inner--wrap .box.concept .image--inner {
            background-image: url("../images/top/img_pic01-1.png"); }
          .top article .message--inner--wrap .box.work .image--inner {
            background-image: url("../images/top/img_pic01-2.png"); }
          .top article .message--inner--wrap .box.environment .image--inner {
            background-image: url("../images/top/img_pic01-3.png"); }
          .top article .message--inner--wrap .box.vision .image--inner {
            background-image: url("../images/top/img_pic01-4.png"); }
          .top article .message--inner--wrap .box.soon a {
            pointer-events: none;
            display: inline-block; }
            .top article .message--inner--wrap .box.soon a .image {
              position: relative; }
              .top article .message--inner--wrap .box.soon a .image--inner {
                opacity: .3; }
              .top article .message--inner--wrap .box.soon a .image:before {
                content: 'COMING SOON';
                position: absolute;
                color: #fff;
                font-size: 2.4rem;
                line-height: 1.0;
                display: inline-block;
                background-color: rgba(0, 0, 0, 0.35);
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                white-space: nowrap;
                padding: 5px 10px;
                z-index: 2;
                letter-spacing: .08em; }
  .top article .banner {
    margin-top: 157px; }
    .top article .banner--inner {
      max-width: 1166px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .top article .banner--inner--box {
        width: 46%; }
        .top article .banner--inner--box a {
          display: block;
          width: 100%;
          height: 100%;
          text-decoration: none; }
          .top article .banner--inner--box a .text {
            margin-top: 25px;
            color: #000; }
            .top article .banner--inner--box a .text h2 {
              display: inline-block;
              background-color: #e8f3d5;
              line-height: 1.0;
              padding: 15px 6px;
              letter-spacing: .08em;
              font-size: 2.4rem; }
            .top article .banner--inner--box a .text dl {
              margin-top: 25px; }
              .top article .banner--inner--box a .text dl dt {
                line-height: 1.0;
                letter-spacing: .06em;
                font-size: 1.4rem; }
              .top article .banner--inner--box a .text dl dd {
                font-size: 1.6rem;
                line-height: 2.0;
                margin-top: 10px; }
            .top article .banner--inner--box a .text .more {
              text-align: right;
              margin-top: 25px; }
              .top article .banner--inner--box a .text .more span {
                line-height: 1.0;
                font-size: 1.6rem;
                display: inline-block;
                padding-right: 37px;
                position: relative; }
                .top article .banner--inner--box a .text .more span:after {
                  content: '';
                  display: block;
                  position: absolute;
                  width: 31px;
                  height: 12px;
                  background: url("../images/common/icon_more.png") no-repeat 0 0/cover;
                  right: 0;
                  top: 50%;
                  transform: translateY(-50%);
                  transition: all .3s ease-out;
                  margin-top: 1px; }
          .top article .banner--inner--box a:hover .text .more span:after {
            right: -10px; }
        .top article .banner--inner--box.full {
          width: 100%; }
          .top article .banner--inner--box.full a .text {
            position: relative;
            display: flex;
            align-items: center; }
            .top article .banner--inner--box.full a .text dl, .top article .banner--inner--box.full a .text .more {
              margin-top: 0; }
            .top article .banner--inner--box.full a .text h2 {
              margin-right: 30px; }
            .top article .banner--inner--box.full a .text .more {
              position: absolute;
              bottom: 0;
              right: 0; }
        .top article .banner--inner--box:nth-of-type(n+2) {
          margin-top: 150px; }
        .top article .banner--inner--box.soon a {
          pointer-events: none;
          display: inline-block; }
          .top article .banner--inner--box.soon a .image {
            position: relative; }
            .top article .banner--inner--box.soon a .image--inner {
              opacity: .3; }
            .top article .banner--inner--box.soon a .image:before {
              content: 'COMING SOON';
              position: absolute;
              color: #fff;
              font-size: 2.4rem;
              line-height: 1.0;
              display: inline-block;
              background-color: rgba(0, 0, 0, 0.35);
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              white-space: nowrap;
              padding: 5px 10px;
              z-index: 2;
              letter-spacing: .08em; }
          .top article .banner--inner--box.soon a .text {
            opacity: .3; }
.top .footer {
  margin-top: 150px; }

@media screen and (max-width: 768px) {
  .top article .main--title {
    width: 75.19%; }
    .top article .main--title h2 {
      width: 100%;
      margin: 0 auto;
      min-width: inherit; }
  .top article .message--inner {
    padding: 0 2%; }
    .top article .message--inner--text h2 {
      font-size: 2.8rem; }
    .top article .message--inner--wrap .box a .image h3 {
      font-size: 1.8rem; }
  .top article .banner--inner {
    padding: 0 2%; } }
@media screen and (max-width: 767px) {
  .top {
    overflow: hidden; }
    .top .header--logo {
      height: calc(70px + 450px); }
    .top article .main {
      width: calc(100% - 16.4%);
      height: 450px; }
      .top article .main--title {
        width: 81.74%; }
        .top article .main--title h2 img {
          max-width: 100%; }
        .top article .main--title p {
          font-size: 12px;
          font-size: 3.75vw;
          margin-top: 15px; }
      .top article .main--slideshow:before {
        display: none; }
      .top article .main--slideshow ul li:nth-of-type(1) {
        background-image: url("../images/top/main_slider01_sp.png"); }
      .top article .main--slideshow ul li:nth-of-type(2) {
        background-image: url("../images/top/main_slider02_sp.png"); }
      .top article .main--slideshow ul li:nth-of-type(3) {
        background-image: url("../images/top/main_slider03_sp.png"); }
      .top article .main--slideshow ul li:nth-of-type(4) {
        background-image: url("../images/top/main_slider04_sp.png"); }
      .top article .main--slideshow ul li:nth-of-type(5) {
        background-image: url("../images/top/main_slider05_sp.png"); }
      .top article .main--slideshow ul li:nth-of-type(6) {
        background-image: url("../images/top/main_slider06_sp.png"); }
    .top article .message {
      margin-top: 75px; }
      .top article .message--inner {
        max-width: 90%;
        padding: 0; }
        .top article .message--inner--text h3 {
          line-height: 1.0;
          font-size: 10px;
          font-size: 3.125vw; }
        .top article .message--inner--text h2 {
          line-height: 1.6;
          font-size: 20px;
          font-size: 6.25vw;
          margin-top: 36px;
          letter-spacing: -0.04em;
          white-space: nowrap; }
        .top article .message--inner--text p {
          font-size: 12.5px;
          font-size: 3.90625vw;
          margin-top: 35px;
          line-height: 1.8; }
        .top article .message--inner--wrap {
          display: block;
          margin-top: 75px; }
          .top article .message--inner--wrap .box {
            width: 100%; }
            .top article .message--inner--wrap .box a .image {
              height: 223px; }
              .top article .message--inner--wrap .box a .image h3 {
                padding: 13px 5%;
                font-size: 16px;
                font-size: 5vw; }
            .top article .message--inner--wrap .box a p {
              font-size: 11px;
              font-size: 3.4375vw;
              margin-top: 15px;
              line-height: 1.8; }
            .top article .message--inner--wrap .box:nth-of-type(n+2) {
              margin-top: 50px; }
            .top article .message--inner--wrap .box.soon a .image:before {
              font-size: 18px;
              font-size: 5.625vw;
              padding: 5px 5%;
              letter-spacing: .04em; }
    .top article .banner {
      margin-top: 75px; }
      .top article .banner--inner {
        max-width: 90%;
        display: block;
        padding: 0; }
        .top article .banner--inner--box {
          width: 100%; }
          .top article .banner--inner--box a .text {
            margin-top: 20px; }
            .top article .banner--inner--box a .text h2 {
              padding: 10px 2%;
              letter-spacing: .04em;
              font-size: 16px;
              font-size: 5vw; }
            .top article .banner--inner--box a .text dl {
              margin-top: 12px; }
              .top article .banner--inner--box a .text dl dt {
                letter-spacing: .03em;
                font-size: 10px;
                font-size: 3.125vw; }
              .top article .banner--inner--box a .text dl dd {
                font-size: 11px;
                font-size: 3.4375vw;
                line-height: 1.8; }
            .top article .banner--inner--box a .text .more {
              margin-top: 15px; }
              .top article .banner--inner--box a .text .more span {
                font-size: 11px;
                font-size: 3.4375vw; }
          .top article .banner--inner--box a:hover .text .more span:after {
            right: 0; }
          .top article .banner--inner--box.full a .text {
            display: block;
            align-items: center; }
            .top article .banner--inner--box.full a .text dl {
              margin-top: 12px; }
            .top article .banner--inner--box.full a .text h2 {
              margin-right: 0; }
            .top article .banner--inner--box.full a .text .more {
              position: static;
              margin-top: 15px; }
          .top article .banner--inner--box:nth-of-type(n+2) {
            margin-top: 75px; }
          .top article .banner--inner--box.soon a .image:before {
            font-size: 18px;
            font-size: 5.625vw;
            padding: 5px 5%;
            letter-spacing: .04em; }
    .top .footer {
      margin-top: 25px; } }
.concept article .main {
  width: 100%;
  height: 470px;
  background: url("../images/concept/main_bg.png") no-repeat center center/cover; }
.concept article .lead {
  margin-top: 53px; }
  .concept article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .concept article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .concept article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .concept article .lead--inner--catch {
    text-align: center;
    margin-top: 104px; }
    .concept article .lead--inner--catch h3 {
      line-height: 1.0;
      font-weight: bold;
      letter-spacing: .04em;
      font-size: 4.2rem; }
      .concept article .lead--inner--catch h3 span {
        letter-spacing: -0.4em; }
.concept article .message {
  margin-top: 100px; }
  .concept article .message--block {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .concept article .message--block .image {
      width: 36.6%;
      height: 600px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      .concept article .message--block .image img {
        display: none; }
    .concept article .message--block .text {
      width: 63.4%;
      display: flex;
      justify-content: center;
      padding: 0 2%; }
      .concept article .message--block .text p {
        font-size: 1.8rem;
        line-height: 2.0; }
    .concept article .message--block:nth-of-type(odd) {
      flex-direction: row-reverse; }
    .concept article .message--block:nth-of-type(n+2) {
      margin-top: 100px; }
    .concept article .message--block:nth-of-type(1) .image {
      background-image: url("../images/concept/img_pic01.png"); }
    .concept article .message--block:nth-of-type(2) .image {
      background-image: url("../images/concept/img_pic02.png"); }
    .concept article .message--block:nth-of-type(3) .image {
      background-image: url("../images/concept/img_pic03.png"); }
    .concept article .message--block:nth-of-type(4) .image {
      background-image: url("../images/concept/img_pic04.png"); }
.concept article .banner {
  margin-top: 150px; }
  .concept article .banner--inner {
    max-width: 1166px;
    margin: 0 auto; }
    .concept article .banner--inner dl {
      text-align: center; }
      .concept article .banner--inner dl dt, .concept article .banner--inner dl dd {
        font-size: 2.0rem; }
      .concept article .banner--inner dl dt {
        line-height: 1.0; }
      .concept article .banner--inner dl dd {
        margin-top: 20px;
        line-height: 2.0; }
    .concept article .banner--inner--link {
      margin-top: 50px; }
      .concept article .banner--inner--link a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: #000; }
        .concept article .banner--inner--link a .more {
          text-align: right;
          margin-top: 20px; }
          .concept article .banner--inner--link a .more span {
            line-height: 1.0;
            font-size: 1.6rem;
            display: inline-block;
            padding-right: 37px;
            position: relative; }
            .concept article .banner--inner--link a .more span:after {
              content: '';
              display: block;
              position: absolute;
              width: 31px;
              height: 12px;
              background: url("../images/common/icon_more.png") no-repeat 0 0/cover;
              right: 0;
              top: 50%;
              transform: translateY(-50%);
              transition: all .3s ease-out;
              margin-top: 1px; }
        .concept article .banner--inner--link a:hover .more span:after {
          right: -10px; }
      .concept article .banner--inner--link.soon a {
        pointer-events: none;
        display: inline-block; }
        .concept article .banner--inner--link.soon a .image {
          position: relative; }
          .concept article .banner--inner--link.soon a .image--inner {
            opacity: .3; }
          .concept article .banner--inner--link.soon a .image:before {
            content: 'COMING SOON';
            position: absolute;
            color: #fff;
            font-size: 2.4rem;
            line-height: 1.0;
            display: inline-block;
            background-color: rgba(0, 0, 0, 0.35);
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            white-space: nowrap;
            padding: 5px 10px;
            z-index: 2;
            letter-spacing: .08em; }
        .concept article .banner--inner--link.soon a .more {
          opacity: .3; }
.concept .footer {
  margin-top: 154px; }

@media screen and (max-width: 768px) {
  .concept article .lead--inner--catch h3 {
    font-size: 3.4rem; }
  .concept article .message--block .text p {
    font-size: 1.6rem; }
  .concept article .banner--inner {
    padding: 0 2%; } }
@media screen and (max-width: 767px) {
  .concept article .main {
    height: 250px; }
  .concept article .lead {
    margin-top: 25px; }
    .concept article .lead--inner--title {
      width: calc(100% - 16.4%); }
      .concept article .lead--inner--title h2 {
        padding: 10px 5%;
        margin-right: 5%;
        font-size: 16px;
        font-size: 5vw; }
      .concept article .lead--inner--title p {
        letter-spacing: .03em;
        font-size: 12px;
        font-size: 3.75vw; }
    .concept article .lead--inner--catch {
      margin-top: 50px; }
      .concept article .lead--inner--catch h3 {
        letter-spacing: .02em;
        font-size: 20px;
        font-size: 6.25vw;
        line-height: 1.6; }
  .concept article .message {
    margin-top: 50px; }
    .concept article .message--block {
      display: block; }
      .concept article .message--block .image {
        width: 100%;
        height: 100vw; }
      .concept article .message--block .text {
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 0 5%;
        margin-top: 30px; }
        .concept article .message--block .text p {
          font-size: 14px;
          font-size: 4.375vw;
          line-height: 1.8; }
      .concept article .message--block:nth-of-type(n+2) {
        margin-top: 50px; }
  .concept article .banner {
    margin-top: 75px; }
    .concept article .banner--inner {
      max-width: 90%;
      padding: 0; }
      .concept article .banner--inner dl dt, .concept article .banner--inner dl dd {
        font-size: 16px;
        font-size: 5vw; }
      .concept article .banner--inner dl dd {
        margin-top: 10px;
        line-height: 1.8; }
      .concept article .banner--inner--link {
        margin-top: 25px; }
        .concept article .banner--inner--link a .more {
          margin-top: 15px; }
          .concept article .banner--inner--link a .more span {
            font-size: 11px;
            font-size: 3.4375vw; }
        .concept article .banner--inner--link a:hover .more span:after {
          right: 0; }
        .concept article .banner--inner--link.soon a {
          pointer-events: none;
          display: inline-block; }
          .concept article .banner--inner--link.soon a .image {
            position: relative; }
            .concept article .banner--inner--link.soon a .image--inner {
              opacity: .3; }
            .concept article .banner--inner--link.soon a .image:before {
              font-size: 18px;
              font-size: 5.625vw;
              padding: 5px 5%;
              letter-spacing: .04em; }
  .concept .footer {
    margin-top: 25px; } }
.information article .main {
  width: calc(100% - 100px);
  margin: 0 0 0 auto; }
  .information article .main--inner {
    width: 100%;
    height: 470px;
    background: url("../images/info/main_bg.png") no-repeat center center/cover; }
.information article .leader--title {
  width: calc(100% - 100px);
  margin: 0 0 0 auto;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: .1rem;
  margin-top: 52px; }
  .information article .leader--title span {
    font-size: 2.4rem;
    background-color: #e8f3d5;
    padding: 11px 6px;
    display: inline-block;
    vertical-align: sub;
    margin-right: 45px; }
.information article .leader--anchor {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  .information article .leader--anchor .btn {
    width: 26%;
    margin: 50px 0 22px;
    border-bottom: 1px solid #000; }
    .information article .leader--anchor .btn a {
      width: 100%;
      height: 100%;
      display: block;
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: .1rem;
      text-align: center;
      padding-bottom: 8px;
      text-decoration: none;
      color: #000;
      position: relative; }
      .information article .leader--anchor .btn a:after {
        content: '';
        display: block;
        width: 14px;
        height: 14px;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        position: absolute;
        bottom: -22px;
        left: 50%;
        transform: rotate(45deg) translateX(-50%); }
.information article .wanted--inner {
  max-width: 1024px;
  margin: 100px auto 0;
  background-color: #eee;
  padding-bottom: 50px; }
  .information article .wanted--inner--block {
    max-width: 93.8%;
    margin: 0 auto;
    text-align: center;
    padding: 50px 0;
    border-top: 1px solid #fff; }
    .information article .wanted--inner--block:first-child {
      border-top: none; }
    .information article .wanted--inner--block--leader h2 {
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: .1rem; }
    .information article .wanted--inner--block--leader p {
      font-size: 1.4rem;
      line-height: 1.8;
      margin-top: 42px; }
      .information article .wanted--inner--block--leader p span {
        color: #008742; }
    .information article .wanted--inner--block .title span {
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: .1rem;
      padding: 10px;
      display: inline-block;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000; }
    .information article .wanted--inner--block .container01 {
      max-width: 565px;
      margin: 50px auto 0;
      display: flex;
      justify-content: space-between; }
      .information article .wanted--inner--block .container01--box {
        width: 148px;
        height: 148px;
        border-radius: 50%;
        background-color: #fff;
        position: relative; }
        .information article .wanted--inner--block .container01--box p {
          font-size: 1.6rem;
          line-height: 1;
          letter-spacing: .1rem;
          color: #008742;
          margin-top: 26px; }
          .information article .wanted--inner--block .container01--box p span {
            display: block;
            color: #000;
            line-height: 1.4;
            letter-spacing: -.05rem;
            margin-top: 20px; }
            .information article .wanted--inner--block .container01--box p span.m30 {
              margin-top: 30px; }
        .information article .wanted--inner--block .container01--box:after {
          content: '';
          display: block;
          width: 14px;
          height: 14px;
          border-right: 1px solid #000;
          border-bottom: 1px solid #000;
          position: absolute;
          bottom: 40%;
          left: -35px;
          transform: rotate(-45deg) translateY(-50%); }
        .information article .wanted--inner--block .container01--box:first-child:after {
          display: none; }
    .information article .wanted--inner--block .container02 {
      max-width: 740px;
      margin: 75px auto 0;
      background-color: #fff;
      padding: 50px 34px; }
      .information article .wanted--inner--block .container02 h4 {
        font-size: 1.8rem;
        line-height: 1;
        letter-spacing: .1rem;
        background-color: #e8f3d5;
        padding: 10px;
        display: inline-block; }
      .information article .wanted--inner--block .container02 p {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 12px; }
    .information article .wanted--inner--block .container03 h4 {
      font-size: 1.8rem;
      line-height: 1;
      color: #008742;
      margin-top: 45px; }
    .information article .wanted--inner--block .container03 ul {
      margin-top: 50px; }
      .information article .wanted--inner--block .container03 ul li.wanted-statue {
        display: block;
        background-color: #fff;
        color: #008742;
        font-size: 1.5rem;
        font-weight: bold;
        max-width: 700px;
        margin: 0 auto;
        padding: 10px 0;
        margin-top: 25px; }
    .information article .wanted--inner--block .container03 p {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: .1rem;
      margin-top: 22px; }
    .information article .wanted--inner--block .container03 .wanted-list {
      margin-top: 30px; }
      .information article .wanted--inner--block .container03 .wanted-list ul {
        display: flex;
        justify-content: space-between;
        max-width: 700px;
        width: 100%;
        margin: 0 auto; }
        .information article .wanted--inner--block .container03 .wanted-list ul li {
          display: inline-block;
          text-align: center;
          line-height: 1.0;
          letter-spacing: -0.04rem;
          font-size: 1.5rem;
          font-weight: bold;
          color: #008742;
          padding: 12px 0;
          width: 120px;
          background-color: #fff;
          margin-top: 20px; }
.information article .guide--inner {
  max-width: 1024px;
  margin: 0 auto; }
  .information article .guide--inner .title {
    font-size: 1.8rem;
    line-height: 1;
    letter-spacing: .1rem;
    text-align: center;
    background-color: #e8f3d5;
    padding: 11px 0;
    margin-top: 100px; }
  .information article .guide--inner table {
    font-size: 1.4rem;
    line-height: 1.8;
    margin-top: 20px; }
    .information article .guide--inner table tr {
      border-bottom: 1px solid #e8f3d5; }
      .information article .guide--inner table tr th, .information article .guide--inner table tr td {
        padding: 30px 0; }
      .information article .guide--inner table tr th {
        width: 11.1%;
        font-weight: bold;
        letter-spacing: .2rem;
        color: #008840;
        vertical-align: top;
        padding-left: 2em;
        text-align: justify;
        -moz-text-align-last: justify;
        text-align-last: justify; }
      .information article .guide--inner table tr td {
        width: 88.9%;
        padding-left: 1.5em; }
        .information article .guide--inner table tr td .table {
          border-top: 1px dotted #e8f3d5;
          border-bottom: 1px dotted #e8f3d5;
          margin: 15px 0; }
          .information article .guide--inner table tr td .table dl {
            border-top: 1px dotted #e8f3d5;
            padding: 15px 0;
            display: flex; }
            .information article .guide--inner table tr td .table dl dt {
              width: 13.2%;
              padding-left: .5em; }
            .information article .guide--inner table tr td .table dl dd {
              width: 86.8%; }
              .information article .guide--inner table tr td .table dl dd ul li {
                padding-left: 1em;
                text-indent: -1em; }
        .information article .guide--inner table tr td a {
          color: #008840; }
.information article .entry--inner {
  max-width: 1024px;
  margin: 100px auto 0;
  background-color: #eee;
  padding-bottom: 50px; }
  .information article .entry--inner--block {
    max-width: 93.8%;
    margin: 0 auto;
    text-align: center;
    padding: 50px 0;
    border-top: 1px solid #fff; }
    .information article .entry--inner--block:first-child {
      border-top: none; }
    .information article .entry--inner--block--leader h2 {
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: .1rem; }
    .information article .entry--inner--block--leader p {
      font-size: 1.4rem;
      line-height: 1.8;
      margin-top: 42px; }
    .information article .entry--inner--block .title span {
      font-size: 1.8rem;
      line-height: 1;
      letter-spacing: .1rem;
      padding: 10px;
      display: inline-block;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000; }
    .information article .entry--inner--block .container01 {
      max-width: 565px;
      margin: 50px auto 0;
      display: flex;
      justify-content: space-between; }
      .information article .entry--inner--block .container01--box {
        width: 148px;
        height: 148px;
        border-radius: 50%;
        background-color: #fff;
        position: relative; }
        .information article .entry--inner--block .container01--box p {
          font-size: 1.6rem;
          line-height: 1;
          letter-spacing: .1rem;
          color: #008742;
          margin-top: 26px; }
          .information article .entry--inner--block .container01--box p span {
            display: block;
            color: #000;
            line-height: 1.4;
            letter-spacing: -.05rem;
            margin-top: 20px; }
            .information article .entry--inner--block .container01--box p span.m30 {
              margin-top: 30px; }
        .information article .entry--inner--block .container01--box:after {
          content: '';
          display: block;
          width: 14px;
          height: 14px;
          border-right: 1px solid #000;
          border-bottom: 1px solid #000;
          position: absolute;
          bottom: 40%;
          left: -35px;
          transform: rotate(-45deg) translateY(-50%); }
        .information article .entry--inner--block .container01--box:first-child:after {
          display: none; }
    .information article .entry--inner--block .container02 {
      max-width: 740px;
      margin: 75px auto 0;
      background-color: #fff;
      padding: 50px 34px; }
      .information article .entry--inner--block .container02 h4 {
        font-size: 1.8rem;
        line-height: 1;
        letter-spacing: .1rem;
        background-color: #e8f3d5;
        padding: 10px;
        display: inline-block; }
      .information article .entry--inner--block .container02 p {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 12px; }
    .information article .entry--inner--block .container03 h4 {
      font-size: 1.8rem;
      line-height: 1;
      color: #008742;
      margin-top: 45px; }
    .information article .entry--inner--block .container03 p {
      font-size: 1.4rem;
      line-height: 1.8;
      letter-spacing: .1rem;
      margin-top: 22px; }
    .information article .entry--inner--block .container03 .tel {
      font-size: 2.0rem;
      line-height: 1;
      letter-spacing: .1rem;
      margin-top: 18px; }
.information .footer {
  margin-top: 150px; }

@media screen and (max-width: 768px) {
  .information article .guide--inner {
    max-width: 90%; }
    .information article .guide--inner table tr th {
      width: 18%; }
    .information article .guide--inner table tr td {
      width: 82%; }
  .information article .entry--inner {
    max-width: 90%; } }
@media screen and (max-width: 767px) {
  .information {
    overflow: hidden; }
    .information article .main {
      width: calc(100% - 16.4%);
      height: 250px !important; }
      .information article .main--inner {
        height: 250px;
        background: url("../images/info/main_bg.png") no-repeat 90% center/cover; }
    .information article .leader--title {
      width: calc(100% - 16.4%);
      font-size: 3.7vw;
      margin-top: 26px; }
      .information article .leader--title span {
        font-size: 6.4vw;
        padding: 11px 6px;
        margin-right: 23px; }
    .information article .leader--anchor {
      max-width: 90%; }
      .information article .leader--anchor .btn {
        width: 32%; }
        .information article .leader--anchor .btn a {
          font-size: 4.0vw; }
    .information article .wanted--inner--block .container03 .wanted-list {
      margin-top: 30px; }
      .information article .wanted--inner--block .container03 .wanted-list ul {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto; }
        .information article .wanted--inner--block .container03 .wanted-list ul li {
          display: inline-block;
          text-align: center;
          line-height: 1.0;
          letter-spacing: -0.04rem;
          font-size: 1.5rem;
          font-weight: bold;
          color: #008742;
          padding: 12px 0;
          width: 29vw;
          background-color: #fff;
          margin-top: 20px;
          margin-right: 0.5vw;
          margin-left: 0.5vw; }
    .information article .guide--inner .title {
      font-size: 4.8vw;
      margin-top: 50px; }
    .information article .guide--inner table {
      font-size: 3.7vw;
      margin-top: 10px; }
      .information article .guide--inner table tr th {
        width: 25%;
        padding-left: 0; }
      .information article .guide--inner table tr td {
        width: 75%; }
        .information article .guide--inner table tr td .table {
          margin: 15px 0; }
          .information article .guide--inner table tr td .table dl dt {
            width: 40%; }
          .information article .guide--inner table tr td .table dl dd {
            width: 60%; }
    .information article .entry--inner {
      margin: 50px auto 0;
      padding-bottom: 25px; }
      .information article .entry--inner--block {
        padding: 35px 0; }
        .information article .entry--inner--block--leader h2 {
          font-size: 4.8vw; }
        .information article .entry--inner--block--leader p {
          font-size: 3.7vw;
          margin-top: 21px; }
        .information article .entry--inner--block .title span {
          font-size: 4.8vw;
          padding: 10px; }
        .information article .entry--inner--block .container01 {
          max-width: 100%;
          margin: 25px auto 0; }
          .information article .entry--inner--block .container01--box {
            width: 90px;
            height: 90px; }
            .information article .entry--inner--block .container01--box p {
              font-size: 3.0vw;
              margin-top: 13px; }
              .information article .entry--inner--block .container01--box p span {
                line-height: 1.2;
                margin-top: 10px; }
                .information article .entry--inner--block .container01--box p span.m30 {
                  margin-top: 15px; }
            .information article .entry--inner--block .container01--box:after {
              width: 10px;
              height: 10px;
              left: -16px; }
        .information article .entry--inner--block .container02 {
          max-width: 740px;
          margin: 38px auto 0;
          padding: 25px 0; }
          .information article .entry--inner--block .container02 h4 {
            font-size: 4.8vw;
            padding: 10px; }
          .information article .entry--inner--block .container02 p {
            font-size: 3.7vw;
            margin-top: 20px; }
        .information article .entry--inner--block .container03 h4 {
          font-size: 4.8vw;
          margin-top: 40px; }
        .information article .entry--inner--block .container03 p {
          font-size: 3.7vw;
          margin-top: 18px; }
        .information article .entry--inner--block .container03 .tel {
          font-size: 5.3vw; }
    .information .footer {
      margin-top: 25px; } }
@media screen and (max-width: 320px) {
  .information article .entry--inner--block .container01--box {
    width: 75px;
    height: 75px; }
    .information article .entry--inner--block .container01--box p {
      font-size: 2.3vw; } }
.person-index article .main {
  width: 92.7%;
  height: 540px;
  background: url("../images/person/index/main_bg.png") no-repeat 0 0/cover;
  margin-left: auto; }
.person-index article .lead {
  margin-top: 53px; }
  .person-index article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .person-index article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .person-index article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .person-index article .lead--inner--texts {
    max-width: 960px;
    margin: 100px auto 0; }
    .person-index article .lead--inner--texts h3 {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1.0;
      letter-spacing: .1em; }
      .person-index article .lead--inner--texts h3 span {
        letter-spacing: -.4em; }
    .person-index article .lead--inner--texts p {
      font-size: 1.8rem;
      line-height: 2;
      letter-spacing: .1em;
      margin-top: 55px; }
.person-index article .banner {
  max-width: 1166px;
  margin: 0 auto; }
  .person-index article .banner--inner--wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    .person-index article .banner--inner--wrap--box {
      width: 27.4%;
      margin: 130px 8.9% 0 0; }
      .person-index article .banner--inner--wrap--box a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: #000; }
        .person-index article .banner--inner--wrap--box a .image {
          width: 100%;
          height: 320px; }
          .person-index article .banner--inner--wrap--box a .image .number {
            font-size: 3.2rem;
            line-height: 1;
            letter-spacing: .1em;
            background-color: #fff;
            padding: 20px;
            display: inline-block; }
        .person-index article .banner--inner--wrap--box a .title {
          font-size: 2.0rem;
          line-height: 1.5;
          letter-spacing: .1em;
          margin-top: 20px; }
        .person-index article .banner--inner--wrap--box a .profile dt, .person-index article .banner--inner--wrap--box a .profile dd {
          line-height: 1.0;
          color: #008742; }
        .person-index article .banner--inner--wrap--box a .profile dt {
          font-size: 2.0rem;
          font-weight: bold;
          margin-top: 20px; }
        .person-index article .banner--inner--wrap--box a .profile dd {
          font-size: 1.4rem;
          margin-top: 10px; }
      .person-index article .banner--inner--wrap--box:nth-of-type(3n) {
        margin-right: 0; }
      .person-index article .banner--inner--wrap--box.b01 a .image {
        background: url("../images/person/index/img_pic01.png") no-repeat center center/cover; }
      .person-index article .banner--inner--wrap--box.b02 a .image {
        background: url("../images/person/index/img_pic02.png") no-repeat center center/cover; }
      .person-index article .banner--inner--wrap--box.b03 a .image {
        background: url("../images/person/index/img_pic03.png") no-repeat center center/cover; }
      .person-index article .banner--inner--wrap--box.b04 a .image {
        background: url("../images/person/index/img_pic04.png") no-repeat center center/cover; }
      .person-index article .banner--inner--wrap--box.b05 a .image {
        background: url("../images/person/index/img_pic05.png") no-repeat center center/cover; }
        .person-index article .banner--inner--wrap--box.b06 a .image {
        background: url("../images/person/index/img_pic06.png") no-repeat center center/cover; }
        .person-index article .banner--inner--wrap--box.b07 a .image {
        background: url("../images/person/index/img_pic07.png") no-repeat center center/cover; }
        .person-index article .banner--inner--wrap--box.b08 a .image {
        background: url("../images/person/index/img_pic08.png") no-repeat center center/cover; }
        .person-index article .banner--inner--wrap--box.b09 a .image {
        background: url("../images/person/index/img_pic09.png") no-repeat center center/cover; }
      .person-index article .banner--inner--wrap--box.soon {
        position: relative; }
        .person-index article .banner--inner--wrap--box.soon a {
          pointer-events: none;
          display: inline-block;
          opacity: .3; }
        .person-index article .banner--inner--wrap--box.soon:before {
          content: 'COMING SOON';
          position: absolute;
          color: #fff;
          font-size: 2.4rem;
          line-height: 1.0;
          display: inline-block;
          background-color: rgba(0, 0, 0, 0.35);
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          white-space: nowrap;
          padding: 5px 10px;
          z-index: 2;
          letter-spacing: .08em; }
.person-index .footer {
  margin-top: 154px; }

.person .header--logo {
  height: calc(105px + 718px); }
.person article .main {
  width: 92.7%;
  height: 718px;
  margin-left: auto;
  position: relative; }
  .person article .main .title {
    position: absolute;
    bottom: 100px;
    left: 8%;
    color: #fff; }
    .person article .main .title dl {
      letter-spacing: .1em; }
      .person article .main .title dl dt {
        font-size: 2.4rem;
        line-height: 1.0;
        text-shadow: 0px 0px 3px #adadad; }
      .person article .main .title dl dd {
        font-size: 5.0rem;
        line-height: 1.5;
        margin-top: 15px;
        text-shadow: 0px 0px 3px #adadad;
       }
.person article .lead--inner {
  max-width: 960px;
  margin: 0 auto; }
  .person article .lead--inner--profile h2 {
    font-size: 3.0rem;
    line-height: 1;
    letter-spacing: .1em;
    margin-top: 100px; }
    .person article .lead--inner--profile h2 span {
      font-size: 1.8rem;
      padding-left: 1em; }
  .person article .lead--inner--profile .texts {
    margin-top: 60px; }
    .person article .lead--inner--profile .texts dl {
      font-size: 1.6rem;
      line-height: 1.8;
      display: flex;
      justify-content: space-between; }
      .person article .lead--inner--profile .texts dl dt {
        width: 20.4%; }
      .person article .lead--inner--profile .texts dl dd {
        width: 79.6%;
        border-left: 1px solid #000;
        padding-left: 50px;
        text-align: justify; }
.person article .contents--inner {
  margin-top: 50px; }
  .person article .contents--inner--box {
    margin-top: 100px; }
    .person article .contents--inner--box .image {
      width: 73.2%;
      height: 500px; }
      .person article .contents--inner--box .image img {
        display: none; }
    .person article .contents--inner--box .texts {
      width: 70.3%;
      margin: 0 auto; }
      .person article .contents--inner--box .texts h3 {
        font-size: 2.8rem;
        line-height: 1.5;
        letter-spacing: .1em;
        margin-top: 100px; }
      .person article .contents--inner--box .texts p {
        font-size: 1.6rem;
        line-height: 1.8;
        text-align: justify;
        margin-top: 100px; }
      .person article .contents--inner--box .texts .picture {
        margin-top: 95px; }
    .person article .contents--inner--box:nth-of-type(odd) .texts {
      padding-right: 11.8%; }
    .person article .contents--inner--box:nth-of-type(even) .image {
      margin-left: auto; }
    .person article .contents--inner--box:nth-of-type(even) .texts {
      padding-left: 11.8%; }
.person article .under-content .image {
  width: 100%;
  height: 600px;
  margin-top: 95px; }
.person article .under-content--inner {
  max-width: 960px;
  margin: 0 auto; }
  .person article .under-content--inner .comment {
    font-size: 1.6rem;
    text-align: right;
    margin-top: 50px; }
  .person article .under-content--inner .btn {
    max-width: 400px;
    margin: 90px auto 0; }
    .person article .under-content--inner .btn a {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
      background-color: #eee;
      color: #000;
      font-size: 1.6rem;
      line-height: 1;
      letter-spacing: .1em;
      text-align: center;
      padding: 32px 0; }
      .person article .under-content--inner .btn a span {
        display: inline-block;
        padding-right: 37px;
        position: relative; }
        .person article .under-content--inner .btn a span:after {
          content: '';
          display: block;
          position: absolute;
          width: 31px;
          height: 12px;
          background: url("../images/common/icon_more.png") no-repeat 0 0/cover;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          transition: all .3s ease-out;
          margin-top: 1px; }
      .person article .under-content--inner .btn a:hover span:after {
        right: -10px; }
.person .footer {
  margin-top: 154px; }

.person01 article .main {
  background: url("../images/person/01/main_bg.png") no-repeat center center/cover; }
.person01 article .contents--inner--box:nth-of-type(1) .image {
  background: url("../images/person/01/img_pic01.png") no-repeat center center/cover; }
.person01 article .contents--inner--box:nth-of-type(2) .image {
  background: url("../images/person/01/img_pic02.png") no-repeat center center/cover; }
.person01 article .under-content .image {
  background: url("../images/person/01/img_pic04.png") no-repeat center center/cover; }

.person02 article .main {
  background: url("../images/person/02/main_bg.png") no-repeat center center/cover; }
.person02 article .contents--inner--box:nth-of-type(1) .image {
  background: url("../images/person/02/img_pic01.png") no-repeat center center/cover; }
.person02 article .contents--inner--box:nth-of-type(2) .image {
  background: url("../images/person/02/img_pic02.png") no-repeat center center/cover; }
.person02 article .under-content .image {
  background: url("../images/person/02/img_pic04.png") no-repeat center center/cover; }

.person03 article .main {
  background: url("../images/person/03/main_bg.png") no-repeat center center/cover; }
.person03 article .contents--inner--box:nth-of-type(1) .image {
  background: url("../images/person/03/img_pic01.png") no-repeat center center/cover; }
.person03 article .contents--inner--box:nth-of-type(2) .image {
  background: url("../images/person/03/img_pic02.png") no-repeat center center/cover; }
.person03 article .under-content .image {
  background: url("../images/person/03/img_pic04.png") no-repeat center center/cover; }

.person04 article .main {
  background: url("../images/person/04/main_bg.png") no-repeat center center/cover; }
.person04 article .contents--inner--box:nth-of-type(1) .image {
  background: url("../images/person/04/img_pic01.png") no-repeat center center/cover; }
.person04 article .contents--inner--box:nth-of-type(2) .image {
  background: url("../images/person/04/img_pic02.png") no-repeat center center/cover; }
.person04 article .under-content .image {
  background: url("../images/person/04/img_pic04.png") no-repeat center center/cover; }

.person05 article .main {
  background: url("../images/person/05/main_bg.png") no-repeat center center/cover; }
.person05 article .contents--inner--box:nth-of-type(1) .image {
  background: url("../images/person/05/img_pic01.png") no-repeat center center/cover; }
.person05 article .contents--inner--box:nth-of-type(2) .image {
  background: url("../images/person/05/img_pic02.png") no-repeat center center/cover; }
.person05 article .under-content .image {
  background: url("../images/person/05/img_pic04.png") no-repeat center center/cover; }

.person06 article .main {
    background: url("../images/person/06/main_bg.png") no-repeat center center/cover; }
  .person06 article .contents--inner--box:nth-of-type(1) .image {
    background: url("../images/person/06/img_pic01.png") no-repeat center center/cover; }
  .person06 article .contents--inner--box:nth-of-type(2) .image {
    background: url("../images/person/06/img_pic02.png") no-repeat center center/cover; }
  .person06 article .under-content .image {
    background: url("../images/person/06/img_pic04.png") no-repeat center center/cover; }

.person07 article .main {
      background: url("../images/person/07/main_bg.png") no-repeat center center/cover; }
    .person07 article .contents--inner--box:nth-of-type(1) .image {
      background: url("../images/person/07/img_pic01.png") no-repeat center center/cover; }
    .person07 article .contents--inner--box:nth-of-type(2) .image {
      background: url("../images/person/07/img_pic02.png") no-repeat center center/cover; }
    .person07 article .under-content .image {
      background: url("../images/person/07/img_pic04.png") no-repeat center center/cover; }

.person08 article .main {
        background: url("../images/person/08/main_bg.png") no-repeat center center/cover; }
      .person08 article .contents--inner--box:nth-of-type(1) .image {
        background: url("../images/person/08/img_pic01.png") no-repeat center center/cover; }
      .person08 article .contents--inner--box:nth-of-type(2) .image {
        background: url("../images/person/08/img_pic02.png") no-repeat center center/cover; }
      .person08 article .under-content .image {
        background: url("../images/person/08/img_pic04.png") no-repeat center center/cover; }

.person09 article .main {
          background: url("../images/person/09/main_bg.png") no-repeat center center/cover; }
        .person09 article .contents--inner--box:nth-of-type(1) .image {
          background: url("../images/person/09/img_pic01.png") no-repeat center center/cover; }
        .person09 article .contents--inner--box:nth-of-type(2) .image {
          background: url("../images/person/09/img_pic02.png") no-repeat center center/cover; }
        .person09 article .under-content .image {
          background: url("../images/person/09/img_pic04.png") no-repeat center center/cover; }

@media screen and (max-width: 768px) {
  .person-index article .lead--inner--texts {
    max-width: 70.3%; }
    .person-index article .lead--inner--texts h3 {
      font-size: 2.1rem; }
    .person-index article .lead--inner--texts p {
      font-size: 1.3rem; }
  .person-index article .banner {
    max-width: 90%; }
    .person-index article .banner--inner--wrap--box a .image {
      height: 190px; }
      .person-index article .banner--inner--wrap--box a .image .number {
        font-size: 1.6rem;
        padding: 10px; }
    .person-index article .banner--inner--wrap--box a .title {
      font-size: 1.4rem;
      letter-spacing: 0; }
    .person-index article .banner--inner--wrap--box a .profile dt {
      font-size: 1.2rem; }
    .person-index article .banner--inner--wrap--box a .profile dd {
      font-size: 1.0rem; }
    .person-index article .banner--inner--wrap--box.soon:before {
      font-size: 1.8rem; }

  .person article .main .title {
    left: 12%; }
    .person article .main .title dl dd {
      font-size: 4.5rem;
      text-shadow: 0px 0px 3px #adadad; }
  .person article .lead--inner {
    max-width: 90%; }
    .person article .lead--inner--profile .texts dl dt {
      width: 28%; }
    .person article .lead--inner--profile .texts dl dd {
      width: 72%; }
  .person article .contents--inner--box .image {
    height: 300px; }
  .person article .contents--inner--box .texts h3 {
    font-size: 2.1rem; }
  .person article .under-content .image {
    height: 360px; }
  .person article .under-content--inner {
    max-width: 90%; }

  .person03 article .main {
    background: url("../images/person/03/main_bg.png") no-repeat 65% center/cover; } }
@media screen and (max-width: 767px) {
  .person-index article .main {
    width: 83.7%;
    height: 70vw;
    background: url("../images/person/index/main_bg_sp.png") no-repeat 0 0/cover; }
  .person-index article .lead {
    margin-top: 25px; }
    .person-index article .lead--inner--title {
      width: calc(100% - 16.4%); }
      .person-index article .lead--inner--title h2 {
        padding: 10px 5%;
        margin-right: 5%;
        font-size: 16px;
        font-size: 5vw; }
      .person-index article .lead--inner--title p {
        letter-spacing: .03em;
        font-size: 12px;
        font-size: 3.75vw; }
    .person-index article .lead--inner--texts {
      max-width: 90%;
      margin: 50px auto 0; }
      .person-index article .lead--inner--texts h3 {
        letter-spacing: .02em;
        font-size: 24px;
        font-size: 7.5vw;
        line-height: 1.6; }
      .person-index article .lead--inner--texts p {
        font-size: 14px;
        font-size: 4.375vw;
        margin-top: 28px; }
  .person-index article .banner {
    max-width: 90%; }
    .person-index article .banner--inner--wrap {
      justify-content: space-between; }
      .person-index article .banner--inner--wrap--box {
        width: 48.5%;
        margin: 65px 0% 0 0; }
        .person-index article .banner--inner--wrap--box a .image {
          height: 164px; }
          .person-index article .banner--inner--wrap--box a .image .number {
            font-size: 16px;
            font-size: 5vw;
            padding: 10px; }
        .person-index article .banner--inner--wrap--box a .title {
          font-size: 10.5px;
          font-size: 3.28125vw;
          margin-top: 10px; }
        .person-index article .banner--inner--wrap--box a .profile dt {
          font-size: 10px;
          font-size: 3.125vw;
          margin-top: 10px; }
        .person-index article .banner--inner--wrap--box a .profile dd {
          font-size: 8px;
          font-size: 2.5vw;
          margin-top: 5px; }
        .person-index article .banner--inner--wrap--box.soon:before {
          font-size: 12px;
          font-size: 3.75vw; }
  .person-index .footer {
    margin-top: 25px; }

  .person .header--logo {
    height: calc(105px + 320px); }
  .person article .main {
    width: 83.7%;
    height: 350px; }
    .person article .main .title {
      bottom: 30px;
      left: 8%; }
      .person article .main .title dl dt {
        font-size: 3.2vw;
        text-shadow: 0px 0px 3px #adadad; }
      .person article .main .title dl dd {
        font-size: 6.6vw;
        margin-top: 8px;
        text-shadow: 0px 0px 3px #adadad;
       }
  .person article .lead--inner--profile h2 {
    font-size: 4.5vw;
    margin-top: 50px; }
    .person article .lead--inner--profile h2 span {
      font-size: 2.9vw; }
  .person article .lead--inner--profile .texts {
    margin-top: 30px; }
    .person article .lead--inner--profile .texts dl {
      font-size: 2.6vw; }
      .person article .lead--inner--profile .texts dl dt {
        width: 30%; }
      .person article .lead--inner--profile .texts dl dd {
        width: 70%;
        padding-left: 15px; }
  .person article .contents--inner {
    margin-top: 25px; }
    .person article .contents--inner--box {
      margin-top: 50px; }
      .person article .contents--inner--box .image {
        width: 85%;
        height: 225px; }
      .person article .contents--inner--box .texts {
        width: 85%; }
        .person article .contents--inner--box .texts h3 {
          font-size: 4.5vw;
          margin-top: 50px; }
        .person article .contents--inner--box .texts p {
          font-size: 3.4vw;
          margin-top: 50px; }
        .person article .contents--inner--box .texts .picture {
          margin-top: 48px; }
      .person article .contents--inner--box:nth-of-type(odd) .texts {
        padding-right: 5.9%; }
      .person article .contents--inner--box:nth-of-type(even) .texts {
        padding-left: 5.9%; }
  .person article .under-content .image {
    height: 250px;
    margin-top: 48px; }
  .person article .under-content--inner .comment {
    font-size: 2.6vw;
    margin-top: 25px; }
  .person article .under-content--inner .btn {
    max-width: 200px;
    margin: 45px auto 0; }
    .person article .under-content--inner .btn a {
      font-size: 2.6vw;
      padding: 16px 0; }
      .person article .under-content--inner .btn a span {
        padding-right: 37px; }
  .person .footer {
    margin-top: 25px; }

  .person01 article .main {
    background: url("../images/person/01/main_bg.png") no-repeat 70% center/cover; }
  .person01 article .under-content .image {
    background: url("../images/person/01/img_pic04.png") no-repeat 80% center/cover; }

  .person02 article .main {
    background: url("../images/person/02/main_bg.png") no-repeat 70% center/cover; }
  .person02 article .under-content .image {
    background: url("../images/person/02/img_pic04.png") no-repeat 80% center/cover; }

  .person03 article .main {
    background: url("../images/person/03/main_bg.png") no-repeat 70% center/cover; }
  .person03 article .under-content .image {
    background: url("../images/person/03/img_pic04.png") no-repeat 80% center/cover; }

  .person04 article .main {
    background: url("../images/person/04/main_bg.png") no-repeat 60% center/cover; }
  .person04 article .under-content .image {
    background: url("../images/person/04/img_pic04.png") no-repeat 75% center/cover; }

  .person05 article .main {
    background: url("../images/person/05/main_bg.png") no-repeat 70% center/cover; }
  .person05 article .under-content .image {
    background: url("../images/person/05/img_pic04.png") no-repeat 80% center/cover; } }
    
  .person06 article .main {
      background: url("../images/person/06/main_bg.png") no-repeat 70% center/cover; }
    .person06 article .under-content .image {
      background: url("../images/person/06/img_pic04.png") no-repeat 80% center/cover; } }

  .person07 article .main {
        background: url("../images/person/07/main_bg.png") no-repeat 70% center/cover; }
      .person07 article .under-content .image {
        background: url("../images/person/07/img_pic04.png") no-repeat 80% center/cover; } }

  .person08 article .main {
          background: url("../images/person/08/main_bg.png") no-repeat 70% center/cover; }
        .person08 article .under-content .image {
          background: url("../images/person/08/img_pic04.png") no-repeat 80% center/cover; } }

  .person09 article .main {
            background: url("../images/person/09/main_bg.png") no-repeat 70% center/cover; }
          .person09 article .under-content .image {
            background: url("../images/person/09/img_pic04.png") no-repeat 80% center/cover; } 

.environment article .main {
  width: 100%;
  height: 470px;
  background: url("../images/support/main_bg.png") no-repeat center center/cover; }
.environment article .lead {
  margin-top: 53px; }
  .environment article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .environment article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .environment article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .environment article .lead--inner--catch {
    width: 1163px;
    margin: 104px 0 0 auto; }
    .environment article .lead--inner--catch .title {
      font-size: 2.4rem;
      letter-spacing: .08em;
      line-height: 1.8;
      font-weight: bold; }
    .environment article .lead--inner--catch p {
      margin-top: 95px;
      font-size: 1.8rem;
      line-height: 2.0; }
.environment article .contents {
  margin-top: 155px; }
  .environment article .contents--block {
    max-width: 1163px;
    margin: 0 0 0 auto; }
    .environment article .contents--block .image {
      width: 100%;
      height: 396px;
      position: relative;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      .environment article .contents--block .image dl {
        display: flex;
        align-items: center;
        color: #fff;
        position: absolute;
        bottom: 0;
        left: 0; }
        .environment article .contents--block .image dl dt, .environment article .contents--block .image dl dd {
          line-height: 1.0; }
        .environment article .contents--block .image dl dt {
          background-color: #008742;
          font-size: 2.4rem;
          width: 220px;
          padding: 20px 0 20px 20px;
          margin-right: 35px; }
        .environment article .contents--block .image dl dd {
          font-size: 1.4rem; }
    .environment article .contents--block .text {
      margin-top: 50px;
      display: flex; }
      .environment article .contents--block .text--title {
        max-width: 433px;
        width: 100%;
        font-size: 2.0rem;
        font-weight: bold;
        line-height: 2.0; }
        .environment article .contents--block .text--title span {
          letter-spacing: -0.3em; }
      .environment article .contents--block .text--content {
        padding-left: 95px;
        max-width: 450px;
        width: 100%;
        border-left: 1px solid #000; }
        .environment article .contents--block .text--content > p {
          font-size: 1.5rem;
          line-height: 1.8;
          letter-spacing: -0.04em; }
        .environment article .contents--block .text--content .caption {
          background-color: #eee;
          padding: 25px;
          margin-top: 45px; }
          .environment article .contents--block .text--content .caption h4 {
            font-size: 1.6rem;
            letter-spacing: -0.04em;
            color: #008742;
            line-height: 1.0; }
          .environment article .contents--block .text--content .caption p {
            margin-top: 20px;
            line-height: 1.8;
            letter-spacing: -0.04em;
            font-size: 1.2rem; }
    .environment article .contents--block .benefit-list {
      margin-top: 45px; }
      .environment article .contents--block .benefit-list h5 {
        line-height: 1.0;
        font-size: 1.4rem; }
      .environment article .contents--block .benefit-list ul {
        margin-top: 20px;
        justify-content: space-between;
        max-width: 960px;
        width: 100%; }
        .environment article .contents--block .benefit-list ul li {
          display: inline-block;
          text-align: center;
          line-height: 1.0;
          letter-spacing: -0.04em;
          font-size: 1.5rem;
          color: #008742;
          padding: 12px 16px;
          margin:10px 10px 0px 0px; 
          border: 4px solid #e8f3d5; }
          .environment article .contents--block .benefit-list ul li span {
            letter-spacing: -0.3em; }
        .environment article .contents--block .benefit-list ul:nth-of-type(3) {
          justify-content: flex-start; }
          .environment article .contents--block .benefit-list ul:nth-of-type(3) li {
            margin-right: 20px; }
    .environment article .contents--block.ct01 .image {
      background-image: url("../images/support/img_pic01.png"); }
    .environment article .contents--block.ct02 {
      margin-top: 145px; }
      .environment article .contents--block.ct02 .image {
        background-image: url("../images/support/img_pic02.png"); }
    .environment article .contents--block.ct03 {
      margin-top: 215px; }
      .environment article .contents--block.ct03 .image {
        background-image: url("../images/support/img_pic03.png"); }
    .environment article .contents--block.ct04 {
      margin-top: 155px; }
      .environment article .contents--block.ct04 .image {
        background-image: url("../images/support/img_pic04.png"); }
.environment .footer {
  margin-top: 154px; }

@media screen and (max-width: 768px) {
  .environment article .main {
    background: url("../images/support/main_bg.png") no-repeat center left/cover; }
  .environment article .lead--inner {
    padding-right: 2%; }
  .environment article .contents--block .text {
    padding: 0 2%; }
  .environment article .contents--block .benefit-list {
    padding: 0 2%; }
    .environment article .contents--block .benefit-list ul li {
      font-size: 1.3rem;
      padding: 12px 2px;
      border: 2px solid #e8f3d5;
      white-space: nowrap; } }
@media screen and (max-width: 767px) {
  .environment {
    overflow: hidden; }
    .environment article .main {
      height: 250px; }
    .environment article .lead {
      margin-top: 25px; }
      .environment article .lead--inner--title {
        width: calc(100% - 16.4%); }
        .environment article .lead--inner--title h2 {
          padding: 10px 5%;
          margin-right: 5%;
          font-size: 16px;
          font-size: 5vw;
          white-space: nowrap; }
        .environment article .lead--inner--title p {
          letter-spacing: .03em;
          font-size: 12px;
          font-size: 3.75vw; }
      .environment article .lead--inner--catch {
        width: 90%;
        margin: 50px auto 0 auto; }
        .environment article .lead--inner--catch .title {
          font-size: 16px;
          font-size: 5vw;
          letter-spacing: .04em; }
        .environment article .lead--inner--catch p {
          margin-top: 40px;
          font-size: 12px;
          font-size: 3.75vw;
          line-height: 1.8; }
    .environment article .contents {
      margin-top: 75px; }
      .environment article .contents--block {
        max-width: 100%;
        margin: 0; }
        .environment article .contents--block .image {
          width: 100%;
          height: 60vw; }
          .environment article .contents--block .image dl {
            width: 100%; }
            .environment article .contents--block .image dl dt {
              font-size: 16px;
              font-size: 5vw;
              width: auto;
              padding: 10px 5%;
              margin-right: 5vw;
              white-space: nowrap; }
            .environment article .contents--block .image dl dd {
              font-size: 12px;
              font-size: 3.75vw; }
        .environment article .contents--block .text {
          display: block;
          padding: 0;
          width: 90%;
          margin: 25px auto 0 auto; }
          .environment article .contents--block .text--title {
            max-width: 100%;
            font-size: 16px;
            font-size: 5vw;
            line-height: 1.8; }
          .environment article .contents--block .text--content {
            margin-top: 20px;
            padding-left: 0;
            max-width: 100%;
            width: 100%;
            border-left: none;
            border-top: 1px solid #000;
            padding-top: 20px; }
            .environment article .contents--block .text--content > p {
              font-size: 12px;
              font-size: 3.75vw;
              letter-spacing: 0; }
            .environment article .contents--block .text--content .caption {
              padding: 5vw;
              margin-top: 25px; }
              .environment article .contents--block .text--content .caption h4 {
                font-size: 14px;
                font-size: 4.375vw;
                letter-spacing: 0; }
              .environment article .contents--block .text--content .caption p {
                margin-top: 10px;
                letter-spacing: 0;
                font-size: 10px;
                font-size: 3.125vw; }
        .environment article .contents--block .benefit-list {
          padding: 0;
          margin: 30px auto 0 auto;
          width: 90%; }
          .environment article .contents--block .benefit-list h5 {
            line-height: 1.0;
            font-size: 12px;
            font-size: 3.75vw; }
          .environment article .contents--block .benefit-list ul {
            margin-top: 0;
            flex-wrap: wrap;
            justify-content: flex-start;
            max-width: 90%; }
            .environment article .contents--block .benefit-list ul li {
              font-size: 11px;
              font-size: 3.4375vw;
              margin-bottom: 15px;
              margin-right: 2vw;
              padding: 8px 2vw;
              border: 2px solid #e8f3d5; }
            .environment article .contents--block .benefit-list ul:nth-of-type(1) {
              margin-top: 15px; }
            .environment article .contents--block .benefit-list ul:nth-of-type(3) li {
              margin-right: 2vw; }
        .environment article .contents--block.ct01 .image {
          background-image: url("../images/support/img_pic01.png"); }
        .environment article .contents--block.ct02 {
          margin-top: 145px; }
          .environment article .contents--block.ct02 .image {
            background-image: url("../images/support/img_pic02.png"); }
        .environment article .contents--block.ct03 {
          margin-top: 215px; }
          .environment article .contents--block.ct03 .image {
            background-image: url("../images/support/img_pic03.png"); }
        .environment article .contents--block.ct04 {
          margin-top: 155px; }
          .environment article .contents--block.ct04 .image {
            background-image: url("../images/support/img_pic04.png"); }
    .environment .footer {
      margin-top: 25px; } }
.work article .main {
  width: 100%;
  height: 470px;
  background: url("../images/job/main_bg.png") no-repeat center center/cover; }
.work article .lead {
  margin-top: 53px; }
  .work article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .work article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .work article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .work article .lead--inner--catch {
    max-width: 968px;
    margin: 104px auto 0 auto; }
    .work article .lead--inner--catch .title {
      font-size: 2.4rem;
      letter-spacing: .08em;
      line-height: 1.8;
      font-weight: bold; }
    .work article .lead--inner--catch p {
      margin-top: 95px;
      font-size: 1.8rem;
      line-height: 2.0; }
.work article .about {
  margin-top: 145px; }
  .work article .about--main {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .work article .about--main .image {
      width: 46.3%;
      height: 500px;
      background: url("../images/job/img_pic01-1.png") no-repeat center center/cover; }
      .work article .about--main .image img {
        display: none; }
    .work article .about--main .text {
      width: 46.2%; }
      .work article .about--main .text--inner {
        max-width: 435px; }
        .work article .about--main .text--inner h4 {
          line-height: 1.0;
          display: inline-block;
          background-color: #e8f3d5;
          padding: 12px;
          font-size: 1.8rem; }
        .work article .about--main .text--inner h3 {
          margin-top: 50px;
          font-size: 2.8rem; }
        .work article .about--main .text--inner p {
          margin-top: 45px;
          line-height: 2.0;
          font-size: 1.4rem; }
  .work article .about--contents {
    max-width: 960px;
    margin: 150px auto 0 auto; }
    .work article .about--contents--block {
      max-width: 796px; }
      .work article .about--contents--block .text {
        margin-top: 45px; }
        .work article .about--contents--block .text h3 {
          font-size: 2.0rem;
          letter-spacing: .12em; }
          .work article .about--contents--block .text h3 span {
            color: #008742; }
          .work article .about--contents--block .text h3 em {
            letter-spacing: -0.3em; }
        .work article .about--contents--block .text p {
          margin-top: 40px;
          line-height: 2.0;
          font-size: 1.4rem; }
      .work article .about--contents--block:nth-of-type(even) {
        margin: 145px 0 0 auto; }
.work article .step {
  margin-top: 145px; }
  .work article .step--inner {
    max-width: 960px;
    margin: 0 auto; }
    .work article .step--inner .title h3 {
      line-height: 1.0;
      display: inline-block;
      background-color: #e8f3d5;
      padding: 12px;
      font-size: 1.8rem; }
    .work article .step--inner--wrap--block {
      border-top: 3px solid #e8f3d5;
      margin-top: 50px;
      padding-top: 55px; }
      .work article .step--inner--wrap--block .step-lead h4 {
        font-size: 2.0rem;
        line-height: 1.0; }
      .work article .step--inner--wrap--block .step-lead p {
        font-size: 1.6rem;
        line-height: 1.8;
        margin-top: 25px; }
      .work article .step--inner--wrap--block .content {
        margin-top: 45px; }
        .work article .step--inner--wrap--block .content--step {
          display: flex;
          justify-content: space-between;
          flex-direction: row-reverse; }
          .work article .step--inner--wrap--block .content--step .text {
            max-width: 490px;
            width: 100%; }
            .work article .step--inner--wrap--block .content--step .text .num {
              position: relative;
              font-size: 2.7rem;
              line-height: 1.0;
              color: #bdbdbd;
              padding-left: 30px; }
              .work article .step--inner--wrap--block .content--step .text .num:before, .work article .step--inner--wrap--block .content--step .text .num:after {
                content: '';
                display: block;
                position: absolute; }
              .work article .step--inner--wrap--block .content--step .text .num:before {
                width: 1px;
                height: 50px;
                border-left: 1px solid #000;
                left: 0;
                top: 50%;
                transform: translateY(-50%); }
              .work article .step--inner--wrap--block .content--step .text .num:after {
                width: 12px;
                height: 1px;
                border-top: 1px solid #000;
                transform: rotate(-55deg);
                bottom: -7px;
                left: -1px; }
            .work article .step--inner--wrap--block .content--step .text h5 {
              margin-top: 40px;
              line-height: 1.0;
              font-size: 2.0rem; }
            .work article .step--inner--wrap--block .content--step .text p {
              font-size: 1.6rem;
              line-height: 1.8;
              margin-top: 25px;
              letter-spacing: -0.02em; }
          .work article .step--inner--wrap--block .content--step .image {
            max-width: 400px;
            width: 100%; }
          .work article .step--inner--wrap--block .content--step:nth-of-type(n+2) {
            margin-top: 55px; }
      .work article .step--inner--wrap--block:nth-of-type(1) .content--step {
        position: relative; }
        .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:before, .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:after {
          content: '';
          display: block;
          position: absolute; }
        .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:before {
          width: 1px;
          height: 50px;
          border-left: 1px solid #000;
          left: 0;
          bottom: -42px; }
        .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:after {
          width: 12px;
          height: 1px;
          border-top: 1px solid #000;
          transform: rotate(-55deg);
          bottom: -38px;
          left: -1px; }
      .work article .step--inner--wrap--block:nth-of-type(2) {
        margin-top: 85px;
        padding-bottom: 45px;
        border-bottom: 3px solid #e8f3d5; }
.work .footer {
  margin-top: 154px; }

@media screen and (max-width: 768px) {
  .work article .main {
    background: url("../images/job/main_bg.png") no-repeat center left/cover; }
  .work article .lead--inner {
    padding: 0 2%; }
  .work article .about--main .text--inner h3 {
    font-size: 2.2rem; }
  .work article .about--contents--block .text {
    padding: 0 2%; }
  .work article .step--inner {
    padding: 0 2%; } }
@media screen and (max-width: 767px) {
  .work {
    overflow: hidden; }
    .work article .main {
      height: 250px; }
    .work article .lead {
      margin-top: 25px; }
      .work article .lead--inner {
        padding: 0; }
        .work article .lead--inner--title {
          width: calc(100% - 16.4%); }
          .work article .lead--inner--title h2 {
            padding: 10px 5%;
            margin-right: 5%;
            font-size: 16px;
            font-size: 5vw;
            white-space: nowrap; }
          .work article .lead--inner--title p {
            letter-spacing: .03em;
            font-size: 12px;
            font-size: 3.75vw; }
        .work article .lead--inner--catch {
          width: 90%;
          margin: 50px auto 0 auto; }
          .work article .lead--inner--catch .title {
            font-size: 16px;
            font-size: 5vw;
            letter-spacing: .04em; }
          .work article .lead--inner--catch p {
            margin-top: 40px;
            font-size: 12px;
            font-size: 3.75vw;
            line-height: 1.8; }
    .work article .about {
      margin-top: 75px; }
      .work article .about--main {
        display: block; }
        .work article .about--main .image {
          width: 100%;
          height: 70vw; }
        .work article .about--main .text {
          width: 90%;
          margin: 25px auto 0 auto; }
          .work article .about--main .text--inner {
            max-width: 100%; }
            .work article .about--main .text--inner h4 {
              padding: 10px 5%;
              font-size: 15px;
              font-size: 4.6875vw; }
            .work article .about--main .text--inner h3 {
              margin-top: 25px;
              font-size: 20px;
              font-size: 6.25vw; }
            .work article .about--main .text--inner p {
              margin-top: 25px;
              line-height: 1.8;
              font-size: 12px;
              font-size: 3.75vw; }
      .work article .about--contents {
        max-width: 100%;
        margin: 75px auto 0 auto; }
        .work article .about--contents--block {
          max-width: 100%; }
          .work article .about--contents--block .text {
            padding: 0;
            max-width: 90%;
            margin: 25px auto 0 auto; }
            .work article .about--contents--block .text h3 {
              font-size: 16px;
              font-size: 5vw;
              letter-spacing: .06em; }
            .work article .about--contents--block .text p {
              margin-top: 25px;
              line-height: 1.8;
              font-size: 12px;
              font-size: 3.75vw; }
          .work article .about--contents--block:nth-of-type(even) {
            margin: 75px 0 0 0; }
    .work article .step {
      margin-top: 75px; }
      .work article .step--inner {
        max-width: 90%;
        padding: 0; }
        .work article .step--inner .title h3 {
          padding: 10px 5%;
          font-size: 15px;
          font-size: 4.6875vw; }
        .work article .step--inner--wrap--block {
          margin-top: 25px;
          padding-top: 25px; }
          .work article .step--inner--wrap--block .step-lead h4 {
            font-size: 15px;
            font-size: 4.6875vw;
            line-height: 1.4; }
          .work article .step--inner--wrap--block .step-lead p {
            font-size: 14px;
            font-size: 4.375vw;
            margin-top: 15px; }
          .work article .step--inner--wrap--block .content {
            margin-top: 25px; }
            .work article .step--inner--wrap--block .content--step {
              display: block; }
              .work article .step--inner--wrap--block .content--step .text {
                max-width: 100%;
                margin-top: 30px; }
                .work article .step--inner--wrap--block .content--step .text .num {
                  font-size: 20px;
                  font-size: 6.25vw;
                  padding-left: 30px; }
                  .work article .step--inner--wrap--block .content--step .text .num:after {
                    bottom: -8px; }
                .work article .step--inner--wrap--block .content--step .text h5 {
                  margin-top: 30px;
                  line-height: 1.4;
                  font-size: 18px;
                  font-size: 5.625vw; }
                .work article .step--inner--wrap--block .content--step .text p {
                  font-size: 13px;
                  font-size: 4.0625vw;
                  line-height: 1.8;
                  margin-top: 15px;
                  letter-spacing: 0; }
              .work article .step--inner--wrap--block .content--step .image {
                max-width: 100%; }
              .work article .step--inner--wrap--block .content--step:nth-of-type(n+2) {
                margin-top: 55px; }
          .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:before {
            bottom: calc(-3vw - 52px); }
          .work article .step--inner--wrap--block:nth-of-type(1) .content--step:last-child:after {
            bottom: calc(-3vw - 48px); }
          .work article .step--inner--wrap--block:nth-of-type(2) {
            margin-top: 85px;
            padding-bottom: 25px; }
    .work .footer {
      margin-top: 25px; } }
input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

.contact input.input {
  border: none;
  height: 30px;
  font-size: 1.4rem;
  padding: 0 5px;
  font-family: "Noto Serif JP", serif; }
  .contact input.input.long {
    width: 100%; }
  .contact input.input.middle {
    width: 400px; }
  .contact input.input.short {
    width: 58px; }
  .contact input.input.middle_short {
    width: 310px;
    display: block; }
  .contact input.input.long_middle {
    width: 510px; }
.contact .inputs__name {
  width: calc((100% - 15px) / 2); }
  .contact .inputs__name input[type="text"] {
    width: 100% !important; }
.contact .birth {
  display: flex; }
.contact .select-file {
  margin-left: 10px;
  line-height: 2.6; }
.contact .formErrorContent {
  padding-top: .5rem;
  color: #FF0000; }
.contact .file-clear {
  margin-left: 1rem;
  background: linear-gradient(0deg, #dbdada 0%, #fbfbfb 100%);
  border-radius: 3px;
  padding: .5rem 1rem;
  font-size: 1.2rem;
  cursor: pointer; }
  .contact .file-clear:hover {
    color: #008840; }
  .contact .file-clear:active {
    background: #dbdada; }
.contact .header--logo {
  background-color: transparent; }
.contact article {
  padding-top: 87px; }
  .contact article .vertical-logo {
    position: absolute;
    top: 30px;
    left: 40px; }
    .contact article .vertical-logo h1 {
      line-height: 1.0;
      writing-mode: vertical-rl;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      font-size: 3.0rem;
      letter-spacing: .12em; }
      .contact article .vertical-logo h1 span {
        font-size: 1.6rem;
        letter-spacing: .02em;
        display: inline-block;
        margin-top: 24px;
        position: relative;
        left: -6px; }
  .contact article .main {
    padding-top: 75px; }
    .contact article .main--inner--title {
      text-align: center; }
      .contact article .main--inner--title h2, .contact article .main--inner--title p {
        line-height: 1.0; }
      .contact article .main--inner--title h2 {
        display: inline-block;
        background-color: #e8f3d5;
        padding: 13px 10px;
        font-size: 2.4rem; }
      .contact article .main--inner--title p {
        margin-top: 25px;
        font-size: 1.4rem; }
    .contact article .main--inner--steps {
      margin: 105px auto 0 auto;
      display: flex;
      justify-content: center; }
      .contact article .main--inner--steps dl {
        max-width: 142px;
        width: 100%;
        text-align: center; }
        .contact article .main--inner--steps dl dt, .contact article .main--inner--steps dl dd {
          line-height: 1.0;
          color: #999; }
        .contact article .main--inner--steps dl dt {
          font-size: 2.4rem; }
        .contact article .main--inner--steps dl dd {
          border-top: 1px solid #999;
          margin-top: 13px;
          padding-top: 13px;
          font-size: 1.6rem; }
        .contact article .main--inner--steps dl:nth-of-type(n+2) {
          margin-left: 65px; }
        .contact article .main--inner--steps dl.active dt, .contact article .main--inner--steps dl.active dd {
          color: #008742; }
        .contact article .main--inner--steps dl.active dd {
          border-color: #008742; }
    .contact article .main--inner--lead {
      margin-top: 50px;
      text-align: center; }
      .contact article .main--inner--lead p {
        font-size: 1.4rem;
        line-height: 2.0; }
    .contact article .main--inner--btn {
      margin: 100px auto 0 auto;
      max-width: 400px; }
      .contact article .main--inner--btn a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: #fff;
        position: relative;
        line-height: 1.0;
        text-align: center;
        background-color: #008742;
        padding: 30px 0;
        font-size: 1.6rem; }
        .contact article .main--inner--btn a:after {
          content: '';
          display: block;
          position: absolute;
          transition: all .3s ease-out;
          right: 80px;
          top: 50%;
          transform: translateY(-50%);
          width: 30px;
          height: 10px;
          background: url("../images/common/icon-arrow.png") no-repeat 0 0/cover; }
        .contact article .main--inner--btn a:hover {
          opacity: 1; }
          .contact article .main--inner--btn a:hover:after {
            right: 70px; }
  .contact article .form {
    margin-top: 60px; }
    .contact article .form .form--input {
      background-color: #eee;
      padding: 85px 0 0; }
      .contact article .form .form--input--title {
        margin-bottom: 20px;
        text-align: center;
        line-height: 1.0;
        font-weight: bold;
        color: #008742;
        font-size: 2.4rem; }
      .contact article .form .form--input--inner {
        max-width: 960px;
        margin: 0 auto;
        border-top: 1px solid #8a8a8a; }
        .contact article .form .form--input--inner dl {
          padding: 20px 48px;
          border-bottom: 1px solid #8a8a8a;
          display: flex; }
          .contact article .form .form--input--inner dl dt, .contact article .form .form--input--inner dl dd {
            width: 100%; }
          .contact article .form .form--input--inner dl dt {
            max-width: 180px;
            color: #008742;
            font-weight: bold;
            font-size: 1.4rem; }
          .contact article .form .form--input--inner dl dd {
            font-size: 1.4rem;
            position: relative; }
            .contact article .form .form--input--inner dl dd.must {
              max-width: 52px; }
              .contact article .form .form--input--inner dl dd.must span {
                position: relative;
                top: 2px;
                display: inline-block;
                background-color: #ff7599;
                line-height: 1.0;
                color: #fff;
                font-weight: bold;
                padding: 3px 5px;
                font-size: 1.4rem; }
            .contact article .form .form--input--inner dl dd.item {
              max-width: 728px; }
              .contact article .form .form--input--inner dl dd.item label.radio_text {
                cursor: pointer;
                position: relative;
                margin-right: 53px;
                overflow: hidden;
                padding: 3px 0 0 24px;
                display: inline-block;
                font-size: 1.4rem;
                line-height: 1.4; }
                .contact article .form .form--input--inner dl dd.item label.radio_text:before, .contact article .form .form--input--inner dl dd.item label.radio_text:after {
                  content: '';
                  position: absolute; }
                .contact article .form .form--input--inner dl dd.item label.radio_text:before {
                  width: 15px;
                  height: 15px;
                  border: 1px solid #666;
                  border-radius: 50%;
                  left: 0;
                  top: 4px;
                  z-index: 3; }
                .contact article .form .form--input--inner dl dd.item label.radio_text:after {
                  width: 11px;
                  height: 11px;
                  border-radius: 100%;
                  left: 3px;
                  top: 7px;
                  background-color: #008742;
                  z-index: 1; }
              .contact article .form .form--input--inner dl dd.item label.radio_text input[type="radio"] {
                -moz-appearance: none;
                -webkit-appearance: none;
                position: absolute;
                z-index: 2;
                width: 20px;
                height: 20px;
                left: -23px;
                top: 1px;
                margin: 0px;
                box-shadow: 20px -1px #eee; }
              .contact article .form .form--input--inner dl dd.item label.radio_text input[type="radio"]:checked {
                box-shadow: none; }
              .contact article .form .form--input--inner dl dd.item label.radio_text input[type="radio"]:focus {
                opacity: 0;
                box-shadow: 20px -1px #eee; }
              .contact article .form .form--input--inner dl dd.item input.input {
                border: none;
                height: 30px;
                font-size: 1.4rem;
                padding: 0 5px;
                font-family: "Noto Serif JP", serif; }
                .contact article .form .form--input--inner dl dd.item input.input.long {
                  width: 100%; }
                .contact article .form .form--input--inner dl dd.item input.input.middle {
                  width: 400px; }
                .contact article .form .form--input--inner dl dd.item input.input.short {
                  width: 58px; }
                .contact article .form .form--input--inner dl dd.item input.input.middle_short {
                  width: 310px;
                  display: block; }
                .contact article .form .form--input--inner dl dd.item input.input.long_middle {
                  width: 510px; }
              .contact article .form .form--input--inner dl dd.item input[type="file"] {
                visibility: hidden;
                position: absolute; }
              .contact article .form .form--input--inner dl dd.item label.input_file {
                padding: 5px 20px;
                color: #000;
                background-color: #fff;
                cursor: pointer;
                box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15); }
              .contact article .form .form--input--inner dl dd.item select {
                width: 104px;
                height: 30px;
                padding: 0 5px;
                font-size: 1.4rem;
                font-family: "Noto Serif JP", serif;
                border: none;
                outline: none; }
                .contact article .form .form--input--inner dl dd.item select + span {
                  display: inline-block;
                  padding: 0 8px; }
                .contact article .form .form--input--inner dl dd.item select + input {
                  margin-left: 10px; }
                .contact article .form .form--input--inner dl dd.item select.year, .contact article .form .form--input--inner dl dd.item select.month, .contact article .form .form--input--inner dl dd.item select.day {
                  text-align: center; }
              .contact article .form .form--input--inner dl dd.item span.gothic {
                font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }
              .contact article .form .form--input--inner dl dd.item .errortxt {
                color: #ff7599;
                margin-top: 2px;
                display: none; }
              .contact article .form .form--input--inner dl dd.item textarea {
                width: 100%;
                height: 100px;
                border: none;
                resize: none;
                font-size: 1.4rem;
                font-family: "Noto Serif JP", serif; }
              .contact article .form .form--input--inner dl dd.item small {
                margin-top: 5px;
                display: block;
                font-family: "Noto Serif JP", serif;
                font-size: 1.0rem; }
              .contact article .form .form--input--inner dl dd.item button {
                cursor: pointer;
                border: none;
                outline: none;
                width: 112px;
                height: 30px;
                background-color: #fff;
                font-family: "Noto Serif JP", serif;
                font-size: 1.4rem;
                box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
                position: absolute;
                top: 0;
                right: 0; }
            .contact article .form .form--input--inner dl dd.flex {
              display: flex;
              justify-content: space-between; }
              .contact article .form .form--input--inner dl dd.flex input:nth-of-type(n+2) {
                margin: 0 0 0 10px; }
        .contact article .form .form--input--inner .att {
          display: block;
          padding: 10px 0 0;
          text-align: right;
          font-size: 1.2rem; }
      .contact article .form .form--input.error .form--input--inner dl:not(.no-must) dd.item input.input {
        border: 1px solid #ff7599; }
      .contact article .form .form--input.error .form--input--inner dl dd.item .errortxt {
        display: block; }
      .contact article .form .form--input.last {
        padding-bottom: 90px; }
    .contact article .form .form--outer {
      margin-top: 100px;
      text-align: center; }
      .contact article .form .form--outer p {
        font-size: 1.4rem; }
        .contact article .form .form--outer p input[type="checkbox"] {
          position: relative;
          top: 2px;
          right: 2px; }
        .contact article .form .form--outer p a {
          color: #008742;
          display: inline-block;
          padding-right: 18px;
          position: relative; }
          .contact article .form .form--outer p a:before, .contact article .form .form--outer p a:after {
            content: '';
            display: block;
            position: absolute; }
          .contact article .form .form--outer p a:before {
            width: 6px;
            height: 7px;
            border: 1px solid #008742;
            right: 4px;
            top: 8px; }
          .contact article .form .form--outer p a:after {
            width: 6px;
            height: 8px;
            border-top: 1px solid #008742;
            border-right: 1px solid #008742;
            top: 5px;
            right: 2px; }
          .contact article .form .form--outer p a:hover {
            text-decoration: none;
            opacity: 1; }
      .contact article .form .form--outer .confirm-btn {
        width: 100%;
        margin: 40px auto 0 auto;
        max-width: 300px;
        position: relative;
        cursor: pointer;
        transition: all .3s ease-out; }
        .contact article .form .form--outer .confirm-btn:after {
          content: '';
          display: block;
          position: absolute;
          transition: all .3s ease-out;
          right: 70px;
          top: 50%;
          transform: translateY(-50%);
          width: 30px;
          height: 10px;
          background: url("../images/common/icon-arrow.png") no-repeat 0 0/cover; }
        .contact article .form .form--outer .confirm-btn input {
          cursor: pointer;
          color: #fff;
          background-color: #008742;
          outline: none;
          border: none;
          display: block;
          width: 100%;
          height: 100%;
          line-height: 1.0;
          padding: 30px 0;
          font-family: "Noto Serif JP", serif;
          font-size: 1.6rem; }
        .contact article .form .form--outer .confirm-btn:hover:after {
          right: 50px; }
      .contact article .form .form--outer small {
        display: block;
        line-height: 1.0;
        margin-top: 10px;
        font-size: 1.3rem; }
      .contact article .form .form--outer .confirm-flex {
        max-width: 960px;
        margin: 55px auto 0 auto;
        display: flex;
        justify-content: space-between; }
        .contact article .form .form--outer .confirm-flex .confirm-btn {
          margin: 0; }
      .contact article .form .form--outer .confirm-back {
        width: 100%;
        max-width: 400px;
        position: relative; }
        .contact article .form .form--outer .confirm-back a {
          display: block;
          width: 100%;
          height: 100%;
          text-decoration: none;
          background-color: #e8f3d5;
          color: #000;
          line-height: 1.0;
          padding: 30px 0;
          font-size: 1.6rem;
          position: relative; }
          .contact article .form .form--outer .confirm-back a:after {
            content: '';
            display: block;
            position: absolute;
            transition: all .3s ease-out;
            left: 80px;
            top: 50%;
            transform: translateY(-50%) rotate(180deg);
            width: 31px;
            height: 12px;
            background: url("../images/common/icon_more.png") no-repeat 0 0/cover; }
          .contact article .form .form--outer .confirm-back a:hover {
            opacity: 1; }
            .contact article .form .form--outer .confirm-back a:hover:after {
              left: 70px; }
  .contact article .address {
    margin-top: 55px;
    background-color: #eee;
    padding: 50px 0 40px;
    text-align: center; }
    .contact article .address .title {
      display: inline-block;
      border-top: 1px solid #000;
      border-bottom: 1px solid #000;
      padding: 12px;
      font-weight: bold;
      line-height: 1.0;
      font-size: 2.0rem; }
    .contact article .address .name {
      margin-top: 35px;
      font-weight: bold;
      line-height: 1.0;
      color: #008742;
      font-size: 2.0rem; }
    .contact article .address p {
      margin-top: 18px;
      font-size: 1.4rem; }
    .contact article .address ul {
      margin-top: 15px; }
      .contact article .address ul li {
        line-height: 1.6;
        font-weight: bold;
        font-size: 2.0rem; }
.contact .footer--inner {
  border-top: none; }

@media screen and (max-width: 767px) {
  .contact {
    overflow: hidden; }
    .contact .birth {
      display: block; }
    .contact .pref-select {
      width: 100%; }
    .contact article {
      padding-top: 40px; }
      .contact article .vertical-logo {
        position: absolute;
        top: 15px;
        left: 2%; }
        .contact article .vertical-logo h1 {
          font-size: 18px;
          font-size: 5.625vw;
          letter-spacing: .06em; }
          .contact article .vertical-logo h1 span {
            font-size: 10px;
            font-size: 3.125vw;
            letter-spacing: .02em;
            margin-top: 10px;
            left: -0.5%; }
      .contact article .main--inner--title h2 {
        padding: 10px 8px;
        font-size: 18px;
        font-size: 5.625vw; }
      .contact article .main--inner--title p {
        margin-top: 15px;
        font-size: 12px;
        font-size: 3.75vw; }
      .contact article .main--inner--steps {
        margin: 50px auto 0 auto;
        width: 80%;
        justify-content: space-between; }
        .contact article .main--inner--steps dl {
          max-width: 30%; }
          .contact article .main--inner--steps dl dt {
            font-size: 2.4rem; }
          .contact article .main--inner--steps dl dd {
            margin-top: 03px;
            padding-top: 10px;
            font-size: 12px;
            font-size: 3.75vw;
            line-height: 1.4; }
          .contact article .main--inner--steps dl:nth-of-type(n+2) {
            margin-left: 0; }
      .contact article .main--inner--lead {
        margin-top: 35px; }
        .contact article .main--inner--lead p {
          font-size: 12px;
          font-size: 3.75vw;
          line-height: 1.8; }
      .contact article .main--inner--btn {
        margin: 50px auto 0 auto;
        max-width: 80%; }
        .contact article .main--inner--btn a {
          padding: 15px 0;
          font-size: 14px;
          font-size: 4.375vw; }
          .contact article .main--inner--btn a:after {
            right: 10%; }
          .contact article .main--inner--btn a:hover {
            opacity: 1; }
            .contact article .main--inner--btn a:hover:after {
              right: 10%; }
      .contact article .form {
        margin-top: 50px; }
        .contact article .form .form--input {
          padding: 60px 0 0; }
          .contact article .form .form--input--title {
            font-size: 16px;
            font-size: 5vw;
            margin-bottom: 10px; }
          .contact article .form .form--input--inner {
            max-width: 90%; }
            .contact article .form .form--input--inner dl {
              padding: 20px 0;
              border-bottom: 1px solid #8a8a8a;
              flex-wrap: wrap; }
              .contact article .form .form--input--inner dl dt {
                max-width: 100%;
                color: #008742;
                font-weight: bold;
                font-size: 12px;
                font-size: 3.75vw;
                margin-bottom: 10px; }
              .contact article .form .form--input--inner dl dd {
                font-size: 12px;
                font-size: 3.75vw; }
                .contact article .form .form--input--inner dl dd.must {
                  max-width: 52px;
                  padding-top: 1.5vw; }
                  .contact article .form .form--input--inner dl dd.must span {
                    top: 0;
                    padding: 3px 5px;
                    font-size: 12px;
                    font-size: 3.75vw; }
                .contact article .form .form--input--inner dl dd.item {
                  max-width: calc(100% - 52px); }
                  .contact article .form .form--input--inner dl dd.item label {
                    margin-right: 20px;
                    font-size: 12px;
                    font-size: 3.75vw; }
                  .contact article .form .form--input--inner dl dd.item input.input {
                    font-size: 12px;
                    font-size: 3.75vw; }
                    .contact article .form .form--input--inner dl dd.item input.input.long {
                      width: 100%; }
                    .contact article .form .form--input--inner dl dd.item input.input.middle {
                      width: 100%; }
                    .contact article .form .form--input--inner dl dd.item input.input.middle_short {
                      width: 45%; }
                    .contact article .form .form--input--inner dl dd.item input.input.long_middle {
                      width: 50%; }
                      .contact article .form .form--input--inner dl dd.item input.input.long_middle.addr1 {
                        width: 100%;
                        margin-left: 0;
                        margin-top: 10px; }
                  .contact article .form .form--input--inner dl dd.item label.input_file {
                    padding: 5px 10px;
                    margin-right: 5px; }
                  .contact article .form .form--input--inner dl dd.item select {
                    width: 30%;
                    padding: 0 5px;
                    font-size: 12px;
                    font-size: 3.75vw; }
                    .contact article .form .form--input--inner dl dd.item select + span {
                      display: inline-block;
                      padding: 0 5px;
                      font-size: 10px;
                      font-size: 3.125vw; }
                    .contact article .form .form--input--inner dl dd.item select + input {
                      margin-left: 5px; }
                    .contact article .form .form--input--inner dl dd.item select.year {
                      width: 40%;
                      margin-bottom: 10px; }
                      .contact article .form .form--input--inner dl dd.item select.year + span {
                        margin-right: 25%; }
                    .contact article .form .form--input--inner dl dd.item select.month, .contact article .form .form--input--inner dl dd.item select.day {
                      width: 40%;
                      margin-bottom: 10px; }
                    .contact article .form .form--input--inner dl dd.item select.pref {
                      width: 40%; }
                  .contact article .form .form--input--inner dl dd.item textarea {
                    font-size: 12px;
                    font-size: 3.75vw; }
                  .contact article .form .form--input--inner dl dd.item small {
                    font-size: 10px;
                    font-size: 3.125vw;
                    word-break: normal; }
                  .contact article .form .form--input--inner dl dd.item button {
                    width: 35%;
                    font-size: 12px;
                    font-size: 3.75vw; }
                  .contact article .form .form--input--inner dl dd.item.flex {
                    flex-wrap: wrap; }
              .contact article .form .form--input--inner dl.no-must dd.must {
                display: none; }
              .contact article .form .form--input--inner dl.no-must dd.item {
                max-width: 100%; }
            .contact article .form .form--input--inner .att {
              text-align: left;
              font-size: 11px;
              font-size: 3.4375vw; }
        .contact article .form .form--outer {
          margin-top: 50px;
          text-align: center; }
          .contact article .form .form--outer p {
            font-size: 12px;
            font-size: 3.75vw; }
          .contact article .form .form--outer small {
            font-size: 11px;
            font-size: 3.4375vw; }
          .contact article .form .form--outer .confirm-btn {
            margin: 25px auto 0 auto;
            max-width: 80%; }
            .contact article .form .form--outer .confirm-btn:after {
              right: 15%; }
            .contact article .form .form--outer .confirm-btn input {
              padding: 15px 0;
              font-size: 14px;
              font-size: 4.375vw; }
            .contact article .form .form--outer .confirm-btn:hover:after {
              right: 15%; }
          .contact article .form .form--outer .confirm-flex {
            max-width: 80%;
            margin: 25px auto 0 auto;
            display: block; }
            .contact article .form .form--outer .confirm-flex .confirm-btn {
              max-width: 100%;
              margin-top: 20px; }
          .contact article .form .form--outer .confirm-back {
            max-width: 100%; }
            .contact article .form .form--outer .confirm-back a {
              padding: 15px 0;
              font-size: 14px;
              font-size: 4.375vw; }
              .contact article .form .form--outer .confirm-back a:after {
                left: 15%; }
              .contact article .form .form--outer .confirm-back a:hover:after {
                left: 15%; }
      .contact article .address {
        margin-top: 30px;
        padding: 30px 0 40px; }
        .contact article .address .title {
          padding: 10px;
          font-size: 16px;
          font-size: 5vw; }
        .contact article .address .name {
          margin-top: 20px;
          font-size: 18px;
          font-size: 5.625vw; }
        .contact article .address p {
          margin-top: 15px;
          font-size: 14px;
          font-size: 4.375vw; }
        .contact article .address ul {
          margin-top: 15px; }
          .contact article .address ul li {
            font-size: 16px;
            font-size: 5vw; }
    .contact .footer {
      margin-top: 80px; } }
.training article .main {
  width: 100%;
  height: 470px;
  background: url("../images/training/main_bg.png") no-repeat center center/cover; }
.training article .lead {
  margin-top: 53px; }
  .training article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .training article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .training article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .training article .lead--inner--catch {
    width: 960px;
    margin: 104px auto 0 auto; }
    .training article .lead--inner--catch .title {
      font-size: 2.4rem;
      letter-spacing: .08em;
      line-height: 1.8;
      font-weight: bold; }
    .training article .lead--inner--catch p {
      margin-top: 95px;
      font-size: 1.8rem;
      line-height: 2.0; }
.training article .flow--inner h3, .training article .message--inner h3, .training article .career--inner h3 {
  max-width: 960px;
  margin: 0 auto;
  padding-bottom: 50px;
  border-bottom: 3px solid #e8f3d5; }
  .training article .flow--inner h3 span, .training article .message--inner h3 span, .training article .career--inner h3 span {
    display: inline-block;
    line-height: 1.0;
    background-color: #e8f3d5;
    padding: 12px;
    font-size: 1.8rem; }
.training article .flow {
  margin-top: 195px; }
  .training article .flow--inner {
    max-width: 960px;
    margin: 0 auto; }
    .training article .flow--inner--wrap {
      margin-top: 100px; }
      .training article .flow--inner--wrap--box {
        display: flex;
        justify-content: space-between; }
        .training article .flow--inner--wrap--box .image {
          max-width: 400px;
          width: 100%; }
        .training article .flow--inner--wrap--box .text {
          max-width: 500px;
          width: 100%; }
          .training article .flow--inner--wrap--box .text h4 {
            font-size: 2.0rem;
            line-height: 1.8; }
          .training article .flow--inner--wrap--box .text p, .training article .flow--inner--wrap--box .text .att {
            font-size: 1.6rem;
            line-height: 2.0;
            letter-spacing: -0.02em; }
          .training article .flow--inner--wrap--box .text p {
            margin-top: 45px; }
          .training article .flow--inner--wrap--box .text .att {
            margin-top: 30px;
            text-indent: -1em;
            margin-left: 1em; }
        .training article .flow--inner--wrap--box:nth-of-type(odd) {
          flex-direction: row-reverse; }
        .training article .flow--inner--wrap--box:nth-of-type(n+2) {
          margin-top: 95px; }
.training article .message {
  margin-top: 230px; }
  .training article .message--inner--wrap {
    margin-top: 100px; }
    .training article .message--inner--wrap--box {
      display: flex; }
      .training article .message--inner--wrap--box .image {
        height: 632px;
        width: 46.2%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
        .training article .message--inner--wrap--box .image img {
          display: none; }
      .training article .message--inner--wrap--box .text {
        width: 53.8%; }
        .training article .message--inner--wrap--box .text--inner {
          max-width: 428px; }
          .training article .message--inner--wrap--box .text--inner h4 {
            font-size: 2.0rem;
            line-height: 1.8; }
          .training article .message--inner--wrap--box .text--inner dl {
            margin-top: 45px;
            border-top: 1px solid #000;
            border-bottom: 1px solid #000;
            padding: 22px 0; }
            .training article .message--inner--wrap--box .text--inner dl dt {
              line-height: 1.7;
              font-size: 1.6rem; }
            .training article .message--inner--wrap--box .text--inner dl dd {
              margin-top: 20px;
              font-size: 2.0rem; }
          .training article .message--inner--wrap--box .text--inner p {
            margin-top: 45px;
            line-height: 1.8;
            letter-spacing: -0.02em;
            font-size: 1.6rem; }
      .training article .message--inner--wrap--box:nth-of-type(1) .image {
        background-image: url("../images/training/img-prof01.png"); }
      .training article .message--inner--wrap--box:nth-of-type(1) .text {
        padding-left: 100px; }
      .training article .message--inner--wrap--box:nth-of-type(2) {
        margin-top: 170px;
        flex-direction: row-reverse; }
        .training article .message--inner--wrap--box:nth-of-type(2) .image {
          background-image: url("../images/training/img-prof02.png"); }
        .training article .message--inner--wrap--box:nth-of-type(2) .text {
          padding-right: 100px; }
          .training article .message--inner--wrap--box:nth-of-type(2) .text--inner {
            margin: 0 0 0 auto; }
.training article .career {
  margin-top: 155px; }
  .training article .career--inner {
    max-width: 960px;
    margin: 0 auto; }
    .training article .career--inner--contents {
      margin-top: 100px; }
      .training article .career--inner--contents h4 {
        font-size: 2.0rem;
        line-height: 1.7; }
      .training article .career--inner--contents p {
        font-size: 1.6rem;
        line-height: 1.8;
        margin-top: 45px; }
      .training article .career--inner--contents--wrap {
        margin-top: 50px;
        display: flex;
        background: #e8f3d5;
        justify-content: space-between; }
        .training article .career--inner--contents--wrap .box {
          max-width: 160px;
          width: 100%;
          min-height: 120px;
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
          position: relative; }
          .training article .career--inner--contents--wrap .box span {
            font-size: 1.3rem;
            border: solid 0px #e8f3d5;
            height: 130px;
            padding: 10px;
            display: inline-block;
            border-radius:6px;
            /*コレ*/display: flex;
            /*コレ*/align-items: center;
           }
           
           .training article .career--inner--contents--wrap .box span b{
             background: #fcfff7;
             display: inline-block;
             padding: 3px 3px 6px 3px;
             border-radius: 50%;
             width: 28px;
             height: 28px;
             margin-bottom: 10px;
           }
           
          .training article .career--inner--contents--wrap .box:after {
            content: '';
            display: block;
            position: absolute;
            width: 10px;
            height: 10px;
            border-top: 2px solid #cae0a3;
            border-right: 2px solid #cae0a3;
            transform: translateX(-50%) rotate(45deg);
            top: 50%;
            right: -8px; }
          .training article .career--inner--contents--wrap .box:last-child:after {
            display: none; }
          
          
        
.training .footer {
  margin-top: 172px; }

@media screen and (max-width: 768px) {
  .training article {
    overflow: hidden; }
    .training article .lead--inner {
      padding: 0 2%; }
    .training article .flow {
      padding: 0 2%; }
      .training article .flow--inner--wrap--box:nth-of-type(odd) .text {
        padding-right: 2%; }
      .training article .flow--inner--wrap--box:nth-of-type(n+2) .text {
        padding-left: 2%; }
    .training article .message--inner h3 {
      margin: 0 2%; }
    .training article .message--inner--wrap--box:nth-of-type(1) .text {
      padding-left: 5%;
      padding-right: 2%; }
    .training article .message--inner--wrap--box:nth-of-type(2) .text {
      padding-left: 2%;
      padding-right: 5%; }
    .training article .career--inner {
      padding: 0 2%; }
      .training article .career--inner--contents--wrap .box {
        width: 16%; }
        .training article .career--inner--contents--wrap .box span {
          font-size: 1.5rem; }
        
        .training article .career--inner--contents--wrap .box span b{
           background: #eee;
           display: inline-block;
           padding: 3px 3px 6px 3px;
           border-radius: 50%;
           width: 36px;
           height: 36px;
           margin-bottom: 10px;
         }
        
         }
@media screen and (max-width: 767px) {
  .training {
    overflow: hidden; }
    .training article .main {
      height: 250px;
      background: url("../images/training/main_bg.png") no-repeat center left 35%/cover; }
    .training article .lead {
      margin-top: 25px; }
      .training article .lead--inner--title {
        width: calc(100% - 16.4%); }
        .training article .lead--inner--title h2 {
          padding: 10px 5%;
          margin-right: 5%;
          font-size: 16px;
          font-size: 5vw;
          white-space: nowrap; }
        .training article .lead--inner--title p {
          letter-spacing: .03em;
          font-size: 12px;
          font-size: 3.75vw; }
      .training article .lead--inner--catch {
        width: 90%;
        margin: 50px auto 0 auto; }
        .training article .lead--inner--catch .title {
          font-size: 16px;
          font-size: 5vw;
          letter-spacing: .04em; }
        .training article .lead--inner--catch p {
          margin-top: 40px;
          font-size: 12px;
          font-size: 3.75vw;
          line-height: 1.8; }
    .training article .flow--inner h3, .training article .message--inner h3, .training article .career--inner h3 {
      max-width: 100%;
      padding-bottom: 25px; }
      .training article .flow--inner h3 span, .training article .message--inner h3 span, .training article .career--inner h3 span {
        padding: 10px;
        font-size: 16px;
        font-size: 5vw;
        line-height: 1.4; }
    .training article .flow {
      margin-top: 100px;
      padding: 0; }
      .training article .flow--inner {
        max-width: 90%;
        margin: 0 auto; }
        .training article .flow--inner--wrap {
          margin-top: 50px; }
          .training article .flow--inner--wrap--box {
            display: block; }
            .training article .flow--inner--wrap--box .image {
              max-width: 100%; }
              .training article .flow--inner--wrap--box .image img {
                display: inline-block;
                object-fit: cover;
                width: 100%;
                height: 50vw; }
            .training article .flow--inner--wrap--box .text {
              max-width: 100%;
              margin-top: 25px; }
              .training article .flow--inner--wrap--box .text h4 {
                font-size: 16px;
                font-size: 5vw; }
              .training article .flow--inner--wrap--box .text p, .training article .flow--inner--wrap--box .text .att {
                font-size: 14px;
                font-size: 4.375vw;
                line-height: 1.8;
                letter-spacing: 0; }
              .training article .flow--inner--wrap--box .text p {
                margin-top: 25px; }
              .training article .flow--inner--wrap--box .text .att {
                margin-top: 15px; }
            .training article .flow--inner--wrap--box:nth-of-type(n+2) {
              margin-top: 45px; }
    .training article .message {
      margin-top: 100px; }
      .training article .message--inner--wrap {
        margin-top: 50px; }
        .training article .message--inner--wrap--box {
          display: block; }
          .training article .message--inner--wrap--box .image {
            height: 60vw;
            width: 100%;
            background-position: top 20% center; }
            .training article .message--inner--wrap--box .image img {
              display: none; }
          .training article .message--inner--wrap--box .text {
            width: 100%; }
            .training article .message--inner--wrap--box .text--inner {
              max-width: 90%;
              margin: 25px auto 0 auto; }
              .training article .message--inner--wrap--box .text--inner h4 {
                font-size: 16px;
                font-size: 5vw;
                line-height: 1.8;
                letter-spacing: -0.02em; }
              .training article .message--inner--wrap--box .text--inner dl {
                margin-top: 25px;
                padding: 15px 0; }
                .training article .message--inner--wrap--box .text--inner dl dt {
                  font-size: 14px;
                  font-size: 4.375vw; }
                .training article .message--inner--wrap--box .text--inner dl dd {
                  margin-top: 15px;
                  font-size: 16px;
                  font-size: 5vw; }
              .training article .message--inner--wrap--box .text--inner p {
                margin-top: 25px;
                font-size: 14px;
                font-size: 4.375vw; }
          .training article .message--inner--wrap--box:nth-of-type(1) .text {
            padding: 0; }
          .training article .message--inner--wrap--box:nth-of-type(2) {
            margin-top: 80px; }
            .training article .message--inner--wrap--box:nth-of-type(2) .text {
              padding: 0; }
              .training article .message--inner--wrap--box:nth-of-type(2) .text--inner {
                margin: 25px auto 0 auto; }
    .training article .career {
      margin-top: 100px; }
      .training article .career--inner {
        max-width: 90%; }
        .training article .career--inner--contents {
          margin-top: 50px; }
          .training article .career--inner--contents h4 {
            font-size: 16px;
            font-size: 5vw; }
          .training article .career--inner--contents p {
            font-size: 14px;
            font-size: 4.375vw;
            margin-top: 25px; }
          .training article .career--inner--contents--wrap {
            margin-top: 25px;
            background: #fff;
            display: block; }
            .training article .career--inner--contents--wrap .box {
              width: 100%;
              max-width: inherit;
              min-height: inherit;
              height:80px;
              padding: 20px 0; }
              .training article .career--inner--contents--wrap .box span {
                font-size: 15px;
                font-size: 4.6875vw; }
              .training article .career--inner--contents--wrap .box:after {
                transform: translateX(0) rotate(135deg);
                top: auto;
                right: auto;
                bottom: -4.5vw; }
              .training article .career--inner--contents--wrap .box:nth-of-type(n+2) {
                margin-top: 8vw; }
              .training article .career--inner--contents--wrap .box:last-child:after {
                display: none; }
    .training .footer {
      margin-top: 25px; } }
.questionnaire article .main {
  width: 92.7%;
  height: 470px;
  background: url("../images/questionnaire/main_bg.png") no-repeat 0 0/cover;
  margin-left: auto; }
.questionnaire article .lead {
  margin-top: 53px; }
  .questionnaire article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .questionnaire article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .questionnaire article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: .04em;
      font-size: 1.4rem; }
  .questionnaire article .lead--inner--texts {
    width: calc(100% - 100px);
    margin: 100px 0 0 auto;
    padding-left: 100px; }
    .questionnaire article .lead--inner--texts h3 {
      font-size: 2.4rem;
      font-weight: bold;
      line-height: 1.6;
      letter-spacing: .1em; }
      .questionnaire article .lead--inner--texts h3 span {
        letter-spacing: -.4em; }
    .questionnaire article .lead--inner--texts p {
      font-size: 1.8rem;
      line-height: 2;
      letter-spacing: .1em;
      margin-top: 55px; }
.questionnaire article .contents {
  margin-top: 195px;
  padding: 100px 0 200px 0;
  background-color: #f2f8e7; }
  .questionnaire article .contents--inner {
    max-width: 1024px;
    margin: 0 auto; }
    .questionnaire article .contents--inner .anchor h3 {
      line-height: 1.0;
      font-size: 2.0rem;
      text-align: center;
      letter-spacing: .12em; }
    .questionnaire article .contents--inner .anchor ul {
      margin: 25px auto 0 auto;
      max-width: 960px;
      display: flex;
      justify-content: space-between; }
      .questionnaire article .contents--inner .anchor ul li {
        width: 23%;
        max-width: 220px; }
        .questionnaire article .contents--inner .anchor ul li a {
          background-color: #fff;
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 15px 0;
          line-height: 1.4;
          width: 100%;
          height: 100%;
          text-decoration: none;
          color: #000;
          font-weight: bold;
          text-align: center;
          font-size: 1.6rem; }
          .questionnaire article .contents--inner .anchor ul li a:after {
            content: '';
            display: block;
            position: absolute;
            width: 16px;
            height: 16px;
            border-left: 1px solid #000;
            border-bottom: 1px solid #000;
            left: 50%;
            bottom: -20px;
            transform: translateX(-50%) rotate(-45deg);
            transition: all .3s ease-out; }
          .questionnaire article .contents--inner .anchor ul li a:hover:after {
            bottom: -25px; }
    .questionnaire article .contents--inner--wrap {
      margin-top: 220px; }
      .questionnaire article .contents--inner--wrap .block h3 {
        padding: 38px 0;
        border-top: 1px solid #000;
        border-bottom: 1px solid #000;
        line-height: 1.0;
        text-align: center;
        font-weight: bold;
        letter-spacing: .08em;
        font-size: 2.4rem; }
      .questionnaire article .contents--inner--wrap .block--wrap {
        margin-top: 60px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .questionnaire article .contents--inner--wrap .block--wrap .box {
          position: relative;
          padding-top: 20px; }
          .questionnaire article .contents--inner--wrap .block--wrap .box h4 {
            max-width: 82%;
            width: 100%;
            margin: 0 auto;
            font-size: 2.0rem;
            line-height: 1.4;
            letter-spacing: .12em;
            padding: 10px 0;
            color: #fff;
            background-color: #008742;
            text-align: center;
            position: absolute;
            left: 9%;
            top: 0;
            z-index: 1; }
            .questionnaire article .contents--inner--wrap .block--wrap .box h4.link {
              text-align: right;
              padding-right: 10px; }
              .questionnaire article .contents--inner--wrap .block--wrap .box h4.link span {
                position: absolute;
                width: 100%;
                text-align: center;
                left: 0; }
              .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em {
                display: inline-block; }
                .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em a {
                  border: 1px solid #fff;
                  padding: 5px 10px;
                  letter-spacing: .04em;
                  text-decoration: none;
                  color: #fff;
                  font-size: 1.6rem;
                  line-height: 1.0;
                  position: relative; }
                  .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em a:after {
                    content: '';
                    display: inline-block;
                    width: 10px;
                    height: 10px;
                    border-top: 1px solid #fff;
                    border-right: 1px solid #fff;
                    transform: rotate(45deg);
                    position: relative;
                    top: -1px;
                    margin-left: 5px; }
          .questionnaire article .contents--inner--wrap .block--wrap .box .cont {
            background-color: #fff;
            padding: 50px 0 25px 0;
            min-height: 350px; }
            .questionnaire article .contents--inner--wrap .block--wrap .box .cont > p {
              text-align: center;
              color: #008742;
              margin-top: 15px;
              letter-spacing: -0.04em;
              font-size: 1.6rem; }
            .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl {
              display: flex; }
              .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl dt {
                max-width: 25px;
                width: 100%; }
              .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl dd {
                width: calc(100% - 25px);
                padding-left: 10px;
                letter-spacing: -0.06em;
                font-size: 1.4rem; }
              .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl:nth-of-type(n+2) {
                margin-top: 25px; }
          .questionnaire article .contents--inner--wrap .block--wrap .box:nth-of-type(n+3) {
            margin-top: 65px; }
      .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box {
        width: 46.8%;
        max-width: 480px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b01 .cont > p {
          margin-top: 30px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b02 .cont .image {
          margin-top: 30px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b04 .cont > p {
          margin-top: 25px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex {
          display: flex;
          justify-content: center;
          margin-right: 20px; }
          .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .map {
            max-width: 135px;
            width: 100%;
            margin-right: 35px; }
          .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li {
            line-height: 1.0;
            font-size: 1.6rem; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li.green {
              font-size: 2.0rem;
              font-weight: bold;
              color: #008742; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li:nth-of-type(n+2) {
              margin-top: 15px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont {
          text-align: center;
          padding-top: 70px; }
          .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list {
            display: inline-block;
            text-align: left;
            max-width: 330px;
            width: 100%; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl {
              position: relative; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dt, .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dd {
                line-height: 1.0; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dt {
                font-size: 1.6rem;
                letter-spacing: -0.04em;
                white-space: nowrap; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dd {
                font-size: 1.5rem;
                color: #008742;
                letter-spacing: -0.06em;
                line-height: 1.6;
                position: absolute;
                right: 0;
                top: 0;
                max-width: 153px;
                width: 100%; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dd span {
                  position: relative; }
                  .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dd span:before {
                    content: '';
                    display: block;
                    position: absolute;
                    border-top: 1px solid #008742; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl.green dt {
                color: #008742;
                font-weight: bold;
                font-size: 2.0rem; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:nth-of-type(2) dd span:before {
                width: 12px;
                top: 0.7em;
                left: -18px; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:last-child dd {
                line-height: 1.0; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:last-child dd span:before {
                  width: 50px;
                  top: calc(50% + 1px);
                  left: -60px; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:nth-of-type(n+2) {
                margin-top: 16px; }
          .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont p {
            margin-top: 35px; }
        .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont, .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont {
          min-height: 371px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 {
        width: 100%; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont {
          padding-top: 0; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap {
            max-width: 946px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            position: relative;
            top: -20px; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section {
              width: 100%;
              max-width: 305px; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section h4 {
                max-width: 100%;
                position: static;
                min-height: 104px;
                display: flex;
                justify-content: center;
                align-items: center; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .image {
                margin-top: 35px; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list {
                margin-top: 85px;
                padding-left: 5px; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li {
                  font-size: 1.9rem;
                  line-height: 1.0;
                  letter-spacing: -0.04em; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li.green {
                    font-size: 2.4rem;
                    color: #008742; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li.attention {
                    display: inline-block;
                    background-color: #ebf3d8;
                    padding: 10px;
                    white-space: nowrap;
                    position: relative;
                    left: -10px; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li:nth-of-type(n+2) {
                    margin-top: 12px; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li:last-child {
                    margin-top: 15px; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont p {
            margin-top: 30px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02, .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 {
        margin-top: 70px;
        max-width: 480px;
        width: 46.8%; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont, .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
          padding-top: 80px;
          min-height: 434px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont .comment {
        max-width: 410px;
        margin: 0 auto; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont .comment dl:last-child dd {
          letter-spacing: -0.08em; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont p {
        letter-spacing: -0.08em;
        margin-top: 25px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
        text-align: center;
        padding-top: 100px;
        position: relative; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list {
          text-align: left;
          display: inline-block; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li {
            line-height: 1.0; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.attention {
              background-color: #ebf3d8;
              font-size: 2.4rem;
              padding: 10px;
              letter-spacing: -0.08em; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.green {
              font-size: 2.4rem;
              color: #008742; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li:nth-of-type(2) {
              margin-top: 16px; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li:nth-of-type(n+2) {
              margin-top: 15px;
              font-size: 1.9rem; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro {
          background-color: #ebf3d8;
          width: 90%;
          margin: 55px auto 0 auto;
          padding: 15px 0;
          text-align: center;
          font-size: 1.5rem;
          letter-spacing: -0.06em;
          line-height: 1.8; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro strong {
            letter-spacing: 0;
            font-size: 2.3rem; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 {
        width: 100%; }
        .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 h4, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 h4 {
          display: inline-block;
          width: auto;
          max-width: none;
          left: 50%;
          transform: translateX(-50%);
          padding-right: 30px;
          padding-left: 30px;
          white-space: nowrap; }
        .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont {
          padding-top: 50px; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap {
            display: flex; }
            .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box {
              width: 50%;
              text-align: center; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box h5, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box h5 {
                font-size: 2.0rem;
                color: #008742; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box .comment, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box .comment {
                margin-top: 20px;
                text-align: left;
                display: inline-block; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box .comment dl dd, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box .comment dl dd {
                  letter-spacing: -0.1em; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box p {
                font-size: 1.6rem;
                color: #008742; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(1), .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(1) {
                border-right: 1px solid #008742; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(1) p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(1) p {
                  margin-top: 45px; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(2) p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(2) p {
                margin-top: 35px; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b02, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b03 {
        margin-top: 70px;
        max-width: 480px;
        width: 46.8%; }
        .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b02 .cont, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b03 .cont {
          padding-top: 70px; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(1) {
        border-right: none; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont p {
        margin-top: 40px; }
      .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b01, .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b02 {
        margin-top: 70px;
        max-width: 480px;
        width: 46.8%; }
        .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b01 .cont, .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b02 .cont {
          padding-top: 70px; }
      .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 {
        width: 100%; }
        .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 h4 {
          max-width: 580px;
          transform: translateX(-50%);
          left: 50%; }
        .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont {
          padding-top: 97px; }
          .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap {
            max-width: 750px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: flex-start; }
            .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box {
              display: inline-block;
              text-align: center; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box dl dt {
                line-height: 1.0;
                font-size: 2.0rem; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box dl dd {
                max-width: 74px;
                margin: 20px auto 0 auto; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box span {
                display: block;
                font-size: 1.6rem;
                line-height: 1.4;
                margin-top: 10px; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box.green dl dt {
                font-size: 2.4rem;
                font-weight: bold;
                color: #008742; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box.green span {
                font-weight: bold;
                color: #008742; }
          .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont p {
            margin-top: 45px; }
      .questionnaire article .contents--inner--wrap .block:nth-of-type(n+2) {
        margin-top: 200px; }
.questionnaire .footer {
  margin-top: 154px; }

@media screen and (max-width: 768px) {
  .questionnaire article .lead--inner--texts {
    max-width: 100%;
    padding-left: 0; }
    .questionnaire article .lead--inner--texts h3 {
      font-size: 2.1rem; }
    .questionnaire article .lead--inner--texts p {
      font-size: 1.3rem; }
  .questionnaire article .contents--inner .anchor {
    padding: 0 2%; }
    .questionnaire article .contents--inner .anchor ul li {
      width: 23%;
      max-width: 220px; }
      .questionnaire article .contents--inner .anchor ul li a {
        font-size: 1.4rem; }
  .questionnaire article .contents--inner--wrap {
    padding: 0 2%; }
    .questionnaire article .contents--inner--wrap .block h3 {
      letter-spacing: .04em;
      font-size: 2.0rem; }
    .questionnaire article .contents--inner--wrap .block--wrap .box h4 {
      max-width: 90%;
      font-size: 1.8rem;
      letter-spacing: .06em;
      padding: 10px 0;
      left: 5%; }
    .questionnaire article .contents--inner--wrap .block--wrap .box .cont > p {
      letter-spacing: -0.04em;
      font-size: 1.4rem; }
    .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont, .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
      padding: 0 2%; }
    .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
      padding-top: 100px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.attention {
        font-size: 2.0rem;
        padding: 5px; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.green {
        font-size: 1.8rem; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li:nth-of-type(n+2) {
        font-size: 1.6rem; }
      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro {
        margin-top: 40px;
        text-align: left;
        padding: 15px 2%;
        font-size: 1.4rem;
        letter-spacing: 0; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro br {
          display: none; }
        .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro strong {
          display: block;
          letter-spacing: 0;
          font-size: 1.6rem; }
    .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box {
      padding: 0 2%; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box h5, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box h5 {
        font-size: 1.8rem; }
      .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box p {
        font-size: 1.4rem; } }
@media screen and (max-width: 767px) {
  .questionnaire * {
    word-break: break-all;
    line-break: strict;
    word-wrap: break-word;
    overflow-wrap: break-word; }
  .questionnaire article {
    overflow: hidden; }
    .questionnaire article .main {
      width: 83.7%;
      height: 70vw;
      background: url("../images/questionnaire/main_bg.png") no-repeat center/cover; }
    .questionnaire article .lead {
      margin-top: 25px; }
      .questionnaire article .lead--inner--title {
        width: calc(100% - 16.4%); }
        .questionnaire article .lead--inner--title h2 {
          padding: 10px 5%;
          margin-right: 5%;
          font-size: 16px;
          font-size: 5vw; }
        .questionnaire article .lead--inner--title p {
          letter-spacing: .03em;
          font-size: 12px;
          font-size: 3.75vw; }
      .questionnaire article .lead--inner--texts {
        max-width: 90%;
        width: 100%;
        margin: 50px auto 0; }
        .questionnaire article .lead--inner--texts h3 {
          letter-spacing: .02em;
          font-size: 24px;
          font-size: 7.5vw;
          line-height: 1.6; }
        .questionnaire article .lead--inner--texts p {
          font-size: 14px;
          font-size: 4.375vw;
          margin-top: 28px; }
    .questionnaire article .contents {
      margin-top: 100px;
      padding: 50px 0 100px 0; }
      .questionnaire article .contents--inner {
        max-width: 90%;
        padding: 0; }
        .questionnaire article .contents--inner .anchor {
          padding: 0; }
          .questionnaire article .contents--inner .anchor h3 {
            font-size: 18px;
            font-size: 5.625vw;
            letter-spacing: .06em; }
          .questionnaire article .contents--inner .anchor ul {
            margin: 35px auto 0 auto;
            max-width: 100%;
            flex-wrap: wrap; }
            .questionnaire article .contents--inner .anchor ul li {
              width: 48%;
              max-width: none;
              min-height: 52px; }
              .questionnaire article .contents--inner .anchor ul li a {
                padding: 10px 0;
                font-size: 12px;
                font-size: 3.75vw;
                letter-spacing: -0.04em; }
                .questionnaire article .contents--inner .anchor ul li a:after {
                  width: 14px;
                  height: 14px;
                  transition: none;
                  bottom: -18px; }
                .questionnaire article .contents--inner .anchor ul li a:hover:after {
                  bottom: -18px; }
              .questionnaire article .contents--inner .anchor ul li:nth-of-type(2) a {
                font-size: 10px;
                font-size: 3.125vw; }
              .questionnaire article .contents--inner .anchor ul li:nth-of-type(n+3) {
                margin-top: 12vw; }
        .questionnaire article .contents--inner--wrap {
          margin-top: 100px; }
          .questionnaire article .contents--inner--wrap .block h3 {
            padding: 15px 0;
            letter-spacing: .04em;
            font-size: 20px;
            font-size: 6.25vw; }
          .questionnaire article .contents--inner--wrap .block--wrap {
            margin-top: 30px;
            display: block; }
            .questionnaire article .contents--inner--wrap .block--wrap .box {
              padding-top: 0; }
              .questionnaire article .contents--inner--wrap .block--wrap .box h4 {
                position: static;
                max-width: 100%;
                font-size: 15px;
                font-size: 4.6875vw;
                letter-spacing: .06em;
                padding: 8px 0;
                left: 0; }
                .questionnaire article .contents--inner--wrap .block--wrap .box h4.link {
                  padding-right: 3%; }
                  .questionnaire article .contents--inner--wrap .block--wrap .box h4.link span {
                    position: absolute;
                    width: 100%;
                    text-align: center;
                    left: 0;
                    padding-right: 5%; }
                  .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em {
                    display: inline-block; }
                    .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em a {
                      padding: 3px 8px;
                      letter-spacing: .02em;
                      font-size: 13px;
                      font-size: 4.0625vw; }
                      .questionnaire article .contents--inner--wrap .block--wrap .box h4.link em a:after {
                        margin-left: 3px; }
              .questionnaire article .contents--inner--wrap .block--wrap .box .cont {
                padding: 8vw 0 15px 0;
                min-height: inherit; }
                .questionnaire article .contents--inner--wrap .block--wrap .box .cont > p {
                  letter-spacing: 0;
                  font-size: 11px;
                  font-size: 3.4375vw;
                  text-align: left;
                  width: 90%;
                  margin: 25px auto 0 auto; }
                .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl dd {
                  letter-spacing: 0;
                  font-size: 11px;
                  font-size: 3.4375vw; }
                .questionnaire article .contents--inner--wrap .block--wrap .box .cont .comment dl:nth-of-type(n+2) {
                  margin-top: 15px; }
              .questionnaire article .contents--inner--wrap .block--wrap .box:nth-of-type(n+3) {
                margin-top: 0; }
              .questionnaire article .contents--inner--wrap .block--wrap .box:nth-of-type(n+2) {
                margin-top: 35px; }
          .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box {
            width: 100%;
            max-width: none; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b01 .cont > p {
              margin-top: 25px; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b02 .cont .image {
              margin-top: 0; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b04 .cont > p {
              margin-top: 25px; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex {
              margin-right: 0;
              align-items: center; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .map {
                max-width: 50%;
                width: 100%;
                margin-right: 5%; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li {
                line-height: 1.0;
                font-size: 12px;
                font-size: 3.75vw; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li.green {
                  font-size: 14px;
                  font-size: 4.375vw; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont .flex .list li:nth-of-type(n+2) {
                  margin-top: 10px; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont {
              padding-top: 8vw; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list {
                max-width: 90%;
                margin: 0 auto;
                display: block; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dt {
                  font-size: 12px;
                  font-size: 3.75vw;
                  letter-spacing: 0;
                  white-space: nowrap; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl dd {
                  font-size: 10px;
                  font-size: 3.125vw;
                  max-width: 45%; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl.green dt {
                  color: #008742;
                  font-weight: bold;
                  font-size: 14px;
                  font-size: 4.375vw; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:nth-of-type(2) dd span:before {
                  width: 10%; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:last-child dd span:before {
                  width: 90%;
                  top: calc(50% + 1px);
                  left: -100%; }
                .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont .list dl:nth-of-type(n+2) {
                  margin-top: 10px; }
              .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont p {
                margin-top: 25px; }
            .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b05 .cont, .questionnaire article .contents--inner--wrap .block.block01 .block--wrap .box.b06 .cont {
              min-height: inherit; }
          .questionnaire article .contents--inner--wrap .block.block02 h3 {
            line-height: 1.4; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 {
            width: 100%; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont {
              padding-top: 0;
              padding-bottom: 0;
              background-color: transparent; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap {
                max-width: 100%;
                display: block;
                top: 0; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section {
                  width: 100%;
                  max-width: 100%;
                  padding: 0 0 10px 0;
                  background-color: #fff; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section h4 {
                    max-width: 100%;
                    position: static;
                    min-height: inherit; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .image {
                    max-width: 55%;
                    margin: 3vw auto 0 auto; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list {
                    margin-top: 8vw;
                    padding-left: 0;
                    max-width: 90%;
                    margin: 5vw auto 0 auto; }
                    .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li {
                      font-size: 16px;
                      font-size: 5vw; }
                      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li.green {
                        font-size: 20px;
                        font-size: 6.25vw; }
                      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li:nth-of-type(n+2) {
                        margin-top: 10px; }
                      .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section .list li:last-child {
                        margin-top: 12px; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section:nth-of-type(1) .image {
                    margin-top: 5vw; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section:nth-of-type(n+2) {
                    margin-top: 35px; }
                  .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont .full-wrap .section:last-child {
                    padding-bottom: 0; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b01 .cont p {
                width: 100%;
                margin-top: 0;
                padding: 10vw 5% 20px 5%;
                background-color: #fff; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02, .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 {
            margin-top: 35px;
            max-width: 100%;
            width: 100%; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont, .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
              padding-top: 8vw;
              min-height: inherit; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont {
            padding: 8vw 0 20px 0; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont .comment {
              max-width: 90%; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont .comment dl:last-child dd {
                letter-spacing: 0; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b02 .cont p {
              letter-spacing: 0;
              margin-top: 25px; }
          .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont {
            padding: 8vw 0 20px 0; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list {
              display: block;
              max-width: 90%;
              margin: 0 auto; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li {
                line-height: 1.0; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.attention {
                  font-size: 18px;
                  font-size: 5.625vw;
                  padding: 10px;
                  letter-spacing: 0;
                  line-height: 1.4; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li.green {
                  font-size: 16px;
                  font-size: 5vw;
                  line-height: 1.4;
                  letter-spacing: -0.04em; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li:nth-of-type(2) {
                  margin-top: 15px; }
                .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .list li:nth-of-type(n+2) {
                  margin-top: 15px;
                  font-size: 14px;
                  font-size: 4.375vw; }
            .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro {
              width: 90%;
              margin: 20px auto 0 auto;
              padding: 10px 5%;
              font-size: 12px;
              font-size: 3.75vw;
              letter-spacing: 0; }
              .questionnaire article .contents--inner--wrap .block.block02 .block--wrap .box.b03 .cont .outro strong {
                font-size: 14px;
                font-size: 4.375vw;
                white-space: nowrap; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 h4, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 h4 {
            display: block;
            width: 100%;
            transform: none;
            padding-right: 0;
            padding-left: 0;
            white-space: normal; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont {
            padding-top: 8vw;
            padding-bottom: 40px; }
            .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap {
              display: block; }
              .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box {
                width: 100%;
                padding: 0 5%; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box h5, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box h5 {
                  font-size: 14px;
                  font-size: 4.375vw; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box .comment dl dd, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box .comment dl dd {
                  letter-spacing: 0; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box p {
                  font-size: 12px;
                  font-size: 3.75vw;
                  text-align: left; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(1), .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(1) {
                  border-right: none; }
                  .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(1) p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(1) p {
                    margin-top: 25px; }
                .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(2), .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(2) {
                  margin-top: 10vw;
                  padding-top: 10vw;
                  border-top: 1px solid #008742; }
                  .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b01 .cont .half-wrap .half-box:nth-of-type(2) p, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box:nth-of-type(2) p {
                    margin-top: 25px; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b02, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b03 {
            margin-top: 35px;
            max-width: 100%;
            width: 100%; }
            .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b02 .cont, .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b03 .cont {
              padding-top: 8vw; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont .half-wrap .half-box .comment {
            margin-top: 0; }
          .questionnaire article .contents--inner--wrap .block.block03 .block--wrap .box.b04 .cont p {
            margin-top: 25px; }
          .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b01, .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b02 {
            margin-top: 35px;
            max-width: 100%;
            width: 100%; }
            .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b01 .cont, .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b02 .cont {
              padding-top: 35px; }
          .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 h4 {
            max-width: 100%;
            transform: none; }
          .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont {
            padding-top: 8vw; }
            .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap {
              max-width: 90%;
              margin: 0 auto;
              flex-wrap: wrap; }
              .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box {
                display: block;
                width: 48%; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box dl dt {
                  font-size: 14px;
                  font-size: 4.375vw; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box dl dd {
                  max-width: 50%;
                  margin: 5vw auto 0 auto; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box span {
                  font-size: 11px;
                  font-size: 3.4375vw; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box.green dl dt {
                  font-size: 16px;
                  font-size: 5vw; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box:nth-of-type(1) {
                  width: 100%; }
                  .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box:nth-of-type(1) dl dd img {
                    max-width: 50%; }
                .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont .icon-wrap--box:nth-of-type(n+2) {
                  margin-top: 30px; }
            .questionnaire article .contents--inner--wrap .block.block04 .block--wrap .box.b03 .cont p {
              margin-top: 25px; }
          .questionnaire article .contents--inner--wrap .block:nth-of-type(n+2) {
            margin-top: 100px; }
  .questionnaire .footer {
    margin-top: 25px; } }
.vision article .main {
  width: 100%;
  height: 470px;
  background: url("../images/vision/main_bg.png") no-repeat center center/cover; }
.vision article .lead {
  margin-top: 53px; }
  .vision article .lead--inner--title {
    width: calc(100% - 100px);
    margin: 0 0 0 auto;
    display: flex;
    align-items: center; }
    .vision article .lead--inner--title h2 {
      display: inline-block;
      line-height: 1.0;
      padding: 16px 10px;
      background-color: #e8f3d5;
      margin-right: 50px;
      font-size: 2.4rem; }
    .vision article .lead--inner--title p {
      line-height: 1.0;
      letter-spacing: 0.04em;
      font-size: 1.4rem; }
  .vision article .lead--inner--catch {
    max-width: 968px;
    margin: 104px auto 0; }
    .vision article .lead--inner--catch .title {
      font-size: 2.4rem;
      letter-spacing: 0.08em;
      line-height: 1.8;
      font-weight: bold; }
    .vision article .lead--inner--catch p {
      margin-top: 95px;
      font-size: 1.8rem;
      line-height: 2.0; }
.vision article .about {
  margin-top: 145px; }
  .vision article .about--main {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .vision article .about--main .image {
      width: 46.3%;
      height: 500px;
      background: url("../images/vision/img_pic01.png") no-repeat center center/cover; }
      .vision article .about--main .image img {
        display: none; }
    .vision article .about--main .text {
      width: 46.2%; }
      .vision article .about--main .text--inner {
        max-width: 435px; }
        .vision article .about--main .text--inner h4 {
          line-height: 1.0;
          display: inline-block;
          background-color: #e8f3d5;
          padding: 12px;
          font-size: 1.8rem; }
        .vision article .about--main .text--inner h3 {
          margin-top: 50px;
          font-size: 2.8rem; }
        .vision article .about--main .text--inner p {
          margin-top: 45px;
          line-height: 2.0;
          font-size: 1.4rem; }
  .vision article .about--contents {
    max-width: 960px;
    margin: 150px auto 0; }
    .vision article .about--contents--block {
      max-width: 796px; }
      .vision article .about--contents--block .text {
        margin-top: 45px; }
        .vision article .about--contents--block .text h3 {
          font-size: 2.0rem;
          letter-spacing: 0.12em; }
          .vision article .about--contents--block .text h3 span {
            color: #008742; }
          .vision article .about--contents--block .text h3 em {
            letter-spacing: -0.3em; }
        .vision article .about--contents--block .text p {
          margin-top: 40px;
          line-height: 2.0;
          font-size: 1.4rem; }
      .vision article .about--contents--block:nth-of-type(even) {
        margin: 145px 0 0 auto; }
.vision article .goal {
  margin-top: 230px; }
  .vision article .goal--inner h3 {
    max-width: 960px;
    margin: 0 auto;
    border-bottom: 3px solid #e8f3d5;
    margin-bottom: -50px; }
    .vision article .goal--inner h3 span {
      display: inline-block;
      line-height: 1.0;
      background-color: #e8f3d5;
      padding: 12px;
      font-size: 1.8rem;
      margin-bottom: 25px; }
  .vision article .goal--inner--wrap--contents {
    max-width: 960px;
    margin: 100px auto 0; }
    .vision article .goal--inner--wrap--contents h4 {
      font-size: 2.0rem;
      letter-spacing: 0.12em; }
      .vision article .goal--inner--wrap--contents h4 span {
        color: #008742; }
    .vision article .goal--inner--wrap--contents p {
      margin-top: 40px;
      line-height: 2.0;
      font-size: 1.4rem; }
    .vision article .goal--inner--wrap--contents .image {
      margin-top: 50px; }
  .vision article .goal--inner--wrap--box {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse; }
    .vision article .goal--inner--wrap--box .image {
      width: 46.3%;
      height: 500px;
      background: url("../images/vision/img_pic03.png") no-repeat center center/cover; }
      .vision article .goal--inner--wrap--box .image img {
        display: none; }
    .vision article .goal--inner--wrap--box .text {
      width: 46.2%; }
      .vision article .goal--inner--wrap--box .text--inner {
        max-width: 435px;
        margin: 0 0 0 auto; }
        .vision article .goal--inner--wrap--box .text--inner h4 {
          font-size: 2.0rem;
          letter-spacing: 0.12em; }
          .vision article .goal--inner--wrap--box .text--inner h4 span {
            color: #008742; }
        .vision article .goal--inner--wrap--box .text--inner h3 {
          margin-top: 50px;
          font-size: 2.8rem; }
        .vision article .goal--inner--wrap--box .text--inner p {
          line-height: 2.0;
          font-size: 1.4rem; }
        .vision article .goal--inner--wrap--box .text--inner .bold {
          margin-top: 45px;
          font-size: 1.5rem;
          font-weight: bold; }
          .vision article .goal--inner--wrap--box .text--inner .bold em {
            letter-spacing: -0.3em; }
.vision .footer {
  margin-top: 154px; }

@media screen and (max-width: 768px) {
  .vision article .main {
    background: url("../images/vision/main_bg.png") no-repeat center left/cover; }
  .vision article .lead--inner {
    padding: 0 2%; }
  .vision article .about--main .text--inner h3 {
    font-size: 2.2rem; }
  .vision article .about--contents--block .text {
    padding: 0 2%; }
  .vision article .goal--main .text--inner h3 {
    font-size: 2.2rem; }
  .vision article .goal--contents--block .text {
    padding: 0 2%; } }
@media screen and (max-width: 767px) {
  .vision {
    overflow: hidden; }
    .vision em {
      letter-spacing: -0.3em; }
    .vision article .main {
      height: 250px; }
    .vision article .pc_br {
      display: none; }
    .vision article .lead {
      margin-top: 25px; }
      .vision article .lead--inner {
        padding: 0; }
        .vision article .lead--inner--title {
          width: calc(100% - 16.4%); }
          .vision article .lead--inner--title h2 {
            padding: 10px 5%;
            margin-right: 5%;
            font-size: 16px;
            font-size: 5vw;
            white-space: nowrap; }
          .vision article .lead--inner--title p {
            letter-spacing: 0.03em;
            font-size: 12px;
            font-size: 3.75vw; }
        .vision article .lead--inner--catch {
          width: 90%;
          margin: 50px auto 0; }
          .vision article .lead--inner--catch .title {
            font-size: 16px;
            font-size: 5vw;
            letter-spacing: 0.04em; }
          .vision article .lead--inner--catch p {
            margin-top: 40px;
            font-size: 12px;
            font-size: 3.75vw;
            line-height: 1.8; }
    .vision article .about {
      margin-top: 75px; }
      .vision article .about--main {
        display: block; }
        .vision article .about--main .image {
          width: 100%;
          height: 70vw; }
        .vision article .about--main .text {
          width: 90%;
          margin: 25px auto 0; }
          .vision article .about--main .text--inner {
            max-width: 100%; }
            .vision article .about--main .text--inner h4 {
              padding: 10px 5%;
              font-size: 15px;
              font-size: 4.6875vw; }
            .vision article .about--main .text--inner h3 {
              margin-top: 25px;
              font-size: 20px;
              font-size: 6.25vw; }
            .vision article .about--main .text--inner p {
              margin-top: 25px;
              line-height: 1.8;
              font-size: 12px;
              font-size: 3.75vw; }
      .vision article .about--contents {
        max-width: 100%;
        margin: 75px auto 0; }
        .vision article .about--contents--block {
          max-width: 100%; }
          .vision article .about--contents--block .text {
            padding: 0;
            max-width: 90%;
            margin: 25px auto 0; }
            .vision article .about--contents--block .text h3 {
              font-size: 16px;
              font-size: 5vw;
              letter-spacing: 0.06em; }
            .vision article .about--contents--block .text p {
              margin-top: 25px;
              line-height: 1.8;
              font-size: 12px;
              font-size: 3.75vw; }
          .vision article .about--contents--block:nth-of-type(even) {
            margin: 75px 0 0; }
    .vision article .goal {
      margin-top: 75px; }
      .vision article .goal--inner {
        margin: 0 auto;
        max-width: 90%; }
        .vision article .goal--inner h3 {
          line-height: 1.0;
          padding: 25px 0; }
          .vision article .goal--inner h3 span {
            padding: 10px 5%;
            font-size: 16px;
            font-size: 5vw; }
        .vision article .goal--inner--wrap--contents h4 {
          padding: 10px 0;
          font-size: 16px;
          font-size: 5vw; }
        .vision article .goal--inner--wrap--contents p {
          letter-spacing: 0.03em;
          font-size: 12px;
          font-size: 3.75vw; }
        .vision article .goal--inner--wrap--box {
          display: block; }
          .vision article .goal--inner--wrap--box .image {
            width: 100%;
            height: 50vw;
            margin-bottom: 25px; }
          .vision article .goal--inner--wrap--box .text {
            width: 100%; }
            .vision article .goal--inner--wrap--box .text--inner {
              margin-left: 0; }
              .vision article .goal--inner--wrap--box .text--inner h4 {
                padding: 10px 0;
                font-size: 16px;
                font-size: 5vw; }
              .vision article .goal--inner--wrap--box .text--inner .bold {
                letter-spacing: 0.03em;
                font-size: 13px;
                font-size: 4.0625vw; }
              .vision article .goal--inner--wrap--box .text--inner p {
                letter-spacing: 0.03em;
                font-size: 12px;
                font-size: 3.75vw; }
    .vision .footer {
      margin-top: 25px; } }
