@charset "UTF-8";

/*-------------------------------------------
Layout
-------------------------------------------*/
/*----------
Second
----------*/
.breadcrumb {
	margin-top: 94px;
	padding: 7px 0;
	background-color: #F5F5F5;
}
.breadcrumbInner {
	width: 1200px;
	margin: 0 auto;
}
.breadcrumbList {
	font-size: 1.3rem;
}
.breadcrumbList > li {
	display: inline-block;
}
.breadcrumbList > li + li {
	margin-left: 5px;
}
.breadcrumbList > li + li::before {
	content: '／';
	display: inline-block;
	margin-right: 5px;
}
.breadcrumbList a {
	text-decoration: underline;
}
@media screen and (min-width: 768px), print {
	.breadcrumb.-bottom {
		display: none;
	}
}

.heroContent.-service {
	background: url(/hojin/ma/speciality/service/img/index_mv.jpg) center top no-repeat;
	background-size: cover;
}
.heroContent.-strengths {
	background: url(/hojin/ma/speciality/strengths/img/index_mv.jpg) center top no-repeat;
	background-size: cover;
}
.heroContentInner {
	position: relative;
	width: 1200px;
	height: 530px;
	margin: 0 auto;
	padding-top: 318px;
}
.heroTtl {
	color: #fff;
	font-family: var(--font-family01);
	font-size: 4.5rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 2px;
}
.heroSubttl {
	margin-bottom: 18px;
	color: #fff;
	font-family: 'Lusitana', serif;
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 1;
}

.anchorNavContainer01 {
	position: absolute;
	bottom: -35px;
	width: 100%;
	padding: 21px 33px;
	border-radius: 35px;
	background-color: #fff;
}
.anchorNavContainer01 .anchorNav > a {
	color: var(--color-Black01);
	font-size: 1.6rem;
}
.anchorNavContainer01 .anchorNav > a + a {
	margin-left: 50px;
}
.anchorLink__text {
	width: calc(6em + 6px);
}
.anchorNavContainer01 .anchorNav > a .icoArr {
	content: '';
	display: inline-block;
	width: 16px;
	height: 20px;
	margin-left: 13px;
	vertical-align: middle;
	background: url(/hojin/ma/speciality/img/ico_05.svg) 0 0 no-repeat;
	background-size: contain;
}

.anchorNavContainer02 {
	padding: 60px 0 120px;
}
.anchorNavContainer02 .anchorNav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.anchorNavContainer02 .navLink {
	position: relative;
	padding: 36px 0 60px;
	border-radius: 4px;
	background-color: var(--color-Black01);
	box-shadow: 0px 0px 10px 0px rgba(0, 200, 115, 0.25);
	text-align: center;
	color: #fff;
	font-family: var(--font-family01);
	font-size: 2rem;
	line-height: 1.4;
}
.anchorNavContainer02 .navLink::before {
	content: '';
	display: block;
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
	height: 1px;
	background-color: #fff;
}
.anchorNavContainer02 .navLink .icoArr {
	display: block;
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: 16px;
	height: 20px;
	background: url(/hojin/ma/speciality/img/ico_07.svg) 0 0 no-repeat;
	background-size: cover;
}

.serviceContentSection.sectionBlock01 {
	padding-top: 0;
}
#service {
	padding-top: 59px;
}

.serviceCard,
.serviceCard:visited {
	color: var(--color-Black01);
}
.serviceCard:hover {
	color: var(--color-Green01);
	text-decoration: none !important;
}
.serviceCardImage {
	margin-bottom: 15px;
}
.serviceCardTitle,
.serviceCard:hover .serviceCardTitle {
	margin-bottom: 14px;
	color: var(--color-Green01);
	font-family: var(--font-family01);
	font-size: 2rem;
	line-height: 1.4;
	text-decoration: none;
}

@media screen and (min-width: 768px), print {
	.serviceGrid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 32px;
	}
	.serviceCard:hover {
		color: var(--color-Green01);
		text-decoration: none !important;
	}
	.serviceCard:hover .serviceCardText {
		text-decoration: underline;
	}
}

