@charset "utf-8";

/*
theme Name: prefab-plus
Author: template
Description: original theme
version： 1.0.0
*/


html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

@media screen and (max-width: 767px) {
  [id] {
    scroll-margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  [id] {
    scroll-margin-top: 12vh;
  }
}

body {
  font-family: "Noto Serif JP", serif;
  ;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
}

.container {
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

a:hover {
  opacity: .7;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media (max-width: 768px) {
  .main-nav {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.95);
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  .main-nav.is-active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  .nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2rem;
  }
}


.pc_block {
  display: block;
}

.sp_block {
  display: none !important;
}

br.sp_block,
.sp_inlineblock {
  display: none !important;
}

.pc_inlineblock {
  display: inline-block;
}

p.center {
  text-align: center;
}

.flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

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

p.mb {
  margin-bottom: .7em;
}

.bold {
  font-weight: 600;
}


/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/
header#header {
  height: 12vh;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  background: rgb(255 255 255 / 90%);
}

.site-title-wrap {
  width: 30%;
  height: 12vh;
  padding-left: 1.5vw;
}

.site-title-wrap a {
  height: 12vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.site-title-wrap img {
  width: 78%;
  height: auto;
}

.header-inner {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: unset;
  left: 0;
  right: 0;
  z-index: 100;
}

nav#g-nav {
  width: 100%;
}

header #nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header #nav-list {
  width: 100%;
}

header nav ul {
  width: 100%;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 12vh;
}

header .nav-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 19%;
}

header nav ul li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

header nav ul li a {
  display: block;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: .07vw;
  color: #111;
  line-height: 1.7;
  font-family: "Montserrat", serif;
  text-transform: uppercase;

}

header nav ul li a span.jp {
  display: block;
  font-size: .7em;
  font-family: "Noto Serif JP", serif;
}

header li.nav-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header nav ul li.company a {
  margin-right: 1vw;
}

header nav ul li.contact a {
  height: 12vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  font-size: 1.1rem;
  padding: 0 3vw;
  background: #111;
  color: #ffffff;
  font-weight: 500;
}

header nav ul li.contact a hr {
  margin: .7vh 0;
  height: .7px;
  border: none;
  background-color: #333;
  ;
  width: 100%;
}

header nav ul li.contact a:hover,
.mv-copy .link a:hover {
  opacity: .7;
}

.scroll {
  position: relative;
  text-align: center;
  padding-top: 5px;
  height: 67px;
}

.scroll a {
  position: relative;
  padding-bottom: 5px;
  letter-spacing: .05em;
  color: #111;
  font-size: 1.1rem;
  text-decoration: none;
  line-height: 1;
  font-family: "Cormorant Infant", serif;
  font-weight: 600;
}

@-webkit-keyframes scroll {
  0% {
    height: 0;
  }

  100% {
    height: 40px;
  }
}

@keyframes scroll {
  0% {
    height: 0;
  }

  100% {
    height: 40px;
  }
}

.scroll a:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  width: 1px;
  height: 0;
  background: #666;
  margin: auto;
  -moz-animation-name: scroll;
  -moz-animation-duration: 1800ms;
  -moz-animation-timing-function: ease-out;
  -moz-animation-iteration-count: infinite;
  -webkit-animation-name: scroll;
  -webkit-animation-duration: 1800ms;
  -webkit-animation-timing-function: ease-out;
  -webkit-animation-iteration-count: infinite;
  -o-animation-name: scroll;
  -o-animation-duration: 1800ms;
  -o-animation-timing-function: ease-out;
  -o-animation-iteration-count: infinite;
  -ms-animation-name: scroll;
  -ms-animation-duration: 1800ms;
  -ms-animation-timing-function: ease-out;
  -ms-animation-iteration-count: infinite;
}

.mouse .over {
  -o-transition: opacity 200ms ease-in;
  -webkit-transition: opacity 200ms ease-in;
  transition: opacity 200ms ease-in;
}


/*---------------------------------------------------------
メインビジュアル
---------------------------------------------------------*/

section.mv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 88vh;
  position: relative;
  margin-top: 12vh;
}

.full.one,
.full.two {
  width: 50%;
  z-index: 2;
  overflow: hidden;
  height: 88vh;
}

.slider {
  height: 100%;
  margin-inline: auto;
  width: 100%;
}

.slick-list {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.slick-track {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.slick-slide {
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 1s ease-in-out;
  -o-transition: opacity 1s ease-in-out;
  transition: opacity 1s ease-in-out;
}

.slick-slide.slick-active {
  opacity: 1;
}

.slick-img {
  height: 100%;
  overflow: hidden;
}

.slick-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
  will-change: transform;
}

.full .slick-dots {
  display: none !important;
}

/*=============
zoom animation
=============*/
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}

/* 
.slick-slide:not(.slick-active) img {
  -webkit-transform: scale(1.15);
  -ms-transform: scale(1.15);
  transform: scale(1.15);
} */

.slick-active img {
  -webkit-animation: zoomUp 10s linear forwards;
  animation: zoomUp 10s linear forwards;
}

.mv-copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 9;
  padding: 4vh 3vw;
  outline: 1px solid #111;
  outline-offset: -.5vw;
  background: rgb(255 255 255 / 59%);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}

.mv-copy p {
  color: #111;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  line-height: 2;
  letter-spacing: .2vw;
}

.mv-copy p span {
  font-size: .85em;
  padding: 0 .2vw;
}

.mv-copy p.en {
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Montserrat", serif;
  letter-spacing: .2vw;
  background: #111;
  color: #fff;
  margin-top: 2vh;
  text-transform: uppercase;
}

.mv-copy p.en {
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Montserrat", serif;
  letter-spacing: .2vw;
  background: #111;
  color: #fff;
  margin-top: 2vh;
  padding: .5vh 0;
  text-transform: uppercase;
}

.mv-copy p.en {
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: .2vw;
  background: #111;
  color: #fff;
  margin-top: 2vh;
  text-transform: uppercase;
  font-family: "Cormorant Infant", serif;
}

.mv-copy p span.point {
  letter-spacing: -0.5vw;
}

/*---------------------------------------------------------
TOP コンテンツ
---------------------------------------------------------*/
.transport.banner {
  width: 46%;
  margin: 5vh auto;
  background: #eee;
  padding: 1vw 2vw 1.5vw;
  outline: 1px solid #111;
  outline-offset: -.5vw;
}

.transport.banner img {
  width: 18%;
  position: relative;
  right: -1vw;
}

.transport.banner p.title {
  font-size: 2rem;
  color: #111;
  text-align: center;
  width: 100%;
  letter-spacing: .2vw;
  font-weight: 600;
}

.transport.banner p.note {
  font-size: 1.1rem;
  width: 100%;
  text-align: center;
}

.transport.banner p.link {
  text-align: center;
  width: 30%;
  margin: 1vh auto 0;
  color: #fff;
  background: #111;
}

/*---------------------------------------------------------
TOP コンセプト
---------------------------------------------------------*/

section.concept {
  position: relative;
}


section.concept .inner {
  width: 85%;
  margin: 9vh auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

section.concept .flex-box.left .wrap {
  position: relative;
  left: -1vw;
}

div#top-contents .h2-wrap,
section.cta.page .h2-wrap {
  margin-bottom: 2vh;
  position: relative;
  overflow: hidden;
}

p.reveal-text {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  font-size: 4rem;
  font-weight: 600;
  color: #111;
  line-height: 1.3;
  font-family: "Roboto", serif;
  font-style: italic;
  letter-spacing: .05vw;
}

h2.reveal-text {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  color: #111;
}

.reveal-text span {
  display: inline-block;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}

.reveal-text.active span {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

div#top-contents .h2-wrap h2 {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: .1vw;
  position: relative;
  display: inline-block;
}

div#top-contents .h2-wrap h2 {
  position: relative;
  display: inline-block;
}

section.concept p.reveal-text {
  font-size: 4.5rem;
}

section.concept h3 {
  font-size: 1.7rem;
  font-weight: 600;
}

section.concept .flex-wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

section.concept .flex-box.left {
  width: 45%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}



section.concept .flex-box.left .text-wrap {
  margin-top: 3vh;
}

section.concept .flex-box.left .text-wrap p {
  font-size: 1.2rem;
}

section.concept .flex-box.right .flex-wrap {
  position: absolute;
  right: 0;
  top: 0;
  width: 55%;
}

section.concept .flex-box.right .flex-box {
  width: 50%;
}

section.features {
  background: #EEEEEE;
  position: relative;
}

section.features .inner {
  padding: 7vh 0 10vh;
  width: 90%;
  margin: 0 auto;
}

section.features img.icon {
  position: absolute;
  top: 2vw;
  right: 1vw;
  width: 25%;
  opacity: .1;
}

section.features p.reveal-text {
  margin: 0 auto;
}

div#top-contents section.features .h2-wrap h2 {
  text-align: center;
}

.feature-list {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3vw 1.5vw;
  margin-top: 7vh;
  margin-bottom: 5vh;
  counter-reset: feature-counter;
}

.feature {
  background-color: #fff;
  padding: 2.5vh 1vw;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  -o-transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  position: relative;
}

.feature::before {
  counter-increment: feature-counter;
  content: counter(feature-counter, decimal-leading-zero);
  display: block;
  font-size: 3rem;
  font-weight: 500;
  color: #111;
  margin-bottom: .5rem;
  letter-spacing: .1vw;
  font-style: italic;
  font-family: "Cinzel", serif;
  position: absolute;
  top: -2.5vw;
  left: 2vw;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.feature__title {
  font-size: 1.3rem;
  color: #111;
  margin-bottom: 1vh;
  border-bottom: 1px solid #111;
  padding-bottom: 1vh;
  text-align: center;
  font-weight: 600;
  letter-spacing: .2vw;
}

span.feature__mark {
  display: inline-block;
  background: #111;
  color: #fff;
  padding: 0 .5vw;
  margin-right: .5vw;
}

.feature__description {
  font-size: 1.1rem;
  line-height: 1.8;
}



section.full-order .inner {
  margin: 10vh auto;
}

section.full-order .h2-wrap,
section.ready-made .h2-wrap {
  text-align: left;
  width: 92%;
  margin: 0 auto;
}

section.full-order .link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 55%;
  margin: 0 auto;
}

section.full-order .link-wrap .link {
  width: 48%;
}

section.full-order .link-wrap .link a {
  width: 100%;
}

section.full-order .reveal-text,
section.ready-made .reveal-text {
  font-size: 3.6rem;
}

section.full-order .wrap {
  width: 92%;
  margin: 0 auto;
}

section.ready-made .wrap {
  width: 92%;
  margin: 0 auto 5vh;
}

section.full-order h2.woocommerce-loop-product__title {
  background: #eee;
  font-size: 1.1rem !important;
  font-weight: 600;
}

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

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: unset;
  margin: 0;
  padding: 0;
  position: relative;
  width: 23%;
  margin-left: 0;
}

.woocommerce ul.products li.product:nth-child(n+5),
.woocommerce-page ul.products li.product:nth-child(n+5) {
  margin-top: 5vh;
}

.woocommerce ul.products li.product a img {
  margin: 0;
}


h2.woocommerce-loop-product__title {
  text-align: center;
}

.woocommerce .products ul:after,
.woocommerce .products ul:before,
.woocommerce ul.products:after,
.woocommerce ul.products:before {
  content: unset;
}

.woocommerce ul.products li.product .price {
  display: block;
  font-weight: 400;
  margin-bottom: .5em;
  font-size: .857em;
  text-align: center;
}

.woocommerce ul.products li.product .price del,
span.woocommerce-Price-amount.amount bdi {
  font-size: 1.1rem;
}

small.woocommerce-price-suffix {
  font-size: .7rem;
}

.woocommerce ul.products li.product .price ins {
  font-size: 1.1rem;
  margin-left: .5vw;
  text-decoration: none;
  color: #E91E63;
}

section.features .link a,
section.full-order .link a,
section.ready-made .link a,
section.voice .link a {
  width: 28%;
  padding: 1vh;
  display: block;
  text-align: center;
  margin: 0 auto;
  background: #111;
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: .1vw;
  font-weight: 500;
  position: relative;
}

section.features .link a::after,
section.full-order .link a::after,
section.ready-made .link a::after,
section.security .link a::after,
section.voice .link a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5vw;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: .7vw;
  height: .7vw;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}



/* Cases */

section.cases .inner {
  margin: 10vh 0 0;
}

section.cases .h2-wrap {
  width: 92%;
  margin: 0 auto;
}

section.cases .flex-wrap {
  margin-top: 5vh;
}

section.cases .flex-box {
  width: 50%;
  height: 20vw;

}

section.cases .flex-box a {
  width: 100%;
  overflow: hidden;
  height: 100%;
  display: block;
  position: relative;
}

section.cases .flex-box a::after,
section.cases .flex-box .wrap::after {
  content: '';
  background-color: rgb(72 72 72 / 21%);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  z-index: 0;
}

section.cases .flex-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
/* 
.flex-box a[href*="bikegarege"] img {
  position: relative;
  top: -80px;
  height: calc(100% + 80px);
  object-fit: cover;
} */

section.cases .flex-box.bg {
  position: relative;
}
/* 
section.cases .flex-box.bg img {
  position: relative;
  top: -14vh;
  left: 0;
  width: 100%;
  height: calc(100% + 14vh);
  -o-object-fit: cover;
  object-fit: cover;
} */

section.cases .flex-box.ho img {
  position: absolute;
  top: -5vh;
  left: 0;
  width: 100%;
  height: calc(100% + 5vh);
  -o-object-fit: cover;
  object-fit: cover;
}

section.cases .text-wrap {
  position: absolute;
  top: 50%;
  left: 5vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 1;
}

section.cases .text-wrap h3 {
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: .2vw;
  color: #fff;
  text-transform: uppercase;
  font-family: "Cormorant Infant", serif;
  line-height: 1.2;
}

section.cases .text-wrap p {
  font-size: 1.3rem;
  color: #fff;
}

section.cases .text-wrap p.cs {
  font-family: "Cormorant Infant", serif;
  font-size: 1.5rem;
  letter-spacing: .2vw;
}

section.cases .flex-box .wrap {
  width: 100%;
  overflow: hidden;
  height: 100%;
  display: block;
  position: relative;
}

/* section.cases .flex-box .wrap img {
  width: 100%;
  height: auto;
  display: block;
}
 */
section.security {
  background: #EEEEEE;
}

section.security .inner {
  width: 70%;
  padding: 9vh 0;
  margin: 0 auto;
}

section.security .flex-box.left {
  width: 45%;
}

section.security .flex-box.left p {}

section.security .flex-box.right {
  width: 55%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

section.security .flex-box .wrap {
  width: 100%;
}

section.security .link a {
  width: 65%;
  padding: 1vh;
  display: block;
  text-align: center;
  margin: 5vh auto 0;
  background: #111;
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: .1vw;
  font-weight: 500;
  position: relative;
}

section.voice .inner {
  width: 95%;
  margin: 7vh auto 10vh;
}


section.voice .h2-wrap,
text-align: center;
}

section.voice .h2-wrap,
section.voice p.reveal-text {
  text-align: center;
}

	.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: auto;
}

.swiper-slide{
	    height: auto;
}

#customer-reviews {
  padding: 20px;
  background-color: #f9f9f9;
}

#customer-reviews h2 {
  font-size: 24px;
  margin-bottom: 20px;
  text-align: center;
}

.home .customer-reviews-list {
  margin-top: 3vh;
}

.customer-reviews-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.customer-review-item {
  width: 23.5%;
  margin-bottom: 3vh;
  border: 1px solid #ddd;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .05);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .05);
}


.customer-review-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.customer-review-img {
  width: 100%;
}

