@charset "UTF-8";

.ma-support-page {
	background: #fff;
	color: #222;
	letter-spacing: 0;
}

.ma-support-page #sec-1 {
	height: 700px;
}

.ma-support-page .sec-1 {
	background: url(../img/ma-support/ma-support-kv.png) no-repeat right center;
	background-size: cover;
	height: 700px;
	width: 70%;
}

.ma-support-page .sec-1 h1 {
	font-size: 5rem;
	height: 150%;
	letter-spacing: 0;
	line-height: 1.2;
}

.ma-support-page .sec-1 h2 {
	left: 40%;
}

.ma-support-page .sec-1 h2 span {
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.ma-support-btn,
.ma-support-link {
	background: #000;
	color: #fff;
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 2px;
	margin-top: 1.5rem;
	padding: 15px 30px;
	text-decoration: none;
}

.ma-support-btn:hover,
.ma-support-link:hover {
	background: #87cdcf;
	color: #fff;
}

.ma-support-section h2 {
	font-family: serif;
	font-size: 1.5rem;
	letter-spacing: 4px;
	padding-bottom: 15px;
}

.ma-support-section h3 {
	font-family: serif;
	font-size: 1em;
	padding-bottom: 4rem;
}

.ma-support-section p,
.ma-support-section li,
.ma-support-section dd {
	line-height: 1.8;
}

.ma-support-page #sec-2 {
	margin: 0;
	position: relative;
	width: 100%;
}

.ma-support-page #sec-2::before,
.ma-support-page #sec-2::after {
	display: none;
}

.ma-support-page .sec-2 {
	margin: auto;
	max-width: 940px;
	padding: 58px 0 50px;
	width: 85%;
}

.ma-support-page .sec-2 h2 {
	margin-bottom: 0;
	padding-bottom: 6px;
}

.ma-support-page .sec-2 h3 {
	margin-top: 0;
	padding-bottom: 2.2rem;
}

.ma-support-page .sec-2 .sec-2-box {
	display: inline-block;
	vertical-align: middle;
	width: 40%;
}

.ma-support-page .sec-2 .ma-support-img {
	display: inline-block;
	margin-left: 4%;
	vertical-align: middle;
	width: 55%;
}

.ma-support-img img,
.ma-support-strength_img img {
	box-shadow: 0 0 12px rgba(0,0,0,0.18);
	width: 100%;
}

.ma-support-img_sp {
	display: none;
}

.ma-support-note {
	border-left: 3px solid #87cdcf;
	color: #555;
	font-size: 0.9rem;
	margin-top: 1.5rem;
	padding-left: 1rem;
}

.ma-support-page .sec-3,
.ma-support-page .sec-4,
.ma-support-page .sec-5,
.ma-support-page .sec-6,
.ma-support-page .sec-7,
.ma-support-page .sec-8,
.ma-support-page .sec-9,
.ma-support-page .sec-10 {
	margin: auto;
	max-width: 768px;
	padding: 8em 0 3em;
	width: 85%;
}

.ma-support-page #sec-8 {
	overflow: visible;
	position: relative;
	width: 100%;
	z-index: 1;
}

.ma-support-page #sec-8::after {
	display: none;
}

.ma-support-page .sec-8 {
	max-width: 960px;
	padding: 4.8em 0 3em;
	position: relative;
	z-index: 2;
}

.ma-support-page .sec-8 h2 {
	margin-bottom: 0;
	padding-bottom: 6px;
}

.ma-support-page .sec-8 h3 {
	margin-top: 0;
	padding-bottom: 2.8rem;
}

.ma-support-page #sec-3 {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.ma-support-page #sec-3 .left-box {
	height: 100%;
	top: 0;
	z-index: 0;
}

.ma-support-page .sec-3 {
	padding: 4.8em 0 3em;
	position: relative;
	z-index: 1;
}

.ma-support-page .sec-3 h2 {
	margin-bottom: 0;
}

.ma-support-page .sec-3 h3 {
	margin-top: 0;
}

.ma-support-page .sec-3 h3 {
	padding-bottom: 3rem;
}

.ma-support-checks {
	display: grid;
	gap: 52px 46px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.ma-support-checks li {
	background: transparent;
	box-shadow: none;
	display: grid;
	font-family: 'Noto Serif JP', serif;
	gap: 22px;
	grid-template-columns: 118px 1fr;
	padding: 22px 0 0;
	position: relative;
}

.ma-support-checks li::before {
	border-left: 1px solid #555;
	border-top: 1px solid #555;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: 0;
	width: 20px;
}

.ma-support-checks img {
	align-self: start;
	height: 72px;
	justify-self: center;
	transition: .3s;
	width: auto;
}

.ma-support-checks li:hover img {
	transform: scale(1.08);
}

.ma-support-checks h4 {
	font-family: serif;
	font-size: 1.08rem;
	letter-spacing: 2px;
	line-height: 1.8;
	margin: 0 0 1.1rem;
}

.ma-support-checks p {
	font-size: 0.92rem;
	line-height: 1.8;
	margin: 0;
	text-align: justify;
}

.ma-support-checks li:last-child {
	grid-column: 1 / -1;
	max-width: calc(50% - 23px);
}

.ma-support-strength {
	position: relative;
}

.ma-support-page .sec-4,
.ma-support-page .sec-5 {
	max-width: 960px;
	padding: 4.8em 0 3em;
}

.ma-support-page .sec-6 {
	max-width: 960px;
	padding: 4.8em 0 3em;
}

.ma-support-page #sec-6 {
	overflow: visible;
	position: relative;
	width: 100%;
	z-index: 0;
}

