@charset "UTF-8";
/* Scss Document */
@media screen and (max-width: 782px) {
  .admin-bar .sp-header {
    top: 46px !important;
  }
}
@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
  }
}
@media screen and (max-width: 1024px) {
  .menu-space {
    margin-top: 56px;
  }

  /*---------------------------------
  
  	header
  
  ---------------------------------*/
  .pc-header {
    display: none;
  }

  .sp-header {
    display: block;
  }

  .admin-bar .sp-header {
    top: 32px;
  }

  .drawer-brand {
    display: flex;
    align-items: center;
  }
  .drawer-brand img {
    display: block;
    width: 100%;
    max-width: 180px;
  }

  .sp-header {
    top: 0;
    z-index: 1000;
    width: 100%;
    transition-duration: 0.3s;
    position: fixed;
  }
  .sp-header a {
    text-decoration: none;
  }

  .sp-menu-container {
    background: #F8F8F8;
  }

  .drawer-navbar-header {
    height: 56px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 16px;
  }

  .sp-right-flex {
    display: flex;
    align-items: center;
  }

  .sp-mail a {
    background: #E21410;
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sp-mail img {
    display: block;
  }

  .toggle-cover {
    width: 56px;
    height: 56px;
  }

  .toggle {
    display: block;
    position: absolute;
    width: 56px;
    height: 56px;
    cursor: pointer;
    z-index: 3;
    overflow: hidden;
    background: #151515;
  }

  .toggle-txt:before {
    content: "MENU";
    display: inline-block;
    color: #FFFFFF;
    font-size: 12px;
    font-family: 'Manrope', sans-serif;
    position: absolute;
    bottom: 4px;
    left: 9px;
  }

  .toggle span:nth-child(1) {
    display: block;
    position: absolute;
    width: 28px;
    border-bottom: solid 2px #fff;
    transition: .35s ease-in-out;
    left: 15px;
    top: 13px;
  }

  .toggle span:nth-child(2) {
    display: block;
    position: absolute;
    width: 28px;
    border-bottom: solid 2px #fff;
    transition: .35s ease-in-out;
    left: 15px;
    top: 23px;
  }

  .toggle.active span:nth-child(1) {
    top: 18px;
    -webkit-transform: rotate(-25deg);
    -moz-transform: rotate(-25deg);
    transform: rotate(-25deg);
  }

  .toggle.active span:nth-child(2) {
    top: 18px;
    -webkit-transform: rotate(25deg);
    -moz-transform: rotate(25deg);
    transform: rotate(25deg);
  }

  .toggle.active {
    transition: .35s ease-in-out;
  }

  .header_navi_wrap {
    position: absolute;
    top: -350vw;
    left: 0px;
    overflow: hidden;
    width: 100%;
    margin-top: 0;
    z-index: -1;
    transition: 0.3s;
    -webkit-overflow-scrolling: touch;
    background: #EBEBEB;
    padding: 0 0 60px;
  }
  .header_navi_wrap ul {
    list-style: none;
  }

  .header_navi {
    padding: 40px 0 0 0;
  }
  .header_navi li:not(:last-of-type) {
    margin-bottom: 24px;
  }

  .sp-menu-container.active .header_navi_wrap {
    top: 100%;
    height: calc(100vh - 56px);
    height: calc(100dvh - 56px);
    overflow-y: scroll;
  }

  .drawer-menu-item {
    padding: 0 37px 0 36px;
    font-size: 15px;
    display: block;
    text-align: left;
    position: relative;
    letter-spacing: .05em;
  }

  .sp-menu-btn {
    text-align: center;
    margin-top: 40px;
  }

  .sp-menu-home {
    text-decoration: none;
    font-size: 15px;
    position: relative;
    display: inline;
  }

  .close {
    position: relative;
    text-align: center;
    font-size: 15px;
    padding: 18px 0 17px;
    max-width: 270px;
    margin: 0 auto;
    cursor: pointer;
  }
  .close p {
    display: inline;
  }

  .close:before {
    content: "";
    display: inline-block;
    background-image: url("../img/img_sp-menu-close.svg");
    background-size: contain;
    width: 18px;
    height: 17px;
    margin: 0 10px -4px 0;
  }
}
@media screen and (max-width: 768px) {
  /*---------------------------------
  
  	common
  
  ---------------------------------*/
  a[href^="tel:"] {
    pointer-events: auto;
  }

  .pc-none {
    display: block;
  }

  .sp-none {
    display: none !important;
  }

  .sp-br {
    display: block;
  }

  .pc-br {
    display: none;
  }

  .sp-lrpd {
    padding-left: 20px;
    padding-right: 20px;
  }

  .headline {
    font-size: 20px;
  }
  .headline span {
    font-size: 14px;
  }

  .page-default {
    padding-bottom: 100px;
  }

  .page-notice {
    padding: 48px 0 56px;
  }

  /*---------------------------------
  
  	top
  
  ---------------------------------*/
  #mv {
    height: calc(100vh - 56px);
    height: calc(100dvh - 56px);
    min-height: unset;
  }

  .mv-txt {
    top: auto;
    left: auto;
    right: 0;
    bottom: 7%;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
  }
  .mv-txt h2 {
    font-size: 15px;
    margin-left: 33px;
  }
  .mv-txt h3 {
    font-size: 20px;
    margin: 37px 0 10px 33px;
  }
  .mv-txt p {
    font-size: 14px;
    margin-left: 33px;
  }

  ruby[data-ruby]::before {
    left: -1.6em;
    top: -20px;
    font-size: 11px;
  }

  .mv-img {
    width: 100%;
    height: calc(64vh - 56px);
    height: calc(64dvh - 56px);
    min-height: unset;
    border-radius: 0 0 0 40px;
  }

  .top-our-service {
    padding-top: 64px;
  }
  .top-our-service .headline {
    padding-bottom: 48px;
    padding-left: 20px;
  }

  .top-our-service-bg {
    padding: 64px 20px;
  }

  .top-our-service-item-flex {
    margin-bottom: 24px;
  }

  .top-our-service-item {
    width: calc((100% / 1) - 16px);
  }

  .top-our-service-item-txt {
    left: 16px;
  }
  .top-our-service-item-txt p {
    font-size: 18px;
  }

  .top-our-service-item03 img {
    display: none;
  }

  .top-our-service-item03:before {
    content: "";
    display: inline-block;
    background-image: url("../img/img_external-link.svg");
    width: 20px;
    height: 20px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    right: 16px;
    top: 20px;
  }

  .top-about-us {
    padding: 120px 0 80px;
    margin-top: -40px;
  }
  .top-about-us .headline {
    padding-left: 20px;
  }

  .top-about-us-flex .top-about-us-item:first-of-type {
    margin-bottom: 44px;
  }

  .top-about-us-item {
    width: calc((100% / 1) - 16px);
  }

  .top-about-us-item-inner p {
    font-size: 18px;
    margin-top: 20px;
  }
  .top-about-us-item-inner img:nth-of-type(1) {
    top: 49px;
  }

  /*---------------------------------
  
  	under-pagetitle
  
  ---------------------------------*/
  .under-title-bg {
    width: 100%;
  }

  .under-title-name {
    font-size: 20px;
    left: 36px;
  }

  .under-pd-name {
    font-size: 20px;
    left: 36px;
  }

  /*---------------------------------
  
  	breadcrumbs
  
  ---------------------------------*/
  .breadcrumbs-cover {
    width: 100%;
  }

  .breadcrumbs {
    white-space: nowrap;
    padding: 18px 16px 19px 16px;
  }
  .breadcrumbs a:after {
    top: 4px;
  }
  .breadcrumbs span {
    font-size: 12px;
    margin-right: 16px;
  }

  .breadcrumbs span[property="name"] {
    max-width: none;
  }

  .breadcrumbs-cover {
    margin-right: 16px;
  }

  /*---------------------------------
  
  	ボタン
  
  ---------------------------------*/
  .btn-main, .btn-fcon {
    font-size: 15px;
  }

  .btn-plink {
    width: calc((100% / 2 ) - 10px);
  }

  /*---------------------------------
  
  	products-list
  
  ---------------------------------*/
  .plist {
    padding-bottom: 80px;
  }

  /*---------------------------------
  
  	scroll
  
  ---------------------------------*/
  .scroll-contents-inner {
    padding-top: 56px;
    margin-top: -56px;
  }

  /*---------------------------------
  
  	screwed-malleable-cast-iron
  
  ---------------------------------*/
  .products-grid {
    padding-bottom: 80px;
  }

  .products-grid-item-cover {
    grid-template-columns: repeat(auto-fit, 166px);
  }

  .products-grid-item {
    font-size: 16px;
  }

  .product-notice h2 {
    font-size: 20px;
  }

  .pitem-flex-left {
    padding: 18px 10px 17px 20px;
    width: 100%;
    text-align: left;
    justify-content: flex-start;
  }

  .pitem-flex-right {
    padding: 18px 5px 17px 20px;
    width: 100%;
  }

  .product-notice .btn-dl {
    width: calc((100% / 2 ) - 10px);
    min-width: 100px;
  }

  .product-item {
    padding-bottom: 33px;
  }

  .pitem-img-flex {
    flex-wrap: wrap;
  }
  .pitem-img-flex figure {
    width: calc((100% / 1 ) - 16px);
  }

  .product .btn-main-cover {
    margin: 0 36px;
  }

  /*---------------------------------
  
  	company-profile
  
  ---------------------------------*/
  .company-flex-cover {
    padding: 48px 0;
  }

  .company-left {
    width: 100%;
    padding: 0 20px;
    text-align: left;
  }

  .company-right {
    width: 100%;
    padding: 0 16px 0 20px;
  }

  .facilities .headline {
    padding-bottom: 48px;
  }

  .facilities-flex-cover {
    padding: 0 0 48px;
  }
  .facilities-flex-cover h3 {
    font-size: 16px;
  }

  .facilities-left {
    width: 100%;
    padding: 17px 10px 18px 20px;
    text-align: left;
  }

  .facilities-right {
    width: 100%;
    padding: 17px 10px 18px 20px;
  }

  .history {
    padding-bottom: 32px;
  }

  /*---------------------------------
  
  	location
  
  ---------------------------------*/
  .location .headline {
    padding-bottom: 48px;
  }

  .access {
    padding-bottom: 80px;
  }

  /*---------------------------------
  
  	contact
  
  ---------------------------------*/
  .wpcf7 .template01 p.form__body.btn-push {
    width: 100%;
  }

  .wpcf7 .template01 span.wpcf7-list-item {
    display: block;
  }

  .wpcf7 .template01 input[type=text],
  .wpcf7 .template01 input[type=tel],
  .wpcf7 .template01 input[type=email],
  .wpcf7 .template01 input[type=url],
  .wpcf7 .template01 input[type=date],
  .wpcf7 .template01 input[type=number],
  .wpcf7 .template01 textarea {
    padding: 18px 16px 18px 25px;
    font-size: 16px;
  }

  .wpcf7 .template01 span.wpcf7-list-item {
    margin-bottom: 30px;
  }

  .wpcf7 .template01 div.form__row {
    display: block;
  }

  .wpcf7 .template01 p.form__label {
    width: 100%;
    margin-bottom: 7px;
  }

  .wpcf7 .template01 p.form__body {
    width: 100%;
  }

  .wpcf7 .template01 p.form__label.is-required label::after {
    display: inline-block;
    margin-top: 0;
    margin: 0 0 0 6px;
  }

  .wpcf7 .template01 input[type="submit"] {
    width: 100%;
  }

  .wpcf7-form-control-wrap.radio .wpcf7-list-item {
    width: 100%;
  }

  .wpcf7 .template01 span.wpcf7-list-item:not(:last-of-type) {
    margin: 0 0 24px 0;
  }

  .wpcf7 .template01 input[type=radio] + span {
    padding: 0 1em 0 30px;
  }

  .contact {
    padding-bottom: 80px;
  }

  .scroll_space {
    padding: 12px 12px 10px 12px;
    margin: 48px 0;
  }

  .scroll_manual p {
    font-size: 14px;
  }
  .scroll_manual h3 {
    font-size: 14px;
  }

  /*---------------------------------
  
  	thanks 404
  
  ---------------------------------*/
  .page-th {
    padding-bottom: 80px;
  }
  .page-th .headline {
    padding-bottom: 48px;
  }

  /*---------------------------------
  
  	footer-contact
  
  ---------------------------------*/
  .footer-contact {
    padding: 80px 20px;
  }
  .footer-contact p {
    font-size: 18px;
    margin-bottom: 48px;
  }

  /*---------------------------------
  
  	footer
  
  ---------------------------------*/
  .footer-cover {
    padding: 64px 0 64px;
  }

  .footer-flex {
    justify-content: center;
  }

  .footer-left {
    margin-bottom: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .footer-right ul {
    flex-wrap: wrap;
  }
  .footer-right li {
    margin-bottom: 20px;
    width: 100%;
  }
  .footer-right li a {
    text-align: center;
    display: block;
  }

  .footer-center {
    margin-top: 27px;
    justify-content: center;
  }

  .copyright-cover {
    margin-top: 24px;
    padding: 0 20px;
  }
}
