@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.01em;
  font-family: "Satoshi", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-weight: 400; }

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

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 {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
/* PC */
@media screen and (min-width: 870px) {
  .anclink2 {
    padding-top: 35rem;
    margin-top: -35rem; }

  .sponly {
    display: none !important; }

  .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  html {
    font-size: calc(1vw * 100 / 1440); }

  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Regular.otf") format("opentype");
    font-weight: 400; }
  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Medium.otf") format("opentype");
    font-weight: 500; }
  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Bold.otf") format("opentype");
    font-weight: 700; }
  body {
    font-size: 16rem; }

  /* 共通 */
  .mapbtn {
    display: inline-block;
    color: #161616;
    border: solid 1rem #161616;
    border-radius: 100rem;
    padding: 0 27rem 0 18rem;
    line-height: 2em;
    background: url("../img/icon_map.png") no-repeat;
    background-size: 10rem;
    background-position: right 12rem center;
    transition: 0.2s; }
    .mapbtn:hover {
      background-color: #161616;
      background-image: url("../img/icon_map_w.png");
      transition: 0.2s;
      color: #fff; }

  .block {
    transform-origin: top;
    /* 上端を基準に縮む */
    transform: scaleY(var(--ratio, 1));
    /* 1→0 に変化 */ }

  .wp-pagenavi {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 70rem; }
    .wp-pagenavi a {
      font-size: 18rem;
      border-bottom: solid 2rem #B2B1B1;
      padding-bottom: 4rem;
      margin: 0 13rem;
      color: #B2B1B1;
      box-sizing: border-box; }
      .wp-pagenavi a:hover {
        color: #161616;
        opacity: 0.8; }
    .wp-pagenavi .previouspostslink {
      display: block;
      width: 29rem;
      font-size: 0;
      height: 29rem;
      background: url("../img/icon_navi_prev.png") no-repeat center;
      background-size: contain;
      border: none;
      padding-bottom: 0;
      margin-right: 7rem; }
    .wp-pagenavi .next {
      display: block;
      width: 29rem;
      height: 29rem;
      background: url("../img/icon_navi_next.png") no-repeat center;
      background-size: contain;
      border: none;
      padding-bottom: 0;
      margin-left: 7rem; }
    .wp-pagenavi span {
      color: #161616;
      font-size: 18rem;
      padding-bottom: 4rem;
      margin: 0 13rem; }

  /* 共通 */
  header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%; }
    header.under2 {
      background: #fff; }
      header.under2 .head_inner .head_left .off {
        display: block !important; }
      header.under2 .head_inner .head_left .on {
        display: none; }
      header.under2 .head_inner .head_right li a {
        color: #161616; }
      header.under2 .head_inner .head_right li.head_contact a {
        background: #161616;
        color: #fff; }
    header.under {
      background: #fff; }
      header.under .head_inner .head_left .off {
        display: block !important; }
      header.under .head_inner .head_left .on {
        display: none; }
      header.under .head_inner .head_right li a {
        color: #161616; }
      header.under .head_inner .head_right li.head_contact a {
        background: #161616;
        color: #fff; }
    header .head_inner {
      padding: 26rem;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .head_inner .head_left {
        width: 186rem; }
        header .head_inner .head_left img {
          width: 100%;
          display: block; }
          header .head_inner .head_left img.off {
            display: none; }
      header .head_inner .head_right {
        display: flex;
        align-items: center; }
        header .head_inner .head_right li {
          font-size: 15rem;
          margin-left: 50rem; }
          header .head_inner .head_right li:first-child {
            margin-left: 0; }
          header .head_inner .head_right li.head_contact a {
            display: inline-block;
            background: #fff;
            border-radius: 100rem;
            color: #161616;
            padding: 15rem 27rem;
            box-sizing: border-box;
            border: solid 1px #fff;
            transition: 0.3s; }
            header .head_inner .head_right li.head_contact a:hover {
              background: #161616;
              color: #fff;
              text-decoration: none; }
          header .head_inner .head_right li a {
            color: #fff; }
            header .head_inner .head_right li a:hover {
              text-decoration: underline; }

  #mv {
    position: relative;
    height: 100vh; }
    #mv .mv_video {
      position: relative;
      overflow: hidden;
      width: 100%;
      height: 100vh; }
      #mv .mv_video:after {
        content: '';
        width: 100%;
        height: 100%;
        background-color: #181732;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        opacity: .3; }
      #mv .mv_video video {
        position: absolute;
        top: 50%;
        left: 50%;
        height: 100vh;
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    #mv .mv_txt {
      color: #fff;
      font-size: 49rem;
      line-height: 1.6em;
      position: absolute;
      left: 70rem;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2;
      letter-spacing: 0.01em; }
    #mv .top_news {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      z-index: 2;
      border-top: solid 1rem #FFFFFF;
      color: #fff;
      display: flex;
      align-items: center;
      padding: 15rem;
      box-sizing: border-box; }
      #mv .top_news .top_news_ttl {
        font-size: 16rem;
        margin-right: 40rem; }
      #mv .top_news .top_news_cont {
        font-size: 12rem;
        display: flex; }
        #mv .top_news .top_news_cont .top_news_date {
          margin-right: 18rem; }
        #mv .top_news .top_news_cont .ttl a {
          color: #fff; }
          #mv .top_news .top_news_cont .ttl a:hover {
            text-decoration: underline; }

  #top_ov {
    background: url("../img/top_ov_bg.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    padding: 120rem 0; }
    #top_ov .top_ov_inner {
      width: 1280rem;
      margin: 0 auto; }
      #top_ov .top_ov_inner .top_ov_head {
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #top_ov .top_ov_inner .top_ov_head .ttl {
          width: 385rem; }
          #top_ov .top_ov_inner .top_ov_head .ttl .ttl_en {
            font-size: 61rem;
            line-height: 1.2em;
            margin-bottom: 10rem; }
          #top_ov .top_ov_inner .top_ov_head .ttl .ttl_01 {
            font-size: 18rem; }
        #top_ov .top_ov_inner .top_ov_head .txt {
          width: 810rem;
          line-height: 1.6em;
          font-size: 37rem; }
      #top_ov .top_ov_inner .top_ov_btm {
        display: flex;
        justify-content: space-between; }
        #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_left {
          width: 385rem; }
          #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_left img {
            width: 100%; }
        #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_right {
          width: 810rem;
          font-size: 16rem;
          line-height: 2.3em;
          font-feature-settings: "palt"; }

  #top_serv {
    padding-top: 100rem; }
    #top_serv .top_serv_inner {
      width: 1280rem;
      margin: 0 auto; }
      #top_serv .top_serv_inner .ttl {
        margin-bottom: 60rem; }
        #top_serv .top_serv_inner .ttl .ttl_en {
          font-size: 61rem;
          line-height: 1.2em;
          margin-bottom: 10rem; }
        #top_serv .top_serv_inner .ttl .ttl_01 {
          font-size: 18rem; }
      #top_serv .top_serv_inner .top_serv_boxes .top_serv_box {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 60rem; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box:nth-child(2n) .top_serv_box_img {
          order: 2; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box:nth-child(2n) .top_serv_box_txt {
          order: 1;
          padding-left: 150rem; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_img {
          width: 450rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_img img {
            height: auto; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt {
          width: calc(100% - 450rem);
          box-sizing: border-box;
          padding-left: 100rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_ttl {
            font-size: 30rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .txt {
            font-size: 16rem;
            line-height: 1.8em;
            margin: 20rem 0 30rem;
            max-width: 400rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_btn a {
            font-size: 20rem;
            border-radius: 100rem;
            border: solid 1rem #161616;
            padding: 1rem 106rem 1rem 36rem;
            line-height: 3em;
            display: inline-block;
            color: #161616;
            background: url("../img/arr_01.png") no-repeat;
            background-size: 20rem;
            background-position: right 20rem center;
            transition: 0.3s; }
            #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_btn a:hover {
              transition: 0.3s;
              background-position: right 15rem center; }

  /* top_serv */
  #top_reform {
    background: url("../img/top_reform_bg.jpg") no-repeat center;
    color: #fff;
    padding: 120rem 0; }
    #top_reform .top_reform_inner {
      width: 1280rem;
      margin: 0 auto;
      display: flex;
      position: relative;
      align-items: center; }
      #top_reform .top_reform_inner .top_reform_left {
        width: 255rem; }
        #top_reform .top_reform_inner .top_reform_left .ttl .ttl_en {
          font-size: 61rem;
          line-height: 1.2em;
          margin-bottom: 10rem; }
        #top_reform .top_reform_inner .top_reform_left .ttl .ttl_01 {
          font-size: 18rem; }
      #top_reform .top_reform_inner .top_reform_center {
        width: calc(100% - 505rem);
        font-size: 22rem;
        padding-left: 70rem;
        box-sizing: border-box; }
      #top_reform .top_reform_inner .top_reform_right {
        width: 250rem; }
        #top_reform .top_reform_inner .top_reform_right div a {
          font-size: 20rem;
          border-radius: 100rem;
          border: solid 1rem #fff;
          padding: 1rem 106rem 1rem 36rem;
          line-height: 3em;
          display: inline-block;
          color: #fff;
          background: url("../img/arr_02.png") no-repeat;
          background-size: 20rem;
          background-position: right 20rem center;
          transition: 0.3s; }
          #top_reform .top_reform_inner .top_reform_right div a:hover {
            transition: 0.3s;
            background-position: right 15rem center; }

  /* top_serv */
  #top_work {
    padding-top: 90rem; }
    #top_work .top_work_inner {
      display: flex;
      justify-content: space-between; }
      #top_work .top_work_inner .top_work_left {
        box-sizing: border-box;
        padding-left: 90rem; }
        #top_work .top_work_inner .top_work_left .ttl {
          margin-bottom: 50rem; }
          #top_work .top_work_inner .top_work_left .ttl .ttl_en {
            font-size: 61rem;
            line-height: 1.2em;
            margin-bottom: 10rem; }
          #top_work .top_work_inner .top_work_left .ttl .ttl_01 {
            font-size: 18rem; }
        #top_work .top_work_inner .top_work_left .top_work_btn a {
          font-size: 20rem;
          border-radius: 100rem;
          border: solid 1rem #161616;
          padding: 1rem 106rem 1rem 36rem;
          line-height: 3em;
          display: inline-block;
          color: #161616;
          background: url("../img/arr_01.png") no-repeat;
          background-size: 20rem;
          background-position: right 20rem center;
          transition: 0.3s; }
          #top_work .top_work_inner .top_work_left .top_work_btn a:hover {
            transition: 0.3s;
            background-position: right 15rem center; }
      #top_work .top_work_inner .top_work_right {
        width: 870rem; }
        #top_work .top_work_inner .top_work_right .top_work_list {
          width: 100%;
          overflow-x: scroll;
          white-space: nowrap;
          padding-bottom: 30rem; }
          #top_work .top_work_inner .top_work_right .top_work_list li {
            display: inline-block;
            width: 313rem;
            margin-right: 30rem; }
            #top_work .top_work_inner .top_work_right .top_work_list li img {
              width: 100%; }

  /* top_work */
  #top_com {
    width: 1390rem;
    margin: -110rem auto 0;
    border-radius: 10rem;
    background: #161616;
    color: #fff;
    padding: 190rem 60rem 110rem;
    box-sizing: border-box; }
    #top_com .ttl {
      text-align: center;
      margin-bottom: 50rem; }
      #top_com .ttl .ttl_en {
        font-size: 61rem;
        line-height: 1.2em;
        margin-bottom: 10rem; }
      #top_com .ttl .ttl_01 {
        font-size: 18rem; }
    #top_com .top_com_txt {
      text-align: center;
      font-size: 18rem;
      line-height: 1.8em;
      margin-bottom: 70rem; }
    #top_com .top_com_boxes {
      display: flex;
      justify-content: space-between; }
      #top_com .top_com_boxes .top_com_box {
        width: 31%; }
        #top_com .top_com_boxes .top_com_box .top_com_box_img {
          margin-bottom: 25rem;
          text-align: center; }
          #top_com .top_com_boxes .top_com_box .top_com_box_img img {
            width: 100%;
            display: block; }
        #top_com .top_com_boxes .top_com_box .txt {
          font-size: 22rem;
          text-align: center; }

  /* top_com */
  #top_rec {
    padding-top: 100rem; }
    #top_rec .ttl {
      text-align: center;
      margin-bottom: 50rem; }
      #top_rec .ttl .ttl_en {
        font-size: 61rem;
        line-height: 1.2em;
        margin-bottom: 10rem; }
      #top_rec .ttl .ttl_01 {
        font-size: 18rem; }

  /* top_rec */
  #foot {
    background: #161616;
    color: #fff;
    box-sizing: border-box;
    padding: 53rem 42rem; }
    #foot .foot_inner {
      position: relative;
      display: flex;
      justify-content: space-between; }
      #foot .foot_inner .foot_logo {
        position: absolute;
        left: 0;
        top: 0;
        width: 185rem; }
        #foot .foot_inner .foot_logo img {
          display: block; }
      #foot .foot_inner .foot_left {
        margin-top: 76rem;
        width: 356rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #foot .foot_inner .foot_left .foot_addr {
          width: 49%;
          margin-bottom: 15rem; }
          #foot .foot_inner .foot_left .foot_addr dt {
            font-size: 14rem;
            line-height: 2em; }
          #foot .foot_inner .foot_left .foot_addr dd {
            font-size: 12rem;
            line-height: 1.5em; }
            #foot .foot_inner .foot_left .foot_addr dd a {
              color: #fff; }
      #foot .foot_inner .foot_right {
        width: 910rem;
        position: relative; }
        #foot .foot_inner .foot_right .foot_btm {
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          display: flex;
          justify-content: space-between; }
          #foot .foot_inner .foot_right .foot_btm .foot_btm_pp a {
            display: inline-block;
            color: #fff;
            font-size: 12rem;
            padding-left: 1em;
            background: url("../img/foot_arr2.png") no-repeat left center;
            background-size: 9rem; }
            #foot .foot_inner .foot_right .foot_btm .foot_btm_pp a:hover {
              text-decoration: underline; }
          #foot .foot_inner .foot_right .foot_btm .foot_btm_copy {
            font-size: 10rem; }
        #foot .foot_inner .foot_right .foot_right_dl {
          display: flex;
          justify-content: space-between;
          margin-bottom: 48rem; }
          #foot .foot_inner .foot_right .foot_right_dl .list dt {
            font-size: 16rem;
            font-weight: 700;
            margin-bottom: 12rem; }
            #foot .foot_inner .foot_right .foot_right_dl .list dt a {
              color: #fff; }
              #foot .foot_inner .foot_right .foot_right_dl .list dt a:hover {
                text-decoration: underline; }
          #foot .foot_inner .foot_right .foot_right_dl .list dd {
            font-size: 15rem;
            line-height: 1.7em; }
            #foot .foot_inner .foot_right .foot_right_dl .list dd.last {
              margin-bottom: 20rem; }
            #foot .foot_inner .foot_right .foot_right_dl .list dd a {
              color: #fff; }
              #foot .foot_inner .foot_right .foot_right_dl .list dd a:hover {
                text-decoration: underline; }
        #foot .foot_inner .foot_right .foot_right_contact {
          display: inline-block;
          border-radius: 20rem;
          box-sizing: border-box;
          border: solid 1rem #fff;
          padding: 30rem 130rem 30rem 30rem;
          position: relative;
          background: url("../img/foot_arr.png") no-repeat;
          background-size: 74rem;
          background-position: right 20rem center;
          overflow: hidden;
          transition: 0.3s; }
          #foot .foot_inner .foot_right .foot_right_contact:hover {
            background-position: right 16rem center;
            transition: 0.3s;
            background-color: rgba(255, 255, 255, 0.1); }
          #foot .foot_inner .foot_right .foot_right_contact a {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            display: block; }
          #foot .foot_inner .foot_right .foot_right_contact .foot_right_contact_ttl {
            font-size: 35rem;
            margin-bottom: 10rem; }
          #foot .foot_inner .foot_right .foot_right_contact .foot_right_contact_txt {
            font-size: 16rem; }

  /* 共通 */
  .btn02 {
    display: inline-block;
    color: #fff;
    background: #1A1A1A;
    box-sizing: border-box;
    border: solid 2rem #1A1A1A;
    text-align: center;
    width: 410rem;
    font-size: 20rem;
    font-weight: 700;
    padding: 0.7em 0;
    border-radius: 100rem; }
    .btn02:hover {
      cursor: pointer;
      background: #fff;
      color: #1A1A1A;
      transition: 0.3s; }

  main {
    margin-top: 92rem; }
    main.rectop {
      margin-top: 0; }
    main#top {
      margin-top: 0; }

  .inner {
    width: 1100rem;
    margin: 0 auto; }

  /* 共通 */
  .mtn {
    margin-top: 0; }

  #reform_head {
    background: url("../img/reform_mv.jpg") no-repeat center;
    background-size: cover;
    height: 100vh;
    position: relative; }
    #reform_head .under_head_txt {
      position: absolute;
      left: 90rem;
      top: 50%;
      transform: translateY(-50%);
      color: #fff; }
      #reform_head .under_head_txt .en {
        font-size: 66rem;
        text-shadow: #000 1rem 0 10rem; }
      #reform_head .under_head_txt .ttl {
        font-size: 22rem;
        line-height: 2em;
        text-shadow: #000 1rem 0 10rem;
        margin-top: 10rem; }

  #under_head {
    background: url("../img/under_head_bg.png") no-repeat right center;
    background-size: 210rem;
    padding: 70rem 0 100rem; }
    #under_head .under_head_txt {
      box-sizing: border-box;
      padding-left: 108rem; }
      #under_head .under_head_txt .en {
        font-size: 61rem;
        margin-bottom: 35rem; }
      #under_head .under_head_txt .ttl {
        font-size: 18rem; }

  #under_body {
    padding-bottom: 92rem; }

  #under_body.normalp {
    width: 1000rem;
    margin: 0 auto; }
    #under_body.normalp h2 {
      font-size: 22rem;
      font-weight: 700;
      line-height: 1.4em;
      margin-bottom: 10rem;
      margin-top: 30rem; }
    #under_body.normalp p {
      font-size: 16rem;
      line-height: 1.8em;
      margin-bottom: 1em; }

  .pankuzu {
    padding: 10rem 50rem;
    box-sizing: border-box;
    font-size: 12rem;
    border-top: solid 1rem #E1E1E1; }
    .pankuzu a {
      color: #000; }

  /* 採用関連 */
  #top_rec .top_rec_boxes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #top_rec .top_rec_boxes .top_rec_box {
      width: calc(50% - 2rem);
      height: 403rem;
      position: relative;
      margin-top: 2rem;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
      #top_rec .top_rec_boxes .top_rec_box.box01 {
        background-image: url("../img/rec_foot_01.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box02 {
        background-image: url("../img/rec_foot_02.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box03 {
        background-image: url("../img/rec_foot_03.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box04 {
        background-image: url("../img/rec_foot_04.png"); }
      #top_rec .top_rec_boxes .top_rec_box:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2);
        transition: 0.3s;
        z-index: 1; }
      #top_rec .top_rec_boxes .top_rec_box a {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 3; }
      #top_rec .top_rec_boxes .top_rec_box:hover {
        cursor: pointer; }
        #top_rec .top_rec_boxes .top_rec_box:hover:before {
          transition: 0.3s;
          background: rgba(0, 0, 0, 0.1); }
      #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt {
        position: absolute;
        left: 30rem;
        bottom: 33rem;
        z-index: 2;
        color: #fff; }
        #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt .top_rec_box_en {
          font-size: 44rem;
          margin-bottom: 10rem; }
        #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt .top_rec_box_jp {
          font-size: 22rem; }

  /* 採用関連 */
  #under_body.contact.confirm .contact_inner .contact_table table tr th {
    background: none;
    padding: 1em 0 1em 68rem !important; }
  #under_body.contact.confirm .contact_inner .contact_table table tr td {
    padding: 1em !important; }
  #under_body.contact .send {
    text-align: center; }
    #under_body.contact .send input[type="submit"] {
      display: inline-block;
      color: #fff;
      background: #1A1A1A;
      box-sizing: border-box;
      border: solid 2rem #1A1A1A;
      text-align: center;
      width: 410rem;
      font-size: 20rem;
      font-weight: 700;
      padding: 0.7em 0;
      border-radius: 100rem; }
      #under_body.contact .send input[type="submit"]:hover {
        cursor: pointer;
        background: #fff;
        color: #1A1A1A;
        transition: 0.3s; }
  #under_body.contact .contact_inner .p-country-name {
    display: none !important; }
  #under_body.contact .contact_inner .pp {
    background: #F8F8F8;
    width: 1100px;
    margin: 0 auto 65rem;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 31rem 33rem; }
    #under_body.contact .contact_inner .pp .pp_area {
      background: #fff;
      box-sizing: border-box;
      padding: 15rem 30rem;
      height: 130rem;
      overflow-y: scroll;
      border-radius: 10rem;
      line-height: 1.8em;
      margin-bottom: 20rem; }
      #under_body.contact .contact_inner .pp .pp_area h2 {
        font-weight: 700;
        font-size: 20rem; }
    #under_body.contact .contact_inner .pp .pp_check {
      width: 550rem;
      display: block;
      background: #fff;
      margin: 0 auto;
      text-align: center;
      border-radius: 10rem;
      padding: 22rem 0;
      font-size: 20rem;
      font-weight: 700; }
  #under_body.contact .contact_inner .contact_biko {
    background: #F8F8F8;
    width: 1100px;
    margin: 0 auto 75rem;
    box-sizing: border-box;
    padding: 25rem 33rem;
    border-radius: 10rem;
    line-height: 2em;
    text-align: center; }
  #under_body.contact .contact_inner .comp_ttl {
    text-align: center;
    font-size: 22rem;
    margin-bottom: 1em; }
  #under_body.contact .contact_inner .comp_txt {
    text-align: center;
    line-height: 2em; }
  #under_body.contact .contact_inner .contact_flow {
    width: 932rem;
    height: 70rem;
    background: url("../img/contact_flow_01.png") no-repeat center;
    background-size: contain;
    margin: 0 auto 60rem; }
    #under_body.contact .contact_inner .contact_flow.confirm {
      background-image: url("../img/contact_flow_02.png") !important; }
    #under_body.contact .contact_inner .contact_flow.complete {
      background-image: url("../img/contact_flow_03.png") !important; }
  #under_body.contact .contact_inner .contact_table {
    width: 1000rem;
    margin: 0 auto;
    padding-bottom: 45rem; }
    #under_body.contact .contact_inner .contact_table table {
      width: 100%; }
      #under_body.contact .contact_inner .contact_table table tr th {
        vertical-align: middle;
        font-size: 20rem;
        font-weight: 700;
        text-align: left;
        padding-left: 88rem;
        background: url("../img/icon_hissu.png") no-repeat left center;
        background-size: 72rem;
        width: calc(100% - 658rem);
        line-height: 1.4em; }
      #under_body.contact .contact_inner .contact_table table tr td {
        vertical-align: middle;
        font-size: 20rem;
        padding: 10rem 0;
        width: 658rem;
        position: relative;
        line-height: 1.4em; }
        #under_body.contact .contact_inner .contact_table table tr td dl {
          display: flex;
          padding: 0.5em 0;
          align-items: center; }
          #under_body.contact .contact_inner .contact_table table tr td dl dt {
            margin-right: 1em; }
          #under_body.contact .contact_inner .contact_table table tr td dl dd input {
            max-width: 70%; }
        #under_body.contact .contact_inner .contact_table table tr td .text3 {
          height: 6em !important; }
        #under_body.contact .contact_inner .contact_table table tr td .p-postal-code {
          width: 8em !important; }
        #under_body.contact .contact_inner .contact_table table tr td .error {
          position: absolute;
          font-size: 11rem;
          bottom: -5rem; }
        #under_body.contact .contact_inner .contact_table table tr td input[type="text"] {
          box-sizing: border-box;
          width: 100%;
          border: solid 1px #9F9F9F;
          font-size: 16rem;
          padding: 16rem 24rem; }
        #under_body.contact .contact_inner .contact_table table tr td textarea {
          box-sizing: border-box;
          width: 100%;
          border: solid 1px #9F9F9F;
          font-size: 16rem;
          padding: 16rem 24rem;
          height: 258rem; }

  #under_body.faq .inner .faq_btn {
    text-align: center; }
  #under_body.faq .inner .faq_txt {
    background: #F8F8F8;
    border-radius: 10rem;
    box-sizing: border-box;
    text-align: center;
    padding: 23rem 0;
    line-height: 2em;
    font-size: 16rem;
    margin-bottom: 65rem; }
  #under_body.faq .inner .faq_boxes {
    border-top: solid 1rem #E1E1E1;
    margin-bottom: 80rem; }
    #under_body.faq .inner .faq_boxes .faq_box {
      border-bottom: solid 1rem #E1E1E1; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch {
        display: none; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch:checked + .faq_box_la {
        background-image: url("../img/icon_faq_02.png"); }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch:checked + .faq_box_la + .faq_box_txt {
        padding: 0 0 18rem 75rem;
        transition: 0.3s;
        opacity: 1;
        height: auto;
        visibility: visible; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_la {
        display: block;
        box-sizing: border-box;
        padding: 18rem 70rem 18rem 75rem;
        position: relative;
        font-size: 24rem;
        line-height: 1.4em;
        font-weight: 500;
        background: url("../img/icon_faq_01.png") no-repeat;
        background-size: 20rem;
        background-position: right 9rem top 24rem; }
        #under_body.faq .inner .faq_boxes .faq_box .faq_box_la:before {
          content: 'Q.';
          position: absolute;
          left: 25rem;
          top: 18rem;
          font-size: 33rem; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_txt {
        padding: 0 0 0 75rem;
        font-size: 16rem;
        line-height: 1.4em;
        position: relative;
        opacity: 0;
        height: 0;
        visibility: hidden; }
        #under_body.faq .inner .faq_boxes .faq_box .faq_box_txt:before {
          content: 'A.';
          position: absolute;
          left: 30rem;
          top: 0;
          font-size: 26rem; }

  #interview_head {
    background: url("../img/interview_bg.jpg") no-repeat center;
    background-size: cover;
    box-sizing: border-box;
    padding: 78rem 108rem; }
    #interview_head .interview_head_en {
      font-size: 61rem;
      margin-bottom: 35rem; }
    #interview_head .interview_head_ttl {
      font-size: 18rem; }
    #interview_head .interview_head_txt {
      margin-top: 75rem;
      max-width: 470rem;
      font-size: 16rem;
      line-height: 2em;
      font-weight: 500; }

  #under_body.interview {
    padding-top: 160rem; }
    #under_body.interview .inner {
      width: 1180rem; }
    #under_body.interview .interview_boxes {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      #under_body.interview .interview_boxes .interview_box {
        width: 530rem;
        position: relative;
        margin-bottom: 50rem; }
        #under_body.interview .interview_boxes .interview_box:nth-child(2n) {
          margin-top: 53rem; }
        #under_body.interview .interview_boxes .interview_box .interview_box_img {
          position: relative;
          margin-bottom: 24rem; }
          #under_body.interview .interview_boxes .interview_box .interview_box_img img {
            display: block;
            width: 100%; }
          #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_txt {
            position: absolute;
            left: 0;
            bottom: 100%;
            margin-bottom: -14rem; }
            #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_txt span {
              background: #161616;
              color: #fff;
              display: inline-block;
              margin-top: 8rem;
              padding: 2rem 7rem;
              line-height: 1.4em; }
          #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_name {
            color: #F53900;
            font-size: 40rem;
            position: absolute;
            top: -60rem;
            right: -15rem;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
        #under_body.interview .interview_boxes .interview_box .interview_box_txt .interview_box_txt_name {
          font-size: 27rem;
          margin-bottom: 15rem; }
        #under_body.interview .interview_boxes .interview_box .interview_box_txt .txt {
          font-size: 20rem;
          line-height: 1.8em; }

  #recruitment_head {
    background: url("../img/recruitment_bg.jpg") no-repeat center;
    background-size: cover;
    box-sizing: border-box;
    padding: 170rem 0 170rem 108rem;
    color: #fff; }
    #recruitment_head .recruitment_head_en {
      font-size: 61rem;
      margin-bottom: 35rem; }
    #recruitment_head .recruitment_head_ttl {
      font-size: 18rem; }

  #under_body.recruitment {
    padding-top: 100rem; }
    #under_body.recruitment .recruitment_btn {
      text-align: center;
      margin-top: 100rem; }
    #under_body.recruitment .recruitment_tabs {
      width: 1200rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between; }
      #under_body.recruitment .recruitment_tabs .recruitment_tab {
        width: 49%; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra {
          display: none; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la {
          color: #fff;
          background: #161616; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la:before {
            display: none; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la:after {
            display: none; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la {
          text-align: center;
          font-size: 26rem;
          font-weight: 500;
          color: #161616;
          background: #fff;
          border: solid 1rem #161616;
          border-radius: 10rem 10rem 0 0;
          display: block;
          width: 100%;
          border-bottom: none;
          padding: 30rem 0;
          position: relative; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la:before {
            content: '';
            display: block;
            height: 11rem;
            width: 4rem;
            background: #fff;
            position: absolute;
            border: 0;
            left: -2rem;
            bottom: 0; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la:after {
            content: '';
            display: block;
            height: 11rem;
            width: 4rem;
            background: #fff;
            position: absolute;
            border: 0;
            right: -2rem;
            bottom: 0; }
    #under_body.recruitment .recruitment_inner {
      border-top: solid 1rem #161616;
      padding-top: 90rem; }
      #under_body.recruitment .recruitment_inner .recruitment_boxes {
        width: 1220rem;
        margin: 0 auto;
        border-top: solid 1rem #161616; }
        #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box {
          border-bottom: solid 1rem #161616; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(1) .recruitment_box_la::before {
            content: '01'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(2) .recruitment_box_la::before {
            content: '02'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(3) .recruitment_box_la::before {
            content: '03'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(4) .recruitment_box_la::before {
            content: '04'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(5) .recruitment_box_la::before {
            content: '05'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(6) .recruitment_box_la::before {
            content: '06'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(7) .recruitment_box_la::before {
            content: '07'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch {
            display: none; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch:checked + .recruitment_box_la {
            background-image: url("../img/icon_faq_02.png"); }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch:checked + .recruitment_box_la + .recruitment_box_txt {
            padding-bottom: 70rem;
            transition: 0.3s;
            opacity: 1;
            height: auto;
            visibility: visible; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_la {
            font-size: 34rem;
            position: relative;
            font-weight: 500;
            line-height: 1.4em;
            padding: 45rem 62rem;
            box-sizing: border-box;
            display: block;
            background: url("../img/icon_faq_01.png") no-repeat;
            background-size: 20rem;
            background-position: right 5rem center; }
            #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_la:before {
              content: '';
              position: absolute;
              left: 8rem;
              top: 50%;
              transform: translateY(-50%); }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt {
            padding-bottom: 0;
            opacity: 0;
            height: 0;
            visibility: hidden; }
            #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table {
              width: 100%; }
              #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table tr th {
                width: 190rem;
                border-bottom: solid 1rem #161616;
                font-size: 18rem;
                line-height: 1.5em;
                font-weight: 700;
                text-align: left;
                padding: 30rem 10rem; }
              #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table tr td {
                width: calc(100% - 190rem);
                border-left: solid 12rem #fff;
                border-bottom: solid 1rem #E1E1E1;
                font-size: 18rem;
                line-height: 1.5em;
                padding: 30rem 17rem; }

  #message_head {
    background: url("../img/rec_messe.jpg") no-repeat center top;
    background-size: cover;
    box-sizing: border-box;
    padding: 74rem 0 144rem 108rem; }
    #message_head .message_head_en {
      font-size: 61rem;
      margin-bottom: 35rem; }
    #message_head .message_head_ttl {
      font-size: 18rem;
      margin-bottom: 70rem; }
    #message_head .message_head_txt {
      max-width: 470rem;
      line-height: 2em; }

  #under_body.message .message_info {
    width: 1230rem;
    margin: -90rem auto 0;
    background: #fff;
    box-sizing: border-box;
    border-radius: 10rem;
    border: solid 1rem #E1E1E1;
    overflow: hidden;
    padding: 60rem 50rem; }
    #under_body.message .message_info h2 {
      font-size: 27rem;
      line-height: 1.5em;
      font-weight: 600;
      margin-bottom: 25rem;
      margin-top: 60rem; }
      #under_body.message .message_info h2:nth-child(1) {
        margin-top: 0; }
    #under_body.message .message_info p {
      font-size: 16rem;
      line-height: 2em;
      margin-bottom: 20rem; }
    #under_body.message .message_info .txt {
      font-size: 16rem;
      line-height: 2em;
      margin-bottom: 20rem; }
    #under_body.message .message_info img {
      max-width: 100%;
      height: auto;
      width: 70%;
      margin: 0 auto 30rem;
      display: block; }

  #rectop #rectop_mv {
    position: relative; }
    #rectop #rectop_mv .rectop_mv_slider {
      position: relative;
      z-index: 1; }
      #rectop #rectop_mv .rectop_mv_slider .rectop_mv_slide img {
        width: 100%;
        height: auto;
        display: block; }
    #rectop #rectop_mv .rectop_mv_txt {
      color: #fff;
      position: absolute;
      top: 50%;
      left: 140rem;
      transform: translateY(-50%);
      z-index: 2;
      font-size: 50rem;
      line-height: 1.8em;
      letter-spacing: 0.05em; }
  #rectop #rectop_messe {
    padding: 160rem 0;
    position: relative;
    z-index: 2; }
    #rectop #rectop_messe .rectop_messe_txt {
      width: 1140rem;
      margin: 0 auto; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_ttl {
        font-size: 40rem; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_en {
        font-size: 24rem;
        line-height: 2em; }
      #rectop #rectop_messe .rectop_messe_txt .txt {
        margin: 40rem 0 70rem;
        width: 660rem;
        font-size: 28rem;
        text-align: justify;
        line-height: 1.6em; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_btn {
        width: 410rem; }
    #rectop #rectop_messe .rectop_messe_img {
      position: absolute;
      right: 130rem;
      bottom: -80rem;
      width: 430rem; }
  #rectop #rectop_job {
    background: #F8F8F8;
    border-radius: 40rem 40rem 0 0;
    padding: 130rem 0;
    position: relative;
    z-index: 1; }
    #rectop #rectop_job .inner_side {
      position: relative; }
      #rectop #rectop_job .inner_side .rectop_job_ttl {
        width: 1140rem;
        margin: 0 auto;
        font-size: 40rem; }
      #rectop #rectop_job .inner_side .rectop_job_en {
        width: 1140rem;
        margin: 0 auto;
        font-size: 24rem;
        line-height: 2em;
        margin-bottom: 30rem; }
    #rectop #rectop_job .rectop_job_btn {
      position: absolute;
      right: 106rem;
      top: 20rem;
      width: 200rem; }
      #rectop #rectop_job .rectop_job_btn a {
        width: 100%; }
  #rectop #rectop_inter {
    padding: 130rem 0; }
    #rectop #rectop_inter .rectop_inter_en {
      text-align: center;
      font-size: 40rem; }
    #rectop #rectop_inter .rectop_inter_ttl {
      text-align: center;
      font-size: 24rem;
      line-height: 2em; }
    #rectop #rectop_inter .rectop_inter_btn {
      text-align: center; }
    #rectop #rectop_inter .rectop_inter_boxes {
      margin: 65rem 0 70rem; }
      #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box {
        width: 530rem;
        position: relative;
        margin: 0 40rem;
        padding-top: 60rem; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img {
          position: relative;
          margin-bottom: 24rem; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img img {
            display: block;
            width: 100%; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_txt {
            position: absolute;
            left: 0;
            bottom: 100%;
            margin-bottom: -14rem; }
            #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_txt span {
              background: #161616;
              color: #fff;
              display: inline-block;
              margin-top: 8rem;
              padding: 2rem 7rem;
              line-height: 1.4em; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_name {
            color: #F53900;
            font-size: 40rem;
            position: absolute;
            top: -60rem;
            right: -15rem;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_info .name {
          font-size: 27rem;
          margin-bottom: 15rem; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_info .txt {
          font-size: 20rem;
          line-height: 1.8em; }

  /* #rectop */
  #inner_side_sc {
    box-sizing: border-box;
    padding-left: 150rem; }
    #inner_side_sc #inner_side_sc_in {
      overflow-x: scroll;
      width: 100%;
      white-space: nowrap;
      padding-bottom: 25rem; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar {
        height: 7rem;
        background: #fff; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar-track {
        height: 7rem;
        background: #fff; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar-thumb {
        height: 7rem;
        border-radius: 100rem;
        background: #3A3A3A; }
      #inner_side_sc #inner_side_sc_in .reform_box_list_box {
        display: inline-block;
        width: 376rem;
        margin-right: 35rem;
        white-space: normal;
        vertical-align: top; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box:last-child {
          margin-right: 0; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img {
          margin-bottom: 16rem;
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover; }
          #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img:before {
            content: '';
            display: block;
            padding-bottom: 57%; }
          #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img img {
            width: 100%;
            height: auto;
            display: block; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_txt {
          font-size: 18rem;
          line-height: 1.8em; }
      #inner_side_sc #inner_side_sc_in .rectop_job_list {
        display: inline-block;
        width: 376rem;
        margin-right: 35rem;
        white-space: normal; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list:last-child {
          margin-right: 0; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img {
          position: relative;
          margin-bottom: 10rem;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover; }
          #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img img {
            width: 100%;
            height: auto;
            display: block; }
          #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img span {
            font-size: 11rem;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #fff;
            z-index: 2;
            font-weight: 700;
            background: #1A1A1A;
            border-radius: 0 10rem 0 0;
            padding: 7rem 13rem;
            line-height: 1.2em; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_ttl {
          line-height: 1.8em;
          font-size: 20rem; }

  #under_body.service {
    padding-bottom: 0; }
    #under_body.service .serv_top_head {
      align-items: center;
      margin-bottom: 45rem; }
      #under_body.service .serv_top_head .serv_top_head_left {
        width: calc(100% - 690rem);
        box-sizing: border-box;
        padding-left: 80rem; }
        #under_body.service .serv_top_head .serv_top_head_left .serv_top_head_left_txt {
          font-size: 30rem;
          margin-bottom: 28rem; }
        #under_body.service .serv_top_head .serv_top_head_left .serv_top_head_left_ttl {
          font-size: 60rem; }
      #under_body.service .serv_top_head .serv_top_head_right {
        width: 690rem; }
        #under_body.service .serv_top_head .serv_top_head_right img {
          width: 100%; }
    #under_body.service .serv_top_body {
      width: 1250rem;
      margin: 0 auto;
      padding-bottom: 110rem; }
      #under_body.service .serv_top_body .serv_top_body_inner {
        display: flex;
        justify-content: space-between;
        position: relative; }
        #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left {
          width: 360rem;
          padding-top: 70rem;
          position: relative; }
          #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left div {
            position: sticky;
            left: 0;
            top: 140rem;
            height: 250rem;
            background-position: center;
            background-repeat: no-repeat;
            background-size: 60%;
            background-image: url("../img/serv_icon_01.png");
            transition: 0.1s; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left div.dl1 {
              background-image: url("../img/serv_icon_02.png") !important;
              transition: 0.1s; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left div.dl2 {
              background-image: url("../img/serv_icon_03.png") !important;
              transition: 0.1s;
              background-size: 40%; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left div.dl3 {
              background-image: url("../img/serv_icon_04.png") !important;
              transition: 0.1s; }
        #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right {
          width: calc(100% - 410rem); }
          #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl {
            padding-top: 70rem; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dt {
              font-size: 29rem;
              line-height: 1.5em;
              font-weight: 500;
              margin-bottom: 10rem; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dd {
              font-size: 18rem;
              line-height: 2em; }
    #under_body.service .serv_boxes .serv_box {
      border-radius: 40rem 40rem 0 0;
      padding-bottom: 90rem; }
      #under_body.service .serv_boxes .serv_box#box1 {
        background: #FAFAFA; }
      #under_body.service .serv_boxes .serv_box#box3 {
        background: #FAFAFA;
        padding-bottom: 120rem; }
      #under_body.service .serv_boxes .serv_box .serv_box_head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 1240rem;
        margin: 0 auto;
        padding: 90rem 0; }
        #under_body.service .serv_boxes .serv_box .serv_box_head .serv_box_head_ttl {
          width: 40%;
          font-size: 40rem; }
        #under_body.service .serv_boxes .serv_box .serv_box_head .serv_box_head_txt {
          width: 600rem;
          font-size: 18rem;
          line-height: 2em; }
      #under_body.service .serv_boxes .serv_box .serv_box_img img {
        width: 100%;
        height: auto;
        display: block; }
      #under_body.service .serv_boxes .serv_box .serv_box_lists {
        width: 980rem;
        margin: 0 auto;
        padding-top: 75rem; }
        #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list {
          padding: 45rem 0;
          display: flex;
          align-items: center;
          border-bottom: solid 1rem #E1E1E1;
          background: url("../img/arr_01.png") no-repeat;
          background-size: 25rem;
          background-position: right 15rem center;
          transition: 0.1s; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list:hover {
            background-position: right 5rem center;
            transition: 0.1s; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_num {
            font-size: 72rem;
            text-align: center;
            width: 140rem; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt {
            width: calc(100% - 140rem);
            box-sizing: border-box;
            padding-right: 40rem; }
            #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt .serv_box_list_txt_ttl {
              font-size: 32rem;
              line-height: 1.4em;
              margin-bottom: 10rem; }
            #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt .serv_box_list_txt_txt {
              font-size: 18rem;
              line-height: 2em; }
    #under_body.service .service_txt {
      width: 1180rem;
      margin: 0 auto;
      font-size: 18rem;
      line-height: 2em; }
    #under_body.service .service_btm {
      display: flex;
      justify-content: space-between; }
      #under_body.service .service_btm .service_btm_box {
        width: 50%;
        position: relative;
        height: 360rem;
        transition: 0.3s;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
        #under_body.service .service_btm .service_btm_box#naiso {
          background-image: url("../img/serv_head_03.png"); }
        #under_body.service .service_btm .service_btm_box#jutaku {
          background-image: url("../img/serv_head_01.jpg"); }
        #under_body.service .service_btm .service_btm_box#bill {
          background-image: url("../img/serv_head_02.png"); }
        #under_body.service .service_btm .service_btm_box:hover {
          opacity: 0.9;
          cursor: pointer;
          transition: 0.3s; }
        #under_body.service .service_btm .service_btm_box:before {
          content: '';
          display: block;
          background: rgba(0, 0, 0, 0.3);
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
        #under_body.service .service_btm .service_btm_box .service_btm_box_txt {
          color: #fff;
          z-index: 2;
          position: absolute;
          left: 18rem;
          bottom: 13rem;
          font-size: 30rem; }
    #under_body.service .service_btn {
      text-align: center;
      margin-bottom: 140rem; }
    #under_body.service .service_boxes .service_box#box2 {
      background: #FAFAFA;
      border-radius: 40rem 40rem 0 0;
      position: relative;
      padding-bottom: 100rem; }
      #under_body.service .service_boxes .service_box#box2:before {
        content: '';
        display: block;
        width: 100%;
        height: 60rem;
        border-radius: 40rem 40rem 0 0;
        background: #fff;
        position: absolute;
        left: 0;
        bottom: 0;
        margin-bottom: -1rem; }
    #under_body.service .service_boxes .service_box#box4 {
      background: #FAFAFA;
      border-radius: 40rem 40rem 0 0;
      position: relative;
      padding-bottom: 100rem; }
      #under_body.service .service_boxes .service_box#box4:before {
        content: '';
        display: block;
        width: 100%;
        height: 60rem;
        border-radius: 40rem 40rem 0 0;
        background: #fff;
        position: absolute;
        left: 0;
        bottom: 0;
        margin-bottom: -1rem; }
    #under_body.service .service_boxes .service_box .service_box_inner {
      padding: 100rem 0;
      box-sizing: border-box;
      padding-left: 130rem; }
      #under_body.service .service_boxes .service_box .service_box_inner .nonlist {
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        padding-right: 130rem; }
        #under_body.service .service_boxes .service_box .service_box_inner .nonlist li {
          width: 49%; }
          #under_body.service .service_boxes .service_box .service_box_inner .nonlist li img {
            width: 100%;
            height: auto;
            display: block; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_ttl {
        position: relative;
        box-sizing: border-box;
        font-size: 32rem;
        line-height: 1.4em;
        border-bottom: solid 1rem #E1E1E1;
        padding-bottom: 16rem;
        margin-bottom: 16rem; }
        #under_body.service .service_boxes .service_box .service_box_inner .service_box_ttl:before {
          content: '';
          display: block;
          height: 1rem;
          width: 190rem;
          background: #161616;
          position: absolute;
          left: 0;
          top: 100%; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_txt {
        font-size: 18rem;
        line-height: 2em;
        margin-bottom: 30rem;
        box-sizing: border-box;
        padding-right: 130rem; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_sub {
        display: inline-block;
        color: #fff;
        background: #161616;
        font-size: 30rem;
        margin-bottom: 30rem;
        padding: 8rem 12rem;
        margin-top: 1em; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_list {
        overflow-x: scroll;
        white-space: nowrap;
        padding-bottom: 20rem; }
        #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li {
          display: inline-block;
          vertical-align: top;
          width: 360rem;
          margin-right: 50rem;
          white-space: normal; }
          #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_img {
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            margin-bottom: 16rem; }
            #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_img:before {
              content: '';
              display: block;
              padding-bottom: 66%; }
          #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_txt {
            font-size: 18rem;
            line-height: 2em; }

  #under_body.acc {
    padding-bottom: 0; }
    #under_body.acc .acc_head {
      width: 1140rem;
      margin: 0 auto 90rem;
      display: flex;
      justify-content: space-between; }
      #under_body.acc .acc_head .acc_head_left {
        width: 527rem; }
        #under_body.acc .acc_head .acc_head_left img {
          width: 100%; }
      #under_body.acc .acc_head .acc_head_right {
        padding-top: 26rem;
        width: calc(100% - 590rem); }
        #under_body.acc .acc_head .acc_head_right .ttl {
          font-size: 40rem;
          margin-bottom: 38rem; }
        #under_body.acc .acc_head .acc_head_right .acc_head_list {
          display: flex;
          justify-content: space-between; }
          #under_body.acc .acc_head .acc_head_right .acc_head_list dt {
            box-sizing: border-box;
            width: 133rem;
            font-size: 16rem;
            line-height: 1.4em;
            border-bottom: solid 1rem #161616;
            padding: 18rem 10rem; }
          #under_body.acc .acc_head .acc_head_right .acc_head_list dd {
            box-sizing: border-box;
            width: calc(100% - 140rem);
            font-size: 16rem;
            line-height: 1.4em;
            border-bottom: solid 1rem #E1E1E1;
            padding: 18rem 10rem; }
    #under_body.acc .acc_body {
      background: #F8F8F8;
      border-radius: 40rem 40rem 0 0;
      padding: 124rem 0; }
      #under_body.acc .acc_body .ttl {
        width: 1140rem;
        margin: 0 auto;
        font-size: 40rem;
        border-bottom: solid 1rem #BEBDBD;
        padding-bottom: 25rem;
        margin-bottom: 36rem; }
      #under_body.acc .acc_body .acc_lists {
        width: 1140rem;
        margin: 0 auto; }
        #under_body.acc .acc_body .acc_lists .acc_box {
          box-sizing: border-box;
          background: #fff;
          border-radius: 10rem;
          border: solid 1rem #BEBDBD;
          overflow: hidden;
          margin-bottom: 25rem;
          padding: 25rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          position: relative; }
          #under_body.acc .acc_body .acc_lists .acc_box:last-child {
            margin-bottom: 0; }
          #under_body.acc .acc_body .acc_lists .acc_box .acc_box_left {
            width: 250rem;
            border-right: solid 1rem #BEBDBD;
            padding: 5rem 0; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_left img {
              width: 232rem;
              display: block; }
          #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right {
            display: flex;
            align-items: center;
            width: calc(100% - 250rem);
            box-sizing: border-box;
            padding-left: 38rem;
            position: relative; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .sub {
              font-size: 30rem;
              width: 200rem; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info {
              width: 370rem; }
              #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl {
                display: flex;
                flex-wrap: wrap;
                font-size: 18rem;
                line-height: 1.8em; }
                #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt {
                  width: 47rem; }
                  #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt:after {
                    content: '/';
                    margin-left: 4rem; }
                  #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt:first-child {
                    width: 70rem; }
                #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dd {
                  width: 300rem; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_left_btn {
              position: absolute;
              top: 50%;
              right: 0;
              transform: translateY(-50%); }

  /* #under_body.acc */
  #under_body.com .com_ttl {
    font-size: 40rem;
    width: 260rem; }
  #under_body.com .com_slider .com_slide {
    width: 360rem;
    box-sizing: border-box;
    padding: 0 20rem; }
    #under_body.com .com_slider .com_slide img {
      width: 100%; }
  #under_body.com .com_vision {
    padding: 170rem 0 0;
    width: 1140rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    #under_body.com .com_vision .com_vision_txt {
      width: calc(100% - 260rem); }
      #under_body.com .com_vision .com_vision_txt .com_vision_sub {
        font-size: 53rem;
        line-height: 1.7em;
        position: relative;
        top: -25rem; }
      #under_body.com .com_vision .com_vision_txt .com_vision_min {
        font-size: 22rem;
        margin-bottom: 15rem; }
      #under_body.com .com_vision .com_vision_txt .txt {
        line-height: 1.8em;
        font-size: 18rem; }
  #under_body.com .com_messe {
    padding-top: 170rem;
    width: 1140rem;
    margin: 0 auto; }
    #under_body.com .com_messe .com_messe_box {
      padding-top: 50rem;
      display: flex;
      justify-content: space-between; }
      #under_body.com .com_messe .com_messe_box .com_messe_left {
        width: 760rem;
        font-size: 18rem;
        line-height: 1.8em;
        text-align: justify; }
      #under_body.com .com_messe .com_messe_box .com_messe_right {
        width: 330rem; }
        #under_body.com .com_messe .com_messe_box .com_messe_right img {
          width: 100%;
          display: block; }
        #under_body.com .com_messe .com_messe_box .com_messe_right .name {
          margin-top: 15rem;
          text-align: right;
          font-size: 28rem;
          line-height: 1.4em; }
          #under_body.com .com_messe .com_messe_box .com_messe_right .name span {
            font-size: 23rem; }
  #under_body.com .com_out {
    padding: 170rem 0;
    width: 1140rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    #under_body.com .com_out .com_out_table {
      width: calc(100% - 260rem);
      padding-top: 50rem; }
      #under_body.com .com_out .com_out_table table {
        width: 100%; }
        #under_body.com .com_out .com_out_table table tr th {
          border-bottom: solid 1rem #161616;
          border-top: solid 1rem #161616;
          border-right: solid 10rem #fff;
          width: 200rem;
          font-size: 20rem;
          line-height: 1.4em;
          text-align: left;
          padding: 30rem 10rem; }
        #under_body.com .com_out .com_out_table table tr td {
          border-bottom: solid 1rem #E1E1E1;
          border-top: solid 1rem #E1E1E1;
          width: calc(100% - 200rem);
          font-size: 20rem;
          line-height: 1.4em;
          padding: 30rem 10rem; }
          #under_body.com .com_out .com_out_table table tr td.addr {
            position: relative; }
            #under_body.com .com_out .com_out_table table tr td.addr .map {
              position: absolute;
              right: 10rem;
              top: 50%;
              transform: translateY(-50%); }
  #under_body.com .com_his {
    background: #F8F8F8;
    border-radius: 40rem 40rem 0 0; }
    #under_body.com .com_his .com_his_inner {
      width: 1140rem;
      margin: 0 auto;
      padding: 110rem 0;
      display: flex;
      justify-content: space-between;
      position: relative; }
      #under_body.com .com_his .com_his_inner .com_his_left {
        width: 288rem; }
        #under_body.com .com_his .com_his_inner .com_his_left .com_his_leftin {
          padding-top: 30rem;
          position: sticky;
          left: 0;
          top: 0; }
        #under_body.com .com_his .com_his_inner .com_his_left .com_ttl {
          margin-bottom: 30rem; }
        #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo {
          height: 173rem;
          width: 235rem;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover;
          border-radius: 10rem;
          position: relative; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his01 {
            background-image: url("../img/his_img_02.png") !important;
            transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his02 {
            background-image: url("../img/his_img_03.png") !important;
            transition: 0.2s; }
            #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his02:before {
              content: '';
              display: block;
              position: absolute;
              top: 100%;
              left: 0;
              width: 235rem;
              height: 173rem;
              background: url("../img/his_img_05.png") no-repeat center;
              background-size: contain;
              margin-top: 20rem;
              transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his03 {
            background-image: url("../img/his_img_04.png") !important;
            transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his04 {
            background-image: url("../img/his_img_06.png") !important;
            transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his05 {
            background-image: url("../img/his_img_07.png") !important;
            transition: 0.2s; }
            #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his05:before {
              content: '';
              display: block;
              position: absolute;
              top: 100%;
              left: 0;
              width: 235rem;
              height: 173rem;
              background: url("../img/his_img_08.png") no-repeat center;
              background-size: contain;
              margin-top: 20rem;
              transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his06 {
            background-image: url("../img/his_img_09.png") !important;
            transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his07 {
            background-image: url("../img/his_img_10.png") !important;
            transition: 0.2s; }
          #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo.his08 {
            background-image: url("../img/his_img_11.png") !important;
            transition: 0.2s; }
      #under_body.com .com_his .com_his_inner .com_his_right {
        width: calc(100% - 290rem); }
        #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes {
          padding-top: 130rem; }
          #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box {
            display: flex;
            align-items: center; }
            #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box:last-child dd:before {
              display: none; }
            #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dt {
              font-size: 20rem;
              line-height: 1.2em;
              width: 160rem;
              padding: 45rem 0;
              position: relative; }
              #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dt:before {
                content: '';
                width: 24rem;
                height: 24rem;
                background: url("../img/icon_his.png") no-repeat center;
                background-size: contain;
                position: absolute;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                margin-right: 24rem; }
            #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dd {
              font-size: 20rem;
              line-height: 1.2em;
              width: calc(100% - 120rem);
              padding: 45rem 0;
              border-bottom: solid 1rem #BEBDBD;
              position: relative; }
              #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dd:before {
                content: '';
                background: #BEBDBD;
                width: 1rem;
                height: 70rem;
                left: -36rem;
                bottom: -35rem;
                display: block;
                position: absolute; }
  #under_body.com .com_serv .com_serv_inner {
    width: 1140rem;
    margin: 0 auto;
    padding: 140rem 0 90rem; }
    #under_body.com .com_serv .com_serv_inner .com_ttl {
      margin-bottom: 30rem; }
    #under_body.com .com_serv .com_serv_inner .com_serv_list {
      display: flex; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li {
        width: 33.33%;
        height: 372rem;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        position: relative; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li:hover {
          cursor: pointer; }
          #under_body.com .com_serv .com_serv_inner .com_serv_list li:hover:after {
            background: rgba(0, 0, 0, 0.05);
            transition: 0.3s; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li:after {
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          position: absolute;
          left: 0;
          top: 0;
          background: rgba(0, 0, 0, 0.25);
          z-index: 1;
          transition: 0.3s; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li a {
          display: block;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          z-index: 3;
          cursor: pointer; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li .txt {
          color: #fff;
          font-size: 30rem;
          position: absolute;
          left: 20rem;
          bottom: 20rem;
          border-top: solid 1rem #fff;
          z-index: 2;
          width: calc(100% - 40rem);
          padding-top: 20rem; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li.l01 {
          background-image: url("../img/com_serv_01.png"); }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li.l02 {
          background-image: url("../img/com_serv_02.png"); }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li.l03 {
          background-image: url("../img/com_serv_03.png"); }

  /* #under_body.com */
  #under_body.two_column .two_column_inner {
    width: 1140rem;
    margin: 0 auto;
    display: flex; }
    #under_body.two_column .two_column_inner .two_column_left {
      width: 228rem;
      position: relative; }
      #under_body.two_column .two_column_inner .two_column_left .siderbar {
        position: sticky;
        left: 0;
        top: 100rem; }
        #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li {
          margin-bottom: 8rem; }
          #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li:first-child {
            margin-bottom: 25rem; }
          #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li.current a {
            font-weight: 700;
            color: #fff;
            background: #161616; }
            #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li.current a:hover {
              color: #161616;
              background: #fff; }
          #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li a {
            width: 125rem;
            display: block;
            font-size: 15rem;
            line-height: 2em;
            border-radius: 100rem;
            box-sizing: border-box;
            border: solid 1rem #161616;
            color: #161616;
            text-align: center; }
            #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li a:hover {
              color: #fff;
              background: #161616; }
    #under_body.two_column .two_column_inner .two_column_right {
      width: calc(100% - 228rem); }
      #under_body.two_column .two_column_inner .two_column_right .blog_lists {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list {
          width: 48%;
          margin-bottom: 50rem; }
          #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img {
            position: relative;
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            margin-bottom: 24rem; }
            #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img:hover {
              opacity: 0.9; }
            #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img:before {
              content: '';
              padding-bottom: 58%;
              display: block; }
            #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img .cat {
              display: inline-block;
              color: #fff;
              background: #161616;
              border-radius: 0 10rem 0 0;
              position: absolute;
              left: 0;
              bottom: 0;
              padding: 0 14rem;
              line-height: 2em;
              font-size: 15rem; }
            #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img a {
              position: absolute;
              left: 0;
              top: 0;
              width: 100%;
              height: 100%; }
              #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img a:hover {
                cursor: pointer; }
          #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .date {
            font-size: 14rem;
            margin-bottom: 1em; }
          #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl {
            font-size: 18rem;
            line-height: 1.5em; }
            #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl a {
              color: #161616; }
              #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl a:hover {
                text-decoration: underline; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_thum {
        margin-bottom: 35rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_thum img {
          width: 100%;
          height: auto;
          display: block; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_info {
        display: flex;
        box-sizing: border-box;
        align-items: center;
        padding: 0 5rem;
        margin-bottom: 10rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_info .date {
          font-size: 15rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_info .date:after {
            content: '/';
            margin: 0 10rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_info .cat {
          font-size: 12rem;
          line-height: 2em;
          display: inline-block;
          border: solid 1rem #161616;
          border-radius: 100rem;
          padding: 0 22rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_ttl {
        line-height: 1.5em;
        font-size: 24rem;
        margin-bottom: 40rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body {
        font-size: 16rem;
        line-height: 2em;
        padding-bottom: 80rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body p {
          margin-bottom: 1em; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body a {
          color: #2C84B6;
          text-decoration: underline; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body h2 {
          color: #fff;
          font-weight: 700;
          font-size: 23rem;
          padding: 7rem 19rem;
          line-height: 1.4em;
          background: linear-gradient(to right, #1A1A1A, #fff);
          margin-bottom: 15rem;
          margin-top: 45rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body h3 {
          font-size: 20rem;
          font-weight: 700;
          line-height: 1.5em;
          padding-bottom: 10rem;
          margin-top: 35rem;
          margin-bottom: 15rem;
          border-bottom: solid 1rem #161616; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body h4 {
          font-size: 18rem;
          font-weight: 700;
          line-height: 1.5em;
          padding: 1rem 0 1rem 10rem;
          margin-top: 35rem;
          margin-bottom: 15rem;
          border-left: solid 3rem #161616; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body ul {
          font-size: 16rem;
          margin-bottom: 30rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_body ul li {
            position: relative;
            padding-left: 1em;
            line-height: 1.5em;
            margin-bottom: 10rem; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_body ul li:after {
              content: '・';
              position: absolute;
              left: 0;
              top: 0; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body ol {
          font-size: 16rem;
          margin-bottom: 30rem;
          padding-left: 1.5em; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_body ol li {
            position: relative;
            line-height: 1.5em;
            margin-bottom: 10rem;
            list-style: decimal; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body img {
          max-width: 100%;
          height: auto;
          margin-bottom: 30rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body table {
          width: 100%;
          margin-bottom: 30rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_body table tr th {
            border: solid 1rem #161616;
            text-align: left;
            font-size: 15rem;
            line-height: 1.4em;
            padding: 15rem;
            background: #F6F6F6;
            font-weight: 700; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_body table tr td {
            border: solid 1rem #161616;
            font-size: 15rem;
            line-height: 1.4em;
            padding: 15rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_share {
        border-bottom: solid 1rem #E0E0E0;
        border-top: solid 1rem #E0E0E0;
        padding: 30rem 0;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 35rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_share .ttl {
          font-size: 24rem;
          margin-right: 20rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_share .list {
          display: flex;
          align-items: center; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li {
            width: 20rem;
            margin-left: 20rem; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li a {
              display: block; }
              #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li a:hover {
                opacity: 0.5; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_nav {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_nav div {
          width: 214rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.prev {
            display: block;
            width: 100%;
            font-weight: 700;
            font-size: 18rem;
            border-radius: 100rem;
            border: solid 1rem #1A1A1A;
            box-sizing: border-box;
            color: #1A1A1A;
            text-align: center;
            padding: 0.8em 0;
            background: url("../img/arr_left.png") no-repeat;
            background-size: 20rem;
            background-position: left 20rem center;
            transition: 0.3s; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.prev:hover {
              transition: 0.3s;
              color: #fff;
              background: url("../img/arr_left_w.png") no-repeat #1A1A1A;
              background-size: 20rem;
              background-position: left 20rem center; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.next {
            display: block;
            width: 100%;
            font-weight: 700;
            font-size: 18rem;
            border-radius: 100rem;
            border: solid 1rem #1A1A1A;
            box-sizing: border-box;
            color: #1A1A1A;
            text-align: center;
            padding: 0.8em 0;
            background: url("../img/arr_right.png") no-repeat;
            background-size: 20rem;
            background-position: right 20rem center;
            transition: 0.3s; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.next:hover {
              transition: 0.3s;
              color: #fff;
              background: url("../img/arr_right_w.png") no-repeat #1A1A1A;
              background-size: 20rem;
              background-position: right 20rem center; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.all {
            display: block;
            width: 100%;
            font-weight: 700;
            font-size: 18rem;
            border-radius: 100rem;
            border: solid 1rem #1A1A1A;
            box-sizing: border-box;
            color: #1A1A1A;
            text-align: center;
            padding: 0.8em 0;
            transition: 0.3s; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.all:hover {
              transition: 0.3s;
              color: #fff;
              background: #1A1A1A; }

  /* #under_body.two_column */
  .news_lists .news_list {
    border-bottom: solid 1rem #E0E0E0;
    padding: 30rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    .news_lists .news_list .news_list_left {
      width: 224rem; }
      .news_lists .news_list .news_list_left div {
        width: 100%;
        height: 136rem;
        border-radius: 10rem;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
    .news_lists .news_list .news_list_right {
      width: calc(100% - 266rem);
      box-sizing: border-box;
      padding-right: 150rem; }
      .news_lists .news_list .news_list_right .news_list_info {
        text-align: center;
        width: 112rem;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%); }
        .news_lists .news_list .news_list_right .news_list_info .cat {
          display: block;
          text-align: center;
          border: solid 1rem #161616;
          border-radius: 100rem;
          font-size: 16rem;
          padding: 5rem 0;
          margin-bottom: 10rem; }
        .news_lists .news_list .news_list_right .news_list_info .date {
          font-size: 14rem; }
      .news_lists .news_list .news_list_right .ttl {
        font-size: 24rem;
        line-height: 1.5em;
        margin-bottom: 5rem; }
      .news_lists .news_list .news_list_right .txt {
        font-size: 14rem;
        line-height: 1.8em; }
    .news_lists .news_list:first-child {
      margin-top: -30rem; }

  #under_body.work {
    padding-bottom: 0; }
    #under_body.work.work2 {
      padding-bottom: 90rem; }
    #under_body.work.archive_work {
      padding-bottom: 90rem; }
    #under_body.work .work_inner {
      width: 1140rem;
      margin: 0 auto; }
      #under_body.work .work_inner .work_tablist {
        display: flex;
        justify-content: space-between;
        align-items: center; }
        #under_body.work .work_inner .work_tablist.work_tablist2 {
          margin-bottom: 80rem; }
        #under_body.work .work_inner .work_tablist .work_tablist_left {
          width: 180rem; }
          #under_body.work .work_inner .work_tablist .work_tablist_left .work_tablist_en {
            font-size: 22rem; }
          #under_body.work .work_inner .work_tablist .work_tablist_left .work_tablist_jp {
            font-size: 16rem;
            line-height: 2em; }
        #under_body.work .work_inner .work_tablist .work_tablist_right {
          width: calc(100% - 180rem);
          font-size: 0; }
          #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link {
            display: flex;
            flex-wrap: wrap; }
            #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li {
              min-width: 165rem;
              margin: 5rem 10rem 5rem 0;
              font-size: 17rem; }
              #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li a {
                font-size: 17rem;
                line-height: 2em;
                border: solid 1rem #161616;
                border-radius: 100rem;
                padding: 0 10rem;
                display: block;
                text-align: center;
                color: #161616; }
                #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li a:hover {
                  color: #fff;
                  background: #161616; }
          #under_body.work .work_inner .work_tablist .work_tablist_right input[type="checkbox"] {
            display: none; }
          #under_body.work .work_inner .work_tablist .work_tablist_right input[type="checkbox"]:checked + label {
            color: #fff;
            background: #161616; }
          #under_body.work .work_inner .work_tablist .work_tablist_right label {
            display: inline-block;
            min-width: 165rem;
            text-align: center;
            box-sizing: border-box;
            font-size: 17rem;
            line-height: 2em;
            border: solid 1rem #161616;
            border-radius: 100rem;
            padding: 0 10rem;
            margin: 5rem 10rem 5rem 0; }
            #under_body.work .work_inner .work_tablist .work_tablist_right label:hover {
              color: #fff;
              background: #161616; }
      #under_body.work .work_inner .work_lists {
        padding-top: 40rem;
        margin-top: 40rem;
        border-top: solid 1rem #161616;
        display: flex;
        flex-wrap: wrap; }
        #under_body.work .work_inner .work_lists .work_list {
          width: 32%;
          margin-right: 2%;
          margin-bottom: 40rem; }
          #under_body.work .work_inner .work_lists .work_list:nth-child(3n) {
            margin-right: 0; }
          #under_body.work .work_inner .work_lists .work_list .work_list_img {
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            margin-bottom: 15rem; }
            #under_body.work .work_inner .work_lists .work_list .work_list_img:before {
              content: '';
              display: block;
              padding-bottom: 57%; }
          #under_body.work .work_inner .work_lists .work_list .work_list_ttl {
            font-size: 24rem;
            line-height: 1.8em;
            margin-bottom: 10rem; }
          #under_body.work .work_inner .work_lists .work_list .work_list_tag {
            font-size: 0; }
            #under_body.work .work_inner .work_lists .work_list .work_list_tag li {
              font-size: 16rem;
              display: inline-block;
              margin-right: 10rem; }
              #under_body.work .work_inner .work_lists .work_list .work_list_tag li:before {
                content: '#'; }
      #under_body.work .work_inner .work_single .work_single_sub {
        font-size: 26rem;
        line-height: 1.4em;
        box-sizing: border-box;
        padding-bottom: 15rem;
        border-bottom: solid 1rem #E1E1E1;
        position: relative;
        margin-bottom: 20rem; }
        #under_body.work .work_inner .work_single .work_single_sub:before {
          content: '';
          display: block;
          width: 120rem;
          height: 1rem;
          background: #161616;
          position: absolute;
          left: 0;
          bottom: -1rem; }
      #under_body.work .work_inner .work_single .work_single_table {
        display: flex;
        flex-wrap: wrap; }
        #under_body.work .work_inner .work_single .work_single_table dt {
          box-sizing: border-box;
          background: #161616;
          color: #fff;
          font-size: 16rem;
          line-height: 1.6em;
          border: solid 1rem #D4D2D2;
          width: 15%;
          padding: 11rem 20rem;
          align-items: center;
          display: flex; }
        #under_body.work .work_inner .work_single .work_single_table dd {
          box-sizing: border-box;
          color: #161616;
          font-size: 16rem;
          line-height: 1.6em;
          border: solid 1rem #D4D2D2;
          width: 35%;
          padding: 11rem 20rem;
          align-items: center;
          display: flex; }
      #under_body.work .work_inner .work_single .work_single_ba {
        display: flex;
        justify-content: space-between; }
        #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box {
          width: 48%;
          margin-bottom: 80rem; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box:nth-child(1) .work_single_ba_box_img:before {
            content: 'Before';
            font-weight: 700;
            font-size: 14rem;
            width: 112rem;
            text-align: center;
            line-height: 2em;
            box-sizing: border-box;
            border: solid 1rem #161616;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #fff;
            background: #161616;
            border-radius: 0 10rem 0 0; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box:nth-child(2) .work_single_ba_box_img:before {
            content: 'After';
            font-weight: 700;
            font-size: 14rem;
            width: 112rem;
            text-align: center;
            line-height: 2em;
            box-sizing: border-box;
            border: solid 1rem #161616;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #161616;
            background: #fff;
            border-radius: 0 10rem 0 0; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .work_single_ba_box_img {
            margin-bottom: 10rem;
            position: relative; }
            #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .work_single_ba_box_img img {
              width: 100%;
              height: auto;
              display: block; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .txt {
            font-size: 19rem;
            line-height: 1.6em; }
      #under_body.work .work_inner .work_single .work_single_ttl {
        padding: 0 0 0 14rem;
        font-size: 32rem;
        line-height: 1.6em;
        border-left: solid 10rem #161616;
        margin-bottom: 20rem; }
      #under_body.work .work_inner .work_single .work_single_thum {
        margin-bottom: 20rem; }
        #under_body.work .work_inner .work_single .work_single_thum img {
          width: 100%;
          height: auto;
          display: block; }
      #under_body.work .work_inner .work_single .work_single_boto {
        font-size: 18rem;
        line-height: 2em;
        margin-bottom: 35rem; }
      #under_body.work .work_inner .work_single .work_single_head {
        display: flex;
        justify-content: space-between; }
        #under_body.work .work_inner .work_single .work_single_head .work_single_head_left {
          width: 460rem; }
          #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list {
            display: flex;
            flex-wrap: wrap; }
            #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li {
              width: 32%;
              margin-right: 2%;
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center;
              margin-bottom: 10rem; }
              #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li:before {
                content: '';
                display: block;
                padding-bottom: 100%; }
              #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li:nth-child(3n) {
                margin-right: 0; }
        #under_body.work .work_inner .work_single .work_single_head .work_single_head_right {
          width: 650rem; }
          #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table {
            width: 100%; }
            #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table tr th {
              border: solid 1rem #D4D2D2;
              background: #1A1A1A;
              color: #fff;
              padding: 18rem;
              font-size: 15rem;
              line-height: 1.5em;
              text-align: left;
              width: 30%; }
            #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table tr td {
              border: solid 1rem #D4D2D2;
              padding: 18rem;
              font-size: 15rem;
              line-height: 1.5em;
              width: 70%; }
      #under_body.work .work_inner .work_single .work_single_body {
        padding: 50rem 0 80rem;
        font-size: 16rem;
        line-height: 1.8em; }
    #under_body.work .work_other {
      border-radius: 40rem 40rem 0 0;
      background: #F8F8F8;
      padding: 90rem 0; }
      #under_body.work .work_other .work_other_en {
        font-size: 40rem;
        text-align: center; }
      #under_body.work .work_other .work_other_ttl {
        font-size: 24rem;
        text-align: center;
        line-height: 2em;
        margin-bottom: 50rem; }
      #under_body.work .work_other .work_lists {
        width: 1140rem;
        margin: 0 auto 70rem;
        display: flex; }
        #under_body.work .work_other .work_lists .work_list {
          width: 32%;
          margin-right: 2%; }
          #under_body.work .work_other .work_lists .work_list:nth-child(3) {
            margin-right: 0; }
          #under_body.work .work_other .work_lists .work_list .work_list_img {
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            margin-bottom: 15rem; }
            #under_body.work .work_other .work_lists .work_list .work_list_img:before {
              content: '';
              display: block;
              padding-bottom: 57%; }
          #under_body.work .work_other .work_lists .work_list .work_list_ttl {
            font-size: 24rem;
            line-height: 1.8em;
            margin-bottom: 10rem; }
          #under_body.work .work_other .work_lists .work_list .work_list_tag {
            font-size: 0; }
            #under_body.work .work_other .work_lists .work_list .work_list_tag li {
              font-size: 16rem;
              display: inline-block;
              margin-right: 10rem; }
              #under_body.work .work_other .work_lists .work_list .work_list_tag li:before {
                content: '#'; }
      #under_body.work .work_other .work_other_btn {
        text-align: center; }

  /* #under_body.work */
  #under_body.reform .reform_boxes .reform_box {
    border-radius: 40rem 40rem 0 0;
    padding: 120rem 0; }
    #under_body.reform .reform_boxes .reform_box#box2 {
      background: #FBFBFB; }
      #under_body.reform .reform_boxes .reform_box#box2 .reform_box_head .reform_box_head_txt {
        order: 1; }
      #under_body.reform .reform_boxes .reform_box#box2 .reform_box_head .reform_box_head_img {
        order: 2; }
    #under_body.reform .reform_boxes .reform_box .reform_box_head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 80rem; }
      #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_img {
        width: 720rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_img img {
          width: 100%;
          display: block; }
      #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt {
        width: calc(100% - 720rem);
        box-sizing: border-box;
        padding: 0 96rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt .ttl {
          font-size: 30rem;
          margin-bottom: 40rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt .txt {
          font-size: 18rem;
          line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_servs {
      padding: 20rem 0;
      width: 1140rem;
      margin: 0 auto;
      display: flex;
      justify-content: space-between; }
      #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv {
        width: 32%; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_img {
          margin-bottom: 25rem; }
          #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_img img {
            width: 100%;
            display: block; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_ttl {
          font-size: 28rem;
          line-height: 1.3em;
          margin-bottom: 20rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_txt {
          font-size: 16rem;
          line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_lists_ttl {
      width: 1140rem;
      margin: 80rem auto 40rem;
      font-size: 28rem;
      line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_lists {
      position: relative; }
      #under_body.reform .reform_boxes .reform_box .reform_box_lists .reform_box_lists_btn {
        width: 215rem;
        position: absolute;
        right: 130rem;
        top: -90rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_lists .reform_box_lists_btn a {
          width: 100%; }

  /* #under_body.reform */ }
/* SP */
@media screen and (max-width: 869px) {
  .anclink2 {
    padding-top: 10vw;
    margin-top: -10vw; }

  .pconly {
    display: none !important; }

  .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  html {
    font-size: calc(1vw * 100 / 750); }

  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Regular.otf") format("opentype");
    font-weight: 400; }
  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Medium.otf") format("opentype");
    font-weight: 500; }
  @font-face {
    font-family: "Satoshi";
    src: local("Satoshi"), url("../font/Satoshi-Bold.otf") format("opentype");
    font-weight: 700; }
  body {
    font-size: 16rem; }

  /* 共通 */
  .mapbtn {
    display: inline-block;
    color: #161616;
    border: solid 1rem #161616;
    border-radius: 100rem;
    padding: 0 47rem 0 38rem;
    line-height: 2em;
    background: url("../img/icon_map.png") no-repeat;
    background-size: 20rem;
    background-position: right 14rem center;
    transition: 0.2s;
    font-size: 28rem; }
    .mapbtn:hover {
      background-color: #161616;
      background-image: url("../img/icon_map_w.png");
      transition: 0.2s;
      color: #fff; }

  .block {
    transform-origin: top;
    /* 上端を基準に縮む */
    transform: scaleY(var(--ratio, 1));
    /* 1→0 に変化 */ }

  .wp-pagenavi {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 70rem; }
    .wp-pagenavi a {
      font-size: 24rem;
      border-bottom: solid 2rem #B2B1B1;
      padding-bottom: 4rem;
      margin: 0 13rem;
      color: #B2B1B1;
      box-sizing: border-box; }
      .wp-pagenavi a:hover {
        color: #161616;
        opacity: 0.8; }
    .wp-pagenavi .previouspostslink {
      display: block;
      width: 36rem;
      height: 36rem;
      background: url("../img/icon_navi_prev.png") no-repeat center;
      background-size: contain;
      border: none;
      font-size: 0;
      padding-bottom: 0;
      margin-right: 7rem; }
    .wp-pagenavi .nextpostslink {
      display: block;
      width: 36rem;
      height: 36rem;
      background: url("../img/icon_navi_next.png") no-repeat center;
      background-size: contain;
      border: none;
      padding-bottom: 0;
      margin-left: 7rem; }
    .wp-pagenavi span {
      color: #161616;
      font-size: 24rem;
      padding-bottom: 4rem;
      margin: 0 13rem; }

  /* 共通 */
  header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%; }
    header .menu_ch {
      display: none; }
    header .menu_ch:checked + .menu_la {
      background-image: url("../img/menu_02.png"); }
    header .menu_la {
      position: absolute;
      right: 15rem;
      top: 15rem;
      display: block;
      width: 60rem;
      height: 60rem;
      background: url("../img/menu_01.png") no-repeat center;
      background-size: contain; }
    header .menu_ch:checked + .menu_la + .menu_inner {
      left: 0;
      transition: 0.3s;
      opacity: 1; }
    header .menu_inner {
      height: calc(100vh - 50rem);
      background: #fff;
      width: 100%;
      opacity: 0;
      visibility: visible;
      position: absolute;
      left: 100%;
      top: 90rem;
      transition: 0.3s; }
      header .menu_inner .list {
        width: 90%;
        margin: 0 auto; }
        header .menu_inner .list li {
          font-size: 34rem;
          border-bottom: solid 2rem #E2E2E2; }
          header .menu_inner .list li a {
            color: #161616;
            display: block;
            padding: 1em 0;
            background: url("../img/arr_01.png") no-repeat right 10rem center;
            background-size: 20rem; }
      header .menu_inner .menu_btns {
        width: 90%;
        margin: 40rem auto 0; }
        header .menu_inner .menu_btns .menu_btn {
          margin-bottom: 20rem; }
          header .menu_inner .menu_btns .menu_btn a {
            color: #161616;
            font-size: 34rem;
            border: solid 2rem #E2E2E2;
            font-weight: 700;
            display: block;
            padding: 1em 0;
            text-align: center;
            border-radius: 100rem; }
    header.under2 {
      background: #fff; }
      header.under2 .head_inner .head_left .off {
        display: block !important; }
      header.under2 .head_inner .head_left .on {
        display: none; }
      header.under2 .head_inner .head_right li a {
        color: #161616; }
      header.under2 .head_inner .head_right li.head_contact a {
        background: #161616;
        color: #fff; }
    header.under {
      background: #fff; }
      header.under .head_inner .head_left .off {
        display: block !important; }
      header.under .head_inner .head_left .on {
        display: none; }
      header.under .head_inner .head_right li a {
        color: #161616; }
      header.under .head_inner .head_right li.head_contact a {
        background: #161616;
        color: #fff; }
    header .head_inner {
      padding: 26rem;
      box-sizing: border-box;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      header .head_inner .head_left {
        width: 206rem; }
        header .head_inner .head_left img {
          display: block; }
          header .head_inner .head_left img.off {
            display: none; }
      header .head_inner .head_right {
        display: none; }

  #mv {
    position: relative;
    height: 150vw; }
    #mv .mv_video {
      position: relative;
      overflow: hidden;
      width: 100%;
      height: 150vw; }
      #mv .mv_video:after {
        content: '';
        width: 100%;
        height: 100%;
        background-color: #181732;
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        opacity: .3; }
      #mv .mv_video video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        height: 150vw;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    #mv .mv_txt {
      color: #fff;
      font-size: 49rem;
      line-height: 1.6em;
      position: absolute;
      left: 70rem;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2;
      letter-spacing: 0.01em; }
    #mv .top_news {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      z-index: 2;
      border-top: solid 1rem #FFFFFF;
      color: #fff;
      display: flex;
      align-items: center;
      padding: 15rem;
      box-sizing: border-box; }
      #mv .top_news .top_news_ttl {
        font-size: 28rem;
        margin-right: 25rem; }
      #mv .top_news .top_news_cont {
        font-size: 20rem;
        display: flex; }
        #mv .top_news .top_news_cont .top_news_date {
          margin-right: 18rem; }
        #mv .top_news .top_news_cont .ttl a {
          color: #fff; }
          #mv .top_news .top_news_cont .ttl a:hover {
            text-decoration: underline; }

  #top_ov {
    background: url("../img/top_ov_bg.jpg") no-repeat center top;
    background-size: cover;
    color: #fff;
    padding: 120rem 0; }
    #top_ov .top_ov_inner {
      width: 90%;
      margin: 0 auto; }
      #top_ov .top_ov_inner .top_ov_head {
        text-align: center;
        margin-bottom: 50rem; }
        #top_ov .top_ov_inner .top_ov_head .ttl {
          margin-bottom: 50rem; }
          #top_ov .top_ov_inner .top_ov_head .ttl .ttl_en {
            font-size: 61rem;
            line-height: 1.2em;
            margin-bottom: 10rem; }
          #top_ov .top_ov_inner .top_ov_head .ttl .ttl_01 {
            font-size: 18rem; }
        #top_ov .top_ov_inner .top_ov_head .txt {
          line-height: 1.6em;
          font-size: 37rem; }
      #top_ov .top_ov_inner .top_ov_btm {
        text-align: center; }
        #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_left {
          width: 60%;
          margin: 0 auto 40rem; }
          #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_left img {
            width: 100%; }
        #top_ov .top_ov_inner .top_ov_btm .top_ov_btm_right {
          font-size: 22rem;
          line-height: 2.3em;
          font-feature-settings: "palt"; }

  #top_serv {
    padding: 100rem 0; }
    #top_serv .top_serv_inner {
      width: 90%;
      margin: 0 auto; }
      #top_serv .top_serv_inner .ttl {
        text-align: center;
        margin-bottom: 60rem; }
        #top_serv .top_serv_inner .ttl .ttl_en {
          font-size: 61rem;
          line-height: 1.2em;
          margin-bottom: 10rem; }
        #top_serv .top_serv_inner .ttl .ttl_01 {
          font-size: 18rem; }
      #top_serv .top_serv_inner .top_serv_boxes .top_serv_box {
        margin-bottom: 60rem; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_img {
          margin-bottom: 20rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_img img {
            height: auto; }
        #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt {
          box-sizing: border-box; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_ttl {
            font-size: 40rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .txt {
            font-size: 22rem;
            line-height: 1.8em;
            margin: 20rem 0 30rem; }
          #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_btn {
            text-align: center; }
            #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_btn a {
              font-size: 20rem;
              border-radius: 100rem;
              border: solid 1rem #161616;
              padding: 1rem 106rem 1rem 36rem;
              line-height: 3em;
              display: inline-block;
              color: #161616;
              background: url("../img/arr_01.png") no-repeat;
              background-size: 20rem;
              background-position: right 20rem center;
              transition: 0.3s; }
              #top_serv .top_serv_inner .top_serv_boxes .top_serv_box .top_serv_box_txt .top_serv_box_btn a:hover {
                transition: 0.3s;
                background-position: right 15rem center; }

  /* top_serv */
  #top_reform {
    background: url("../img/top_reform_bg.jpg") no-repeat center;
    color: #fff;
    padding: 120rem 0; }
    #top_reform .top_reform_inner {
      text-align: center; }
      #top_reform .top_reform_inner .top_reform_left .ttl .ttl_en {
        font-size: 61rem;
        line-height: 1.2em;
        margin-bottom: 10rem; }
      #top_reform .top_reform_inner .top_reform_left .ttl .ttl_01 {
        font-size: 18rem; }
      #top_reform .top_reform_inner .top_reform_center {
        font-size: 25rem;
        box-sizing: border-box;
        margin: 50rem 0 60rem; }
      #top_reform .top_reform_inner .top_reform_right div {
        display: inline-block; }
        #top_reform .top_reform_inner .top_reform_right div a {
          font-size: 20rem;
          border-radius: 100rem;
          border: solid 1rem #fff;
          padding: 1rem 106rem 1rem 36rem;
          line-height: 3em;
          display: inline-block;
          color: #fff;
          background: url("../img/arr_02.png") no-repeat;
          background-size: 20rem;
          background-position: right 20rem center;
          transition: 0.3s; }
          #top_reform .top_reform_inner .top_reform_right div a:hover {
            transition: 0.3s;
            background-position: right 15rem center; }

  /* top_serv */
  #top_work {
    padding-top: 90rem; }
    #top_work .top_work_inner {
      position: relative; }
      #top_work .top_work_inner .top_work_left {
        box-sizing: border-box;
        width: 90%;
        margin: 0 auto;
        position: relative; }
        #top_work .top_work_inner .top_work_left .ttl {
          margin-bottom: 50rem; }
          #top_work .top_work_inner .top_work_left .ttl .ttl_en {
            font-size: 61rem;
            line-height: 1.2em;
            margin-bottom: 10rem; }
          #top_work .top_work_inner .top_work_left .ttl .ttl_01 {
            font-size: 18rem; }
        #top_work .top_work_inner .top_work_left .top_work_btn {
          position: absolute;
          right: 0;
          top: 20rem; }
          #top_work .top_work_inner .top_work_left .top_work_btn a {
            font-size: 20rem;
            border-radius: 100rem;
            border: solid 1rem #161616;
            padding: 1rem 106rem 1rem 36rem;
            line-height: 3em;
            display: inline-block;
            color: #161616;
            background: url("../img/arr_01.png") no-repeat;
            background-size: 20rem;
            background-position: right 20rem center;
            transition: 0.3s; }
            #top_work .top_work_inner .top_work_left .top_work_btn a:hover {
              transition: 0.3s;
              background-position: right 15rem center; }
      #top_work .top_work_inner .top_work_right {
        box-sizing: border-box;
        padding-left: 40rem; }
        #top_work .top_work_inner .top_work_right .top_work_list {
          width: 100%;
          overflow-x: scroll;
          white-space: nowrap;
          padding-bottom: 30rem; }
          #top_work .top_work_inner .top_work_right .top_work_list li {
            display: inline-block;
            width: 313rem;
            margin-right: 30rem; }
            #top_work .top_work_inner .top_work_right .top_work_list li img {
              width: 100%; }

  /* top_work */
  #top_com {
    width: 100%;
    margin: -110rem auto 0;
    border-radius: 10rem;
    background: #161616;
    color: #fff;
    padding: 190rem 60rem 110rem;
    box-sizing: border-box; }
    #top_com .ttl {
      text-align: center;
      margin-bottom: 50rem; }
      #top_com .ttl .ttl_en {
        font-size: 61rem;
        line-height: 1.2em;
        margin-bottom: 10rem; }
      #top_com .ttl .ttl_01 {
        font-size: 18rem; }
    #top_com .top_com_txt {
      text-align: center;
      font-size: 22rem;
      line-height: 1.8em;
      margin-bottom: 70rem; }
    #top_com .top_com_boxes .top_com_box {
      margin-bottom: 40rem; }
      #top_com .top_com_boxes .top_com_box:last-child {
        margin-bottom: 0; }
      #top_com .top_com_boxes .top_com_box .top_com_box_img {
        margin-bottom: 25rem;
        text-align: center; }
        #top_com .top_com_boxes .top_com_box .top_com_box_img img {
          width: 100%;
          display: block; }
      #top_com .top_com_boxes .top_com_box .txt {
        font-size: 28rem;
        text-align: center; }

  /* top_com */
  #top_rec {
    padding-top: 100rem; }
    #top_rec .ttl {
      text-align: center;
      margin-bottom: 50rem; }
      #top_rec .ttl .ttl_en {
        font-size: 61rem;
        line-height: 1.2em;
        margin-bottom: 10rem; }
      #top_rec .ttl .ttl_01 {
        font-size: 18rem; }

  /* top_rec */
  #foot {
    background: #161616;
    color: #fff;
    box-sizing: border-box;
    padding: 53rem 42rem; }
    #foot .foot_inner {
      position: relative; }
      #foot .foot_inner .foot_logo {
        margin: 0 auto;
        width: 285rem; }
        #foot .foot_inner .foot_logo img {
          display: block; }
      #foot .foot_inner .foot_left {
        margin-top: 76rem;
        width: 356rem;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #foot .foot_inner .foot_left .foot_addr {
          display: none;
          width: 49%;
          margin-bottom: 15rem; }
          #foot .foot_inner .foot_left .foot_addr dt {
            font-size: 14rem;
            line-height: 2em; }
          #foot .foot_inner .foot_left .foot_addr dd {
            font-size: 12rem;
            line-height: 1.5em; }
            #foot .foot_inner .foot_left .foot_addr dd a {
              color: #fff; }
      #foot .foot_inner .foot_right {
        position: relative;
        text-align: center; }
        #foot .foot_inner .foot_right .foot_btm {
          margin-top: 80rem;
          width: 100%;
          display: flex;
          justify-content: space-between; }
          #foot .foot_inner .foot_right .foot_btm .foot_btm_pp a {
            display: inline-block;
            color: #fff;
            font-size: 19rem;
            padding-left: 1em;
            background: url("../img/foot_arr2.png") no-repeat left center;
            background-size: 9rem; }
            #foot .foot_inner .foot_right .foot_btm .foot_btm_pp a:hover {
              text-decoration: underline; }
          #foot .foot_inner .foot_right .foot_btm .foot_btm_copy {
            font-size: 12rem; }
        #foot .foot_inner .foot_right .foot_right_dl {
          display: flex;
          flex-wrap: wrap;
          margin-bottom: 48rem; }
          #foot .foot_inner .foot_right .foot_right_dl .list {
            width: 32%;
            margin-bottom: 40rem;
            box-sizing: border-box;
            margin-right: 2%;
            text-align: left; }
            #foot .foot_inner .foot_right .foot_right_dl .list:nth-child(3n) {
              margin-right: 0; }
            #foot .foot_inner .foot_right .foot_right_dl .list dt {
              font-size: 22rem;
              font-weight: 700;
              padding-bottom: 0.5em;
              margin-bottom: 12rem;
              border-bottom: solid 1px #fff; }
              #foot .foot_inner .foot_right .foot_right_dl .list dt a {
                color: #fff; }
                #foot .foot_inner .foot_right .foot_right_dl .list dt a:hover {
                  text-decoration: underline; }
            #foot .foot_inner .foot_right .foot_right_dl .list dd {
              font-size: 21rem;
              line-height: 1.7em; }
              #foot .foot_inner .foot_right .foot_right_dl .list dd.last {
                margin-bottom: 20rem; }
              #foot .foot_inner .foot_right .foot_right_dl .list dd a {
                color: #fff; }
                #foot .foot_inner .foot_right .foot_right_dl .list dd a:hover {
                  text-decoration: underline; }
        #foot .foot_inner .foot_right .foot_right_contact {
          display: inline-block;
          border-radius: 20rem;
          box-sizing: border-box;
          border: solid 1rem #fff;
          padding: 30rem 130rem 30rem 30rem;
          position: relative;
          background: url("../img/foot_arr.png") no-repeat;
          background-size: 74rem;
          background-position: right 20rem center;
          overflow: hidden;
          transition: 0.3s; }
          #foot .foot_inner .foot_right .foot_right_contact:hover {
            background-position: right 16rem center;
            transition: 0.3s;
            background-color: rgba(255, 255, 255, 0.1); }
          #foot .foot_inner .foot_right .foot_right_contact a {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            display: block; }
          #foot .foot_inner .foot_right .foot_right_contact .foot_right_contact_ttl {
            font-size: 35rem;
            margin-bottom: 10rem; }
          #foot .foot_inner .foot_right .foot_right_contact .foot_right_contact_txt {
            font-size: 16rem; }

  /* 共通 */
  .btn02 {
    display: inline-block;
    color: #fff;
    background: #1A1A1A;
    box-sizing: border-box;
    border: solid 2rem #1A1A1A;
    text-align: center;
    width: 410rem;
    font-size: 28rem;
    font-weight: 700;
    padding: 0.9em 0;
    border-radius: 100rem; }
    .btn02:hover {
      cursor: pointer;
      background: #fff;
      color: #1A1A1A;
      transition: 0.3s; }

  main {
    margin-top: 92rem; }
    main.rectop {
      margin-top: 0; }
    main#top {
      margin-top: 0; }

  .inner {
    width: 90vw;
    margin: 0 auto; }

  /* 共通 */
  .mtn {
    margin-top: 0; }

  #reform_head {
    background: url("../img/reform_mv.jpg") no-repeat center;
    background-size: cover;
    height: 150vw;
    position: relative; }
    #reform_head .under_head_txt {
      position: absolute;
      left: 5vw;
      width: 90vw;
      text-align: center;
      top: 50%;
      transform: translateY(-50%);
      color: #fff; }
      #reform_head .under_head_txt .en {
        font-size: 60rem;
        text-shadow: #000 1rem 0 10rem; }
      #reform_head .under_head_txt .ttl {
        font-size: 26rem;
        line-height: 2em;
        text-shadow: #000 1rem 0 10rem;
        margin-top: 10rem; }

  #under_head {
    background: url("../img/under_head_bg.png") no-repeat right center;
    background-size: 210rem;
    padding: 70rem 0 100rem; }
    #under_head .under_head_txt {
      box-sizing: border-box;
      padding-left: 50rem; }
      #under_head .under_head_txt .en {
        font-size: 61rem;
        margin-bottom: 15rem; }
      #under_head .under_head_txt .ttl {
        font-size: 25rem; }

  #under_body {
    padding-bottom: 60rem; }

  #under_body.normalp {
    width: 90%;
    margin: 0 auto; }
    #under_body.normalp h2 {
      font-size: 30rem;
      font-weight: 700;
      line-height: 1.4em;
      margin-bottom: 10rem;
      margin-top: 50rem; }
    #under_body.normalp p {
      font-size: 22rem;
      line-height: 1.8em;
      margin-bottom: 1em; }

  .pankuzu {
    padding: 20rem 20rem;
    box-sizing: border-box;
    font-size: 18rem;
    border-top: solid 1rem #E1E1E1; }
    .pankuzu a {
      color: #000; }

  /* 採用関連 */
  #top_rec .top_rec_boxes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #top_rec .top_rec_boxes .top_rec_box {
      width: calc(50% - 2rem);
      height: 250rem;
      position: relative;
      margin-top: 2rem;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat; }
      #top_rec .top_rec_boxes .top_rec_box.box01 {
        background-image: url("../img/rec_foot_01.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box02 {
        background-image: url("../img/rec_foot_02.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box03 {
        background-image: url("../img/rec_foot_03.png"); }
      #top_rec .top_rec_boxes .top_rec_box.box04 {
        background-image: url("../img/rec_foot_04.png"); }
      #top_rec .top_rec_boxes .top_rec_box:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2);
        transition: 0.3s;
        z-index: 1; }
      #top_rec .top_rec_boxes .top_rec_box a {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 3; }
      #top_rec .top_rec_boxes .top_rec_box:hover {
        cursor: pointer; }
        #top_rec .top_rec_boxes .top_rec_box:hover:before {
          transition: 0.3s;
          background: rgba(0, 0, 0, 0.1); }
      #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt {
        position: absolute;
        left: 15rem;
        bottom: 20rem;
        z-index: 2;
        color: #fff; }
        #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt .top_rec_box_en {
          font-size: 38rem;
          margin-bottom: 10rem; }
        #top_rec .top_rec_boxes .top_rec_box .top_rec_box_txt .top_rec_box_jp {
          font-size: 18rem; }

  /* 採用関連 */
  #under_body.contact.confirm .contact_inner .contact_table table tr th {
    background: none; }
  #under_body.contact .send {
    text-align: center; }
    #under_body.contact .send input[type="submit"] {
      display: inline-block;
      color: #fff;
      background: #1A1A1A;
      box-sizing: border-box;
      border: solid 2rem #1A1A1A;
      text-align: center;
      width: 410rem;
      font-size: 20rem;
      font-weight: 700;
      padding: 0.7em 0;
      border-radius: 100rem; }
      #under_body.contact .send input[type="submit"]:hover {
        cursor: pointer;
        background: #fff;
        color: #1A1A1A;
        transition: 0.3s; }
  #under_body.contact .contact_inner .p-country-name {
    display: none !important; }
  #under_body.contact .contact_inner .pp {
    background: #F8F8F8;
    width: 90%;
    margin: 0 auto 65rem;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 31rem 33rem; }
    #under_body.contact .contact_inner .pp .pp_area {
      background: #fff;
      box-sizing: border-box;
      padding: 15rem 30rem;
      height: 130rem;
      overflow-y: scroll;
      border-radius: 10rem;
      line-height: 1.8em;
      margin-bottom: 20rem; }
      #under_body.contact .contact_inner .pp .pp_area h2 {
        font-weight: 700;
        font-size: 20rem; }
    #under_body.contact .contact_inner .pp .pp_check {
      width: 550rem;
      display: block;
      background: #fff;
      margin: 0 auto;
      text-align: center;
      border-radius: 10rem;
      padding: 22rem 0;
      font-size: 20rem;
      font-weight: 700; }
  #under_body.contact .contact_inner .contact_biko {
    background: #F8F8F8;
    width: 90%;
    margin: 0 auto 50rem;
    box-sizing: border-box;
    padding: 25rem 33rem;
    border-radius: 10rem;
    line-height: 1.6em;
    font-size: 24rem; }
  #under_body.contact .contact_inner .comp_ttl {
    text-align: center;
    font-size: 22rem;
    margin-bottom: 1em; }
  #under_body.contact .contact_inner .comp_txt {
    text-align: center;
    line-height: 2em; }
  #under_body.contact .contact_inner .contact_flow {
    width: 90%;
    height: 70rem;
    background: url("../img/contact_flow_01.png") no-repeat center;
    background-size: contain;
    margin: 0 auto 60rem; }
    #under_body.contact .contact_inner .contact_flow.confirm {
      background-image: url("../img/contact_flow_02.png") !important; }
    #under_body.contact .contact_inner .contact_flow.complete {
      background-image: url("../img/contact_flow_03.png") !important; }
  #under_body.contact .contact_inner .contact_table {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 45rem; }
    #under_body.contact .contact_inner .contact_table table {
      width: 100%; }
      #under_body.contact .contact_inner .contact_table table tr.tr01 th {
        vertical-align: top;
        padding-top: 24rem; }
      #under_body.contact .contact_inner .contact_table table tr th {
        display: block;
        box-sizing: border-box;
        width: 100%;
        padding: 15rem 0;
        font-size: 28rem;
        font-weight: 700;
        text-align: left;
        background: url("../img/icon_hissu.png") no-repeat;
        background-size: 72rem;
        background-position: center right; }
        #under_body.contact .contact_inner .contact_table table tr th br {
          display: none; }
      #under_body.contact .contact_inner .contact_table table tr td {
        vertical-align: middle;
        font-size: 26rem;
        padding: 10rem 0;
        display: block;
        box-sizing: border-box;
        width: 100%; }
        #under_body.contact .contact_inner .contact_table table tr td dl {
          display: flex;
          padding: 0.5em 0;
          align-items: center; }
          #under_body.contact .contact_inner .contact_table table tr td dl dt {
            margin-right: 1em;
            width: 7em; }
          #under_body.contact .contact_inner .contact_table table tr td dl dd input {
            max-width: 70%; }
        #under_body.contact .contact_inner .contact_table table tr td .text3 {
          height: 6em !important; }
        #under_body.contact .contact_inner .contact_table table tr td .p-postal-code {
          width: 8em !important; }
        #under_body.contact .contact_inner .contact_table table tr td input[type="text"] {
          box-sizing: border-box;
          width: 100%;
          border: solid 1px #9F9F9F;
          font-size: 26rem;
          padding: 16rem 24rem; }
        #under_body.contact .contact_inner .contact_table table tr td textarea {
          box-sizing: border-box;
          width: 100%;
          border: solid 1px #9F9F9F;
          font-size: 26rem;
          padding: 16rem 24rem;
          height: 258rem; }

  #under_body.faq .inner .faq_btn {
    text-align: center; }
  #under_body.faq .inner .faq_txt {
    width: 90%;
    margin: 0 auto;
    background: #F8F8F8;
    border-radius: 10rem;
    box-sizing: border-box;
    text-align: left;
    padding: 23rem 40rem;
    line-height: 1.6em;
    font-size: 24rem;
    margin-bottom: 65rem; }
  #under_body.faq .inner .faq_boxes {
    border-top: solid 1rem #E1E1E1;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 80rem; }
    #under_body.faq .inner .faq_boxes .faq_box {
      border-bottom: solid 1rem #E1E1E1; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch {
        display: none; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch:checked + .faq_box_la {
        background-image: url("../img/icon_faq_02.png"); }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_ch:checked + .faq_box_la + .faq_box_txt {
        padding: 0 0 18rem 75rem;
        transition: 0.3s;
        opacity: 1;
        height: auto;
        visibility: visible; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_la {
        display: block;
        box-sizing: border-box;
        padding: 18rem 70rem 18rem 75rem;
        position: relative;
        font-size: 34rem;
        line-height: 1.4em;
        font-weight: 500;
        background: url("../img/icon_faq_01.png") no-repeat;
        background-size: 20rem;
        background-position: right 9rem center; }
        #under_body.faq .inner .faq_boxes .faq_box .faq_box_la:before {
          content: 'Q.';
          position: absolute;
          left: 15rem;
          top: 18rem;
          font-size: 40rem; }
      #under_body.faq .inner .faq_boxes .faq_box .faq_box_txt {
        padding: 0 0 0 75rem;
        font-size: 26rem;
        line-height: 1.8em;
        position: relative;
        opacity: 0;
        height: 0;
        visibility: hidden; }
        #under_body.faq .inner .faq_boxes .faq_box .faq_box_txt:before {
          content: 'A.';
          position: absolute;
          left: 30rem;
          top: 0;
          font-size: 26rem; }

  #interview_head {
    background: url("../img/interview_bg_sp.png") no-repeat center right;
    background-size: cover;
    box-sizing: border-box;
    padding: 78rem 5vw; }
    #interview_head .interview_head_en {
      font-size: 51rem;
      margin-bottom: 25rem; }
    #interview_head .interview_head_ttl {
      font-size: 18rem; }
    #interview_head .interview_head_txt {
      margin-top: 55rem;
      max-width: 370rem;
      font-size: 22rem;
      line-height: 1.7em;
      font-weight: 500; }

  #under_body.interview {
    padding-top: 160rem; }
    #under_body.interview .inner {
      width: 90%; }
    #under_body.interview .interview_boxes .interview_box {
      position: relative;
      margin-bottom: 150rem; }
      #under_body.interview .interview_boxes .interview_box:last-child {
        margin-bottom: 0; }
      #under_body.interview .interview_boxes .interview_box .interview_box_img {
        position: relative;
        margin-bottom: 24rem; }
        #under_body.interview .interview_boxes .interview_box .interview_box_img img {
          display: block;
          width: 100%; }
        #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_txt {
          position: absolute;
          left: 0;
          bottom: 100%;
          margin-bottom: -14rem;
          font-size: 22rem; }
          #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_txt span {
            background: #161616;
            color: #fff;
            display: inline-block;
            margin-top: 8rem;
            padding: 2rem 7rem;
            line-height: 1.4em; }
        #under_body.interview .interview_boxes .interview_box .interview_box_img .interview_box_img_name {
          color: #F53900;
          font-size: 40rem;
          position: absolute;
          top: -60rem;
          right: -15rem;
          -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl; }
      #under_body.interview .interview_boxes .interview_box .interview_box_txt .interview_box_txt_name {
        font-size: 32rem;
        margin-bottom: 15rem; }
      #under_body.interview .interview_boxes .interview_box .interview_box_txt .txt {
        font-size: 26rem;
        line-height: 1.8em; }

  #recruitment_head {
    background: url("../img/recruitment_bg.jpg") no-repeat center left;
    background-size: cover;
    box-sizing: border-box;
    padding: 100rem 0 100rem 5vw;
    color: #fff; }
    #recruitment_head .recruitment_head_en {
      font-size: 51rem;
      margin-bottom: 35rem; }
    #recruitment_head .recruitment_head_ttl {
      font-size: 18rem; }

  #under_body.recruitment {
    padding-top: 100rem; }
    #under_body.recruitment .recruitment_btn {
      text-align: center;
      margin-top: 100rem; }
    #under_body.recruitment .recruitment_tabs {
      width: 90%;
      margin: 0 auto;
      display: flex;
      justify-content: space-between; }
      #under_body.recruitment .recruitment_tabs .recruitment_tab {
        width: 49%; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra {
          display: none; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la {
          color: #fff;
          background: #161616; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la:before {
            display: none; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_ra:checked + .recruitment_tab_la:after {
            display: none; }
        #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la {
          text-align: center;
          font-size: 26rem;
          font-weight: 500;
          color: #161616;
          background: #fff;
          border: solid 1rem #161616;
          border-radius: 10rem 10rem 0 0;
          display: block;
          width: 100%;
          border-bottom: none;
          padding: 30rem 0;
          position: relative; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la:before {
            content: '';
            display: block;
            height: 11rem;
            width: 4rem;
            background: #fff;
            position: absolute;
            border: 0;
            left: -2rem;
            bottom: 0; }
          #under_body.recruitment .recruitment_tabs .recruitment_tab .recruitment_tab_la:after {
            content: '';
            display: block;
            height: 11rem;
            width: 4rem;
            background: #fff;
            position: absolute;
            border: 0;
            right: -2rem;
            bottom: 0; }
    #under_body.recruitment .recruitment_inner {
      border-top: solid 1rem #161616;
      padding-top: 90rem; }
      #under_body.recruitment .recruitment_inner .recruitment_boxes {
        width: 90%;
        margin: 0 auto;
        border-top: solid 1rem #161616; }
        #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box {
          border-bottom: solid 1rem #161616; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(1) .recruitment_box_la::before {
            content: '01'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(2) .recruitment_box_la::before {
            content: '02'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(3) .recruitment_box_la::before {
            content: '03'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(4) .recruitment_box_la::before {
            content: '04'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(5) .recruitment_box_la::before {
            content: '05'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(6) .recruitment_box_la::before {
            content: '06'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box:nth-child(7) .recruitment_box_la::before {
            content: '07'; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch {
            display: none; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch:checked + .recruitment_box_la {
            background-image: url("../img/icon_faq_02.png"); }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_ch:checked + .recruitment_box_la + .recruitment_box_txt {
            padding-bottom: 70rem;
            transition: 0.3s;
            opacity: 1;
            height: auto;
            visibility: visible; }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_la {
            font-size: 34rem;
            position: relative;
            font-weight: 500;
            line-height: 1.4em;
            padding: 45rem 62rem;
            box-sizing: border-box;
            display: block;
            background: url("../img/icon_faq_01.png") no-repeat;
            background-size: 20rem;
            background-position: right 5rem center; }
            #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_la:before {
              content: '';
              position: absolute;
              left: 8rem;
              top: 50%;
              transform: translateY(-50%); }
          #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt {
            padding-bottom: 0;
            opacity: 0;
            height: 0;
            visibility: hidden; }
            #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table {
              width: 100%; }
              #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table tr th {
                width: 190rem;
                border-bottom: solid 1rem #161616;
                font-size: 24rem;
                line-height: 1.5em;
                font-weight: 700;
                text-align: left;
                padding: 30rem 10rem;
                vertical-align: middle; }
              #under_body.recruitment .recruitment_inner .recruitment_boxes .recruitment_box .recruitment_box_txt table tr td {
                width: calc(100% - 190rem);
                border-left: solid 12rem #fff;
                border-bottom: solid 1rem #E1E1E1;
                font-size: 24rem;
                line-height: 1.5em;
                padding: 30rem 17rem; }

  #message_head {
    background: url("../img/rec_messe.jpg") no-repeat center top;
    background-size: cover;
    box-sizing: border-box;
    padding: 54rem 0 124rem 5vw; }
    #message_head .message_head_en {
      font-size: 61rem;
      margin-bottom: 15rem; }
    #message_head .message_head_ttl {
      font-size: 24rem;
      margin-bottom: 50rem; }
    #message_head .message_head_txt {
      max-width: 470rem;
      line-height: 2em; }

  #under_body.message .message_info {
    width: 90%;
    margin: -90rem auto 0;
    background: #fff;
    box-sizing: border-box;
    border-radius: 10rem;
    border: solid 1rem #E1E1E1;
    overflow: hidden;
    padding: 60rem 50rem; }
    #under_body.message .message_info h2 {
      font-size: 30rem;
      line-height: 1.5em;
      font-weight: 600;
      margin-bottom: 15rem;
      margin-top: 60rem; }
      #under_body.message .message_info h2:nth-child(1) {
        margin-top: 0; }
    #under_body.message .message_info p {
      font-size: 24rem;
      line-height: 2em;
      margin-bottom: 20rem; }
    #under_body.message .message_info .txt {
      font-size: 24rem;
      line-height: 2em;
      margin-bottom: 20rem; }
    #under_body.message .message_info img {
      max-width: 100%;
      height: auto; }

  #rectop #rectop_mv {
    position: relative; }
    #rectop #rectop_mv .rectop_mv_slider {
      position: relative;
      z-index: 1; }
      #rectop #rectop_mv .rectop_mv_slider .rectop_mv_slide {
        height: 90vw; }
        #rectop #rectop_mv .rectop_mv_slider .rectop_mv_slide img {
          width: auto;
          height: 90vw;
          max-width: 1000%;
          display: block;
          position: absolute;
          left: 50%;
          top: 50%;
          transform: translateX(-50%) translateY(-50%); }
    #rectop #rectop_mv .rectop_mv_txt {
      color: #fff;
      position: absolute;
      top: 50%;
      left: 5vw;
      transform: translateY(-50%);
      z-index: 2;
      font-size: 40rem;
      width: 90vw;
      line-height: 1.8em;
      letter-spacing: 0.05em; }
  #rectop #rectop_messe {
    padding: 160rem 0 200rem;
    position: relative; }
    #rectop #rectop_messe .rectop_messe_txt {
      width: 90%;
      margin: 0 auto; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_ttl {
        font-size: 40rem; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_en {
        font-size: 24rem;
        line-height: 2em; }
      #rectop #rectop_messe .rectop_messe_txt .txt {
        margin: 40rem 0 50rem;
        width: 660rem;
        font-size: 28rem;
        text-align: justify;
        line-height: 1.6em; }
      #rectop #rectop_messe .rectop_messe_txt .rectop_messe_btn {
        bottom: 70rem;
        left: 0;
        width: 100%;
        text-align: center;
        position: absolute; }
    #rectop #rectop_messe .rectop_messe_img {
      width: 60%;
      margin: 0 auto; }
  #rectop #rectop_job {
    background: #F8F8F8;
    border-radius: 40rem 40rem 0 0;
    padding: 130rem 0;
    position: relative; }
    #rectop #rectop_job .inner_side {
      position: relative; }
      #rectop #rectop_job .inner_side .rectop_job_ttl {
        width: 90%;
        margin: 0 auto;
        font-size: 40rem; }
      #rectop #rectop_job .inner_side .rectop_job_en {
        width: 90%;
        margin: 0 auto;
        font-size: 24rem;
        line-height: 2em;
        margin-bottom: 30rem; }
    #rectop #rectop_job .rectop_job_btn {
      text-align: center;
      margin-top: 50rem; }
  #rectop #rectop_inter {
    padding: 130rem 0; }
    #rectop #rectop_inter .rectop_inter_en {
      text-align: center;
      font-size: 40rem; }
    #rectop #rectop_inter .rectop_inter_ttl {
      text-align: center;
      font-size: 24rem;
      line-height: 2em; }
    #rectop #rectop_inter .rectop_inter_btn {
      text-align: center; }
    #rectop #rectop_inter .rectop_inter_boxes {
      margin: 65rem 0 70rem; }
      #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box {
        width: 530rem;
        position: relative;
        margin: 0 40rem;
        padding-top: 60rem; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img {
          position: relative;
          margin-bottom: 24rem; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img img {
            display: block;
            width: 100%; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_txt {
            position: absolute;
            left: 0;
            bottom: 100%;
            margin-bottom: -14rem;
            font-size: 22rem; }
            #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_txt span {
              background: #161616;
              color: #fff;
              display: inline-block;
              margin-top: 8rem;
              padding: 2rem 7rem;
              line-height: 1.4em; }
          #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_img .rectop_inter_box_img_name {
            color: #F53900;
            font-size: 40rem;
            position: absolute;
            top: -60rem;
            right: -15rem;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_info .name {
          font-size: 34rem;
          margin-bottom: 15rem; }
        #rectop #rectop_inter .rectop_inter_boxes .rectop_inter_box .rectop_inter_box_info .txt {
          font-size: 24rem;
          line-height: 1.8em; }

  /* #rectop */
  #inner_side_sc {
    box-sizing: border-box;
    padding-left: 5vw; }
    #inner_side_sc #inner_side_sc_in {
      overflow-x: scroll;
      width: 100%;
      white-space: nowrap;
      padding-bottom: 25rem; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar {
        height: 7rem;
        background: #fff; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar-track {
        height: 7rem;
        background: #fff; }
      #inner_side_sc #inner_side_sc_in::-webkit-scrollbar-thumb {
        height: 7rem;
        border-radius: 100rem;
        background: #3A3A3A; }
      #inner_side_sc #inner_side_sc_in .reform_box_list_box {
        display: inline-block;
        width: 376rem;
        margin-right: 35rem;
        white-space: normal; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box:last-child {
          margin-right: 0; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img {
          margin-bottom: 16rem;
          background-repeat: no-repeat;
          background-position: center;
          background-size: cover; }
          #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img:before {
            content: '';
            display: block;
            padding-bottom: 57%; }
          #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_img img {
            width: 100%;
            height: auto;
            display: block; }
        #inner_side_sc #inner_side_sc_in .reform_box_list_box .reform_box_list_box_txt {
          font-size: 24rem;
          line-height: 1.8em; }
      #inner_side_sc #inner_side_sc_in .rectop_job_list {
        display: inline-block;
        width: 376rem;
        margin-right: 35rem;
        white-space: normal; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list:last-child {
          margin-right: 0; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img {
          position: relative;
          margin-bottom: 10rem;
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover; }
          #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img img {
            width: 100%;
            height: auto;
            display: block; }
          #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_img span {
            font-size: 20rem;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #fff;
            z-index: 2;
            font-weight: 700;
            background: #1A1A1A;
            border-radius: 0 10rem 0 0;
            padding: 7rem 13rem;
            line-height: 1.2em; }
        #inner_side_sc #inner_side_sc_in .rectop_job_list .rectop_job_list_ttl {
          line-height: 1.8em;
          font-size: 24rem; }

  #under_body.service {
    padding-bottom: 0; }
    #under_body.service .serv_top_head {
      display: block;
      margin-bottom: 45rem; }
      #under_body.service .serv_top_head .serv_top_head_left {
        box-sizing: border-box;
        text-align: center; }
        #under_body.service .serv_top_head .serv_top_head_left .serv_top_head_left_txt {
          font-size: 30rem;
          margin-bottom: 28rem; }
        #under_body.service .serv_top_head .serv_top_head_left .serv_top_head_left_ttl {
          font-size: 60rem;
          margin-bottom: 50rem; }
      #under_body.service .serv_top_head .serv_top_head_right img {
        width: 100%; }
    #under_body.service .serv_top_body {
      width: 90%;
      margin: 0 auto;
      padding-bottom: 110rem; }
      #under_body.service .serv_top_body .serv_top_body_inner {
        position: relative; }
        #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_left {
          display: none; }
        #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl {
          padding-top: 80rem; }
          #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dt {
            font-size: 34rem;
            text-align: center;
            line-height: 1.5em;
            font-weight: 500;
            margin-bottom: 10rem; }
          #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dd {
            font-size: 24rem;
            line-height: 2em; }
            #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dd.img {
              text-align: center;
              margin: 40rem 0; }
              #under_body.service .serv_top_body .serv_top_body_inner .serv_top_body_right dl dd.img img {
                width: 50%; }
    #under_body.service .serv_boxes .serv_box {
      border-radius: 40rem 40rem 0 0;
      padding-bottom: 90rem; }
      #under_body.service .serv_boxes .serv_box#box1 {
        background: #FAFAFA; }
      #under_body.service .serv_boxes .serv_box#box3 {
        background: #FAFAFA;
        padding-bottom: 120rem; }
      #under_body.service .serv_boxes .serv_box .serv_box_head {
        width: 90%;
        margin: 0 auto;
        padding: 90rem 0 60rem; }
        #under_body.service .serv_boxes .serv_box .serv_box_head .serv_box_head_ttl {
          font-size: 40rem;
          margin-bottom: 30rem;
          text-align: center; }
        #under_body.service .serv_boxes .serv_box .serv_box_head .serv_box_head_txt {
          font-size: 24rem;
          line-height: 2em; }
      #under_body.service .serv_boxes .serv_box .serv_box_img img {
        width: 100%;
        height: auto;
        display: block; }
      #under_body.service .serv_boxes .serv_box .serv_box_lists {
        width: 90%;
        margin: 0 auto;
        padding-top: 45rem; }
        #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list {
          padding: 45rem 0;
          display: flex;
          align-items: center;
          border-bottom: solid 1rem #E1E1E1;
          background: url("../img/arr_01.png") no-repeat;
          background-size: 25rem;
          background-position: right 15rem center;
          transition: 0.1s; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list:hover {
            background-position: right 5rem center;
            transition: 0.1s; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_num {
            font-size: 52rem;
            text-align: center;
            width: 100rem; }
          #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt {
            width: calc(100% - 140rem);
            box-sizing: border-box;
            padding-right: 40rem; }
            #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt .serv_box_list_txt_ttl {
              font-size: 32rem;
              line-height: 1.4em;
              margin-bottom: 10rem; }
            #under_body.service .serv_boxes .serv_box .serv_box_lists .serv_box_list .serv_box_list_txt .serv_box_list_txt_txt {
              font-size: 24rem;
              line-height: 2em; }
    #under_body.service .service_txt {
      width: 90%;
      margin: 0 auto;
      font-size: 24rem;
      line-height: 2em; }
    #under_body.service .service_btm {
      display: flex;
      justify-content: space-between; }
      #under_body.service .service_btm .service_btm_box {
        width: 50%;
        position: relative;
        height: 360rem;
        transition: 0.3s;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat; }
        #under_body.service .service_btm .service_btm_box#naiso {
          background-image: url("../img/serv_head_03.png"); }
        #under_body.service .service_btm .service_btm_box#jutaku {
          background-image: url("../img/serv_head_01.jpg"); }
        #under_body.service .service_btm .service_btm_box#bill {
          background-image: url("../img/serv_head_02.png"); }
        #under_body.service .service_btm .service_btm_box:hover {
          opacity: 0.9;
          cursor: pointer;
          transition: 0.3s; }
        #under_body.service .service_btm .service_btm_box:before {
          content: '';
          display: block;
          background: rgba(0, 0, 0, 0.3);
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          z-index: 1; }
        #under_body.service .service_btm .service_btm_box .service_btm_box_txt {
          color: #fff;
          z-index: 2;
          position: absolute;
          left: 18rem;
          bottom: 13rem;
          font-size: 30rem; }
    #under_body.service .service_btn {
      text-align: center;
      margin-bottom: 140rem; }
    #under_body.service .service_boxes .service_box#box2 {
      background: #FAFAFA;
      border-radius: 40rem 40rem 0 0;
      position: relative;
      padding-bottom: 100rem; }
      #under_body.service .service_boxes .service_box#box2:before {
        content: '';
        display: block;
        width: 100%;
        height: 60rem;
        border-radius: 40rem 40rem 0 0;
        background: #fff;
        position: absolute;
        left: 0;
        bottom: 0;
        margin-bottom: -1rem; }
    #under_body.service .service_boxes .service_box#box4 {
      background: #FAFAFA;
      border-radius: 40rem 40rem 0 0;
      position: relative;
      padding-bottom: 100rem; }
      #under_body.service .service_boxes .service_box#box4:before {
        content: '';
        display: block;
        width: 100%;
        height: 60rem;
        border-radius: 40rem 40rem 0 0;
        background: #fff;
        position: absolute;
        left: 0;
        bottom: 0;
        margin-bottom: -1rem; }
    #under_body.service .service_boxes .service_box .service_box_inner {
      padding: 100rem 0;
      box-sizing: border-box;
      padding-left: 5vw; }
      #under_body.service .service_boxes .service_box .service_box_inner .nonlist {
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        padding-right: 5vw; }
        #under_body.service .service_boxes .service_box .service_box_inner .nonlist li {
          width: 49%; }
          #under_body.service .service_boxes .service_box .service_box_inner .nonlist li img {
            width: 100%;
            height: auto;
            display: block; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_ttl {
        position: relative;
        box-sizing: border-box;
        font-size: 32rem;
        line-height: 1.4em;
        border-bottom: solid 1rem #E1E1E1;
        padding-bottom: 16rem;
        margin-bottom: 16rem; }
        #under_body.service .service_boxes .service_box .service_box_inner .service_box_ttl:before {
          content: '';
          display: block;
          height: 1rem;
          width: 190rem;
          background: #161616;
          position: absolute;
          left: 0;
          top: 100%; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_txt {
        font-size: 24rem;
        line-height: 2em;
        margin-bottom: 30rem;
        box-sizing: border-box;
        padding-right: 5vw; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_sub {
        display: inline-block;
        color: #fff;
        background: #161616;
        font-size: 34rem;
        margin-bottom: 30rem;
        padding: 8rem 12rem;
        margin-top: 1em; }
      #under_body.service .service_boxes .service_box .service_box_inner .service_box_list {
        overflow-x: scroll;
        white-space: nowrap;
        padding-bottom: 20rem; }
        #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li {
          display: inline-block;
          vertical-align: top;
          width: 360rem;
          margin-right: 50rem;
          white-space: normal; }
          #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_img {
            background-repeat: no-repeat;
            background-position: center;
            background-size: cover;
            margin-bottom: 16rem; }
            #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_img:before {
              content: '';
              display: block;
              padding-bottom: 66%; }
          #under_body.service .service_boxes .service_box .service_box_inner .service_box_list li .service_box_list_txt {
            font-size: 24rem;
            line-height: 2em; }

  #under_body.acc {
    padding-bottom: 0; }
    #under_body.acc .acc_head {
      width: 90%;
      margin: 0 auto; }
      #under_body.acc .acc_head .acc_head_left {
        width: 100%;
        margin-bottom: 40rem; }
        #under_body.acc .acc_head .acc_head_left img {
          width: 100%; }
      #under_body.acc .acc_head .acc_head_right {
        padding-top: 26rem;
        padding-bottom: 66rem; }
        #under_body.acc .acc_head .acc_head_right .ttl {
          font-size: 40rem;
          margin-bottom: 38rem; }
        #under_body.acc .acc_head .acc_head_right .acc_head_list {
          display: flex;
          justify-content: space-between; }
          #under_body.acc .acc_head .acc_head_right .acc_head_list dt {
            box-sizing: border-box;
            width: 133rem;
            font-size: 24rem;
            line-height: 1.4em;
            border-bottom: solid 1rem #161616;
            padding: 18rem 10rem; }
          #under_body.acc .acc_head .acc_head_right .acc_head_list dd {
            box-sizing: border-box;
            width: calc(100% - 140rem);
            font-size: 24rem;
            line-height: 1.4em;
            border-bottom: solid 1rem #E1E1E1;
            padding: 18rem 10rem; }
    #under_body.acc .acc_body {
      background: #F8F8F8;
      border-radius: 40rem 40rem 0 0;
      padding: 124rem 0; }
      #under_body.acc .acc_body .ttl {
        width: 90%;
        margin: 0 auto;
        font-size: 40rem;
        border-bottom: solid 1rem #BEBDBD;
        padding-bottom: 25rem;
        margin-bottom: 36rem; }
      #under_body.acc .acc_body .acc_lists {
        width: 90%;
        margin: 0 auto; }
        #under_body.acc .acc_body .acc_lists .acc_box {
          box-sizing: border-box;
          background: #fff;
          border-radius: 10rem;
          border: solid 1rem #BEBDBD;
          overflow: hidden;
          margin-bottom: 25rem;
          padding: 25rem;
          position: relative; }
          #under_body.acc .acc_body .acc_lists .acc_box:last-child {
            margin-bottom: 0; }
          #under_body.acc .acc_body .acc_lists .acc_box .acc_box_left {
            width: 100%;
            padding: 0 0 40rem; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_left img {
              width: 100%;
              display: block; }
          #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right {
            box-sizing: border-box;
            position: relative; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .sub {
              font-size: 30rem;
              margin-bottom: 0.8em; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl {
              display: flex;
              flex-wrap: wrap;
              font-size: 24rem;
              line-height: 1.8em; }
              #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt {
                width: 67rem; }
                #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt:after {
                  content: '/';
                  margin-left: 4rem; }
                #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dt:first-child {
                  width: 100rem; }
              #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_info dl dd {
                width: 490rem; }
            #under_body.acc .acc_body .acc_lists .acc_box .acc_box_right .acc_box_left_btn {
              margin-top: 20rem;
              text-align: center; }

  /* #under_body.acc */
  #under_body.com .com_ttl {
    font-size: 40rem;
    width: 260rem;
    text-align: center;
    margin: 0 auto; }
  #under_body.com .com_slider .com_slide {
    width: 460rem;
    box-sizing: border-box;
    padding: 0 20rem; }
    #under_body.com .com_slider .com_slide img {
      width: 100%; }
  #under_body.com .com_vision {
    padding: 170rem 0 0;
    width: 90%;
    margin: 0 auto; }
    #under_body.com .com_vision .com_ttl {
      margin-bottom: 60rem; }
    #under_body.com .com_vision .com_vision_txt .com_vision_sub {
      font-size: 53rem;
      line-height: 1.7em;
      text-align: center;
      margin-bottom: 40rem; }
    #under_body.com .com_vision .com_vision_txt .com_vision_min {
      font-size: 28rem;
      text-align: center;
      margin-bottom: 25rem; }
    #under_body.com .com_vision .com_vision_txt .txt {
      line-height: 1.8em;
      font-size: 22rem; }
  #under_body.com .com_messe {
    padding-top: 170rem;
    width: 90%;
    margin: 0 auto; }
    #under_body.com .com_messe .com_messe_box {
      padding-top: 50rem;
      display: flex;
      flex-wrap: wrap; }
      #under_body.com .com_messe .com_messe_box .com_messe_left {
        order: 2;
        width: 100%;
        font-size: 22rem;
        line-height: 1.8em;
        text-align: justify; }
      #under_body.com .com_messe .com_messe_box .com_messe_right {
        order: 1;
        width: 50%;
        margin: 0 auto 50rem; }
        #under_body.com .com_messe .com_messe_box .com_messe_right img {
          width: 100%;
          display: block; }
        #under_body.com .com_messe .com_messe_box .com_messe_right .name {
          margin-top: 15rem;
          text-align: center;
          font-size: 28rem;
          line-height: 1.4em; }
          #under_body.com .com_messe .com_messe_box .com_messe_right .name span {
            font-size: 23rem; }
  #under_body.com .com_out {
    padding: 170rem 0;
    width: 90%;
    margin: 0 auto; }
    #under_body.com .com_out .com_out_table {
      padding-top: 50rem; }
      #under_body.com .com_out .com_out_table table {
        width: 100%; }
        #under_body.com .com_out .com_out_table table tr th {
          display: block;
          box-sizing: border-box;
          border-right: solid 10rem #fff;
          width: 100%;
          font-size: 26rem;
          font-weight: 700;
          line-height: 1.4em;
          text-align: left;
          padding: 30rem 0 10rem; }
        #under_body.com .com_out .com_out_table table tr td {
          display: block;
          box-sizing: border-box;
          border-bottom: solid 1rem #E1E1E1;
          width: 100%;
          font-size: 26rem;
          line-height: 1.4em;
          padding: 10rem 0 30rem; }
          #under_body.com .com_out .com_out_table table tr td.addr {
            position: relative; }
            #under_body.com .com_out .com_out_table table tr td.addr .map {
              margin-top: 10rem; }
  #under_body.com .com_his {
    background: #F8F8F8;
    border-radius: 40rem 40rem 0 0; }
    #under_body.com .com_his .com_his_inner {
      width: 90%;
      margin: 0 auto;
      padding: 110rem 0;
      position: relative; }
      #under_body.com .com_his .com_his_inner .com_his_left .com_ttl {
        margin-bottom: 30rem; }
      #under_body.com .com_his .com_his_inner .com_his_left #com_his_photo {
        display: none; }
      #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box {
        display: flex;
        align-items: center; }
        #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box:last-child dd:before {
          display: none; }
        #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dt {
          font-size: 23rem;
          line-height: 1.2em;
          width: 160rem;
          padding: 45rem 0;
          position: relative; }
          #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dt:before {
            content: '';
            width: 24rem;
            height: 24rem;
            background: url("../img/icon_his.png") no-repeat center;
            background-size: contain;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            margin-right: 24rem; }
        #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dd {
          font-size: 24rem;
          line-height: 1.2em;
          width: calc(100% - 120rem);
          padding: 45rem 0;
          border-bottom: solid 1rem #BEBDBD;
          position: relative; }
          #under_body.com .com_his .com_his_inner .com_his_right .com_his_boxes .com_his_box dd:before {
            content: '';
            background: #BEBDBD;
            width: 1rem;
            height: 70rem;
            left: -36rem;
            bottom: -35rem;
            display: block;
            position: absolute; }
  #under_body.com .com_serv .com_serv_inner {
    width: 90%;
    margin: 0 auto;
    padding: 140rem 0 90rem; }
    #under_body.com .com_serv .com_serv_inner .com_ttl {
      margin-bottom: 30rem; }
    #under_body.com .com_serv .com_serv_inner .com_serv_list li {
      width: 100%;
      height: 372rem;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      position: relative; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li:hover {
        cursor: pointer; }
        #under_body.com .com_serv .com_serv_inner .com_serv_list li:hover:after {
          background: rgba(0, 0, 0, 0.05);
          transition: 0.3s; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li:after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        background: rgba(0, 0, 0, 0.25);
        z-index: 1;
        transition: 0.3s; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li a {
        display: block;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
        cursor: pointer; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li .txt {
        color: #fff;
        font-size: 30rem;
        position: absolute;
        left: 20rem;
        bottom: 20rem;
        border-top: solid 1rem #fff;
        z-index: 2;
        width: calc(100% - 40rem);
        padding-top: 20rem; }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li.l01 {
        background-image: url("../img/com_serv_01.png"); }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li.l02 {
        background-image: url("../img/com_serv_02.png"); }
      #under_body.com .com_serv .com_serv_inner .com_serv_list li.l03 {
        background-image: url("../img/com_serv_03.png"); }

  /* #under_body.com */
  #under_body.two_column .two_column_inner {
    width: 90%;
    margin: 0 auto; }
    #under_body.two_column .two_column_inner .two_column_left {
      position: relative; }
      #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list {
        margin-bottom: 20rem; }
        #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li {
          display: inline-block;
          margin-bottom: 10rem;
          margin-right: 5rem; }
          #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li.current a {
            font-weight: 700;
            color: #fff;
            background: #161616; }
            #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li.current a:hover {
              color: #161616;
              background: #fff; }
          #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li a {
            width: 205rem;
            display: block;
            font-size: 22rem;
            line-height: 2em;
            border-radius: 100rem;
            box-sizing: border-box;
            border: solid 1rem #161616;
            color: #161616;
            text-align: center; }
            #under_body.two_column .two_column_inner .two_column_left .siderbar .siderbar_list li a:hover {
              color: #fff;
              background: #161616; }
    #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list {
      width: 100%;
      margin-bottom: 50rem; }
      #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img {
        position: relative;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        margin-bottom: 24rem; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img:hover {
          opacity: 0.9; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img:before {
          content: '';
          padding-bottom: 58%;
          display: block; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img .cat {
          display: inline-block;
          color: #fff;
          background: #161616;
          border-radius: 0 10rem 0 0;
          position: absolute;
          left: 0;
          bottom: 0;
          padding: 0 14rem;
          line-height: 2em;
          font-size: 24rem; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img a {
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%; }
          #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_img a:hover {
            cursor: pointer; }
      #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .date {
        font-size: 24rem;
        margin-bottom: 1em; }
      #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl {
        font-size: 30rem;
        line-height: 1.5em; }
        #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl a {
          color: #161616; }
          #under_body.two_column .two_column_inner .two_column_right .blog_lists .blog_list .blog_list_ttl a:hover {
            text-decoration: underline; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_thum {
      margin-bottom: 35rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_thum img {
        width: 100%;
        height: auto;
        display: block; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_info {
      display: flex;
      box-sizing: border-box;
      align-items: center;
      padding: 0 5rem;
      margin-bottom: 10rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_info .date {
        font-size: 22rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_info .date:after {
          content: '/';
          margin: 0 10rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_info .cat {
        font-size: 19rem;
        line-height: 2em;
        display: inline-block;
        border: solid 1rem #161616;
        border-radius: 100rem;
        padding: 0 42rem; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_ttl {
      line-height: 1.5em;
      font-size: 34rem;
      margin-bottom: 40rem; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_body {
      font-size: 22rem;
      line-height: 2em;
      padding-bottom: 80rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body p {
        margin-bottom: 1em; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body a {
        color: #2C84B6;
        text-decoration: underline; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body h2 {
        color: #fff;
        font-weight: 700;
        font-size: 30rem;
        padding: 7rem 19rem;
        line-height: 1.4em;
        background: linear-gradient(to right, #1A1A1A, #fff);
        margin-bottom: 15rem;
        margin-top: 45rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body h3 {
        font-size: 28rem;
        font-weight: 700;
        line-height: 1.5em;
        padding-bottom: 10rem;
        margin-top: 35rem;
        margin-bottom: 15rem;
        border-bottom: solid 1rem #161616; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body h4 {
        font-size: 26rem;
        font-weight: 700;
        line-height: 1.5em;
        padding: 1rem 0 1rem 10rem;
        margin-top: 35rem;
        margin-bottom: 15rem;
        border-left: solid 3rem #161616; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body ul {
        font-size: 22rem;
        margin-bottom: 30rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body ul li {
          position: relative;
          padding-left: 1em;
          line-height: 1.5em;
          margin-bottom: 10rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_body ul li:after {
            content: '・';
            position: absolute;
            left: 0;
            top: 0; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body ol {
        font-size: 22rem;
        margin-bottom: 30rem;
        padding-left: 1.5em; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body ol li {
          position: relative;
          line-height: 1.5em;
          margin-bottom: 10rem;
          list-style: decimal; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body img {
        max-width: 100%;
        height: auto;
        margin-bottom: 30rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_body table {
        width: 100%;
        margin-bottom: 30rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body table tr th {
          border: solid 1rem #161616;
          text-align: left;
          font-size: 22rem;
          line-height: 1.4em;
          padding: 15rem;
          background: #F6F6F6;
          font-weight: 700; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_body table tr td {
          border: solid 1rem #161616;
          font-size: 22rem;
          line-height: 1.4em;
          padding: 15rem; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_share {
      border-bottom: solid 1rem #E0E0E0;
      border-top: solid 1rem #E0E0E0;
      padding: 30rem 0;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 35rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_share .ttl {
        font-size: 30rem;
        margin-right: 20rem; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_share .list {
        display: flex;
        align-items: center; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li {
          width: 30rem;
          margin-left: 20rem; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li a {
            display: block; }
            #under_body.two_column .two_column_inner .two_column_right .column .column_share .list li a:hover {
              opacity: 0.5; }
    #under_body.two_column .two_column_inner .two_column_right .column .column_nav {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #under_body.two_column .two_column_inner .two_column_right .column .column_nav div {
        width: 214rem; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.prev {
          display: block;
          width: 100%;
          font-weight: 700;
          font-size: 24rem;
          border-radius: 100rem;
          border: solid 1rem #1A1A1A;
          box-sizing: border-box;
          color: #1A1A1A;
          text-align: center;
          padding: 0.8em 0;
          background: url("../img/arr_left.png") no-repeat;
          background-size: 20rem;
          background-position: left 20rem center;
          transition: 0.3s; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.prev:hover {
            transition: 0.3s;
            color: #fff;
            background: url("../img/arr_left_w.png") no-repeat #1A1A1A;
            background-size: 20rem;
            background-position: left 20rem center; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.next {
          display: block;
          width: 100%;
          font-weight: 700;
          font-size: 24rem;
          border-radius: 100rem;
          border: solid 1rem #1A1A1A;
          box-sizing: border-box;
          color: #1A1A1A;
          text-align: center;
          padding: 0.8em 0;
          background: url("../img/arr_right.png") no-repeat;
          background-size: 20rem;
          background-position: right 20rem center;
          transition: 0.3s; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.next:hover {
            transition: 0.3s;
            color: #fff;
            background: url("../img/arr_right_w.png") no-repeat #1A1A1A;
            background-size: 20rem;
            background-position: right 20rem center; }
        #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.all {
          display: block;
          width: 100%;
          font-weight: 700;
          font-size: 24rem;
          border-radius: 100rem;
          border: solid 1rem #1A1A1A;
          box-sizing: border-box;
          color: #1A1A1A;
          text-align: center;
          padding: 0.8em 0;
          transition: 0.3s; }
          #under_body.two_column .two_column_inner .two_column_right .column .column_nav div a.all:hover {
            transition: 0.3s;
            color: #fff;
            background: #1A1A1A; }

  /* #under_body.two_column */
  .news_lists .news_list {
    border-bottom: solid 1rem #E0E0E0;
    padding: 30rem 0;
    position: relative; }
    .news_lists .news_list .news_list_left {
      margin-bottom: 30rem; }
      .news_lists .news_list .news_list_left div {
        width: 100%;
        height: 236rem;
        border-radius: 10rem;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
    .news_lists .news_list .news_list_right {
      box-sizing: border-box; }
      .news_lists .news_list .news_list_right .news_list_info {
        margin-bottom: 10rem; }
        .news_lists .news_list .news_list_right .news_list_info .cat {
          display: inline-block;
          text-align: center;
          border: solid 1rem #161616;
          border-radius: 100rem;
          font-size: 22rem;
          padding: 10rem 30rem;
          vertical-align: middle;
          margin-right: 30rem; }
        .news_lists .news_list .news_list_right .news_list_info .date {
          font-size: 20rem;
          display: inline-block;
          vertical-align: middle; }
      .news_lists .news_list .news_list_right .ttl {
        font-size: 34rem;
        line-height: 1.5em;
        margin-bottom: 5rem; }
      .news_lists .news_list .news_list_right .txt {
        font-size: 22rem;
        line-height: 1.8em; }
    .news_lists .news_list:first-child {
      margin-top: -30rem; }

  #under_body.work {
    padding-bottom: 0; }
    #under_body.work.work2 {
      padding-bottom: 90rem; }
    #under_body.work.archive_work {
      padding-bottom: 90rem; }
    #under_body.work .work_inner {
      width: 90%;
      margin: 0 auto; }
      #under_body.work .work_inner .work_tablist.work_tablist2 {
        margin-bottom: 80rem; }
      #under_body.work .work_inner .work_tablist .work_tablist_left {
        text-align: center;
        margin-bottom: 15rem; }
        #under_body.work .work_inner .work_tablist .work_tablist_left .work_tablist_en {
          font-size: 32rem; }
        #under_body.work .work_inner .work_tablist .work_tablist_left .work_tablist_jp {
          font-size: 28rem;
          line-height: 2em; }
      #under_body.work .work_inner .work_tablist .work_tablist_right {
        font-size: 0; }
        #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link {
          display: flex;
          text-align: center;
          justify-content: center;
          flex-wrap: wrap; }
          #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li {
            min-width: 200rem;
            margin: 5rem;
            font-size: 24rem; }
            #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li a {
              font-size: 24rem;
              line-height: 2em;
              border: solid 1rem #161616;
              border-radius: 100rem;
              padding: 0 10rem;
              display: block;
              text-align: center;
              color: #161616; }
              #under_body.work .work_inner .work_tablist .work_tablist_right .work_tablist_right_link li a:hover {
                color: #fff;
                background: #161616; }
        #under_body.work .work_inner .work_tablist .work_tablist_right input[type="checkbox"] {
          display: none; }
        #under_body.work .work_inner .work_tablist .work_tablist_right input[type="checkbox"]:checked + label {
          color: #fff;
          background: #161616; }
        #under_body.work .work_inner .work_tablist .work_tablist_right label {
          display: inline-block;
          min-width: 195rem;
          text-align: center;
          box-sizing: border-box;
          font-size: 24rem;
          line-height: 2em;
          border: solid 1rem #161616;
          border-radius: 100rem;
          padding: 0 20rem;
          margin: 5rem 10rem 5rem 0; }
      #under_body.work .work_inner .work_lists {
        padding-top: 40rem;
        margin-top: 40rem;
        border-top: solid 1rem #161616;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        #under_body.work .work_inner .work_lists .work_list {
          width: 48%;
          margin-bottom: 40rem; }
          #under_body.work .work_inner .work_lists .work_list:nth-child(3n) {
            margin-right: 0; }
          #under_body.work .work_inner .work_lists .work_list .work_list_img {
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            margin-bottom: 15rem; }
            #under_body.work .work_inner .work_lists .work_list .work_list_img:before {
              content: '';
              display: block;
              padding-bottom: 57%; }
          #under_body.work .work_inner .work_lists .work_list .work_list_ttl {
            font-size: 28rem;
            line-height: 1.8em;
            margin-bottom: 10rem; }
          #under_body.work .work_inner .work_lists .work_list .work_list_tag {
            font-size: 0; }
            #under_body.work .work_inner .work_lists .work_list .work_list_tag li {
              font-size: 20rem;
              display: inline-block;
              margin-right: 10rem; }
              #under_body.work .work_inner .work_lists .work_list .work_list_tag li:before {
                content: '#'; }
      #under_body.work .work_inner .work_single .work_single_sub {
        font-size: 38rem;
        line-height: 1.4em;
        box-sizing: border-box;
        padding-bottom: 15rem;
        border-bottom: solid 1rem #E1E1E1;
        position: relative;
        margin-bottom: 20rem; }
        #under_body.work .work_inner .work_single .work_single_sub:before {
          content: '';
          display: block;
          width: 120rem;
          height: 1rem;
          background: #161616;
          position: absolute;
          left: 0;
          bottom: -1rem; }
      #under_body.work .work_inner .work_single .work_single_table {
        display: flex;
        flex-wrap: wrap; }
        #under_body.work .work_inner .work_single .work_single_table dt {
          box-sizing: border-box;
          background: #161616;
          color: #fff;
          font-size: 28rem;
          line-height: 1.6em;
          border: solid 1rem #D4D2D2;
          width: 100%;
          padding: 11rem 20rem;
          align-items: center;
          display: flex; }
        #under_body.work .work_inner .work_single .work_single_table dd {
          box-sizing: border-box;
          color: #161616;
          font-size: 28rem;
          line-height: 1.6em;
          border: solid 1rem #D4D2D2;
          width: 100%;
          padding: 11rem 20rem;
          align-items: center;
          display: flex; }
      #under_body.work .work_inner .work_single .work_single_ba {
        display: flex;
        justify-content: space-between; }
        #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box {
          width: 48%;
          margin-bottom: 80rem; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box:nth-child(1) .work_single_ba_box_img:before {
            content: 'Before';
            font-weight: 700;
            font-size: 14rem;
            width: 112rem;
            text-align: center;
            line-height: 2em;
            box-sizing: border-box;
            border: solid 1rem #161616;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #fff;
            background: #161616;
            border-radius: 0 10rem 0 0; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box:nth-child(2) .work_single_ba_box_img:before {
            content: 'After';
            font-weight: 700;
            font-size: 14rem;
            width: 112rem;
            text-align: center;
            line-height: 2em;
            box-sizing: border-box;
            border: solid 1rem #161616;
            position: absolute;
            left: 0;
            bottom: 0;
            color: #161616;
            background: #fff;
            border-radius: 0 10rem 0 0; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .work_single_ba_box_img {
            margin-bottom: 10rem;
            position: relative; }
            #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .work_single_ba_box_img img {
              width: 100%;
              height: auto;
              display: block; }
          #under_body.work .work_inner .work_single .work_single_ba .work_single_ba_box .txt {
            font-size: 21rem;
            line-height: 1.6em; }
      #under_body.work .work_inner .work_single .work_single_ttl {
        padding: 0 0 0 14rem;
        font-size: 40rem;
        line-height: 1.6em;
        border-left: solid 10rem #161616;
        margin-bottom: 20rem; }
      #under_body.work .work_inner .work_single .work_single_thum {
        margin-bottom: 20rem; }
        #under_body.work .work_inner .work_single .work_single_thum img {
          width: 100%;
          height: auto;
          display: block; }
      #under_body.work .work_inner .work_single .work_single_boto {
        font-size: 24rem;
        line-height: 2em;
        margin-bottom: 35rem; }
      #under_body.work .work_inner .work_single .work_single_head .work_single_head_left {
        margin-bottom: 30rem;
        width: 100%; }
        #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list {
          width: 100%;
          display: flex;
          flex-wrap: wrap; }
          #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li {
            width: 32%;
            margin-right: 2%;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            margin-bottom: 10rem; }
            #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li:before {
              content: '';
              display: block;
              padding-bottom: 100%; }
            #under_body.work .work_inner .work_single .work_single_head .work_single_head_left .work_single_head_list li:nth-child(3n) {
              margin-right: 0; }
      #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table {
        width: 100%; }
        #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table tr th {
          border: solid 1px #D4D2D2;
          background: #1A1A1A;
          color: #fff;
          padding: 18rem;
          font-size: 28rem;
          line-height: 1.5em;
          text-align: left;
          width: 30%;
          vertical-align: middle; }
        #under_body.work .work_inner .work_single .work_single_head .work_single_head_right table tr td {
          border: solid 1px #D4D2D2;
          padding: 18rem;
          font-size: 28rem;
          line-height: 1.5em;
          width: 70%; }
      #under_body.work .work_inner .work_single .work_single_body {
        padding: 50rem 0 80rem;
        font-size: 28rem;
        line-height: 1.8em; }
    #under_body.work .work_other {
      border-radius: 40rem 40rem 0 0;
      background: #F8F8F8;
      padding: 90rem 0; }
      #under_body.work .work_other .work_other_en {
        font-size: 64rem;
        text-align: center; }
      #under_body.work .work_other .work_other_ttl {
        font-size: 26rem;
        text-align: center;
        line-height: 2em;
        margin-bottom: 50rem; }
      #under_body.work .work_other .work_lists {
        width: 90%;
        margin: 0 auto 70rem;
        display: flex;
        flex-wrap: wrap; }
        #under_body.work .work_other .work_lists .work_list {
          width: 100%;
          margin-bottom: 40rem; }
          #under_body.work .work_other .work_lists .work_list:last-child {
            margin-bottom: 0; }
          #under_body.work .work_other .work_lists .work_list .work_list_img {
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            margin-bottom: 15rem; }
            #under_body.work .work_other .work_lists .work_list .work_list_img:before {
              content: '';
              display: block;
              padding-bottom: 57%; }
          #under_body.work .work_other .work_lists .work_list .work_list_ttl {
            font-size: 28rem;
            line-height: 1.8em;
            margin-bottom: 10rem; }
          #under_body.work .work_other .work_lists .work_list .work_list_tag {
            font-size: 0; }
            #under_body.work .work_other .work_lists .work_list .work_list_tag li {
              font-size: 20rem;
              display: inline-block;
              margin-right: 10rem; }
              #under_body.work .work_other .work_lists .work_list .work_list_tag li:before {
                content: '#'; }
      #under_body.work .work_other .work_other_btn {
        text-align: center; }

  /* #under_body.work */
  #under_body.reform .reform_boxes .reform_box {
    border-radius: 40rem 40rem 0 0;
    padding: 120rem 0; }
    #under_body.reform .reform_boxes .reform_box#box2 {
      background: #FBFBFB; }
    #under_body.reform .reform_boxes .reform_box .reform_box_head {
      width: 90%;
      margin: 0 auto;
      margin-bottom: 80rem; }
      #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_img {
        margin-bottom: 45rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_img img {
          width: 100%;
          display: block; }
      #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt {
        box-sizing: border-box; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt .ttl {
          text-align: center;
          font-size: 30rem;
          margin-bottom: 40rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_head .reform_box_head_txt .txt {
          font-size: 24rem;
          line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_servs {
      padding: 20rem 0;
      width: 90%;
      margin: 0 auto; }
      #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv {
        width: 100%;
        margin-bottom: 40rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_img {
          margin-bottom: 25rem; }
          #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_img img {
            width: 100%;
            display: block; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_ttl {
          font-size: 30rem;
          line-height: 1.3em;
          margin-bottom: 20rem; }
        #under_body.reform .reform_boxes .reform_box .reform_box_servs .reform_box_serv .reform_box_serv_txt {
          font-size: 24rem;
          line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_lists_ttl {
      width: 90%;
      margin: 80rem auto 40rem;
      font-size: 28rem;
      line-height: 1.8em; }
    #under_body.reform .reform_boxes .reform_box .reform_box_lists {
      position: relative; }
      #under_body.reform .reform_boxes .reform_box .reform_box_lists .reform_box_lists_btn {
        text-align: center;
        margin-top: 60rem; }

  /* #under_body.reform */ }