.customer-review-content {
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.customer-review-name {
  font-weight: 600;
  font-size: 1rem;
  padding: 1vh 0;
  letter-spacing: .1vw;
  background: #EEEEEE;
}

.customer-review-text {
  font-size: 1vw;
  text-align: left;
  line-height: 1.6;
  padding: 1.5vh 1vw;

}

.customer-review-detail {
  display: block;
  padding: .5vh 1vw;
  background-color: #111;
  color: #fff;
  text-align: center;
  font-size: 1rem;
}


/* 
@media (max-width: 480px) {
  .customer-review-item {
    width: 100%;
  }
} */



section.carriage {
  background: #eee;
}

.page-id-2517 section.carriage {
  background: #fff;
}

section.carriage .inner {
  width: 80%;
  margin: 0 auto;
  padding: 9vh 0;
}

section.carriage .flex-box.left {
  width: 50%;
}

section.carriage h2 {
  margin-bottom: 2vh;
  background: #111;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: .2vw;
  text-align: center;
  padding: .3vw 0;
  font-weight: 600;
}

section.carriage p {
  font-size: 1.1rem;
}

section.carriage p.area {
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: .1vw;
}

section.carriage .flex-box.right {
  width: 45%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

section.carriage .flex-box.right img {
  width: 95%;
  margin: 0 auto;
}


section.recruit .flex-box.left {
  background: #111;
  width: 47%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

section.recruit .flex-box.right {
  background-image: url(https://prefab-plus.com/wp-content/uploads/2025/02/recrut-bg.jpg);
  background-size: cover;
  background-position: center 67%;
  position: relative;
  width: 53%;
}

section.recruit .flex-box.left .wrap {
  padding: 8vh 0;
}

section.recruit .h2-wrap p,
div#top-contents section.recruit .h2-wrap {
  color: #fff;
  text-align: center;
}

section.recruit .h2-wrap h2,
section.recruit p {
  color: #fff;
}

section.recruit p {
  text-align: center;
}

section.recruit p.text {
  font-size: 1rem;
}

section.recruit .link a {
  width: 100%;
  padding: 1vh;
  display: block;
  text-align: center;
  margin: 3vh auto 0;
  background: #ffffff;
  color: #111;
  font-size: 1.1rem;
  letter-spacing: .1vw;
  font-weight: 500;
  position: relative;
}

section.recruit .link a::after {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 1.5vw;
  content: "";
  vertical-align: middle;
  width: 0.7vw;
  height: 0.7vw;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: auto;
  border-top: 1.5px solid #111;
  border-right: 1.5px solid #111;
}

section.cta {
  background: #fff;
}

.page-id-2517 section.cta,
.page-id-2489 section.cta,
.page-id-2412 section.cta,
.woocommerce-page section.cta,
.single section.cta,
.page-id-2660 section.cta {
  background: #EEEEEE;
}

section.cta .inner {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  padding: 7vh 0;
}

section.cta p.reveal-text {
  font-size: 4.5rem;
}

section.cta p.quotation {
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 1vh;
  letter-spacing: .1vw;
}

section.cta p.text {
  font-size: 1.1rem;
}

section.cta .btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40%;
  margin: 5vh auto 0;
  padding: 1.5vh 0;
  background: #111;
  color: #fff;
  font-weight: 600;
  font-family: "Montserrat", serif;
  text-transform: uppercase;
  letter-spacing: .2vw;
  font-size: 2rem;
  outline: 1px solid #fff;
  outline-offset: -.3vw;
}

/*---------------------------------------------------------
フッター
---------------------------------------------------------*/
footer#footer {
  background: #111;
}

.footer-inner {
  padding: 6vh 0 4vh;
}

.footer_logo img {
  width: 23%;
  margin: 0 auto;
}

footer#footer .sns-wrap {
  width: 2vw;
  margin: 3vh auto 0;
}

.sns-box img {
  height: 3.5vh;
  margin: 0 auto;
}



.copyright {
  text-align: center;
}

.copyright p {
  color: #fff;
  font-size: 1rem;
  font-family: "Cormorant Infant", serif;
  letter-spacing: .05vw;
}

a.topBtn {
  display: -ms-grid;
  display: grid;
  place-content: center;
  width: 3.5vw;
  height: 3.5vw;
  cursor: pointer;
  position: fixed;
  bottom: 1vw;
  right: 1vw;
  z-index: 9999;
  -webkit-transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
  transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}

a.topBtn.is-visible {
  opacity: 1;
  visibility: visible;
}

a.topBtn::before {
  position: absolute;
  inset: 0;
  content: "";
  background: #9E9E9E;
  opacity: .5;
}

a.topBtn::after {
  width: 1vw;
  height: 1vw;
  content: "";
  border: solid #fff;
  border-width: 2.5px 2.5px 0 0;
  margin-top: 0.7vw;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/

.breadcrumb {
  width: 90%;
  margin: auto;
  text-align: left;
  padding: 10px;
  letter-spacing: 2px;
  font-size: 0.8rem;
}

.breadcrumb a {
  text-decoration: none;
  color: #666;
}

/*---------------------------------------------------------
オーダーカタログ・展示品・カテゴリー・タグ
---------------------------------------------------------*/

div#ready-made,
div#order-catalog,
div#product-category-archive,
div#product-tag-archive {
  margin-top: 12vh;
}

.category-title-wrap,
.product-title-wrap {
  background: #111;
  text-align: center;
  line-height: 1.4;
  padding: 3vh 0;
}

.tax-product_cat .category-title-wrap,
.tax-product_tag .category-title-wrap {
  background: #111;
  text-align: center;
  line-height: 1.4;
  padding: 2.44vw 0;
}

.category-title-wrap p,
.product-title-wrap p.en,
.category-title-wrap p.en {
  display: block;
  text-decoration: none;
  font-weight: 600;
  font-size: 2.3rem;
  letter-spacing: .3vw;
  color: #ffffff;
  font-family: "Montserrat", serif;
  text-transform: uppercase;
}

.category-title-wrap h1,
.category-title-wrap p.jp {
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: .5vw;
}


div#product-category-archive .category-title-wrap h1,
div#product-tag-archive .category-title-wrap h1 {
  font-size: 2.3rem;
  color: #fff;
  letter-spacing: .5vw;
}

.product-title-wrap p.product-title {
  font-size: 1.3rem;
  color: #fff;
  letter-spacing: .2vw;
}

.category-btn-wrap {
  margin-bottom: 5vh;
}

.category-btn-wrap.tpc {
  margin-top: 5vh;
}

.category-btn-wrap .flex-box {
  width: 24.25%;
}

.category-btn-wrap .flex-box a {
  background: #111;
  text-align: center;
  display: block;
  text-decoration: none;
  font-size: 1.5rem;
  letter-spacing: .3vw;
  font-weight: 600;
  color: #fff;
  text-transform: uppercase;
  font-family: "Cormorant Infant", serif;
  line-height: 1.2;
  padding: 1vh 0;
}

.category-contents-wrap,
.tax-product_tag main#main {
  width: 92%;
  margin: 0 auto 7vh;
}

div#product-category-archive .category-contents-wrap,
div#product-tag-archive .category-contents-wrap {
  width: 92%;
  margin: 5vh auto;
}

.category-intro {
  text-align: center;
  font-size: 1.2rem;
  margin: 5vh auto;
}

.woocommerce .products ul,
.woocommerce ul.products {
  padding: 5vh 0;
}

.product-item.ready-made-item {
  text-align: center;
}

.woocommerce ul.products img {
  width: 100%;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #111;
  color: #ffffff;
  padding: 1vh 1vw;
  font-size: 1.2rem;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 1vh 1vw;
  font-size: 1.2rem;
}

/* .woocommerce .products ul,
.woocommerce ul.products {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(calc((100% - 60px) / 4), 1fr));
  gap: 6vh 20px;
} */

.woocommerce .products li.product,
.woocommerce ul.products li.product {
  width: 100%;
}

div#order-catalog h2.product-title {
  text-align: center;
  background: #eee;
  font-size: 1.1rem;
  font-weight: 600;
  padding: .5em 0;
}

.woocommerce ul.products {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6vh 20px;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-info:before {
  display: none;
}

.category-contents-wrap {
  min-height: 27vw;
  position: relative;
}

.woocommerce-no-products-found {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  background-color: unset;
  border-top: unset;
  font-size: 1.3rem;
  padding: 0;
}

/*---------------------------------------------------------
  個別商品ページ
  ---------------------------------------------------------*/

div#product-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 12vh auto 10vh;
}

.product-title-wrap {
  width: 100%;
  margin: 0 auto;
}

div#product-wrap .product-contents-wrap {
  width: 50%;
  margin: 7vh auto 0;
}

h1.product-title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .1vw;
  margin-bottom: 5vh;
}

.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
  float: unset;
  width: 100%;
  clear: none;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  position: relative;
  width: 100%;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 20%;
}

.woocommerce-product-details__short-description {
  margin-top: 5vh;
}

.product_meta {
  margin-top: 3vh;
}

h1.product_title.entry-title {
  font-size: 1.5rem;
}

div#product-wrap .woocommerce ul.products li.product .price del,
div#product-wrap span.woocommerce-Price-amount.amount bdi {
  font-size: 1.5rem;
}

div#product-wrap span.woocommerce-Price-amount.amount bdi {
  font-size: 1.5rem !important;
}

div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
  font-size: 1rem !important;
}

h1.product_title.entry-title,
.summary.entry-summary p.price,
p.stock.out-of-stock {
  text-align: center;
}

h2.equipment {
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 2vh;
  letter-spacing: .2vw;
  font-weight: 600;
  background: #111;
  color: #fff;
  padding: .5vh 0;
}

table.product-item {
  border: 1px solid #757575;
  width: 100%;
}

table.product-item td,
table.product-item th {
  font-size: .9rem;
  padding: .7vh 0;
  text-align: center;
  font-weight: 600;
}

td.on {
  background: #698194;
  color: #fff;
}

td.off {
  background: #eee;
}

.woocommerce div.product p.stock {
  background: #fe0056;
  color: #fff;
  width: 30%;
  margin: 4vh auto 2vh;
  font-size: 1.3rem;
  text-align: center;
  letter-spacing: .1vw;
}

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

.previous-product,
.next-product {
  width: 49%;
}

.next-product a {
  text-align: right;
}

.previous-product a,
.next-product a {
  text-decoration: none;
  padding: 1vh 1vw;
  background-color: #111;
  color: #fff;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  width: 100%;
  display: block;
}

.previous-product a:hover,
.next-product a:hover {
  border: 1px solid #111;
  color: #111;
  background: #fff;
  opacity: 1;
}

a.woocommerce-product-gallery__trigger {
  display: none;
}

.sale-info {
  text-align: center;
  background: #EEEEEE;
  padding: 2vh;
  margin: 2vh auto;
}

.sale-info p.p1 {
  color: #e91e63;
  font-size: 1.4rem;
  font-weight: 600;
}

.sale-info p.p2 {
  font-size: 1.2rem;
}


div#tab-description h3 {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .1vw;
  background: #111;
  color: #fff;
  padding: .5vh 0;
  margin: 5vh auto 3vh;
}

div#tab-description table {
  width: 100%;
  border-collapse: collapse;
  margin: 3vh 0;
  text-align: left;
  font-size: 1rem;
}

div#tab-description th,
div#tab-description td {
  border: 1px solid #9E9E9E;
  padding: 1vh 1vw;
  font-weight: 600;
}

div#tab-description th {
  border: 1px solid #9E9E9E;
}

div#tab-description table th:first-child,
div#tab-description table td:first-child {
  background: #eee;
}

div#tab-description p.big {
  font-size: 1.2rem;
  font-weight: 600;
  margin-top: 2vh;
}

div#tab-description p.notes {
  font-size: 1rem;
  margin-top: 1vh;
}

.woocommerce-tabs.wc-tabs-wrapper {
  margin-bottom: 7vh !important;
}

section.related.products h2 {
  background: rgb(238, 238, 238);
  text-align: center;
  font-size: 1.4rem !important;
  font-weight: 600;
  letter-spacing: .2vw;
  padding: .5vh 0 !important;
}

section.related.products h2.woocommerce-loop-product__title {
  font-size: .9rem !important;
  background: unset !important;
  letter-spacing: unset !important;
  text-align: left !important;
}


.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper img {
  transform: none !important;
  transition: transform 0.2s ease !important;
}

.woocommerce-product-gallery__image {
  -webkit-perspective: 800px;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

.woocommerce-product-gallery__image:hover {
  transform: scale(1.05) translate3d(0, 0, 0);
}

/*---------------------------------------------------------
  個別ページ
  ---------------------------------------------------------*/

section.page-mv {
  margin-top: 12vh;
}

div#page {
  margin-top: 12vh;
  min-height: 40vw;
}

div#page article {
  margin: 0 auto;
  width: 60%;
  padding: 7vh 0 10vh;
}

div#page h1 {
  background: #111;
  color: #fff;
  padding: .5vh 0;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 5vh;
  letter-spacing: .1vw;
}

/*---------------------------------------------------------
  特徴ページ
  ---------------------------------------------------------*/

section.company-features {
  position: relative;
  background: #eee;
}

section.company-features .inner {
  padding: 7vh 0 10vh;
  width: 75%;
  margin: 0 auto;
}

section.company-features img.icon {
  position: absolute;
  top: 2vw;
  right: 1vw;
  width: 25%;
  opacity: .1;
}

section.company-features p.reveal-text {
  margin: 0 auto;
}

div#top-contents section.company-features .h2-wrap h2 {
  text-align: center;
}

.company-feature-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2fr 1.5vw 2fr;
  grid-template-columns: 2fr 2fr;
  gap: 3vw 1.5vw;
  margin-top: 5vh;
  counter-reset: feature-counter;
}

.company-feature {
  background-color: #fff;
  padding: 3vh 1vw;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  -o-transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  position: relative;
}

.company-feature::before {
  counter-increment: feature-counter;
  content: counter(feature-counter, decimal-leading-zero);
  display: block;
  font-size: 3.5rem;
  font-weight: 500;
  color: #111;
  margin-bottom: .5rem;
  letter-spacing: .1vw;
  font-style: italic;
  font-family: "Cinzel", serif;
  position: absolute;
  top: -2.75vw;
  left: 2vw;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.company-feature__title {
  font-size: 1.4rem;
  color: #111;
  margin-bottom: 2vh;
  border-bottom: 1px solid #111;
  padding-bottom: 1.5vh;
  text-align: center;
  font-weight: 600;
  letter-spacing: .2vw;
}

span.company-feature__mark {
  display: inline-block;
  background: #111;
  color: #fff;
  padding: 0 .5vw;
  margin-right: .5vw;
}

.company-feature__description {
  font-size: 1.1rem;
  margin-bottom: 3vh;
  text-align: center;
  line-height: 1.6;
}

.company-feature__details {
  padding-left: 0;
}

.company-feature__details dt {
  font-weight: 700;
  margin-bottom: 1.5vh;
  font-size: 1.2rem;
  background: #eee;
  color: #111;
  text-align: left;
  padding: .5vh 1vw;
  letter-spacing: .1vw;
}

.company-feature__details dt:nth-child(n+2) {
  margin-top: 3vh;
}

.company-feature__details dd {
  font-size: 1.1rem;
  padding: 0 .5vw;
  line-height: 1.6;
}

.company-feature__details li::before {
  content: "\2022";
  position: absolute;
  left: 0;
  color: #111;
}


/*---------------------------------------------------------
  フルオーダー
  ---------------------------------------------------------*/

div#page-full-order .inner {
  margin: 0 auto;
  width: 80%;
  padding: 0 0 7vh;
}

.full-order-intro {
  text-align: center;
  font-size: 1.2rem;
  margin: 5vh auto;
}

.required-intro,
.option-wrap .option-intro p {
  text-align: center;
  font-size: 1.2rem;
  margin: 3vh auto;
}

.full-order-intro img {
  width: 32%;
  margin: 0 auto 4vh;
}

h2.required-heading,
h2.option-heading {
  background: #111;
  color: #fff;
  padding: 1vh 2vw;
  font-size: 1.7rem;
  text-align: center;
  letter-spacing: .2vw;
  margin-bottom: 3vh;
  font-weight: 600;
}

div#page-full-order .h3-wrap {
  position: relative;
}

.section-title {
  padding-bottom: 1vh;
  margin-bottom: 3vh;
  display: block;
  border-bottom: 1.5px solid #111;
  color: #111;
  text-align: center;
  font-size: 2rem;
  letter-spacing: .1vw;
  font-weight: 600;
}

.required {
  position: absolute;
  background: #111;
  color: #fff;
  padding: 0.5vh 2vw;
  font-size: 1.3rem;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}


p.explan {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 5vh;
}

.option-wrap p.explan,
.required-4container p.explan {
  margin-bottom: 3vh;
}

/* Size section */
section.sizes-container .flex-box.left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 50%;
}

section.sizes-container .flex-box.right {
  width: 49%;
}

.prefab-sizes.left {
  width: 60%;
}

section.sizes-container h4 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5vh;
  border-left: .3vw solid #111;
  padding-left: .7vw;
  background: #EEEEEE;
}

.prefab-sizes ul {
  padding-left: 2em;
}

.prefab-sizes ul li {
  margin-bottom: 5px;
  font-size: 1.3rem;
}

.prefab-sizes ul li span {
  background: #111;
  color: #fff;
  font-size: .8em;
  padding: .5vh .5vw;
  margin-left: .5vw;
  letter-spacing: .1vw;
}

.size-image {
  width: 40%;
}

.size-image img {
  height: auto;
  width: 73%;
  margin: 0 auto;
}

.required-wrap section {
  margin-bottom: 12vh;
}

section.exterior-design-container h4 {
  font-size: 1.3rem;
  background: #111;
  color: #fff;
  padding: .5vh 0;
  text-align: center;
}


.exterior-design-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2vw 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 2vw;
  width: 50%;
  margin: 0 auto;
}

.exterior-design-item {
  text-align: center;
}

.exterior-design-item img {
  max-width: 100%;
  height: auto;
}

