/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/

/* ======================================
2023/09/07 added by takada
======================================== */

/* ------------------ title ------------------  */

.home .title-type02{
    margin-top: 90px;
    margin-bottom: 30px;
}

.home .title-type02:before{
    content: none;
}

.home .title-type02 span.ja,
.contact-type01 .title .ja{
    font-size: 4.2rem;
    margin: 0;
    line-height: 1.4em;
    letter-spacing: .25rem;
}

.home .title-type02 span.en,
.contact-type01 .title .en{
    font-size: 1.5rem;
    letter-spacing: .28rem;
    color: var(--main-color);
    opacity: 1;
}

.sp-br{
    display: none;
}

/* ------------------ button ------------------  */

.box .btn a{
    font-size: 1.8rem;
    letter-spacing: .2rem;
}

.box .btn a:after{
    right: 15px;
}

/* ------------------ background / margin ------------------  */

.box-wrap.bg{
    margin-top: 90px;
    padding: 90px 0;
}

.box-wrap.bg.nw{
    margin-top: 0;
    padding: 60px 0;
}

.box-wrap.bg.nw:before{
    background: #e4f1d1;
}

.box-wrap.bg.bg2:before{
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/bg.jpg);
    background-position: top center;
    background-size: cover;
}

.box-wrap.bg .title-type02{
    margin-top: 0;
}

.box-wrap.bg.nw .title-type02{
    margin-bottom: 10px;
}

.home .image-text-type02.area{
    margin-top: 90px;
}

.home .contact-type01{
    margin-top: -1.2vh;
}

/* ------------------ header ------------------  */

.header-nav > ul > li{
    margin: 0 15px;
}

.header-nav > ul > li span.label{
    font-family: 'IBM Plex Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: .06rem;
    font-size: 1.7rem;
}

/* ------------------ MV ------------------  */

.mainvisual{
    margin-bottom: 0;
}

.mainvisual-catch{
    text-align: center;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%,50%);
    filter:  drop-shadow(0 0 12px rgba(0,0,0,.4));
}

.mainvisual-catch div.copy{
    line-height: 1.8em;
    letter-spacing: .2rem;
}

.mainvisual-catch div.copy span{
    background: black;
    padding: .2em .4em .1em;
    border-radius: .2em;
    line-height: 1;
    margin: 0 10px;
}

.mainvisual-catch div.copy span.red{
    background: #d93725;
}

.mainvisual-catch div.copy span.blue{
    background: #3e6bcb;
}

.mainvisual-catch div.sub-text{
    margin-top: 1.2em;
    letter-spacing: .3rem;
    line-height: 1.6em;
}

.home .blog-type03{
    background: white;
    padding: 60px 40px;
}

/* ------------------ service ------------------  */

.home .image-text-type03 .box-h3{
    font-size: 3.6rem;
    color: var(--main-color);
    padding: 14px 0 30px 90px;
    border-bottom: 2px dashed var(--border-color);
    letter-spacing: .02rem;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/ic.png)no-repeat;
    background-position: 0 top;
}

.home .image-text-type03 .text p{
    line-height: 2em;
}

/* ------------------ feature ------------------  */

.banner-type02 ul li .text .box-h3{
    font-size: 3rem;
    line-height: 1.4em;
    letter-spacing: .1rem;
    text-align: center;
}

.banner-type02 ul li .text .box-h3 span{
    color: yellow;
}

/* ------------------ banner ------------------  */

.home .banner-type01 ul li a span{
    font-size: 3.6rem;
    letter-spacing: .2rem;
}

.banner-type01 ul li a:after{
    background: var(--main-color);
    padding: 12px 18px;
    border-radius: 20px 0 0 0;
    right: 0;
    bottom: 0;
}

/* ------------------ area ------------------  */

.home .image-text-type02.area .box-h3{
    color: var(--main-color);
    font-size: 4rem;
    letter-spacing: .2rem;
    padding: 14px 0 24px 90px;
    border-bottom: 2px dashed var(--border-color);
    margin-bottom: 1em;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/ic.png)no-repeat;
    background-position: 0 top;
}

.home .image-text-type02.area .copy{
    font-size: 2.6rem;
    letter-spacing: .1rem;
}

.image-text-type02 .text:before{
    background: #e4f1d1;
}

/* ------------------ contact ------------------  */

.contact-type01 .text .tel{
    letter-spacing: .2rem;
}

.contact-type01 .text .tel:before{
    position: relative;
    top: 5px;
    margin-right: 5px;
}

.contact-type01 .text .btn div a.access{
    background: var(--main-color);
}

.contact-type01 .text .btn div a.access:after{
    content: "\e0c8";
    font-variation-settings: 'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;
}

/* ------------------ fixed-footer ------------------  */

.fixed-footer{
    background: var(--main-color);
    letter-spacing: .1rem;
    color: white;
}

.fixed-footer .contact a{
    padding: 8px 28px 6px;
    background: var(--main-color-2);
}