.ma-support-page #sec-6::after {
	background: rgba(135,205,207,0.36);
	content: "";
	height: calc(100% + 470px);
	pointer-events: none;
	position: absolute;
	right: 0;
	top: -1.5rem;
	width: calc(100% / 3);
	z-index: 0;
}

.ma-support-page .sec-6 {
	position: relative;
	z-index: 1;
}

.ma-support-page .sec-4 h2,
.ma-support-page .sec-5 h2,
.ma-support-page .sec-6 h2 {
	margin-bottom: 0;
	padding-bottom: 6px;
}

.ma-support-page .sec-4 h3,
.ma-support-page .sec-5 h3,
.ma-support-page .sec-6 h3 {
	margin-top: 0;
	padding-bottom: 2.8rem;
}

.ma-support-strength_img {
	margin: 0 0 3rem auto;
	width: 76%;
}

.ma-support-strength_list {
	display: grid;
	gap: 34px 38px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: -4.8rem auto 0;
	position: relative;
	width: 94%;
	z-index: 1;
}

.ma-support-strength_list section {
	background: rgba(255,255,255,0.96);
	box-shadow: 0 0 10px rgba(0,0,0,0.12);
	margin-bottom: 0;
	min-height: 210px;
	padding: 26px 30px;
}

.ma-support-strength_list section:nth-child(n+3) {
	transform: translateX(46px);
}

.ma-support-strength_list span {
	color: #87cdcf;
	display: block;
	font-family: serif;
	font-size: 1.75rem;
	letter-spacing: 2px;
	margin-bottom: 0.45rem;
}

.ma-support-strength_list h4 {
	font-family: serif;
	font-size: 1.02rem;
	letter-spacing: 2px;
	line-height: 1.65;
	margin: 0 0 0.75rem;
}

.ma-support-strength_list p {
	font-family: serif;
	font-size: 0.9rem;
	line-height: 1.75;
}

.ma-support-strength_list a {
	color: #29b2af;
	display: inline-block;
	margin-top: 0.8rem;
	text-decoration: underline;
}

.ma-support-service {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, 1fr);
}

.ma-support-service section {
	background:
		linear-gradient(135deg, rgba(135,205,207,0.1), rgba(255,255,255,0) 46%),
		#fff;
	border: 1px solid #e5e5e5;
	border-top: 3px solid #87cdcf;
	box-shadow: 0 0 9px rgba(0,0,0,0.07);
	font-family: 'Noto Serif JP', serif;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	padding: 22px 22px 24px;
	position: relative;
}

.ma-support-service section::before {
	background: #87cdcf;
	content: "";
	height: 54px;
	opacity: .18;
	position: absolute;
	right: -18px;
	top: -18px;
	transform: rotate(45deg);
	width: 54px;
}

.ma-support-service span {
	color: #87cdcf;
	display: block;
	font-family: serif;
	font-size: 1.45rem;
	letter-spacing: 2px;
	margin-bottom: 0.55rem;
}

.ma-support-service h4 {
	font-family: serif;
	font-size: 1rem;
	letter-spacing: 1.5px;
	line-height: 1.55;
	margin: 0 0 0.65rem;
}

.ma-support-service p {
	color: #444;
	font-size: 0.82rem;
	line-height: 1.7;
	margin: 0;
	text-align: justify;
}

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

.ma-support-flow {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 2;
}

.ma-support-flow li {
	background: #fff;
	border: 1px solid #e1e1e1;
	box-shadow: 0 0 8px rgba(0,0,0,0.06);
	display: block;
	font-family: 'Noto Serif JP', serif;
	min-height: 138px;
	padding: 20px 18px 18px;
	position: relative;
}

.ma-support-flow li::before {
	border-top: 1px solid #87cdcf;
	content: "";
	position: absolute;
	right: -18px;
	top: 50%;
	width: 18px;
}

.ma-support-flow li:nth-child(4)::before,
.ma-support-flow li:nth-child(8)::before {
	display: none;
}

.ma-support-flow li::after {
	border-bottom: 5px solid transparent;
	border-left: 7px solid #87cdcf;
	border-top: 5px solid transparent;
	content: "";
	position: absolute;
	right: -18px;
	top: calc(50% - 5px);
}

