@media screen and (min-width: 769px), print {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .container {
    /*
  min-width: 870px;
  overflow: hidden;
  */
  }
  .row {
    max-width: 870px;
    width: 100%;
    margin: 0 auto;
  }
  .inner {
    max-width: 870px;
    width: 100%;
    margin: 0 auto;
  }
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  body {
    padding-top: 72px;
  }
  body main p {
    font-size: 14px;
    line-height: 2;
  }
  .hvr-pop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    -moz-transform: perspective(1px) translateZ(0);
         transform: perspective(1px) translateZ(0);
    -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
         box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  }
  .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
    -webkit-animation-name: hvr-pop;
    -moz-animation-name: hvr-pop;
         animation-name: hvr-pop;
    -webkit-animation-duration: 0.3s;
    -moz-animation-duration: 0.3s;
         animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
         animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
         animation-iteration-count: 1;
  }
  .hvz {
    overflow: hidden;
  }
  .hvz figure {
    overflow: hidden;
  }
  .hvz img {
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -moz-transition: transform 0.3s, -moz-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s, -moz-transform 0.3s;
  }
  .hvz:hover {
    opacity: 1;
  }
  .hvz:hover img {
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 870px;
    z-index: 99;
    padding: 25px 35px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 72px;
    background-color: #00A9A7;
  }
  .header.box_shadow {
    background-color: #00A9A7;
  }
  .header.box_shadow .header_l h1 a {
    opacity: 1;
  }
  .header.header_child {
    background-color: #00A9A7;
  }
  .header.header_child .header_l h1 a {
    opacity: 1;
  }
  .header .header_l h1 {
    font-size: 0;
    line-height: 0;
  }
  .header .header_l h1 a {
    display: block;
    width: 155px;
    opacity: 0;
  }
  .header .header_nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  .header .header_nav ul {
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .header_nav ul li:not(:last-child) {
    margin-right: 25px;
  }
  .header .header_nav ul li a {
    font-size: 12px;
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: 300;
  }
  .footer {
    position: relative;
    border-top: 1px solid #06ABA9;
  }
  .footer #backtop {
    position: fixed;
    right: 35px;
    bottom: 35px;
    width: 52px;
    height: 52px;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #5CB6B7;
    -moz-border-radius: 50%;
         border-radius: 50%;
    text-align: center;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .footer #backtop span {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    width: 100%;
  }
  .footer #backtop img {
    width: 20px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .footer #backtop:hover img {
    opacity: 0.7;
  }
  .footer #backtop.pos {
    bottom: inherit;
    top: -26px;
    position: absolute;
  }
  .footer > p {
    font-size: 12px;
    text-align: center;
    color: #fff;
    background-color: #00A9A7;
    padding: 10px;
  }
  .footer_top {
    padding: 40px 35px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer_top > a img {
    width: 217px;
  }
  .footer_top ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .footer_top ul li:not(:last-child) {
    margin-right: 25px;
  }
  .footer_top ul li a {
    color: #00A9A7;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-weight: 300;
  }
  .ttl {
    color: #231815;
    text-align: center;
    padding: 59px 0 62px;
  }
  .ttl h2 {
    font-size: 22px;
    letter-spacing: 0.1em;
    margin-bottom: 24px;
    font-weight: 500;
  }
  .ttl p {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .p_top {
    padding-top: 0;
  }
  .p_top .header {
    /*
    position: absolute;
    &.box_shadow {
      position: fixed;
    }
    */
  }
  .p_top .mv {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
  }
  .p_top .mv > picture {
    width: 55%;
    width: clamp(-webkit-calc(100% - 480px), 52%, -webkit-calc(100% - 884px));
    width: clamp(-moz-calc(100% - 480px), 52%, -moz-calc(100% - 884px));
    width: clamp(calc(100% - 480px), 52%, calc(100% - 884px));
    width: 52%;
  }
  .p_top .mv > picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p_top .mv .txt {
    width: 45%;
    width: 442px;
    width: clamp(480px, 48%, 884px);
    width: 48%;
    display: block;
    background-color: #00A9A7;
  }
  .p_top .mv .txt picture, .p_top .mv .txt img {
    display: block;
    width: 100%;
    height: 100%;
  }
  .p_top .mv .txt img {
    object-fit: contain;
  }
  .p_top .news {
    padding: 55px 0;
  }
  .p_top .news h2 {
    text-align: center;
    font-size: 24px;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
  }
  .p_top .news_main ul li:not(:last-child) {
    margin-bottom: 12px;
  }
  .p_top .news_main ul li a, .p_top .news_main ul li div {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .news_main ul li a time, .p_top .news_main ul li div time {
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    color: #2F1F1B;
    width: 135px;
    position: relative;
  }
  .p_top .news_main ul li a time::after, .p_top .news_main ul li div time::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 30px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 7px;
    height: 12px;
    background: url(../img/arr.svg) center/contain no-repeat;
    display: block;
  }
  .p_top .news_main ul li a p, .p_top .news_main ul li div p {
    font-size: 14px;
    color: #231815;
    width: -webkit-calc(100% - 135px);
    width: -moz-calc(100% - 135px);
    width: calc(100% - 135px);
  }
  .p_top .news_main ul li a p {
    text-decoration: underline;
  }
  .p_top .news_main ul li a:hover p {
    text-decoration: none;
  }
  .p_top .listBtn {
    text-align: center;
    padding: 50px 0 100px;
  }
  .p_top .listBtn a:not(:last-child) {
    margin-bottom: 100px;
  }
  .p_top .contactBtn {
    background-color: #06ABA9;
    padding: 62px 0;
    text-align: center;
  }
  a.btn {
    display: block;
    width: 452px;
    height: 99px;
    font-size: 24px;
    color: #fff;
    background-color: #06ABA9;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }
  a.btn span {
    display: block;
    width: 100%;
    height: 99px;
    text-align: left;
    text-indent: -9999px;
    background-repeat: no-repeat;
    background-position: left center;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
  }
  a.btn.st2 {
    background-color: #fff;
    color: #00A9A7;
  }
  a.btn.st2::after {
    background-image: url(../img/arr_blue.svg);
  }
  a.btn.st3 {
    background-color: #CF3C25;
  }
  a.btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 10px;
    height: 18px;
    background-repeat: no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    background-image: url(../img/ar_white.svg);
    display: block;
  }
  a.btn.btn_oem span {
    background-image: url(../img/btn_oem.svg);
  }
  a.btn.btn_company span {
    background-image: url(../img/btn_company.svg);
  }
  a.btn.btn_contact span {
    background-image: url(../img/btn_contact.svg);
  }
  .scrollable {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    height: 200px;
    border: 1px solid #9FA0A0;
    padding: 25px 35px;
  }
  .scrollable.showScroll::after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    height: 100%;
    width: 17px;
  }
  .scrollable.showScroll::before {
    position: absolute;
    content: '';
    top: 0;
    right: 8px;
    height: 100%;
    width: 6px;
    -moz-border-radius: 8px;
         border-radius: 8px;
    z-index: 1;
  }
  .scrollable .content-wrapper {
    width: -webkit-calc(100% + 50px);
    width: -moz-calc(100% + 50px);
    width: calc(100% + 50px);
    height: 100%;
    overflow-y: scroll;
    padding-right: 40px;
  }
  .scroller {
    z-index: 5;
    cursor: pointer;
    position: absolute;
    width: 10px;
    height: 67px;
    -moz-border-radius: 5px;
         border-radius: 5px;
    background: #9FA0A0;
    top: 5px;
    right: 5px;
    -webkit-transition: top .08s;
    -moz-transition: top .08s;
    transition: top .08s;
  }
  .p_business .business {
    padding-bottom: 100px;
  }
  .p_business .business h2 {
    text-align: center;
    font-weight: 500;
    font-size: 22px;
    color: #231815;
    padding: 60px 0;
    letter-spacing: 0.1em;
  }
  .p_business .business_ex .it:not(:last-child) {
    margin-bottom: 83px;
  }
  .p_business .business_ex .it h3 {
    font-size: 20px;
    color: #231815;
    border-bottom: 1px solid #06ABA9;
    padding-bottom: 9px;
    margin-bottom: 19px;
    letter-spacing: 0.05em;
  }
  .p_business .business_ex .it p {
    font-size: 14px;
    line-height: 2;
    color: #231815;
  }
  .p_business .business_ex .it .listBtn {
    text-align: center;
    margin-top: 66px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_business .business_ex .it .listBtn a {
    display: block;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 20px;
    min-width: 418px;
    height: 99px;
  }
  .p_business .business_ex .it .listBtn a:not(:last-child) {
    margin-bottom: 30px;
  }
  .p_business .business_ex .it .listBtn a span {
    display: block;
    width: 100%;
    height: 99px;
    text-align: left;
    text-indent: -9999px;
    background-repeat: no-repeat;
    background-position: left center;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
  }
  .p_business .business_ex .it .listBtn a.btn_products span {
    background-image: url(../img/btn_products.svg);
  }
  .p_business .business_ex .it .listBtn a.btn_results span {
    background-image: url(../img/btn_original.svg);
  }
  .p_business .business_ex .it .flow {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 60px 0 86px;
  }
  .p_business .business_ex .it .flow li {
    width: 94px;
    margin: 0 25px;
  }
  .p_business .business_ex .it .flow li:not(:last-child) {
    position: relative;
  }
  .p_business .business_ex .it .flow li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 37px;
    right: -30px;
    width: 8px;
    height: 16px;
    background: url(../img/arr_blue.svg) center/contain no-repeat;
    display: block;
  }
  .p_business .business_ex .it .flow li figure figcaption {
    line-height: 1.5;
    font-size: 14px;
    color: #231815;
    text-align: center;
    margin-top: 5px;
  }
  .p_business .business_ex .it .textBot {
    text-align: center;
  }
  .p_business .business_ex .it .textBot span {
    background: -webkit-linear-gradient(bottom, #FFF34B 8px, transparent 8px, transparent 100%);
    background: -moz- oldlinear-gradient(bottom, #FFF34B 8px, transparent 8px, transparent 100%);
    background: linear-gradient(to top, #FFF34B 8px, transparent 8px, transparent 100%);
    font-size: 20px;
    font-weight: 500;
    color: #231815;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-bottom: 30px;
  }
  .p_business .business_ex .it .textBot p {
    font-size: 14px;
    color: #231815;
    letter-spacing: 0.05em;
  }
  .p_company {
    color: #231815;
  }
  .p_company a {
    color: #231815;
  }
  .p_company .company {
    padding-bottom: 90px;
  }
  .p_company .company h2 {
    text-align: center;
    font-weight: 500;
    font-size: 22px;
    padding: 60px 0 24px;
    letter-spacing: 0.1em;
  }
  .p_company .company_ex .it.st2 .image {
    margin-bottom: 60px;
  }
  .p_company .company_ex .it.st2 p + p {
    margin-top: 2em;
  }
  .p_company .company_ex .it.st2 strong {
    color: #06ABA9;
    font-weight: bold;
  }
  .p_company .company_ex .it:not(:last-child) {
    margin-bottom: 83px;
  }
  .p_company .company_ex .it h3 {
    font-size: 20px;
    border-bottom: 1px solid #06ABA9;
    padding-bottom: 9px;
    margin-bottom: 19px;
    letter-spacing: 0.05em;
  }
  .p_company .company_ex .it h3.st2 {
    margin-bottom: 66px;
  }
  .p_company .company_ex .it h4 {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
  }
  .p_company .company_ex .it p {
    font-size: 18px;
    line-height: 1.95;
  }
  .p_company .company_ex .it .tac {
    text-align: center;
    line-height: 2.78;
  }
  .p_company .company_ex .it .tar {
    text-align: right;
  }
  .p_company .company_ex .it .dlist {
    margin-top: 60px;
  }
  .p_company .company_ex .it .dlist dl {
    text-align: center;
  }
  .p_company .company_ex .it .dlist dl:not(:last-child) {
    margin-bottom: 47px;
  }
  .p_company .company_ex .it .dlist dl dt {
    font-size: 20px;
    font-weight: 500;
    position: relative;
    padding-bottom: 7px;
    margin-bottom: 13px;
  }
  .p_company .company_ex .it .dlist dl dt::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 79px;
    height: 3px;
    background: url(../img/company/dots.png) repeat-x;
    display: block;
  }
  .p_company .company_ex .it .dlist dl dd {
    font-size: 14px;
    line-height: 2;
  }
  .p_company .company_ex .it .mt {
    margin-top: 50px;
  }
  .p_company .company_ex .it .tb.mt {
    margin-bottom: 15px;
  }
  .p_company .company_ex .it .tb dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    line-height: 2;
  }
  .p_company .company_ex .it .tb dl dt {
    width: 158px;
  }
  .p_company .company_ex .it .tb dl dd {
    width: -webkit-calc(100% - 158px);
    width: -moz-calc(100% - 158px);
    width: calc(100% - 158px);
  }
  .p_company .company_ex .it .map iframe {
    width: 100%;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
    -webkit-transition: -webkit-filter 0.3s ease-out;
    transition: -webkit-filter 0.3s ease-out;
    -moz-transition: filter 0.3s ease-out;
    transition: filter 0.3s ease-out;
    transition: filter 0.3s ease-out, -webkit-filter 0.3s ease-out;
  }
  .p_company .company_ex .it .map:hover iframe {
    -webkit-filter: grayscale(0);
            filter: grayscale(0);
  }
  .p_company .company_ex .it a.btn_map {
    font-size: 14px;
    color: #000;
    display: inline-block;
    border: 1px solid #231815;
    -moz-border-radius: 20px;
         border-radius: 20px;
    padding: 10px 40px;
    margin-top: 20px;
  }
  .p_contact .contact_main {
    padding-bottom: 88px;
  }
  .p_contact .contact_main dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
  }
  .p_contact .contact_main dl dt {
    width: 258px;
    font-size: 14px;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 38px;
  }
  .p_contact .contact_main dl dt span {
    font-weight: bold;
    font-size: 16px;
    color: #fff;
    background-color: #00A9A7;
    padding: 0 10px;
  }
  .p_contact .contact_main dl dt span::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 22px;
    vertical-align: middle;
  }
  .p_contact .contact_main dl dd {
    width: -webkit-calc(100% - 258px);
    width: -moz-calc(100% - 258px);
    width: calc(100% - 258px);
  }
  .p_contact .contact_main dl dd.df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_contact .contact_main textarea {
    border: 1px solid #918b8a;
    width: 100%;
    min-height: 270px;
    padding: 18px;
    outline: none;
    font-size: 14px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main textarea::-webkit-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea::-moz-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea:-ms-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea::placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input {
    border: 1px solid #918b8a;
    width: 100%;
    height: 47px;
    padding: 0 18px;
    outline: none;
    font-size: 14px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main input.sm {
    width: 300px;
  }
  .p_contact .contact_main input::-webkit-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input::-moz-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input:-ms-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input::placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main .box_privacy {
    margin-top: 44px;
  }
  .p_contact .contact_main .box_privacy dl {
    display: block;
    font-size: 16px;
    margin-bottom: 0;
  }
  .p_contact .contact_main .box_privacy dl:not(:last-child) {
    margin-bottom: 20px;
  }
  .p_contact .contact_main .box_privacy dl dt {
    font-weight: bold;
    width: 100%;
    margin-bottom: 5px;
  }
  .p_contact .contact_main .box_privacy dl dd {
    width: 100%;
  }
  .p_contact .contact_main .box_privacy h5 {
    font-size: 18px;
    margin-bottom: 7px;
  }
  .p_contact .contact_main .box_privacy .scrollable {
    height: 133px;
    padding: 10px;
  }
  .p_contact .contact_main .box_privacy .scrollable .content-wrapper {
    padding-right: 60px;
  }
  .p_contact .contact_main .box_privacy > p {
    margin-top: 36px;
    font-size: 14px;
    line-height: 2;
    text-align: center;
  }
  .p_contact .contact_main .box_privacy > p a {
    text-decoration: underline;
  }
  .p_contact .contact_main .box_privacy > p a:hover {
    text-decoration: none;
  }
  .p_contact .contact_main .list_checkbox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 54px 0 21px;
  }
  .p_contact .contact_main .list_checkbox li, .p_contact .contact_main .list_checkbox .mwform-checkbox-field {
    display: inline-block;
    margin-bottom: 5px;
    margin-right: 30px;
    margin-left: 0;
  }
  .p_contact .contact_main .list_checkbox label {
    position: relative;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    display: inline-block;
    color: #040000;
  }
  .p_contact .contact_main .list_checkbox label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
  }
  .p_contact .contact_main .list_checkbox label span {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    display: inline-block;
    padding: 0 0 0 27px;
  }
  .p_contact .contact_main .list_checkbox label span::before {
    position: absolute;
    content: "";
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 17px;
    height: 17px;
    border: 1px solid #040000;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main .list_checkbox label span::after {
    left: 6px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid #040000;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    content: "";
    position: absolute;
    display: none;
  }
  .p_contact .contact_main .list_checkbox label input:checked ~ span:after {
    display: block;
  }
  .p_contact .contact_main button {
    padding: 0;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    cursor: pointer;
    background-color: #00A9A7;
    width: 344px;
    height: 67px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    font-size: 18px;
    -moz-border-radius: 0;
         border-radius: 0;
    margin: 0 auto 62px;
  }
  .p_contact .contact_main .worktime {
    text-align: center;
  }
  .p_contact .contact_main .worktime a {
    font-size: 20px;
  }
  .p_contact .contact_main .worktime a span {
    font-family: "Roboto", sans-serif;
    font-size: 34px;
    font-weight: 300;
  }
  .p_contact .contact_main .worktime p {
    font-size: 14px;
  }
  .p_products .products {
    padding-bottom: 100px;
  }
  .p_products .products_main .it {
    border: 1px solid #9FA0A0;
    padding: 25px 30px;
    background-repeat: no-repeat;
    background-position: right top;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
  }
  .p_products .products_main .it.cat01 {
    background-image: url(../img/products/products_img01.jpg);
  }
  .p_products .products_main .it.cat02 {
    background-image: url(../img/products/products_img02.jpg);
  }
  .p_products .products_main .it.cat03 {
    background-image: url(../img/products/products_img03.jpg);
  }
  .p_products .products_main .it.cat04 {
    background-image: url(../img/products/products_img04.jpg);
  }
  .p_products .products_main .it.cat05 {
    background-image: url(../img/products/products_img05.jpg);
  }
  .p_products .products_main .it.cat06 {
    background-image: url(../img/products/products_img06.jpg);
  }
  .p_products .products_main .it.cat07 {
    background-image: url(../img/products/products_img07.jpg);
  }
  .p_products .products_main .it.cat08 {
    background-image: url(../img/products/products_img08.jpg);
  }
  .p_products .products_main .it.cat09 {
    background-image: url(../img/products/products_img09.jpg);
  }
  .p_products .products_main .it.cat10 {
    background-image: url(../img/products/products_img10.jpg);
  }
  .p_products .products_main .it:not(:last-child) {
    margin-bottom: 30px;
  }
  .p_products .products_main .it h3 {
    font-size: 20px;
    font-weight: 500;
    color: #06ABA9;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
  }
  .p_products .products_main .it p {
    font-size: 14px;
    line-height: 2;
    color: #231815;
  }
  .p_products .products_main .it .listDots li {
    font-size: 16px;
    font-weight: 500;
    position: relative;
    padding-left: 12px;
  }
  .p_products .products_main .it .listDots li:not(:last-child) {
    margin-bottom: 15px;
  }
  .p_products .products_main .it .listDots li::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 5px;
    height: 5px;
    background: #06ABA9;
    -moz-border-radius: 50%;
         border-radius: 50%;
    display: block;
  }
  .p_products .products_main .it .listDots li p {
    display: block;
    font-size: 14px;
    font-weight: 400;
  }
  .p_results {
    color: #231815;
  }
  .p_results .results {
    padding-bottom: 100px;
  }
  .p_results .results .row {
    max-width: 730px;
  }
  .p_results .results_main .it:not(:last-child) {
    margin-bottom: 46px;
  }
  .p_results .results_main .it h3 {
    font-size: 20px;
    margin-bottom: 19px;
    letter-spacing: 0.05em;
  }
  .p_results .results_main .it .listImg01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p_results .results_main .it .listImg01 li {
    width: 133px;
    margin-bottom: 35px;
  }
  .p_results .results_main .it .listImg01 li:not(:nth-child(5n)) {
    margin-right: 16px;
  }
  .p_results .results_main .it .listImg01 li .figcaption {
    font-size: 13px;
    line-height: 1.5;
    display: block;
    text-align: center;
    margin-top: 7px;
  }
  .p_results .results_main .it .listImg02 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_results .results_main .it .listImg02 li {
    width: 355px;
    margin-bottom: 35px;
  }
  .p_results .results_main .it .listImg02 li .figcaption {
    font-size: 13px;
    display: block;
    text-align: center;
    margin-top: 7px;
    line-height: 1.42857;
  }
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
  }
  .show_pc {
    display: none !important;
  }
  .inner, .row {
    padding-left: 9.33333vw;
    padding-right: 9.33333vw;
  }
  body {
    padding-top: 15.73333vw;
  }
  body p {
    font-size: 3.33333vw;
    line-height: 2;
  }
  .header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: #00A9A7;
    height: 15.73333vw;
  }
  .header h1, .header .header__logo {
    padding-left: 4.66667vw;
    line-height: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 15.73333vw;
  }
  .header h1 a, .header .header__logo a {
    display: block;
    width: 38.4vw;
  }
  .header .row {
    padding: 0;
  }
  .header .header_nav {
    position: fixed;
    height: 100%;
    right: 0;
    opacity: 0;
    top: 15.73333vw;
    visibility: hidden;
    height: 0;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    overflow-y: auto;
    width: 100%;
    background-color: #fff;
  }
  .header .header_nav.active {
    opacity: 1;
    visibility: visible;
  }
  .header .header_nav ul > li:not(:last-child) a {
    border-bottom: 1px solid #9E9E9F;
  }
  .header .header_nav ul > li > a {
    font-weight: 300;
    font-size: 4.8vw;
    color: #00A9A7;
    padding: 5.33333vw 4vw;
    display: block;
    text-align: center;
  }
  .header .menu_icon {
    width: 5.06667vw;
    height: 3.73333vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    top: 6vw;
    right: 6vw;
    z-index: 99;
    cursor: pointer;
  }
  .header .menu_icon.active {
    border-color: transparent;
  }
  .header .menu_icon.active i {
    opacity: 0;
  }
  .header .menu_icon.active .menu-trigger span {
    background-color: #fff;
  }
  .header .menu_icon.active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(1.73333vw) rotate(-45deg);
       -moz-transform: translateY(1.73333vw) rotate(-45deg);
        -ms-transform: translateY(1.73333vw) rotate(-45deg);
            transform: translateY(1.73333vw) rotate(-45deg);
  }
  .header .menu_icon.active .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .header .menu_icon.active .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-1.73333vw) rotate(45deg);
       -moz-transform: translateY(-1.73333vw) rotate(45deg);
        -ms-transform: translateY(-1.73333vw) rotate(45deg);
            transform: translateY(-1.73333vw) rotate(45deg);
    width: 100%;
  }
  .header .menu_icon_in {
    width: 5.06667vw;
    height: 3.73333vw;
    -webkit-transform: rotate(0deg);
       -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .header .menu_icon_in .menu-trigger,
  .header .menu_icon_in .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    transition: all .4s;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  .header .menu_icon_in .menu-trigger {
    position: relative;
    width: 100%;
    height: 3.73333vw;
  }
  .header .menu_icon_in .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.26667vw;
    background-color: #fff;
  }
  .header .menu_icon_in .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .header .menu_icon_in .menu-trigger span:nth-of-type(2) {
    top: 1.73333vw;
    right: 0;
    left: inherit;
  }
  .header .menu_icon_in .menu-trigger span:nth-of-type(3) {
    bottom: 0;
    right: 0;
    left: inherit;
  }
  .footer {
    position: relative;
    border-top: 1px solid #06ABA9;
  }
  .footer #backtop {
    position: fixed;
    right: 9.33333vw;
    bottom: 3.73333vw;
    width: 7.46667vw;
    height: 7.46667vw;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #5CB6B7;
    -moz-border-radius: 50%;
         border-radius: 50%;
    text-align: center;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .footer #backtop span {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    width: 100%;
  }
  .footer #backtop img {
    width: 2.93333vw;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .footer #backtop:hover img {
    opacity: 0.7;
  }
  .footer #backtop.pos {
    bottom: inherit;
    top: -3.73333vw;
    position: absolute;
  }
  .footer > p {
    font-size: 2.66667vw;
    text-align: center;
    color: #fff;
    background-color: #00A9A7;
    padding: 1.6vw;
  }
  .footer_top {
    padding: 6.66667vw 4.66667vw;
  }
  .footer_top ul li {
    text-align: center;
  }
  .footer_top ul li:not(:last-child) {
    margin-bottom: 4.66667vw;
  }
  .footer_top ul li a {
    color: #00A9A7;
    font-size: 3.2vw;
    font-weight: 300;
  }
  .ttl {
    color: #231815;
    text-align: center;
    padding: 16vw 0;
  }
  .ttl h2 {
    font-size: 4.26667vw;
    letter-spacing: 0.1em;
    margin-bottom: 3.2vw;
    font-weight: 500;
  }
  .ttl p {
    font-size: 3.33333vw;
    line-height: 2;
    letter-spacing: 0.05em;
  }
  .p_top .mv {
    height: -webkit-calc( 100vh - 15.73333vw);
    height: -moz-calc( 100vh - 15.73333vw);
    height: calc( 100vh - 15.73333vw);
  }
  .p_top .mv picture img {
    display: block;
    width: 100%;
    height: auto;
  }
  .p_top .mv .txt {
    background-color: #00a9a7;
    height: -webkit-calc(100vh - 106.4vw);
    height: -moz-calc(100vh - 106.4vw);
    height: calc(100vh - 106.4vw);
  }
  .p_top .mv .txt picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  .p_top .mv .txt picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .p_top .mv_sp img {
    vertical-align: top;
  }
  .p_top .news {
    padding: 7.33333vw 0;
  }
  .p_top .news .row {
    padding: 0;
  }
  .p_top .news h2 {
    text-align: center;
    font-size: 4.93333vw;
    letter-spacing: 0.1em;
    margin-bottom: 5.33333vw;
  }
  .p_top .news_main {
    border-top: 1px solid #9E9E9F;
    border-bottom: 1px solid #9E9E9F;
    padding: 4vw 0;
  }
  .p_top .news_main ul {
    height: 62.66667vw;
    padding: 0 6.66667vw;
    overflow-y: auto;
  }
  .p_top .news_main ul li:not(:last-child) {
    margin-bottom: 4vw;
  }
  .p_top .news_main ul li a:hover p, .p_top .news_main ul li div:hover p {
    text-decoration: none;
  }
  .p_top .news_main ul li a time, .p_top .news_main ul li div time {
    font-family: "Roboto", sans-serif;
    font-size: 4vw;
    color: #2F1F1B;
  }
  .p_top .news_main ul li a p, .p_top .news_main ul li div p {
    font-size: 3.6vw;
    line-height: 1.62963;
    color: #231815;
  }
  .p_top .news_main ul li a p {
    text-decoration: underline;
  }
  .p_top .scroller {
    display: none !important;
  }
  .p_top .listBtn {
    text-align: center;
    padding: 6.66667vw 0 13.33333vw;
  }
  .p_top .listBtn a:not(:last-child) {
    margin-bottom: 16vw;
  }
  .p_top .contactBtn {
    background-color: #06ABA9;
    padding: 12vw 0;
    text-align: center;
  }
  a.btn {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-width: 58vw;
    height: 10.93333vw;
    font-size: 3.86667vw;
    color: #fff;
    background-color: #06ABA9;
    position: relative;
  }
  a.btn.st2 {
    background-color: #fff;
    color: #00A9A7;
  }
  a.btn.st2::after {
    background-image: url(../img/arr_blue.svg);
  }
  a.btn.st3 {
    background-color: #CF3C25;
  }
  a.btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.66667vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1.73333vw;
    height: 3.46667vw;
    background-repeat: no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    background-image: url(../img/ar_white.svg);
    display: block;
  }
  a.btn span {
    display: block;
    width: 60.26667vw;
    height: 13.2vw;
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
  }
  a.btn.btn_oem span {
    background-image: url(../img/btn_oem.svg);
  }
  a.btn.btn_company span {
    background-image: url(../img/btn_company.svg);
  }
  a.btn.btn_contact span {
    background-image: url(../img/btn_contact.svg);
  }
  .p_business .business h2 {
    text-align: center;
    font-weight: 500;
    font-size: 4.26667vw;
    color: #231815;
    padding: 16vw 0;
    letter-spacing: 0.1em;
  }
  .p_business .business_ex .it:not(:last-child) {
    margin-bottom: 20vw;
  }
  .p_business .business_ex .it h3 {
    font-size: 3.73333vw;
    color: #231815;
    border-bottom: 1px solid #06ABA9;
    padding-bottom: 2vw;
    margin-bottom: 3.33333vw;
    letter-spacing: 0.05em;
  }
  .p_business .business_ex .it p {
    font-size: 3.33333vw;
    line-height: 2;
    color: #231815;
  }
  .p_business .business_ex .it .listBtn {
    text-align: center;
    margin-top: 10.66667vw;
  }
  .p_business .business_ex .it .listBtn a {
    min-width: 74vw;
  }
  .p_business .business_ex .it .listBtn a:not(:last-child) {
    margin-bottom: 8vw;
  }
  .p_business .business_ex .it .listBtn a span {
    display: block;
    width: 60.26667vw;
    height: 13.2vw;
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
  }
  .p_business .business_ex .it .listBtn a.btn_products span {
    background-image: url(../img/btn_products.svg);
  }
  .p_business .business_ex .it .listBtn a.btn_results span {
    background-image: url(../img/btn_original.svg);
  }
  .p_business .business_ex .it .flow {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 9.33333vw auto 14.66667vw;
    width: 50.4vw;
  }
  .p_business .business_ex .it .flow li {
    width: 21.33333vw;
    margin-bottom: 5.33333vw;
  }
  .p_business .business_ex .it .flow li:not(:last-child) {
    position: relative;
  }
  .p_business .business_ex .it .flow li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 8.66667vw;
    right: -4.8vw;
    width: 1.73333vw;
    height: 3.46667vw;
    background: url(../img/arr_blue.svg) center/contain no-repeat;
    display: block;
  }
  .p_business .business_ex .it .flow li figure figcaption {
    line-height: 1.5;
    font-size: 2.8vw;
    color: #231815;
    text-align: center;
    margin-top: 1.33333vw;
  }
  .p_business .business_ex .it .textBot {
    text-align: center;
  }
  .p_business .business_ex .it .textBot span {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(1.06667vw, #FFF34B), color-stop(1.06667vw, transparent), to(transparent));
    background: -webkit-linear-gradient(bottom, #FFF34B 1.06667vw, transparent 1.06667vw, transparent 100%);
    background: -moz- oldlinear-gradient(bottom, #FFF34B 1.06667vw, transparent 1.06667vw, transparent 100%);
    background: linear-gradient(to top, #FFF34B 1.06667vw, transparent 1.06667vw, transparent 100%);
    font-size: 3.73333vw;
    font-weight: 500;
    color: #231815;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-bottom: 6.66667vw;
  }
  .p_business .business_ex .it .textBot p {
    font-size: 3.33333vw;
    line-height: 2;
    color: #231815;
    letter-spacing: 0.05em;
  }
  .p_company {
    color: #231815;
  }
  .p_company .row.st2 {
    padding: 0 4.66667vw;
  }
  .p_company a {
    color: #231815;
  }
  .p_company .company {
    padding-bottom: 26.66667vw;
  }
  .p_company .company h2 {
    text-align: center;
    font-weight: 500;
    font-size: 4.26667vw;
    color: #231815;
    padding: 16vw 0;
    letter-spacing: 0.1em;
  }
  .p_company .company_ex .it.st2 .image {
    margin-bottom: 9.33333vw;
  }
  .p_company .company_ex .it.st2 p + p {
    margin-top: 2em;
  }
  .p_company .company_ex .it.st2 strong {
    color: #06ABA9;
    font-weight: bold;
  }
  .p_company .company_ex .it:not(:last-child) {
    margin-bottom: 20vw;
  }
  .p_company .company_ex .it h3 {
    font-size: 3.73333vw;
    color: #231815;
    border-bottom: 1px solid #06ABA9;
    padding-bottom: 2vw;
    margin-bottom: 3.33333vw;
    letter-spacing: 0.05em;
  }
  .p_company .company_ex .it h3.st2 {
    margin-bottom: 10.66667vw;
  }
  .p_company .company_ex .it p {
    font-size: 3.6vw;
    line-height: 1.81;
    color: #231815;
    white-space: nowrap;
  }
  .p_company .company_ex .it h4 {
    font-size: 3.6vw;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em;
    margin-bottom: 4vw;
  }
  .p_company .company_ex .it .tac {
    text-align: center;
  }
  .p_company .company_ex .it .tar {
    text-align: right;
  }
  .p_company .company_ex .it .tar.mg {
    margin-top: 6vw;
  }
  .p_company .company_ex .it .dlist {
    margin-top: 8vw;
  }
  .p_company .company_ex .it .dlist dl {
    text-align: center;
  }
  .p_company .company_ex .it .dlist dl:not(:last-child) {
    margin-bottom: 11.33333vw;
  }
  .p_company .company_ex .it .dlist dl dt {
    font-size: 3.46667vw;
    font-weight: 500;
    position: relative;
    padding-bottom: 1.86667vw;
    margin-bottom: 3.46667vw;
  }
  .p_company .company_ex .it .dlist dl dt::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
       -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 16.8vw;
    height: 0.4vw;
    background: url(../img/company/dots.png) repeat-x;
    display: block;
    -moz-background-size: 1.06667vw 0.4vw;
         background-size: 1.06667vw 0.4vw;
  }
  .p_company .company_ex .it .dlist dl dd {
    font-size: 3.33333vw;
    line-height: 2;
  }
  .p_company .company_ex .it .tb.mt {
    margin-top: 15.33333vw;
    margin-bottom: 4vw;
  }
  .p_company .company_ex .it .tb dl {
    font-size: 3.33333vw;
    line-height: 2;
  }
  .p_company .company_ex .it .tb dl dt {
    position: relative;
  }
  .p_company .company_ex .it .tb dl dt::before {
    content: "-";
    margin-right: 0.66667vw;
  }
  .p_company .company_ex .it .tb dl dt::after {
    content: "-";
    margin-left: 0.66667vw;
  }
  .p_company .company_ex .it .map iframe {
    height: 30.13333vw;
    width: 100% !important;
  }
  .p_company .company_ex .it a.btn_map {
    font-size: 2.8vw;
    color: #000;
    display: inline-block;
    border: 1px solid #231815;
    -moz-border-radius: 4vw;
         border-radius: 4vw;
    padding: 1.33333vw 4.66667vw;
    margin-top: 2.66667vw;
  }
  .p_contact .contact .row {
    padding: 0 10vw;
  }
  .p_contact .contact_main {
    padding-bottom: 19.46667vw;
  }
  .p_contact .contact_main dl {
    margin-bottom: 6vw;
  }
  .p_contact .contact_main dl dt {
    font-size: 3.2vw;
    letter-spacing: 0.05em;
    margin-bottom: 2.93333vw;
  }
  .p_contact .contact_main dl dt span {
    font-weight: bold;
    font-size: 3.2vw;
    color: #fff;
    background-color: #00A9A7;
    padding: 0 1.6vw 0.53333vw;
    margin-left: 1.73333vw;
  }
  .p_contact .contact_main dl dt span::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 2.93333vw;
    vertical-align: middle;
  }
  .p_contact .contact_main dl dd.df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_contact .contact_main textarea {
    border: 1px solid #918b8a;
    width: 100%;
    min-height: 44vw;
    padding: 2vw;
    outline: none;
    font-size: 3.06667vw;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main textarea::-webkit-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea::-moz-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea:-ms-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main textarea::placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input {
    border: 1px solid #918b8a;
    width: 100%;
    height: 9.86667vw;
    padding: 0 2vw;
    outline: none;
    font-size: 3.06667vw;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main input.sm {
    width: 38.93333vw;
  }
  .p_contact .contact_main input::-webkit-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input::-moz-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input:-ms-input-placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main input::placeholder {
    color: #bdb9b8;
    opacity: 1;
  }
  .p_contact .contact_main .box_privacy {
    margin-top: 11.73333vw;
  }
  .p_contact .contact_main .box_privacy h5 {
    font-size: 4.26667vw;
    margin-bottom: 0.93333vw;
  }
  .p_contact .contact_main .box_privacy dl {
    display: block;
    font-size: 2.8vw;
    margin-bottom: 0;
  }
  .p_contact .contact_main .box_privacy dl:not(:last-child) {
    margin-bottom: 2.66667vw;
  }
  .p_contact .contact_main .box_privacy dl dt {
    font-weight: bold;
    width: 100%;
    margin-bottom: 0.66667vw;
  }
  .p_contact .contact_main .box_privacy dl dd {
    width: 100%;
  }
  .p_contact .contact_main .box_privacy .scrollable {
    height: 31.33333vw;
    padding: 1.33333vw;
  }
  .p_contact .contact_main .box_privacy .scrollable p {
    font-size: 2.8vw;
    line-height: 2;
  }
  .p_contact .contact_main .box_privacy > p {
    margin-top: 5.33333vw;
    font-size: 2.8vw;
    line-height: 2.28;
    text-align: center;
  }
  .p_contact .contact_main .box_privacy > p a {
    text-decoration: underline;
  }
  .p_contact .contact_main .box_privacy > p a:hover {
    text-decoration: none;
  }
  .p_contact .contact_main .list_checkbox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 6.66667vw 0 22.66667vw;
  }
  .p_contact .contact_main .list_checkbox li, .p_contact .contact_main .list_checkbox .mwform-checkbox-field {
    display: inline-block;
    margin-bottom: 0.66667vw;
    margin-right: 4vw;
    margin-left: 0;
  }
  .p_contact .contact_main .list_checkbox label {
    position: relative;
    cursor: pointer;
    font-size: 2.8vw;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    display: inline-block;
    color: #040000;
  }
  .p_contact .contact_main .list_checkbox label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
  }
  .p_contact .contact_main .list_checkbox label span {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    display: inline-block;
    padding: 0 0 0 5.06667vw;
  }
  .p_contact .contact_main .list_checkbox label span::before {
    position: absolute;
    content: "";
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 3.73333vw;
    height: 3.73333vw;
    border: 1px solid #040000;
    -moz-border-radius: 0;
         border-radius: 0;
  }
  .p_contact .contact_main .list_checkbox label span::after {
    left: 1.28vw;
    top: 0.66667vw;
    width: 1.06667vw;
    height: 2.13333vw;
    border: solid #040000;
    border-width: 0 0.42667vw 0.42667vw 0;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    content: "";
    position: absolute;
    display: none;
  }
  .p_contact .contact_main .list_checkbox label input:checked ~ span:after {
    display: block;
  }
  .p_contact .contact_main button {
    padding: 0;
    outline: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    cursor: pointer;
    background-color: #00A9A7;
    width: 74vw;
    height: 10.93333vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    font-size: 3.86667vw;
    -moz-border-radius: 0;
         border-radius: 0;
    margin: 0 auto 8.26667vw;
  }
  .p_contact .contact_main .worktime {
    text-align: center;
  }
  .p_contact .contact_main .worktime a {
    font-size: 3.86667vw;
  }
  .p_contact .contact_main .worktime a span {
    font-family: "Roboto", sans-serif;
    font-size: 6.4vw;
    font-weight: 300;
  }
  .p_contact .contact_main .worktime p {
    font-size: 2.8vw;
  }
  .p_contact .contact_main .scrollable {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    height: 26.66667vw;
    border: 1px solid #9FA0A0;
    padding: 3.33333vw 4.66667vw;
  }
  .p_contact .contact_main .scrollable.showScroll::after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    height: 100%;
    width: 2.26667vw;
  }
  .p_contact .contact_main .scrollable.showScroll::before {
    position: absolute;
    content: '';
    top: 0;
    right: 1.06667vw;
    height: 100%;
    width: 0.8vw;
    -moz-border-radius: 1.06667vw;
         border-radius: 1.06667vw;
    z-index: 1;
  }
  .p_contact .contact_main .scrollable .content-wrapper {
    width: -webkit-calc(100% + 6.66667vw);
    width: -moz-calc(100% + 6.66667vw);
    width: calc(100% + 6.66667vw);
    height: 100%;
    overflow-y: scroll;
    padding-right: 9.33333vw;
  }
  .p_contact .contact_main .scroller {
    z-index: 5;
    cursor: pointer;
    position: absolute;
    width: 2.66667vw;
    height: 16vw;
    -moz-border-radius: 9999px;
         border-radius: 9999px;
    background: #9FA0A0;
    top: 0.66667vw;
    right: 0.66667vw;
    -webkit-transition: top .08s;
    -moz-transition: top .08s;
    transition: top .08s;
  }
  .p_products .products {
    padding-bottom: 20vw;
  }
  .p_products .products_main .it {
    border: 1px solid #9FA0A0;
    padding: 2vw;
    padding-top: 56vw;
    background-repeat: no-repeat;
    background-position: left top;
    -moz-background-size: 100% auto;
         background-size: 100% auto;
  }
  .p_products .products_main .it.cat01 {
    background-image: url(../img/products/products_img01_sp.jpg);
  }
  .p_products .products_main .it.cat02 {
    background-image: url(../img/products/products_img02_sp.jpg);
  }
  .p_products .products_main .it.cat03 {
    background-image: url(../img/products/products_img03_sp.jpg);
  }
  .p_products .products_main .it.cat04 {
    background-image: url(../img/products/products_img04_sp.jpg);
  }
  .p_products .products_main .it.cat05 {
    background-image: url(../img/products/products_img05_sp.jpg);
  }
  .p_products .products_main .it.cat06 {
    background-image: url(../img/products/products_img06_sp.jpg);
  }
  .p_products .products_main .it.cat07 {
    background-image: url(../img/products/products_img07_sp.jpg);
  }
  .p_products .products_main .it.cat08 {
    background-image: url(../img/products/products_img08_sp.jpg);
  }
  .p_products .products_main .it.cat09 {
    background-image: url(../img/products/products_img09_sp.jpg);
  }
  .p_products .products_main .it.cat10 {
    background-image: url(../img/products/products_img10_sp.jpg);
  }
  .p_products .products_main .it:not(:last-child) {
    margin-bottom: 6.4vw;
  }
  .p_products .products_main .it h3 {
    font-size: 3.2vw;
    font-weight: 500;
    color: #06ABA9;
    margin-bottom: 1vw;
    letter-spacing: 0.05em;
  }
  .p_products .products_main .it p {
    font-size: 2.8vw;
    line-height: 1.57;
    color: #231815;
  }
  .p_products .products_main .it p br {
    display: none;
  }
  .p_products .products_main .it .listDots li {
    font-size: 3.2vw;
    font-weight: 500;
    position: relative;
    padding-left: 2.4vw;
  }
  .p_products .products_main .it .listDots li:not(:last-child) {
    margin-bottom: 2vw;
  }
  .p_products .products_main .it .listDots li::before {
    content: "";
    position: absolute;
    top: 1.86667vw;
    left: 0;
    width: 1.06667vw;
    height: 1.06667vw;
    background: #06ABA9;
    -moz-border-radius: 50%;
         border-radius: 50%;
    display: block;
  }
  .p_products .products_main .it .listDots li p {
    display: block;
    font-size: 2.8vw;
    font-weight: 400;
  }
  .p_results {
    color: #231815;
  }
  .p_results .results {
    padding-bottom: 20vw;
  }
  .p_results .results_main .it:not(:last-child) {
    margin-bottom: 8.66667vw;
  }
  .p_results .results_main .it h3 {
    font-size: 3.2vw;
    margin-bottom: 2.53333vw;
    letter-spacing: 0.05em;
  }
  .p_results .results_main .it .listImg01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_results .results_main .it .listImg01 li {
    width: 38.8vw;
    margin-bottom: 4.66667vw;
  }
  .p_results .results_main .it .listImg01 li .figcaption {
    font-size: 2.8vw;
    line-height: 1.5;
    display: block;
    text-align: center;
    margin-top: 1.6vw;
  }
  .p_results .results_main .it .listImg02 li {
    margin-bottom: 4.66667vw;
  }
  .p_results .results_main .it .listImg02 li .figcaption {
    font-size: 2.8vw;
    display: block;
    text-align: center;
    margin-top: 0.93333vw;
    line-height: 1.42857;
  }
}