section.exterior-design-container h4,
section.door-design-container h4,
.window-sash-container h4,
.rain-gutter-container h4,
section.interior-container h4,
.floor-container h4,
.building-materials-container h4,
.lighting-container h4,
.switch-outlet-container h4,
.distribution-board-container h4,
.ventilation-fan-container h4,
.air-supply-opening-container h4,
.eaves-container h4,
.building-materials-op-container h4,
.entrance-threshold-container h4,
.washbasin-container h4,
.toilet-container h4,
.partition-container h4,
.wall-reinforcement-container h4,
.security-container h4,
.solar-panel-container h4,
.shower-container h4,
.bath-container h4,
section.external-power-container h4 {
  text-align: center;
  background: #111;
  color: #fff;
  padding: .5vh 0;
  font-size: 1.3rem;
  letter-spacing: .1vw;
  margin-bottom: 2vh;
}

.manufacturer-logos {
  margin-top: 7vh;
}

.manufacturer-logos p.text {
  text-align: center;
  font-size: 1.2rem;
  margin: 3vh auto;
}

.manufacturer-logos .flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}


.manufacturer-logos a {
  width: 17%;
  display: block;
}

.manufacturer-logos a.ykk {
  width: 6%;
}

.manufacturer-logos a img {
  height: 6vh;
  -o-object-fit: contain;
  object-fit: contain;
  margin: 0 auto;
  width: 100%;
}

h3.section-title span.small {
  font-size: .8em;
}

ul.roof-wrap {
  list-style: none;
  width: 80%;
  margin: 0 auto;
}

ul.roof-wrap li {
  width: 50%;
}

div#page-full-order section.roof-container a.color {
  width: 30%;
  margin: 3vh auto 0;
}

div#page-full-order p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.top-doors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3vh auto 1vh;
  list-style: none;
}

.top-doors li,
.top-doors .swiper-slide {
  max-width: 19%;
  height: auto;
  border: 1px solid #111;
}


p.ranking {
  text-align: center;
  background: #EEEEEE;
  color: #111;
  font-size: 1.1rem;
  padding: .5vh 0;
  letter-spacing: .1vw;
}

.door-design-container .type,
section.window-sash-container .type,
section.interior-container .type,
section.floor-container .type {
  margin-top: 5vh;
}

ul.door-types,
ul.window-types,
ul.top-interior,
ul.top-floor,
ul.floor-types {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin-top: 3vh;
}

ul.door-types li,
ul.floor-types li {
  width: 24%;
}


ul.door-types li a,
ul.window-types li a,
ul.floor-types li a {
  display: block;
  border: 1px solid #111;
  background-color: #f5f5f5;
  padding: .5vh 0;
  text-align: center;
  position: relative;
  letter-spacing: .1vw;
}

ul.door-types li a {
  font-size: 1.2rem;
}

ul.window-types li a,
ul.floor-types li a,
ul.floor-types li a {
  font-size: 1.1rem;
}


div#page-full-order a.link,
div#page-full-order a.color {
  display: block;
  border: 1px solid #111;
  background-color: #f5f5f5;
  padding: .25vh 0;
  text-align: center;
  font-size: 1.1rem;
  position: relative;
  margin-top: 2vh;
  width: 100%;
}

ul.door-types li a::after,
ul.window-types li a::after,
section.exterior-design-container a.color::after,
ul.floor-types li a::after,
section.lighting-container a.color::after,
section.switch-outlet-container a.link::after,
section.building-materials-container a.link::after,
div#page-full-order a.link::after,
div#page-full-order a.color::after,
.option-wrap a.link::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  border-top: 1.5px solid #111;
  border-right: 1.5px solid #111;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

ul.door-types li a::after,
section.lighting-container a.color::after,
section.switch-outlet-container a.link::after,
section.building-materials-container a.link::after,
.required-4container a.link::after,
.option-wrap a.link::after,
div#page-full-order section.roof-container a.color::after,
div#page-full-order section.distribution-board-container a.link:after {
  right: 1.5vw;
  width: .7vw;
  height: .7vw;
}

ul.window-types li a::after,
section.exterior-design-container a.color::after,
ul.floor-types li a::after {
  right: .7vw;
  width: .5vw;
  height: .5vw;
}

ul.door-types li a:hover,
ul.window-types li a:hover {
  background: #111;
  color: #fff;
  opacity: 1;
}



.door-design-container .type p.explan,
section.window-sash-container .type p.explan,
section.interior-container .type p.explan {
  margin-bottom: 0;
}

.window-sash-container .top-windows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3vh auto 1vh;
  list-style: none;
}

.window-sash-container .top-windows li,
ul.top-interior li,
ul.top-floor li {
  max-width: 19%;
  height: auto;
  border: 1px solid #111;
}

.window-sash-container .top-windows img {
  width: 100%;
  height: auto;
  display: block;
}

.window-sash-container .window-type,
p.interior-type,
p.floor-type {
  text-align: center;
  font-size: 1.1rem;
  padding: .5vh 0;
}

p.floor-type span {
  display: block;
}

ul.window-types li,
ul.top-interior li {
  width: 19%;
}

ul.window-types li:nth-child(n+6),
section.interior-container ul.door-types li:nth-child(n+5),
ul.floor-types li:nth-child(n+5) {
  margin-top: 2vh;
}

.rain-gutter-container .rain-gutter-details {
  text-align: center;
}

.rain-gutter-container .rain-gutter-details img {
  max-width: 50%;
  height: auto;
  margin-bottom: 1vh;
}


.interior-container .interior-options,
.floor-container .floor-options {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.interior-container .interior-options li,
.floor-container .floor-options li {
  width: 30%;
  margin-bottom: 3vh;
  text-align: center;
}

.interior-container .interior-options img,
.floor-container .floor-options img {
  max-width: 100%;
  height: auto;
  border: 1px solid #111;
  margin-bottom: 1vh;
}

.lighting-container .lighting-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.lighting-container .lighting-wrap li {
  width: 31%;
  text-align: center;
}

.lighting-container .lighting-wrap img {
  max-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.lighting-container .lighting-wrap p {
  font-size: 1.1rem;
}

.lighting-container p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.switch-outlet-container .switch-outlet-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.switch-outlet-container .switch-outlet-wrap li {
  width: 49%;
  text-align: center;
}

.switch-outlet-container .switch-outlet-wrap img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0.5vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.switch-outlet-container .switch-outlet-wrap p {
  font-size: 1.1rem;
}

.switch-outlet-container p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.distribution-board-container {
  width: 100%;
}

ul.distribution-board-wrap.flex-wrap.sb {
  width: 60%;
  margin: 0 auto;
}

.building-materials-container .building-materials-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

section.building-materials-container {
  width: 48%;
}

.building-materials-container .building-materials-wrap li {
  width: 100%;
  text-align: center;
}

.building-materials-container .building-materials-wrap img {
  max-width: 100%;
  width: 100%;
  margin-bottom: 0.5vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.building-materials-container .building-materials-wrap p {
  font-size: 1.1rem;
}

.building-materials-container p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.rain-gutter-container {
  width: 48%;
  margin-right: 2%;
  float: left;
}



.ventilation-fan-container {
  width: 48%;
  margin-right: 2%;
  float: left;
}

.air-supply-opening-container {
  width: 48%;
  float: left;
}

.clear {
  clear: both;
}

.option-container .toilet-container .toilet-wrap,
ul.building-materials-op-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.option-container .toilet-container .toilet-wrap li,
ul.building-materials-op-wrap li {
  width: 48%;
  text-align: center;
}

.option-wrap section {
  width: 48%;
  margin-bottom: 10vh;
}

.option-wrap section.bath-container {
  margin-bottom: 0;
}

section.external-power-container li {
  width: 48%;
}

.option-container .toilet-container .toilet-wrap img {
  max-width: 100%;
  height: auto;
  border: 1px solid #111;
  margin-bottom: 0.5vh;
}

.option-container .toilet-container .toilet-wrap p {
  font-size: 1.1rem;
}

.option-container .toilet-container p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.flex-wrap.sb.option-container {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 5vh;
}


.rain-gutter-container,
.ventilation-fan-container,
.air-supply-opening-container {
  margin-bottom: 10vh;
  width: 48%;
}

.rain-gutter-container .rain-gutter-wrap,
.distribution-board-container .distribution-board-wrap,
.ventilation-fan-container .ventilation-fan-wrap,
.air-supply-opening-container .air-supply-opening-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.rain-gutter-container .rain-gutter-wrap li,
.ventilation-fan-container .ventilation-fan-wrap li,
.air-supply-opening-container .air-supply-opening-wrap li {
  width: 100%;
  text-align: center;
}

.distribution-board-container .distribution-board-wrap li {
  width: 49%;
}

.rain-gutter-container .rain-gutter-wrap img,
.distribution-board-container .distribution-board-wrap img,
.ventilation-fan-container .ventilation-fan-wrap img,
.air-supply-opening-container .air-supply-opening-wrap img {
  max-width: 100%;
  height: auto;
  border: 1px solid #111;
  margin-bottom: 0.5vh;
  width: 100%;
}

.rain-gutter-container .rain-gutter-wrap p,
.distribution-board-container .distribution-board-wrap p,
.ventilation-fan-container .ventilation-fan-wrap p,
.air-supply-opening-container .air-supply-opening-wrap p {
  font-size: 1.1rem;
}

.rain-gutter-container p.note,
.distribution-board-container p.note,
.ventilation-fan-container p.note,
.air-supply-opening-container p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

.eaves-container .eaves-wrap,
.external-power-container .external-power-wrap,
.entrance-threshold-container .entrance-threshold-wrap,
.washbasin-container .washbasin-wrap,
.partition-container .partition-wrap,
.wall-reinforcement-container .wall-reinforcement-wrap,
.security-container .security-wrap,
.solar-panel-container .solar-panel-wrap,
.shower-container .shower-wrap,
.bath-container .bath-wrap {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.eaves-container .eaves-wrap li,
.entrance-threshold-container .entrance-threshold-wrap li,
.washbasin-container .washbasin-wrap li,
.partition-container .partition-wrap li,
.wall-reinforcement-container .wall-reinforcement-wrap li,
.security-container .security-wrap li,
.solar-panel-container .solar-panel-wrap li,
.shower-container .shower-wrap li,
.bath-container .bath-wrap li {
  width: 100%;
  text-align: center;
}

.option-wrap img {
  max-width: 100%;
  height: auto;
  border: 1px solid #111;
  margin-bottom: 0.5vh;
}

.option-wrap p {
  font-size: 1.2rem;
}

.option-wrap p.note {
  text-align: center;
  margin-top: 2vh;
  font-size: 1.1rem;
}

/*---------------------------------------------------------
  VOICE
  ---------------------------------------------------------*/
div#page-voice .inner {
  margin: 0 auto;
  width: 90%;
  padding: 7vh 0 10vh;
}

div#page-voice .customer-review-item {
  border: 1px solid #111;
  margin-bottom: 0;
}

div#page-voice li.customer-review-item:nth-child(n+5) {
  margin-top: 5vh;
}

div#page-voice .customer-reviews-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1vw 1fr 1vw 1fr 1vw 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1vw;
  list-style: none;
  padding: 0;
  margin: 0;
}

div#page-voice .customer-review-item {
  width: 100%;
  border: 1px solid #ddd;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .05);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .05);
}

div#page-voice .customer-review-img {
  height: auto;
  width: 100%;
}

section.voice .link {
  margin-top: 3vh;
}

/*---------------------------------------------------------
  Q&A
  ---------------------------------------------------------*/
div#page-qa .inner {
  margin: 0 auto;
  width: 60%;
  padding: 7vh 0 10vh;
}

.qa-navigation {
  text-align: center;
}

.qa-nav-list {
  list-style: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 7vh;
}

.qa-nav-list li {
  width: 48%;
}

.qa-nav-list li:nth-child(n+3) {
  margin-top: 2vh;
}

.qa-nav-list li a {
  display: block;
  background-color: #f5f5f5;
  border: 1px solid #111;
  color: #111;
  padding: 1vh 0;
  text-decoration: none;
  font-size: 1.2rem;
  -webkit-transition: background-color 0.3s, color 0.3s;
  -o-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
}

.qa-nav-list li a:hover {
  background-color: #111;
  color: #fff;
  opacity: 1;
}

section.qa-container h2 {
  background: #111;
  color: #fff;
  padding: 1vh 0;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 5vh;
  margin-top: 10vh;
}

div#page-qa div.qa-category:first-child h2 {
  margin-top: 0;
}

.qa-category dl {
  margin-bottom: 0;
}

.qa-category dt {
  font-size: 1.2rem;
  font-weight: 600;
  position: relative;
  padding: 2vh 0 2vh 3vw;
  background: #f5f5f5;
}

.qa-category dt:before {
  content: "Q";
  position: absolute;
  font-weight: 600;
  color: #111;
  font-size: 1.4rem;
  left: 1vw;
  top: 1.5vh;
}

.qa-category dd {
  font-size: 1.2rem;
  margin-bottom: 3vh;
  position: relative;
  padding: 2vh 1vw 0 3vw;
}

.qa-category dd:before {
  content: "A";
  position: absolute;
  left: 1vw;
  top: 1.6vh;
  font-weight: 700;
  color: #111;
  font-size: 1.4rem;
}

/*---------------------------------------------------------
  お問い合わせ
  ---------------------------------------------------------*/

section.contact_form .inner {
  margin: 0 auto;
  width: 60%;
  padding: 7vh 0 0;
}

section.contact_form h2 {
  background: #111;
  color: #fff;
  padding: 1vh 2vw;
  font-size: 1.7rem;
  text-align: center;
  letter-spacing: .2vw;
  margin-bottom: 3vh;
  font-weight: 600;
}



.into.text-wrap {
  text-align: center;
  font-size: 1.2rem;
}

a.instagram {
  background: #111;
  color: #fff;
  padding: .5vh 2vw;
  margin: 3vh auto;
  width: 50%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: .6vw;
}

