@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: "Noto Sans JP", 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; }

/* ---------- /参考タグ部分 ---------- */
.font_bn {
  font-family: "Bebas Neue", sans-serif !important; }

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

body {
  background: #F5F5F5; }

.fade {
  opacity: 0;
  transition: 2s; }

.fade.is-show {
  opacity: 1;
  transition: 2s; }

.fadein {
  opacity: 0;
  transition: 2s;
  transform: translateY(10rem); }

.fadein.is-show {
  opacity: 1;
  transition: 2s;
  transform: translateY(0); }

.float.hidden {
  opacity: 0 !important;
  pointer-events: none !important; }

.float {
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  /* 非表示時にクリックできないように */ }

.float.visible {
  opacity: 1;
  pointer-events: auto; }

/* PC */
@media screen and (min-width: 769px) {
  .sponly {
    display: none !important; }

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

  .float {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 10;
    background: url("../img/float_arr.png") no-repeat #fff;
    background-size: 39rem;
    background-position: center right 28rem;
    box-sizing: border-box;
    border-left: solid 2rem #BBBBBB;
    border-top: solid 2rem #BBBBBB;
    border-radius: 20rem 0 0 0;
    padding: 15rem 100rem 15rem 30rem;
    transition: 0.3s; }
    .float:hover {
      background-position: center right 20rem;
      transition: 0.3s; }
    .float .closebtn {
      width: 23rem;
      height: 23rem;
      background: url("../img/float_close.png") no-repeat center;
      background-size: contain;
      position: absolute;
      left: -7rem;
      top: -7rem;
      z-index: 3; }
    .float .en {
      font-size: 42rem; }
    .float .jp {
      font-size: 16rem; }
    .float a {
      display: block;
      height: 100%;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2; }

  .ttl {
    margin-bottom: 70rem; }
    .ttl .en {
      font-size: 65rem;
      margin-bottom: 10rem; }
    .ttl .jp {
      font-size: 16rem; }
    .ttl.ttl_line {
      text-align: center; }
      .ttl.ttl_line .en {
        display: inline-block;
        position: relative; }
        .ttl.ttl_line .en:before {
          content: '';
          display: block;
          height: 1px;
          width: 420rem;
          background: #1A1A1A;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          bottom: 0; }

  .btn01 {
    display: inline-block;
    border: solid 1px #fff;
    color: #fff;
    font-size: 20rem;
    line-height: 1.7em;
    padding: 11rem 65rem 11rem 45rem;
    position: relative;
    border-radius: 100rem;
    font-weight: 700; }
    .btn01:before {
      content: '';
      display: block;
      width: 43rem;
      height: 43rem;
      background: url("../img/arr_01.png") no-repeat center;
      background-size: contain;
      position: absolute;
      right: 24rem;
      top: 50%;
      transform: translateY(-50%);
      transition: 0.3s; }
    .btn01:hover:before {
      transition: 0.3s;
      right: 15rem; }

  main {
    overflow: hidden; }

  #mv {
    position: relative;
    z-index: 3;
    margin-bottom: -142rem; }
    #mv .mv_img {
      position: relative;
      z-index: 1; }
      #mv .mv_img img {
        width: 100%;
        display: block; }
    #mv .mv_txt {
      position: absolute;
      z-index: 2;
      width: 672rem;
      position: absolute;
      right: 133rem;
      top: 186rem; }
    #mv .mv_line1 {
      position: absolute;
      z-index: 2;
      width: 170rem;
      position: absolute;
      left: 0;
      top: 0; }
    #mv .mv_line2 {
      position: absolute;
      z-index: 2;
      width: 140rem;
      position: absolute;
      right: -4rem;
      top: 0; }
    #mv .mv_line3 {
      position: absolute;
      z-index: 2;
      width: 334rem;
      position: absolute;
      right: 34rem;
      bottom: -10rem; }

  .anclink {
    padding-top: 100rem;
    margin-top: -100rem; }

  #head {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    box-sizing: border-box;
    padding: 23rem 82rem;
    transition: 0.3s; }
    #head.on {
      background: #fff;
      transition: 0.3s; }
    #head.on2 {
      background: #fff;
      transition: 0.3s; }
    #head .head_inner {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #head .head_inner .head_logo {
        width: 20%; }
        #head .head_inner .head_logo img {
          mix-blend-mode: multiply; }
        #head .head_inner .head_logo a {
          display: block; }
      #head .head_inner .head_right {
        display: flex;
        align-items: center; }
        #head .head_inner .head_right .head_menu {
          display: flex; }
          #head .head_inner .head_right .head_menu li {
            font-size: 23rem;
            margin-right: 1em; }
            #head .head_inner .head_right .head_menu li a {
              color: #1A1A1A; }
              #head .head_inner .head_right .head_menu li a:hover {
                text-decoration: underline; }
        #head .head_inner .head_right .head_sns {
          display: flex; }
          #head .head_inner .head_right .head_sns li {
            margin-left: 19rem; }
            #head .head_inner .head_right .head_sns li a {
              display: block; }
              #head .head_inner .head_right .head_sns li a:hover {
                opacity: 0.8; }
            #head .head_inner .head_right .head_sns li:nth-child(1) img {
              width: 51rem; }
            #head .head_inner .head_right .head_sns li:nth-child(2) img {
              width: 38rem; }
            #head .head_inner .head_right .head_sns li:nth-child(3) img {
              width: 37rem; }

  #Tnews {
    background: url("../img/Tnews_bg.png") no-repeat center top;
    background-size: cover;
    position: relative;
    z-index: 2;
    padding-bottom: 122rem;
    padding-top: 163rem; }
    #Tnews:before {
      content: '';
      background: url("../img/"); }
    #Tnews .Tnews_inner {
      width: 1100rem;
      margin: 0 auto;
      position: relative;
      z-index: 2; }
      #Tnews .Tnews_inner .ttl {
        color: #fff; }
        #Tnews .Tnews_inner .ttl.ttl_line .en:before {
          background: #fff; }
      #Tnews .Tnews_inner .Tnews_btn {
        text-align: center; }
      #Tnews .Tnews_inner .Tnews_box {
        display: flex;
        justify-content: space-between;
        margin-bottom: 57rem; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_left {
          width: 510rem; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_left a {
            display: block; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_left img {
            display: block; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_right {
          width: calc(100% - 570rem);
          color: #fff; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .date {
            font-size: 20rem;
            font-weight: 700;
            margin-bottom: 5rem;
            line-height: 1.6em; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .cat {
            margin-bottom: 15rem; }
            #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .cat a {
              display: inline-block;
              background: #fff;
              border: solid 1px #fff;
              box-sizing: border-box;
              border-radius: 100rem;
              font-size: 20rem;
              font-weight: 700;
              line-height: 1.3em;
              color: #1A1A1A;
              padding: 0 25rem; }
              #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .cat a:hover {
                color: #fff;
                background: #1A1A1A;
                cursor: pointer; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .Tnews_box_ttl {
            font-size: 20rem;
            line-height: 1.8em;
            font-weight: 700;
            margin-bottom: 14rem; }
            #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .Tnews_box_ttl a {
              color: #fff; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .txt {
            font-size: 16rem;
            line-height: 1.8em; }

  #prf {
    position: relative;
    z-index: 1;
    padding-top: 10rem; }
    #prf .prf_inner {
      position: relative;
      z-index: 2;
      width: 1100rem;
      margin: 0 auto; }
      #prf .prf_inner .prf_txt {
        font-size: 15rem;
        line-height: 1.8em;
        width: 550rem; }
      #prf .prf_inner .prf_boxes {
        width: 550rem;
        display: flex;
        justify-content: space-between;
        margin-bottom: 50rem; }
        #prf .prf_inner .prf_boxes .prf_box {
          width: 50%; }
          #prf .prf_inner .prf_boxes .prf_box .prf_box_ttl {
            font-size: 16rem;
            line-height: 1.8em; }
          #prf .prf_inner .prf_boxes .prf_box .txt {
            font-size: 15rem;
            line-height: 1.8em; }
          #prf .prf_inner .prf_boxes .prf_box dl {
            display: flex;
            font-size: 15rem;
            line-height: 1.8em; }
            #prf .prf_inner .prf_boxes .prf_box dl dt {
              width: 90rem; }
            #prf .prf_inner .prf_boxes .prf_box dl dd {
              position: relative;
              box-sizing: border-box;
              padding-left: 1em; }
              #prf .prf_inner .prf_boxes .prf_box dl dd:before {
                content: '/';
                position: absolute;
                left: 0;
                top: 0; }
    #prf:before {
      content: '';
      display: block;
      width: 696rem;
      height: 868rem;
      position: absolute;
      right: 10rem;
      bottom: -50rem;
      background: url("../img/prf_thum.png") no-repeat center bottom;
      background-size: contain; }

  #serv {
    background: url("../img/serv_bg.png") no-repeat left top;
    background-size: cover;
    padding: 160rem 0 116rem;
    position: relative;
    z-index: 2; }
    #serv .serv_inner {
      position: relative;
      z-index: 2;
      width: 1100rem;
      margin: 0 auto; }
      #serv .serv_inner .serv_txt {
        font-size: 16rem;
        line-height: 1.8em;
        margin: 0 auto 110rem;
        width: 800rem;
        text-align: center; }
      #serv .serv_inner .serv_lists .serv_list {
        display: flex;
        justify-content: space-between;
        margin-bottom: 27rem; }
        #serv .serv_inner .serv_lists .serv_list:last-child {
          margin-bottom: 0; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_left {
          width: 150rem; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_left img {
            display: block;
            width: 100%; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_right {
          width: calc(100% - 190rem); }
          #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_ttl {
            position: relative;
            box-sizing: border-box;
            padding-right: 190rem;
            font-weight: 700;
            line-height: 1.8em;
            font-size: 25rem;
            border-bottom: solid 1px #1A1A1A;
            margin-bottom: 7rem; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_right span {
            position: absolute;
            right: 0;
            bottom: 7rem; }
            #serv .serv_inner .serv_lists .serv_list .serv_list_right span a {
              display: block;
              width: 185rem;
              text-align: center;
              color: #fff;
              background: url("../img/icon_blank.png") no-repeat #1A1A1A;
              background-size: 16rem;
              background-position: right 19rem center;
              font-size: 16rem;
              line-height: 1.8em;
              border-radius: 100rem;
              padding: 1rem 0; }
              #serv .serv_inner .serv_lists .serv_list .serv_list_right span a:hover {
                background-color: #585858; }
              #serv .serv_inner .serv_lists .serv_list .serv_list_right span a.noblank {
                background-image: none !important; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_sub {
            font-size: 18rem;
            font-weight: 700;
            line-height: 1.8em; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_txt {
            font-size: 16rem;
            line-height: 1.8em; }

  #oc {
    position: relative;
    padding: 116rem 0;
    background: #E3E3E3; }
    #oc .oc_inner {
      position: relative;
      z-index: 2; }
      #oc .oc_inner .oc_box {
        width: 1100rem;
        margin: 0 auto;
        display: flex;
        justify-content: space-between; }
        #oc .oc_inner .oc_box .oc_box_left {
          width: 690rem; }
          #oc .oc_inner .oc_box .oc_box_left iframe {
            width: 100%;
            height: 350rem;
            display: block; }
        #oc .oc_inner .oc_box .oc_box_right {
          width: 375rem;
          font-size: 16rem;
          line-height: 2em; }
          #oc .oc_inner .oc_box .oc_box_right a {
            color: #1A1A1A; }
    #oc:before {
      content: '';
      display: block;
      height: 255rem;
      width: 250rem;
      position: absolute;
      left: 5rem;
      top: 84rem;
      background: url("../img/oc_bg_01.png") no-repeat center;
      background-size: contain;
      z-index: 1; }
    #oc:after {
      content: '';
      display: block;
      height: 541rem;
      width: 406rem;
      position: absolute;
      right: 0;
      bottom: 0;
      background: url("../img/oc_bg_02.png") no-repeat center;
      background-size: contain;
      z-index: 1; }

  footer {
    background: #1A1A1A;
    color: #fff;
    text-align: center;
    padding: 37rem 0 42rem; }
    footer .foot_inner {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 50rem; }
      footer .foot_inner .foot_menu {
        display: flex; }
        footer .foot_inner .foot_menu li {
          font-size: 23rem;
          margin-right: 1em; }
          footer .foot_inner .foot_menu li a {
            color: #fff; }
            footer .foot_inner .foot_menu li a:hover {
              text-decoration: underline; }
      footer .foot_inner .foot_sns {
        display: flex; }
        footer .foot_inner .foot_sns li {
          margin-left: 19rem; }
          footer .foot_inner .foot_sns li a {
            display: block; }
            footer .foot_inner .foot_sns li a:hover {
              opacity: 0.8; }
          footer .foot_inner .foot_sns li:nth-child(1) img {
            width: 51rem; }
          footer .foot_inner .foot_sns li:nth-child(2) img {
            width: 38rem; }
          footer .foot_inner .foot_sns li:nth-child(3) img {
            width: 37rem; }
    footer #copy {
      text-align: center;
      font-size: 14rem;
      line-height: 2em; }

  #under_head {
    margin-top: 84rem;
    background: url("../img/under_head_bg.png") no-repeat center #1A1A1A;
    background-size: cover;
    padding: 110rem 0 96rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    #under_head .under_head_txt {
      color: #fff;
      text-align: center; }
      #under_head .under_head_txt .under_head_ttl {
        line-height: 2em;
        font-size: 16rem; }
      #under_head .under_head_txt .under_head_en {
        font-size: 65rem; }

  /* under_head */
  #under_body {
    background: #fff;
    padding: 30rem 0 80rem; }
    #under_body.bg {
      background: #E3E3E3; }
    #under_body .bread {
      font-size: 16rem;
      width: 1100rem;
      margin: 0 auto 44rem; }
      #under_body .bread a {
        color: #1A1A1A; }
        #under_body .bread a:hover {
          text-decoration: underline; }
    #under_body .under_content {
      width: 1100rem;
      margin: 0 auto; }
      #under_body .under_content#complete .contact_flow {
        background-image: url("../img/flow_03.png") !important; }
      #under_body .under_content#complete .comp_txt {
        text-align: center;
        font-size: 16rem;
        line-height: 2em;
        margin-bottom: 80rem; }
      #under_body .under_content#complete .comp_btn {
        text-align: center; }
        #under_body .under_content#complete .comp_btn a {
          display: inline-block;
          color: #fff;
          background: #1A1A1A;
          box-sizing: border-box;
          border: solid 1rem #1A1A1A;
          font-size: 20rem;
          font-weight: 700;
          width: 410rem;
          padding: 20rem 0;
          border-radius: 100rem;
          transition: 0.3s; }
          #under_body .under_content#complete .comp_btn a:hover {
            color: #1A1A1A;
            background: #fff;
            transition: 0.3s; }
      #under_body .under_content#confirm .contact_pp {
        display: none; }
      #under_body .under_content#confirm .contact_pp_btn {
        display: none; }
      #under_body .under_content#confirm .contact_flow {
        background-image: url("../img/flow_02.png") !important; }
      #under_body .under_content#confirm .contact_body .contact_table table tr th {
        padding-top: 39rem;
        padding-bottom: 39rem;
        background-position: center left; }
      #under_body .under_content#confirm .contact_body .contact_table table tr td {
        padding-top: 39rem;
        font-size: 20rem;
        font-weight: 700; }
        #under_body .under_content#confirm .contact_body .contact_table table tr td br {
          display: none; }
      #under_body .under_content .cat_list {
        display: flex;
        flex-wrap: wrap;
        border-bottom: solid 1.5rem #1A1A1A;
        box-sizing: border-box;
        padding-left: 5rem;
        margin-bottom: 50rem; }
        #under_body .under_content .cat_list li {
          font-size: 18rem;
          line-height: 1.8em;
          font-weight: 700;
          margin-right: 12rem;
          position: relative;
          margin-bottom: 8rem; }
          #under_body .under_content .cat_list li a {
            position: relative;
            z-index: 2;
            color: #1A1A1A;
            display: block;
            box-sizing: border-box;
            text-align: center;
            padding: 5rem 20rem;
            min-width: 170rem; }
          #under_body .under_content .cat_list li:before {
            content: '';
            display: block;
            position: absolute;
            z-index: 1;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: #fff;
            box-sizing: border-box;
            border: solid 1rem #1A1A1A;
            min-width: 170rem;
            transform: skewX(-10deg); }
          #under_body .under_content .cat_list li.current a {
            color: #fff !important; }
          #under_body .under_content .cat_list li.current:before {
            background: #1A1A1A !important; }
          #under_body .under_content .cat_list li:hover a {
            color: #fff;
            transition: 0.3s; }
          #under_body .under_content .cat_list li:hover:before {
            background: #1A1A1A !important;
            transition: 0.3s; }
      #under_body .under_content .archives {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 30rem; }
        #under_body .under_content .archives .archives_list {
          width: 32%;
          margin-right: 2%;
          margin-bottom: 30rem;
          box-sizing: border-box;
          border: solid 1rem #9F9F9F;
          background: #fff; }
          #under_body .under_content .archives .archives_list:nth-child(3n) {
            margin-right: 0; }
          #under_body .under_content .archives .archives_list .archives_list_img {
            position: relative;
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat; }
            #under_body .under_content .archives .archives_list .archives_list_img:before {
              content: '';
              display: block;
              padding-bottom: 60%; }
            #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat {
              position: absolute;
              left: 0;
              top: 0;
              color: #fff; }
              #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat a {
                position: relative;
                z-index: 2;
                font-size: 16rem;
                font-weight: 700;
                background: #1A1A1A;
                text-align: center;
                min-width: 120rem;
                color: #fff;
                padding: 0 1em;
                line-height: 1.8em;
                box-sizing: border-box;
                display: block; }
              #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat:before {
                content: '';
                display: block;
                height: 100%;
                width: 30rem;
                background: url("../img/cat_bg.png") no-repeat center right;
                background-size: 132rem;
                position: absolute;
                right: -10rem;
                top: 0;
                z-index: 1; }
          #under_body .under_content .archives .archives_list .archives_list_txt {
            font-size: 18rem;
            line-height: 1.6em;
            font-weight: 700;
            box-sizing: border-box;
            padding: 15rem 25rem 54rem;
            position: relative; }
          #under_body .under_content .archives .archives_list .date {
            font-size: 16rem;
            color: #9F9F9F;
            border: solid 1rem #9F9F9F;
            width: 130rem;
            text-align: center;
            position: absolute;
            left: 25rem;
            line-height: 1.2em;
            bottom: 21rem; }
      #under_body .under_content .wp-pagenavi {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
        #under_body .under_content .wp-pagenavi a {
          margin: 2rem 6rem;
          font-size: 16rem;
          font-weight: 700;
          background: #fff;
          box-sizing: border-box;
          border: solid 1rem #AFAFAF;
          width: 32rem;
          height: 32rem;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #1A1A1A; }
          #under_body .under_content .wp-pagenavi a:hover {
            background: #1A1A1A;
            color: #fff; }
          #under_body .under_content .wp-pagenavi a.nextpostslink {
            border: none;
            background: none;
            margin-left: 0; }
          #under_body .under_content .wp-pagenavi a.previouspostslink {
            border: none;
            background: none;
            margin-right: 0; }
        #under_body .under_content .wp-pagenavi span {
          display: flex;
          width: 32rem;
          height: 32rem;
          justify-content: center;
          align-items: center;
          font-size: 16rem;
          font-weight: 700;
          margin: 2rem 0; }
          #under_body .under_content .wp-pagenavi span.current {
            color: #fff;
            background: #1A1A1A;
            margin: 2rem 6rem; }

  /* under_body */
  .single .single_head {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
    .single .single_head .single_cat {
      color: #fff;
      display: inline-block;
      background: #1A1A1A;
      min-width: 240rem;
      text-align: center;
      font-size: 20rem;
      font-weight: 700;
      line-height: 1.8em;
      padding: 5rem 1em;
      box-sizing: border-box;
      margin-right: 30rem; }
    .single .single_head .date {
      font-size: 16rem;
      line-height: 1.8em; }
    .single .single_head .single_ttl {
      font-size: 25rem;
      line-height: 1.8em;
      font-weight: 700;
      padding-bottom: 5rem;
      border-bottom: solid 1rem #505050;
      margin-bottom: 38rem;
      padding-top: 17rem;
      width: 100%; }
  .single .single_thum {
    margin-bottom: 24rem; }
    .single .single_thum img {
      width: 100%;
      height: auto;
      display: block; }
  .single .single_body {
    font-size: 16rem; }
    .single .single_body p {
      font-size: 16rem;
      line-height: 1.8em;
      margin-bottom: 1em; }
      .single .single_body p a {
        color: #000;
        text-decoration: underline; }
        .single .single_body p a:hover {
          text-decoration: none; }
    .single .single_body h2 {
      margin-bottom: 16rem;
      margin-top: 60rem;
      font-size: 23rem;
      font-weight: 700;
      padding: 5rem 40rem 5rem 20rem;
      line-height: 1.8em;
      color: #fff;
      background: linear-gradient(to right, #1A1A1A, #fff); }
    .single .single_body h3 {
      margin-bottom: 16rem;
      margin-top: 50rem;
      font-size: 23rem;
      font-weight: 700;
      padding: 3rem 40rem 3rem 20rem;
      line-height: 1.8em;
      color: #fff;
      background: #D5D5D5; }
    .single .single_body h4 {
      margin-bottom: 16rem;
      margin-top: 40rem;
      font-weight: 700;
      font-size: 20rem;
      line-height: 1.8em;
      border-bottom: solid 1rem #1A1A1A; }
    .single .single_body h5 {
      margin-bottom: 16rem;
      margin-top: 40rem;
      font-weight: 700;
      font-size: 20rem;
      line-height: 1.8em;
      border-left: solid 5rem #1A1A1A;
      padding: 1rem 0 1rem 17rem; }
  .single .single_body_btn {
    text-align: center;
    margin-top: 60rem; }
    .single .single_body_btn a {
      color: #fff;
      font-size: 20rem;
      font-weight: 700;
      line-height: 1.7em;
      border-radius: 100rem;
      background: #1A1A1A;
      display: inline-block;
      min-width: 410rem;
      padding: 13rem 1em;
      box-sizing: border-box;
      border: solid 1rem #1A1A1A;
      transition: 0.3s; }
      .single .single_body_btn a:hover {
        color: #1A1A1A;
        background: #fff;
        transition: 0.3s; }

  /* single */
  .contact_list {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 25rem 35rem;
    margin-bottom: 70rem; }
    .contact_list li {
      position: relative;
      padding-left: 1.3em;
      line-height: 2em;
      font-size: 16rem; }
      .contact_list li:before {
        content: '●';
        position: absolute;
        left: 0;
        top: 0; }

  .contact_flow {
    height: 71rem;
    background: url("../img/flow_01.png") no-repeat center;
    background-size: contain;
    margin-bottom: 55rem; }

  .contact_body {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 37rem 47rem;
    margin-bottom: 40rem; }
    .contact_body .contact_body_head {
      display: flex;
      align-items: center; }
      .contact_body .contact_body_head .contact_body_head_ttl {
        color: #fff;
        font-size: 20rem;
        line-height: 1.8em;
        font-weight: 700;
        background: #1A1A1A;
        display: inline-block;
        padding: 6rem 20rem; }
      .contact_body .contact_body_head .contact_body_head_sub {
        font-size: 16rem;
        line-height: 1.7em;
        margin-left: 24rem; }
        .contact_body .contact_body_head .contact_body_head_sub span {
          color: #fff;
          font-size: 16rem;
          font-weight: 500;
          background: #696969;
          border-radius: 100rem;
          display: inline-block;
          padding: 1rem 19rem;
          margin-right: 10rem; }
    .contact_body .contact_table table {
      width: 100%; }
      .contact_body .contact_table table tr th {
        padding-top: 39rem;
        font-size: 20rem;
        width: 220rem;
        text-align: left;
        font-size: 20rem;
        padding-left: 84rem;
        font-weight: 700;
        background: url("../img/icon_hissu.png") no-repeat;
        background-position: top 36rem left 0;
        background-size: 72rem;
        vertical-align: top; }
        .contact_body .contact_table table tr th.ninni {
          background-image: url("../img/icon_nini.png"); }
      .contact_body .contact_table table tr td {
        padding-top: 23rem;
        width: calc(100% - 220rem); }
        .contact_body .contact_table table tr td .error {
          font-size: 16rem;
          margin-top: 5rem; }
        .contact_body .contact_table table tr td input[type="text"] {
          box-sizing: border-box;
          font-size: 16rem;
          border: solid 1rem #9F9F9F;
          padding: 16rem 25rem;
          width: 100%;
          border-radius: 2rem;
          font-weight: 400; }
          .contact_body .contact_table table tr td input[type="text"]::placeholder {
            color: #B9B9B9;
            font-weight: 400; }
        .contact_body .contact_table table tr td textarea {
          box-sizing: border-box;
          font-size: 16rem;
          border: solid 1rem #9F9F9F;
          padding: 25rem;
          width: 100%;
          height: 200rem;
          border-radius: 2rem;
          font-weight: 400; }
          .contact_body .contact_table table tr td textarea::placeholder {
            color: #B9B9B9;
            font-weight: 400; }
        .contact_body .contact_table table tr td select {
          box-sizing: border-box;
          border: solid 1rem #9F9F9F;
          font-size: 16rem;
          width: 100%;
          padding: 16rem 25rem;
          background: url("../img/arr_select.png") no-repeat;
          background-size: 16rem;
          background-position: right 26rem center;
          appearance: none; }

  .contact_pp .contact_pp_ttl {
    font-size: 20rem;
    line-height: 1.8em;
    font-weight: 700; }
  .contact_pp .contact_pp_txt {
    font-size: 16rem;
    line-height: 1.8em;
    margin-bottom: 50rem; }
    .contact_pp .contact_pp_txt a {
      color: #000;
      text-decoration: underline; }

  .contact_pp_btn {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    text-align: center;
    width: 550rem;
    margin: 0 auto 40rem;
    padding: 33rem 0; }
    .contact_pp_btn .mwform-checkbox-field {
      font-size: 20rem;
      font-weight: 700; }
      .contact_pp_btn .mwform-checkbox-field input[type="checkbox"] {
        display: none; }
      .contact_pp_btn .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text {
        background-image: url("../img/icon_ch_02.png"); }
      .contact_pp_btn .mwform-checkbox-field .mwform-checkbox-field-text {
        display: inline-block;
        background: url("../img/icon_ch_01.png") no-repeat left center;
        background-size: 17rem;
        padding-left: 22rem; }

  .contact_send {
    text-align: center; }
    .contact_send input[type="submit"] {
      display: inline-block;
      font-size: 20rem;
      font-weight: 700;
      line-height: 1.8em;
      border-radius: 100rem;
      box-sizing: border-box;
      border: solid 2rem #1A1A1A;
      background: #1A1A1A;
      transition: 0.3s;
      padding: 13rem 0;
      color: #fff;
      width: 410rem; }
      .contact_send input[type="submit"]:hover {
        color: #1A1A1A;
        background: #fff;
        cursor: pointer; } }
/* SP */
@media screen and (max-width: 768px) {
  .pconly {
    display: none !important; }

  body.hid {
    overflow: hidden; }

  html {
    font-size: calc(1vw * 100 / 390);
    scroll-behavior: smooth; }

  .float {
    position: fixed;
    right: 9rem;
    bottom: 9rem;
    z-index: 4;
    width: 367rem;
    background: url("../img/float_arr_sp.png") no-repeat #fff;
    background-size: 30rem;
    background-position: center right 17rem;
    box-sizing: border-box;
    border: solid 2rem #BBBBBB;
    padding: 15rem 0 8rem 23rem;
    transition: 0.3s;
    display: flex;
    align-items: center; }
    .float .closebtn {
      width: 23rem;
      height: 23rem;
      background: url("../img/float_close.png") no-repeat center;
      background-size: contain;
      position: absolute;
      left: -7rem;
      top: -7rem;
      z-index: 3; }
    .float .en {
      font-size: 42rem;
      margin-right: 16rem; }
    .float .jp {
      font-size: 14rem;
      padding-bottom: 5rem; }
    .float a {
      display: block;
      height: 100%;
      width: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2; }

  .ttl {
    margin-bottom: 34rem; }
    .ttl .en {
      font-size: 50rem;
      margin-bottom: 10rem; }
    .ttl .jp {
      font-size: 16rem; }
    .ttl.ttl_line {
      text-align: center; }
      .ttl.ttl_line .en {
        display: inline-block;
        position: relative;
        padding-bottom: 5rem; }
        .ttl.ttl_line .en:before {
          content: '';
          display: block;
          height: 2rem;
          width: 340rem;
          background: #1A1A1A;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          bottom: 0; }

  .btn01 {
    display: inline-block;
    border: solid 1px #fff;
    color: #fff;
    font-size: 18rem;
    line-height: 1.7em;
    padding: 14rem 0;
    position: relative;
    border-radius: 100rem;
    font-weight: 700;
    width: 100%;
    text-align: center; }
    .btn01:before {
      content: '';
      display: block;
      width: 40rem;
      height: 40rem;
      background: url("../img/arr_01.png") no-repeat center;
      background-size: contain;
      position: absolute;
      right: 1rem;
      top: 50%;
      transform: translateY(-50%);
      transition: 0.3s; }

  main {
    overflow: hidden; }

  #mv {
    position: relative;
    z-index: 3;
    margin-bottom: -60rem; }
    #mv .mv_img {
      position: relative;
      z-index: 1; }
      #mv .mv_img img {
        width: 100%;
        display: block; }

  .anclink {
    padding-top: 100rem;
    margin-top: -100rem; }

  #head {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    box-sizing: border-box;
    padding: 20rem 26rem;
    transition: 0.3s; }
    #head.on {
      background: #fff;
      transition: 0.3s;
      padding: 20rem; }
      #head.on .head_inner .head_logo {
        width: 100rem;
        transition: 0.3s; }
    #head.on2 {
      background: #fff;
      transition: 0.3s;
      padding: 20rem; }
      #head.on2 .head_inner .head_logo {
        width: 100rem;
        transition: 0.3s; }
    #head .menuch {
      display: none; }
    #head .menula {
      position: absolute;
      right: 5rem;
      top: 5rem;
      width: 50rem;
      height: 50rem;
      background: url("../img/menu_01.png") no-repeat center;
      background-size: contain;
      z-index: 5; }
    #head .menuch:checked + .menula {
      background-image: url("../img/menu_02.png"); }
    #head .menuch:checked + .menula + .head_right {
      left: 0;
      transition: 0.3s; }
    #head .head_inner .head_logo {
      width: 144rem;
      transition: 0.3s; }
      #head .head_inner .head_logo img {
        width: 100%;
        height: auto;
        display: block; }
      #head .head_inner .head_logo a {
        display: block; }
    #head .head_inner .head_right {
      transition: 0.3s;
      position: absolute;
      top: 0;
      left: 100%;
      width: 100%;
      height: 100vh;
      background: #1A1A1A;
      box-sizing: border-box;
      padding: 58rem 35rem;
      overflow-y: scroll; }
      #head .head_inner .head_right .head_menu {
        width: 280rem;
        margin: 0 auto; }
        #head .head_inner .head_right .head_menu li {
          text-align: right;
          font-size: 23rem;
          margin-bottom: 1em; }
          #head .head_inner .head_right .head_menu li a {
            color: #fff; }
            #head .head_inner .head_right .head_menu li a:hover {
              text-decoration: underline; }
      #head .head_inner .head_right .head_sns {
        padding-top: 30rem;
        width: 280rem;
        margin: 0 auto;
        border-top: solid 1px #FFFFFF;
        display: flex;
        justify-content: center; }
        #head .head_inner .head_right .head_sns li {
          margin: 0 7rem; }
          #head .head_inner .head_right .head_sns li a {
            display: block; }
            #head .head_inner .head_right .head_sns li a:hover {
              opacity: 0.8; }
          #head .head_inner .head_right .head_sns li:nth-child(1) img {
            width: 51rem; }
          #head .head_inner .head_right .head_sns li:nth-child(2) img {
            width: 38rem; }
          #head .head_inner .head_right .head_sns li:nth-child(3) img {
            width: 37rem; }
          #head .head_inner .head_right .head_sns li img {
            -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1); }

  #Tnews {
    background: url("../img/Tnews_bg_sp.png") no-repeat center bottom;
    background-size: cover;
    position: relative;
    z-index: 2;
    padding: 75rem 0 54rem; }
    #Tnews .Tnews_inner {
      width: 340rem;
      margin: 0 auto;
      position: relative;
      z-index: 2; }
      #Tnews .Tnews_inner .ttl {
        color: #fff; }
        #Tnews .Tnews_inner .ttl.ttl_line .en:before {
          background: #fff; }
      #Tnews .Tnews_inner .Tnews_btn {
        text-align: center;
        margin-top: 26rem; }
      #Tnews .Tnews_inner .Tnews_box .Tnews_box_left {
        margin-bottom: 25rem; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_left a {
          display: block; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_left img {
          display: block; }
      #Tnews .Tnews_inner .Tnews_box .Tnews_box_right {
        color: #fff;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .date {
          font-size: 16rem;
          font-weight: 700; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .cat a {
          display: inline-block;
          background: #fff;
          border: solid 1px #fff;
          box-sizing: border-box;
          border-radius: 100rem;
          font-size: 13rem;
          font-weight: 700;
          line-height: 1.5em;
          color: #1A1A1A;
          padding: 0 15rem; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .cat a:hover {
            color: #fff;
            background: #1A1A1A;
            cursor: pointer; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .Tnews_box_ttl {
          margin-top: 10rem;
          width: 100%;
          font-size: 18rem;
          line-height: 1.8em;
          font-weight: 700;
          margin-bottom: 10rem; }
          #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .Tnews_box_ttl a {
            color: #fff; }
        #Tnews .Tnews_inner .Tnews_box .Tnews_box_right .txt {
          width: 100%;
          font-size: 15rem;
          line-height: 1.8em; }

  #prf {
    position: relative;
    z-index: 1;
    background: url("../img/prf_thum_sp.png") no-repeat right bottom;
    background-size: 360rem;
    padding: 30rem 0 60rem; }
    #prf .prf_inner {
      position: relative;
      z-index: 2;
      width: 340rem;
      margin: 0 auto; }
      #prf .prf_inner .prf_txt {
        font-size: 14rem;
        line-height: 1.8em; }
      #prf .prf_inner .prf_boxes .prf_box {
        margin-bottom: 19rem; }
        #prf .prf_inner .prf_boxes .prf_box .prf_box_ttl {
          font-size: 14rem;
          line-height: 1.8em; }
        #prf .prf_inner .prf_boxes .prf_box .txt {
          font-size: 14rem;
          line-height: 1.8em; }
        #prf .prf_inner .prf_boxes .prf_box dl {
          display: flex;
          font-size: 14rem;
          line-height: 1.8em; }
          #prf .prf_inner .prf_boxes .prf_box dl dt {
            width: 70rem; }
          #prf .prf_inner .prf_boxes .prf_box dl dd {
            position: relative;
            box-sizing: border-box;
            padding-left: 1em; }
            #prf .prf_inner .prf_boxes .prf_box dl dd:before {
              content: '/';
              position: absolute;
              left: 0;
              top: 0; }

  #serv {
    background: url("../img/serv_bg_sp.png") no-repeat left top;
    background-size: cover;
    padding: 72rem 0 55rem;
    position: relative;
    z-index: 2;
    margin-top: -40rem; }
    #serv .serv_inner {
      position: relative;
      z-index: 2;
      width: 340rem;
      margin: 0 auto; }
      #serv .serv_inner .serv_txt {
        font-size: 14rem;
        line-height: 1.8em;
        margin: 0 auto 50rem;
        width: 340rem;
        text-align: left; }
      #serv .serv_inner .serv_lists .serv_list {
        margin-bottom: 44rem; }
        #serv .serv_inner .serv_lists .serv_list:last-child {
          margin-bottom: 0; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_left {
          margin-bottom: 3rem; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_left img {
            display: block;
            width: 100%; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_ttl {
          position: relative;
          box-sizing: border-box;
          font-weight: 700;
          line-height: 2em;
          font-size: 20rem;
          border-bottom: solid 1px #1A1A1A;
          margin-bottom: 7rem; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_right span.serv_list_right_btn {
          width: 185rem;
          display: block;
          margin: 17rem auto 0; }
          #serv .serv_inner .serv_lists .serv_list .serv_list_right span.serv_list_right_btn a {
            text-align: left;
            display: block;
            width: 185rem;
            box-sizing: border-box;
            font-weight: 700;
            color: #fff;
            background: url("../img/icon_blank.png") no-repeat #1A1A1A;
            background-size: 16rem;
            background-position: right 23rem center;
            font-size: 16rem;
            line-height: 1.8em;
            border-radius: 100rem;
            padding: 6rem 0 6rem 35rem; }
            #serv .serv_inner .serv_lists .serv_list .serv_list_right span.serv_list_right_btn a:hover {
              background-color: #585858; }
            #serv .serv_inner .serv_lists .serv_list .serv_list_right span.serv_list_right_btn a.noblank {
              background-image: none !important; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_sub {
          font-size: 16rem;
          font-weight: 700;
          line-height: 1.8em; }
        #serv .serv_inner .serv_lists .serv_list .serv_list_right .serv_list_txt {
          font-size: 14rem;
          line-height: 1.8em; }

  #oc {
    position: relative;
    padding: 100rem 0 50rem;
    margin-top: -50rem;
    background: #E3E3E3; }
    #oc .oc_inner {
      position: relative;
      z-index: 2; }
      #oc .oc_inner .oc_box {
        width: 340rem;
        margin: 0 auto; }
        #oc .oc_inner .oc_box .oc_box_left {
          margin-bottom: 24rem; }
          #oc .oc_inner .oc_box .oc_box_left iframe {
            width: 100%;
            height: 173rem;
            display: block; }
        #oc .oc_inner .oc_box .oc_box_right {
          font-size: 14rem;
          line-height: 1.8em; }
          #oc .oc_inner .oc_box .oc_box_right a {
            color: #1A1A1A; }

  footer {
    background: #1A1A1A;
    color: #fff;
    text-align: center;
    padding: 34rem 0 38rem; }
    footer .foot_inner .foot_menu {
      width: 200rem;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      padding-bottom: 30rem; }
      footer .foot_inner .foot_menu li {
        width: 50%;
        font-size: 23rem;
        text-align: left;
        margin-bottom: 15rem; }
        footer .foot_inner .foot_menu li a {
          color: #fff; }
          footer .foot_inner .foot_menu li a:hover {
            text-decoration: underline; }
    footer .foot_inner .foot_sns {
      display: flex;
      justify-content: center;
      margin-bottom: 23rem; }
      footer .foot_inner .foot_sns li {
        margin-left: 19rem; }
        footer .foot_inner .foot_sns li:first-child {
          margin-left: 0; }
        footer .foot_inner .foot_sns li a {
          display: block; }
        footer .foot_inner .foot_sns li:nth-child(1) img {
          width: 51rem; }
        footer .foot_inner .foot_sns li:nth-child(2) img {
          width: 38rem; }
        footer .foot_inner .foot_sns li:nth-child(3) img {
          width: 37rem; }
    footer #copy {
      text-align: center;
      font-size: 14rem;
      line-height: 2em; }

  #under_head {
    margin-top: 60rem;
    background: url("../img/under_head_bg_sp.png") no-repeat center #1A1A1A;
    background-size: cover;
    padding: 6rem 0 6rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    #under_head .under_head_txt {
      color: #fff;
      text-align: center; }
      #under_head .under_head_txt .under_head_ttl {
        line-height: 2em;
        font-size: 16rem; }
      #under_head .under_head_txt .under_head_en {
        font-size: 50rem; }

  /* under_head */
  #under_body {
    background: #fff;
    padding: 20rem 0 60rem; }
    #under_body.bg {
      background: #E3E3E3; }
    #under_body .bread {
      font-size: 13rem;
      width: 340rem;
      margin: 0 auto 14rem;
      line-height: 1.8em; }
      #under_body .bread a {
        color: #1A1A1A; }
        #under_body .bread a:hover {
          text-decoration: underline; }
    #under_body .under_content {
      width: 340rem;
      margin: 0 auto; }
      #under_body .under_content#complete .contact_flow {
        background-image: url("../img/flow_03_sp.png") !important; }
      #under_body .under_content#complete .comp_txt {
        text-align: center;
        font-size: 13.5rem;
        line-height: 2em;
        margin-bottom: 35rem; }
      #under_body .under_content#complete .comp_btn {
        text-align: center; }
        #under_body .under_content#complete .comp_btn a {
          display: inline-block;
          color: #fff;
          background: #1A1A1A;
          box-sizing: border-box;
          border: solid 1rem #1A1A1A;
          font-size: 20rem;
          font-weight: 700;
          width: 340rem;
          padding: 20rem 0;
          border-radius: 100rem;
          transition: 0.3s; }
          #under_body .under_content#complete .comp_btn a:hover {
            color: #1A1A1A;
            background: #fff;
            transition: 0.3s; }
      #under_body .under_content#confirm .contact_pp {
        display: none; }
      #under_body .under_content#confirm .contact_pp_btn {
        display: none; }
      #under_body .under_content#confirm .contact_flow {
        background-image: url("../img/flow_02_sp.png") !important; }
      #under_body .under_content#confirm .contact_body .contact_table table tr td {
        border-bottom: solid 1px #ccc;
        font-weight: 300;
        padding-top: 0;
        font-size: 20rem; }
        #under_body .under_content#confirm .contact_body .contact_table table tr td br {
          display: none; }
      #under_body .under_content .cat_list {
        border-bottom: solid 1.5rem #1A1A1A;
        box-sizing: border-box;
        padding-left: 5rem;
        margin-bottom: 22rem;
        font-size: 0; }
        #under_body .under_content .cat_list li {
          display: inline-block;
          font-size: 13rem;
          line-height: 1.8em;
          font-weight: 700;
          margin-right: 8rem;
          position: relative;
          margin-bottom: 8rem; }
          #under_body .under_content .cat_list li a {
            position: relative;
            z-index: 2;
            color: #1A1A1A;
            display: block;
            box-sizing: border-box;
            text-align: center;
            padding: 1rem 12rem;
            min-width: 108rem; }
          #under_body .under_content .cat_list li:before {
            content: '';
            display: block;
            position: absolute;
            z-index: 1;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: #fff;
            box-sizing: border-box;
            border: solid 1rem #1A1A1A;
            min-width: 108rem;
            transform: skewX(-10deg); }
          #under_body .under_content .cat_list li:last-child {
            margin-right: 0; }
          #under_body .under_content .cat_list li.current a {
            color: #fff !important; }
          #under_body .under_content .cat_list li.current:before {
            background: #1A1A1A !important; }
          #under_body .under_content .cat_list li:hover a {
            color: #fff;
            transition: 0.3s; }
          #under_body .under_content .cat_list li:hover:before {
            background: #1A1A1A !important;
            transition: 0.3s; }
      #under_body .under_content .archives {
        padding-bottom: 6rem; }
        #under_body .under_content .archives .archives_list {
          margin-bottom: 30rem;
          box-sizing: border-box;
          border: solid 1rem #9F9F9F;
          background: #fff; }
          #under_body .under_content .archives .archives_list .archives_list_img {
            position: relative;
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat; }
            #under_body .under_content .archives .archives_list .archives_list_img:before {
              content: '';
              display: block;
              padding-bottom: 60%; }
            #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat {
              position: absolute;
              left: 0;
              top: 0;
              color: #fff; }
              #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat a {
                position: relative;
                z-index: 2;
                font-size: 16rem;
                font-weight: 700;
                background: #1A1A1A;
                text-align: center;
                min-width: 120rem;
                color: #fff;
                padding: 0 1em;
                line-height: 1.8em;
                box-sizing: border-box;
                display: block; }
              #under_body .under_content .archives .archives_list .archives_list_img .archives_list_img_cat:before {
                content: '';
                display: block;
                height: 100%;
                width: 30rem;
                background: url("../img/cat_bg.png") no-repeat center right;
                background-size: 132rem;
                position: absolute;
                right: -10rem;
                top: 0;
                z-index: 1; }
          #under_body .under_content .archives .archives_list .archives_list_txt {
            font-size: 18rem;
            line-height: 1.6em;
            font-weight: 700;
            box-sizing: border-box;
            padding: 15rem 25rem 54rem;
            position: relative; }
          #under_body .under_content .archives .archives_list .date {
            font-size: 14rem;
            color: #9F9F9F;
            border: solid 1rem #9F9F9F;
            width: 130rem;
            text-align: center;
            position: absolute;
            left: 25rem;
            line-height: 1.2em;
            bottom: 21rem; }
      #under_body .under_content .wp-pagenavi {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center; }
        #under_body .under_content .wp-pagenavi a {
          margin: 2rem 6rem;
          font-size: 16rem;
          font-weight: 700;
          background: #fff;
          box-sizing: border-box;
          border: solid 1rem #AFAFAF;
          width: 32rem;
          height: 32rem;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #1A1A1A; }
          #under_body .under_content .wp-pagenavi a:hover {
            background: #1A1A1A;
            color: #fff; }
          #under_body .under_content .wp-pagenavi a.nextpostslink {
            border: none;
            background: none;
            margin-left: 0; }
          #under_body .under_content .wp-pagenavi a.previouspostslink {
            border: none;
            background: none;
            margin-right: 0; }
        #under_body .under_content .wp-pagenavi span {
          display: flex;
          width: 32rem;
          height: 32rem;
          justify-content: center;
          align-items: center;
          font-size: 16rem;
          font-weight: 700;
          margin: 2rem 0; }
          #under_body .under_content .wp-pagenavi span.current {
            color: #fff;
            background: #1A1A1A;
            margin: 2rem 6rem; }

  /* under_body */
  .single .single_head {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
    .single .single_head .single_cat {
      color: #fff;
      display: inline-block;
      background: #1A1A1A;
      min-width: 124rem;
      text-align: center;
      font-size: 16rem;
      font-weight: 700;
      line-height: 1.8em;
      padding: 1rem 1em;
      box-sizing: border-box;
      margin-right: 17rem; }
    .single .single_head .date {
      font-size: 14rem;
      line-height: 1.8em; }
    .single .single_head .single_ttl {
      font-size: 20rem;
      line-height: 1.8em;
      font-weight: 700;
      padding-bottom: 7rem;
      border-bottom: solid 1rem #505050;
      margin-bottom: 18rem;
      padding-top: 5rem;
      width: 100%; }
  .single .single_thum {
    margin-bottom: 13rem; }
    .single .single_thum img {
      width: 100%;
      height: auto;
      display: block; }
  .single .single_body {
    font-size: 14rem; }
    .single .single_body p {
      font-size: 14rem;
      line-height: 1.8em;
      margin-bottom: 1em; }
      .single .single_body p a {
        color: #000;
        text-decoration: underline; }
        .single .single_body p a:hover {
          text-decoration: none; }
    .single .single_body h2 {
      margin-bottom: 14rem;
      margin-top: 40rem;
      font-size: 18rem;
      font-weight: 700;
      padding: 1rem 20rem 1rem 14rem;
      line-height: 1.8em;
      color: #fff;
      background: linear-gradient(to right, #1A1A1A, #fff); }
    .single .single_body h3 {
      margin-bottom: 14rem;
      margin-top: 40rem;
      font-size: 18rem;
      font-weight: 700;
      padding: 1rem 20rem 1rem 14rem;
      line-height: 1.8em;
      color: #fff;
      background: #D5D5D5;
      border-radius: 5rem; }
    .single .single_body h4 {
      margin-bottom: 14rem;
      margin-top: 30rem;
      font-weight: 700;
      font-size: 18rem;
      line-height: 1.8em;
      border-bottom: solid 1rem #1A1A1A; }
    .single .single_body h5 {
      margin-bottom: 14rem;
      margin-top: 30rem;
      font-weight: 700;
      font-size: 18rem;
      line-height: 1.8em;
      border-left: solid 5rem #1A1A1A;
      padding: 1rem 0 1rem 16rem; }
  .single .single_body_btn {
    text-align: center;
    margin-top: 60rem; }
    .single .single_body_btn a {
      color: #fff;
      font-size: 20rem;
      font-weight: 700;
      line-height: 1.7em;
      border-radius: 100rem;
      background: #1A1A1A;
      display: inline-block;
      min-width: 340rem;
      padding: 13rem 1em;
      box-sizing: border-box;
      border: solid 1rem #1A1A1A;
      transition: 0.3s; }
      .single .single_body_btn a:hover {
        color: #1A1A1A;
        background: #fff;
        transition: 0.3s; }

  /* single */
  .contact_list {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 9rem 11rem;
    margin-bottom: 35rem; }
    .contact_list li {
      position: relative;
      padding-left: 1.3em;
      line-height: 1.8em;
      font-size: 13.5rem; }
      .contact_list li:before {
        content: '●';
        position: absolute;
        left: 0;
        top: 0; }

  .contact_flow {
    height: 76rem;
    background: url("../img/flow_01_sp.png") no-repeat center;
    background-size: contain;
    margin-bottom: 23rem; }

  .contact_body {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    padding: 23rem 16rem 13rem;
    margin-bottom: 40rem; }
    .contact_body .contact_body_head .contact_body_head_ttl {
      color: #fff;
      font-size: 20rem;
      line-height: 1.8em;
      font-weight: 700;
      background: #1A1A1A;
      display: inline-block;
      padding: 6rem 20rem;
      margin-bottom: 11rem; }
    .contact_body .contact_body_head .contact_body_head_sub {
      font-size: 16rem;
      line-height: 1.7em;
      margin-bottom: 30rem; }
      .contact_body .contact_body_head .contact_body_head_sub span {
        color: #fff;
        font-size: 16rem;
        font-weight: 500;
        background: #696969;
        border-radius: 100rem;
        display: inline-block;
        padding: 1rem 19rem;
        margin-right: 10rem; }
    .contact_body .contact_table table {
      width: 100%; }
      .contact_body .contact_table table tr th {
        display: block;
        box-sizing: border-box;
        width: 100%;
        line-height: 1.8em;
        padding: 8rem 0;
        font-size: 20rem;
        text-align: left;
        font-weight: 700;
        background: url("../img/icon_hissu.png") no-repeat;
        background-position: top 11rem right 0;
        background-size: 72rem;
        vertical-align: top; }
        .contact_body .contact_table table tr th.ninni {
          background-image: url("../img/icon_nini.png"); }
      .contact_body .contact_table table tr td {
        padding-bottom: 16rem;
        display: block;
        box-sizing: border-box;
        width: 100%; }
        .contact_body .contact_table table tr td .error {
          font-size: 16rem;
          margin-top: 5rem; }
        .contact_body .contact_table table tr td input[type="text"] {
          box-sizing: border-box;
          font-size: 16rem;
          border: solid 1rem #9F9F9F;
          padding: 16rem 15rem;
          width: 100%;
          border-radius: 2rem;
          font-weight: 400; }
          .contact_body .contact_table table tr td input[type="text"]::placeholder {
            color: #B9B9B9;
            font-weight: 400; }
        .contact_body .contact_table table tr td textarea {
          box-sizing: border-box;
          font-size: 16rem;
          border: solid 1rem #9F9F9F;
          padding: 8rem 15rem;
          width: 100%;
          height: 194rem;
          border-radius: 2rem;
          font-weight: 400; }
          .contact_body .contact_table table tr td textarea::placeholder {
            color: #B9B9B9;
            font-weight: 400; }
        .contact_body .contact_table table tr td select {
          box-sizing: border-box;
          border: solid 1rem #9F9F9F;
          font-size: 16rem;
          width: 100%;
          padding: 16rem 25rem;
          background: url("../img/arr_select.png") no-repeat;
          background-size: 16rem;
          background-position: right 16rem center;
          appearance: none; }

  .contact_pp .contact_pp_ttl {
    font-size: 20rem;
    line-height: 1.8em;
    font-weight: 700; }
  .contact_pp .contact_pp_txt {
    font-size: 14rem;
    line-height: 1.8em;
    margin-bottom: 50rem; }
    .contact_pp .contact_pp_txt a {
      color: #000;
      text-decoration: underline; }

  .contact_pp_btn {
    background: #fff;
    border-radius: 10rem;
    box-sizing: border-box;
    text-align: center;
    width: 340rem;
    margin: 0 auto 40rem;
    padding: 20rem 0; }
    .contact_pp_btn .mwform-checkbox-field {
      font-size: 18rem;
      font-weight: 700; }
      .contact_pp_btn .mwform-checkbox-field input[type="checkbox"] {
        display: none; }
      .contact_pp_btn .mwform-checkbox-field input[type="checkbox"]:checked + .mwform-checkbox-field-text {
        background-image: url("../img/icon_ch_02.png"); }
      .contact_pp_btn .mwform-checkbox-field .mwform-checkbox-field-text {
        display: inline-block;
        background: url("../img/icon_ch_01.png") no-repeat left center;
        background-size: 17rem;
        padding-left: 22rem; }

  .contact_send {
    text-align: center; }
    .contact_send input[type="submit"] {
      display: inline-block;
      font-size: 20rem;
      font-weight: 700;
      line-height: 1.8em;
      border-radius: 100rem;
      box-sizing: border-box;
      border: solid 2rem #1A1A1A;
      background: #1A1A1A;
      transition: 0.3s;
      padding: 13rem 0;
      color: #fff;
      width: 340rem; }
      .contact_send input[type="submit"]:hover {
        color: #1A1A1A;
        background: #fff;
        cursor: pointer; } }