.fixed-footer .tel a:before{
    color: var(--main-color-2);
}

/* 20230928 added by Fabo */
.custom-h2 {
    margin: 10vh 0 5vh !important;
    font-size: 4rem;
}
.custom-h3 {
    margin: 8vh 0 4vh !important;
    font-size: 3.2rem;
}
.custom-h4 {
    margin: 6vh 0 3vh !important;
    font-size: 2.5rem;
}

.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;}

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

.page-content .image-text-type01 .text {
    overflow: hidden;
}

.font-l {
    font-size: 130%;
}

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

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

/* ------------------ MV ------------------  */

.mainvisual-catch div.copy{
    margin: 0 auto;
    line-height: 1.4em;
}

.mainvisual-catch div.copy span{
    display: inline-block;
    padding: .4em .4em .3em;
    margin: 0 5px 10px;
}

    .sp-br {
    display: block;
}

}

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

/* ------------------ MV ------------------  */

.mainvisual-catch div.copy{
    max-width: 500px;
}

    .mainvisual-catch div.copy span{
        margin-bottom: 20px;
    }

.mainvisual-catch div.copy span.buy{
    margin: 0 10px;
}

/* ------------------ service ------------------  */

.home .image-text-type02,
.home .image-text-type03,
.home .banner-type02 ul{
    flex-wrap: wrap;
}

.home .image-text-type03 .image{
    width: 100%;
}

.home .image-text-type03 .text{
    width: 90%;
    padding: 10%;
    top: -40px;
}

.home .image-text-type03 .image img{
    position: relative;
}

.home .image-text-type03 .text:before,
.home .image-text-type03.right .text:before{
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
}

/* ------------------ area ------------------  */

.home .image-text-type02 .text{
    width: 80%;
    padding: 60px;
}

.home .image-text-type02 .image{
    width: 90%;
    min-height: 80vmin;
    margin: 0 auto;
}

.home .image-text-type02 .text:before{
    top: -30px;
    height: 110%;
}

/* ------------------ feature ------------------  */

.home .banner-type02 ul{
    width: 80%;
    margin: 0 auto;
}

}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

/* ------------------ title ------------------  */

.home .title-type02{
    margin-top: 60px;
    margin-bottom: 10px;
}

.home .title-type02 span.ja,
.contact-type01 .title .ja{
    font-size: 3rem;
}

.home .title-type02 span.en,
.contact-type01 .title .en{
    font-size: 1.2rem;
}

/* ------------------ background / margin ------------------  */

.box-wrap.bg{
    margin-top: 60px;
    padding: 60px 0;
}

.box-wrap.bg.nw{
    margin-top: 0;
    padding: 40px 0;
}

.box-wrap.bg.nw .title-type02{
    margin-bottom: 0;
}

.home .image-text-type02.area{
    margin-top: 60px;
}

/* ------------------ MV ------------------  */

.mainvisual-catch div.copy{
    max-width: 300px;
	font-size: 2.5rem;
}

.mainvisual-catch div.copy span.buy{
    margin: 0 10px;
}

.home .blog-type03{
    background: white;
    padding: 40px 30px;
}

/* ------------------ service ------------------  */

.home .image-text-type03 .box-h3{
    font-size: 2.6rem;
    padding: 6px 0 16px 50px;
    background-size: 40px auto;
}

/* ------------------ feature ------------------  */

.banner-type02 ul li .text .box-h3{
    font-size: 2.4rem;
}

/* ------------------ banner ------------------  */

.home .banner-type01 ul li a span{
    font-size: 3rem;
}

/* ------------------ area ------------------  */

.home .image-text-type02.area .box-h3{
    font-size: 3rem;
    padding: 8px 0 20px 60px;
    background-size: 50px auto;
}

.home .image-text-type02.area .copy{
    font-size: 2.4rem;
}

.home .image-text-type02 .text:before{
    height: calc(100% + 120px);
}

/* ------------------ footer ------------------  */

.footer-top{
    padding: 0;
}

.contact-type01 .text .btn div a{
    font-size: 1.6rem;
    line-height: 1;
    padding: 16px 20px;
}

}




/* ------------------ 背景カラー変更 ------------------  */
.b_c_b_contents.bg.nw:before{
background: #333;
}

.b_c_b_contents.bg.bl:before{
background: #333;
}

.b_c_b_contents .box h2.box-h2{
color: #fff;
}

.b_c_b_contents.bg.bl h3 a{
color: #fff;
}


.b_c_b_contents .text:before{
background: #333;
}

.b_c_b_contents .copy{
color: #fff;
}

.b_c_b_contents p{
color: #fff;
}


.b_c_b_contents .box .btn a {
    color: #333;
    background: #fff;
}

.footer {
    background: #fff;
}

.page-title h1 span{
color: #fff;
}

.table-type02 table td {
    color: #fff;
}

.price_table .table_h4 {
font-size: 2rem;
margin-bottom: 2rem;	
}
