@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
html {
  font-size: calc(1vw * 100 / 1366); }

#loading-wrapper {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: 0.3s;
  z-index: 100; }
  #loading-wrapper video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover; }
  #loading-wrapper.loaded {
    opacity: 0;
    pointer-events: none;
    animation: spin 2s linear infinite; }

@keyframes spin {
  0% {
    z-index: 100; }
  100% {
    z-index: -100; } }
.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s; }
  .fadein.fadein-left {
    transform: translate(-30px, 0); }
  .fadein.fadein-right {
    transform: translate(30px, 0); }
  .fadein.fadein-up {
    transform: translate(0, -30px); }
  .fadein.fadein-bottom {
    transform: translate(0, 30px); }
  .fadein.scrollin {
    opacity: 1 !important;
    transform: translate(0, 0) !important; }

/*SuisseIntl-Light*/
@font-face {
  font-family: 'SuisseIntl_Li';
  src: url("../font/SuisseIntl-Light.otf");
  font-weight: 300;
  font-style: normal; }
/*SuisseWorks-Regula*/
@font-face {
  font-family: 'SuisseWorks';
  src: url("../font/SuisseWorks-Regular.otf");
  font-weight: 400;
  font-style: normal; }
/*石井明朝*/
.SI-Li1 {
  font-family: 'SuisseIntl_Li' !important;
  font-weight: 300; }

.SI-Li2 {
  font-family: 'SuisseIntl_Li' !important;
  font-weight: 400; }

