/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
body{
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-bg.png) repeat center center;
}
.header{
  background: #fff;
}
.header-logo{
  width: 331px;
}
.drawer-nav > ul > li > a .en{
  font-family: "Zen Kaku Gothic Antique", serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.04em;
}
.header-nav > ul > li > a span.title{
  color: #9e8256;
  font-size: 1.3rem;
}

.mainvisual2{
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/wood-bg.png) repeat center center;
}

.box h2.box-h2{
  font-size: 4rem;
  color: #3e2816;
}
.title-type02 span:nth-child(2){
  font-size: 2.1rem;
  opacity: 1;
  color: #9e8256;
  position: relative;
}
.title-type02 span:nth-child(2)::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-80px,-50%);
  width: 14px;
  height: 11px;
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/title-before.png) no-repeat center center / contain;
}
.title-type02 span:nth-child(2)::after{
  content: '';
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(80px,-50%) rotate(180deg);
  width: 14px;
  height: 11px;
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/title-before.png) no-repeat center center / contain;
}
.title-type02:before, .title-type04:before{
  display: none;
}
.title-type02, .title-type04{
  padding: 0;
}
.box-wrap.sm{
  max-width: 1124px;
  padding: 0;
}
.box .btn a{
  border-radius: 0;
}



.box-wrap.sm.main-trouble{
  max-width: 960px;
  .col img{
    border: 10px solid #fff;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 20px 3px rgba(10,10,10,0.06);
  }
  .list-check-type01{
    justify-content: flex-start;
  }
  .col:nth-child(1) p{
    font-size: 2.1rem;
    font-weight: bold;
    line-height: 2;
  }
  .list-check-type01 > ul > li:before{
    top: 50%;
    transform: translate(0,-50%);
  }
}
.pc .box-wrap.sm.main-trouble{
  .row .col:nth-child(2){
    margin: 0 0 0 -240px;
  }
}

.box-wrap.bg.main-support::before{
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/brick-bg.png) repeat center center;
  z-index: 0;
}

.box-wrap.bg.main-support{
  .image-bg-type02 .text{
    max-width: 1100px;
    padding: 50px 50px;
  }
  .image-bg-type02{
  }
  .image-bg-type02 .image{
    position: absolute;
    background: #fff;
    clip-path: polygon(0 0, calc(50% - 80px) 0, 50% 35px, calc(50% + 80px) 0, 100% 0, 100% 100%, 0 100%);
    border: 8px solid #e5d9c2;
  }
  .image-bg-type02 .image img{
    display: none;
  }
  .image-bg-type02::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%; /* 水平方向に中央揃え */
    transform: translateX(-50%); /* 完全に中央に配置 */
    width: 160px; /* 外側三角形の横幅 */
    height: 35px; /* 外側三角形の高さ */
    background-color: #e5d9c2; /* 外側三角形の色 */
    clip-path: polygon(13% 0, 0 0, 0 100%, 100% 100%, 100% 0, 88% 0, 50% 75%);
    pointer-events: none; /* クリックを無効化 */
  }
}

.box-wrap.sm.main-strengths{
  .title-type02 span:nth-child(2)::before{
    transform: translate(-100px,-50%);
  }
  .title-type02 span:nth-child(2)::after{
    transform: translate(99px,-50%) rotate(180deg);
  }
  .box h3.box-h3{
    font-size: 2.3rem;
    color: #3e2816;
    text-align: center;
  }
  .list-number-type02 ol li:before{
    border: none;
    color: #fff;
    width: 92px;
    height: 92px;
    line-height: 92px;
    text-align: center;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/number-bg.png) no-repeat center center / contain;
  }
}

.box-wrap.bg.main-service{
  margin: 0 calc(50% - var(--vw) * 50) 0 calc(50% - var(--vw) * 50);
  .box h2.box-h2 .ja{
    color: #fff;
  }
  .box-h3.en{
    font-family: "Norican", serif;
    font-weight: 400;
    font-size: 7.6rem;
    margin: 0;
  }
  .col .box-h3.en{
    font-size: 5rem;
  }
  .box.image-bg-type02 .text{
    max-width: 1100px;
  }
  .box.row.row-3 .text{
    padding: 40px 40px 40px;
  }
  .text ul{
    display: flex;
    justify-content: center;
    gap: 9px;
  }
  .text ul li{
    list-style: none;
    color: #3e2816;
    font-size: 2rem;
    font-weight: bold;
    background: #fff55d;
    border-radius: 20px;
    padding: 2px 10px;
    margin: 0;
  }
  .text p{
    line-height: 2;
  }
  .box .btn a{
    background: none;
    border: 1px solid #fff;
    border-radius: 0;
    color: #fff;
  }
  .box.image-bg-type02{
    margin-bottom: 30px;
  }
  .box.row{
    gap: 0;
  }
  .row .col{
    height: auto;
    .box.image-bg-type02{
      height: 100%;
    }
  }
}
.box-wrap.bg.main-service::before{
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/wood-bg.png) repeat top center;
  z-index: 0;
}

.box-wrap.xl.main-gallery{
  margin: 80px calc(50% - var(--vw) * 50) var(--box-margin) calc(50% - var(--vw) * 50);
  .blog-type04 .swiper-pagination{
    display: none;
  }
}

