@charset "utf-8";
/*------------------------------------------------------------
	professionals
------------------------------------------------------------*/
.mainVisual {
	background-image: url("../img/professionals/main_bg.jpg");
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: 4.4rem;
		background-image: url("../img/professionals/main_bg_sp.jpg");
	}
}


/* morryBox  */
#main .bgBox {
	padding-bottom: 14.6rem;
	background: url("../img/professionals/bg03.png") no-repeat center center / 160.7rem auto;
}
#main .morryBox {
	margin-bottom: 9.9rem;
}
#main .morryBox .title {
	margin-bottom: 6.8rem;
	font-weight: 300;
	font-size: 2.8rem;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	line-height: 1.3;
}
#main .morryBox .title span {
	padding-bottom: 1.9rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
#main .morryBox .title span::after {
	width: 999.9rem;
	height: 0.1rem;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #e3e3e3;
	content: "";
}
.bgBox .imgBox {
	margin-bottom: 9.9rem;
	display: flex;
	justify-content: space-between;
}
.bgBox .imgBox .photo {
	width: 46rem;
	margin-top: 5.4rem;
}
.bgBox .imgBox .textBox {
	flex: 1;
}
.bgBox .imgBox .textBox p {
	margin-bottom: 2.6rem;
}
.bgBox .imgBox .textBox p:last-child {
	margin-bottom: 0;
}
.bgBox .imgBox .headLine02 {
	margin-bottom: 2.9rem;
}
.bgBox .imgBox .headLine02 .jp {
	font-family: "Noto Sans JP", sans-serif;
	color: #646464;
	font-size: 1.6rem;
	display: inline-block;
	vertical-align: top;
	border-radius: 0.5rem;
	background-color: #E0E9F3;
	padding: 0.4rem 2rem 0.8rem;
	letter-spacing: 0.17em;
	margin-bottom: 3.1rem;
}
.bgBox .imgBox02 {
	margin-bottom: 0;
}
.bgBox .imgBox .comNotes {
	margin: 6.1rem 0 0 0 !important;
}
@media all and (min-width: 897px) {
	.bgBox .imgBox02 .photo {
		width: 62rem;
		margin: 0 0 0 -10rem;
	}
	.bgBox .imgBox02 .textBox {
		margin: 8.5rem 0 0 7.5rem;
		order: 3;
	}
}
@media all and (max-width: 896px) {
	#main .morryBox .title {
		margin-bottom: 3.6rem;
		line-height: 1.09;
		font-size: 2.75rem;
	}
	#main .morryBox .title span {
		padding-bottom: 1.8rem;
	}
	.bgBox .imgBox {
		margin-bottom: 7.9rem;
		display: block;
		font-size: 1.5rem;
	}
	.bgBox .imgBox .headLine02 {
		font-size: 3rem;
		letter-spacing: -0.05em;
		line-height: 1.33;
		margin: 0 -1.5rem 2.4rem 0;
	}
	.bgBox .imgBox .photo {
		width: auto;
		margin: 0 -0.1rem 3.2rem;
	}
	.bgBox .imgBox .textBox p {
		margin-bottom: 2.2rem;
		line-height: 1.5;
		letter-spacing: 0.15em;
	}
	.bgBox .imgBox .headLine02 .jp {
		margin-bottom: 1.8rem;
		font-size: 1.5rem;
		border-radius: 0.3rem;
		padding: 0.5rem 1.4rem 0.6rem;
	}
	.bgBox .imgBox02 .headLine02 {
		margin-bottom: 1.8rem;
	}
	.bgBox .imgBox .comNotes {
		margin: 2.4rem 0 0 0 !important;
	}
	.bgBox .imgBox02 {
		margin-bottom: 0;
	}
	#main .morryBox {
		margin-bottom: 7.4rem;
	}
	#main .bgBox {
		padding-bottom: 0;
		background: none;
	}
}

