@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media print, screen and (min-width : 769px ){
#pc------------------------------------------- {
}
#catch {
	background-image: url("../images/pc/index/m_bg.png");
	height: 700px;
	background-size: cover;
	background-position: center center;
}
#catch h2 {
	font-size: 28px;
	font-weight: bold;
	text-align: left;
	line-height: 1.4em;
	margin-left: 6.5vw;
	position: relative;
	top: 300px;
}



#news {
	width: 1153px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 90px;
	padding-bottom: 90px;
	display: flex;
	justify-content: space-between;
}
#news h2 {
	font-size: 20px;
	margin-bottom: 50px;
}
#news h2 span {
	font-size: 46px;
	font-weight: 500;
	color: #003399;
	display: block;
	margin-bottom: 15px;
}
#news ul {
	width: 853px;
	border-bottom: 1px solid #999999;
}
#news ul li {
	font-size: 17px;
	line-height: 52px;
	border-top: 1px solid #999999;
}
#news ul li a {
	color: #333;
	text-decoration: none;
}
#news ul li a:hover {
	text-decoration: underline;
}
#news ul li time {
	margin-right: 20px;
}



#problems {
	background-color: #E7F5FC;
	padding-top: 80px;
	padding-bottom: 80px;
}
#problems h2 {
	font-size: 34px;
	font-weight: bold;
	color: #003399;
}
#problems .flex {
	margin-top: 70px;
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#problems .flex:nth-child(odd) {
	flex-direction: row-reverse;
}
#problems .flex figure {
	width: 604px;
}
#problems .flex div {
	width: 470px;
}
#problems .flex div h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}
#problems .flex div h3+p {
	font-size: 17px;
	text-align: justify;
	margin-bottom: 40px;
	line-height: 1.8em;
}



#procedure {
	padding-top: 90px;
	padding-bottom: 90px;
}
#procedure h2 {
	font-size: 33px;
	font-weight: bold;
	color: #003399;
	margin-bottom: 60px;
}
#procedure .flex {
	display: flex;
	justify-content: space-between;
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
}
#procedure .flex div {
	width: 538px;
}
#procedure .flex div h3 {
	font-size: 24px;
	font-weight: bold;
	margin-top: 25px;
	margin-bottom: 10px;
}
#procedure .flex div h3+p {
	margin-bottom: 30px;
}



#others {
	background-color: #E7F5FC;
	padding-top: 90px;
	padding-bottom: 90px;
}
#others .box {
	width: 1140px;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	border-radius: 20px;
	padding-top: 40px;
	padding-bottom: 40px;
}
#others .box+.box {
	margin-top: 75px;
}
#others .box h3 {
	color: #003399;
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 35px;
}
#others .box .flex {
	width: 1014px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#others .box .flex figure {
	width: 560px;
}
#others .box .flex div {
	width: 410px;
}
#others .box .flex div h4 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 15px;
}
#others .box .flex div h4+p {
	text-align: left;
	line-height: 1.8em;
	margin-bottom: 35px;
	letter-spacing: 0.05em;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
#catch {
	background-image: url("../images/sp/index/m_bg.png");
	height: 92.8vw;
	background-size: cover;
	background-position: center center;
}
#catch h2 {
	font-size: 4.13333333333vw;
	writing-mode: vertical-rl;
	color: #330000;
	font-weight: bold;
	text-align: left;
	line-height: 1.4em;
	margin-left: 6.5vw;
	position: relative;
	top: 20vw;
}



#news {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#news h2 {
	font-size: 4.4vw;
	text-align: center;
	margin-bottom: 3vw;
}
#news h2 span {
	font-size: 8.66666666667vw;
	font-weight: 500;
	color: #003399;
	display: block;
	margin-bottom: 2vw;
}
#news ul {
	border-bottom: 1px solid #999999;
	margin-bottom: 5vw;
}
#news ul li {
	line-height: 1.4em;
	border-top: 1px solid #999999;
	padding-top: 2vw;
	padding-bottom: 2vw;
}
#news ul li a {
	color: #333;
	text-decoration: none;
}
#news ul li a:hover {
	text-decoration: underline;
}
#news ul li time {
	display: block;
}



#problems {
	background-color: #E7F5FC;
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#problems h2 {
	font-size: 6vw;
	font-weight: bold;
	color: #003399;
}
#problems .flex {
	margin-top: 8vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#problems .flex:nth-child(odd) {
	flex-direction: row-reverse;
}
#problems .flex figure {
}
#problems .flex div {
}
#problems .flex div h3 {
	font-size: 4.93333333333vw;
	font-weight: bold;
	margin-bottom: 1.5vw;
	margin-top: 2vw;
}
#problems .flex div h3+p {
	text-align: justify;
	margin-bottom: 3vw;
	line-height: 1.7em;
}



#procedure {
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#procedure h2 {
	font-size: 6vw;
	font-weight: bold;
	color: #003399;
	margin-bottom: 5vw;
}
#procedure .flex {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#procedure .flex div+div {
	margin-top: 8vw;
}
#procedure .flex div h3 {
	font-size: 4.93333333333vw;
	font-weight: bold;
	margin-top: 3vw;
	margin-bottom: 2vw;
}
#procedure .flex div h3+p {
	margin-bottom: 2vw;
	text-align: left;
}



#others {
	background-color: #E7F5FC;
	padding-top: 10vw;
	padding-bottom: 10vw;
}
#others .box {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	border-radius: 20px;
	padding-top: 5vw;
	padding-bottom: 5vw;
}
#others .box+.box {
	margin-top: 8vw;
}
#others .box h3 {
	color: #003399;
	font-size: 6vw;
	font-weight: bold;
	margin-bottom: 5vw;
}
#others .box .flex {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
#others .box .flex figure {
}
#others .box .flex div {
}
#others .box .flex div h4 {
	font-size: 4.93333333333vw;
	font-weight: bold;
	margin-bottom: 2vw;
	margin-top: 3vw;
}
#others .box .flex div h4+p {
	text-align: left;
	line-height: 1.7em;
	margin-bottom: 3vw;
	letter-spacing: 0.05em;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}




@media print {
}