a.instagram:before {
  content: "";
  display: inline-block;
  width: 1.5vw;
  height: 1.5vw;
  background: url(https://prefab-plus.com/wp-content/uploads/2025/02/instagram-logo-w.svg) no-repeat center;
  background-size: contain;
}

.pdf-wrap {
  border: 1px solid #111;
  background: #eee;
  padding: 3vh 2vw;
  margin: 5vh auto 0;
}

.pdf-wrap h3 {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2vh;
  letter-spacing: .1vw;
}

.pdf-wrap p {
  font-size: 1.2rem;
}

.pdf-wrap .flex-box {
  width: 48%;
}



.pdf-wrap a {
  width: 100%;
  text-align: center;
  background: #111;
  color: #fff;
  padding: .5vh 2vw;
  margin: 3vh auto 0;
  display: block;
  font-size: 1.2rem;
}

.pdf-wrap p.notes {
  margin-top: 2vh;
  font-size: 1.1rem;
  text-align: center;
}

.table-res-form {
  width: 100%;
  margin-top: 5vh;
}


.table-res-form tr.td_last {
  border: unset;
}

.table-res-form th,
.table-res-form td {
  padding: 2vh 3vh 2vh 0;
}

.table-res-form th {
  font-size: 1.3rem;
  width: 27%;
  text-align: right;
  vertical-align: top;
  font-weight: 500;
}

.table-res-form th span.parentheses {
  font-size: 1rem;
  display: block;
  line-height: 1.5;
  margin-top: 1vh;
}

.table-res-form td {
  vertical-align: middle;
}

.table-res-form .requied {
  font-size: .8em;
  color: #fff;
  display: inline-block;
  padding: .2vh .3vw;
  background: #E91E63;
  position: relative;
  top: -1px;
  margin-left: .2vw;
}

.wpcf7 input,
.wpcf7 textarea {
  border: 1px solid #111111 !important;
}

.wpcf7 .wpcf7-submit {
  width: 50% !important;
}

span.wpcf7-form-control.wpcf7-checkbox {
  display: -ms-grid;
  display: grid;
  text-align: left;
  font-size: 1.2rem;
}

span.wpcf7-list-item-label {
  line-height: 1.8;
}

span.wpcf7-list-item.last.has-free-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

span.wpcf7-list-item.last.has-free-text label {
  width: 12%;
}

span.wpcf7-list-item.last.has-free-text input.wpcf7-free-text {
  width: 30%;
  padding: 0 0.5em;
  height: 25px;
  margin-top: 4px;
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"],
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
select.wpcf7-form-control.wpcf7-select,
.wpcf7-text {
  padding: 0.2em 0.5em;
  height: 2.5vw;
  font-size: 1.2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  width: 100%;
}

.table-res-form input[type="text"]:focus,
textarea:focus {
  background: #FFF;
  -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

.wpcf7 input[type="checkbox"] {
  left: -.2vw;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.1vw;
  height: 1.1vw;
  border-radius: 0;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  top: -.2vh;
  position: relative;
}

.wpcf7 input[type="checkbox"]:checked {
  background-color: #111;
  border-color: #111;
  position: relative;
}

.wpcf7 input[type=checkbox]:checked:after {
  content: "";
  display: block;
  width: 1vw;
  height: .5vw;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  left: 1px;
  top: 1px;
  z-index: 1;
}

.wpcf7 input.wpcf7-form-control.wpcf7-file {
  border: unset !important;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 16em;
  padding: 0.5em;
}


.table-res-form input[type=submit] {
  position: relative;
  padding: .5vh 0;
  color: #fff;
  background: #111;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: .2em;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  border: 1.5px solid #fff !important;
  border-radius: 0;
}

.table-res-form input[type=submit]:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1.5px solid #111 !important;
  background: #ffffff;
  color: #111;
}

span.wpcf7-spinner {
  display: none;
}

tr.td_last {
  text-align: center;
}

tr.td_last td {
  padding: 1.5em 0;
}

.home tr.td_last td {
  padding: 0;
}

span.wpcf7-not-valid-tip {
  color: #E91E63;
  text-align: center;
  display: block;
  font-size: 1rem;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2vh auto 2vh !important;
  padding: .5em !important;
}

form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #e91e63 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #E91E63 !important;
}

.wpcf7-response-output {
  text-align: center;
  color: #e91e63;
  margin-top: 2em;
  padding: 0.5em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

select {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
  border: .5px solid #333 !important;
}

.recaptcha {
  text-align: center;
  margin-bottom: 1em;
}

.recaptcha a {
  text-decoration: none;
  color: #333;
  ;
}

.grecaptcha-badge {
  visibility: hidden;
}

.screen-reader-response {
  display: none;
}

p.pp {
  text-align: center;
}

p.pp a {
  color: #333;
  ;
  text-decoration: none;
  font-size: 1.2rem;
}

p.pp a:hover {
  opacity: 0.6;
}

.contact_text_bottom {
  text-align: center;
  margin-top: 3vh;
  font-size: 1rem;
}

section.tel-mail {
  margin: 0 auto;
  width: 60%;
  padding: 3vh 0 7vh;
}

section.tel-mail .inner {
  border: 1px solid #111;
  background: #eee;
  padding: 3vh;
  width: 60%;
  margin: 0 auto;
}

section.tel-mail p {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
}

/*---------------------------------------------------------
  プライバシーポリシー
  ---------------------------------------------------------*/
.page.container.privacy .inner {
  max-width: 56%;
  width: 100%;
  margin: 0 auto;
  padding: 7vh 0 7vh;
}

.privacy_policy h2 {
  margin-top: 2em;
  font-size: 1.4rem;
  font-weight: 500;
  border-bottom: 2px solid #ccc;
  padding-bottom: 0.5em;
  position: relative;
  text-align: left;
  margin-bottom: 2vh;
}

.privacy_policy h2::after {
  content: '';
  display: block;
  width: 75px;
  background-color: #111;
  height: 2px;
  position: absolute;
  bottom: -1.5px;
  left: 0;
}

.privacy_policy h2:first-of-type {
  margin-top: 0;
}

.privacy_policy p {
  margin-top: 1em;
  font-size: 1.1rem;
}

p.title_down img.office {
  width: 16%;
  position: relative;
  top: -2px;
}

.privacy_policy ol {
  margin-top: 1em;
  line-height: 2;
  padding-left: 1.5em;
  font-size: 1.1rem;
}

p.ppa a {
  color: #111;
  text-decoration: none;
  font-weight: 500;
}

p.ppa a:hover {
  opacity: 0.6;
}

li.pp_li_se {
  margin-top: 1em;
}


/*---------------------------------------------------------
ブログ
---------------------------------------------------------*/

.page.container.news .inner {
  max-width: 72%;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 7vh 0 10vh;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

section.news_wrap {
  width: calc(100% - 30%);
  padding-right: 4rem;
}

article.article-list {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  margin-bottom: 3vh;
  padding: 3vh 2vh;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 17%);
  box-shadow: 0px 5px 7px 2px rgb(120 120 120 / 22%);
  -ms-flex-pack: distribute;
  -webkit-box-pack: justify;
  justify-content: space-between;
  border: 1px solid #E0E0E0;
}

article.article-list .img-wrap {
  width: 37%;
  height: auto;
  display: -ms-grid;
  display: grid;
  place-items: center;
}

article.article-list .text {
  width: 60%;
  position: relative;
}

article.article-list .text h2 {
  font-size: 1.2rem;
  margin-bottom: .2em;
  line-height: 1.4;
  font-weight: 600;
}

article.article-list a {
  text-decoration: none;
  width: 100%;
}

article.article-list a img {
  width: 100%;
}

.cat-day {
  position: relative;
}

ul.post-categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

ul.post-categories a {
  background: #111;
  display: inline;
  color: #fff;
  padding: .2em 1em;
  margin-right: .5em;
  font-size: .8rem;
}

ul.post-categories li {
  list-style: none;
}

article.article-list p.article-date {
  position: absolute;
  top: 0;
  right: 0;
}

article.article-list .archive-text {
  margin-top: 1vh;
  line-height: 1.6;
}

.pagination {
  margin: 2rem 0;
  text-align: center;
}

.pagination ul {
  font-size: 0;
}

.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .5vw;
}

.pagination ul li:last-child {
  border: 0;
}

.pagination ul li a,
.pagination .current {
  display: block;
  padding: .5vh 1vw;
  border: 1.5px solid #111111;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
  color: #111;
}

.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}

.pagination ul li a {
  text-decoration: none;
  color: #111;
  font-weight: 500;
}

.pagination ul li a:hover {
  opacity: .6;
}

.pagination .current {
  color: #fff;
  background-color: #111;
}


/*---------------------------------------------------------
投稿ページ
---------------------------------------------------------*/

span.cat-data a {
  background: #111;
  display: inline;
  color: #fff;
  padding: .2em 1em;
  margin-right: .5em;
  font-size: .8rem;
}

.single h1 {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .02vw;
  line-height: 1.6;
}

.article-date {
  text-align: right;
  margin-bottom: 3vh;
  font-size: 1rem;
}

span.st-mymarker-s {
  background: -o-linear-gradient(transparent 70%, #d4dff4 0%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #d4dff4));
  background: linear-gradient(transparent 70%, #d4dff4 0%);
  font-weight: 700;
}

.fixed-page h2,
.single article h2,
div#page article h2 {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .04vw;
  margin: 5vh auto 3vh;
  padding: 2vh 1vw;
  border-left: .25vw solid #111111;
  line-height: 1;
  background-color: #f7f7f7;
}

.fixed-page h3,
.single article h3,
div#page article h3 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .04vw;
  margin: 3vh auto 3vh;
  padding: 1vh .5vw;
  border-bottom: 2px solid #111111;
}

.fixed-page h4,
.single article .blog-main h4,
div#page article h4 {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .04vw;
  margin: 3vh auto 3vh;
  padding: 1vh 1.2vw 0;
  position: relative;
}

.fixed-page h4::before,
.single article h4::before,
div#page article h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 1.3vw;
  left: 0;
  width: .7vw;
  height: .7vw;
  background-color: #111;
}

.fixed-page h5,
.single article h5,
div#page article h5 {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .04vw;
  margin: 3vh auto 3vh;
  padding: 1vh 0 0;
  position: relative;
}

.fixed-page .inner p,
.single article p,
div#page article p {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 3vh;
  line-height: 1.8;
}

.fixed-page .inner ul,
.single .blog-main ul,
.fixed-page .inner ol,
.single .blog-main ol,
div#page article ul,
div#page article ol {
  margin: 3vh auto;
  padding: 3vh 1vw 3vh 2.5vw;
  background-color: #f7f7f7;

}

.fixed-page .inner ul ul,
.single .blog-main ul ul,
div#page article ul ul {
  margin-top: unset;
  margin-bottom: .7vw;
  margin-left: 0;
}

.fixed-page .inner ul li,
.single .blog-main ul li,
div#page article ul li {
  list-style-type: disc;
  font-size: 1.2rem;
  margin-bottom: .7vh;
}

.fixed-page .inner ol li,
.single .blog-main ol li,
div#page article ul,
div#page article ol li {
  font-size: 1.2rem;
  margin-bottom: .7vh;
}

.fixed-page .inner ul ul li,
.single .blog-main ul ul li,
div#page article ul ul li {
  list-style: none;
}

.single article p.box-title {
  position: relative;
  top: 5vh;
  background: #111111;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 2vw;
  letter-spacing: .1vw;
  margin-top: 0;
}

.fixed-page figure,
.single article figure,
div#page article figure {
  margin: 3vh 0;
}

.fixed-page figure.wp-block-table,
.single article figure.wp-block-table {
  margin: 5vh 0;
}

.single article p.article-date {
  font-size: 1rem;
  margin-top: 0;
  text-align: right;
}

.page_sns,
div#page article sns {
  width: 48%;
  margin: 0 auto;
}


.single section.page-mv p.title {
  font-size: 6rem;
  font-weight: 500;
  font-family: "Josefin Sans", sans-serif;
  line-height: .9;
  position: relative;
  z-index: 1;
  text-align: center;
}

.single .contents {
  width: 60%;
  margin: 10vh auto;
}

section.single-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 80%;
  margin: 0 auto;
}

.page.single .inner {
  max-width: 72%;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 3vh 0;
}

section.blog_wrap {
  width: calc(100% - 30%);
  padding-right: 3vw;
}

article.article-content {
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0.5em;
}

article.article-content p.cat-data a {
  background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
  background-image: linear-gradient(47deg, #37c1ff, #30bdff);
  display: inline;
  color: #fff;
  padding: 0.5vh 1em;
  border-radius: 50px;
  margin-right: 0.5em;
  font-size: .8rem;
  text-decoration: none;
}

.article-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

section.news_wrap td,
section.news_wrap th {
  border: 1.5px solid #111 !important;
  padding: 1vh 1vw;
  font-size: 1.2rem;
}

.article-tag ul {
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0 !Important;
}

.single .post p.tag {
  background: #333;
  color: #fff;
  text-align: center;
  width: 10%;
  border-radius: 4px;
  font-size: .9rem !important;
  padding: 0 0;
  margin-bottom: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
}

.single .post .article-tag ul {
  margin-bottom: 0;
  margin-left: 0;
}

.single article .article-tag ul li {
  list-style-type: none;
  list-style: none;
  padding-right: 1em;
  font-size: 1.2rem;
}

.article-tag a {
  text-decoration: none;
  color: #333;
  ;
  font-size: 1.2rem;
}

.article-tag a::before {
  background: no-repeat;
  width: 1.2vw;
  height: 2.2vh;
  background-image: url(https://prefab-plus.com/wp-content/uploads/2025/04/tag-b.svg);
  content: '';
  margin-right: .3vw;
  display: inline-block;
  top: .3vh;
  position: relative;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 2em;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

blockquote {
  position: relative;
  border: 1px solid #607D8B;
  border-radius: .5vw;
  padding: 5vh 2vh 4vh;
  background: #f7f7f7;
  margin: 5vh auto;
}

blockquote:before {
  margin-right: 1em;
  display: block;
  position: absolute;
  width: 1.5vw;
  height: 1.5vw;
  background-image: url("https://prefab-plus.com/wp-content/uploads/2025/04/block-quote.svg");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  left: 1.5vh;
  top: 1.5vh;
}

blockquote:after {
  margin-right: 1em;
  display: block;
  position: absolute;
  width: 1.5vw;
  height: 1.5vw;
  background-image: url(https://prefab-plus.com/wp-content/uploads/2025/04/block-quote.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  right: 0;
  bottom: .5vh;
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

blockquote cite {
  display: block;
  font-size: 1rem;
  text-align: right;
  color: #9e9e9e;
  padding-right: 5vh;
}

.single article blockquote p {
  margin-top: 0;
}

blockquote a {
  display: block;
  text-align: right;
  margin-right: 2vw;
}

nav.page-nav {
  margin: 5vh auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.page-nav .prev-link {
  width: 49%;
  text-align: left;
  text-decoration: none;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #333;
  ;
  border: 2px solid #111;
  -webkit-transition: .4s ease-in-out;
  -o-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
  font-size: 1.1rem;
  line-height: 1.5;
  padding: 1vh .7vw;
  font-weight: 600;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .1em;
}

.page-nav .next-link {
  width: 49%;
  text-align: right;
  text-decoration: none;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #333;
  ;
  border: 2px solid #111111;
  -webkit-transition: .4s ease-in-out;
  -o-transition: .4s ease-in-out;
  transition: .4s ease-in-out;
  font-size: 1.1rem;
  line-height: 1.5;
  padding: 1vh .7vw;
  font-weight: 600;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

nav.page-nav a:hover {
  background: #ebf9ff;
}

.share {
  margin-bottom: 7vh;
  margin-top: 3vh;
  position: relative;
  z-index: 1;
}

.home .share,
.page-id-711 .share {
  width: 55%;
  margin: 0 auto;
}

.single article .share p {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 0;
  letter-spacing: .15vw;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  color: #111;
  font-family: "Montserrat", serif;
}

.single article .share ul {
  width: 40%;
  margin: 1vh auto 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin-left: auto;
}

.share li {
  width: 31%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.share li a,
.share li button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 2.5vw;
  width: 2.5vw;
  border-radius: 50px;
}

.share li a {
  border-radius: 50px;
}

.share li button {
  border-radius: .1vw;
  width: 3.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.share li button img {
  width: 66%;
}

.share li a:visited {
  opacity: .6;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.facebook_share a {
  background-color: #1877f1;
  color: #ffffff;
}

li.facebook_share a img {
  width: 32%;
}

.line_share a {
  background-color: #1dcd00;
  color: #ffffff;
}

li.line_share a img {
  width: 63%;
}

.tweet_share a {
  background-color: #111;
  color: #fff;
}

li.tweet_share a img {
  width: 50%;
}

.share li a:hover {
  opacity: 0.6;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

button.share-url {
  background-color: #111;
  color: #ffffff;
}

.url-copied {
  display: none;
  position: absolute;
  bottom: -6vh;
  left: 30vw;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1000;
}

.url-copied span {
  background: #111;
  color: #fff;
  padding: 6px 12px;
  border-radius: 3px;
  font-size: .8rem;
  white-space: nowrap;
}

@media(max-width: 599px) {
  .share li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .share li i {
    font-size: 1.3em;
    padding-top: 3px;
  }

  .share li a {
    font-size: .7rem;
  }

  .share li a svg {
    font-size: .95rem;
  }

  .share ul {
    width: 46%;
    margin: 3vw auto 0;
  }

  .share li a {
    height: 9.8vw;
    width: 9.8vw;
  }

  nav.page-nav {
    margin: 0 0 5vh;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.related-post-wrap {
  margin: 5vh auto 0;
}

.related-post-wrap h4 {
  margin: 0 auto 2vh;
  font-size: 1.2rem;
  font-weight: 600;
  background: #f7f7f7;
  width: 100%;
  text-align: center;
  letter-spacing: .15vw;
  padding: .5vh 0;
}

.related-post-wrap ul {
  display: -ms-grid;
  display: grid;
  list-style: none;
  gap: .875em;
  -ms-grid-columns: 1fr .875em 1fr .875em 1fr .875em 1fr;
  grid-template-columns: repeat(4, 1fr);
}

.related-post a {
  display: block;
  text-decoration: none;
  color: #000;
}

.related-post a:hover {
  opacity: .6;
}

.related-post img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  margin-bottom: .5vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.related-post .text-wrap {
  font-size: .8rem;
  font-weight: 600;
}

@media (max-width: 600px) {
  .related-post-wrap ul {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}

.sidebar {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
  width: 30%;
}

div#latest_posts_widget-2 h4 {
  font-size: 1.2rem;
  border-bottom: 2.5px solid #111;
  margin-bottom: 2vh;
  padding-bottom: .5vh;
  font-weight: 700;
  letter-spacing: .1vw;
  color: #111;
}

div#block-2 h4,
div#block-5 h4 {
  font-size: 1.2rem;
  border-bottom: 2.5px solid #111;
  margin-bottom: 1vh;
  padding-bottom: .5vh;
  font-weight: 700;
  letter-spacing: .1vw;
  color: #111;
}

.wpp-thumbnail {
  margin: 0 !important;
}

div#execphp-3 li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.sidebar p.blog_title {
  line-height: 1.4;
  font-weight: 600;
  font-size: 1rem;
}

p.post_date {
  font-size: .9rem;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
}

div#latest_posts_widget-2 li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.5vh;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.post_thumbnail {
  width: 38%;
}

div#latest_posts_widget-2 img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  -o-object-fit: cover;
  object-fit: cover;
}

.title-date {
  width: 59%;
}

div#block-2 li,
div#block-5 li {
  margin-bottom: 1em;
}

div#block-2 li:last-of-type,
div#block-5 li:last-of-type {
  margin-bottom: unset;
}

ul.wpp-list li a:hover,
.Widget_newpost li a:hover {
  opacity: 0.6;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

aside#sidebar a {
  text-decoration: none;
}

aside#sidebar .widget_block,
div#latest_posts_widget-2 {
  margin-bottom: 5vh;
}

div#block-2 a,
div#block-5 a {
  color: #111;
}

div#block-2,
div#block-5 {
  margin-top: 5vh;
}

div#block-2 ul,
div#block-5 ul {
  padding-left: .5em;
  list-style: none;
}

div#block-2 li,
div#block-5 li {
  padding: .5vh 0;
  font-size: 1.1rem;
}

div#block-2 li::before,
div#block-5 li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #111111;
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
}


