﻿#dammy {
	display: block;
	overflow: hidden;
	background: url('../images/') no-repeat;
	background-size: px px;
	padding: 40px 0 0;
	width: 216px;
	height: 0!important;
}

#dammy {
	position: absolute;
	left:0;
	bottom:0;
	content: '';
	width:0;
	height:6px;
	background-color: #FFF;
}

#dammy:last-child {
	margin-bottom:0;
}

/*
=================================== */
.mtitle_area .mtitlebox {
	color:#FFF;
	background-image: url('../images/problem_solving/sp_ps_mimage.webp');
}

.ps_area1 .block1 {
	padding-top:15px;
	padding-bottom:35px;
}

.lead_block .mlead {
	margin:0 0 25px;
	padding:0 0 20px;
	line-height:1.6;
	font-size:2.4rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: -0.02em;
	border-bottom:2px solid #e7e7e7;
}

.lead_block .ex {
	line-height:1.75;
	font-size:1.6rem;
	letter-spacing: 0.04em;
}

.ps_area2 {
	margin:0 0 40px;
}

.ps_area2 .block1 {
	padding:0 0 40px;
	position: relative;
}

.ps_area2 .block1::after {
	position: absolute;
	bottom:0;
	left:20px;
	content: '';
	background-color: #a3a3a3;
	width:calc(100% - 40px);
	height:1px;
}

.pnavi_block {
	margin:0 0 50px;
	padding:20px;
	background-color: #f1f1f1;
}

.pnavi_block ul {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
}

.pnavi_block li {
	margin:0 10px 10px 0;
	width:calc(50% - 5px);
	line-height:1.5;
}

.pnavi_block li:nth-child(2n) {
	margin-right:0;
}

.pnavi_block li a {
	display: block;
	background-image: url('../images/common/icon_arrow3.webp'), url('../images/top/sp_top_area2cbox.webp');
	background-size: 29px 29px, cover;
	background-position: right 10px bottom 10px, left top;
	background-repeat: no-repeat, no-repeat;
	padding:20px 0 40px;
	height:100%;
	min-height:160px;
	text-align: center;
	color:#FFF;
	font-size:1.9rem;
	font-family: "Noto Serif JP", serif;
}

.pnavi_block li p {
	line-height:1.6;
}

.pnavi_block li span {
	letter-spacing: -0.2em;
}

.case_block {
	margin:0 0 50px;
	padding:30px 10px;
	background-color: #dee5ef;
}

.case_block#case2,
.case_block#case4 {
	background-color: #f1f1f1;
}

.case_block#case5 {
	margin-bottom:0;
}

.case_block .mleadbox {
	margin:0 0 20px;
}

.case_block .mleadbox.sline {
	display: flex;
	align-items: center;
}

.case_block .mleadbox p {
	margin:0 0 10px;
	line-height:1.0;
	font-size:2.4rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: 0.04em;
}

.case_block .mleadbox.sline p {
	margin-bottom:0;
}

.case_block .mleadbox p:last-child {
	margin-bottom:0;
}

.case_block .mleadbox p b {
	display: inline-block;
	padding:0 0 8px;
	font-weight: 400;
	border-bottom:1px solid #073e88;
}

.case_block .imagebox {
	margin:0 20px;
	height:49.3vw;
	position: relative;
}

.case_block .imagebox img {
	position: absolute;
	top:0;
	left:0;
}

.case_block .bodybox {
	padding:50px 15px 25px 40px;
	background-color: #FFF;
	border-radius: 10px;
}

	.case_block .bodybox1 {
		margin:0 0 25px;
		position: relative;
	}

	.case_block .bodybox2 {
		position: relative;
	}

	.case_block .bodybox1:after,
	.case_block .bodybox2:after {
		position: absolute;
		top:14px;
		left:-20px;
		content: '';
		background-color: #00438e;
		width:10px;
		height:10px;
		border-radius: 10px;
	}

	.case_block .bodybox2::after {
		background-color: #808080;
	}

	.case_block .bodybox1 .label,
	.case_block .bodybox2 .label {
		margin:0 0 3px;
		line-height:1.75;
		color: #00438e;
		font-size:2.0rem;
		font-weight: 700;
		letter-spacing: 0.16em;
	}

	.case_block .bodybox2 .label {
		color: #000;
		letter-spacing: 0.08em;
	}

	.case_block .bodybox1 .ex,
	.case_block .bodybox2 .ex {
		line-height:1.8;
		font-size:1.8rem;
		letter-spacing: 0.04em;
	}

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

	/*
	=================================== */
	.mtitle_area {
		background-image: url('../images/problem_solving/ps_mimage.webp');
	}

	.mtitle_area .mtitlebox {
		background-image: none;
	}

	.ps_area1 .block1 {
		padding-top:70px;
		padding-bottom:70px;
	}

	.lead_block {
		margin:0 0 0 40px;
	}

	.lead_block .mlead {
		margin:0 0 15px;
		padding:0 0 15px;
		line-height:1.75;
		font-size:3.8rem;
		letter-spacing: 0.04em;
	}

	.ps_area2 {
		margin:0 0 45px;
	}

	.ps_area2 .block1 {
		padding:0 0 55px;
		width:1070px;
	}

	.ps_area2 .block1::after {
		left:0;
		width:100%;
	}

	.pnavi_block {
		display: flex;
		justify-content: center;
		align-items: center;
		margin:0 0 120px;
		padding:25px 0;
		position: relative;
	}

	.pnavi_block::before,
	.pnavi_block::after {
		position: absolute;
		top:0;
		content: '';
		background-color: #f1f1f1;
		width:1000px;
		height:100%;
	}

	.pnavi_block::before {
		right:100%;
	}

	.pnavi_block::after {
		left:100%;
	}

	.pnavi_block ul {
		justify-content: space-between;
		flex-wrap: nowrap;
		margin:0 auto;
		width:1030px;
	}

	.pnavi_block li {
		margin:0;
		width:200px;
	}

	.pnavi_block li a {
		display: flex;
		justify-content: center;
		align-items: center;
		background-position: right 15px bottom 15px, left top;
		padding: 0 0 25px;
		height:180px;
		font-size:2.0rem;
	}

	.pnavi_block li span {
		letter-spacing: 0;
	}

	.case_block {
		margin:0 0 55px;
		padding:45px 40px 35px;
		position: relative;
	}

	.case_block .mleadbox {
		margin:0 0 35px;
	}

	.case_block .mleadbox.sline {
		display: block;
	}

	.case_block .mleadbox p {
		font-size:3.8rem;
	}

	.case_block .mleadbox.sline p {
		margin:0 0 10px;
	}

	.case_block .mleadbox p b {
		padding:0 0 12px;
	}

	.case_block .imagebox {
		position: absolute;
		top:30px;
		right:95px;
		margin:0;
		width:430px;
		height:auto;
	}

	.case_block .imagebox img {
		position: static;
	}

	.case_block .bodybox {
		padding:115px 90px 95px 80px;
	}

	.case_block .bodybox1 {
		margin:0 0 55px;
	}

	.case_block .bodybox1:after,
	.case_block .bodybox2:after {
		top:17px;
	}

	.case_block .bodybox1 .label,
	.case_block .bodybox2 .label {
		font-size:2.4rem;
	}

	.case_block .bodybox1 .ex,
	.case_block .bodybox2 .ex {
		font-size:2.0rem;
	}
}
