@charset "UTF-8";
/*==================================
common
==================================*/
@media print, screen and (max-width:1400px) {
  .kv-area .kv-inner {
    padding: 0 45px;
  }
  .kv-area .kv-ttl {
    max-width: 555px;
  }
}
@media print, screen and (max-width:1300px) {
  .kv-area .kv-inner {
    padding: 0 30px;
  }
  .kv-area .kv-ttl {
    max-width: 555px;
  }
  #page-top {
    right: 0;
    width: 100px;
    height: 100px;
  }
}
@media screen and (max-width: 1295px) {
  main .content-area, .content-wrap, .content-area, .single main, .wide-box {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 1250px) {
  /*==================================
common
==================================*/
  .page .ttl-box {
    max-width: 1250px;
    padding: 0 20px;
  }
  .view-btn {
    margin-top: 70px;
  }
  .view-btn a p {
    padding-right: 78px;
  }
  .view-btn.link-btn-r a::after {
    width: 67px;
    height: 67px;
  }
  .view-btn a::before {
    right: 32px;
    width: 7px;
    height: 7px;
  }
  h2, .products-wrap main > .ttl-box h2 {
    margin-left: 0;
    font-size: 2.4rem;
  }
  .page h2 {
    padding-left: 0;
  }
  h2:before, h2 span:before {
    position: absolute;
    top: -40px;
    left: -170px;
    width: 165px;
    height: 125px;
  }
  h3.border-none {
    margin-bottom: 15px;
    padding-bottom: 0;
    border: none;
    font-size: 36px;
    font-size: 1.9rem;
  }
  main .ttl-en {
    width: 20px;
  }
  .txt-thumb .thumb-box {
    margin-left: 20px;
    width: 50%;
  }
  .contact-area .contact-inner {
    width: 90%;
    padding: 100px 40px 60px;
  }
  .contact-area .contact-inner h2 {
    font-size: 2.4rem;
    top: -33px;
    margin-left: 40%;
  }
  .contact-area .contact-inner h2 span::before {
    top: -40px;
    left: -155px;
    width: 165px;
    height: 125px;
  }
  /*==================================
top
==================================*/
  .technology-area h2 span:before {
    top: -23px;
    left: -160px;
  }
  .technology-area .ttl-en {
    top: -15%;
    left: -31px;
  }
  .about-area .txt-thumb h2 span:before {
    top: -47px;
    left: -142px;
  }
  .about-area .ttl-en {
    top: -75px;
    left: -17px;
  }
  .about-area .txt-thumb .txt-box {
    margin-left: 35px;
    margin-top: 69px;
  }
  .about-area .txt-thumb .txt-box .technology-caption {
    margin-top: 95px;
    margin-left: 0;
    margin-right: 40px;
    padding-right: 15px;
  }
  .products-area {
    padding-top: 280px;
  }
  .products-area h2 span:before {
    top: -51px;
    left: -45%;
  }
  .products-area .ttl-en {
    top: 18%;
    right: 5%;
  }
  .products-area h2 {
    margin-bottom: 60px;
  }
  .products-area .txt-box::before {
    top: 19%;
    left: 140px;
    width: 115px;
    height: 187px;
  }
  .home .news-area {
    padding-top: 140px;
  }
  .news-area .ttl-en {
    top: -52px;
    left: 10px;
  }
  .works-area .ttl-en {
    top: -58px;
    left: 10px;
  }
  .works-area h2 span:before, .news-area h2 span:before {
    top: -48px;
    left: -152px;
  }
  .works-area .view-btn {
    margin-right: 20px;
  }
  /*==================================
page
==================================*/
  .pc-kv-block img {
    height: 400px;
  }
  .page h2 span {
    padding-left: 140px;
    display: inline-block;
  }
  .page .contact-area h2 span {
    padding-left: 0;
    display: inline-block;
  }
  /*==================================
製品情報
==================================*/
  .products-wrap h2 span:before, .page h2 span:before {
    top: -48px;
    left: 0;
  }
  .page-parent .products .txt-thumb .view-btn {
    position: absolute;
    right: 30px;
    bottom: 55px;
  }
  .page-parent .products .txt-box .technology-caption {
    margin-bottom: 50px;
  }
  .page-parent.products .txt-thumb .thumb-box {
    max-width: 100%;
    margin-left: 0;
  }
  .products-content3.products-content-right .content-area {
    padding-bottom: 0;
  }
  .unique-roof-fit .products-content3.products-content-right .content-area {
    padding-bottom: 120px;
  }
}
@media screen and (max-width:1090px) {
  header .logo {
    width: 225px;
  }
  .kv-area .kv-ttl p {
    font-size: 1.5rem;
  }
  main .txt-box {
    width: 75%;
  }
  .page .foot-bnr li p {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:1000px) {
  /*==================================
home
==================================*/
  .kv-area .kv-ttl {
    max-width: 475px;
    width: 100%;
  }
  .kv-area .kv-inner {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 auto;
    width: 100%;
    padding: 0 0 0 33px;
  }
  .txt-thumb .thumb-box {
    margin-left: 20px;
    width: 40%;
  }
  .view-btn, .about-area .view-btn, .works-area .view-btn {
    margin-top: 60px;
  }
  .products .txt-box h3 {
    margin: 25px 0 25px;
  }
  .products .txt-box .technology-caption {
    margin-bottom: 45px;
  }
  .products .txt-thumb .view-btn {
    position: relative;
    right: initial;
    bottom: initial;
    margin-top: 20px;
  }
}
@media screen and (max-width: 960px) {
  /*==================================
common
==================================*/
  header nav ul li {
    margin-right: 12px;
  }
  header nav.header-nav ul li a {
    font-size: 0.75rem;
  }
  header .header-logo {
    width: 90px;
  }
  .archive.category .kv-page-area {
    /* margin: 185px 0 0; */
  }
  .kv-none .kv-page-area {
    margin: 205px 0 0;
  }
  .spray-urethane-u-1 .row-reverse.txt-thumb .thumb-box {
    width: 100%;
    margin: 0 auto;
    max-width: 560px;
  }
  .cate, .tag-list li {
    padding: 7px 5px;
    font-size: 0.8rem;
  }
  /*==================================
home
==================================*/
  .txt-thumb .thumb-box {
    margin-left: 20px;
    width: 45%;
  }
}
@media screen and (min-width:921px) {
  .pc-block {
    display: block;
  }
  .sp-block {
    display: none;
  }
}
@media screen and (max-width:920px) {
  header .logo {
    margin: 0 0 0 20px;
    width: 235px;
  }
  .products-area .txt-box::before, .news-area .ttl-box::before {
    display: none;
  }
  .home main {
    /* padding: 18% 0 15%; */
  }
  /* ==========================================
   ① 斜めボックス（白背景）
   ========================================== */
  .page-parent.products .txt-thumb .txt-box {
    width: 100%;
    margin-top: -60px;
    padding: 90px 25px 45px 111px;
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
    background: #fff;
  }
  /* ==========================================
   ② 親要素で影を落とす（四角で影）
   ========================================== */
  .page-parent.products .txt-thumb {
    position: relative;
    background: transparent;
    filter: drop-shadow(0 18px 15px rgba(0, 0, 0, 0.18));
    -webkit-filter: drop-shadow(-2px 3px 18px rgba(0, 0, 0, 0.11));
  }
  .home h2, .works-area h2, .technology-area h2, .about-area h2, .products-area h2 {
    margin: 0 auto 51px;
    padding-left: 40px;
    margin-left: 0;
  }
  .home h2 {
    margin-bottom: 35px;
  }
  .home h2 span {
    position: relative;
    padding-left: 95px;
  }
  .txt-thumb .txt-box .technology-caption, .about-area .txt-thumb .txt-box .technology-caption {
    margin: 20px 0 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
  .view-btn, .about-area .view-btn {
    margin-right: 0;
  }
  .pc-block {
    display: none;
  }
  .sp-block {
    display: block;
  }
  /*==================================
home
==================================*/
  .home h2 span:before {
    width: 90px;
    height: 73px;
  }
  .ttl-en, main .ttl-en {
    width: 15px;
  }
  main .txt-box {
    width: 100%;
  }
  .technology-area .ttl-en {
    top: -69px;
    left: -7px;
  }
  .technology-area .txt-thumb {
    padding-top: 0;
  }
  .home h2 span:before, .about-area .txt-thumb h2 span:before {
    top: -12px;
    left: 0;
  }
  .technology-area h2 span:before {
    top: 10px;
    left: 0;
  }
  .txt-thumb .thumb-box {
    margin-left: 0;
    width: 100%;
  }
  .technology-area .txt-thumb {
    display: flex;
    flex-direction: column-reverse;
    padding-top: 12%;
  }
  .technology-area .txt-thumb {
    padding-top: 130px;
  }
  .technology-area {
    padding: 0 20px;
  }
  .about-area {
    margin: 70px 20px 0;
  }
  .about-area .ttl-en {
    position: absolute;
    top: -5%;
    left: -7px;
  }
  .about-area .txt-thumb .txt-box {
    margin-left: 0;
    margin-top: 69px;
  }
  .products-area {
    padding-top: 160px;
  }
  .products-area .ttl-en {
    top: 5%;
    right: inherit;
    left: 15px;
  }
  .products-area .txt-box {
    margin-left: 0;
    width: 100%;
  }
  .unique-roof {
    display: inherit;
  }
  .unique-roof li {
    width: 100%;
    margin-bottom: 0;
  }
  /*--.products--*/
  .page-parent.products .txt-thumb {
    -webkit-align-items: inherit;
    align-items: inherit;
    display: inherit;
    box-shadow: none;
    padding: 0;
  }
  .products .txt-thumb:last-child {
    margin-bottom: 0;
  }
  .contact-area .contact-inner h2 {
    right: 160px;
    top: -34px;
    margin: 0;
    padding-left: 85px;
    font-size: 2.3rem;
  }
  .products .thumb-box {
    max-width: 100%;
  }
}
@media screen and (max-width:800px) {
  .page main {
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
  }
  .page .main-wrap main {
    padding-top: 0;
  }
  h2, .products-wrap main > .ttl-box h2 {
    font-size: 2.1rem;
  }
  h2 span:before {
    width: 155px;
    height: 125px;
    top: -42px;
  }
  h3, h3.border-none, .products-wrap h3 {
    font-size: 1.9rem;
    padding-bottom: 17px;
  }
  .news-area ul li h2, .news-area ul li h3 {
    padding-bottom: 0;
  }
  .page-parent.products .txt-box h3 {
    margin: 10px 0 0;
  }
  .products .products-caption p {
        margin-bottom: 45px;
    font-size: 1.13rem;

  }
  .view-btn a p {
    display: block;
    width: inherit;
    color: #20C7B0;
    transition: .3s;
    -webkit-transform: scale(1);
    transform: scale(1);
    font-size: 0.85rem;
  }
  .contact-area .contact-inner h2 span::before {
    width: 155px;
    height: 125px;
    top: -40px;
    left: -64%;
  }
  .contact-area .contact-inner {
    position: relative;
    z-index: 2;
    top: -10px;
    max-width: 90%;
    width: 100%;
    margin: 0 auto;
    padding: 110px 60px 80px;
    box-shadow: 0 0 5px #dfdfdf;
    background: #fff;
  }
  .contact-area .flex-content {
    display: inherit;
    -webkit-justify-content: inherit;
    justify-content: inherit;
  }
  .contact-area .ttl-en {
    position: absolute;
    top: -110px;
    left: -15px;
    width: 18px;
    height: 100%;
  }
  .contact-area .item-box:nth-child(1) p::before, .contact-area .item-box:nth-child(1) a:hover p::before {
    top: 38px;
    width: 45px;
    height: 34px;
  }
  .contact-area .contact-inner {
    box-shadow: none;
    max-width: 90%;
    padding: 100px 15px 15px;
  }
  .contact-area .item-box:nth-child(2) p::before, .contact-area .item-box:nth-child(2) a:hover p::before {
    top: 23px;
    width: 42px;
    height: 50px;
  }
  .contact-area .item-box {
    padding-top: 20px;
  }
  .contact-area .item-box a, .contact-area .item-box:nth-child(2) a {
    padding: 15px 0;
  }
  .contact-area .item-box p span {
    font-size: 1.2rem;
    margin-top: 66px;
  }
  /*-----施工事例-----*/
  .news-area .item-list li, .category .news-area .item-list li, main .news-area .item-list li:nth-child(2n), main .news-area .item-list li:nth-child(3n) {
    margin-bottom: 35px;
    width: 47.666666%;
    margin-right: 4.555555%;
  }
  main .news-area .item-list li .tag-list li, .products-wrap .news-area .item-list li ul li:nth-child(n+2) {
    margin-bottom: 0;
    width: inherit;
  }
  main .news-area .item-list li:nth-child(2n), .category .news-area .item-list li:nth-child(2n) {
    margin-right: 0;
  }
  /*-----ユニークルーフシステム-----*/
  .unique-roof-system p {
    text-align: left;
    font-size: 0.95rem;
  }
  .unique-roof-system .system-area ul li {
    padding-right: 5%;
  }
  .unique-roof-system .system-area ul li:nth-child(2n) {
    padding-right: 0;
  }
  .news-area .item-list li .tag-list {
    display: flex;
  }
  .tax-works_tag .news-area .item-list li .tag-list li {
    margin-bottom: 8px;
    margin-right: 10px;
  }
}
@media screen and (min-width: 769px) {
  .sp-header-nav {
    display: none;
  }
  .menu-label {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  /*==================================
common
==================================*/
  #menu-btn {
    position: absolute;
    right: 0;
    top: -1px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 3;
  }
  #menu-btn .menu-bars span {
    display: block;
  }
  #menu-btn .menu-label {
    margin-top: 33px;
    font-size: 12px;
    color: #023A63;
    letter-spacing: .1em;
    position: relative;
    margin-left: 5px;
  }
  .menu-label {
    display: block;
  }
  .header-nav {
    display: none;
  }
  .bg-box {
    max-width: 190px;
  }
  .kv-page-area .kv-ttl {
    font-size: 2rem;
  }
  header {
    top: 10px;
    padding: 12px 0;
    margin: 0 10px;
  }
  .open header {
    box-shadow: 0 0 5px #dfdfdf;
  }
  body.open {
    overflow: hidden;
  }
  header .logo {
    width: 235px;
  }
  header nav.header-nav .flex-content {
    display: block;
    width: 100%;
  }
  header nav.header-nav ul {
    padding: 0;
    margin: 0;
  }
  header nav.header-nav ul li {
    margin: 0 0 15px 0;
    white-space: nowrap;
    box-sizing: border-box;
    /* フェード用 */
    opacity: 0;
    transform: none;
    transition: opacity .35s ease;
  }
  /* open時：メニュー項目フェードイン */
  .open header nav.header-nav ul li {
    opacity: 1;
    position: relative;
  }
  header nav ul li > .sub-menu li a:before, header nav ul li:last-child a:hover::before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 20px;
    left: 0;
    width: 7px;
    height: 1px;
    background: #1A1A1A;
    z-index: -1;
  }
  /* =============================
    ハンバーガーメニュー表示
  ============================= */
  header .menu-trigger, header .menu-trigger span {
    position: absolute;
    right: 0;
    width: 25px;
    height: 2px;
    transition: all .4s;
  }
  header .menu-trigger span {
    background: #023A63;
  }
  .home header .menu-trigger span {
    background: #023A63;
  }
  header.transform .menu-trigger span {
    background: #023A63;
  }
  header .menu-trigger {
    position: absolute;
    top: -1px;
    right: 0;
    width: 60px;
    height: 59px;
    cursor: pointer;
    z-index: 3;
  }
  header .menu-trigger span:nth-of-type(1) {
    top: 15px;
    right: 15px;
  }
  header .menu-trigger span:nth-of-type(2) {
    top: 22px;
    width: 25px;
    right: 15px;
  }
  header .menu-trigger span:nth-of-type(3) {
    bottom: 27px;
    right: 15px;
  }
  .open header .menu-trigger span {
    background-color: #023A63;
  }
  .open header .menu-trigger span:nth-of-type(1) {
    transform: translateY(6px) rotate(-45deg);
  }
  .open header .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .open header .menu-trigger span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
  }
  /* =============================
    ナビ本体（フェードイン化）
  ============================= */
  header nav.sp-header-nav {
    -webkit-overflow-scrolling: touch;
    padding-left: 24px;
    padding-right: 24px;
    pointer-events: none;
    /* フェード設定 */
    opacity: 0;
    visibility: hidden;
    transform: none;
    transition: opacity .4s cubic-bezier(0.25, 1, 0.5, 1), visibility .4s;
  }
  header nav.sp-header-nav {
    position: fixed;
    top: 57px;
    left: 10px;
    right: 10px;
    width: auto;
    background: #fff;
    border-radius: 2px;
    margin: 0;
    padding: 30px 15px;
  }
  /* 開いている状態 */
  .open header nav.sp-header-nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: 0 2px 5px #dfdfdf;
  }
  header nav.sp-header-nav ul {
    display: inherit;
  }
  /* =============================
    メニューリンク設定
  ============================= */
  header nav ul li {
    margin-right: 0;
  }
  header nav ul li:last-child {
    padding: 0;
  }
  header nav.sp-header-nav ul li a {
    display: block;
    padding: 15px 0 15px 10px;
    width: 100%;
    text-align: left;
    border-bottom: solid 1px #DADCDD;
    font-size: 0.9rem;
  }
  header nav.sp-header-nav ul li:last-child a, header nav ul li:nth-last-child(3) > a, header nav.sp-header-nav ul .sub-menu li a {
    border: none;
  }
  header nav.sp-header-nav ul li.menu-products.active a {
    border: none;
  }
  header nav ul li:last-child a, header.transform nav ul li:last-child a {
    background: none;
  }
  header nav ul li:nth-last-child(2) {
    margin: 10px 0;
  }
  header nav ul li:nth-last-child(2) > a {
    display: block;
    padding: 20px;
    color: #fff;
    background: #2084C7;
    text-align: center;
    border: none;
  }
  header nav ul li:nth-last-child(2) > a span {
    position: relative;
    color: #fff;
    display: inline-block;
    margin-left: 10px;
  }
  header nav ul li:nth-last-child(2) a span::before {
    position: absolute;
    content: "";
    z-index: 1;
    display: inline-block;
    top: 0;
    left: -29px;
    width: 22px;
    height: 16px;
    background: url(../images/common/ico-mail.png) 0 0 no-repeat;
    background-size: 100% auto;
  }
  header nav ul li:nth-last-child(1) > a {
    padding: 20px;
    color: #fff;
    background: #023A63;
    text-align: center;
  }
  header nav ul li:nth-last-child(1) > a:before {
    display: none;
  }
  header nav ul li:nth-last-child(1) > a span {
    position: relative;
    color: #fff;
    display: inline-block;
    margin-left: 10px;
  }
  header nav ul li:nth-last-child(1) > a span::before {
    position: absolute;
    content: "";
    z-index: 1;
    top: -3px;
    left: -27px;
    width: 18px;
    height: 22px;
    background: url(../images/common/ico-document.png) 0 0 no-repeat;
    background-size: 100% auto;
  }
  /* =============================
    2階層メニュー
  ============================= */
  header nav ul li > .sub-menu li a {
    font-size: 0.9rem;
    line-height: 1.4;
    color: #1A1A1A;
    background: none;
    text-align: left;
    padding-right: 20px;
  }
  /* ▼ 右側に＋を表示（デフォルト） */
  header nav.sp-header-nav .menu-products > a {
    position: relative;
    padding-right: 28px;
  }
  header nav.sp-header-nav .menu-products > a::before {
    content: "+";
    position: absolute;
    right: 8px;
    top: 45%;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: 600;
    transition: .2s ease;
    color: #1A1A1A;
  }
  /* ▼ active のときは − を表示 */
  header nav.sp-header-nav .menu-products.active > a::before {
    content: "−"; /* マイナス */
  }
  header nav ul li > .sub-menu {
    display: none;
    margin-bottom: 10px;
    margin-left: 10px;
  }
  header nav ul li > .sub-menu li {
    position: relative;
    padding: 0;
    margin: 0;
  }
  header nav ul li > .sub-menu li a {
    padding: 10px 0 10px 12px;
  }
  .txt-thumb {
    display: inherit;
    -webkit-align-items: inherit;
    align-items: inherit;
  }
  /*---*/
  main.content-wrap {
    margin: 40px 15px 60px;
  }
  .date {
    margin: 3px 0 0;
  }
  /*--contact------------*/
  .contact-area .item-box h2 {
    font-size: 1.9rem;
  }
  .contact-area .item-box a p {
    text-align: center;
  }
  .txt-thumb .txt-box p {
    font-size: 0.95rem;
  }
  .works-area .flex-content {
    display: flex;
  }
  .page-parent.products .main-wrap {
    padding-top: 100px;
  }
  .unique-roof-system.products .main-wrap {
    padding-top: 50px;
  }
  .page-parent.products .main-wrap main {
    padding: 0;
  }
  footer .nav-box {
    margin-left: 75px;
  }
  /*==================================
home
==================================*/
  .kv-area .kv-ttl {
    max-width: 100%;
    width: 80%;
  }
  .kv-area .kv-ttl p {
    font-size: 1.6rem;
  }
  .kv-area .kv-inner {
    padding: 0 10px 0 20px;
  }
  .kv-area .kv-ttl p span {
    display: block;
  }
  /*--news------------*/
  main .news-area ual li.ofi img {
    height: 330px;
  }
  main .news-area ul li p {
    font-size: 1.1rem;
  }
  .home main .news-area ul li, .home main .news-area ul li:nth-last-child(-n+3) {
    margin-bottom: 35px;
    margin-right: 0;
    margin: 0 auto 35px;
    max-width: 100%;
    width: 100%;
  }
  .news-area .news-inner {
    padding: 0 15px;
  }
  .home .news-area ul {
    display: inherit;
  }
  /*==================================
施工事例
==================================*/
  .post-type-archive-works .news-category-links, .tax-works_cat .news-category-links {
    margin-top: 40px;
  }
  .news-category-links ul li a {
    padding: 8px 10px;
  }
  /*==================================
download
==================================*/
  .download main h2 {
    padding-left: 0;
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
  .download .txt-thumb {
    margin-bottom: 30px;
    padding: 20px;
    box-shadow: 0 0 5px #dfdfdf;
  }
  .download .txt-thumb .thumb-box {
    margin-right: 0;
    max-width: 100%;
  }
  .download main .txt-thumb p {
    margin-bottom: 25px;
  }
  .link-btn a, .contact [type=submit] {
    padding: 20px;
    font-size: 1rem;
    max-width: 100%;
  }
  .download .technology-caption .dl-btn a:after {
    top: 22px;
    right: 20px;
    width: 18px;
    height: 19px;
  }
  .download .caption-box {
    margin-bottom: 40px;
  }
  .link-btn.view-btn a {
    position: relative;
  }
  /*==================================
form
==================================*/
  .table-form tr th {
    margin-bottom: 10px;
    padding: 0;
    width: 100%;
  }
  .table-form tr td {
    padding: 0;
    border-bottom: none;
    margin-bottom: 0;
    display: block;
    width: 100%;
  }
  .table-form tr:first-child th {
    border-top: none;
  }
  .table-form tr th {
    width: 100%;
    display: block;
    margin-bottom: 10px;
    text-align: left;
    border-top: none;
  }
  .table-form tr:first-child td {
    border-top: none;
  }
  .table-form tr th, .table-form td {
    margin-bottom: 0;
    border-bottom: none;
  }
  .table-form tr th, .table-form tr:last-child th {
    margin-bottom: 0;
    padding: 0 0 5px;
  }
  /*==================================
single 
==================================*/
  .single main h2 {
    margin-bottom: 0;
    text-align: left;
    font-size: 1.4rem;
    justify-content: inherit;
    display: inherit;
  }
  .single main .col8 {
    margin-bottom: 55px;
  }
  .single .link-arrow-box {
    margin-top: 50px;
  }
  .single main .col8, .single main .col2 {
    width: 100%;
    margin-right: 0;
  }
  .single .cate, .single .tag-list li {
    padding: 3px 7px;
  }
  .sidebar .side-box {
    margin-bottom: 35px;
  }
  /*==================================
products
==================================*/
  .products-wrap .sub-txt {
    margin-top: 25px;
    font-size: 1rem;
  }
  .spray-urethane-u-1 .technology-caption {
    margin: 10px auto 0;
  }
  .spray-urethane-u-1 .row-reverse.txt-thumb .thumb-box {
    margin-bottom: 20px;
  }
  .spray-urethane-u-1 .sub-box {
    margin-top: 35px;
  }
  .spray-urethane-u-1 .sub-box:nth-child(5) .thumb-box:nth-child(3) {
    margin-top: 20px;
  }
  .spray-urethane-u-1 .sub-box:nth-child(5) .thumb-box {
    /* margin-bottom: 25px; */
    /* background: rebeccapurple; */
  }
  .spray-urethane-u-1 .sub-box:nth-child(5) .thumb-box:last-child {
    margin-bottom: 0;
  }
  .spray-urethane-u-1 .sub-box:nth-child(5) .thumb-box p {
    margin-top: 10px;
  }
  /*==================================
unique-roof-system 
==================================*/
  .unique-roof-system .sub-list li:after {
    display: none;
  }
  .unique-roof-system .sub-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
  }
  .unique-roof-system .sub-list li {
    width: 45%;
  }
  .unique-roof-system .sub-list li:first-child {
    margin-right: 10%;
  }
  .unique-roof-system .sub-list li:nth-child(2) {
    margin-right: auto;
  }
  .unique-roof-system .sub-list li:last-child {
    margin-left: auto;
    margin-right: auto;
  }
  .unique-roof-system .txt-thumb .thumb-box {
    max-width: 115px;
    margin: 20px 0 10px;
  }
  .unique-roof-system .txt-thumb .technology-caption {
    font-size: 1.1rem;
  }
  .unique-roof-system .txt-thumb {
    margin: 0;
  }
  .unique-roof-system .system-area ul {
    display: flex;
  }
  .products-wrap .news-area .item-list {
    display: block;
  }
  .products-wrap .news-area .item-list > li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 35px;
  }
  .contact .form-ttl {
    display: flex;
    justify-content: inherit;
  }
  .table-base tr td {
    margin-bottom: 25px;
    border-top: none;
  }
  .view-btn, .about-area .view-btn {
    margin-top: 40px;
  }
  .products .txt-thumb .view-btn {
    position: inherit;
    right: inherit;
    bottom: inherit;
  }
  .products .txt-box {
    width: 100%;
    padding: 0;
  }
  /*==================================
unique-roof-fit
==================================*/
  .unique-roof-fit .products-content3.products-content-right .content-area {
    padding-bottom: 60px;
  }
  /*==================================
thanks
==================================*/
  main .thanks-area .sub-ttl {
    font-size: 1.5rem;
  }
  .content-wrap.error404 {
    margin-top: 65px;
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 641px) {
  .d-block {
    display: inline-block;
  }
  .pc-kv-block {
    display: block;
  }
  .sp-kv-block {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  /*==================================
common
==================================*/
  main .content-area, .content-wrap, .home .content-area {
    padding-right: 20px;
    padding-left: 20px;
  }
  main .content-area, .products-content3.products-content-right .content-area {
    padding-bottom: 0;
  }
  body, main p {
    font-size: 1rem;
  }
  .content-wrap.u-50 {
    padding-top: 55px;
  }
  .roof-pannel-u .u-50 p {
    margin-top: 25px;
  }
  .content-area {
    padding-bottom: 55px;
  }
  .table-wrap {
    overflow-x: scroll;
  }
  .product-table th, .product-table td {
    padding: 10px;
  }
  .table-base th {
    width: 30%;
  }
  .table-base tr:last-child td {
    margin-bottom: 0;
  }
  .table-form th span, .contact .detail-box span, .required-label {
    display: inline-block;
    margin-left: 4px;
    padding: 4px 5px;
    font-size: 0.7rem;
    transform: translateY(-1px);
  }
  .table-base.table-compare tr:last-child th, .table-base.table-compare th, .table-base.table-compare td {
    padding: 10px;
  }
  .table-base.table-compare th {
    width: inherit;
  }
  .jis-compare-ttl {
    font-size: 1rem;
  }
  .jis-compare-note {
    font-size: 0.8rem;
  }
  .flex-content {
    display: inherit;
  }
  .contact .link-btn {
    margin: 0 auto;
  }
  h2, .products-wrap main > .ttl-box h2, .contact-area .contact-inner h2 {
    margin-bottom: 30px;
    font-size: 1.5rem;
  }
  h3.border-none {
    font-size: 1.45rem;
  }
  .products-wrap h2 span, .page h2 span, .page .contact-area h2 span, .archive .contact-area h2 span, .contact-area h2 span {
    padding-left: 73px;
  }
  .products-wrap main > .ttl-box h2 {
    margin-bottom: 0;
  }
  .roof-pannel-u .products-content1 {
    margin-bottom: 0;
    padding: 30px 0 40px;
  }
  .unique-roof-system .products-content1.products-content-right {
    padding-top: 25px;
  }
  .contact-area .contact-inner h2 {
    top: -28px;
    right: 42px;
    left: 0;
    margin: 0 auto;
    padding-left: 0;
    justify-content: center;
    display: flex;
  }
  .c-pagination {
    margin: 30px 0 150px;
  }
  .blog main .news-area .c-pagination li:nth-child(1) {
    width: inherit;
  }
  .contact-area .contact-inner {
    padding: 50px 15px 15px;
  }
  .contact-area p {
    font-size: 1rem;
  }
  .contact-area .ttl-en {
    position: absolute;
    top: -83px;
    left: -9px;
    width: 14px;
    height: 100%;
  }
  .contact-area {
    margin-top: 70px;
  }
  .products .contact-area {
    margin-top: 130px;
  }
  .archive .contact-area, .blog .contact-area {
    margin-top: 115px;
  }
  .products-wrap .news-area {
    padding-top: 0;
    margin-bottom: 100px;
  }
  main .contact-area .detail-box {
    margin: 0;
    padding: 0;
    box-shadow: none;
  }
  .checkbox-privacy p {
    justify-content: center;
  }
  .contact main {
    padding-bottom: 13%;
  }
  .checkbox-privacy {
    margin: 50px 0;
  }
  .contact .detail-box p:first-child {
    margin-bottom: 40px;
  }
  main h3, .company h3, .company .access-area h3, .products-wrap h3 {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
  .content-box {
    margin-bottom: 50px;
  }
  .company .access-area .access-box p {
    margin-bottom: 10px;
    font-size: 1.25rem;
  }
  figure > .flex-content {
    display: inherit;
  }
  main h4 {
    font-size: 1.2rem;
  }
  .home.page main {
    margin: 0;
    padding: 0;
  }
  .link-btn a, .contact [type=submit] {
    font-size: 0.9rem;
    padding: 15px 20px 15px 20px;
  }
  .view-btn a p {
    padding-right: 70px;
  }
  .link-btn a:after {
    top: 16px;
    right: 20px;
    width: 19px;
    height: 12px;
  }
  .link-btn.view-btn a::after {
    right: 0;
    top: 12px;
    width: 57px;
    height: 57px;
  }
  .download .technology-caption .dl-btn a:after {
    top: 15px;
  }
  .d-block {
    display: block;
    text-align: center;
  }
  .row-reverse {
    flex-flow: inherit;
  }
  .breadcrumbs a span, .breadcrumbs span, .breadcrumbs span .post {
    font-size: 0.7rem;
  }
  select, .dps-contact select {
    width: 100%;
  }
  main, .page .main-wrap main {
    padding: 0 0 15%;
  }
  .news-area ul li h2, .news-area ul li h3, main .works-area h3 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 0;
  }
  .news-area figcaption div {
    display: flex;
    align-items: baseline;
  }
  header .logo {
    margin: 0 0 0 15px;
    width: 250px;
  }
  .products-area .ttl-en {
    top: 1%;
    right: inherit;
  }
  /*-- home------------*/
  .kv-area .catch {
    font-size: 1.8rem;
    width: 95%;
  }
  .technology-area .ttl-en {
    top: -91px;
    left: -7px;
  }
  .technology-area .txt-thumb {
    padding-top: 110px;
  }
  .home main .detail-box figcaption br {
    display: none;
  }
  .products-area {
    padding-top: 120px;
  }
  .home .news-area {
    padding-top: 110px;
  }
  .works-area {
    padding-top: 100px;
  }
  .works-area ul li {
    margin-bottom: 0;
  }
  .works-area ul li figure .thumb-box {
    clip-path: inherit;
    margin-left: 0;
  }
  .works-area .slick-slide img {
    height: 245px;
  }
  .works-area ul li figure figcaption {
    margin-left: 0;
  }
  #js-slick {
    overflow: visible;
  }
  #js-slick .slick-slide {
    margin: 0 10px;
  }
  #js-slick .slick-list {
    margin: 0;
  }
  /*--footer------------*/
  footer .logo {
    margin-bottom: 20px;
  }
  footer .footer-inner > .flex-content {
    display: inherit;
  }
  footer .flex-space-between {
    -webkit-justify-content: inherit;
    justify-content: inherit;
  }
  footer .flex-vertically-centered {
    -webkit-align-items: inherit;
    align-items: inherit;
  }
  footer .nav-box, footer .address-box {
    padding: 0;
    margin-left: 0;
  }
  footer .nav-box .flex-content {
    display: flex;
    justify-content: space-between;
  }
  footer {
    padding: 45px 25px 25px;
  }
  footer ul {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    margin-right: 20px;
  }
  footer ul li {
    margin-right: 14%;
    width: 43%;
    display: flex;
  }
  footer ul li:nth-child(2n) {
    margin-right: 0;
  }
  footer .detail ul li {
    width: 100%;
    text-decoration: none !important;
  }
  footer a.foot-contact {
    font-size: 12px;
  }
  footer a.foot-contact img {
    width: 13px;
    margin-top: 6px;
    transform: translateX(4px);
  }
  footer .detail {
    margin: 22px 0 0 0;
    font-size: 0.7rem;
    width: inherit;
  }
  footer .copyright {
    text-align: center;
    padding: 35px 0 0;
  }
  #page-top {
    position: absolute;
    top: -30px;
    right: -2px;
    bottom: inherit;
    width: 60px;
    height: 60px;
  }
  main .half-area .txt-box p {
    margin-bottom: 15px;
  }
  header .header-logo {
    width: 95px;
    margin: 0 0 0 15px;
  }
  .contact-area .item-box h2 {
    font-size: 1.3rem;
  }
  .contact-area h2 + p {
    font-size: 0.85rem;
  }
  main .detail-box {
    margin: 0;
    padding: 20px;
    box-shadow: 0px 0px 11px -6px #9e9e9e;
    width: 100%;
  }
  main .business-area figure:nth-child(2) .detail-box, main .business-area figure:nth-child(3) .detail-box, main .business-area figure:nth-child(4) .detail-box {
    background: #0a1934;
    padding: 25px;
    box-shadow: none;
  }
  .contact main .detail-box {
    box-shadow: none;
    padding: 0;
    margin-bottom: 30px;
  }
  .pc-kv-block {
    display: none;
  }
  .sp-kv-block {
    display: block;
  }
  .view-btn a::before {
    right: 27px;
    width: 7px;
    height: 7px;
    top: 12px;
  }
  .c-pagination li a, .c-pagination li span {
    width: 30px;
    padding: 8px 12px;
  }
  /*------------------
btn
--------------------*/
  figure .btn-box-a {
    width: inherit;
    height: inherit;
    display: inline-block;
  }
  figure .btn-box-a svg, figure .shape-box {
    display: none;
  }
  figure .btn-box-a .txt {
    display: inline-block;
    position: relative;
  }
  figure .btn-box-a .txt, figure .btn-box-a .txt a {
    margin-top: 0;
    text-align: inherit;
    margin-left: inherit;
  }
  figure .link-arrow::after {
    top: 8px;
    right: inherit;
    left: 75px;
  }
  /*==================================
company
==================================*/
  h2 span:before {
    top: -16px;
    width: 75px;
    height: 63px;
  }
  .products-wrap h2 span:before, h2 span:before, .page h2 span:before {
    position: absolute;
    top: -16px;
    width: 75px;
    height: 63px;
  }
  .contact-area .contact-inner h2 span::before {
    position: absolute;
    top: -16px;
    width: 75px;
    height: 63px;
    left: 0;
  }
  .company .txt-thumb .thumb-box {
    margin: 0 auto 20px;
    max-width: 360px;
  }
  .company .access-area .access-box {
    width: 100%;
  }
  .company .access-area .access-box:first-child {
    margin-right: 0;
  }
  .company .access-area .access-box:first-child {
    margin-bottom: 40px;
  }
  .company .message-area:after {
    width: 100%;
    top: 55%;
    background-size: 100%;
  }
  .company .company-area {
    margin: 60px 0;
  }
  /*==================================
home
==================================*/
  .kv-area .ofi > img {
    height: 370px;
  }
  /*------------------
  news
  --------------------*/
  main .news-area .content-area {
    position: relative;
  }
  main .news-area .news-inner:before {
    left: 0;
    width: 63px;
    height: 59px;
  }
  main .news-area .news-inner:after {
    top: 7px;
    right: 0;
    width: 99px;
    height: 63px;
  }
  main .news-area ul li.ofi img {
    height: 285px;
    max-width: 100%;
  }
  .news-area .item-list li, .category .news-area .item-list li {
    width: inherit;
    margin-right: inherit;
  }
  main .news-area .news-category-links ul li a {
    width: 100%;
    padding: 5px 15px;
  }
  .news-category-links ul {
    display: flex;
  }
  .products-wrap .news-area .item-list > li, .products-wrap .news-area .item-lis li ul li:nth-child(n+2) {
    width: 100%;
    margin-bottom: 30px;
  }
  main .news-area .c-pagination li, .category main .news-area .c-pagination li:nth-child(1), main .news-area .c-pagination li:nth-child(n+2) {
    width: initial;
    margin-right: 10px;
  }
  main .news-area ul .item-list li:last-child {
    margin-bottom: 0;
  }
  .news-category-links ul li {}
  main .news-area .item-list li:nth-child(2n), main .news-area .item-list li:nth-child(3n) {
    margin-right: 0;
    width: 100%;
  }
  main .news-area .link-btn {
    margin: 45px 0 0 0;
  }
  main .news-area ul li .cate, .single .cate, .search .cate, main .news-area .item-list li {
    font-size: 0.9rem;
  }
  .home h2, .works-area h2, .technology-area h2, .about-area h2 {
    margin: 0 auto 40px;
    padding-left: 16px;
  }
  .technology-area h2 span:before {
    top: 4px;
    left: 0;
  }
  /*==================================
news
==================================*/
  .blog main .news-area ul li a > img {
    height: 255px
  }
  .blog main .item-list li {
    margin: 0 0 30px;
  }
  main .wp-pagenavi {
    margin-top: 40px;
  }
  /*==================================
page
==================================*/
  .kv-page-area .kv-ttl:before {
    top: -61%;
    left: 0;
    width: 104px;
    height: 97px;
  }
  .page main .ofi > img {
    height: 250px;
    border-radius: 0;
  }
  /*==================================
single
==================================*/
  .single main {
    padding-top: 30px;
  }
  .single main .nav-links.flex-content {
    display: flex;
  }
  .single main h3 {
    margin-bottom: 35px;
    font-size: 18px;
  }
  .single main .half-area img:first-child {
    margin: 0 0 15px 0;
    width: 100%;
  }
  .single main .main-ttl {
    margin-bottom: 20px;
  }
  .single main .main-ttl > div {
    display: flex;
  }
  .single .date {
    margin: 0 5px 0 0;
  }
  .single article h1 {
    margin-bottom: 5px;
    font-size: 1.1rem;
  }
  .single main .half-area .txt-box h2, .single main h3 {
    font-size: 1.7rem;
    padding-left: 0;
    margin-top: 20px;
  }
  .single .sidebar .side-box {
    margin-bottom: 35px;
  }
  .single aside .related-area ul li a {
    padding: 20px 0;
  }
  .single aside .related-area ul li a > img {
    height: 70px;
    width: 70px;
  }
  .single .sidebar .side-box ul li.cat-item {
    margin-bottom: 10px;
  }
  .single .related-area h2 {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .single .related-area h2 span {
    font-size: 0.8rem;
  }
  .single .related-area h3 {
    margin-top: 4px;
    font-size: 1rem;
  }
  .single .photo-g div {
    padding-right: 0;
  }
  .single .link-arrow-box {
    margin-top: 35px;
  }
  /*------------------
施工事例
  --------------------*/
  .post-type-archive-works main .news-area .news-category-links ul li:first-child, .tax-works_cat main .news-area .news-category-links ul li:first-child {
    position: absolute;
    top: -36px;
  }
  .post-type-archive-works main .news-area .news-category-links ul li, .tax-works_cat main .news-area .news-category-links ul li {
    margin-bottom: 10px;
    width: inherit;
  }
  .post-type-archive-works main .news-area ul li:nth-child(2) {
    margin-right: 10px;
  }
  /*------------------
blog
  --------------------*/
  .single-blsog main h3 {
    margin-bottom: 5px;
    font-size: 18px;
  }
  .single-blog main ul.gallery-box li {
    width: 100%;
    margin: 0 0 25px 0;
  }
  main .wp-pagenavi .pages {
    width: 56px;
    height: 30px;
  }
  main .wp-pagenavi a, main .wp-pagenavi span {
    padding: 7px 10px;
    width: 30px;
    height: 30px;
  }
  main .wp-pagenavi a:hover, main .wp-pagenavi span.current {
    width: 30px;
    height: 30px;
  }
  /*==================================
thanks
==================================*/
  .thanks .content-area h1 {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.4;
  }
  .page.thanks main {
    padding: 65px 0 35px;
    margin: 0;
  }
  /*==================================
フォーム
==================================*/
  main .form-wrap .table-form tr th, main .form-wrap .table-form td {
    padding: 0;
    border: none;
  }
  main .contact-menu {
    margin-bottom: 45px;
  }
  main .form-wrap .contact-menu li {
    margin-right: 13px;
  }
  main .form-wrap .contact-menu li:last-child {
    margin-right: 0;
  }
  main .form-wrap .contact-menu li a {
    padding: 12px 5px;
    font-size: 12px;
  }
  main .form-wrap .list-box {
    padding: 15px;
  }
  .caution-area {
    margin-top: 50px;
  }
  /*==================================
　記事一覧
==================================*/
  .sidebar {
    margin-bottom: 50px;
  }
  .sidebar .side-box ul li.cat-item {
    margin-bottom: 0;
  }
  .sidebar .side-box:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .sidebar .side-box select {
    display: block;
    width: 100%;
    padding: 0.5rem 0.8rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ddd;
  }
  .sidebar input[type="text"] {
    width: 100%;
    padding: 10px 30px 10px 10px;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ddd;
    height: 40px;
  }
  .sidebar select {
    position: relative;
    right: 0;
    text-overflow: '';
    appearance: button;
    appearance: none;
    -moz-appearance: none;
    vertical-align: middle;
    -webkit-transition: background-color .24s ease-in-out;
    transition: background-color .24s ease-in-out;
    -webkit-appearance: none;
    background-image: url(../images/common/ico-arrow-down.png);
    background-repeat: no-repeat;
    background-position: 96% center;
    background-size: 12px;
  }
  .sidebar .searchform {
    position: relative;
  }
  .sidebar input[type="submit"] {
    border: none;
    border-radius: 5px;
    position: absolute;
    width: 16px;
    height: 16px;
    right: 9px;
    background: url(../images/common/ico-search.png) no-repeat;
    background-size: 100%;
    top: 11px;
    display: block;
    padding: 0;
  }
  .related-area h2 {
    font-size: 1.6rem;
  }
  .related-area h3 {
    font-size: 1rem;
    margin-top: 5px;
  }
  /*==================================
archive,blog
==================================*/
  .archive main, .blog main {
    padding: 7% 0 0;
  }
  /*==================================
privacy policy
==================================*/
  .privacy-policy h2 {
    margin-bottom: 5px;
    font-size: 0.98rem;
    justify-content: inherit;
  }
  .privacy-policy .content-box {
    margin: 0 auto 25px;
  }
  /*==================================
category
==================================*/
  .archive.category .kv-page-area {
    /* margin: 0; */
  }
  .single aside .related-area ul li a div {
    width: 73%;
  }
  .news-area .item-list li::nth-child(2n) {
    margin-right: 0;
  }
  .company .caption {
    font-size: 1rem;
  }
  /*==================================
  products
==================================*/
  .products-wrap h4 {
    margin-bottom: 15px;
    line-height: 1.3;
  }
  .products-wrap h4 span {
    display: block;
  }
  .products .txt-box h3 {
    margin: 0;
  }
  .products .txt-box .technology-caption {
    margin-top: 0;
  }
  .products-content-left:last-child {
    padding: 0;
  }
  .page .foot-bnr {
    margin: 0;
  }
  .page .foot-bnr li, .page .foot-bnr li:nth-last-child(-n+2) {
    width: 100%;
    margin: 0 0 20px 0;
  }
  .spray-urethane-u-1 .img-list li, .spray-urethane-u-1 .img-list.arrow-box li:last-child {
    margin: 0 auto 50px;
    max-width: 360px;
  }
  .spray-urethane-u-1 .products-content1.products-content-right {
    background-size: 180%;
    background-position: 46% 10%;
  }
  .products-wrap .img-list.arrow-box li:nth-child(1)::after {
    left: 0;
    right: 0;
    bottom: -62%;
    width: 23px;
    height: 23px;
    margin: auto;
    transform: rotate(90deg);
    background-size: 100%;
  }
  .products-wrap .img-list.arrow-box li:nth-child(2)::after {
    left: 0;
    right: 0;
    bottom: -79%;
    width: 23px;
    height: 23px;
    margin: auto;
    transform: rotate(90deg);
    background-size: 100%;
  }
  .products-wrap .img-list ul:nth-child(2) li, .products-wrap .img-list ul:nth-child(3) li {
    margin: 0 0 45px 0;
  }
  .roof-pannel-u .img-list > ul + ul {
    display: flex;
    margin-right: -20px;
    margin-left: -20px;
  }
  .roof-pannel-u .products-wrap .img-list > ul + ul li {
    margin-bottom: 0;
  }
  .roof-pannel-u .img-list ul li {
    margin-right: 10px;
  }
  .roof-pannel-u .img-list ul li:last-child {
    margin-right: 0;
  }
  /*---スプレーウレタンU-1---*/
  .spray-urethane-u-1 .products-content1.products-content-right {
    background-size: 156%;
  }
  .products-content-left:last-child {
    background-position: 3% 57%;
    background-size: 135%;
  }
  .spray-urethane-u-1 .img-list.arrow-box li p {
    margin-top: 8px;
  }
  /* ==========================================
   ① 斜めボックス（白背景）
   ========================================== */
  .page-parent.products .txt-thumb .txt-box {
    padding: 90px 25px 45px 85px;
    width: 104%;
    margin-left: -17px;
  }
  /* ==========================================
   ② 親要素で影を落とす（四角で影）
   ========================================== */
  .page-parent.products .txt-thumb {
    position: relative;
    background: transparent;
    filter: drop-shadow(0 18px 15px rgba(0, 0, 0, 0.18));
    -webkit-filter: drop-shadow(-2px 3px 18px rgba(0, 0, 0, 0.11));
  }
  /*==================================
common
==================================*/
  .page .foot-bnr li p {
    font-size: 1.4rem;
  }
  /*==================================
ユニークルーフFit  
==================================*/
  .products-content-right {
    padding-top: 30px;
  }
  .unique-roof-fit .case-box01 ul li {
    width: 100%;
    margin: 0 0 60px;
  }
  .unique-roof-fit .case-box01 .arrow-box {
    display: inherit;
  }
  .unique-roof-fit .case-box01 ul {
    display: flex;
  }
  .unique-roof-fit .case-box01.case-box02 ul li {
    max-width: 545px;
    margin-right: 20px;
    width: 100%;
    margin-bottom: 0;
  }
  .unique-roof-fit .case-box01.case-box02 ul li:last-child {
    margin-right: 0;
  }
  .unique-roof-fit .txt-list .txt-box {
    width: 100%;
    margin: 0 0 30px;
    padding: 30px 25px;
  }
  .unique-roof-fit .txt-list .txt-box {
    width: 100%;
    margin-right: 0;
    padding: 20px;
  }
  .unique-roof-fit .txt-list .txt-box .sub-ttl {
    margin-bottom: 10px;
    color: #023A63;
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.2;
  }
  .unique-roof-fit .txt-list .txt-box p {
    color: #023A63;
  }
  .unique-roof-fit .txt-list .txt-box:last-child {
    margin: 0;
  }
  .unique-roof-fit .case-box01 ul li {
    width: 31.222222%;
    margin-right: 3.111111%;
  }
  .products-wrap .img-list.arrow-box li {
    width: 100%;
    margin: 0 auto 13%;
  }
  .unique-roof-fit .products-wrap .case-box01.arrow-box ul li:after {
    top: 132px;
    right: -6%;
    background-size: 100%;
  }
  .unique-roof-fit .case-box01 ul li p {
    margin-top: 20px;
    text-align: center;
  }
  .unique-roof-fit .case-box01 ul li:nth-child(3) {
    margin-right: 0;
  }
  .unique-roof-fit .case-box01 ul li:last-child {
    margin-right: 0;
  }
  .unique-roof-fit .case-box01.case-box02 ul li {
    max-width: 545px;
    margin-right: 30px;
    width: 100%;
  }
  .unique-roof-fit .case-box03 ul li {
    margin-bottom: 30px;
    margin-right: 0;
    width: 100%;
  }
  .unique-roof-fit .case-box03 ul + p {
    position: relative;
    margin: 20px 0 0;
  }
  .unique-roof-fit .products-wrap .img-list.arrow-box li:after {
    top: 47%;
    right: 0;
    left: 0;
    background-size: 100%;
  }
  .unique-roof-fit .products-wrap .img-list.arrow-box li:nth-child(2)::after {
    top: 30%;
  }
  .unique-roof-fit .case-box03 ul li:last-child {
    margin-right: 0;
    margin-bottom: 0;
  }
  .unique-roof-fit .case-box03.arrow-box p + ul + p:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 173%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transform: rotate(90deg);
  }
  .unique-roof-fit .color-chip-list {
    max-width: 990px;
    display: flex;
  }
  .unique-roof-fit .color-chip-list li {
    width: 30.333333%;
    margin-bottom: 25px;
  }
  .unique-roof-fit .color-chip-list li:nth-child(3n) {
    margin-right: 0;
  }
  .unique-roof-fit .color-chip-list li:nth-child(n+5) {
    width: 30.333333%;
    margin-top: 0;
    text-align: center;
  }
  .unique-roof-fit .color-chip-list li p {
    margin-top: 12px;
    text-align: center;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle {
    margin-top: 46px;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li {
    margin-right: 8.222222%;
    margin-bottom: 65px;
    width: 45.888888%;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li:first-child {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    margin-bottom: 55px;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li:first-child:before {
    right: 0;
    bottom: -132%;
    left: 0;
    transform: rotate(90deg);
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle + ul li:first-child {
    position: relative;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle + ul li:first-child:before {
    right: 0;
    top: -120%;
    left: 0;
    margin: auto;
    width: 20px;
    height: 20px;
  }
  .unique-roof-fit .case-box03 .case-middle li p {
    text-align: left;
    margin-top: 20px;
  }
  .unique-roof-fit .case-box03 .case-middle li:nth-child(2n) {
    margin-right: 0;
  }
  .unique-roof-fit .case-box03 .case-middle li:nth-child(2) {
    position: relative;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li:nth-child(2):before {
    right: 0;
    left: 0;
    bottom: -10%;
    width: 20px;
    height: 20px;
    transform: rotate(90deg);
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li:nth-child(3) {
    position: relative;
    width: 100%;
    margin-bottom: 55px;
  }
  .unique-roof-fit .case-box03.arrow-box .case-middle li:nth-child(3):after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 109%;
    left: 0;
    right: 0;
    bottom: 0;
    transform: rotate(90deg);
  }
  .unique-roof-fit .case-box03 .case-middle li p {
    text-align: left;
    margin-top: 15px;
  }
  .unique-roof-fit .case-box03 .case-middle li:nth-child(2n) {
    margin-right: 0;
    margin-bottom: 50px;
    width: 100%;
  }
  .unique-roof-fit .standard-box {
    margin-right: 0;
  }
  .unique-roof-fit .standard-box:last-child {
    margin-right: 0;
  }
  .unique-roof-fit .standard-box > p {
    margin-bottom: 0;
    font-weight: 600;
  }
  .unique-roof-fit .notes-box {
    margin: 35px 0 45px;
  }
  .unique-roof-fit .notes-box > p {
    margin-bottom: 0;
  }
  .unique-roof-fit .standard-spec-area ul li {
    margin: 0 10px 0 0;
  }
  .unique-roof-fit .standard-box {
    margin-bottom: 30px;
  }
  .unique-roof-fit .standard-box ul li {
    margin-bottom: 5px;
  }
  .unique-roof-fit .standard-spec-area .notes-box + ul {
    display: flex;
    margin-left: -20px;
    margin-right: -20px;
  }
  .unique-roof-fit .standard-spec-area ul li:last-child {
    margin: 0;
  }
  .unique-roof li .item-box-inner {
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .products-wrap .sub-ttl {
    font-size: 1.3rem;
    margin-bottom: 15px;
  }
  .unique-roof-fit .color-chip-box {
    margin-bottom: 35px;
  }
  .unique-roof-fit .color-chip-box:last-child {
    margin-bottom: 0;
  }
  .unique-roof-fit .foot-bnr {
    margin-top: 60px;
  }
  .unique-roof-fit .products-content2.products-content-left {
    padding: 0;
    background-position: 0% 8%;
    background-size: 109%;
  }
  .unique-roof-fit .products-content3.products-content-right {
    padding-top: 0;
    background-position: 0 34%;
    background-size: 125%;
  }
  .unique-roof-fit .products-content4.products-content-right {
    padding: 0;
    background-position: -2% 17%;
    background-size: 110%;
  }
  .unique-roof-fit .products-content5.products-content-left {
    padding: 20px 0;
    background-position: 0% 95%;
    background-size: 125%;
  }
  .unique-roof-system .conditions-area ul.img-list {
    display: flex;
    margin: 55px -20px 60px -20px;
  }
  .unique-roof-system .conditions-area ul.img-list li {
    margin-right: 5px;
  }
  .unique-roof-system .products-content-left {
    padding: 50px 0 0;
    background-position: 0% 7%;
    background-size: 130%;
  }
  .unique-roof-system .products-content4.products-content-left {
    padding-top: 0;
  }
  .unique-roof-system .products-content3.products-content-right {
    padding: 60px 0 40px;
    background-position: 0 19%;
    background-size: 132%;
  }
  .unique-roof-system .products-content3.products-content-right {
    padding: 60px 0 0;
    background-position: 0 19%;
    background-size: 132%;
  }
  .unique-roof-system .products-content1.products-content-right {
    padding: 25px 0 45px;
  }
  .products-wrap .news-area .item-list {
    margin-bottom: 40px;
  }
  .page .main-wrap {
    padding-top: 45px;
  }
  .news-category-links ul {
    flex-wrap: wrap;
    margin-bottom: 20px;
    justify-content: inherit;
  }
  .post-type-archive-works main .news-area .news-category-links ul li:first-child, .tax-works_cat main .news-area .news-category-links ul li:first-child {
    position: absolute;
    top: -37px;
    left: 18px;
  }
  /*==================================
spray-urethane-u-1
==================================*/
  .spray-urethane-u-1 .sub-box:nth-child(5) .thumb-box {
    width: 100%;
    margin-bottom: 25px;
  }
  /*==================================
faq
==================================*/
  .faq-card-q, .faq-card-a {
    padding: 15px 20px;
    display: inherit;
  }
  .faq-card-a .faq-card-a-txt {
    margin-bottom: 32px;
    width: 100%;
    padding-right: 33px;
    text-align: justify;
  }
  .faq-card-circle {
    width: 60px;
    height: 60px;
  }
  .faq-card-view {
    display: none;
  }
  .faq-card-cta {
    display: revert;
  }
  .faq.page-child h3 {
    margin-bottom: 0;
    font-size: 1.2rem;
  }
  .faq.page-child h2 br {
    display: none;
  }
  .error404 .flex-content {
    display: flex;
  }
  .roof-pannel-u .products-content3.products-content-right {
    padding-top: 0;
  }
}
@media screen and (max-width: 550px) {
  header .logo img {
    vertical-align: top;
  }
  h3, h3.border-none, .products-wrap h3 {
    font-size: 1.35rem;
  }
  h3.border-none {
    padding-bottom: 17px;
  }
  .news-category-links ul li a {
    width: 100%;
    text-align: center;
    padding: 8px 2px;
    font-size: 0.8rem;
  }
  main .news-area ul li {
    margin-bottom: 10px;
    margin-right: 3.333333%;
    width: 48.222222%;
  }
  .category .news-area ul li:nth-child(1) {
    width: 100%;
  }
  .category .news-area ul li:nth-child(3) {
    margin-right: 0;
  }
  main .news-category-links ul li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .blog main .news-area ul li:nth-child(1) {
    width: 100%;
  }
  .blog main .news-area ul li:nth-child(3), .blog .news-area ul li:nth-child(2n+3), .tax-works_tag main .news-area ul li:nth-child(2n) {
    margin-right: 0;
  }
  .post-type-archive-works main .news-area ul li:nth-child(2), .tax-works_cat main .news-area ul li:nth-child(2) {
    margin-right: 10px;
  }
  .page-parent.products .main-wrap {
    padding-top: 65px;
  }
  .page-parent.products .txt-thumb .txt-box {
    padding: 90px 15px 55px 65px;
  }
}
@media screen and (min-width: 1500px) {
  header .header-inner {
    max-width: 87.555555%;
  }
}
@media screen and (min-width: 1700px) {
  .contact-area .contact-inner {
    max-width: 1170px;
  }
}