/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
.home .page-content{
	margin-bottom: 0;
	padding: 0;
}
.mainvisual-catch{
	left: 50%;
	bottom: auto;
	top: 50%;
	width: auto;
	transform: translate(-50%,-50%);
	text-align: center;
	p{
		font-size: calc((22 / 1920) * 100vw);
		font-weight: 600;
	}
	img{
		margin-bottom: 1.0em;
	}
}

.title-type02{
	padding: 50px 0 0;
	&:before{
		display: none;
	}
	h2{
		position: relative;
		&::before{
			display: block;
			content: '';
			position: absolute;
			top: -50px;
			left: 50%;
			transform: translateX(-50%);
		}
	}
}

.main-news{
	.blog-type03{
		margin-bottom: 40px;
		padding-bottom: 35px;
		border-bottom: #e1dbd0 1px solid;
	}
	.btn{
		text-align: center;
	}
}

.main-message{
	padding: 0 calc((6 /192) * 100vw);
	.image{
		img{
			object-fit: unset;
			height: auto;
		}
	}
	.text{
		padding: calc((12 /192) * 100vw) calc((8 /192) * 100vw) calc((136 /1920) * 100vw) 0;
		h3.box-h3 {
			font-size: calc((3 /192) * 100vw);
			max-width: unset;
		}
		p{
			font-size: calc((15/1920) * 100vw);
			max-width: unset;
		}
		&:before{
			top: calc((5 /192) * 100vw);
			left: calc((75 /1920) * -100vw);
			width: calc(100% + ((75 /1920) * 100vw));
			height: calc(100% - ((8 /192) * 100vw));
			-webkit-border-radius: calc((2 /192) * 100vw);
			-moz-border-radius: calc((2 /192) * 100vw);
			border-radius: calc((2 /192) * 100vw);
		}
	}
}

.main-rent{
	h2{
		&::before{
			width: 38px;
			height: 38px;
			background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-rent-icon.png) no-repeat center center / cover;
		}
	}
}

.main-sale{
	h2{
		&::before{
			width: 41px;
			height: 41px;
			background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-sale-icon.png) no-repeat center center / cover;
		}
	}
}

.main-blog{
	h2{
		&::before{
			width: 38px;
			height: 38px;
			background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-blog-icon.png) no-repeat center center / cover;
		}
	}
}

.main-area{
	h2{
		&::before{
			width: 38px;
			height: 38px;
			background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-area-icon.png) no-repeat center center / cover;
		}
	}
	.image-text-type03.right{
		.text{
			padding: 40px 40px 310px 0;
			font-size: 1.5rem;
			&::before{
				display: none;
			}
		}
		.image{
			-webkit-border-radius: 20px;
			-moz-border-radius: 20px;
			border-radius: 20px;
			overflow: hidden;
		}
	}
}

.main-contact{
	.contact-type02{
		.title{
			.ja{
				font-size: 3.7rem;
			}
			.en{
				font-size: 3rem;
			}
		}
	}
}

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

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

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

.box-color {
    margin: 0 0 6vh;
    padding: 35px;
    background: #f7f7f7;
    border-radius: 0.5vh;
}
.box-color :first-child {
    margin-top: 0 !important;
}
.box-color :last-child {
    margin-bottom: 0 !important;
}
.box-color h4 {
	margin-bottom: 2vh !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}
.page-content  .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

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

.table-fixed {
    margin-bottom: 25px;
    table-layout: fixed;
    width: 100%;
}
.table-fixed th,
.table-fixed td {
    padding: 10px;
    border: 3px solid #fff7eb;
    text-align: center;
    vertical-align: middle;
    font-size: 90% !important;
}
.table-fixed th {
    color: #fff;
    background: #fc9799;
}
.table-fixed td {
    background: #fff;
}

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


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
.home .page-content{
	padding: 0 2vw;
}
.mainvisual{
	margin: 0 -40vw 5vw;
	width: 180vw;
	p{
		font-size: 5vw;
	}
}

.main-message{
	.text{
        -webkit-border-radius: 2vw;
        -moz-border-radius: 2vw;
        border-radius: 2vw;
		padding: 4vw !important;
		h3{
			font-size: 5vw !important;
		}
		p{
			font-size: 3.5vw !important;
		}
	}
}
.main-area{
	.text{
		background: none !important;
		padding: 10vw 4vw 0 !important;
		h3{
			font-size: 5vw !important;
		}
		p{
			font-size: 3.5vw !important;
		}
	}
}


}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
.mainvisual{
	p{
		font-size: 3vw;
	}
}

.main-message{
	.text{
		padding: 2vw !important;
		h3{
			font-size: 3vw !important;
		}
		p{
			font-size: 1.5vw !important;
		}
		&:before {
            top: 1vw;
            left: -2vw;
            height: 45vw;
            -webkit-border-radius: 2vw;
            -moz-border-radius: 2vw;
            border-radius: 2vw;
		}
	}
}
.main-area{
	.text{
		padding: 0 2vw 10vw 0 !important;
		h3{
			font-size: 4.5vw !important;
		}
		p{
			font-size: 2.5vw !important;
		}
	}
}


}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.table-fixed th,
	.table-fixed td {
	    padding: 8px;
	    font-size: 80% !important;
	}
	.table_qa th {
	  width: 5%;
	  padding: 10px 0 10px 10px;
	}
	.table_qa td {
	  padding: 10px;
	  vertical-align: middle;
	}
}