/*---------------------------------------------------------
アーカイブ
---------------------------------------------------------*/

.archive.date section.news_wrap h1,
.archive.category section.news_wrap h1,
.archive.tag section.news_wrap h1 {
  font-size: 1.5rem;
  margin-bottom: 1vh;
  color: #111;
  letter-spacing: .05vw;
  font-weight: 600;
}

/*---------------------------------------------------------
404 ページ
---------------------------------------------------------*/
.error404 main {
  text-align: center;
  padding: 7vh 0 15vh;
  min-height: 31vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.error404 main h2 {
  font-size: 2rem;
  margin-bottom: 3vh;
  color: #111;
}

.error404 main p {
  font-size: 1.3rem;
}

.error404 main div {
  margin-top: 5vh;
}

.error404 main div a {
  width: 100%;
  padding: .7vh 0;
  display: block;
  text-align: center;
  margin: 0 auto;
  background: #111;
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: .05vw;
  font-weight: 500;
  position: relative;
}


/*---------------------------------------------------------
  スマホ
  ---------------------------------------------------------*/

@media only screen and (max-width:743px) {

	
	div#page-full-order .swiper-container {
  position: relative;
}

div#page-full-order .swiper-pagination {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}

  .footer_menu {
    display: none;
  }

/*   section.cases .flex-box.bg .wrap,
  section.cases .flex-box.ho .wrap {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
  }

  section.cases .flex-box.bg img,
  section.cases .flex-box.ho img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    z-index: 0;
  }

  section.cases .flex-box.bg,
  section.cases .flex-box.ho {
    overflow: visible;
    position: relative;
  }

  section.cases .flex-box.bg .wrap,
  section.cases .flex-box.ho .wrap {
    overflow: visible;
    position: relative;
    width: 100%;
    height: 100%;
  } */


  #topBtn {
    display: none !important;
  }

  br.sp_block {
    display: block !important;
  }

  .sp_block {
    display: block !important;
  }

  .pc_block {
    display: none !important;
  }

  span.pc_inline-block {
    display: none;
  }

  a.topBtn,
  .copyright p {
    display: none !important;
  }

  header#header {
    position: absolute;
  }

  .site-title-wrap {
    padding-left: 0;
    width: 100%;
  }

  .site-title-wrap img {
    width: 61%;
    margin: 0 auto;
  }

  .mv-copy {
    padding: 3vh 5vw;
    outline-offset: -1vw;
    outline: .7px solid #111;
    background: rgb(255 255 255 / 67%);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .mv-copy p {
    letter-spacing: 0;
  }

  .mv-copy p span {
    font-size: .85em;
    padding: 0;
    letter-spacing: 1vw;
  }

  section.mv {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .full.one,
  .full.two {
    width: 100%;
    height: 44vh;
  }

  .transport.banner {
    width: 92%;
    margin: 0 auto;
    padding: 4vw 2vw 4.5vw;
    outline: .7px solid #111;
    outline-offset: -1.5vw;
  }

  .transport.banner p.note {
    padding: .5vh 0;
  }

  @-webkit-keyframes scroll {
    0% {
      height: 0;
    }

    100% {
      height: 5vw;
    }
  }

  @keyframes scroll {
    0% {
      height: 0;
    }

    100% {
      height: 5vw;
    }
  }

  section.concept .inner {
    width: 92%;
    margin: 7vh auto;
  }

  section.concept h3 {
    text-wrap-mode: nowrap;
  }

  section.concept h3 {
    margin-top: 3vh;
  }

  .feature::before {
    left: 7vw;
    top: .5vw;
  }

  .feature {
    padding: 2.5vh 4vw;
  }

  .feature-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 7vw 1.5vw;
  }

  span.feature__mark,
  span.company-feature__mark {
    padding: 0 2vw;
    margin-right: 2vw;
  }

  section.features .link a:after,
  section.full-order .link a:after,
  section.ready-made .link a:after,
  section.security .link a:after,
  section.voice .link a:after {
    right: 3.5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  section.features img.icon {
    top: 7vw;
    right: 1vw;
    width: 45%;
  }

  section.full-order .inner {
    margin: 5vh auto;
  }

  .woocommerce ul.products {
    -ms-grid-columns: 1fr 2vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 10vw 2vw;
  }

  .woocommerce .products ul,
  .woocommerce ul.products {
    padding: 0;
  }

  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product {
    margin: 0 auto;
  }

  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product {
    margin: 0 auto;
  }

  section.full-order .link-wrap .link.right {
    margin-top: 2vh;
  }

  section.full-order .wrap,
  section.ready-made .wrap {
    margin: 3vh auto;
  }

  .woocommerce ul.products li.product .woocommerce-loop-category__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3 {
    padding: .5vh 0;
  }

  section.ready-made {
    margin-top: 7vh;
  }

  section.cases .flex-box {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    -o-object-fit: cover;
    object-fit: cover;
  }

  section.cases .flex-wrap {
    margin-top: 3vh;
  }


  section.cases .flex-box {
    overflow: visible;
  }


  section.security .inner {
    width: 92%;
    padding: 7vh 0;
  }

  section.security p.text {
    margin-top: 3vh;
  }

  .swiper {
    position: relative;
  }


  .home .customer-review-item {
    margin: 0 auto 2vh;
  }


  .customer-review-text {
    padding: 1.5vh 2vw;
  }

  .customer-reviews-list {
    -ms-flex-wrap: unset;
    flex-wrap: unset;
  }

  section.voice .inner {
    margin: 7vh auto;
  }

  .swiper-slide {
    width: auto;
  }

  .customer-review-item {
    width: 100% !important;
    margin-bottom: 0;
    margin-right: 0;
  }

  .home .swiper-pagination {
    position: static;
  }


  .swiper-pagination-bullet-active {
    background: #111 !important;
  }

  div#page-full-order .swiper-slide {
    max-width: 100%;
  }

  section.carriage .inner {
    width: 92%;
    padding: 7vh 0;
  }

  section#carriage .img-wrap.sp_block {
    margin-bottom: 3vh;
  }

  section#carriage .img-wrap img {
    width: 90%;
    margin: 0 auto;
  }

  section.recruit .flex-box.left {
    background-image: URL(https://prefab-plus.com/wp-content/uploads/2025/02/recrut-bg.jpg);
    background-size: cover;
  }

  section.recruit .flex-box.left .wrap {
    padding: 6vh 0;
    width: 92%;
  }

  section.recruit .link a:after {
    right: 3.5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-top: 1px solid #111;
    border-right: 1px solid #111;
  }

  section.cta .btn a {
    width: 100%;
    margin: 3vh auto 0;
    padding: 1.5vh 0;
    outline: .7px solid #fff;
    outline-offset: -1.2vw;
  }

  .footer-inner {
    padding: 6vh 0 13vh;
  }

  .breadcrumb {
    width: 92%;
    padding: 1vh 0;
  }

  section.company-features .inner {
    padding: 7vh 0;
    width: 92%;
  }

  .company-feature-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5vw 1.5vw;
    margin-top: 0;
  }

  .company-feature {
    padding: 3vh 3vw;
  }

  .company-feature::before {
    top: 1.25vw;
    left: 9vw;
  }

  .section-title {
    margin-top: 14vw;
  }


  .required {
    top: -63%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  section.sizes-container h4 {
    border-left: 1vw solid #111;
    padding-left: 2vw;
  }

  .size-image img {
    width: 42%;
    margin: 3vh auto 5vh;
  }

  .prefab-sizes ul {
    padding-left: 1.5em;
  }

  ul.window-types li a:after,
  section.exterior-design-container a.color:after,
  ul.floor-types li a:after,
  ul.door-types li a:after,
  section.lighting-container a.color:after,
  section.switch-outlet-container a.link:after,
  section.building-materials-container a.link:after,
  .required-4container a.link:after,
  .option-wrap a.link:after,
  div#page-full-order section.roof-container a.color:after,
  div#page-full-order section.distribution-board-container a.link:after {
    right: 2vw;
    width: 2vw;
    height: 2vw;
  }

  ul.door-types li a:after,
  ul.window-types li a:after,
  section.exterior-design-container a.color:after,
  ul.floor-types li a:after,
  section.lighting-container a.color:after,
  section.switch-outlet-container a.link:after,
  section.building-materials-container a.link:after,
  div#page-full-order a.link:after,
  div#page-full-order a.color:after,
  .option-wrap a.link:after {
    border-top: 1px solid #111;
    border-right: 1px solid #111;
  }

  .manufacturer-logos a img {
    margin: 0 auto 3vh;
  }

  .manufacturer-logos a img.one {
    height: 7vh;
    margin: 0 auto 1.5vh;
  }

  .manufacturer-logos a img.three {
    height: 4vh;
  }

  .manufacturer-logos a img.four {
    height: 7vh;
  }

  .manufacturer-logos a.ykk {
    width: unset;
  }

  .manufacturer-logos a img.five {
    height: 5vh;
    margin: 0;
  }

  .top-doors,
  .window-sash-container .top-windows,
  ul.top-interior,
  ul.top-floor {
    -ms-flex-wrap: unset;
    flex-wrap: unset;
	  margin: 0 auto 0;
        padding-bottom: 4vh!important;
  }

  h4.popular {
    margin-bottom: 0;
    letter-spacing: 1vw;
  }



  ul.door-types li:nth-child(n+2) {
    margin-top: 2vh;
  }

  ul.window-types li:nth-child(n+2),
  section.interior-container ul.door-types li:nth-child(n+2),
  ul.floor-types li:nth-child(n+2) {
    margin-top: 2vh;
  }

  ul.top-interior,
  ul.top-floor {
    margin-top: 0;
  }



  h2.required-heading,
  h2.option-heading {
    letter-spacing: 1vw;
  }

  .prefab-sizes ul li span {
    padding: .5vh 2vw;
  }

  .required-wrap section {
    margin-bottom: 5vh;
    border: 1px solid #111;
    padding: 1vh 3vw 4vh;
  }

  .required-wrap .option-wrap section {
    padding: 1vh 3vw 3vh;
  }

  .tax-product_cat .category-title-wrap,
  .tax-product_tag .category-title-wrap {
    padding: 3vh 0;
  }

  .category-btn-wrap .flex-box:nth-child(n+3) {
    margin-top: 1.5vh;
  }

  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span {
    padding: 1vh 3vw;
  }

  div#product-wrap .product-contents-wrap {
    width: 92%;
    margin: 5vh auto 0;
  }



  .responsive-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .responsive-table-wrap table {
    min-width: 800px;
  }

  p.swipe.sp_block {
    text-align: center;
    margin-top: 1vh;
  }

  .woocommerce div.product p.stock {
    width: 50%;
    margin: 3vh auto 2vh;
  }

  div#page-voice .inner,
  .page.container.news .inner {
    width: 92%;
    padding: 5vh 0 7vh;
  }

  div#page-qa .inner {
    width: 92%;
    padding: 5vh 0;
  }

  div#page-voice .customer-reviews-list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }

  div#page-voice li.customer-review-item:nth-child(n+2) {
    margin-top: 3vh;
  }


  .qa-category dt {
    padding: 2vh 0 2vh 8vw;
  }

  .qa-category dd {
    padding: 2vh 1vw 0 8vw;
  }

  .qa-category dt::before,
  .qa-category dd::before {
    left: 2vw;
  }

  section.qa-container h2 {
    margin-top: 7vh;
    margin-bottom: 3vh;
  }

  .woocommerce-tabs.wc-tabs-wrapper {
    margin-bottom: 5vh !important;
  }

  .lighting-container .lighting-wrap li:first-of-type,
  .switch-outlet-container .switch-outlet-wrap li:first-of-type,
  .required-wrap section.distribution-board-container,
  .required-wrap section.building-materials-container,
  .required-wrap section.ventilation-fan-container,
  .option-wrap section,
  .required-wrap section.rain-gutter-container,
  section.related.products h2 {
    margin-bottom: 5vh;
  }

  .page.container.news .inner {
    max-width: 92%;
    padding: 3vh 0 5vh;
  }

  section.news_wrap {
    width: 100%;
    padding-right: 0;
  }

  .sidebar {
    -webkit-box-flex: unset;
    -ms-flex: unset;
    flex: unset;
    width: 100%;
  }

  h1.product-title {
    margin-bottom: 3vh;
  }

  .woocommerce section.related.products ul.products {
    -ms-grid-columns: 1fr 2vw 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 5vw 2vw;
  }

  .fixed-page h2,
  .single article h2 {
    padding: 1vh 0 1vh 2vw;
    border-left: 1vw solid #111111;
    line-height: 1.6;
  }

  .fixed-page h4,
  .single article .blog-main h4 {
    padding: 1vh 0 1vh 4vw;
  }

  .fixed-page h4::before,
  .single article h4::before {
    top: 4vw;
    width: 2.5vw;
    height: 2.5vw;
  }

  .fixed-page h5,
  .single article h5 {
    padding: 1vh 2vw;
    background-color: #f7f7f7;
  }

  .fixed-page .inner ul,
  .single .blog-main ul,
  .fixed-page .inner ol,
  .single .blog-main ol,
  .fixed-page .inner ul,
  .single .blog-main ul,
  .fixed-page .inner ol,
  .single .blog-main ol {
    padding: 2vh 1vw 1vh 8vw;
    background-color: #f7f7f7;
  }

  section.news_wrap td,
  section.news_wrap th {
    border: 1px solid #111 !important;
    padding: 1vh 1.5vw;
  }

  blockquote::before,
  blockquote::after {
    width: 4.5vw;
    height: 4.5vw;
  }

  .share li button {
    border-radius: 1vw;
    height: 9.5vw;
    width: 10.5vw;
  }

  .url-copied {
    bottom: -13vw;
    left: 65vw;
  }

  .article-tag a:before {
    width: 4.5vw;
    height: 3.5vw;
    margin-right: 1vw;
  }

  .page-nav .next-link {
    margin-top: 3vh;
  }

  .page-nav .prev-link,
  .page-nav .next-link {
    border: 1.5px solid #111;
    padding: 1vh 2vw;
  }

  section.contact_form .inner {
    width: 92%;
    padding: 5vh 0 0;
  }

  a.instagram::before {
    width: 4vw;
    height: 4vw;
    margin-right: 1vw;
  }

  .pdf-wrap h3 {
    background: #111;
    color: #fff;
    padding: 1vh 0;
  }

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

  .table-res-form th,
  .table-res-form td {
    padding: 1vh 0;
  }

  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text {
    padding: 1vh 2vw;
    height: auto;
  }

  .table-res-form .requied {
    padding: .2vh 2vw;
  }

  th.message {
    margin-top: 3vh;
  }

  tr.td_last td {
    padding: 1vh 0 3vh;
  }

  section.tel-mail .inner {
    padding: 2vh 2vw;
  }

  div#tab-description th:last-child,
  div#tab-description td:last-child {
    padding: 1vh 2vw;
  }

  .error404 main {
    min-height: 100vw;
  }

  .woocommerce-no-products-found {
    position: relative;
    top: unset;
    left: unset;
    transform: unset;
    -webkit-transform: unset;
    -ms-transform: unset;
  }

  .category-contents-wrap {
    min-height: 85vw;
  }

  article.article-list {
    margin-bottom: 3vh;
    padding: 2vh 2vw;
  }

  .pagination ul li a,
  .pagination .current {
    padding: .5vh 3vw;
  }

  article.article-list p.article-date {
    top: 2vw;
  }

  section.cases .flex-box.bg img {
    z-index: -1;
  }
	
	section.window-sash-container h4.popular {
    margin-bottom: 3vh;
}

  /* display */
  section.concept .flex-box.right {
    display: none;
  }

  /* text-align */
  section.security .h2-wrap,
  .company-feature__details dt,
  section.entrance-threshold-container p.explan,
  section.partition-container p.explan,
  section.security-container p.explan,
  section.solar-panel-container p.explan,
  .table-res-form th {
    text-align: center;
  }

  .company-feature__description,
  .full-order-intro,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .manufacturer-logos p.text {
    text-align: left;
  }

  /* width */

  section.concept .flex-box.left,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  .woocommerce ul.products[class*=columns-] li.product,
  .woocommerce-page ul.products[class*=columns-] li.product,
  section.full-order .link-wrap .link,
  section.security .flex-box.left,
  section.security .flex-box.right,
  section.security .link a,
  section.carriage .flex-box.left,
  section.recruit .flex-box.left,
  section.recruit .flex-box.right,
  section.sizes-container .flex-box.left,
  .prefab-sizes.left,
  section.sizes-container .flex-box.right,
  section.sizes-container .flex-box.right,
  .size-image,
  .exterior-design-grid,
  .manufacturer-logos a,
  ul.roof-wrap,
  ul.window-types li,
  ul.top-interior li,
  ul.door-types li,
  ul.floor-types li,
  .lighting-container .lighting-wrap li,
  .switch-outlet-container .switch-outlet-wrap li,
  ul.distribution-board-wrap.flex-wrap.sb,
  section.building-materials-container,
  .rain-gutter-container,
  .ventilation-fan-container,
  .air-supply-opening-container,
  .option-wrap section,
  .page-nav .next-link,
  .page-nav .prev-link,
  .table-res-form th,
  .table-res-form td,
  section.tel-mail .inner {
    width: 100%;
  }

  .wpcf7 .wpcf7-submit {
    width: 100% !important;
  }

  .top-doors li,
  .window-sash-container .top-windows li,
  ul.top-interior li,
  ul.top-floor li {
    max-width: 100%;
  }

  #page-full-order .swiper {
    position: relative;
  }

  #page-full-order .swiper-pagination {
    position: absolute;
  }

  section.full-order .link-wrap,
  section.voice .inner,
  section.cta .inner,
  div#page-full-order .inner,
  section.tel-mail {
    width: 92%;
  }

  section.ready-made .link {
    width: 92%;
    margin: 0 auto;
  }

  .page.container.privacy .inner {
    max-width: 92%;
    padding: 5vh 0;
  }

  a.instagram {
    width: 70%;
  }

  .full-order-intro img {
    width: 67%;
  }

  .single article .share ul {
    width: 60%;
  }


  .transport.banner p.link {
    width: 55%;
  }

  .footer_logo img {
    width: 53%;
  }

  section.concept .flex-box,
  div#page-full-order section.roof-container a.color {
    width: 50%;
  }

  .category-btn-wrap .flex-box {
    width: 49%;
  }

  div#tab-description td:first-child {
    width: 19%;
  }

  footer#footer .sns-wrap {
    width: 6vw;
  }



  /* line-height */
  .transport.banner p.note,
  p.floor-type,
  section.security-container h4,
  section.news_wrap td,
  section.news_wrap th {
    line-height: 1.6;
  }

  .category .cat-day,
  .date .cat-day,
  .tag .cat-day {
    line-height: 1;
  }

  /* font-weight */
  .table-res-form th {
    font-weight: 700;
  }

  /* font-size */

  section.concept p.reveal-text,
  p.reveal-text,
  section.full-order .reveal-text,
  section.ready-made .reveal-text,
  section.cases .text-wrap h3,
  section.cta p.reveal-text {
    font-size: 10vw;
  }

  .feature::before,
  .company-feature::before {
    font-size: 9vw;
  }

  .category-title-wrap p,
  .product-title-wrap p.en,
  .category-title-wrap p.en {
    font-size: 7vw;
  }

  section.carriage h2,
  .section-title,
  .woocommerce h1 {
    font-size: 5vw;
  }

  div#product-wrap span.woocommerce-Price-amount.amount bdi {
    font-size: 5vw !important;
  }

  section.concept h3,
  .feature__title,
  section.cta p.quotation,
  section.cta .btn a,
  nav.globalMenuSp ul li a,
  .company-feature__title,
  section.sizes-container h4,
  h2.required-heading,
  h2.option-heading,
  h1.product_title.entry-title,
  h2.equipment,
  .sale-info p.p1,
  div#tab-description h3,
  .qa-category dt::before,
  .qa-category dd::before,
  .single h1,
  .single article .share p,
  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4,
  section.contact_form h2,
  .table-res-form th,
  .error404 main h2,
  .archive.date section.news_wrap h1,
  .archive.category section.news_wrap h1,
  .archive.tag section.news_wrap h1 {
    font-size: 4.5vw;
  }

  section.related.products h2 {
    font-size: 4.5vw !important;
  }

  section.carriage p.area,
  .category-btn-wrap .flex-box a,
  section.qa-container h2,
  .fixed-page h2,
  .single article h2,
  .fixed-page h3,
  .single article h3,
  .table-res-form input[type=submit],
  .privacy_policy h2 {
    font-size: 4.2vw;
  }

  .mv-copy p,
  .transport.banner p.title,
  .company-feature__details dt,
  .prefab-sizes ul li,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  p.ranking,
  ul.door-types li a,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .woocommerce div.product p.stock,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  div#tab-description h2,
  .sale-info p.p2,
  div#tab-description p.big,
  .fixed-page h4,
  .single article .blog-main h4,
  div#block-2 li,
  div#block-5 li,
  .pdf-wrap h3,
  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text,
  p.pp a,
  .error404 main p,
  .error404 main div a,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message {
    font-size: 4vw;
  }

  section.cases .text-wrap p.cs {
    font-size: 4vw !important;
  }

  section.full-order h2.woocommerce-loop-product__title,
  div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
    font-size: 3.8vw !important;
  }

  section.concept .flex-box.left .text-wrap p,
  .feature__description,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.cases .text-wrap p,
  section.security p.text,
  section.security .link a,
  .customer-review-text,
  section.carriage p,
  section.recruit p.text,
  section.recruit .link a,
  .company-feature__description,
  .company-feature__details dd,
  .full-order-intro p,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .required,
  div#page-full-order a.link,
  .manufacturer-logos p.text,
  div#page-full-order p.note,
  ul.window-types li a,
  ul.floor-types li a,
  ul.floor-types li a,
  .window-sash-container .window-type,
  p.interior-type,
  p.floor-type,
  .category-intro,
  .woocommerce .woocommerce-ordering select,
  div#order-catalog h2.product-title,
  div#tab-description table,
  div#tab-description p.notes,
  .qa-nav-list li a,
  .qa-category dd,
  .qa-category dt,
  .customer-review-name,
  .fixed-page .inner p,
  .single article p,
  .fixed-page h5,
  .single article h5,
  .fixed-page .inner ul li,
  .single .blog-main ul li,
  .fixed-page .inner ol li,
  .single .blog-main ol li,
  section.news_wrap td,
  section.news_wrap th,
  .into.text-wrap,
  a.instagram,
  .pdf-wrap p,
  .pdf-wrap a,
  .contact_text_bottom,
  section.tel-mail p,
  .privacy_policy p,
  .privacy_policy ol,
  section.cta p.text,
  article.article-list .text h2,
  .pagination ul li a,
  .pagination .current {
    font-size: 3.8vw;
  }

  .category-title-wrap h1,
  .category-title-wrap p.jp,
  .transport.banner p.note,
  div#top-contents .h2-wrap h2,
  div#page-full-order a.color,
  h2.product-title,
  .product-title-wrap p.product-title,
  .single article .article-tag ul li,
  .article-tag a,
  .sidebar p.blog_title,
  .pdf-wrap p.notes,
  span.wpcf7-not-valid-tip,
  .woocommerce .woocommerce-result-count,
  .page-nav .next-link,
  .page-nav .prev-link {
    font-size: 3.6vw;
  }

  .home .woocommerce ul.products li.product .woocommerce-loop-product__title,
  section.related.products h2.woocommerce-loop-product__title {
    font-size: 3.6vw !important;
  }

  .scroll a,
  .woocommerce ul.products li.product .price ins,
  table.product-item td,
  table.product-item th,
  p.swipe.sp_block,
  .product_meta {
    font-size: 3.5vw;
  }

  .transport.banner p.link,
  .woocommerce ul.products li.product .price del,
  span.woocommerce-Price-amount.amount bdi,
  .previous-product a,
  .next-product a,
  .wpcf7 form .wpcf7-response-output {
    font-size: 3.2vw;
  }


  .mv-copy p.en,
  .breadcrumb,
  span.cat-data a,
  .article-date,
  p.post_date,
  .recaptcha,
  article.article-list .archive-text {
    font-size: 3vw;
  }

  small.woocommerce-price-suffix,
  .url-copied span,
  ul.post-categories a {
    font-size: 2.5vw;
  }


  /*--------------------------------
スマホフッター固定バー
---------------------------------*/


  _::-webkit-full-page-media,
  _:future,
  :root ul.floating li {
    padding: 2vh 0 3vh;
  }

  _::-webkit-full-page-media,
  _:future,
  :root footer#footer .footer-inner {
    padding: 5vh 0 13vh;
  }


  ul.floating {
    background: #111;
    margin: 0 auto;
    overflow: hidden;
    display: table;
    table-layout: fixed;
    text-align: center;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: .5px solid #fff;
  }

  ul.floating li {
    padding: 2vh 0 2vh;
    display: table-cell;
    border-right: .5px solid #fff;
  }

  ul.floating li a {
    border: none;
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    line-height: 1;
    color: #fff;
  }


  .hamburger {
    display: block;
    height: auto;
    cursor: pointer;
    text-align: center;
    color: #fff;
  }

  ul.floating li.one a,
  ul.floating li.three {
    letter-spacing: .5vw;
  }

  li.two {
    width: 50%;
  }

  li.two a {
    font-size: 4vw;
    font-weight: 500;
  }

  ul.floating li.three {
    border-right: unset;
  }


  /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
  .g-nav-openbtn {
    display: block;
    position: absolute;
    z-index: 999999;
    top: 3vw;
    right: 3%;
    cursor: pointer;
    width: 50px;
    height: 11vh;
  }

  .g-nav-openbtn .openbtn-area.hamburger {
    cursor: pointer;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
  }

  .g-nav-openbtn span {
    display: inline-block;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 2px;
    width: 45%;
  }

  .g-nav-openbtn span:nth-of-type(1) {
    top: 2.8vh;
    background: #111;
  }

  .g-nav-openbtn span:nth-of-type(2) {
    top: 4vh;
    background: #111;
  }

  .g-nav-openbtn span:nth-of-type(3) {
    top: 5.2vh;
    background: #111;
  }

  .g-nav-openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    -webkit-transform: translateY(6px) rotate(-135deg);
    -ms-transform: translateY(6px) rotate(-135deg);
    transform: translateY(6px) rotate(-135deg);
    width: 40%;
    background: #111;
  }

  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0;
    top: 24px;
    left: 18px;
    width: 40%;
  }

  .g-nav-openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    -webkit-transform: translateY(-6px) rotate(135deg);
    -ms-transform: translateY(-6px) rotate(135deg);
    transform: translateY(-6px) rotate(135deg);
    width: 40%;
    background: #111;
  }

  .g-nav-openbtn span {
    background: #111;
    -webkit-transition: background 0.3s ease;
    -o-transition: background 0.3s ease;
    transition: background 0.3s ease;
  }

  .g-nav-openbtn.scrolled span {
    background: #111;
  }

  .globalMenuSp.active~.g-nav-openbtn span {
    background: #111 !important;
  }

  .nav-menu .menu-list,
  nav.globalMenuSp ul {
    display: block;
  }


  nav.globalMenuSp {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    color: #fff;
    background: #3ad6ff;
    text-align: center;
    width: 100%;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    min-height: 100%;
  }

  nav#g-nav {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 10000;
    background: #fff;
  }

  div#g-nav-list {
    width: 80%;
  }

  .g-nav_logo {
    width: 68%;
    margin: 0 auto 3vh;
  }

  nav.globalMenuSp ul#g-navi {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: unset;
  }

  nav.globalMenuSp ul li {
    padding: 1vh 0;
    width: 100%;
  }

  nav ul li a {
    font-weight: 400;
    font-family: unset;
    border-right: unset;
  }

  .menu-list {
    width: 100%;
    top: 0;
    border: unset;
    position: relative;
  }

  .menu-list>li.one a {
    border-bottom: unset;
  }

  nav ul li.contact {
    outline: unset;
    outline-offset: unset;
    background: unset;
  }

  header nav ul li,
  li.nav-menu {
    display: block;
    font-size: 4.5vw;
  }

  nav.globalMenuSp ul li:hover {
    background: rgb(255 255 255 / 50%);
  }

  nav.globalMenuSp ul li a,
  li.nav-menu {
    display: block;
    color: #111;
    padding: 0;
    text-decoration: none;
    letter-spacing: 2px;
    font-weight: 600;
    text-align: center;
    line-height: 1.6;
  }

  header nav ul li a span.jp {
    font-size: .8em;
  }

  nav.globalMenuSp.active {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  nav.globalMenuSp ul li:hover {
    background: unset;
  }

  .is-fixed {
    display: none !important;
  }

  nav#g-nav .hamburger {
    color: #171c61;
    font-size: 3.2vw;
    background: #111;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1.5vh auto 0;
    padding: .5vh 1.5em;
    border-radius: 50px;
    color: #fff;
  }

  nav.globalMenuSp ul li.contact a {
    padding: 1.5vh 0;
    background: #111;
    height: unset;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-top: 1vh;
    color: #fff;
    outline: .7px solid #fff;
    outline-offset: -1vw;
    line-height: 1.4;
  }
}