.contactSection {
	padding: 120px 0 190px;
	background-image: url(/hojin/ma/speciality/img/index_bg_02.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 2000px 1024px;
}
.contactCard {
	padding: 62px 40px 55px !important;
	border-radius: 4px;
	background-color: rgba(255, 255, 255, 0.4);
	text-decoration: none !important;
	color: var(--color-Black01);
	transition: background-color .4s;
}
.contactCardTitle {
	margin-bottom: 29px;
	color: var(--color-Black01);
	font-family: var(--font-family01);
	font-size: 3.2rem;
	line-height: 1.4;
}
.contactCardText01 {
	color: var(--color-Black01);
}
.contactCardText02 {
	margin-top: 59px;
	text-align: right;
	color: var(--color-Black01);
	font-size: 1.8rem;
}
@media screen and (min-width: 768px), print {
	.contactGrid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32px;
	}
	.contactCard:hover {
		padding: 60px 38px 53px !important;
		border: 2px solid var(--color-Green01);
		background-color: rgba(255, 255, 255, 1);
	}
	.contactCard:hover .contactCardText02 {
		color: var(--color-Green01);
		font-weight: 700;
	}
}

.sectionWrap01 {
	position: relative;
}
.sectionWrap01::before {
	content:'';
	position: fixed;
	top: 0;
	left: 0;
	min-height: 100vh;
	width: 100%;
	background: url(/hojin/ma/speciality/img/second_bg.jpg) center top repeat-y;
	background-size: 100% auto;
	z-index: -1;
}

