@charset "utf-8";

.bg .mDesc {
	margin-bottom: 6rem;
}

.lineBot {
	position: relative;
}

.lineBot::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 0;
	height: 20px;
	width: 100%;
	background: #857e7a;
	z-index: 1;
}

@media screen and (max-width: 768px){
	.bg .mDesc {
		margin-bottom: 3rem !important;
	}

	.lineBot::after {
		display: none;
	}
}

/* box01 */
.box01 .note {
	font-size: 1.4rem;
	margin-top: 1rem;
	justify-content: flex-start;
	gap: 20px;
}

.box01 .photo {
	overflow: hidden;
}

.box01 .note img {
	width: 40px;
}

.box01 .note div {
	display: flex;
	align-items: center;
	gap: 5px;
}

.box01 .mDesc {
	margin-bottom: 10rem;
}

.box01 .gr01 {	
	width: 90%;
	margin: 4rem auto 0;
}

.box01 .gr01 h3 {
	font-size: 2.8rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #000;
}

@media screen and (max-width: 768px){
	.box01 .mDesc {
		margin-bottom: 3rem;
	}

	.box01 .gr01 {
		width: 100%;
	}

	.box01 .gr01 h3 {
		font-size: min(4.5vw, 2.8rem);
	}

	.box01 .note {
		gap: 5px;
	}
}

/* box02 */
.box02 .grImg {
	position: relative;
}

.box02 .grImg .flexBox {
	position: relative;
	z-index: 2;
	align-items: flex-end;
}

.box02 .grImg .col01 {
	width: 59%;
}

.box02 .grImg .col02 {
	width: 40%;
	position: relative;
}

.box02 .grImg .col02 p {
	background: #534741;
	color: #ffffff;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 1rem 0;
	z-index: 2;
}

@media screen and (max-width: 768px){
	.box02 .grImg .col01 {
		width: 100%;
		margin-bottom: 2rem;
	}

	.box02 .grImg .col02 {
		width: 100%;
	}
}


/* box03 */
.box03 .part01 ul {
	position: relative;
	z-index: 2;
}

.box03 .part01 li {
	width: 49%;
	position: relative;
}

.box03 .part01 .titLocate {
	position: absolute;
	top: calc(100% + 20px);
	left: 0;
	width: 100%;
}

.box03 .part02 {
	margin: 10rem 0 0;
}

.box03 .part03 {
	margin: 4rem 0 0;
	padding: 4rem;
	background: #f5f3ee;	
	border-bottom: 14px solid #857e7a;
}

.box03 .part03 .col01 {
	width: 49%;
}

.box03 .part03 .col02 {
	width: 49%;
}

.box03 .part03 h4 {
	/*font-size: 2.8rem;*/
	font-size: 2.2rem;
	margin: 0 0 2rem;
}

.box03 .part03 .colorRed {
	/*font-size: 2.8rem;*/
	font-size: 2.2rem;
	margin-top: 2rem;
}

.box03 .part03 .colorRed span {
	font-family: 'Noto Sans JP', sans-serif;
}

.box03 .part03 .m-cap {
	text-indent: -10px;
	margin: 2rem 0 0 23%;
}

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

	.box03 .part01 li {
		width: 100%;
		margin-bottom: 2rem;
	}

	.box03 .part01 li:last-child {
		margin-bottom: 0;
	}

	.box03 .part01 .titLocate {
		position: static;
	}

	.box03 .part02 {
		margin-top: 5rem;
	}

	.box03 .part03 {
		margin-top: 2rem;
	}
	
	.box03 .part03 .col01 {
		width: 100%;
		margin-bottom: 4rem;
	}

	.box03 .part03 .col02 {
		width: 100%;
	}

	.box03 .part03 h4 {
		font-size: min(5vw, 2.2rem);
	}

	.box03 .part03 .colorRed {
        font-size: min(5vw, 2.2rem);
    }

    .box03 .part03 {
    	padding: 20px;
    }

    .box03 .part03 .m-cap {
    	padding-left: 10px;
    	margin: 2rem auto 0;
    }
}

/* box04 */
.box04 .listItem {
	margin: 4rem 0 0;
}

.box04 .item {
	margin-bottom: 4rem;
}

.box04 .item:last-child {
	margin-bottom: 0;
}

.box04 .item .flexBox {
	position: relative;
	z-index: 2;
	align-items: center;
}

.box04 .item .col01 {
	width: 49%;
}

.box04 .item .col02 {
	width: 49%;
}

.box04 .item h4 {
	position: relative;
	font-size: 2.4rem;
	line-height: 1.2;
	margin-bottom: 1rem;
}

.box04 .item h4 span {
	font-size: 1.2rem;
}

.box04 .item h4 .sm2 {
	display: block;
}

.box04 .item p {
	font-size: 1.4rem;
	line-height: 2;
}

@media screen and (max-width: 768px){
	.box04 .item p {
		line-height: 1.6;
	}

	.box04 .item .col01 {
		width: 100%;		
		order: 2;
	}

	.box04 .item .col02 {
		width: 100%;
		margin-bottom: 2rem;
		order: 1;
	}
}




/* box05 */
.box05 .grImg {
	margin: 4rem 0 0;
}

.box05 ul {
	position: relative;
	z-index: 2;
}

.box05 ul li {
	width: 32%;
	position: relative;
}

.box05 ul li p {
	position: absolute;
	top: calc(100% + 20px);
	left: 0;
	width: 100%;
}

@media screen and (max-width: 768px){
	
	.box05 {
		padding-bottom: 0 !important;
	}

	.box05 ul {
		justify-content: flex-start;
	}

	.box05 ul li {
		width: 49%;
		margin: 0 2% 2rem 0;
	}

	.box05 ul li:nth-child(2n) {
		margin: 0 0 2% 0;
	}

	.box05 ul li p {
		position: static;
	}
}