/* cardBox  */
#main .cardBox {
	max-width: 80rem;
	padding: 6.6rem 9rem 6.9rem;
	background-color: #ededef;
	position: relative;
	overflow: hidden;
	border: 0.1rem solid #e3e3e3;
}
#main .cardBox .enImg {
	width: 76.9rem;
	position: absolute;
	bottom: -7.7rem;
	left: 50%;
	transform: translateX(-50%);
}
#main .cardBox .photo {
	margin: 0.5rem -0.2rem 0 4rem;
	width: 16.9rem;
}
#main .cardBox .imgBox {
	margin: 0;
	position: relative;
	z-index: 10;
}
#main .cardBox .headLine02 .sml {
	margin-bottom: 0.8rem;
	display: block;
	font-size: 1.9rem;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.15em;
}
#main .cardBox .headLine02 {
	letter-spacing: 0.14em;
	margin-bottom: 1.9rem;
}
@media all and (max-width: 896px) {
	#main .cardBox {
		margin: 0;
		padding: 7rem 1.6rem 7.3rem;
		max-width: inherit;
	}
	#main .cardBox .headLine02 {
		font-size: 3rem;
		margin-bottom: 1.5rem;
		line-height: 1.33;
	}
	#main .cardBox .headLine02 .sml {
		font-size: 1.65rem;
		margin-bottom: 0.4rem;
	}
	#main .cardBox .imgBox {
		display: flex;
	}
	#main .cardBox .imgBox p {
		line-height: 1.65;
	}
	#main .cardBox .photo {
		margin: 0.5rem -0.1rem 0 1rem;
		width: 11.7rem;
	}
	#main .cardBox .enImg {
		width: 34.6rem;
		bottom: -3.5rem;
	}
}



/* showBox */
#main .messageBox {
	margin-bottom: 10.1rem;
}
#main .showBox {
	position: relative;
}
#main .showBox .photo img {
	width: 100%;
}
#main .showBox .textBox {
	width: 50.5rem;
	overflow: hidden;
	font-size: 1.9rem;
}
#main .showBox .textBox p {
	letter-spacing: 0.12em;
	line-height: 1.57;
}
#main .showBox .headLine02 {
	margin-bottom: 1.9rem;
	padding-bottom: 1.9rem;
	border-bottom: 0.1rem solid #e3e3e3;
}
#main .showBox .name {
	margin-top: 1.5rem;
	text-align: right;
	font-size: 1.6rem;
}
#main .showBox .name span {
	padding-left: 1.5rem;
	display: inline-block;
	position: relative;
	letter-spacing: 0.1em;
}
#main .showBox .name span::before {
	margin-top: 0.4rem;
	width: 999.9rem;
	height: 0.1rem;
	position: absolute;
	top: 50%;
	right: 100%;
	background-color: #e3e3e3;
	content: "";
}
@media all and (min-width: 897px) {
	#main .showBox .innerBox {
		margin-top: -2rem;
		width: 100%;
		max-width: 90.8rem;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
}
@media all and (max-width: 896px) {
	#main .showBox {
		padding: 6.2rem 1.7rem 0;
		background: url("../img/professionals/bg04.jpg") no-repeat top left / 100% 100%;
	}
	#main .showBox .photo {
		position: relative;
		margin: -8.5rem -1.7rem 0 0.5rem;
	}
	#main .showBox .photo .name {
		position: absolute;
		top: 50%;
		left: -0.4rem;
		text-align: left;
		margin-top: -2.5rem;
	}
	#main .showBox .headLine02 {
		margin-bottom: 1.4rem;
		font-size: 3rem;
		padding-bottom: 0;
		line-height: 1.33;
		border-bottom: none;
	}
	#main .showBox .txt span {
		display: inline-block;
		vertical-align: top;
		border-top: 0.1rem solid #e3e3e3;
		border-bottom: 0.1rem solid #e3e3e3;
		padding: 1.5rem 0 1.8rem;
	}
	#main .showBox .textBox {
		font-size: 1.65rem;
		width: auto;
	}
	#main .showBox .textBox p {
		letter-spacing: 0.12em;
		line-height: 1.36;
	}
	#main .showBox .widBox {
		margin: 0 auto;
		max-width: 37.5rem;
	}
}