.cardTitle {
	padding: 11px 0;
	background: linear-gradient(270deg, #009B63 15.71%, #076C41 86.24%);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}
.cardBody {
	padding: 30px;
	background-color: var(--color-Grey01);
	box-shadow: 0px 0px 32px 0px rgba(178, 224, 197, 1) inset;
}
.benefitCard .cardBody {
	border-radius: 0 0 4px 4px;
}
.cardBody02 {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 10px;
	background-color: var(--color-Grey01);
	box-shadow: 0px 0px 16px 0px rgba(178, 224, 197, 1) inset;
	line-height: 1.6;
}
.checkList > li {
	position: relative;
	padding-left: 32px;
}
.checkList > li::before {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 0;
	width: 24px;
	height: 24px;
	background: url(/hojin/ma/speciality/img/ico_check.svg) 0 0 no-repeat;
	background-size: cover;
}
.checkList > li + li {
	margin-top: 9px;
}

.flowBox ~ .flowBox,
.flowBox + .commonProcess,
.commonProcess + .flowBox,
.commonProcess ~ .commonProcess,
.flowBox + .spacer,
.commonProcess + .spacer,
.spacer + .flowBox,
.spacer + .commonProcess,
.spacer + .spacer
{
	margin-top: 24px;
}
.spacer {
	height: 50px;
}
.flowAccordion {
	overflow: hidden;
}
.flowAccordion {
	border: 1px solid #076C41;
	border-radius: 4px;
}
.flowAccordion__summary {
	height: 50px;
	padding: 12px 19px;
	background-color: #fff;
	font-size: 1.6rem;
	line-height: 1.6;
}
.flowAccordion__summary.-label {
	padding: 11px 22px;
}
.flowAccordion[open] .flowAccordion__summary {
	background-color: #B2E0C5;
}
.flowAccordion__icon {
	top: 50%;
	right: 15px;
	width: 24px;
	height: 24px;
}
.flowAccordionContent__inner {
	padding: 21px 20px;
	background-color: #fff;
}
.boxImage {
	margin-top: 15px;
	text-align: center;
}

.commonProcess {
	height: 50px;
	padding: 11px 23px;
	border-radius: 4px;
	background-color: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 200, 115, 0.2);
}
.label01 {
	display: inline-block;
	min-width: 94px;
	margin-right: 8px;
	padding: 7px;
	border-radius: 4px;
	background: linear-gradient(270deg, #009B63 15.71%, #076C41 86.24%);
	text-align: center;
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1;
}
.priceAmountBlock {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 2px dotted var(--color-Green01);
}
.priceAmount {
	font-family: var(--font-family02);
	line-height: 1;
}
.amountNumber {
	padding-right: 3px;
	font-size: 2.8rem;
	font-weight: 500;
}
.amountUnit01 {
	font-size: 1.6rem;
	font-weight: 400;
}
.amountUnit02 {
	font-size: 1.2rem;
	font-weight: 400;
}

.flowContainer {
	position: relative;
}
.flowContainer .tabHeader {
	display: flex;
	justify-content: flex-end;
}
.flowContainer .tabContents {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.flowContainer::before {
	content: '';
	display: block;
	position: absolute;
	top: 50px;
	left: 100px;
	width: 450px;
	height: calc(100% - 50px);
	box-shadow: 0px 0px 32px 0px rgba(178, 224, 197, 1) inset;
}
.flowContainer::after {
	content: '';
	display: block;
	position: absolute;
	top: 50px;
	right: 0;
	width: 450px;
	height: calc(100% - 50px);
	box-shadow: 0px 0px 32px 0px rgba(178, 224, 197, 1) inset;
}
.flowContainer .stepContents {
	position: relative;
	width: 450px;
	padding: 40px 30px;
	z-index: 1;
}
.flowContainer .flowStep {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.flowContainer .tabContents + .tabContents {
	margin-top: 22px;
	margin-top: 11px;
}
.flowContainer .tabContents + .tabContents::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 950px;
	height: 1px;
	border-top: 2px dotted var(--color-Green01);
}
.flowContainer .tabContents + .tabContents .stepContents {
	padding: 51px 30px 40px;
}
.flowContainer .tabContents + .tabContents .stepLabel {
	margin-top: 11px;
}
.flowContainer .tabContents > .tabContent {
	position: relative;
}
.flowContainer .tabContents > .tabContent.-right .-common {
	display: none;
}
.flowContainer .tabContents > .tabContent.-left .-common {
	width: 890px;
}
@media screen and (min-width: 768px), print {
	.flowContainer {
		width: 1050px;
		margin-left: auto;
		margin-right: auto;
	}
	.flowContainer .tabHeader > .cardTitle {
		width: 450px;
		margin-left: 50px;
	}
	.flowContainer .tabContents > .-left {
		width: 550px;
		z-index: 10;
	}
	.flowContainer .tabContents > .-right {
		width: 450px;
	}
	.flowContainer .tabContents > .-right .stepLabel {
		display: none;
	}
	.flowContainer .spacer {
		visibility: hidden;
		z-index: -1;
	}
	.service01Layout02 {
		display: grid;
		grid-template-columns: 1fr 240px;
		gap: 20px;
	}
	.service01Layout02 .boxImage {
		margin-top: 0;
	}
}

.priceTableItem {
	display: flex;
	justify-content: space-between;
}
.priceTableItem + .priceTableItem {
	margin-top: 25px;
}
.stepLabel {
	position: relative;
	display: flex;
	align-items: center;
	width: 60px;
	padding-top: 22px;
	background-color: #076C42;
	box-shadow: 0px 0px 32px 0px rgba(0, 155, 99, 1) inset;
	color: #fff;
	writing-mode: vertical-rl;
	font-family: var(--font-family02);
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 1.2;
}
.stepLabel:not(.-last)::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -14px;
	left: 50%;
	transform: translateX(-50%);
	width:0;
	height:0;
	border-style:solid;
	border-width: 14px 8px 0 8px;
	border-color: #038755 transparent transparent transparent;
}
.priceTableItem .priceRow {
	width: 930px;
}

.otherExpenses {
	padding: 30px;
	background-color: #fff;
}

.sectionLayout01 {
	padding-top: 80px;
	padding-bottom: 70px;
}
.sectionLayout01 .sectionTitle {
	margin-bottom: 27px;
}
.sectionLayout01 .btnArea {
	margin-top: 27px;
}

.relatedArticlesSection {
	padding-top: 83px;
	padding-bottom: 83px;
}
@media screen and (min-width: 768px), print {
	.articleCard {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

[class*=cardGrid] [class*=cardItem] {
	width: 300px;
	padding: 20px;
	border-radius: 4px;
	background-color: #fff;
	line-height: 1.6;
}
[class*=cardGrid] .solutions__cardItem {
	padding: 24px 10px;
}
.solutionsCardHeader {
	margin-bottom: 33px;
	text-align: center;
}
.solutionsCardList > dt {
	padding-left: 20px;
	color: #1A4D37;
	font-family: var(--font-family02);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -1px;
}
.solutionsCardList > dt > span {
	position: relative;
	display: block;
}
.solutionsCardList > dt > span::before {
	content: '';
	display: block;
	position: absolute;
	top: calc(.8em - 1px);
	left: -14px;
	width: 10px;
	height: 2px;
	background-color: #1A4D37;
}
.solutionsCardList > dd {
	padding-left: 20px;
	font-family: var(--font-family02);
	font-weight: 400;
	line-height: 1.6;
}
.solutionsCardList > dd + dt {
	margin-top: 6px;
	padding-top: 16px;
	border-top: 2px solid var(--color-Grey01);
}
@media screen and (min-width: 768px), print {
	.cardGrid01 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 30px;
	}
}

.solutionsBannerArea {
	margin-top: 80px;
	padding: 66px 0;
	background: url(/hojin/ma/speciality/strengths/img/index_img_04.jpg) center center no-repeat;
	background-size: cover;
	color: #fff;
	text-align: center;
}
.solutionsBannerArea .bannerTitle {
	margin-bottom: 34px;
	font-family: var(--font-family01);
	font-size: 2.4rem;
	line-height: 1.6;
}

.totalPowerHeader {
	display: flex;
	align-items: center;
}
.totalPowerHeader .title {
	display: flex;
	align-items: center;
}
.totalPowerHeader .icon {
	width: 68px;
}
.totalPowerHeader .title {
	width: calc(100% - 68px);
	color: var(--color-Green01);
	font-family: var(--font-family01);
	font-size: 2.2rem;
	line-height: 1.3;
	text-align: left;
}
.totalPowerText {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
}
.downArrow {
	width: 20px;
	height: 16px;
	margin: 5px auto 5px;
	background: url(/hojin/ma/speciality/img/ico_08.svg) 0 0 no-repeat;
	background-size: cover;
}

.networkBlock02 {
	margin-top: 100px;
}
.networkBlock .mapImage.print {
	display: none;
}
.networkBlock {
	position: relative;
}
.networkBlock .mapImageWrap {
	position: relative;
}
.networkBlock [class*=number] {
	position: absolute;
	font-family: var(--font-family02);
}
.networkBlock .number01 {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
}
.networkBlock .number02 {
	text-align: right;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
}
.networkBlock .number02 > li > span {
	padding: 0 1px 0 3px;
	color: var(--color-Green01);
	font-size: 2.4rem;
	font-weight: 700;
}
@media screen and (min-width: 768px), print {
	.networkBlock{
		height: 480px;
	}
	.networkBlock .mapImageWrap {
		position: absolute;
		top: 0;
		left: 0;
		width: 1058px;
		height: 480px;
	}
	.networkBlock .mapImage {
		position: absolute;
		top: 0;
		left: 0;
	}
	.networkBlock .date {
		position: absolute;
		right: 23px;
		bottom: 0;
	}
	.networkBlock .n1 {
		top: 136px;
		left: 517px;
	}
	.networkBlock .n2 {
		top: 234px;
		left: 430px;
	}
	.networkBlock .n3 {
		top: 330px;
		left: 477px;
	}
	.networkBlock .n4 {
		top: 400px;
		left: 403px;
	}
	.networkBlock .n5 {
		top: 304px;
		left: 320px;
	}
	.networkBlock .n6 {
		top: 340px;
		left: 227px;
	}
	.networkBlock .n7 {
		top: 407px;
		left: 153px;
	}
	.networkBlock .number02 {
		top: 186px;
		left: 730px;
	}
	.networkBlock .number02 > li + li {
		margin-top: 30px;
	}
}

@media screen and (max-width: 767px) {
	/*-------------------------------------------
	Parts
	-------------------------------------------*/
	.mt00Sp{margin-top:0!important}
	.mt5Sp{margin-top:5px!important}
	.mt10Sp{margin-top:10px!important}
	.mt15Sp{margin-top:15px!important}
	.mt20Sp{margin-top:20px!important}
	.mt25Sp{margin-top:25px!important}
	.mt30Sp{margin-top:30px!important}
	.mt35Sp{margin-top:35px!important}
	.mt40Sp{margin-top:40px!important}
	.mt45Sp{margin-top:45px!important}
	.mt50Sp{margin-top:50px!important}
	.mt60Sp{margin-top:60px!important}
	.mt70Sp{margin-top:70px!important}
	.mt80Sp{margin-top:80px!important}
	.mt90Sp{margin-top:90px!important}
	.mt100Sp{margin-top:100px!important}
	.mb00Sp{margin-bottom:0!important}
	.mb5Sp{margin-bottom:5px!important}
	.mb10Sp{margin-bottom:10px!important}
	.mb15Sp{margin-bottom:15px!important}
	.mb20Sp{margin-bottom:20px!important}
	.mb25Sp{margin-bottom:25px!important}
	.mb30Sp{margin-bottom:30px!important}
	.mb35Sp{margin-bottom:35px!important}
	.mb40Sp{margin-bottom:40px!important}
	.mb45Sp{margin-bottom:45px!important}
	.mb50Sp{margin-bottom:50px!important}
	.mb60Sp{margin-bottom:60px!important}
	.mb70Sp{margin-bottom:70px!important}
	.mb80Sp{margin-bottom:80px!important}
	.mb90Sp{margin-bottom:90px!important}
	.mb100Sp{margin-bottom:100px!important}
	.pt0Sp{padding-top:0!important}
	.pt5Sp{padding-top:5px!important}
	.pt10Sp{padding-top:10px!important}
	.pt15Sp{padding-top:15px!important}
	.pt20Sp{padding-top:20px!important}
	.pt25Sp{padding-top:25px!important}
	.pt30Sp{padding-top:30px!important}
	.pt35Sp{padding-top:35px!important}
	.pt40Sp{padding-top:40px!important}
	.pt45Sp{padding-top:45px!important}
	.pt50Sp{padding-top:50px!important}
	.pt60Sp{padding-top:60px!important}
	.pt70Sp{padding-top:70px!important}
	.pt80Sp{padding-top:80px!important}
	.pt90Sp{padding-top:90px!important}
	.pt100Sp{padding-top:100px!important}
	.pb0Sp{padding-bottom:0!important}
	.pb5Sp{padding-bottom:5px!important}
	.pb10Sp{padding-bottom:10px!important}
	.pb15Sp{padding-bottom:15px!important}
	.pb20Sp{padding-bottom:20px!important}
	.pb25Sp{padding-bottom:25px!important}
	.pb30Sp{padding-bottom:30px!important}
	.pb35Sp{padding-bottom:35px!important}
	.pb40Sp{padding-bottom:40px!important}
	.pb45Sp{padding-bottom:45px!important}
	.pb50Sp{padding-bottom:50px!important}
	.pb60Sp{padding-bottom:60px!important}
	.pb70Sp{padding-bottom:70px!important}
	.pb80Sp{padding-bottom:80px!important}
	.pb90Sp{padding-bottom:90px!important}
	.pb100Sp{padding-bottom:100px!important}

	/*----------
	Second
	----------*/
	.heroContentInner,
	.breadcrumbInner,
	.sectionInner01,
	.sectionInner02 {
		width: auto;
		max-width: inherit;
		min-width: inherit;
	}

	.breadcrumb.-top {
		display: none;
	}
	.breadcrumb.-bottom {
		margin-top: 0;
		padding: 7px 0 7px 17px;
	}

	.heroContent.-service {
		background: url(/hojin/ma/speciality/service/img/index_mv_sp.jpg) center top no-repeat;
		background-size: cover;
	}
	.heroContent.-strengths {
		background: url(/hojin/ma/speciality/strengths/img/index_mv_sp.jpg) center top no-repeat;
		background-size: cover;
	}
	.heroContentInner {
		margin-top: 64px;
		height: 102.5641vw;
		padding: 260px 0 0 17px;
	}
	.heroSubttl {
		margin-bottom: 9px;
	}
	.heroTtl {
		font-size: 2.4rem;
	}
	.anchorNavContainer01 {
		left: 50%;
		bottom: -114px;
		transform: translateX(-50%);
		width: 91.0257vw;
		padding: 0;
		border-radius: 4px;
	}
	.anchorNavContainer01 .anchorNav > a {
		display: block;
		display: flex;
		align-items: center;
		padding: 15px 12px 14px;
		font-size: 1.4rem;
		line-height: 1;
	}
	.anchorNavContainer01 .anchorNav > a .icoArr {
		vertical-align: middle;
	}
	.anchorNavContainer01 .anchorNav > a + a {
		margin-left: 0;
		border-top: 2px solid var(--color-Grey01);
	}
	.anchorNavContainer02 {
		padding: 60px 15px;
	}
	.anchorNavContainer02 .anchorNav {
		gap: 13px;
	}
	.anchorNavContainer02 .navLink {
		padding: 36px 0 50px;
		font-size: 1.3rem;
	}
	.anchorNavContainer02 .navLink.-row2 {
		padding: 46px 0 40px;
	}

	.sectionWrap01::before {
		background: url(/hojin/ma/speciality/img/second_bg_sp.jpg) center top repeat-y;
		background-size: 100% auto;
	}

	.serviceContentSection.sectionBlock01 {
		padding-top: 50px;
	}
	#service {
		padding-top: 84px;
	}
	.serviceCard + .serviceCard {
		margin-top: 30px;
	}
	.serviceContentSection .link01 {
		margin-right: -15px;
	}
	.serviceCardImage {
		margin-bottom: 7px;
	}
	.serviceCardTitle {
		margin-bottom: 10px;
	}
	.serviceCardText {
		position: relative;
		font-size: 1.4rem;
	}
	.serviceCardText::after {
		content: '';
		display: inline-block;
		width: 24px;
		height: 14px;
	}

	.contactSection {
		padding: 50px 16px 116px;
	}
	.contactSection .sectionInner01 {
		padding: 0;
	}
	.contactCard {
		padding: 42px 40px 37px !important;
	}
	.contactCard + .contactCard {
		margin-top: 16px;
	}
	.contactCardTitle {
		margin-bottom: 18px;
		font-size: 2.4rem;
	}
	.contactCardText01 {
		font-size: 1.4rem;
	}
	.contactCardText02 {
		margin-top: 20px;
	}

	[class*=cardGrid] [class*=cardItem] {
		width: 100%;
	}
	[class*=cardGrid] [class*=cardItem] + [class*=cardItem] {
		margin-top: 14px;
	}
	.solutionsCardList > dt {
		font-size: 1.6rem;
	}
	.solutionsCardList > dd {
		font-size: 1.2rem;
	}
	#solutions [class*=sectionInner] > .inner {
		padding-left: 14px;
		padding-right: 14px;
	}
	[class*=cardGrid] .solutions__cardItem {
		padding: 16px 10px;
	}
	.solutionsCardHeader {
		margin-bottom: 21px;
	}
	.solutionsCardHeader > img {
		width: 51.2821vw;
	}

	.solutionsBannerArea {
		margin-top: 40px;
		padding: 62px 0;
	}
	.solutionsBannerArea {
		background: url(/hojin/ma/speciality/strengths/img/index_img_04_sp.jpg) center center no-repeat;
		background-size: cover;
	}
	.solutionsBannerArea .bannerTitle {
		margin-bottom: 13px;
		font-size: 2rem;
	}
	.solutionsBannerArea .btnLink {
		width: 71.7949vw;
		min-width: inherit;
	}

	#totalPower .cardGrid01 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
	#totalPower [class*=cardGrid] [class*=cardItem] {
		padding: 12px 0 0;
	}
	#totalPower [class*=cardGrid] [class*=cardItem] + [class*=cardItem] {
		margin-top: 0;
	}
	.totalPowerHeader {
		flex-direction: column;
	}
	.totalPowerHeader .title {
		justify-content: center;
	}
	.totalPowerHeader .icon {
		width: 40px;
		margin-bottom: 11px;
	}
	.totalPowerHeader .title {
		width: 100%;
		font-size: 1.8rem;
		text-align: center;
	}
	.totalPowerText {
		padding-left: 3px;
		padding-right: 3px;
		font-size: 1.2rem !important;
		line-height: 1.6;
		letter-spacing: 0px;
	}
	.cardBody02 {
		padding: 10px 3px;
		font-size: 1.2rem !important;
		line-height: 1.6;
		letter-spacing: 0px;
	}

	.networkBlock02 {
		margin-top: 50px;
	}
	.mapImageWrap {
		width: 84vw;
		margin-left: auto;
		margin-right: auto;
	}
	.networkBlock .number01 {
		display: inline-block;
		width: 3em;
		font-size: 1.6rem;
		font-size: 4.1026vw;
		text-align: center;
	}
	.networkBlock .n1 {
		top: 20.76923077vw;
		left: 65.12820513vw;
		left: 254px;
		left: 235px;
		left: 60.25641026vw;
	}
	.networkBlock .n2 {
		top: 36.66666667vw;
		left: 51.02564103vw;
		left: 199px;
		left: 180px;
		left: 46.15384615vw;
	}
	.networkBlock .n3 {
		top: 51.7948vw;
		left: 58.46153846vw;
		left: 228px;
		left: 220px;
		left: 56.41025641vw;
	}
	.networkBlock .n4 {
		top: 63.07692308vw;
		left: 46.66666667vw;
		left: 182px;
		left: 164px;
		left: 42.05128205vw;
	}
	.networkBlock .n5 {
		top: 47.9487vw;
		left: 33.33333333vw;
		left: 130px;
		left: 122px;
		left: 31.28205128vw;
	}
	.networkBlock .n6 {
		top: 53.33333333vw;
		left: 18.46153846vw;
		left: 72px;
		left: 53px;
		left: 13.58974359vw;
	}
	.networkBlock .n7 {
		top: 64.35897436vw;
		left: 6.666666667vw;
		left: 26px;
		left: 7px;
		left: 1.794871795vw;

	}
	.networkBlock .number02 {
		width: max-content;
		top: 78.97435897vw;
		left: 42.56410256vw;
	}
	.networkBlock .number02 > li + li {
		margin-top: 7.435897436vw;
	}

	.checkList > li::before {
		top: 0;
	}

	.flowContainer::after,
	.flowContainer .tabContents > .tabContent::before,
	.flowContainer .flowStep + .flowStep::before {
		content: none;
	}
	.flowContainer .tabContents > .tabContent.-left .-common {
		width: 100%;
	}
	.flowContainer .tabContents > .tabContent.-right .-common {
		display: block;
	}
	.flowContainer .tabContents > .tabContent.-right .flowStep.-common {
		display: flex;
	}
	.flowContainer .spacer,
	.flowContainer .-common .label01 {
		display: none;
	}
	.spacer + .flowBox,
	.spacer + .commonProcess,
	.spacer + .spacer
	{
		margin-top: 0;
	}
	.flowBox ~ .flowBox,
	.flowBox + .commonProcess,
	.commonProcess ~ .flowBox,
	.commonProcess ~ .commonProcess
	{
		margin-top: 16px;
	}
	.flowContainer .tabContents,
	.flowContainer .tabContents > .tabContent {
		width: 100%;
	}
	.flowContainer .stepContents {
		width: 71.2821vw;
		padding: 20px 14px;
	}
	.flowContainer .tabContents + .tabContents .stepContents {
		padding: 31px 14px 20px;
	}
	.flowContainer .tabContents + .tabContents::before {
		width: 71.2821vw;
	}
	.flowContainer::before {
		left: inherit;
		top: 83px;
		right: 0;
		width: 71.2821vw;
		height: calc(100% - 83px);
	}
	.flowAccordion__summary {
		padding: 14px 29px 14px 10px !important;
		font-size: 1.4rem;
		letter-spacing: -1px;
	}
	.flowAccordion__icon {
		right: 8px;
		width: 18px;
		height: 18px;
	}
	.commonProcess {
		padding: 14px 29px 14px 11px !important;
		font-size: 1.4rem;
		letter-spacing: -1px;
	}
	.flowAccordionContent__inner {
		padding: 16px 15px;
		font-size: 1.4rem;
	}
	.boxImage {
		margin-top: 5px;
	}
	.flowContainer .tabHeader {
		position: relative;
		justify-content: center;
		margin-bottom: 23px;
	}
	.flowContainer .tabHeader::before {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		background-color: var(--color-Green01);
	}
	.flowContainer .tabHeader > .cardTitle {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40.7692vw;
		height: 60px;
		border-radius: 4px 4px 0 0;
		border: 2px solid var(--color-Green01);
		border-bottom: none;
		font-size: 1.6rem;
		font-weight: 500;
	}
	.flowContainer .tabHeader > .cardTitle:not(.is-active) {
		border: 2px solid #fff;
		background: #fff;
		color: #37453F;
	}
	.flowContainer .tabHeader > .cardTitle.is-active {
		position: relative;
		font-weight: 700;
	}
	.flowContainer .tabHeader > .cardTitle + .cardTitle {
		margin-left: 2px;
	}
	.priceTableItem + .priceTableItem {
		margin-top: 20px;
	}
	.stepLabel {
		width: 40px;
		padding-top: 12px;
		font-size: 1.4rem;
	}
	.priceTableItem .priceRow {
		width: 71.2821vw;
		padding: 15px;
	}
	.priceAmountBlock {
		margin-top: 7px;
		padding-top: 14px;
	}
}