@media screen and (min-width: 767px) {

  ul.floating {
    display: none !important;
  }
}


/*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {

  section.related.products li.product {
    width: 22% !important;
  }

  .woocommerce section.related.products ul {
    padding: 2.5vh 0 0;
  }

  .woocommerce section.related.products ul.products {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .home .woocommerce ul.products[class*=columns-] li.product {
    margin: 0 !important;
  }

  section.concept {
    height: 48vw;
  }

  .url-copied {
    bottom: -4vh;
    left: 37vw;
  }

  .home .woocommerce ul.products[class*=columns-] li.product {
    width: 100%;
  }

  .page-nav .prev-link,
  .page-nav .next-link {
    border: 1.5px solid #111;
  }

  ul.post-categories li {
    line-height: 1;
  }

  .table-res-form th {
    vertical-align: middle;
  }

  .table-res-form th.message {
    vertical-align: top;
  }

  .privacy_policy h2:after {
    height: 1px;
  }

  .privacy_policy h2 {
    border-bottom: 1px solid #ccc;
    margin-bottom: 1vh;
  }

  .tax-product_cat .category-title-wrap,
  .tax-product_tag .category-title-wrap,
  .category-title-wrap,
  .product-title-wrap {
    line-height: unset;
  }

  /* width */
  div#page-full-order .inner,
  section.company-features .inner {
    width: 90%;
  }

  .page.container.news .inner {
    max-width: 90%;
  }

  div#page-qa .inner,
  section.contact_form .inner {
    width: 80%;
  }

  .page.container.privacy .inner {
    max-width: 70%;
  }

  div#product-wrap .product-contents-wrap {
    width: 60%;
  }

  .scroll a::after {
    width: .5px;
  }

  /* top */
  .qa-category dd::before,
  .qa-category dt::before {
    top: .8vh;
  }

  .fixed-page h4::before,
  .single article h4::before {
    top: 1.65vw;
  }

  blockquote:before {
    top: .75vh;
  }

  /* min-height */
  div#ready-made,
  div#order-catalog,
  div#product-category-archive,
  div#product-tag-archive,
  .paged.category .blog-page-wrap,
  .error404 main {
    min-height: 133vw;
  }

  /* height */
  header#header,
  .site-title-wrap,
  header nav ul,
  header nav ul li.contact a,
  .site-title-wrap a {
    height: 6vh;
  }

  section.mv,
  .full.one,
  .full.two {
    height: 44vh;
  }

  .manufacturer-logos a img {
    height: 3vh;
  }

  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text {
    height: 3vw;
  }

  .article-tag a::before {
    height: 1vh;
  }

  /* margin */

  section.mv,
  section.page-mv,
  div#ready-made,
  div#order-catalog,
  div#product-category-archive,
  div#product-tag-archive {
    margin-top: 6vh;
  }

  div#product-wrap {
    margin: 6vh auto 5vh;
  }

  .required-wrap section {
    margin-bottom: 6vh;
  }

  section.full-order .inner {
    margin: 5vh auto;
  }

  section.cases .inner {
    margin: 5vh 0 0;
  }

  section.concept .inner {
    margin: 4.5vh auto;
  }

  section.voice .inner {
    margin: 3.5vh auto 5vh;
  }

  .manufacturer-logos {
    margin-top: 3.5vh;
  }

  div#product-wrap .product-contents-wrap {
    margin: 3.5vh auto 0;
  }

  .qa-nav-list {
    margin-bottom: 3.5vh;
  }

  .woocommerce-tabs.wc-tabs-wrapper {
    margin-bottom: 3.5vh !important;
  }

  .feature-list {
    margin-top: 3.5vh;
    margin-bottom: 2.5vh;
  }

  .transport.banner,
  .full-order-intro,
  .category-intro,
  .fixed-page figure.wp-block-table,
  .single article figure.wp-block-table {
    margin: 2.5vh auto;
  }

  section.security .link a,
  section.cta .btn a,
  nav.page-nav {
    margin: 2.5vh auto 0;
  }

  blockquote {
    padding: 2.5vh 2vh 2vh;
    margin: 2.5vh auto;
  }

  .pdf-wrap {
    padding: 1.5vh 2vw;
    margin: 2.5vh auto 0;
  }

  section.qa-container h2 {
    padding: .5vh 0;
    margin-top: 5vh;
    margin-bottom: 2.5vh;
  }

  .woocommerce ul.products li.product:nth-child(n+5),
  .woocommerce-page ul.products li.product:nth-child(n+5),
  section.cases .flex-wrap,
  .company-feature-list,
  .door-design-container .type,
  section.window-sash-container .type,
  section.interior-container .type,
  section.floor-container .type,
  .flex-wrap.sb.option-container,
  div#page-voice li.customer-review-item:nth-child(n+5),
  div#block-2,
  div#block-5,
  .table-res-form,
  .woocommerce-product-details__short-description {
    margin-top: 2.5vh;
  }

  .category-btn-wrap,
  aside#sidebar .widget_block,
  div#latest_posts_widget-2 {
    margin-bottom: 2.5vh;
  }

  .fixed-page h2,
  .single article h2 {
    margin: 2.5vh auto 1.5vh;
    padding: 1vh 1vw;
  }

  div#tab-description h3 {
    padding: .25vh 0;
    margin: 2.5vh auto 1.5vh;
  }

  .woocommerce div.product p.stock {
    margin: 2vh auto 1vh;
  }

  section.concept .flex-box.left .text-wrap,
  ul.customer-reviews-list.swiper-wrapper,
  section.voice .link,
  .company-feature__details dt:nth-child(n+2),
  ul.door-types,
  ul.window-types,
  ul.top-interior,
  ul.top-floor,
  ul.floor-types,
  .fixed-page .inner p,
  .single article p,
  .contact_text_bottom,
  .product_meta {
    margin-top: 1.5vh;
  }

  .required-intro,
  .option-wrap .option-intro p,
  .manufacturer-logos p.text,
  a.instagram,
  div#tab-description table {
    margin: 1.5vh auto;
  }

  section.recruit .link a,
  footer#footer .sns-wrap,
  div#page-full-order section.roof-container a.color {
    margin: 1.5vh auto 0;
  }

  .top-doors,
  .window-sash-container .top-windows {
    margin: 1.5vh auto .5vh;
  }

  .fixed-page h3,
  .single article h3 {
    margin: 1.5vh auto;
    padding: .5vh .5vw;
    border-bottom: 1.5px solid #111;
  }

  .fixed-page h4,
  .single article .blog-main h4 {
    margin: 1.5vh auto;
    padding: .5vh 1.2vw 0;
  }

  .fixed-page h5,
  .single article h5 {
    margin: 1.5vh auto;
    padding: .5vh 0 0;
  }

  .fixed-page .inner ul,
  .single .blog-main ul,
  .fixed-page .inner ol,
  .single .blog-main ol {
    margin: 1.5vh auto;
    padding: 1.5vh 1vw 1vh 2.5vw;
  }

  .pdf-wrap a {
    padding: .25vh 2vw;
    margin: 1.5vh auto 0;
  }

  .section-title {
    padding-bottom: .5vh;
    margin-bottom: 1.5vh;
  }

  .share {
    margin-bottom: 3.5vh;
    margin-top: 1.5vh;
  }

  .mv-copy p.en,
  div#page-full-order a.link,
  div#page-full-order a.color,
  div#page-full-order p.note,
  ul.window-types li:nth-child(n+6),
  section.interior-container ul.door-types li:nth-child(n+5),
  ul.floor-types li:nth-child(n+5),
  .qa-nav-list li:nth-child(n+3),
  .pdf-wrap p.notes,
  div#tab-description p.big {
    margin-top: 1vh;
  }

  .sale-info {
    padding: 1vh;
    margin: 1vh auto;
  }

  div#latest_posts_widget-2 li {
    margin-top: .75vh;
  }


  .transport.banner p.link {
    margin: .5vh auto 0;
  }


  .feature__title {
    margin-bottom: .5vh;
    padding-bottom: .5vh;
  }


  .customer-review-item,
  .company-feature__description,
  p.explan,
  .option-wrap p.explan,
  .required-4container p.explan,
  .article-date,
  h1.product-title {
    margin-bottom: 1.5vh;
  }

  h2.required-heading,
  h2.option-heading {
    padding: .5vh 2vw;
    margin-bottom: 1.5vh;
  }

  .qa-category dd {
    margin-bottom: 1.5vh;
    padding: 1vh 1vw 0 3vw;
  }

  article.article-list {
    margin-bottom: 1.5vh;
    padding: 1.5vh 2vh;
    -webkit-box-shadow: 0px 2.5px 3.5px 1px rgb(120 120 120 / 22%);
    box-shadow: 0px 2.5px 3.5px 1px rgb(120 120 120 / 22%);
  }

  section.contact_form h2 {
    padding: .5vh 2vw;
    margin-bottom: 1.5vh;
  }

  div#top-contents .h2-wrap,
  section.cta.page .h2-wrap,
  section.carriage h2,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .pdf-wrap h3 {
    margin-bottom: 1vh;
  }

  .woocommerce div.product div.summary {
    margin-bottom: 1em;
  }

  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4 {
    border-bottom: 1.5px solid #111;
    margin-bottom: .5vh;
  }

  .company-feature__title {
    margin-bottom: 1vh;
    padding-bottom: .75vh;
  }

  .company-feature__details dt,
  section.sizes-container h4 {
    margin-bottom: .75vh;
  }



  section.cta p.quotation {
    margin-bottom: .5vh;
  }

  div#tab-description th,
  div#tab-description td {
    padding: .5vh 1vw;
  }

  .fixed-page .inner ul li,
  .single .blog-main ul li {
    margin-bottom: .35vh;
  }

  .option-wrap img {
    margin-bottom: .25vh;
  }

  section.ready-made .wrap {
    margin: 0 auto 2.5vh;
  }

  .full-order-intro img {
    margin: 0 auto 2vh;
  }

  section.interior-container p.explan {
    margin-bottom: 0;
  }

  .woocommerce .products ul,
  .woocommerce ul.products {
    margin: 0;
  }

  /* pading */

  section.security .inner,
  section.carriage .inner {
    padding: 4.5vh 0;
  }

  section.recruit .flex-box.left .wrap {
    padding: 4vh 0;
  }

  section.features .inner,
  section.company-features .inner,
  div#page-voice .inner,
  div#page-qa .inner,
  .page.container.news .inner {
    padding: 3.5vh 0 5vh;
  }

  section.cta .inner,
  .page.container.privacy .inner {
    padding: 3.5vh 0;
  }

  section.contact_form .inner {
    padding: 3.5vh 0 0;
  }

  .footer-inner {
    padding: 3vh 0 2vh;
  }

  .woocommerce .products ul,
  .woocommerce ul.products {
    padding: 2.5vh 0;
  }

  .mv-copy {
    padding: 2vh 3vw;
  }

  .company-feature {
    padding: 1.5vh 1vw;
  }

  .category-title-wrap,
  .product-title-wrap,
  section.tel-mail .inner {
    padding: 1.5vh 0;
  }

  section.tel-mail {
    padding: 1.5vh 0 3.5vh;
  }

  .feature {
    padding: 1.25vh 1vw;
  }

  .qa-category dt {
    padding: 1vh 0 1vh 3vw;
  }

  .table-res-form th,
  .table-res-form td {
    padding: 1vh 2vw 1vh 0;
  }

  section.cta .btn a {
    padding: .75vh 0;
  }

  .customer-review-text {
    padding: .75vh 1vw;
  }

  tr.td_last td {
    padding: .75em 0;
  }

  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.security .link a,
  section.recruit .link a,
  .category-btn-wrap .flex-box a,
  .qa-nav-list li a,
  table.product-item td,
  table.product-item th {
    padding: .5vh 0;
  }

  .page-nav .prev-link,
  .page-nav .next-link {
    padding: .5vh .7vw;
  }

  .previous-product a,
  .next-product a,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current {
    padding: .5vh 1vw;
  }

  section.news_wrap td,
  section.news_wrap th {
    border: 1px solid #111 !important;
    padding: .5vh 1vw;
  }

  p.ranking,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .mv-copy p.en {
    padding: .25vh 0;
  }

  .required {
    padding: .25vh 2vw;
  }

  .prefab-sizes ul li span {
    padding: .25vh .5vw;
  }

  .pagination ul li a,
  .pagination .current {
    padding: .25vh 1vw;
    border: 1px solid #111;
  }

  section.related.products h2 {
    padding: .25vh !important;
  }

  div#page-full-order .inner {
    padding: 0;
  }

  /* gap */
  .woocommerce ul.products {
    gap: 3vh 1.5vw;
  }

  /* font-size */
  section.concept p.reveal-text,
  section.cta p.reveal-text {
    font-size: 4.3vw;
  }

  p.reveal-text,
  section.cases .text-wrap h3 {
    font-size: 3.8vw;
  }

  section.full-order .reveal-text,
  section.ready-made .reveal-text {
    font-size: 3.4vw;
  }

  .company-feature:before {
    font-size: 3.3vw;
  }

  .feature::before {
    font-size: 2.8vw;
  }

  .category-title-wrap p,
  .product-title-wrap p.en,
  .category-title-wrap p.en {
    font-size: 2.1vw;
  }

  .mv-copy p {
    font-size: 2vw;
  }

  .transport.banner p.title,
  section.cta .btn a,
  .section-title,
  .error404 main h2 {
    font-size: 1.8vw;
  }

  .mv-copy p.en,
  section.concept h3,
  section.contact_form h2 {
    font-size: 1.6vw;
  }

  section.carriage h2,
  h2.required-heading,
  h2.option-heading,
  .single h1,
  .fixed-page h2,
  .single article h2 {
    font-size: 1.5vw;
  }

  section.cases .text-wrap p.cs,
  section.sizes-container h4,
  .category-btn-wrap .flex-box a,
  section.qa-container h2,
  .single article .share p,
  .fixed-page h3,
  .single article h3,
  .pdf-wrap h3,
  h1.product_title.entry-title,
  .archive.date section.news_wrap h1,
  .archive.category section.news_wrap h1,
  .archive.tag section.news_wrap h1 {
    font-size: 1.4vw;
  }

  div#product-wrap span.woocommerce-Price-amount.amount bdi {
    font-size: 1.4vw !important;
  }

  .company-feature__title,
  .qa-category dt:before,
  .qa-category dd:before,
  .fixed-page h4,
  .single article .blog-main h4,
  .table-res-form input[type=submit],
  .privacy_policy h2,
  h2.equipment,
  .sale-info p.p1,
  div#tab-description h3 {
    font-size: 1.3vw;
  }

  section.related.products h2 {
    font-size: 1.3vw !important;
  }

  .feature__title,
  section.cases .text-wrap p,
  section.cta p.quotation,
  .category-title-wrap h1,
  .category-title-wrap p.jp,
  .required,
  .prefab-sizes ul li,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .fixed-page h5,
  .single article h5,
  .table-res-form th,
  .woocommerce div.product p.stock,
  .error404 main p,
  .error404 main div a,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message,
  .product-title-wrap p.product-title {
    font-size: 1.2vw;
  }

  section.concept .flex-box.left .text-wrap p,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.carriage p.area,
  .company-feature__details dt,
  .full-order-intro,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .manufacturer-logos p.text,
  ul.door-types li a,
  .category-intro,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .qa-nav-list li a,
  .qa-category dt,
  .qa-category dd,
  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4,
  .fixed-page .inner p,
  .single article p,
  .single article .article-tag ul li,
  .article-tag a,
  .fixed-page .inner ul li,
  .single .blog-main ul li,
  .fixed-page .inner ol li,
  .single .blog-main ol li,
  section.news_wrap td,
  section.news_wrap th,
  .into.text-wrap,
  .pdf-wrap p,
  .pdf-wrap a,
  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text,
  p.pp a,
  section.tel-mail p,
  .sale-info p.p2,
  div#tab-description p.big,
  article.article-list .text h2 {
    font-size: 1.1vw;
  }

  header nav ul li a,
  header nav ul li.contact a,
  .scroll a,
  .transport.banner p.note,
  div#top-contents .h2-wrap h2,
  .feature__description,
  .woocommerce ul.products li.product .price del,
  span.woocommerce-Price-amount.amount bdi,
  section.security .link a,
  section.carriage p,
  section.recruit .link a,
  section.cta p.text,
  .company-feature__description,
  .company-feature__details dd,
  div#page-full-order a.link,
  div#page-full-order a.color,
  div#page-full-order p.note,
  p.ranking,
  .window-sash-container .window-type,
  p.interior-type,
  p.floor-type,
  div#order-catalog h2.product-title,
  div#block-2 li,
  div#block-5 li,
  .pdf-wrap p.notes,
  .privacy_policy p,
  .privacy_policy ol,
  .wpcf7 form .wpcf7-response-output {
    font-size: 1vw;
  }

  section.full-order h2.woocommerce-loop-product__title {
    font-size: 1vw !important;
  }

  .transport.banner p.link,
  section.security p.text,
  .customer-review-name,
  .customer-review-text,
  section.recruit p.text,
  .copyright p,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  h2.product-title,
  h2.reveal-text,
  .article-date,
  .sidebar p.blog_title,
  a.instagram,
  .wpcf7 input.wpcf7-form-control.wpcf7-file,
  .recaptcha,
  .contact_text_bottom,
  .product_meta,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  div#tab-description h2,
  div#tab-description table,
  div#tab-description p.notes,
  .previous-product a,
  .next-product a,
  .article-date,
  article.article-list .archive-text,
  .pagination ul li,
  span.wpcf7-not-valid-tip,
  .page-nav .prev-link,
  .page-nav .next-link {
    font-size: .9vw;
  }

  .woocommerce ul.products li.product .woocommerce-loop-category__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3,
  div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
    font-size: .9vw !important;
  }

  p.post_date,
  table.product-item td,
  table.product-item th {
    font-size: .8vw;
  }

  section.related.products h2.woocommerce-loop-product__title {
    font-size: .8vw !important;
  }

  .breadcrumb,
  span.cat-data a,
  ul.post-categories a,
  .url-copied span {
    font-size: .7vw;
  }

  small.woocommerce-price-suffix {
    font-size: .6vw;
  }
}