/* profileBox */
#main .profileBox {
	padding: 4.3rem 5rem 4.5rem;
	border: 0.1rem solid #e3e3e3;
	background-color: #fff;
	position: relative;
	margin-top: -7.2rem;
}
#main .profileBox p {
	text-align: justify;
}
#main .profileBox .innerTxt {
	columns: 2;
	column-gap: 4rem;
}
#main .profileBox .innerTxt p {
	text-indent: 1em;
	letter-spacing: 0.03em;
}
#main .profileBox .btmBox {
	font-size: 1.25rem;
	margin-top: 2.1rem;
}
#main .profileBox .btmBox p {
	line-height: 1.6;
}
#main .profileBox .headLine03 .jp {
	font-size: 2.8rem;
}
#main .profileBox .headLine03 .jp span {
	padding-right: 1rem;
}
#main .profileBox .headLine03 .jp::after {
	margin-top: 0.3rem;
}
#main .profileBox .headLine03 {
	margin-bottom: 0.5rem;
}
@media all and (max-width: 896px) {
	#main .profileBox {
		margin: -8.5rem 1.6rem 0;
		padding: 2.1rem 2rem 2.4rem;
		font-size: 1.5rem;
	}
	#main .profileBox .innerTxt {
		columns: inherit;
		column-gap: 0;
	}
	#main .profileBox .innerTxt p {
		margin-bottom: 2.2rem;
		line-height: 1.5;
		letter-spacing: 0;
	}
	#main .profileBox .innerTxt p:last-child {
		margin-bottom: 0;
	}
	#main .profileBox .headLine03 .jp span {
		padding-right: 0;
	}
	#main .profileBox .headLine03 {
		margin: 0 -2rem 0.1rem;
		text-align: left;
		padding: 1.3rem 2rem 0;
		border-top: 0.1rem solid #e3e3e3;
	}
	#main .profileBox .headLine03 .jp {
		font-size: 2.7rem;
	}
	#main .profileBox .btmBox {
		font-size: 1.35rem;
		margin-top: 9.3rem;
	}
	#main .profileBox .btmBox p {
		line-height: 1.48;
		letter-spacing: 0;
	}
	#main .messageBox {
		margin-bottom: 7.4rem;
	}
}



/* shopBox */
#main .shopBox {
	position: relative;
}
#main .shopBox .photo img {
	width: 100%;
}
#main .shopBox .innerBox {
	padding: 2.8rem 2rem 3.6rem;
	background-color: rgba(255, 255, 255, 0.9);
	text-align: center;
	z-index: 10;
}
#main .shopBox .headLine02 {
	font-size: 3.5rem;
}
#main .shopBox .headLine02 span {
	margin: -1.2rem 0.4rem 0;
	font-size: 4.5rem;
	font-weight: 500;
	display: inline-block;
	vertical-align: middle;
	line-height: 1;
}
#main .shopBox .comBtn {
	margin-top: 1.6rem;
}
@media all and (min-width: 897px) {
	#main .shopBox .innerBox {
		margin-top: 1.7rem;
		width: 80rem;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
}
@media all and (max-width: 896px) {
	#main .shopBox {
		padding: 7.5rem 4.4rem;
		background: url("../img/professionals/bg02_sp.jpg") no-repeat center center / cover;
	}
	#main .shopBox .headLine02 span {
		margin: -0.8rem 0.4rem 0;
		font-size: 3rem;
	}
	#main .shopBox .headLine02 {
		margin-bottom: 1.9rem;
		font-size: 3rem;
		line-height: 1.3;
	}
	#main .shopBox .innerBox {
		padding: 5.4rem 2rem 5.8rem;
		background-color: rgba(255, 255, 255, 0.9);
	}
	#main .shopBox .comBtn {
		margin-top: 3.3rem;
	}
	#main .shopBox .comBtn a {
		max-width: 23.1rem;
		height: 3.4rem;
		font-size: 0.98rem;
		background-position: right 1.4rem center;
		background-size: 0.8rem auto;
	}
}


/* comProject */
.comProject {
	background-image: url("../img/professionals/project_bg.jpg");
}
@media all and (min-width: 897px) {
	.comProject {
		padding-bottom: 6.2rem;
		margin-top: 10rem;
	}
	.comProject .imgBox {
		margin-bottom: 2.5rem;
		max-width: inherit;
	}
	.comProject .imgBox .textBox {
		max-width: 61rem;
	}
	.comProject .imgBox .photo {
		margin: 5.2rem -0.3rem 0 0;
		width: 40.9rem;
	}
}

@media all and (max-width: 896px) {
	.comProject .imgBox .textBox {
		text-align: left;
		font-size: 1.5rem;
	}
	.comProject .imgBox .textBox p {
		margin-bottom: 2.6rem;
		line-height: 1.66;
		letter-spacing: 0;
	}
	.comProject {
		padding-bottom: 4.3rem;
		background-image: url("../img/professionals/project_bg_sp.jpg");
	}
}