.box-wrap.lg.main-banner{
  .banner-type01 ul li a:after{
    display: none;
  }
  .text{
    position: relative;
  }
  .text:before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 98%;
    height: 95%;
    border: 1px solid #fff;
  }
}

.box-wrap.sm.main-blog{
  .title-type02 span:nth-child(2)::before{
    transform: translate(-60px,-50%);
  }
  .title-type02 span:nth-child(2)::after{
    transform: translate(60px,-50%) rotate(180deg);
  }
}

.box-wrap.xl.footer-con{
  .title .en{
    font-size: 2rem;
  }
  .datetime{
    margin-top: 20px;
    font-size: 1.8rem;
  }
  .contact-type02 .image{
    z-index: 0;
  }
  .contact-type02 .title{
    text-align: center;
  }
  .contact-type02 .text .tel{
    line-height: 1.1;
  }
  .text .datetime{
    font-size: 1.4rem;
    margin: 0 0 2vh 0;
  }
  .box .btn{
    margin: 3vh 0 0 0;
  }
  .box .btn a{
    background: #436231;
  }
  .contact-type02 .title{
    padding: 0 45px 0 0;
  }
  .contact-type02 .text{
    padding: 0 0 0 45px;
    position: relative;
  }
  .contact-type02 .text::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: #fff;
  }
}

.box-wrap.xl.footer-map{
  margin: 0 calc(50% - var(--vw) * 50) 40px calc(50% - var(--vw) * 50);
}
.box-wrap.sm.footer-banner{
  margin-bottom: 40px;
}

.footer{
  padding: 80px 0 80px 0;
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/brick-bg.png) repeat center center;
}
.footer-main{
  margin: 0 0 40px 0;
  padding: 0 0 40px 0;
}
.footer-main .nav ul li a{
  color: #fff;
}
.footer-main .logo{
  width: 360px;
}
.footer-main .about{
  font-size: 1.4rem;
  color: #fff;
}
.footer-main:after{
  background: #a3846a;
}
.footer-sub .copyright{
  color: #fff;
  font-size: 1rem;
}
.fixed-footer{
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/wood-bg.png) repeat center center;
}
.fixed-footer::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 730px;
  width: 100%;
  height: 50px;
  background: rgba(255,255,255,0.5);
  z-index: -1;
}
.fixed-footer .contact a{
  border-radius: 0;
}

/* 20241121 added by Fabo */
body{
  position: relative;
  z-index: -10;
}
body:not(.home) .title-type02 span:nth-child(1){
  display: block;
}
body:not(.home) .title-type02 span:nth-child(2){
  display: inline-block;
}
body:not(.home) .title-type02 span:nth-child(2)::before {
  left: 0;
  transform: translate(-25px, -50%);
}
body:not(.home) .title-type02 span:nth-child(2)::after {
  right: 0;
  transform: translate(25px, -50%) rotate(180deg);
}
body:not(.home) .image-bg-type01 .text {
  padding-bottom: 60px;
}
body:not(.home) .image-text-type03 .text:before {
  background: var(--body-color-bg);
}

/* 20241122 added by Fabo */
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.mt-0 { margin-top: 0 !important;}
.mb-0 { margin-bottom: 0 !important;}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
margin-bottom: 3vh;
}

.table_qa {
  width: 100%;
  margin-bottom: 30px;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
}
.table_qa th {
  width: 5%;
  padding: 20px 10px;
}
.table_qa td {
  padding: 20px 10px;
  vertical-align: middle;
}
.table_qa tr:nth-child(2n-1) td {
  font-size: 18px;
  font-weight: bold;
}
.table_qa tr:nth-child(2n) {
  background: #e6dfc9;
}
.table_qa tr:nth-child(2n) th {
  vertical-align: top;
}
.q_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color);
  line-height: 44px;
  color: #fff;
  font-family: "Arvo", serif;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
.a_icon {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--main-color-2);
  line-height: 44px;
  color: #fff;
  font-family: "Arvo", serif;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.box-color {
    margin: 0 0 6vh;
    padding: 35px;
    background: #fff;
}
.box-color :first-child {
    margin-top: 0 !important;
}
.box-color :last-child {
    margin-bottom: 0 !important;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}



/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
  .box h2.box-h2{
    font-size: 2.8rem;
  }
  .box-wrap.bg.main-service {
    .text ul{
      flex-direction: column;
    }
  }
  .box-wrap.bg.main-service{
    .box .copy span{
      font-size: 1.8rem !important;
    }
  }
  .box-wrap.xl.footer-con {
    .contact-type02 .text{
      padding: 30px 0 0 0;
    }
    .contact-type02 .title{
      padding: 0 0 30px 0;
    }
    .contact-type02 .text::before{
      width: 100%;
      height: 1px;
      left: 0;
      top: 0;
    }
    .contact-type02 .text .tel{
      justify-content: center;
    }
  }
  .box-wrap.sm.main-trouble {
    .list-check-type01{
      justify-content: center;
    }
  }

  /* 20241121 added by Fabo */
  body:not(.home) .image-bg-type01 .text {
    padding-bottom: 30px;
  }
  body:not(.home) .image-text-type03 .text {
    background: var(--body-color-bg);
  }
}