/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 744px) and (max-device-width: 1400px) and (orientation: landscape) {

  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4 {
    border-bottom: 1.5px solid #111;
  }

  .page-nav .prev-link,
  .page-nav .next-link {
    border: 1px solid #111;
  }

  section.news_wrap td,
  section.news_wrap th {
    border: 1px solid #111 !important;
  }

  .top-doors li,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  div#page-full-order a.link,
  div#page-full-order a.color,
  .window-sash-container .top-windows li,
  ul.top-interior li,
  ul.top-floor li,
  .rain-gutter-container .rain-gutter-wrap img,
  .distribution-board-container .distribution-board-wrap img,
  .ventilation-fan-container .ventilation-fan-wrap img,
  .air-supply-opening-container .air-supply-opening-wrap img,
  .option-container .toilet-container .toilet-wrap img,
  .option-wrap img,
  .qa-nav-list li a {
    border: .7px solid #111;
  }

  ul.door-types li a:after,
  ul.window-types li a:after,
  section.exterior-design-container a.color:after,
  ul.floor-types li a:after,
  section.lighting-container a.color:after,
  section.switch-outlet-container a.link:after,
  section.building-materials-container a.link:after,
  div#page-full-order a.link:after,
  div#page-full-order a.color:after,
  .option-wrap a.link:after {
    border-top: 1px solid #111;
    border-right: 1px solid #111;
  }

  section.concept p.reveal-text,
  section.cta p.reveal-text {
    font-size: 4.3vw;
  }

  p.reveal-text,
  section.cases .text-wrap h3 {
    font-size: 3.8vw;
  }

  section.full-order .reveal-text,
  section.ready-made .reveal-text {
    font-size: 3.4vw;
  }

  .company-feature:before {
    font-size: 3.3vw;
  }

  .feature::before {
    font-size: 2.8vw;
  }

  .category-title-wrap p,
  .product-title-wrap p.en,
  .category-title-wrap p.en {
    font-size: 2.1vw;
  }

  .mv-copy p {
    font-size: 2vw;
  }

  .transport.banner p.title,
  section.cta .btn a,
  .section-title,
  .error404 main h2 {
    font-size: 1.8vw;
  }

  .mv-copy p.en,
  section.concept h3,
  section.contact_form h2 {
    font-size: 1.6vw;
  }

  section.carriage h2,
  h2.required-heading,
  h2.option-heading,
  .single h1,
  .fixed-page h2,
  .single article h2 {
    font-size: 1.5vw;
  }

  section.cases .text-wrap p.cs,
  section.sizes-container h4,
  .category-btn-wrap .flex-box a,
  section.qa-container h2,
  .single article .share p,
  .fixed-page h3,
  .single article h3,
  .pdf-wrap h3,
  h1.product_title.entry-title,
  .archive.date section.news_wrap h1,
  .archive.category section.news_wrap h1,
  .archive.tag section.news_wrap h1 {
    font-size: 1.4vw;
  }

  div#product-wrap span.woocommerce-Price-amount.amount bdi {
    font-size: 1.4vw !important;
  }

  .company-feature__title,
  .qa-category dt:before,
  .qa-category dd:before,
  .fixed-page h4,
  .single article .blog-main h4,
  .table-res-form input[type=submit],
  .privacy_policy h2,
  h2.equipment,
  .sale-info p.p1,
  div#tab-description h3 {
    font-size: 1.3vw;
  }

  section.related.products h2 {
    font-size: 1.3vw !important;
  }

  .feature__title,
  section.cases .text-wrap p,
  section.cta p.quotation,
  .category-title-wrap h1,
  .category-title-wrap p.jp,
  .required,
  .prefab-sizes ul li,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .fixed-page h5,
  .single article h5,
  .table-res-form th,
  .woocommerce div.product p.stock,
  .error404 main p,
  .error404 main div a,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message,
  .product-title-wrap p.product-title {
    font-size: 1.2vw;
  }

  section.concept .flex-box.left .text-wrap p,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.carriage p.area,
  .company-feature__details dt,
  .full-order-intro,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .manufacturer-logos p.text,
  ul.door-types li a,
  .category-intro,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .qa-nav-list li a,
  .qa-category dt,
  .qa-category dd,
  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4,
  .fixed-page .inner p,
  .single article p,
  .single article .article-tag ul li,
  .article-tag a,
  .fixed-page .inner ul li,
  .single .blog-main ul li,
  .fixed-page .inner ol li,
  .single .blog-main ol li,
  section.news_wrap td,
  section.news_wrap th,
  .into.text-wrap,
  .pdf-wrap p,
  .pdf-wrap a,
  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text,
  p.pp a,
  section.tel-mail p,
  .sale-info p.p2,
  div#tab-description p.big,
  article.article-list .text h2 {
    font-size: 1.1vw;
  }

  header nav ul li a,
  header nav ul li.contact a,
  .scroll a,
  .transport.banner p.note,
  div#top-contents .h2-wrap h2,
  .feature__description,
  .woocommerce ul.products li.product .price del,
  span.woocommerce-Price-amount.amount bdi,
  section.security .link a,
  section.carriage p,
  section.recruit .link a,
  section.cta p.text,
  .company-feature__description,
  .company-feature__details dd,
  div#page-full-order a.link,
  div#page-full-order a.color,
  div#page-full-order p.note,
  p.ranking,
  .window-sash-container .window-type,
  p.interior-type,
  p.floor-type,
  div#order-catalog h2.product-title,
  div#block-2 li,
  div#block-5 li,
  .pdf-wrap p.notes,
  .privacy_policy p,
  .privacy_policy ol,
  .wpcf7 form .wpcf7-response-output {
    font-size: 1vw;
  }

  section.full-order h2.woocommerce-loop-product__title {
    font-size: 1vw !important;
  }

  .transport.banner p.link,
  section.security p.text,
  .customer-review-name,
  .customer-review-text,
  section.recruit p.text,
  .copyright p,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  h2.product-title,
  h2.reveal-text,
  .article-date,
  .sidebar p.blog_title,
  a.instagram,
  .wpcf7 input.wpcf7-form-control.wpcf7-file,
  .recaptcha,
  .contact_text_bottom,
  .product_meta,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  div#tab-description h2,
  div#tab-description table,
  div#tab-description p.notes,
  .previous-product a,
  .next-product a,
  .article-date,
  article.article-list .archive-text,
  .pagination ul li,
  span.wpcf7-not-valid-tip,
  .page-nav .prev-link,
  .page-nav .next-link {
    font-size: .9vw;
  }

  .woocommerce ul.products li.product .woocommerce-loop-category__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3,
  div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
    font-size: .9vw !important;
  }

  p.post_date,
  table.product-item td,
  table.product-item th {
    font-size: .8vw;
  }

  section.related.products h2.woocommerce-loop-product__title {
    font-size: .8vw !important;
  }

  .breadcrumb,
  span.cat-data a,
  ul.post-categories a {
    font-size: .7vw;
  }

  small.woocommerce-price-suffix {
    font-size: .6vw;
  }
}