/*石井ゴシック*/
/* PC */
@media screen and (min-width: 769px) {
  .anclink {
    padding-top: 70rem;
    margin-top: -70rem; }

  /*フォント*/
  /*SuisseIntl-Light*/
  .ft_01_SI-Li {
    font-size: 25rem;
    letter-spacing: 0.01em;
    line-height: 1.32em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_02_SI-Li {
    font-size: 16rem;
    letter-spacing: 0.01em;
    line-height: 1.31em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_03_SI-Li {
    font-size: 13rem;
    line-height: 1.31em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_04_SI-Li {
    font-size: 14rem;
    line-height: 1.64em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_05_SI-Li {
    font-size: 12rem;
    line-height: 1.33em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  /*SuisseWorks-Regula*/
  .ft_01_SW {
    font-size: 32rem;
    line-height: 1.09em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_02_SW {
    font-size: 24rem;
    line-height: 1.25em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_03_SW {
    font-size: 20rem;
    line-height: 1.3em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_04_SW {
    font-size: 18rem;
    line-height: 1.11em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_05_SW {
    font-size: 13rem;
    letter-spacing: 0.01em;
    line-height: 1.3em;
    font-family: 'SuisseWorks', "sans-serif"; }

  /*石井明朝*/
  .ft_01_IshiiMin {
    font-size: 55rem;
    letter-spacing: 0.1em;
    line-height: 1em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_02_IshiiMin {
    font-size: 46rem;
    letter-spacing: 0.2em;
    line-height: 1em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_03_IshiiMin {
    font-size: 30rem;
    line-height: 1.66em;
    font-weight: 500;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_04_IshiiMin {
    font-size: 23rem;
    line-height: 1.52em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_05_IshiiMin {
    font-size: 20rem;
    line-height: 1.6em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_06_IshiiMin {
    font-size: 18rem;
    line-height: 1.66em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_07_IshiiMin {
    font-size: 16rem;
    line-height: 1.5em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_08_IshiiMin {
    font-size: 16rem;
    line-height: 1.875em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_09_IshiiMin {
    font-size: 13rem;
    line-height: 1.84em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_10_IshiiMin {
    font-size: 15rem;
    letter-spacing: 0.3em;
    line-height: 1em;
    font-weight: 500;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  /*石井ゴシック*/
  .ft_01_IshiiGothic {
    font-size: 20rem;
    letter-spacing: 0.06em;
    line-height: 1.3em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_02_IshiiGothic {
    font-size: 18rem;
    line-height: 1.38em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_02_IshiiGothic2 {
    font-size: 18rem;
    line-height: 1.38em;
    font-family: "MFW-PIshiiGothicStdN-B"; }

  .ft_03_IshiiGothic {
    font-size: 16rem;
    letter-spacing: 0.03em;
    line-height: 1.625em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_04_IshiiGothic {
    font-size: 15rem;
    line-height: 1.6em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_05_IshiiGothic {
    font-size: 14rem;
    line-height: 1.428em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_06_IshiiGothic {
    font-size: 19rem;
    line-height: 1.638em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .sponly {
    display: none !important; }

  main {
    min-height: calc(100vh - 340rem); }

  header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
    background: #0B3C33; }
    header .inner {
      height: 70rem;
      box-sizing: border-box;
      padding: 0 30rem;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .inner .header_left {
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        header .inner .header_left .logo {
          width: 212rem;
          margin-right: 104rem; }
        header .inner .header_left .header_nav {
          display: flex;
          justify-content: flex-start; }
          header .inner .header_left .header_nav li {
            padding: 28rem 0 21rem;
            margin-right: 28rem; }
            header .inner .header_left .header_nav li a {
              display: inline-block;
              color: #fff;
              position: relative;
              transition: 0.3s; }
              header .inner .header_left .header_nav li a::after {
                position: absolute;
                content: "";
                width: 100%;
                height: 2rem;
                left: 0;
                bottom: 0;
                background: #B6FF79;
                opacity: 0;
                transition: 0.3s;
                bottom: -21rem; }
              header .inner .header_left .header_nav li a:hover {
                color: #B6FF79; }
                header .inner .header_left .header_nav li a:hover::after {
                  opacity: 1; }
              header .inner .header_left .header_nav li a.active {
                color: #B6FF79; }
                header .inner .header_left .header_nav li a.active::after {
                  opacity: 1;
                  bottom: -21rem; }
      header .inner .header_right {
        display: flex;
        justify-content: flex-end; }
        header .inner .header_right .contact {
          padding: 28rem 0 21rem; }
          header .inner .header_right .contact a {
            display: inline-block;
            color: #fff;
            position: relative;
            transition: 0.3s; }
            header .inner .header_right .contact a::after {
              position: absolute;
              content: "";
              width: 100%;
              height: 2rem;
              left: 0;
              bottom: 0;
              background: #B6FF79;
              opacity: 0;
              transition: 0.3s;
              bottom: -21rem; }
            header .inner .header_right .contact a:hover {
              color: #B6FF79; }
              header .inner .header_right .contact a:hover::after {
                opacity: 1; }
            header .inner .header_right .contact a.active {
              color: #B6FF79; }
              header .inner .header_right .contact a.active::after {
                opacity: 1;
                bottom: -21rem; }
        header .inner .header_right .header_link {
          width: 150rem;
          margin-left: 33rem;
          padding: 13rem 0 12rem; }
          header .inner .header_right .header_link a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            header .inner .header_right .header_link a:hover {
              opacity: 0.8; }

  #top_mv {
    position: relative;
    padding-top: 70rem; }
    #top_mv .top_mv_inner {
      position: relative;
      height: calc(100vh - 70rem);
      width: 100%; }
      #top_mv .top_mv_inner .top_mv_video {
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%; }
      #top_mv .top_mv_inner video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        object-fit: cover; }
      #top_mv .top_mv_inner .top_mv_info {
        position: absolute;
        z-index: 2;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url("../img/topmv_bg.png") repeat-x center bottom;
        background-size: cover;
        display: flex;
        align-items: flex-end; }
        #top_mv .top_mv_inner .top_mv_info .top_mv_infoin {
          box-sizing: border-box;
          padding: 0 0 60rem 60rem; }
          #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_ttl {
            font-size: 44rem;
            margin-bottom: 24rem;
            color: #fff;
            text-shadow: 2rem 2rem 4rem rgba(0, 0, 0, 0.5); }
          #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_txt {
            font-size: 20rem;
            line-height: 1.7em;
            margin-bottom: 34rem;
            color: #fff;
            text-shadow: 2rem 2rem 4rem rgba(0, 0, 0, 0.5); }
          #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_btn {
            display: flex;
            justify-content: flex-start; }
            #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_btn .more_btn:first-child {
              margin-right: 16rem; }
    #top_mv .inner {
      width: 1162rem;
      margin: 0 auto;
      padding: 260rem 0 192rem;
      color: #fff; }
      #top_mv .inner .top_mv_txt {
        margin: 34rem 0 55rem; }
      #top_mv .inner .top_mv_btn {
        display: flex;
        justify-content: flex-start; }
        #top_mv .inner .top_mv_btn .more_btn:first-child {
          margin-right: 16rem; }

  /*ボタン*/
  .more_btn {
    width: 130rem; }
    .more_btn a {
      display: block;
      width: 100%;
      color: #fff;
      box-sizing: border-box;
      border: solid 1rem;
      padding: 14rem 0 13rem 13rem;
      position: relative;
      transition: 0.3s; }
      .more_btn a::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 10rem;
        right: 11rem;
        top: 50%;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        z-index: 2; }
      .more_btn a::after {
        position: absolute;
        content: "";
        width: 0;
        height: 100%;
        left: 0;
        top: 0;
        -webkit-transition: width .03s ease-in-out;
        -o-transition: width 0.3s ease-in-out;
        transition: width 0.3s ease-in-out; }
      .more_btn a span {
        position: relative;
        z-index: 2; }
      .more_btn a:hover::after {
        width: 100%; }
      .more_btn a:hover span {
        color: #000;
        transition: 0.35; }
    .more_btn.white2 a {
      background-color: rgba(255, 255, 255, 0.15); }
      .more_btn.white2 a::before {
        background-image: url("../img/arrow_white.png"); }
      .more_btn.white2 a::after {
        background-color: #fff; }
      .more_btn.white2 a:hover::before {
        background-image: url("../img/arrow_black.png"); }
      .more_btn.white2 a:hover span {
        color: #000; }
    .more_btn.white a::before {
      background-image: url("../img/arrow_white.png"); }
    .more_btn.white a::after {
      background-color: #fff; }
    .more_btn.white a:hover::before {
      background-image: url("../img/arrow_black.png"); }
    .more_btn.white a:hover span {
      color: #000; }
    .more_btn.green a {
      background-color: #14573D;
      border-color: #14573D; }
      .more_btn.green a::before {
        background-image: url("../img/arrow_white.png"); }
      .more_btn.green a::after {
        background-color: #fff; }
      .more_btn.green a:hover::before {
        background-image: url("../img/arrow_green.png"); }
      .more_btn.green a:hover span {
        color: #14573D; }
    .more_btn.black a {
      color: #000;
      border-color: #000; }
      .more_btn.black a::before {
        background-image: url("../img/arrow_black.png"); }
      .more_btn.black a::after {
        background-color: #14573D; }
      .more_btn.black a:hover {
        border-color: #14573D; }
        .more_btn.black a:hover::before {
          background-image: url("../img/arrow_white.png"); }
        .more_btn.black a:hover span {
          color: #fff; }

  /*矢印リンク*/
  .more_btn2 {
    text-align: right;
    box-sizing: border-box; }
    .more_btn2 a {
      display: inline-block;
      position: relative;
      padding-right: 24rem; }
      .more_btn2 a::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 10rem;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: 0.4s; }
      .more_btn2 a:hover::before {
        right: -10rem; }
      .more_btn2 a.green {
        color: #01A063; }
        .more_btn2 a.green::before {
          background-image: url("../img/arrow_green_02.png"); }

  #top_about {
    background: #0B3C33;
    position: relative; }
    #top_about::before {
      position: absolute;
      content: "";
      width: 320rem;
      height: 200rem;
      top: 0;
      right: 0;
      background: url("../img/top_about_ob_01.png") no-repeat;
      background-size: contain; }
    #top_about::after {
      position: absolute;
      content: "";
      width: 320rem;
      height: 200rem;
      bottom: 0;
      left: 0;
      background: url("../img/top_about_ob_02.png") no-repeat;
      background-size: contain; }
    #top_about .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 110rem 0 100rem;
      display: flex;
      justify-content: space-between;
      color: #fff; }
      #top_about .inner .top_about_left .top_about_ttl {
        margin-bottom: 10rem; }
      #top_about .inner .top_about_right {
        width: 680rem; }
        #top_about .inner .top_about_right .top_about_right_txt {
          margin: 25rem 0 45rem; }

  #top_dialogue .inner {
    width: 1246rem;
    margin: 0 auto;
    padding: 80rem 0; }
    #top_dialogue .inner .top_dialogue_head {
      display: flex;
      justify-content: space-between;
      margin-bottom: 40rem; }
      #top_dialogue .inner .top_dialogue_head .ttlarea .top_dialogue_ttl {
        color: #14573D;
        margin-bottom: 5rem; }
      #top_dialogue .inner .top_dialogue_head .ttlarea .jattl {
        color: #717171; }
    #top_dialogue .inner .top_dialogue_boxes {
      display: flex;
      justify-content: space-between; }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box {
        width: 400rem;
        transition: 0.3s;
        position: relative; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box:hover .top_dialogue_box_txt {
          transition: 0.3s;
          background: #EDEAEA; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_img {
          width: 100%;
          line-height: 0;
          overflow: hidden; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_img img {
            transition: 0.3s; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt {
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          box-sizing: border-box;
          padding: 15rem 20rem 20rem;
          transition: 0.3s;
          background-color: #F2F2F2;
          position: relative; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt::before {
            position: absolute;
            content: "";
            width: 17rem;
            height: 15rem;
            bottom: 23rem;
            right: 20rem;
            background: url("../img/arrow_glay.png") no-repeat;
            background-size: contain; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .name {
            font-weight: bold;
            color: #14573D; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .txt {
            margin: 10rem 0 15rem; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat {
            color: #717171;
            padding-left: 25rem;
            position: relative; }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat::before {
              position: absolute;
              content: "";
              left: 0;
              top: 50%;
              transform: translateY(-50%);
              background-repeat: no-repeat;
              background-position: center;
              background-size: contain; }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.food-hospitality::before {
              width: 15rem;
              height: 17rem;
              background-image: url("../img/icon_fh.png"); }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.it-technology::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_it.png"); }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.healthcare-welfare::before {
              width: 16rem;
              height: 14rem;
              background-image: url("../img/icon_hw.png"); }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.financial-services::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_fs.png"); }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.retail-services::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_rs.png"); }
            #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.construction::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_ma.png"); }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box:hover .top_dialogue_box_img img {
          transform: scale(1.1); }
    #top_dialogue .inner .more_btn {
      margin: 30rem auto 0; }

  #top_service {
    background: #F4F0EA; }
    #top_service .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 80rem 0 90rem; }
      #top_service .inner .top_service_cont {
        display: flex;
        justify-content: space-between;
        position: relative; }
        #top_service .inner .top_service_cont .top_service_left .ttlarea {
          margin-bottom: 20rem; }
          #top_service .inner .top_service_cont .top_service_left .ttlarea .top_service_ttl {
            color: #14573D;
            margin-bottom: 5rem; }
          #top_service .inner .top_service_cont .top_service_left .ttlarea .jattl {
            color: #717171; }
        #top_service .inner .top_service_cont .top_service_boxes {
          width: 889rem;
          display: flex;
          justify-content: space-between; }
          #top_service .inner .top_service_cont .top_service_boxes .top_service_box {
            width: 423rem;
            box-sizing: border-box;
            padding: 24rem 14rem 17rem 24rem;
            border: solid 1rem #A8A8A8; }
            #top_service .inner .top_service_cont .top_service_boxes .top_service_box .top_service_box_head {
              display: flex;
              justify-content: flex-start;
              align-items: center;
              margin-bottom: 40rem; }
              #top_service .inner .top_service_cont .top_service_boxes .top_service_box .top_service_box_head .icon {
                width: 68rem;
                margin-right: 28rem; }
          #top_service .inner .top_service_cont .top_service_boxes .more_btn2 {
            margin-top: 55rem;
            box-sizing: border-box;
            padding-right: 9rem; }
        #top_service .inner .top_service_cont .more_btn {
          position: absolute;
          left: 0;
          bottom: 0; }

  #top_team .inner {
    width: 1306rem;
    padding: 80rem 0; }
    #top_team .inner .top_team_cont {
      position: relative;
      padding: 61rem 0 93rem; }
      #top_team .inner .top_team_cont .top_team_box {
        width: 627rem;
        margin-left: auto; }
        #top_team .inner .top_team_cont .top_team_box .ttlarea .top_team_ttl {
          color: #14573D;
          margin-bottom: 5rem; }
        #top_team .inner .top_team_cont .top_team_box .top_team_img {
          width: 628rem;
          position: absolute;
          top: 0;
          left: 0; }
        #top_team .inner .top_team_cont .top_team_box .top_team_txt {
          margin: 20rem 0 40rem; }

  #top_academy {
    box-sizing: border-box;
    padding: 95rem 0 102rem 140rem;
    background: url("../img/top_academy_bg.png") no-repeat center;
    background-size: cover; }
    #top_academy .top_academy_box .logo {
      width: 320rem; }
    #top_academy .top_academy_box .top_academy_box_txt {
      font-weight: bold;
      color: #fff;
      margin: 10rem 0 20rem; }
    #top_academy .top_academy_box .btn {
      width: 191rem; }
      #top_academy .top_academy_box .btn a {
        display: block;
        width: 100%;
        color: #fff;
        font-weight: bold;
        box-sizing: border-box;
        padding: 11rem 0 10rem 45rem;
        background: url("../img/btn_icon_01.png") no-repeat right 11rem center #01A063;
        background-size: 12rem; }
        #top_academy .top_academy_box .btn a span {
          text-shadow: 1rem 1rem 0 #0D3C34; }

  #top_news {
    background: #F2F2F2; }
    #top_news .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 70rem 0 100rem; }
      #top_news .inner .top_news_cont {
        position: relative;
        display: flex;
        justify-content: space-between; }
        #top_news .inner .top_news_cont .ttlarea .top_news_ttl {
          color: #14573D;
          margin-bottom: 5rem; }
        #top_news .inner .top_news_cont .ttlarea .jattl {
          color: #717171; }
        #top_news .inner .top_news_cont .top_news_boxes {
          width: 827rem; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box {
            display: flex;
            justify-content: space-between;
            padding: 20rem 0 19rem;
            border-bottom: solid 1rem #AAAAAA; }
            #top_news .inner .top_news_cont .top_news_boxes .top_news_box .date {
              color: #717171;
              transition: 0.3s; }
            #top_news .inner .top_news_cont .top_news_boxes .top_news_box .ttl {
              width: 678rem; }
              #top_news .inner .top_news_cont .top_news_boxes .top_news_box .ttl a {
                display: block;
                color: #000;
                transition: 0.3s; }
            #top_news .inner .top_news_cont .top_news_boxes .top_news_box:hover .date {
              color: #01A063; }
            #top_news .inner .top_news_cont .top_news_boxes .top_news_box:hover .ttl a {
              color: #01A063;
              text-decoration: underline; }
        #top_news .inner .top_news_cont .more_btn {
          position: absolute;
          left: 0;
          bottom: 0; }

  footer {
    background: url("../img/footer_ob.png") no-repeat right 0 top 0 #0B3C33;
    background-size: 320rem; }
    footer .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 55rem 0 28rem; }
      footer .inner .footer_menu {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 140rem; }
        footer .inner .footer_menu .logo {
          width: 315rem; }
        footer .inner .footer_menu .footer_nav {
          display: flex;
          justify-content: flex-end; }
          footer .inner .footer_menu .footer_nav li {
            margin-right: 30rem; }
            footer .inner .footer_menu .footer_nav li a {
              display: inline-block;
              color: #fff; }
              footer .inner .footer_menu .footer_nav li a:hover {
                text-decoration: underline; }
      footer .inner .footer_btm {
        position: relative; }
        footer .inner .footer_btm .footer_link {
          width: 159rem;
          padding-bottom: 8rem;
          position: absolute;
          right: 0;
          bottom: 0; }
          footer .inner .footer_btm .footer_link a {
            display: block;
            width: 100%;
            transition: 0.3s; }
            footer .inner .footer_btm .footer_link a:hover {
              opacity: 0.8; }
        footer .inner .footer_btm .fotter_btm_left {
          color: #C7C7C7;
          display: flex;
          justify-content: flex-start; }
          footer .inner .footer_btm .fotter_btm_left .privacy {
            margin-left: 18rem; }
            footer .inner .footer_btm .fotter_btm_left .privacy a {
              color: #C7C7C7; }
              footer .inner .footer_btm .fotter_btm_left .privacy a:hover {
                text-decoration: underline; }

  /*下層共通*/
  .under {
    position: relative;
    margin-top: 70rem; }
    .under .under_ob {
      width: 140rem;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
    .under .punkuzu {
      color: #717171 !important;
      padding: 10rem 0 23rem 39rem;
      box-sizing: border-box;
      position: relative;
      z-index: 3;
      /* パンくずリストの基本設定（横並びにする） */ }
      .under .punkuzu .ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        /* 画面幅からはみ出さないようにする */
        max-width: 96%; }
        .under .punkuzu .ul .li {
          /* 縮小を許可しない（HOMEなどは潰れないようにする） */
          flex-shrink: 0; }
          .under .punkuzu .ul .li:last-child {
            /* 1. テキストを折り返さない（1行にする） */
            white-space: nowrap;
            /* 2. はみ出した部分を隠す */
            overflow: hidden;
            /* 3. はみ出した部分を「...」にする */
            text-overflow: ellipsis;
            /* フレックスボックス内で縮小を許可し、幅の計算を正しくさせる */
            flex-shrink: 1;
            min-width: 0; }
      .under .punkuzu a {
        color: #717171 !important; }
      .under .punkuzu ul {
        display: flex;
        justify-content: flex-start;
        color: #717171; }
        .under .punkuzu ul a {
          color: #717171 !important; }
        .under .punkuzu ul.white {
          color: #fff; }
          .under .punkuzu ul.white a {
            color: #fff !important; }

  /*ABOUT*/
  #about .under_ob {
    z-index: 2; }
  #about .about_head {
    color: #fff;
    padding-bottom: 110rem;
    background: url("../img/about_head_bg.png") no-repeat center;
    background-size: cover;
    position: relative; }
    #about .about_head .about_ttl {
      width: 1246rem;
      margin: 0 auto 5rem;
      padding-top: 13rem; }
    #about .about_head .about_head_cont {
      width: 1136rem;
      margin: 0 auto;
      display: flex;
      justify-content: flex-end; }
      #about .about_head .about_head_cont .about_head_ttl {
        padding-top: 200rem; }
      #about .about_head .about_head_cont .about_head_txt {
        width: 588rem;
        margin-left: 100rem; }
  #about .ttlarea .jattl {
    color: #717171;
    margin-top: 5rem; }
  #about .phil {
    background: url("../img/about_phil_bg.png") no-repeat left bottom;
    background-size: 640rem; }
    #about .phil .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 80rem 0 90rem; }
      #about .phil .inner .phil_cont {
        display: flex;
        justify-content: space-between; }
        #about .phil .inner .phil_cont .phil_boxes {
          width: 678rem; }
          #about .phil .inner .phil_cont .phil_boxes .phil_box {
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            padding: 35rem 0;
            border-bottom: solid 0.5rem #C7C7C7; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box:first-child {
              padding-top: 0; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box:last-child {
              padding-bottom: 0;
              border: none; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl {
              width: 107rem;
              padding: 5rem 0;
              text-align: center;
              position: relative;
              margin-right: 43rem; }
              #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl::before {
                position: absolute;
                content: "";
                width: 6rem;
                height: 6rem;
                top: 0;
                left: 0;
                background: #01A063; }
              #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl::after {
                position: absolute;
                content: "";
                width: 6rem;
                height: 6rem;
                bottom: 0;
                right: 0;
                background: #01A063; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_txt {
              color: #14573D; }
  #about .message {
    background: #F4F0EA; }
    #about .message .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 80rem 0; }
      #about .message .inner .message_box {
        margin-top: 20rem;
        display: flex;
        justify-content: space-between; }
        #about .message .inner .message_box .message_box_left {
          width: 420rem; }
          #about .message .inner .message_box .message_box_left .name {
            margin: 10rem 0 5rem; }
            #about .message .inner .message_box .message_box_left .name span {
              display: inline-block;
              color: #14573D;
              margin-left: 10rem; }
        #about .message .inner .message_box .message_box_right {
          width: 769rem; }
          #about .message .inner .message_box .message_box_right .message_box_ttl {
            font-weight: bold;
            margin-bottom: 20rem; }
  #about .client .inner {
    width: 1246rem;
    margin: 0 auto;
    padding: 80rem 0 90rem; }
    #about .client .inner .client_box {
      width: 1165rem;
      display: flex;
      justify-content: space-between; }
      #about .client .inner .client_box .client_img {
        width: 700rem; }
        #about .client .inner .client_box .client_img .client_img_list {
          display: flex;
          flex-wrap: wrap; }
          #about .client .inner .client_box .client_img .client_img_list li {
            width: 192rem;
            margin-right: 62rem; }
            #about .client .inner .client_box .client_img .client_img_list li:nth-child(3n) {
              margin-right: 0; }
  #about .company {
    background: #F2F2F2; }
    #about .company .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 80rem 0 90rem; }
      #about .company .inner .company_box {
        display: flex;
        justify-content: space-between;
        position: relative;
        min-height: 343rem; }
        #about .company .inner .company_box .company_box_table {
          width: 770rem;
          margin-top: 100rem; }
          #about .company .inner .company_box .company_box_table table {
            width: 100%; }
            #about .company .inner .company_box .company_box_table table tr th {
              width: 150rem;
              text-align: left;
              padding: 15rem 0;
              border-bottom: solid 0.5rem rgba(170, 170, 170, 0.5); }
            #about .company .inner .company_box .company_box_table table tr td {
              width: calc(100% - 150rem);
              text-align: left;
              padding: 15rem 0;
              border-bottom: solid 0.5rem rgba(170, 170, 170, 0.5); }
            #about .company .inner .company_box .company_box_table table tr:first-child th, #about .company .inner .company_box .company_box_table table tr:first-child td {
              padding-top: 0; }
        #about .company .inner .company_box .company_box_img {
          width: 293rem;
          position: absolute;
          left: 0;
          bottom: 0; }

  /*TEAM*/
  #team .team_head {
    width: 1246rem;
    margin: 0 auto 40rem;
    display: flex;
    justify-content: space-between; }
    #team .team_head .team_ttl .enttl {
      color: #0B3C33;
      margin-bottom: 5rem; }
    #team .team_head .team_ttl .jattl {
      color: #717171; }
    #team .team_head .team_head_txt {
      width: 484rem; }
  #team .team_cont {
    width: 1260rem;
    margin: 0 0 100rem 60rem; }
    #team .team_cont .team_cont_ttl {
      color: #14573D;
      margin-bottom: 10rem; }
      #team .team_cont .team_cont_ttl:last-of-type {
        margin-top: 90rem; }
    #team .team_cont .team_boxes {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      #team .team_cont .team_boxes .team_box {
        width: 300rem;
        margin-right: 20rem; }
        #team .team_cont .team_boxes .team_box:nth-child(4n) {
          margin-right: 0; }
        #team .team_cont .team_boxes .team_box:nth-child(n+5) {
          margin-top: 45rem; }
        #team .team_cont .team_boxes .team_box .team_box_img {
          width: 100%;
          overflow: hidden; }
          #team .team_cont .team_boxes .team_box .team_box_img img {
            transition: 0.3s; }
        #team .team_cont .team_boxes .team_box .name {
          display: inline-block;
          padding-right: 18rem;
          position: relative;
          margin: 5rem 0 0; }
          #team .team_cont .team_boxes .team_box .name::before {
            position: absolute;
            content: "";
            width: 6rem;
            height: 11rem;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            background: url("../img/arrow_green_03.png") no-repeat center;
            background-size: contain;
            transition: 0.3s; }
        #team .team_cont .team_boxes .team_box .poti {
          color: #717171; }
        #team .team_cont .team_boxes .team_box:hover .team_box_img img {
          transform: scale(1.1); }
        #team .team_cont .team_boxes .team_box:hover .name::before {
          right: -10rem; }

  /*TEAM（詳細）*/
  #team_d .team_d_cont {
    width: 1246rem;
    margin: 0 auto 90rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    #team_d .team_d_cont .team_d_img {
      width: 510rem; }
    #team_d .team_d_cont .team_d_txt {
      width: 680rem; }
      #team_d .team_d_cont .team_d_txt .enname {
        color: #717171; }
      #team_d .team_d_cont .team_d_txt .janame {
        color: #14573D;
        margin: 5rem 0; }
      #team_d .team_d_cont .team_d_txt .txt {
        margin: 25rem 0 45rem; }
      #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box {
        padding: 15rem 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: solid 0.5em rgba(199, 199, 199, 0.5); }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box:first-child {
          padding-top: 0; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box:last-child {
          border-bottom: none; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl {
          width: 111rem;
          padding: 9rem 0 6rem;
          text-align: center;
          position: relative; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl::before {
            position: absolute;
            content: "";
            width: 6rem;
            height: 6rem;
            left: 0;
            top: 0;
            background: #14573D; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl::after {
            position: absolute;
            content: "";
            width: 6rem;
            height: 6rem;
            right: 0;
            bottom: 0;
            background: #14573D; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl .jattl {
            color: #14573D;
            margin-bottom: 0; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl .enttl {
            color: #C7C7C7; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_left {
          width: 539rem; }
  #team_d .dialogue {
    background: #EAF4EC; }
    #team_d .dialogue .inner {
      width: 1246rem;
      margin: 0 auto;
      padding: 60rem 0; }
      #team_d .dialogue .inner .ttlarea {
        margin-bottom: 15rem; }
        #team_d .dialogue .inner .ttlarea .enttl {
          color: #14573D;
          margin-bottom: 5rem; }
        #team_d .dialogue .inner .ttlarea .jattl {
          color: #717171; }

  /*ダイアログ共通*/
  #dialogue_common .inner {
    width: 1246rem;
    margin: 0 auto; }
    #dialogue_common .inner .dialogue_boxes {
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      #dialogue_common .inner .dialogue_boxes .dialogue_box {
        width: 400rem;
        margin-right: 23rem;
        transition: 0.3s;
        position: relative; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box.dialogue_box_arc:hover .dialogue_box_txt .txt {
          color: #14573D;
          text-decoration: underline; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box.dialogue_box_arc .dialogue_box_txt {
          padding-left: 0 !important;
          padding-right: 0 !important; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box:nth-child(3n) {
          margin-right: 0; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box:nth-child(n+4) {
          margin-top: 55rem; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box::before {
          position: absolute;
          content: "";
          width: 17rem;
          height: 15rem;
          bottom: 23rem;
          right: 20rem;
          background: url("../img/arrow_glay.png") no-repeat;
          background-size: contain; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_img {
          width: 100%;
          line-height: 0;
          overflow: hidden; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_img img {
            transition: 0.3s; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt {
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          box-sizing: border-box;
          padding: 15rem 20rem 20rem;
          background-color: #fff; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .name {
            font-weight: bold;
            color: #14573D; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .txt {
            margin: 10rem 0 15rem;
            min-height: 4.5em; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat {
            color: #717171;
            padding-left: 25rem;
            position: relative; }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat::before {
              position: absolute;
              content: "";
              left: 0;
              top: 50%;
              transform: translateY(-50%);
              background-repeat: no-repeat;
              background-position: center;
              background-size: contain; }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.food-hospitality::before {
              width: 15rem;
              height: 17rem;
              background-image: url("../img/icon_fh.png"); }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.it-technology::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_it.png"); }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.healthcare-welfare::before {
              width: 16rem;
              height: 14rem;
              background-image: url("../img/icon_hw.png"); }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.financial-services::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_fs.png"); }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.retail-services::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_rs.png"); }
            #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.construction::before {
              width: 16rem;
              height: 16rem;
              background-image: url("../img/icon_ma.png"); }
        #dialogue_common .inner .dialogue_boxes .dialogue_box:hover .dialogue_box_img img {
          transform: scale(1.1); }

  /*dialogue（一覧）*/
  #dialogue .dialogue_head {
    width: 1246rem;
    margin: 0 auto 35rem;
    display: flex;
    justify-content: space-between; }
    #dialogue .dialogue_head .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 5rem; }
    #dialogue .dialogue_head .ttlarea .jattl {
      color: #717171; }
    #dialogue .dialogue_head .dialogue_head_txt {
      width: 478rem; }
  #dialogue .dialogue .inner {
    padding-bottom: 100rem; }
    #dialogue .dialogue .inner .dialogue_boxes {
      margin-bottom: 90rem; }

  /*dialogueとnewsのページネーション*/
  .pagenation {
    text-align: center;
    font-size: 0; }
    .pagenation a, .pagenation span {
      display: inline-block;
      width: 10rem;
      height: 10rem;
      font-size: 0;
      background: #EAEAEA;
      margin: 0 3rem; }
    .pagenation .current {
      background: #717171; }

  /*dialogue（詳細）*/
  #dialogue_d .punkuzu {
    padding-bottom: 10rem; }
  #dialogue_d .dialogue_d_head {
    position: relative; }
    #dialogue_d .dialogue_d_head .dialogue_d_head_img {
      position: relative; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_img::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 342rem;
        left: 0;
        bottom: 0;
        background: linear-gradient(to bottom, rgba(139, 139, 139, 0), #464646);
        opacity: 0.68;
        mix-blend-mode: multiply; }
    #dialogue_d .dialogue_d_head .dialogue_d_head_box {
      width: 100%;
      color: #fff;
      text-align: center;
      position: absolute;
      bottom: 67rem;
      left: 50%;
      transform: translateX(-50%);
      text-align: center; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl {
        display: inline-block;
        padding: 0 25rem;
        margin-bottom: 19rem;
        text-shadow: 0 0 6rem rgba(0, 0, 0, 0.6);
        position: relative; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl::before {
          position: absolute;
          content: "";
          width: 6rem;
          height: 6rem;
          top: 0;
          left: 0;
          background: #fff; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl::after {
          position: absolute;
          content: "";
          width: 6rem;
          height: 6rem;
          bottom: 0;
          right: 0;
          background: #fff; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo {
        display: flex;
        justify-content: center;
        align-items: center; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo .logo img {
          width: auto;
          height: 42rem; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo .fixed_logo {
          width: 279rem;
          margin-left: 24rem; }
  #dialogue_d .dialogue_d_body {
    width: 846rem;
    margin: 30rem auto 89rem; }
    #dialogue_d .dialogue_d_body .dialogue_d_ttlarea {
      margin-bottom: 20rem;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat {
        margin-left: 30rem;
        padding-left: 20rem;
        position: relative; }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat::before {
          position: absolute;
          content: "";
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain; }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.food-hospitality::before {
          width: 15rem;
          height: 17rem;
          background-image: url("../img/icon_fh.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.it-technology::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_it.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.healthcare-welfare::before {
          width: 16rem;
          height: 14rem;
          background-image: url("../img/icon_hw.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.financial-services::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_fs.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.retail-services::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_rs.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.construction::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_ma.png"); }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .ttl {
        width: 100%;
        font-weight: bold;
        color: #14573D;
        margin: 25rem 0 20rem; }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .partner {
        font-weight: bold;
        color: #717171; }
    #dialogue_d .dialogue_d_body .dialogue_d_txt {
      margin-bottom: 40rem; }
    #dialogue_d .dialogue_d_body .dialogue_d_boxes {
      margin-bottom: 50rem; }
      #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box {
        position: relative; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_img {
          margin-bottom: 40rem; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_img .dialogue_d_box_imgtxt {
            font-size: 13rem;
            line-height: 1.7em;
            margin-top: 0.4em;
            color: #666666; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box:nth-child(n+2) {
          margin-top: 120rem; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box::before {
          position: absolute;
          content: "";
          width: 286rem;
          height: 24rem;
          bottom: -74rem;
          left: 50%;
          transform: translateX(-50%);
          background: url("../img/dialogue_d_box_ob.png") no-repeat;
          background-size: contain; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box:last-child:before {
          display: none; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl {
          color: #14573D;
          box-sizing: border-box;
          padding-left: 21rem;
          position: relative; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl::before {
            position: absolute;
            content: "";
            width: 5rem;
            height: 5rem;
            left: 0;
            top: 0;
            background: #14573D; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl::after {
            position: absolute;
            content: "";
            width: 5rem;
            height: calc( 100% - 5rem );
            left: 0;
            top: 5rem;
            background: linear-gradient(to bottom, #898989, rgba(206, 206, 206, 0.3)); }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_subttl {
          font-family: "MFW-PIshiiGothicStdN-B" !important;
          margin: 20rem 0; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_txt {
          margin-bottom: 50rem; }
    #dialogue_d .dialogue_d_body .partner_info {
      box-sizing: border-box;
      padding: 40rem 40rem 45rem 33rem;
      background: #F2F2F2;
      position: relative;
      margin-bottom: 90rem; }
      #dialogue_d .dialogue_d_body .partner_info::before {
        position: absolute;
        content: "";
        width: 8rem;
        height: 8rem;
        top: 9rem;
        left: 10rem;
        background: #000; }
      #dialogue_d .dialogue_d_body .partner_info::after {
        position: absolute;
        content: "";
        width: 8rem;
        height: 8rem;
        bottom: 9rem;
        right: 10rem;
        background: #000; }
      #dialogue_d .dialogue_d_body .partner_info .ttl {
        font-weight: bold;
        color: #717171; }
      #dialogue_d .dialogue_d_body .partner_info .name {
        margin: 15rem 0 10rem; }
      #dialogue_d .dialogue_d_body .partner_info .link {
        margin-top: 20rem; }
        #dialogue_d .dialogue_d_body .partner_info .link a {
          display: inline-block;
          color: #717171;
          text-decoration: underline;
          padding-right: 20rem;
          background: url("../img/icon_link.png") no-repeat right center;
          background-size: 12rem; }
  #dialogue_d .page_nation {
    width: 1246rem;
    margin: 0 auto 125rem;
    position: relative;
    text-align: center; }
    #dialogue_d .page_nation a {
      color: #000;
      transition: 0.3s; }
      #dialogue_d .page_nation a:hover {
        color: #01A063; }
    #dialogue_d .page_nation .back {
      display: inline-block;
      border-bottom: solid 0.5rem #707070;
      color: #676767 !important; }
    #dialogue_d .page_nation .prev {
      width: 335rem;
      text-align: left;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
      #dialogue_d .page_nation .prev a {
        display: block;
        width: 100%;
        padding-left: 21rem;
        background: url("../img/prev_arrow_black.png") no-repeat left center;
        background-size: 11rem; }
        #dialogue_d .page_nation .prev a:hover {
          background: url("../img/prev_arrow_green.png") no-repeat left center;
          background-size: 11rem; }
    #dialogue_d .page_nation .next {
      width: 335rem;
      text-align: left;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%); }
      #dialogue_d .page_nation .next a {
        display: block;
        width: 100%;
        padding-right: 21rem;
        background: url("../img/next_arrow_black.png") no-repeat right center;
        background-size: 11rem; }
        #dialogue_d .page_nation .next a:hover {
          background: url("../img/next_arrow_green.png") no-repeat right center;
          background-size: 11rem; }

  /*News（一覧）*/
  #news .ttlarea {
    width: 1246rem;
    margin: 0 auto 30rem; }
    #news .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 5rem; }
    #news .ttlarea .jattl {
      color: #717171; }
  #news .news_body {
    width: 1246rem;
    margin: 0 auto 90rem;
    min-height: calc(100vh - 480rem); }
    #news .news_body .news_cont {
      width: 100%;
      margin-left: auto;
      display: flex;
      justify-content: flex-end; }
      #news .news_body .news_cont:nth-child(n+2) {
        margin-top: 60rem; }
      #news .news_body .news_cont .year {
        color: #14573D; }
      #news .news_body .news_cont .news_boxes {
        width: 888rem;
        border-top: solid 0.6rem rgba(191, 191, 191, 0.6); }
        #news .news_body .news_cont .news_boxes .news_box {
          display: flex;
          justify-content: space-between;
          padding: 15rem 0;
          border-bottom: solid 0.6rem rgba(191, 191, 191, 0.6);
          position: relative; }
          #news .news_body .news_cont .news_boxes .news_box:first-child {
            margin-top: 0 !important;
            border-top: none !important; }
          #news .news_body .news_cont .news_boxes .news_box.up {
            margin-top: 61rem;
            border-top: solid 0.6rem rgba(191, 191, 191, 0.6); }
          #news .news_body .news_cont .news_boxes .news_box.none .year {
            display: none !important; }
          #news .news_body .news_cont .news_boxes .news_box .year {
            position: absolute;
            right: 100%;
            top: 0;
            margin-right: 50rem; }
          #news .news_body .news_cont .news_boxes .news_box .date {
            padding-left: 9rem;
            color: #717171;
            transition: 0.3s; }
          #news .news_body .news_cont .news_boxes .news_box .ttl {
            width: 770rem; }
            #news .news_body .news_cont .news_boxes .news_box .ttl a {
              display: inline-block;
              color: #000;
              transition: 0.3s; }
          #news .news_body .news_cont .news_boxes .news_box:hover .date {
            color: #01A063; }
          #news .news_body .news_cont .news_boxes .news_box:hover .ttl a {
            color: #01A063;
            text-decoration: underline; }
  #news .pagenation {
    margin-bottom: 100rem; }

  /*News（詳細）*/
  #news_d .news_d_body {
    padding-bottom: 100rem; }
    #news_d .news_d_body .news_d_cont {
      width: 846rem;
      margin: 0 auto 90rem; }
      #news_d .news_d_body .news_d_cont .date {
        color: #717171;
        margin-bottom: 15rem; }
      #news_d .news_d_body .news_d_cont .ttl {
        color: #0B3C33;
        margin-bottom: 25rem; }
      #news_d .news_d_body .news_d_cont .news_d_img {
        margin-bottom: 25rem; }
      #news_d .news_d_body .news_d_cont .news_d_box p {
        font-size: 15rem;
        line-height: 1.6em; }
        #news_d .news_d_body .news_d_cont .news_d_box p a {
          color: #0B3C33;
          text-decoration: underline; }
    #news_d .news_d_body .page_nation {
      width: 1246rem;
      margin: 0 auto;
      position: relative;
      text-align: center; }
      #news_d .news_d_body .page_nation a {
        color: #000;
        transition: 0.3s; }
        #news_d .news_d_body .page_nation a:hover {
          color: #01A063; }
      #news_d .news_d_body .page_nation .back {
        display: inline-block;
        border-bottom: solid 0.5rem #707070;
        color: #676767 !important; }
      #news_d .news_d_body .page_nation .prev {
        text-align: left;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .news_d_body .page_nation .prev a {
          display: inline-block;
          width: 100%;
          box-sizing: border-box;
          padding-left: 21rem;
          background: url("../img/prev_arrow_black.png") no-repeat left center;
          background-size: 11rem; }
          #news_d .news_d_body .page_nation .prev a:hover {
            background: url("../img/prev_arrow_green.png") no-repeat left center;
            background-size: 11rem; }
      #news_d .news_d_body .page_nation .next {
        text-align: left;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .news_d_body .page_nation .next a {
          display: inline-block;
          width: 100%;
          box-sizing: border-box;
          padding-right: 21rem;
          background: url("../img/next_arrow_black.png") no-repeat right center;
          background-size: 11rem; }
          #news_d .news_d_body .page_nation .next a:hover {
            background: url("../img/next_arrow_green.png") no-repeat right center;
            background-size: 11rem; }

  /*Contact（共通）*/
  .contact .ttlarea {
    width: 1246rem;
    margin: 0 auto; }
    .contact .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 5rem; }
    .contact .ttlarea .jattl {
      color: #717171; }
  .contact .contact_body {
    width: 1286rem;
    margin: 0 auto; }
    .contact .contact_body .contact_cont {
      width: 750rem;
      margin-left: auto; }
      .contact .contact_body .contact_cont .contact_head {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 60rem; }
        .contact .contact_body .contact_cont .contact_head .txt {
          color: #C7C7C7;
          margin-right: 46rem; }
          .contact .contact_body .contact_cont .contact_head .txt.active1 {
            color: #000; }
          .contact .contact_body .contact_cont .contact_head .txt.active {
            color: #000;
            font-family: "MFW-PIshiiGothicStdN-B"; }
        .contact .contact_body .contact_cont .contact_head .squere {
          width: 7rem;
          height: 7rem;
          background: #C7C7C7;
          margin-right: 46rem; }
          .contact .contact_body .contact_cont .contact_head .squere.active {
            background: #14573D; }
      .contact .contact_body .contact_cont .contact_form table {
        width: 100%;
        margin-bottom: 40rem; }
        .contact .contact_body .contact_cont .contact_form table tr th {
          display: block;
          width: 100%;
          text-align: left; }
          .contact .contact_body .contact_cont .contact_form table tr th .item {
            display: flex;
            justify-content: flex-start;
            align-items: center; }
            .contact .contact_body .contact_cont .contact_form table tr th .item .jattl {
              color: #717171;
              margin-left: 10rem; }
        .contact .contact_body .contact_cont .contact_form table tr td {
          width: 100%;
          display: block;
          padding: 15rem 0 40rem; }
        .contact .contact_body .contact_cont .contact_form table tr:last-child td {
          padding-bottom: 0; }

  /*Contact*/
  #contact .contact_body {
    padding-bottom: 90rem; }
    #contact .contact_body .contact_cont .contact_form table {
      width: 100%;
      margin-bottom: 40rem; }
      #contact .contact_body .contact_cont .contact_form table tr td input.txt {
        width: 100%;
        height: 45rem;
        box-sizing: border-box;
        padding: 0 1em;
        border: solid 1rem #C7C7C7; }
      #contact .contact_body .contact_cont .contact_form table tr td textarea {
        width: 100%;
        height: 147rem;
        box-sizing: border-box;
        padding: 0.5em 1em;
        border: solid 1rem #C7C7C7;
        resize: none; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat .mwform-checkbox-field.horizontal-item {
        display: block;
        margin-left: 0 !important; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat label {
        display: inline-block;
        margin-right: 33rem;
        cursor: pointer; }
        #contact .contact_body .contact_cont .contact_form table tr td .cat label:nth-child(n+4) {
          margin-top: 15rem; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat input[type="checkbox"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 17rem;
        height: 17rem;
        border: solid 1rem #C7C7C7;
        background: #fff;
        box-sizing: border-box;
        position: relative;
        padding: 0 !important;
        margin: 0 8rem 0 0;
        vertical-align: -0.25em; }
        #contact .contact_body .contact_cont .contact_form table tr td .cat input[type="checkbox"]:checked:before {
          position: absolute;
          content: "";
          width: 7rem;
          height: 7rem;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          background: #14573D; }
      #contact .contact_body .contact_cont .contact_form table tr:nth-child(n+2) td {
        padding-top: 8rem; }
    #contact .contact_body .contact_cont .contact_form .privacy {
      margin-bottom: 40rem; }
      #contact .contact_body .contact_cont .contact_form .privacy label {
        cursor: pointer; }
        #contact .contact_body .contact_cont .contact_form .privacy label input[type="checkbox"] {
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          width: 17rem;
          height: 17rem;
          border: solid 1rem #C7C7C7;
          background: #fff;
          box-sizing: border-box;
          position: relative;
          padding: 0 !important;
          margin: 0 8rem 0 0;
          vertical-align: -0.25em; }
          #contact .contact_body .contact_cont .contact_form .privacy label input[type="checkbox"]:checked:before {
            position: absolute;
            content: "";
            width: 7rem;
            height: 7rem;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            background: #14573D; }
    #contact .contact_body .contact_cont .contact_form .btn {
      width: 266rem; }
      #contact .contact_body .contact_cont .contact_form .btn input {
        width: 100%;
        padding: 13rem 0;
        border: none;
        background: #C7C7C7;
        cursor: pointer;
        transition: 0.3s; }
        #contact .contact_body .contact_cont .contact_form .btn input:hover {
          opacity: 0.8; }

  /*Confirm*/
  #confirm .contact_body {
    padding-bottom: 183rem; }
    #confirm .contact_body .contact_cont .contact_form table {
      width: 100%;
      margin-bottom: 57rem; }
      #confirm .contact_body .contact_cont .contact_form table tr th {
        color: #717171; }
    #confirm .contact_body .contact_cont .contact_form .privacy {
      display: none !important; }
    #confirm .contact_body .contact_cont .contact_form .btn {
      width: 266rem; }
      #confirm .contact_body .contact_cont .contact_form .btn input {
        display: block;
        width: 100%;
        padding: 13rem 0;
        border: none;
        cursor: pointer;
        transition: 0.3s; }
        #confirm .contact_body .contact_cont .contact_form .btn input.submit {
          color: #fff;
          background: #14573D;
          margin-bottom: 20rem; }
        #confirm .contact_body .contact_cont .contact_form .btn input.back {
          background: #C7C7C7; }
        #confirm .contact_body .contact_cont .contact_form .btn input:hover {
          opacity: 0.8; }

  /*Complete*/
  #complete .contact_body {
    padding-bottom: 190rem; }
    #complete .contact_body .complete_txt {
      margin-bottom: 100rem; }
    #complete .contact_body .btn {
      width: 266rem; }
      #complete .contact_body .btn a {
        display: block;
        width: 100%;
        letter-spacing: 0.06em;
        color: #000;
        text-align: center;
        padding: 13rem 0;
        background: #C7C7C7;
        transition: 0.3s; }
        #complete .contact_body .btn a:hover {
          opacity: 0.8; }

  /*PrivacyPolicy*/
  #privacy .ttlarea {
    width: 1246rem;
    margin: 0 auto 35rem; }
    #privacy .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 5rem; }
    #privacy .ttlarea .jattl {
      color: #717171; }
  #privacy .privacy_body {
    width: 846rem;
    margin: 0 auto;
    padding-bottom: 140rem; }
    #privacy .privacy_body .privacy_txt {
      font-weight: bold;
      margin-bottom: 50rem;
      line-height: 1.66em !important; }
    #privacy .privacy_body .privacy_cont dl:nth-child(n+2) {
      margin-top: 45rem; }
    #privacy .privacy_body .privacy_cont dl dt {
      font-weight: bold;
      position: relative;
      box-sizing: border-box;
      padding-left: 16rem;
      margin-bottom: 10rem; }
      #privacy .privacy_body .privacy_cont dl dt::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 11rem;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: #000; }

  #service {
    /*各タイトルの共通*/ }
    #service .service_ttl {
      width: 1246rem;
      margin: 0 auto 40rem;
      display: flex;
      justify-content: space-between; }
      #service .service_ttl .ttlarea .enttl {
        color: #14573D;
        margin-bottom: 5rem; }
      #service .service_ttl .ttlarea .jattl {
        color: #717171; }
      #service .service_ttl .service_txt {
        width: 484rem; }
    #service .cont_ttl {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      #service .cont_ttl .enttl {
        margin-right: 20rem; }
      #service .cont_ttl .jattl {
        font-weight: bold; }
    #service .box_ttl {
      box-sizing: border-box;
      padding-left: 46rem;
      position: relative; }
      #service .box_ttl::before {
        position: absolute;
        content: "";
        width: 36rem;
        height: 36rem;
        top: 0;
        left: 0;
        background-repeat: no-repeat;
        background-position: left top;
        background-size: contain; }
      #service .box_ttl.box_ttl_01::before {
        background-image: url("../img/service_box_ttl_icon_01.png"); }
      #service .box_ttl.box_ttl_02::before {
        background-image: url("../img/service_box_ttl_icon_02.png"); }
      #service .box_ttl.box_ttl_03::before {
        background-image: url("../img/service_box_ttl_icon_03.png"); }
      #service .box_ttl.box_ttl_04::before {
        background-image: url("../img/service_box_ttl_icon_04.png"); }
      #service .box_ttl.box_ttl_05::before {
        background-image: url("../img/service_box_ttl_icon_05.png"); }
      #service .box_ttl.box_ttl_06::before {
        background-image: url("../img/service_box_ttl_icon_06.png"); }
      #service .box_ttl.box_ttl_07::before {
        background-image: url("../img/service_box_ttl_icon_07.png"); }
      #service .box_ttl.box_ttl_08::before {
        background-image: url("../img/service_box_ttl_icon_08.png"); }
      #service .box_ttl .enttl {
        color: #01A063; }
    #service .service_head {
      width: 1246rem;
      margin: 0 auto 80rem;
      display: flex;
      justify-content: space-between; }
      #service .service_head .service_head_cont {
        width: 600rem; }
        #service .service_head .service_head_cont .service_head_ttl {
          padding-bottom: 10rem;
          border-bottom: solid 2rem #C7C7C7; }
        #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box {
          display: flex;
          justify-content: space-between; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(n+2) {
            border-top: solid 0.5rem rgba(199, 199, 199, 0.5); }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(1) {
            padding: 25rem 0 20rem; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(2) {
            padding: 15rem 0; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(3) {
            padding: 15rem 0 0; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_ttl {
            width: 205rem; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_txt {
            flex: 1; }
        #service .service_head .service_head_cont.cont02 .service_head_boxes {
          padding-top: 25rem;
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box {
            width: 284rem; }
            #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box:nth-child(n+3) {
              margin-top: 25rem; }
    #service .service_header {
      width: 100%;
      position: fixed;
      left: 0;
      top: 0;
      background: #fff;
      z-index: 9;
      transition: top 0.4s ease; }
      #service .service_header.fixed {
        top: 70rem; }
      #service .service_header .inner {
        width: 1246rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between; }
        #service .service_header .inner .cont_ttl {
          width: 600rem;
          padding: 10rem 0 10rem; }
          #service .service_header .inner .cont_ttl.active {
            border-bottom: solid 2rem #01A063; }
    #service .service_body .service_cont {
      padding-top: 80rem; }
      #service .service_body .service_cont .inner {
        width: 1246rem;
        margin: 0 auto; }
      #service .service_body .service_cont.cont01 {
        background: #EAF4EC; }
        #service .service_body .service_cont.cont01 .service_cont_ttl {
          margin-bottom: 40rem; }
        #service .service_body .service_cont.cont01 .service_boxes .service_box {
          display: flex;
          justify-content: space-between;
          padding-bottom: 60rem; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(2) {
            padding-top: 60rem;
            position: relative; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(2)::before {
              position: absolute;
              content: "";
              width: 100vw;
              height: 100%;
              top: 0;
              left: 50%;
              transform: translateX(-50%);
              background: #DFEFE2; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(3) {
            padding: 60rem 0 80rem; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_ttl {
            width: 423rem;
            position: relative;
            z-index: 2; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_ttl.box_ttl::before {
              mix-blend-mode: multiply; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right {
            width: 823rem;
            position: relative;
            z-index: 2; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in {
              display: flex;
              justify-content: space-between;
              box-sizing: border-box;
              padding-left: 19rem;
              border-left: solid 1rem #717171; }
              #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in:nth-child(n+2) {
                margin-top: 40rem; }
              #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in dl {
                width: 465rem; }
                #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in dl dt {
                  color: #0B3C33;
                  margin-bottom: 15rem;
                  line-height: 1 !important; }
              #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in .service_box_img {
                width: 300rem; }
      #service .service_body .service_cont.cont02 {
        padding-bottom: 90rem;
        background: #F4F0EA; }
        #service .service_body .service_cont.cont02 .inner {
          display: flex;
          justify-content: space-between;
          align-items: flex-start; }
          #service .service_body .service_cont.cont02 .inner .service_cont_ttl {
            width: 423rem; }
          #service .service_body .service_cont.cont02 .inner .service_boxes {
            width: 823rem;
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap; }
            #service .service_body .service_cont.cont02 .inner .service_boxes .service_box {
              width: 317rem;
              box-sizing: border-box;
              padding-left: 19rem;
              border-left: solid 1rem #717171;
              margin-right: 72rem; }
              #service .service_body .service_cont.cont02 .inner .service_boxes .service_box:nth-child(n+3) {
                margin-top: 40rem; }
              #service .service_body .service_cont.cont02 .inner .service_boxes .service_box .service_box_ttl {
                color: #0B3C33;
                margin-bottom: 5rem; }
    #service .voice {
      padding: 84rem 0; }
      #service .voice .inner .ttlarea {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 19rem; }
        #service .voice .inner .ttlarea .enttl {
          margin-right: 18rem;
          color: #14573D; }
        #service .voice .inner .ttlarea .jattl {
          color: #14573D; }
      #service .voice .inner .dialogue_boxes .dialogue_box_txt {
        background-color: #F2F2F2; } }