.ma-support-flow li:nth-child(4)::after,
.ma-support-flow li:nth-child(8)::after {
	display: none;
}

.ma-support-flow span {
	color: #87cdcf;
	display: block;
	font-family: serif;
	font-size: 1.42rem;
	letter-spacing: 2px;
	margin: 0 0 0.55rem;
}

.ma-support-flow h4 {
	font-family: serif;
	font-size: 0.98rem;
	letter-spacing: 1.5px;
	line-height: 1.6;
	margin: 0 0 0.5rem;
}

.ma-support-flow p {
	color: #555;
	font-size: 0.78rem;
	line-height: 1.65;
	margin: 0;
	text-align: justify;
}

.ma-support-compare {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 2rem;
}

.ma-support-compare div,
.ma-support-todo section,
.ma-support-faq dt,
.ma-support-faq dd {
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.08);
}

.ma-support-compare div {
	padding: 28px;
}

.ma-support-compare h4,
.ma-support-todo h4 {
	border-bottom: 1px solid #000;
	font-family: serif;
	font-size: 1.2rem;
	letter-spacing: 2px;
	margin: 0 0 1rem;
	padding-bottom: 0.8rem;
}

.ma-support-todo {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, 1fr);
	padding-top: 0;
	position: relative;
	z-index: 2;
}

.ma-support-todo section {
	padding: 26px;
}

.ma-support-todo p {
	color: #333;
	font-weight: 400;
	margin: 0;
}

.ma-support-faq {
	margin: 0;
}

.ma-support-faq dt {
	border-left: 5px solid #87cdcf;
	font-family: serif;
	font-weight: 700;
	letter-spacing: 1px;
	margin-top: 1rem;
	padding: 18px 20px;
}

.ma-support-faq dd {
	margin: 0;
	padding: 18px 20px;
}

#foot-contact {
	background: #f2f2f2;
	box-shadow: 1px 1px 11px 4px #ddd;
	margin-top: 5rem;
}

@media screen and (max-width: 767px) {
	.ma-support-page #sec-1 {
		height: 70vh;
	}

	.ma-support-page .sec-1 {
		background-position: center;
		height: 70vh;
		margin: 0 0 0 auto;
		width: 80%;
	}

	.ma-support-page .sec-1 h1 {
		font-size: 2rem;
		height: 100% !important;
		top: 60px;
	}

	.ma-support-page .sec-1 h2 {
		font-size: 1rem;
		left: 55%;
		line-height: 3;
		letter-spacing: 2px;
		width: 90%;
	}

	.ma-support-page .sec-2,
	.ma-support-page .sec-3,
	.ma-support-page .sec-4,
	.ma-support-page .sec-5,
	.ma-support-page .sec-6,
	.ma-support-page .sec-7,
	.ma-support-page .sec-8,
	.ma-support-page .sec-9,
	.ma-support-page .sec-10 {
		max-width: unset;
		padding: 4em 0 2em;
		width: 90%;
	}

	.ma-support-page #sec-8::after {
		width: 42%;
	}

	.ma-support-page .sec-8 {
		padding-top: 3em;
	}

	.ma-support-page .sec-2 {
		padding-top: 3em;
	}

	.ma-support-page .sec-3 {
		padding-top: 3em;
	}

	.ma-support-section h3 {
		padding-bottom: 2.4rem;
	}

	.ma-support-page .sec-2 .sec-2-box,
	.ma-support-page .sec-2 .ma-support-img {
		display: block;
		margin-left: 0;
		width: 100%;
	}

	.ma-support-page .sec-2 .ma-support-img {
		display: none;
	}

	.ma-support-img_sp {
		display: block;
		margin-bottom: 2rem;
	}

	.ma-support-img_sp img {
		width: 100%;
	}

	.ma-support-strength_img,
	.ma-support-strength_list {
		margin-top: 0;
		width: 100%;
	}

	.ma-support-strength_list {
		gap: 22px;
		grid-template-columns: 1fr;
	}

	.ma-support-strength_list section {
		min-height: auto;
	}

	.ma-support-strength_list section:nth-child(n+3) {
		transform: none;
	}

	.ma-support-strength_img {
		margin-bottom: 2rem;
	}

	.ma-support-service,
	.ma-support-compare,
	.ma-support-checks,
	.ma-support-flow,
	.ma-support-todo {
		grid-template-columns: 1fr;
	}

	.ma-support-service section,
	.ma-support-flow li {
		min-height: auto;
	}

	.ma-support-flow li::before,
	.ma-support-flow li::after {
		display: none;
	}

	.ma-support-checks {
		gap: 30px;
	}

	.ma-support-checks li,
	.ma-support-checks li:last-child {
		grid-column: auto;
		grid-template-columns: 86px 1fr;
		max-width: none;
	}

	.ma-support-checks img {
		height: 56px;
	}

	.ma-support-btn,
	.ma-support-link {
		box-sizing: border-box;
		text-align: center;
		width: 100%;
	}
}