/*---------------------------------------------------------
 小型PC～中型PC
---------------------------------------------------------*/
@media screen and (min-width:1200px) and (max-width:1700px) {

  section.concept p.reveal-text,
  section.cta p.reveal-text {
    font-size: 4.3vw;
  }

  p.reveal-text,
  section.cases .text-wrap h3 {
    font-size: 3.8vw;
  }

  section.full-order .reveal-text,
  section.ready-made .reveal-text {
    font-size: 3.4vw;
  }

  .company-feature:before {
    font-size: 3.3vw;
  }

  .feature::before {
    font-size: 2.8vw;
  }

  .category-title-wrap p,
  .product-title-wrap p.en,
  .category-title-wrap p.en {
    font-size: 2.1vw;
  }

  .mv-copy p {
    font-size: 2vw;
  }

  .transport.banner p.title,
  section.cta .btn a,
  .section-title,
  .error404 main h2 {
    font-size: 1.8vw;
  }

  .mv-copy p.en,
  section.concept h3,
  section.contact_form h2 {
    font-size: 1.6vw;
  }

  section.carriage h2,
  h2.required-heading,
  h2.option-heading,
  .single h1,
  .fixed-page h2,
  .single article h2 {
    font-size: 1.5vw;
  }

  section.cases .text-wrap p.cs,
  section.sizes-container h4,
  .category-btn-wrap .flex-box a,
  section.qa-container h2,
  .single article .share p,
  .fixed-page h3,
  .single article h3,
  .pdf-wrap h3,
  h1.product_title.entry-title,
  .archive.date section.news_wrap h1,
  .archive.category section.news_wrap h1,
  .archive.tag section.news_wrap h1 {
    font-size: 1.4vw;
  }

  div#product-wrap span.woocommerce-Price-amount.amount bdi {
    font-size: 1.4vw !important;
  }

  .company-feature__title,
  .qa-category dt:before,
  .qa-category dd:before,
  .fixed-page h4,
  .single article .blog-main h4,
  .table-res-form input[type=submit],
  .privacy_policy h2,
  h2.equipment,
  .sale-info p.p1,
  div#tab-description h3 {
    font-size: 1.3vw;
  }

  section.related.products h2 {
    font-size: 1.3vw !important;
  }

  .feature__title,
  section.cases .text-wrap p,
  section.cta p.quotation,
  .category-title-wrap h1,
  .category-title-wrap p.jp,
  .required,
  .prefab-sizes ul li,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .fixed-page h5,
  .single article h5,
  .table-res-form th,
  .woocommerce div.product p.stock,
  .error404 main p,
  .error404 main div a,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message,
  .product-title-wrap p.product-title {
    font-size: 1.2vw;
  }

  section.concept .flex-box.left .text-wrap p,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.carriage p.area,
  .company-feature__details dt,
  .full-order-intro,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .manufacturer-logos p.text,
  ul.door-types li a,
  .category-intro,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .qa-nav-list li a,
  .qa-category dt,
  .qa-category dd,
  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4,
  .fixed-page .inner p,
  .single article p,
  .single article .article-tag ul li,
  .article-tag a,
  .fixed-page .inner ul li,
  .single .blog-main ul li,
  .fixed-page .inner ol li,
  .single .blog-main ol li,
  section.news_wrap td,
  section.news_wrap th,
  .into.text-wrap,
  .pdf-wrap p,
  .pdf-wrap a,
  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text,
  p.pp a,
  section.tel-mail p,
  .sale-info p.p2,
  div#tab-description p.big,
  article.article-list .text h2 {
    font-size: 1.1vw;
  }

  header nav ul li a,
  header nav ul li.contact a,
  .scroll a,
  .transport.banner p.note,
  div#top-contents .h2-wrap h2,
  .feature__description,
  .woocommerce ul.products li.product .price del,
  span.woocommerce-Price-amount.amount bdi,
  section.security .link a,
  section.carriage p,
  section.recruit .link a,
  section.cta p.text,
  .company-feature__description,
  .company-feature__details dd,
  div#page-full-order a.link,
  div#page-full-order a.color,
  div#page-full-order p.note,
  p.ranking,
  .window-sash-container .window-type,
  p.interior-type,
  p.floor-type,
  div#order-catalog h2.product-title,
  div#block-2 li,
  div#block-5 li,
  .pdf-wrap p.notes,
  .privacy_policy p,
  .privacy_policy ol,
  .wpcf7 form .wpcf7-response-output {
    font-size: 1vw;
  }

  section.full-order h2.woocommerce-loop-product__title {
    font-size: 1vw !important;
  }

  .transport.banner p.link,
  section.security p.text,
  .customer-review-name,
  .customer-review-text,
  section.recruit p.text,
  .copyright p,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  h2.product-title,
  h2.reveal-text,
  .article-date,
  .sidebar p.blog_title,
  a.instagram,
  .wpcf7 input.wpcf7-form-control.wpcf7-file,
  .recaptcha,
  .contact_text_bottom,
  .product_meta,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  div#tab-description h2,
  div#tab-description table,
  div#tab-description p.notes,
  .previous-product a,
  .next-product a,
  .article-date,
  article.article-list .archive-text,
  .pagination ul li,
  span.wpcf7-not-valid-tip,
  .page-nav .prev-link,
  .page-nav .next-link {
    font-size: .9vw;
  }

  .woocommerce ul.products li.product .woocommerce-loop-category__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3,
  div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
    font-size: .9vw !important;
  }

  p.post_date,
  table.product-item td,
  table.product-item th {
    font-size: .8vw;
  }

  section.related.products h2.woocommerce-loop-product__title {
    font-size: .8vw !important;
  }

  .breadcrumb,
  span.cat-data a,
  ul.post-categories a,
  .url-copied span,
  .url-copied span {
    font-size: .7vw;
  }

  small.woocommerce-price-suffix {
    font-size: .6vw;
  }
}

/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

@media screen and (min-width:1920px) {

  .single section.news_wrap .blog-main img {
    width: 100%;
  }

  section.concept p.reveal-text,
  section.cta p.reveal-text {
    font-size: 4.3vw;
  }

  p.reveal-text,
  section.cases .text-wrap h3 {
    font-size: 3.8vw;
  }

  section.full-order .reveal-text,
  section.ready-made .reveal-text {
    font-size: 3.4vw;
  }

  .company-feature:before {
    font-size: 3.3vw;
  }

  .feature::before {
    font-size: 2.8vw;
  }

  .category-title-wrap p,
  .product-title-wrap p.en,
  .category-title-wrap p.en {
    font-size: 2.1vw;
  }

  .mv-copy p {
    font-size: 2vw;
  }

  .transport.banner p.title,
  section.cta .btn a,
  .section-title,
  .error404 main h2 {
    font-size: 1.8vw;
  }

  .mv-copy p.en,
  section.concept h3,
  section.contact_form h2 {
    font-size: 1.6vw;
  }

  section.carriage h2,
  h2.required-heading,
  h2.option-heading,
  .single h1,
  .fixed-page h2,
  .single article h2 {
    font-size: 1.5vw;
  }

  section.cases .text-wrap p.cs,
  section.sizes-container h4,
  .category-btn-wrap .flex-box a,
  section.qa-container h2,
  .single article .share p,
  .fixed-page h3,
  .single article h3,
  .pdf-wrap h3,
  h1.product_title.entry-title,
  .archive.date section.news_wrap h1,
  .archive.category section.news_wrap h1,
  .archive.tag section.news_wrap h1 {
    font-size: 1.4vw;
  }

  div#product-wrap span.woocommerce-Price-amount.amount bdi {
    font-size: 1.4vw !important;
  }

  .company-feature__title,
  .qa-category dt:before,
  .qa-category dd:before,
  .fixed-page h4,
  .single article .blog-main h4,
  .table-res-form input[type=submit],
  .privacy_policy h2,
  h2.equipment,
  .sale-info p.p1,
  div#tab-description h3 {
    font-size: 1.3vw;
  }

  section.related.products h2 {
    font-size: 1.3vw !important;
  }

  .feature__title,
  section.cases .text-wrap p,
  section.cta p.quotation,
  .category-title-wrap h1,
  .category-title-wrap p.jp,
  .required,
  .prefab-sizes ul li,
  section.exterior-design-container h4,
  section.door-design-container h4,
  .window-sash-container h4,
  .rain-gutter-container h4,
  section.interior-container h4,
  .floor-container h4,
  .building-materials-container h4,
  .lighting-container h4,
  .switch-outlet-container h4,
  .distribution-board-container h4,
  .ventilation-fan-container h4,
  .air-supply-opening-container h4,
  .eaves-container h4,
  .building-materials-op-container h4,
  .entrance-threshold-container h4,
  .washbasin-container h4,
  .toilet-container h4,
  .partition-container h4,
  .wall-reinforcement-container h4,
  .security-container h4,
  .solar-panel-container h4,
  .shower-container h4,
  .bath-container h4,
  section.external-power-container h4,
  .fixed-page h5,
  .single article h5,
  .table-res-form th,
  .woocommerce div.product p.stock,
  .error404 main p,
  .error404 main div a,
  .woocommerce-error,
  .woocommerce-info,
  .woocommerce-message,
  .product-title-wrap p.product-title {
    font-size: 1.2vw;
  }

  section.concept .flex-box.left .text-wrap p,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.features .link a,
  section.full-order .link a,
  section.ready-made .link a,
  section.voice .link a,
  section.carriage p.area,
  .company-feature__details dt,
  .full-order-intro,
  .required-intro,
  .option-wrap .option-intro p,
  p.explan,
  .manufacturer-logos p.text,
  ul.door-types li a,
  .category-intro,
  .woocommerce nav.woocommerce-pagination ul li a:focus,
  .woocommerce nav.woocommerce-pagination ul li a:hover,
  .woocommerce nav.woocommerce-pagination ul li span.current,
  .woocommerce nav.woocommerce-pagination ul li a,
  .woocommerce nav.woocommerce-pagination ul li span,
  .qa-nav-list li a,
  .qa-category dt,
  .qa-category dd,
  div#latest_posts_widget-2 h4,
  div#block-2 h4,
  div#block-5 h4,
  .fixed-page .inner p,
  .single article p,
  .single article .article-tag ul li,
  .article-tag a,
  .fixed-page .inner ul li,
  .single .blog-main ul li,
  .fixed-page .inner ol li,
  .single .blog-main ol li,
  section.news_wrap td,
  section.news_wrap th,
  .into.text-wrap,
  .pdf-wrap p,
  .pdf-wrap a,
  .table-res-form input[type=text],
  input[type=email],
  textarea,
  .wpcf7 input[type=tel],
  select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
  select.wpcf7-form-control.wpcf7-select,
  .wpcf7-text,
  p.pp a,
  section.tel-mail p,
  .sale-info p.p2,
  div#tab-description p.big,
  article.article-list .text h2 {
    font-size: 1.1vw;
  }

  header nav ul li a,
  header nav ul li.contact a,
  .scroll a,
  .transport.banner p.note,
  div#top-contents .h2-wrap h2,
  .feature__description,
  .woocommerce ul.products li.product .price del,
  span.woocommerce-Price-amount.amount bdi,
  section.security .link a,
  section.carriage p,
  section.recruit .link a,
  section.cta p.text,
  .company-feature__description,
  .company-feature__details dd,
  div#page-full-order a.link,
  div#page-full-order a.color,
  div#page-full-order p.note,
  p.ranking,
  .window-sash-container .window-type,
  p.interior-type,
  p.floor-type,
  div#order-catalog h2.product-title,
  div#block-2 li,
  div#block-5 li,
  .pdf-wrap p.notes,
  .privacy_policy p,
  .privacy_policy ol,
  .wpcf7 form .wpcf7-response-output {
    font-size: 1vw;
  }

  section.full-order h2.woocommerce-loop-product__title {
    font-size: 1vw !important;
  }

  .transport.banner p.link,
  section.security p.text,
  .customer-review-name,
  .customer-review-text,
  section.recruit p.text,
  .copyright p,
  ul.door-types li a,
  ul.window-types li a,
  ul.floor-types li a,
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering,
  h2.product-title,
  h2.reveal-text,
  .article-date,
  .sidebar p.blog_title,
  a.instagram,
  .wpcf7 input.wpcf7-form-control.wpcf7-file,
  .recaptcha,
  .contact_text_bottom,
  .product_meta,
  .woocommerce div.product .woocommerce-tabs ul.tabs li a,
  div#tab-description h2,
  div#tab-description table,
  div#tab-description p.notes,
  .previous-product a,
  .next-product a,
  .article-date,
  article.article-list .archive-text,
  .pagination ul li,
  span.wpcf7-not-valid-tip,
  .page-nav .prev-link,
  .page-nav .next-link {
    font-size: .9vw;
  }

  .woocommerce ul.products li.product .woocommerce-loop-category__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h3,
  div#product-wrap section.related.products span.woocommerce-Price-amount.amount bdi {
    font-size: .9vw !important;
  }

  p.post_date,
  table.product-item td,
  table.product-item th {
    font-size: .8vw;
  }

  section.related.products h2.woocommerce-loop-product__title {
    font-size: .8vw !important;
  }

  .breadcrumb,
  span.cat-data a,
  ul.post-categories a,
  .url-copied span {
    font-size: .7vw;
  }

  small.woocommerce-price-suffix {
    font-size: .6vw;
  }
}