@media screen and (max-width: 375px) {
	.flowAccordion__summary.-row2 {
		padding: 5px 29px 0px 10px !important;
	}
}

@media print {
	.heroContentInner {
		width: 980px;
		max-width: inherit;
		min-width: inherit;
	}
	.sectionBlock01 .sectionInner01 {
		padding-left: 30px;
		padding-right: 30px;
	}
	.sectionInner02 {
		width: 920px;
		padding: 0 30px 100px;
		max-width: inherit;
		min-width: inherit;
	}
	.sectionInner02 .sectionTitle.-type02 {
		margin-left: -30px;
		margin-right: -30px;
		padding-left: 30px;
		padding-right: 30px;
	}
	.sectionInner02 .sectionTitle.-type02::before {
		left: 30px;
	}
	.breadcrumb {
		display: none;
	}
	[class*=sectionInner] > .inner {
		width: auto;
	}
	[class*=cardGrid] [class*=cardItem] {
		width: 260px;
	}
	.contactSection .sectionInner01,
	.relatedArticlesSection .sectionInner01 {
		padding-left: 30px;
		padding-right: 30px;
	}

	.flowContainer .tabContents > .-left {
		width: 450px;
	}
	.flowContainer .tabContents > .-right {
		width: 368px;
	}
	.flowContainer .stepContents {
		width: 368px;
	}
	.flowContainer .tabContents > .tabContent.-left .-common {
		width: 720px;
	}
	.flowContainer::before {
		width: 368px;
	}
	.flowContainer::after {
		width: 368px;
	}
	.flowContainer .tabHeader > .cardTitle {
		width: 368px;
		margin-left: 26px;
	}

	.heroSubttl,
	.heroTtl {
		padding-left: 30px;
	}

	.networkBlock .mapImage .pcContent {
		display: none;
	}
	.networkBlock .mapImage.print {
		display: block;
	}
}