/* SP */
@media screen and (max-width: 768px) {
  html {
    font-size: calc(1vw * 100 / 375); }

  .anclink {
    padding-top: 23vw;
    margin-top: -23vw; }

  /*フォント*/
  /*SuisseIntl-Light*/
  .ft_01_SI-Li {
    font-size: 25rem;
    letter-spacing: 0.01em;
    line-height: 1.32em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_02_SI-Li {
    font-size: 16rem;
    letter-spacing: 0.01em;
    line-height: 1.31em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_03_SI-Li {
    font-size: 13rem;
    line-height: 1.31em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_04_SI-Li {
    font-size: 14rem;
    letter-spacing: 0.01em;
    line-height: 1.28em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  .ft_05_SI-Li {
    font-size: 12rem;
    line-height: 1.33em;
    font-family: 'SuisseIntl_Li', "sans-serif"; }

  /*SuisseWorks-Regula*/
  .ft_01_SW {
    font-size: 25rem;
    line-height: 1.4em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_02_SW {
    font-size: 24rem;
    line-height: 1.25em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_03_SW {
    font-size: 18rem;
    line-height: 1.33em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_04_SW {
    font-size: 14rem;
    line-height: 1.28em;
    font-family: 'SuisseWorks', "sans-serif"; }

  .ft_05_SW {
    font-size: 13rem;
    letter-spacing: 0.01em;
    line-height: 1.3em;
    font-family: 'SuisseWorks', "sans-serif"; }

  /*石井明朝*/
  .ft_01_IshiiMin {
    font-size: 38rem;
    letter-spacing: 0.1em;
    line-height: 1em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_02_IshiiMin {
    font-size: 30rem;
    letter-spacing: 0.2em;
    line-height: 1.16em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_03_IshiiMin {
    font-size: 25rem;
    line-height: 1.6em;
    font-weight: 500;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_04_IshiiMin {
    font-size: 23rem;
    line-height: 1.74em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_05_IshiiMin {
    font-size: 20rem;
    line-height: 1.6em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_06_IshiiMin {
    font-size: 18rem;
    line-height: 1.33em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_07_IshiiMin {
    font-size: 15rem;
    line-height: 1.46em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_08_IshiiMin {
    font-size: 16rem;
    line-height: 1.875em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_09_IshiiMin {
    font-size: 13rem;
    line-height: 1.84em;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  .ft_10_IshiiMin {
    font-size: 15rem;
    letter-spacing: 0.3em;
    line-height: 1em;
    font-weight: 500;
    font-family: "MFW-PIshiiMinchoStdN-R"; }

  /*石井ゴシック*/
  .ft_01_IshiiGothic {
    font-size: 20rem;
    letter-spacing: 0.06em;
    line-height: 1.5em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_02_IshiiGothic {
    font-size: 18rem;
    line-height: 1.66em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_02_IshiiGothic2 {
    font-size: 18rem;
    line-height: 1.66em;
    font-family: "MFW-PIshiiGothicStdN-B"; }

  .ft_03_IshiiGothic {
    font-size: 16rem;
    letter-spacing: 0.03em;
    line-height: 1.625em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_04_IshiiGothic {
    font-size: 14rem;
    line-height: 1.64em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_05_IshiiGothic {
    font-size: 13rem;
    line-height: 2em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .ft_06_IshiiGothic {
    font-size: 13rem;
    line-height: 1.3em;
    font-family: "MFW-PIshiiGothicStdN-R"; }

  .pconly {
    display: none !important; }

  header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background: #0B3C33;
    z-index: 20; }
    header .inner {
      width: 345rem;
      margin: 0 auto;
      height: 65rem;
      box-sizing: border-box;
      padding: 24rem 0; }
      header .inner .logo {
        width: 171rem; }
        header .inner .logo a {
          display: block;
          width: 100%; }

  /*ハンバーガー メニュー*/
  nav.hum {
    display: block;
    position: fixed;
    top: 65rem;
    right: -100vw;
    /*bottom: 0;*/
    width: 100%;
    height: calc( 100% - 65rem );
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 21;
    opacity: 1;
    background: #0B3C33;
    box-sizing: border-box;
    border-top: solid 0.5rem #fff;
    padding-bottom: 17.33vw; }

  .open nav.hum {
    right: 0;
    opacity: 1; }

  nav.hum ul {
    width: 335rem;
    margin: 34rem auto 0;
    font-size: 23rem; }
    nav.hum ul li:nth-child(n+2) {
      margin-top: 35rem; }
    nav.hum ul li a {
      display: inline-block;
      color: #fff;
      padding-right: 22rem;
      background: url("../img/arrow_white.png") no-repeat right center;
      background-size: 12rem; }
  nav.hum .header_link {
    width: 335rem;
    position: absolute;
    bottom: 33rem;
    left: 50%;
    transform: translateX(-50%); }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    display: block;
    position: fixed;
    top: 24rem;
    right: 20rem;
    width: 24rem;
    height: 22rem;
    transition: all .5s;
    cursor: pointer;
    z-index: 23; }

  .toggle_btn span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 24rem;
    height: 2rem;
    background-color: #fff;
    transition: all .5s; }

  .toggle_btn span:nth-child(1) {
    top: 0; }

  .toggle_btn span:nth-child(2) {
    top: 8rem; }

  .toggle_btn span:nth-child(3) {
    top: 16rem; }

  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateX(-50%) translateY(8rem) rotate(-330deg);
    transform: translateX(-50%) translateY(8rem) rotate(-330deg); }

  .open .toggle_btn span:nth-child(2) {
    opacity: 0; }

  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateX(-50%) translateY(-8rem) rotate(330deg);
    transform: translateX(-50%) translateY(-8rem) rotate(330deg); }

  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s; }

  .open #mask {
    display: block;
    transition: all .5s;
    position: absolute;
    top: 13.73vw;
    right: 0;
    width: 100%;
    height: 100vh;
    z-index: 20; }

  #top_mv .top_mv_inner {
    position: relative;
    height: 100vh;
    width: 100%; }
    #top_mv .top_mv_inner .top_mv_video {
      position: absolute;
      z-index: 1;
      width: 100%;
      height: 100%; }
    #top_mv .top_mv_inner video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      object-fit: cover; }
    #top_mv .top_mv_inner .top_mv_info {
      position: absolute;
      z-index: 2;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: url("../img/topmv_bgsp.png") repeat-x center bottom;
      background-size: cover;
      display: flex;
      align-items: flex-end; }
      #top_mv .top_mv_inner .top_mv_info .top_mv_infoin {
        box-sizing: border-box;
        padding: 0 20rem 40rem 20rem; }
        #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_ttl {
          font-size: 32rem;
          margin-bottom: 16rem;
          color: #fff;
          text-shadow: 2rem 2rem 4rem rgba(0, 0, 0, 0.5); }
        #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_txt {
          font-size: 16rem;
          line-height: 1.7em;
          margin-bottom: 20rem;
          color: #fff;
          text-shadow: 2rem 2rem 4rem rgba(0, 0, 0, 0.5); }
        #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_btn {
          display: flex;
          justify-content: flex-start; }
          #top_mv .top_mv_inner .top_mv_info .top_mv_infoin .top_mv_btn .more_btn:first-child {
            margin-right: 16rem; }
  #top_mv .inner {
    width: 335rem;
    margin: 0 auto;
    padding: 530rem 0 67rem;
    color: #fff; }
    #top_mv .inner .top_mv_txt {
      margin: 25rem 0 45rem; }
    #top_mv .inner .top_mv_btn {
      display: flex;
      justify-content: flex-start; }
      #top_mv .inner .top_mv_btn .more_btn:first-child {
        margin-right: 17rem; }

  /*ボタン*/
  .more_btn {
    width: 130rem;
    position: relative;
    z-index: 2; }
    .more_btn a {
      display: block;
      width: 100%;
      color: #fff;
      box-sizing: border-box;
      border: solid 1rem;
      padding: 14rem 0 13rem 15rem;
      position: relative;
      transition: 0.3s; }
      .more_btn a::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 10rem;
        right: 11rem;
        top: 50%;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        z-index: 2; }
      .more_btn a::after {
        position: absolute;
        content: "";
        width: 0;
        height: 100%;
        left: 0;
        top: 0;
        -webkit-transition: width .03s ease-in-out;
        -o-transition: width 0.3s ease-in-out;
        transition: width 0.3s ease-in-out; }
      .more_btn a span {
        position: relative;
        z-index: 2; }
      .more_btn a:hover::after {
        width: 100%; }
      .more_btn a:hover span {
        color: #000;
        transition: 0.35; }
    .more_btn.white2 {
      background-color: rgba(255, 255, 255, 0.15); }
      .more_btn.white2 a::before {
        background-image: url("../img/arrow_white.png"); }
      .more_btn.white2 a::after {
        background-color: #fff; }
      .more_btn.white2 a:hover::before {
        background-image: url("../img/arrow_black.png"); }
      .more_btn.white2 a:hover span {
        color: #000; }
    .more_btn.white a::before {
      background-image: url("../img/arrow_white.png"); }
    .more_btn.white a::after {
      background-color: #fff; }
    .more_btn.white a:hover::before {
      background-image: url("../img/arrow_black.png"); }
    .more_btn.white a:hover span {
      color: #000; }
    .more_btn.green a {
      background-color: #14573D;
      border-color: #14573D; }
      .more_btn.green a::before {
        background-image: url("../img/arrow_white.png"); }
      .more_btn.green a::after {
        background-color: #fff; }
      .more_btn.green a:hover::before {
        background-image: url("../img/arrow_green.png"); }
      .more_btn.green a:hover span {
        color: #14573D; }
    .more_btn.black a {
      color: #000;
      border-color: #000; }
      .more_btn.black a::before {
        background-image: url("../img/arrow_black.png"); }
      .more_btn.black a::after {
        background-color: #14573D; }
      .more_btn.black a:hover {
        border-color: #14573D; }
        .more_btn.black a:hover::before {
          background-image: url("../img/arrow_white.png"); }
        .more_btn.black a:hover span {
          color: #fff; }

  /*矢印リンク*/
  .more_btn2 {
    text-align: right;
    box-sizing: border-box; }
    .more_btn2 a {
      display: inline-block;
      position: relative;
      padding-right: 24rem; }
      .more_btn2 a::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 10rem;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: 0.4s; }
      .more_btn2 a:hover::before {
        right: -10rem; }
      .more_btn2 a.green {
        color: #01A063; }
        .more_btn2 a.green::before {
          background-image: url("../img/arrow_green_02.png"); }

  #top_about {
    background: #0B3C33;
    position: relative;
    margin-top: -1rem; }
    #top_about::before {
      position: absolute;
      content: "";
      width: 176rem;
      height: 144rem;
      top: 0;
      right: 0;
      background: url("../img/top_about_ob_01_sp.png") no-repeat;
      background-size: contain; }
    #top_about::after {
      position: absolute;
      content: "";
      width: 176rem;
      height: 144rem;
      bottom: 0;
      left: 0;
      background: url("../img/top_about_ob_02_sp.png") no-repeat;
      background-size: contain; }
    #top_about .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 80rem 0 90rem;
      color: #fff;
      position: relative;
      z-index: 2; }
      #top_about .inner .top_about_left {
        margin-bottom: 45rem; }
        #top_about .inner .top_about_left .top_about_ttl {
          font-size: 24rem;
          margin-bottom: 3rem; }
      #top_about .inner .top_about_right .top_about_right_txt {
        margin: 15rem 0 45rem; }

  #top_dialogue .inner {
    width: 335rem;
    margin: 0 auto;
    padding: 60rem 0 80rem; }
    #top_dialogue .inner .top_dialogue_head {
      margin-bottom: 15rem; }
      #top_dialogue .inner .top_dialogue_head .ttlarea {
        margin-bottom: 15rem; }
        #top_dialogue .inner .top_dialogue_head .ttlarea .top_dialogue_ttl {
          color: #14573D;
          margin-bottom: 3rem; }
        #top_dialogue .inner .top_dialogue_head .ttlarea .jattl {
          color: #717171; }
    #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box {
      width: 100%;
      transition: 0.3s;
      position: relative; }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box:nth-child(n+2) {
        margin-top: 20rem; }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box::before {
        position: absolute;
        content: "";
        width: 17rem;
        height: 15rem;
        bottom: 17rem;
        right: 21rem;
        background: url("../img/arrow_glay.png") no-repeat;
        background-size: contain; }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_img {
        width: 100%;
        line-height: 0;
        overflow: hidden; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_img img {
          transition: 0.3s; }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        box-sizing: border-box;
        padding: 15rem 12rem 15rem 13rem;
        background-color: #F2F2F2; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .name {
          font-weight: bold;
          color: #14573D; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .date {
          font-size: 12rem; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .txt {
          margin: 10rem 0 15rem; }
        #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat {
          color: #717171;
          padding-left: 25rem;
          position: relative; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat::before {
            position: absolute;
            content: "";
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain; }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.food-hospitality::before {
            width: 15rem;
            height: 17rem;
            background-image: url("../img/icon_fh.png"); }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.it-technology::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_it.png"); }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.healthcare-welfare::before {
            width: 16rem;
            height: 14rem;
            background-image: url("../img/icon_hw.png"); }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.financial-services::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_fs.png"); }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.retail-services::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_rs.png"); }
          #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box .top_dialogue_box_txt .cat.construction::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_ma.png"); }
      #top_dialogue .inner .top_dialogue_boxes .top_dialogue_box:hover .top_dialogue_box_img img {
        transform: scale(1.1); }
    #top_dialogue .inner .more_btn {
      margin: 30rem auto 0; }

  #top_service {
    background: #F4F0EA; }
    #top_service .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 60rem 0 80rem; }
      #top_service .inner .top_service_cont .top_service_left {
        margin-bottom: 25rem; }
        #top_service .inner .top_service_cont .top_service_left .ttlarea {
          margin-bottom: 15rem; }
          #top_service .inner .top_service_cont .top_service_left .ttlarea .top_service_ttl {
            color: #14573D;
            margin-bottom: 3rem; }
          #top_service .inner .top_service_cont .top_service_left .ttlarea .jattl {
            color: #717171; }
      #top_service .inner .top_service_cont .top_service_boxes {
        width: 100%; }
        #top_service .inner .top_service_cont .top_service_boxes .top_service_box {
          width: 100%;
          box-sizing: border-box;
          padding: 21rem 19rem 39rem 19rem;
          border: solid 1rem #A8A8A8;
          position: relative; }
          #top_service .inner .top_service_cont .top_service_boxes .top_service_box:first-child {
            margin-bottom: 30rem; }
          #top_service .inner .top_service_cont .top_service_boxes .top_service_box .top_service_box_head {
            margin-bottom: 20rem; }
            #top_service .inner .top_service_cont .top_service_boxes .top_service_box .top_service_box_head .icon {
              width: 70rem;
              margin-bottom: 30rem; }
        #top_service .inner .top_service_cont .top_service_boxes .more_btn2 {
          position: absolute;
          top: 22rem;
          right: 22rem; }
      #top_service .inner .top_service_cont .more_btn {
        margin: 60rem auto 0; }

  #top_team .inner {
    width: 100%;
    padding: 60rem 0 80rem; }
    #top_team .inner .top_team_cont {
      margin: 0 auto;
      position: relative; }
      #top_team .inner .top_team_cont .top_team_box {
        width: 100%; }
        #top_team .inner .top_team_cont .top_team_box .ttlarea {
          width: 335rem;
          margin: 0 auto;
          margin-bottom: 15rem; }
          #top_team .inner .top_team_cont .top_team_box .ttlarea .top_team_ttl {
            color: #14573D;
            margin-bottom: 3rem; }
          #top_team .inner .top_team_cont .top_team_box .ttlarea .jattl {
            color: #717171; }
        #top_team .inner .top_team_cont .top_team_box .top_team_txt {
          width: 335rem;
          margin: 15rem auto 40rem; }
        #top_team .inner .top_team_cont .top_team_box .more_btns {
          width: 335rem;
          margin: 0 auto; }

  #top_academy {
    height: 600rem;
    box-sizing: border-box;
    padding: 65rem 47rem 0 20rem;
    background: url("../img/top_academy_bg_sp.png") no-repeat center;
    background-size: cover; }
    #top_academy .top_academy_box .logo {
      width: 268rem; }
    #top_academy .top_academy_box .top_academy_box_txt {
      font-size: 23rem;
      font-weight: bold;
      color: #fff;
      margin: 20rem 0 30rem; }
    #top_academy .top_academy_box .btn {
      width: 191rem; }
      #top_academy .top_academy_box .btn a {
        display: block;
        width: 100%;
        color: #fff;
        font-weight: bold;
        box-sizing: border-box;
        padding: 8rem 0 7rem 45rem;
        background: url("../img/btn_icon_01.png") no-repeat right 11rem center #01A063;
        background-size: 12rem; }
        #top_academy .top_academy_box .btn a span {
          text-shadow: 1rem 1rem 0 #0D3C34; }

  #top_news .inner {
    width: 335rem;
    margin: 0 auto;
    padding: 60rem 0 120rem; }
    #top_news .inner .top_news_cont {
      position: relative; }
      #top_news .inner .top_news_cont .ttlarea {
        margin-bottom: 15rem; }
        #top_news .inner .top_news_cont .ttlarea .top_news_ttl {
          color: #14573D;
          margin-bottom: 3rem; }
        #top_news .inner .top_news_cont .ttlarea .jattl {
          color: #717171; }
      #top_news .inner .top_news_cont .top_news_boxes {
        width: 100%;
        margin-bottom: 50rem; }
        #top_news .inner .top_news_cont .top_news_boxes .top_news_box {
          padding: 15rem 0 20rem;
          border-bottom: solid 0.5rem #AAAAAA; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box:first-child {
            padding-top: 0; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box .date {
            color: #717171;
            transition: 0.3s;
            margin-bottom: 5rem; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box .ttl {
            width: 100%; }
            #top_news .inner .top_news_cont .top_news_boxes .top_news_box .ttl a {
              display: block;
              color: #000;
              transition: 0.3s; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box:hover .date {
            color: #01A063; }
          #top_news .inner .top_news_cont .top_news_boxes .top_news_box:hover .ttl a {
            color: #01A063;
            text-decoration: underline; }

  footer {
    background: url("../img/footer_ob_sp.png") no-repeat right 0 top 0 #0B3C33;
    background-size: 176rem; }
    footer .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 46rem 0 20rem; }
      footer .inner .footer_menu {
        margin-bottom: 40rem; }
        footer .inner .footer_menu .logo {
          width: 239rem;
          margin-bottom: 38rem; }
        footer .inner .footer_menu .footer_nav {
          font-size: 16rem; }
          footer .inner .footer_menu .footer_nav li:nth-child(n+2) {
            margin-top: 20rem; }
          footer .inner .footer_menu .footer_nav li a {
            display: inline-block;
            color: #fff; }
            footer .inner .footer_menu .footer_nav li a:hover {
              text-decoration: underline; }
      footer .inner .footer_btm .footer_link {
        width: 159rem;
        margin-bottom: 39rem; }
        footer .inner .footer_btm .footer_link a {
          display: block;
          width: 100%;
          transition: 0.3s; }
          footer .inner .footer_btm .footer_link a:hover {
            opacity: 0.8; }
      footer .inner .footer_btm .fotter_btm_left {
        color: #C7C7C7;
        display: flex;
        justify-content: flex-start; }
        footer .inner .footer_btm .fotter_btm_left .privacy {
          margin-left: 18rem; }
          footer .inner .footer_btm .fotter_btm_left .privacy a {
            color: #C7C7C7; }
            footer .inner .footer_btm .fotter_btm_left .privacy a:hover {
              text-decoration: underline; }

  /*下層共通*/
  .under {
    position: relative;
    margin-top: 65rem; }
    .under .under_ob {
      width: 95rem;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
    .under .punkuzu {
      color: #717171 !important;
      padding: 10rem 0 20rem 20rem;
      box-sizing: border-box;
      position: relative;
      z-index: 3; }
      .under .punkuzu .ul {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
        /* 画面幅からはみ出さないようにする */
        max-width: 96%; }
        .under .punkuzu .ul .li {
          /* 縮小を許可しない（HOMEなどは潰れないようにする） */
          flex-shrink: 0; }
          .under .punkuzu .ul .li:last-child {
            /* 1. テキストを折り返さない（1行にする） */
            white-space: nowrap;
            /* 2. はみ出した部分を隠す */
            overflow: hidden;
            /* 3. はみ出した部分を「...」にする */
            text-overflow: ellipsis;
            /* フレックスボックス内で縮小を許可し、幅の計算を正しくさせる */
            flex-shrink: 1;
            min-width: 0; }
      .under .punkuzu a {
        color: #717171 !important; }
      .under .punkuzu ul {
        display: flex;
        justify-content: flex-start;
        color: #717171; }
        .under .punkuzu ul a {
          color: #717171 !important; }
        .under .punkuzu ul.white {
          color: #fff; }
          .under .punkuzu ul.white a {
            color: #fff !important; }

  /*ABOUT*/
  #about .under_ob {
    z-index: 2; }
  #about .punkuzu {
    padding: 20rem 0 50rem 20rem; }
  #about .about_head {
    color: #fff;
    padding-bottom: 70rem;
    background: url("../img/about_head_bg_sp.png") no-repeat center bottom;
    background-size: cover;
    position: relative; }
    #about .about_head .about_ttl {
      width: 335rem;
      margin: 0 auto 20rem; }
    #about .about_head .about_head_cont {
      width: 335rem;
      margin: 0 auto; }
      #about .about_head .about_head_cont .about_head_ttl {
        margin-bottom: 20rem; }
  #about .ttlarea .jattl {
    color: #717171;
    margin-top: 5rem; }
  #about .phil {
    background: url("../img/about_phil_bg_sp.png") no-repeat left bottom;
    background-size: 229rem; }
    #about .phil .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 80rem 0 90rem; }
      #about .phil .inner .phil_cont .phil_boxes {
        width: 100%;
        margin-top: 30rem; }
        #about .phil .inner .phil_cont .phil_boxes .phil_box {
          padding: 15rem 0 25rem;
          border-top: solid 0.5rem #C7C7C7; }
          #about .phil .inner .phil_cont .phil_boxes .phil_box:last-child {
            padding-bottom: 0; }
          #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl {
            width: 87rem;
            padding: 6rem 0;
            text-align: center;
            position: relative;
            margin-bottom: 10rem; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl::before {
              position: absolute;
              content: "";
              width: 6rem;
              height: 6rem;
              top: 0;
              left: 0;
              background: #01A063; }
            #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_ttl::after {
              position: absolute;
              content: "";
              width: 6rem;
              height: 6rem;
              bottom: 0;
              right: 0;
              background: #01A063; }
          #about .phil .inner .phil_cont .phil_boxes .phil_box .phil_box_txt {
            color: #14573D; }
          #about .phil .inner .phil_cont .phil_boxes .phil_box:nth-child(2) .phil_box_txt {
            width: 105%; }
  #about .message {
    background: #F4F0EA; }
    #about .message .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 60rem 0 70rem; }
      #about .message .inner .message_box {
        margin-top: 20rem; }
        #about .message .inner .message_box .message_box_left {
          width: 100%;
          margin-bottom: 30rem; }
          #about .message .inner .message_box .message_box_left .name {
            margin: 10rem 0 0; }
            #about .message .inner .message_box .message_box_left .name span {
              display: inline-block;
              color: #14573D;
              margin-left: 10rem;
              vertical-align: middle; }
          #about .message .inner .message_box .message_box_left .poti {
            font-size: 13rem; }
        #about .message .inner .message_box .message_box_right {
          width: 100%; }
          #about .message .inner .message_box .message_box_right .message_box_ttl {
            font-size: 20rem;
            line-height: 1.6em;
            font-weight: bold;
            margin-bottom: 20rem; }
          #about .message .inner .message_box .message_box_right .message_box_txt {
            font-size: 15rem;
            line-height: 2em; }
  #about .client .inner {
    width: 334rem;
    margin: 0 auto;
    padding: 60rem 0 80rem; }
    #about .client .inner .client_box {
      width: 100%; }
      #about .client .inner .client_box .client_img {
        margin-top: 30rem; }
        #about .client .inner .client_box .client_img .client_img_list {
          display: flex;
          flex-wrap: wrap; }
          #about .client .inner .client_box .client_img .client_img_list li {
            width: 33.33%; }
  #about .company {
    background: #F2F2F2; }
    #about .company .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 60rem 0 80rem; }
      #about .company .inner .company_box {
        position: relative; }
        #about .company .inner .company_box .company_box_table {
          margin: 15rem 0 30rem;
          width: 100%; }
          #about .company .inner .company_box .company_box_table table {
            width: 100%; }
            #about .company .inner .company_box .company_box_table table tr th {
              display: block;
              width: 100%;
              text-align: left;
              padding: 10rem 0 0; }
            #about .company .inner .company_box .company_box_table table tr td {
              display: block;
              width: 100%;
              text-align: left;
              padding: 5rem 0 10rem;
              border-bottom: solid 0.5rem rgba(170, 170, 170, 0.5); }
        #about .company .inner .company_box .company_box_img {
          width: 100%; }

  /*TEAM*/
  #team .team_head {
    width: 335rem;
    margin: 0 auto 30rem; }
    #team .team_head .team_ttl {
      margin-bottom: 10rem; }
      #team .team_head .team_ttl .enttl {
        color: #0B3C33;
        margin-bottom: 3rem; }
      #team .team_head .team_ttl .jattl {
        color: #717171; }
  #team .team_cont {
    width: 335rem;
    margin: 0 auto;
    padding-bottom: 120rem; }
    #team .team_cont .team_cont_ttl {
      line-height: 1;
      font-size: 20rem;
      color: #14573D;
      margin-bottom: 20rem; }
      #team .team_cont .team_cont_ttl:last-of-type {
        margin-top: 80rem; }
    #team .team_cont .team_boxes .team_box {
      width: 100%; }
      #team .team_cont .team_boxes .team_box:nth-child(n+2) {
        margin-top: 25rem; }
      #team .team_cont .team_boxes .team_box .team_box_img {
        width: 100%;
        overflow: hidden; }
        #team .team_cont .team_boxes .team_box .team_box_img img {
          transition: 0.3s; }
      #team .team_cont .team_boxes .team_box .name {
        display: inline-block;
        padding-right: 18rem;
        position: relative;
        margin: 5rem 0 0; }
        #team .team_cont .team_boxes .team_box .name::before {
          position: absolute;
          content: "";
          width: 6rem;
          height: 11rem;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          background: url("../img/arrow_green_03.png") no-repeat center;
          background-size: contain;
          transition: 0.3s; }
      #team .team_cont .team_boxes .team_box .poti {
        color: #676767; }
      #team .team_cont .team_boxes .team_box:hover .team_box_img img {
        transform: scale(1.1); }
      #team .team_cont .team_boxes .team_box:hover .name::before {
        right: -10rem; }

  /*TEAM（詳細）*/
  #team_d .team_d_cont {
    width: 335rem;
    margin: 0 auto 80rem; }
    #team_d .team_d_cont .team_d_img {
      width: 100%;
      margin-bottom: 10rem; }
    #team_d .team_d_cont .team_d_txt {
      width: 100%; }
      #team_d .team_d_cont .team_d_txt .enname {
        color: #717171; }
      #team_d .team_d_cont .team_d_txt .janame {
        letter-spacing: 0.06em;
        color: #14573D;
        margin: 5rem 0; }
      #team_d .team_d_cont .team_d_txt .poti {
        font-size: 15rem; }
      #team_d .team_d_cont .team_d_txt .txt {
        margin: 25rem 0 45rem; }
      #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box {
        padding: 20rem 0 15rem;
        border-bottom: solid 0.5em rgba(199, 199, 199, 0.5); }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box:first-child {
          padding-top: 0; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box:last-child {
          padding-bottom: 0;
          border: none; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl {
          width: 96rem;
          padding: 10rem 0 0;
          text-align: center;
          position: relative;
          margin-bottom: 12rem; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl::before {
            position: absolute;
            content: "";
            width: 6rem;
            height: 6rem;
            left: 0;
            top: 0;
            background: #14573D; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl::after {
            position: absolute;
            content: "";
            width: 6rem;
            height: 6rem;
            right: 0;
            bottom: 0;
            background: #14573D; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl .jattl {
            color: #14573D;
            margin-bottom: 0; }
          #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_ttl .enttl {
            color: #C7C7C7; }
        #team_d .team_d_cont .team_d_txt .team_d_boxes .team_d_box .team_d_box_left {
          width: 100%; }
  #team_d .dialogue {
    background: #EAF4EC; }
    #team_d .dialogue .inner {
      width: 335rem;
      margin: 0 auto;
      padding: 60rem 0 120rem; }
      #team_d .dialogue .inner .ttlarea {
        margin-bottom: 25rem; }
        #team_d .dialogue .inner .ttlarea .enttl {
          font-size: 18rem;
          letter-spacing: 0.01em;
          color: #14573D;
          margin-bottom: 3rem; }
        #team_d .dialogue .inner .ttlarea .jattl {
          color: #717171; }

  /*ダイアログ共通*/
  #dialogue_common .inner {
    width: 335rem;
    margin: 0 auto; }
    #dialogue_common .inner .dialogue_boxes .dialogue_box {
      width: 100%;
      transition: 0.3s;
      position: relative; }
      #dialogue_common .inner .dialogue_boxes .dialogue_box:nth-child(n+2) {
        margin-top: 20rem; }
      #dialogue_common .inner .dialogue_boxes .dialogue_box::before {
        position: absolute;
        content: "";
        width: 17rem;
        height: 15rem;
        bottom: 17rem;
        right: 21rem;
        background: url("../img/arrow_glay.png") no-repeat;
        background-size: contain; }
      #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_img {
        width: 100%;
        line-height: 0;
        overflow: hidden; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_img img {
          transition: 0.3s; }
      #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        box-sizing: border-box;
        padding: 15rem 12rem 17rem 13rem;
        background-color: #fff; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .name {
          font-weight: bold;
          color: #14573D; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .date {
          font-size: 12rem; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .txt {
          margin: 10rem 0;
          min-height: 4.5em; }
        #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat {
          color: #717171;
          padding-left: 25rem;
          position: relative; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat::before {
            position: absolute;
            content: "";
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain; }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.food-hospitality::before {
            width: 15rem;
            height: 17rem;
            background-image: url("../img/icon_fh.png"); }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.it-technology::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_it.png"); }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.healthcare-welfare::before {
            width: 16rem;
            height: 14rem;
            background-image: url("../img/icon_hw.png"); }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.financial-services::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_fs.png"); }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.retail-services::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_rs.png"); }
          #dialogue_common .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .cat.construction::before {
            width: 16rem;
            height: 16rem;
            background-image: url("../img/icon_ma.png"); }
      #dialogue_common .inner .dialogue_boxes .dialogue_box:hover .dialogue_box_img img {
        transform: scale(1.1); }

  /*dialogue（一覧）*/
  #dialogue .dialogue_head {
    width: 335rem;
    margin: 0 auto 40rem; }
    #dialogue .dialogue_head .ttlarea {
      margin-bottom: 10rem; }
      #dialogue .dialogue_head .ttlarea .enttl {
        color: #14573D;
        margin-bottom: 3rem; }
      #dialogue .dialogue_head .ttlarea .jattl {
        color: #717171; }
    #dialogue .dialogue_head .dialogue_head_txt {
      width: 100%; }
  #dialogue .dialogue .inner {
    padding-bottom: 120rem; }
    #dialogue .dialogue .inner .dialogue_boxes {
      margin-bottom: 60rem; }
      #dialogue .dialogue .inner .dialogue_boxes .dialogue_box:nth-child(n+2) {
        margin-top: 40rem; }
      #dialogue .dialogue .inner .dialogue_boxes .dialogue_box::before {
        right: 0;
        bottom: 0; }
      #dialogue .dialogue .inner .dialogue_boxes .dialogue_box .dialogue_box_txt {
        padding: 5rem 0 0; }
        #dialogue .dialogue .inner .dialogue_boxes .dialogue_box .dialogue_box_txt .txt {
          margin-top: 5rem; }

  /*dialogueとnewsのページネーション*/
  .pagenation {
    text-align: center;
    font-size: 0; }
    .pagenation a, .pagenation span {
      display: inline-block;
      width: 10rem;
      height: 10rem;
      font-size: 0;
      background: #EAEAEA;
      margin: 0 3rem; }
    .pagenation .current {
      background: #717171; }

  /*dialogue（詳細）*/
  #dialogue_d .punkuzu {
    padding-bottom: 15rem; }
  #dialogue_d .dialogue_d_head {
    position: relative; }
    #dialogue_d .dialogue_d_head .dialogue_d_head_img {
      position: relative; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_img::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        bottom: 0;
        background: linear-gradient(to bottom, rgba(139, 139, 139, 0), #464646);
        opacity: 0.68;
        mix-blend-mode: multiply; }
    #dialogue_d .dialogue_d_head .dialogue_d_head_box {
      width: 100%;
      color: #fff;
      text-align: center;
      position: absolute;
      bottom: 24rem;
      left: 50%;
      transform: translateX(-50%);
      text-align: center; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl {
        display: inline-block;
        margin-bottom: 14rem;
        text-shadow: 0 0 6rem rgba(0, 0, 0, 0.6);
        padding: 3rem 26rem;
        position: relative; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl::before {
          position: absolute;
          content: "";
          width: 4rem;
          height: 4rem;
          top: 0;
          left: 0;
          background: #fff; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_ttl::after {
          position: absolute;
          content: "";
          width: 4rem;
          height: 4rem;
          bottom: 0;
          right: 0;
          background: #fff; }
      #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo {
        display: flex;
        justify-content: center;
        align-items: center; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo.d_yoko .logo img {
          height: 16rem !important; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo.d_yoko .fixed_logo {
          width: 110rem !important;
          margin-left: 10rem !important; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo .logo img {
          width: auto;
          height: 30rem; }
        #dialogue_d .dialogue_d_head .dialogue_d_head_box .dialogue_d_head_logo .fixed_logo {
          width: 203rem;
          margin-left: 17rem; }
  #dialogue_d .dialogue_d_body {
    width: 335rem;
    margin: 20rem auto 60rem; }
    #dialogue_d .dialogue_d_body .dialogue_d_ttlarea {
      margin-bottom: 20rem;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap; }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat {
        margin-left: 25rem;
        padding-left: 20rem;
        position: relative; }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat::before {
          position: absolute;
          content: "";
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          background-repeat: no-repeat;
          background-position: center;
          background-size: contain; }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.food-hospitality::before {
          width: 15rem;
          height: 17rem;
          background-image: url("../img/icon_fh.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.it-technology::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_it.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.healthcare-welfare::before {
          width: 16rem;
          height: 14rem;
          background-image: url("../img/icon_hw.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.financial-services::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_fs.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.retail-services::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_rs.png"); }
        #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .cat.construction::before {
          width: 16rem;
          height: 16rem;
          background-image: url("../img/icon_ma.png"); }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .ttl {
        width: 100%;
        font-size: 18rem;
        line-height: 1.33em;
        font-weight: bold;
        color: #14573D;
        margin: 15rem 0; }
      #dialogue_d .dialogue_d_body .dialogue_d_ttlarea .partner {
        font-size: 13rem;
        font-weight: bold;
        color: #717171; }
    #dialogue_d .dialogue_d_body .dialogue_d_txt {
      margin-bottom: 55rem; }
    #dialogue_d .dialogue_d_body .dialogue_d_boxes {
      margin-bottom: 20rem; }
      #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box {
        position: relative; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_img {
          margin-bottom: 40rem; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_img .dialogue_d_box_imgtxt {
            font-size: 13rem;
            line-height: 1.7em;
            margin-top: 0.4em;
            color: #666666; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box:nth-child(n+2) {
          margin-top: 90rem; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box::before {
          position: absolute;
          content: "";
          width: 148rem;
          height: 24rem;
          bottom: -59rem;
          left: 50%;
          transform: translateX(-50%);
          background: url("../img/dialogue_d_box_ob_sp.png") no-repeat;
          background-size: contain; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box:last-child:before {
          display: none; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl {
          font-size: 15rem;
          line-height: 1.466em;
          color: #14573D;
          box-sizing: border-box;
          padding-left: 21rem;
          position: relative; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl::before {
            position: absolute;
            content: "";
            width: 5rem;
            height: 5rem;
            left: 0;
            top: 0;
            background: #14573D; }
          #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_ttl::after {
            position: absolute;
            content: "";
            width: 5rem;
            height: calc( 100% - 5rem );
            left: 0;
            top: 5rem;
            background: linear-gradient(to bottom, #898989, rgba(206, 206, 206, 0.3)); }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_subttl {
          font-size: 15rem;
          font-family: "MFW-PIshiiGothicStdN-B" !important;
          margin: 25rem 0 20rem; }
        #dialogue_d .dialogue_d_body .dialogue_d_boxes .dialogue_d_box .dialogue_d_box_txt {
          margin-bottom: 15rem; }
    #dialogue_d .dialogue_d_body .partner_info {
      box-sizing: border-box;
      padding: 43rem 16rem 45rem;
      background: #F2F2F2;
      position: relative; }
      #dialogue_d .dialogue_d_body .partner_info::before {
        position: absolute;
        content: "";
        width: 8rem;
        height: 8rem;
        top: 9rem;
        left: 10rem;
        background: #000; }
      #dialogue_d .dialogue_d_body .partner_info::after {
        position: absolute;
        content: "";
        width: 8rem;
        height: 8rem;
        bottom: 9rem;
        right: 10rem;
        background: #000; }
      #dialogue_d .dialogue_d_body .partner_info .ttl {
        font-size: 14rem;
        line-height: 1.6em;
        color: #717171; }
      #dialogue_d .dialogue_d_body .partner_info .name {
        margin: 5rem 0 15rem; }
      #dialogue_d .dialogue_d_body .partner_info .txt {
        font-size: 14rem;
        line-height: 1.64em; }
      #dialogue_d .dialogue_d_body .partner_info .link {
        font-size: 14rem;
        margin-top: 30rem; }
        #dialogue_d .dialogue_d_body .partner_info .link a {
          display: inline-block;
          color: #717171;
          text-decoration: underline;
          padding-right: 20rem;
          background: url("../img/icon_link.png") no-repeat right center;
          background-size: 12rem; }
  #dialogue_d .page_nation {
    width: 335rem;
    margin: 0 auto 120rem;
    position: relative;
    text-align: center; }
    #dialogue_d .page_nation a {
      display: block;
      height: 21rem;
      color: #000;
      transition: 0.3s; }
      #dialogue_d .page_nation a:hover {
        color: #01A063; }
    #dialogue_d .page_nation .back {
      display: inline-block;
      color: #676767;
      border-bottom: solid 0.5rem #707070;
      color: #676767 !important; }
    #dialogue_d .page_nation .prev {
      width: 12rem;
      text-align: left;
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
      #dialogue_d .page_nation .prev a {
        display: block;
        width: 100%;
        background: url("../img/prev_arrow_black.png") no-repeat left center;
        background-size: 11rem; }
        #dialogue_d .page_nation .prev a:hover {
          background: url("../img/prev_arrow_green.png") no-repeat left center;
          background-size: 11rem; }
    #dialogue_d .page_nation .next {
      width: 12rem;
      text-align: left;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%); }
      #dialogue_d .page_nation .next a {
        display: block;
        width: 100%;
        background: url("../img/next_arrow_black.png") no-repeat right center;
        background-size: 11rem; }
        #dialogue_d .page_nation .next a:hover {
          background: url("../img/next_arrow_green.png") no-repeat right center;
          background-size: 11rem; }

  /*News（一覧）*/
  #news .ttlarea {
    width: 335rem;
    margin: 0 auto 40rem; }
    #news .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 3rem; }
    #news .ttlarea .jattl {
      color: #717171; }
  #news .news_body {
    width: 335rem;
    margin: 0 auto 90rem; }
    #news .news_body .news_cont {
      width: 100%; }
      #news .news_body .news_cont:nth-child(n+2) {
        margin-top: 80rem; }
      #news .news_body .news_cont .year {
        font-size: 20rem;
        color: #14573D;
        margin-bottom: 20rem; }
      #news .news_body .news_cont .news_boxes {
        width: 100%; }
        #news .news_body .news_cont .news_boxes .news_box {
          padding: 10rem 0;
          border-top: solid 0.6rem rgba(191, 191, 191, 0.6);
          position: relative; }
          #news .news_body .news_cont .news_boxes .news_box:last-child {
            padding-bottom: 0; }
          #news .news_body .news_cont .news_boxes .news_box:first-child {
            margin-top: 88rem !important;
            border-top: none !important; }
          #news .news_body .news_cont .news_boxes .news_box.up {
            margin-top: 125rem;
            border-top: solid 0.6rem rgba(191, 191, 191, 0.6); }
          #news .news_body .news_cont .news_boxes .news_box.none .year {
            display: none !important; }
          #news .news_body .news_cont .news_boxes .news_box .year {
            position: absolute;
            left: 0;
            bottom: 100%;
            margin-bottom: 20rem; }
          #news .news_body .news_cont .news_boxes .news_box .date {
            color: #717171;
            margin-bottom: 8rem;
            transition: 0.3s; }
          #news .news_body .news_cont .news_boxes .news_box .ttl a {
            display: inline-block;
            color: #000;
            transition: 0.3s; }
          #news .news_body .news_cont .news_boxes .news_box:hover .date {
            color: #01A063; }
          #news .news_body .news_cont .news_boxes .news_box:hover .ttl a {
            color: #01A063;
            text-decoration: underline; }
  #news .pagenation {
    margin-bottom: 120rem; }

  /*News（詳細）*/
  #news_d .news_d_body {
    padding-bottom: 120rem; }
    #news_d .news_d_body .news_d_cont {
      width: 335rem;
      margin: 0 auto 90rem; }
      #news_d .news_d_body .news_d_cont .date {
        color: #717171;
        margin-bottom: 15rem; }
      #news_d .news_d_body .news_d_cont .ttl {
        font-size: 15rem;
        line-height: 1.46em;
        color: #0B3C33;
        margin-bottom: 15rem; }
      #news_d .news_d_body .news_d_cont .news_d_img {
        margin-bottom: 15rem; }
      #news_d .news_d_body .news_d_cont .news_d_box p {
        font-size: 14rem;
        line-height: 1.64em; }
        #news_d .news_d_body .news_d_cont .news_d_box p a {
          color: #0B3C33;
          text-decoration: underline; }
    #news_d .news_d_body .page_nation {
      width: 335rem;
      margin: 0 auto;
      position: relative;
      text-align: center; }
      #news_d .news_d_body .page_nation a {
        display: block;
        height: 21rem;
        color: #000;
        transition: 0.3s; }
        #news_d .news_d_body .page_nation a:hover {
          color: #01A063; }
      #news_d .news_d_body .page_nation .back {
        display: inline-block;
        color: #676767;
        border-bottom: solid 0.5rem #707070;
        color: #676767 !important; }
      #news_d .news_d_body .page_nation .prev {
        width: 12rem;
        text-align: left;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .news_d_body .page_nation .prev a {
          display: block;
          width: 100%;
          background: url("../img/prev_arrow_black.png") no-repeat left center;
          background-size: 11rem; }
          #news_d .news_d_body .page_nation .prev a:hover {
            background: url("../img/prev_arrow_green.png") no-repeat left center;
            background-size: 11rem; }
      #news_d .news_d_body .page_nation .next {
        width: 12rem;
        text-align: left;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%); }
        #news_d .news_d_body .page_nation .next a {
          display: block;
          width: 100%;
          background: url("../img/next_arrow_black.png") no-repeat right center;
          background-size: 11rem; }
          #news_d .news_d_body .page_nation .next a:hover {
            background: url("../img/next_arrow_green.png") no-repeat right center;
            background-size: 11rem; }

  /*Contact（共通）*/
  .contact .ttlarea {
    width: 335rem;
    margin: 0 auto 30rem; }
    .contact .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 3rem; }
    .contact .ttlarea .jattl {
      color: #717171; }
  .contact .contact_body {
    width: 335rem;
    margin: 0 auto; }
    .contact .contact_body .contact_cont {
      width: 100%; }
      .contact .contact_body .contact_cont .contact_head {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 40rem; }
        .contact .contact_body .contact_cont .contact_head .txt {
          color: #C7C7C7;
          margin: 0 15rem; }
          .contact .contact_body .contact_cont .contact_head .txt.active1 {
            color: #000; }
          .contact .contact_body .contact_cont .contact_head .txt.active {
            color: #000;
            font-family: "MFW-PIshiiGothicStdN-B"; }
        .contact .contact_body .contact_cont .contact_head .squere {
          width: 7rem;
          height: 7rem;
          background: #C7C7C7;
          margin: 0 15rem; }
          .contact .contact_body .contact_cont .contact_head .squere.active {
            background: #14573D; }
      .contact .contact_body .contact_cont .contact_form table {
        width: 100%;
        margin-bottom: 35rem; }
        .contact .contact_body .contact_cont .contact_form table tr th {
          display: block;
          width: 100%;
          text-align: left; }
          .contact .contact_body .contact_cont .contact_form table tr th .item {
            display: flex;
            justify-content: flex-start;
            align-items: center; }
            .contact .contact_body .contact_cont .contact_form table tr th .item .enttl {
              font-size: 16rem;
              line-height: 1.31em; }
            .contact .contact_body .contact_cont .contact_form table tr th .item .jattl {
              color: #717171;
              margin-left: 10rem; }
        .contact .contact_body .contact_cont .contact_form table tr td {
          width: 100%;
          display: block;
          padding: 20rem 0 35rem; }
        .contact .contact_body .contact_cont .contact_form table tr:last-child td {
          padding-bottom: 0; }

  /*Contact*/
  #contact .contact_body {
    padding-bottom: 120rem; }
    #contact .contact_body .contact_cont .contact_form table {
      width: 100%; }
      #contact .contact_body .contact_cont .contact_form table tr td input.txt {
        width: 100%;
        height: 45rem;
        box-sizing: border-box;
        padding: 0 1em;
        border: solid 1rem #C7C7C7; }
      #contact .contact_body .contact_cont .contact_form table tr td textarea {
        width: 100%;
        height: 147rem;
        box-sizing: border-box;
        padding: 0.5em 1em;
        border: solid 1rem #C7C7C7;
        resize: none; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat .mwform-checkbox-field.horizontal-item {
        display: block;
        margin-left: 0 !important; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat label {
        display: block;
        cursor: pointer; }
        #contact .contact_body .contact_cont .contact_form table tr td .cat label:nth-child(n+2) {
          margin-top: 15rem; }
      #contact .contact_body .contact_cont .contact_form table tr td .cat input[type="checkbox"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 17rem;
        height: 17rem;
        border: solid 1rem #C7C7C7;
        background: #fff;
        box-sizing: border-box;
        position: relative;
        padding: 0 !important;
        margin: 0 8rem 0 0;
        vertical-align: -0.25em;
        border-radius: 0; }
        #contact .contact_body .contact_cont .contact_form table tr td .cat input[type="checkbox"]:checked:before {
          position: absolute;
          content: "";
          width: 7rem;
          height: 7rem;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          background: #14573D; }
      #contact .contact_body .contact_cont .contact_form table tr:nth-child(n+2) td {
        padding-top: 8rem; }
    #contact .contact_body .contact_cont .contact_form .privacy {
      margin-bottom: 35rem; }
      #contact .contact_body .contact_cont .contact_form .privacy label {
        cursor: pointer; }
        #contact .contact_body .contact_cont .contact_form .privacy label input[type="checkbox"] {
          border-radius: 0;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          width: 17rem;
          height: 17rem;
          border: solid 1rem #C7C7C7;
          background: #fff;
          box-sizing: border-box;
          position: relative;
          padding: 0 !important;
          margin: 0 8rem 0 0;
          vertical-align: -0.25em; }
          #contact .contact_body .contact_cont .contact_form .privacy label input[type="checkbox"]:checked:before {
            position: absolute;
            content: "";
            width: 7rem;
            height: 7rem;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            background: #14573D; }
    #contact .contact_body .contact_cont .contact_form .btn {
      width: 100%; }
      #contact .contact_body .contact_cont .contact_form .btn input {
        width: 100%;
        padding: 14rem 0 13rem;
        border: none;
        background: #C7C7C7;
        cursor: pointer;
        transition: 0.3s; }
        #contact .contact_body .contact_cont .contact_form .btn input:hover {
          opacity: 0.8; }

  /*Confirm*/
  #confirm .contact_body {
    padding-bottom: 120rem; }
    #confirm .contact_body .contact_cont .contact_form table {
      width: 100%;
      margin-bottom: 57rem; }
      #confirm .contact_body .contact_cont .contact_form table tr th {
        color: #717171; }
      #confirm .contact_body .contact_cont .contact_form table tr td {
        padding-top: 10rem; }
    #confirm .contact_body .contact_cont .contact_form .privacy {
      display: none !important; }
    #confirm .contact_body .contact_cont .contact_form .btn {
      width: 100%; }
      #confirm .contact_body .contact_cont .contact_form .btn input {
        display: block;
        width: 100%;
        padding: 14rem 0 13rem;
        border: none;
        cursor: pointer;
        transition: 0.3s; }
        #confirm .contact_body .contact_cont .contact_form .btn input.submit {
          color: #fff;
          background: #14573D;
          margin-bottom: 20rem; }
        #confirm .contact_body .contact_cont .contact_form .btn input.back {
          background: #C7C7C7; }
        #confirm .contact_body .contact_cont .contact_form .btn input:hover {
          opacity: 0.8; }

  /*Complete*/
  #complete .contact_body {
    padding-bottom: 120rem; }
    #complete .contact_body .complete_txt {
      margin-bottom: 80rem; }
    #complete .contact_body .btn {
      width: 100%; }
      #complete .contact_body .btn a {
        display: block;
        width: 100%;
        letter-spacing: 0.06em;
        color: #000;
        text-align: center;
        padding: 14rem 0 13rem;
        background: #C7C7C7;
        transition: 0.3s; }
        #complete .contact_body .btn a:hover {
          opacity: 0.8; }

  /*PrivacyPolicy*/
  #privacy .ttlarea {
    width: 335rem;
    margin: 0 auto 35rem; }
    #privacy .ttlarea .enttl {
      color: #14573D;
      margin-bottom: 3rem; }
    #privacy .ttlarea .jattl {
      color: #717171; }
  #privacy .privacy_body {
    width: 335rem;
    margin: 0 auto;
    padding-bottom: 120rem; }
    #privacy .privacy_body .privacy_txt {
      font-size: 15rem;
      letter-spacing: -0.02em;
      line-height: 1.46em !important;
      font-weight: bold;
      margin-bottom: 35rem; }
    #privacy .privacy_body .privacy_cont dl:nth-child(n+2) {
      margin-top: 35rem; }
    #privacy .privacy_body .privacy_cont dl dt {
      font-size: 15rem;
      line-height: 1.46em;
      font-weight: bold;
      position: relative;
      box-sizing: border-box;
      padding-left: 16rem;
      margin-bottom: 8rem; }
      #privacy .privacy_body .privacy_cont dl dt::before {
        position: absolute;
        content: "";
        width: 11rem;
        height: 11rem;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        background: #000; }

  #service {
    /*各タイトルの共通*/ }
    #service .service_ttl {
      width: 335rem;
      margin: 0 auto 30rem; }
      #service .service_ttl .ttlarea {
        margin-bottom: 10rem; }
        #service .service_ttl .ttlarea .enttl {
          color: #14573D;
          margin-bottom: 3rem; }
        #service .service_ttl .ttlarea .jattl {
          color: #717171; }
    #service .cont_ttl .jattl {
      font-weight: bold; }
    #service .box_ttl {
      box-sizing: border-box;
      padding-left: 41rem;
      position: relative; }
      #service .box_ttl::before {
        position: absolute;
        content: "";
        width: 36rem;
        height: 36rem;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        background-repeat: no-repeat;
        background-position: left top;
        background-size: contain; }
      #service .box_ttl.box_ttl_01::before {
        background-image: url("../img/service_box_ttl_icon_01.png"); }
      #service .box_ttl.box_ttl_02::before {
        background-image: url("../img/service_box_ttl_icon_02.png"); }
      #service .box_ttl.box_ttl_03::before {
        background-image: url("../img/service_box_ttl_icon_03.png"); }
      #service .box_ttl.box_ttl_04::before {
        background-image: url("../img/service_box_ttl_icon_04.png"); }
      #service .box_ttl.box_ttl_05::before {
        background-image: url("../img/service_box_ttl_icon_05.png"); }
      #service .box_ttl.box_ttl_06::before {
        background-image: url("../img/service_box_ttl_icon_06.png"); }
      #service .box_ttl.box_ttl_07::before {
        background-image: url("../img/service_box_ttl_icon_07.png"); }
      #service .box_ttl.box_ttl_08::before {
        background-image: url("../img/service_box_ttl_icon_08.png"); }
      #service .box_ttl .enttl {
        color: #01A063; }
    #service .service_head {
      width: 335rem;
      margin: 0 auto 70rem; }
      #service .service_head .service_head_cont {
        width: 100%; }
        #service .service_head .service_head_cont .service_head_ttl {
          padding-bottom: 10rem;
          border-bottom: solid 2rem #C7C7C7; }
        #service .service_head .service_head_cont.cont01 {
          margin-bottom: 55rem; }
          #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box {
            padding: 15rem 0 10rem; }
            #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(n+2) {
              border-top: solid 0.5rem rgba(199, 199, 199, 0.5); }
            #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box:nth-child(3) {
              padding-bottom: 0; }
            #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_ttl {
              display: flex;
              justify-content: flex-start;
              align-items: center;
              box-sizing: border-box;
              height: 36rem;
              margin-bottom: 5rem;
              flex-wrap: wrap; }
              #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_ttl .jattl {
                font-size: 16rem;
                letter-spacing: 0.06em;
                line-height: 1.1875em;
                margin-right: 8rem; }
              #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_ttl .enttl {
                font-size: 12rem; }
            #service .service_head .service_head_cont.cont01 .service_head_boxes .service_head_box .service_head_box_txt {
              flex: 1; }
        #service .service_head .service_head_cont.cont02 .service_head_boxes {
          padding-top: 14rem; }
          #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box {
            width: 100%; }
            #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box:nth-child(n+2) {
              margin-top: 15rem; }
            #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box .service_head_box_ttl {
              width: 105%;
              display: flex;
              justify-content: flex-start;
              align-items: center;
              box-sizing: border-box;
              height: 36rem; }
              #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box .service_head_box_ttl .jattl {
                font-size: 16rem;
                letter-spacing: 0.06em;
                line-height: 1.1875em;
                margin-right: 8rem; }
              #service .service_head .service_head_cont.cont02 .service_head_boxes .service_head_box .service_head_box_ttl .enttl {
                font-size: 12rem; }
    #service .service_header {
      width: 100%;
      height: 65rem;
      position: fixed;
      left: 0;
      top: 0;
      background: #fff;
      z-index: 9;
      transition: top 0.4s ease; }
      #service .service_header.fixed {
        top: 65rem; }
      #service .service_header .inner {
        width: 335rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between; }
        #service .service_header .inner .cont_ttl {
          width: 165rem;
          height: 65rem;
          box-sizing: border-box;
          padding: 12rem 0 10rem; }
          #service .service_header .inner .cont_ttl.active {
            border-bottom: solid 2rem #01A063; }
          #service .service_header .inner .cont_ttl .enttl {
            font-size: 16rem; }
          #service .service_header .inner .cont_ttl .jattl {
            color: #717171; }
    #service .service_body .service_cont {
      padding-top: 60rem; }
      #service .service_body .service_cont .inner {
        width: 335rem;
        margin: 0 auto; }
      #service .service_body .service_cont.cont01 {
        background: #EAF4EC; }
        #service .service_body .service_cont.cont01 .service_cont_ttl {
          margin-bottom: 30rem; }
        #service .service_body .service_cont.cont01 .service_boxes .service_box {
          padding-bottom: 80rem; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(2) {
            padding-top: 60rem;
            position: relative; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(2)::before {
              position: absolute;
              content: "";
              width: 100vw;
              height: 100%;
              top: 0;
              left: 50%;
              transform: translateX(-50%);
              background: #DFEFE2; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box:nth-child(3) {
            padding: 60rem 0 80rem; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_ttl {
            position: relative;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            z-index: 2;
            margin-bottom: 20rem; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_ttl.box_ttl_01 {
              mix-blend-mode: multiply; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_ttl .jattl {
              margin-right: 5rem; }
          #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right {
            width: 100%;
            position: relative;
            z-index: 2; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in:nth-child(n+2) {
              margin-top: 30rem; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in dl {
              width: 100%;
              box-sizing: border-box;
              padding-left: 14rem;
              border-left: solid 1rem #717171;
              margin-bottom: 15rem; }
              #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in dl dt {
                color: #0B3C33;
                margin-bottom: 10rem; }
            #service .service_body .service_cont.cont01 .service_boxes .service_box .service_box_right .box_in .service_box_img {
              width: 100%; }
      #service .service_body .service_cont.cont02 {
        padding-bottom: 80rem;
        background: #F4F0EA; }
        #service .service_body .service_cont.cont02 .inner .service_cont_ttl {
          margin-bottom: 30rem; }
        #service .service_body .service_cont.cont02 .inner .service_boxes {
          width: 335rem; }
          #service .service_body .service_cont.cont02 .inner .service_boxes .service_box {
            width: 100%; }
            #service .service_body .service_cont.cont02 .inner .service_boxes .service_box:nth-child(n+2) {
              margin-top: 30rem; }
            #service .service_body .service_cont.cont02 .inner .service_boxes .service_box .service_box_ttl {
              line-height: 1;
              color: #0B3C33;
              box-sizing: border-box;
              padding-left: 14rem;
              border-left: solid 1rem #717171;
              margin-bottom: 13rem; }
    #service .voice {
      padding: 60rem 0 120rem; }
      #service .voice .inner .ttlarea {
        margin-bottom: 25rem; }
        #service .voice .inner .ttlarea .enttl {
          font-size: 18rem;
          margin-bottom: 3rem;
          color: #14573D; }
        #service .voice .inner .ttlarea .jattl {
          font-size: 15rem;
          color: #14573D; }
      #service .voice .inner .dialogue_boxes .dialogue_box_txt {
        background-color: #ECEAEA; } }
