@charset "utf-8";
/*==================================================
	【サブ】ページ固有のスタイル
==================================================*/
/*--------------------------------------------------
  在留資格の種類
--------------------------------------------------*/
#type::before {
	background: url("../img/top/type-bg01.png") no-repeat right top,
		url("../img/top/type-bg02.png") no-repeat left 35%,
		url("../img/top/type-bg01.png") no-repeat right 60%,
		url("../img/top/type-bg02.png") no-repeat left bottom 5%;
	background-color: #F9F9F9;
}
#type h4 {
	margin-bottom: 20px;
	color: var(--color-primary);
	font-size: 40px;
	font-weight: bold;
	line-height: 1.4;
}
#type .box:nth-of-type(1) {
	margin-top: 40px;
}
#type .box:not(:last-child) {
	margin-bottom: 50px;
}
#type .txt {
	background: #fff;
	border-radius: 5px;
}
#type .txt .label {
	display: inline-block;
	background: #DDD;
	padding: 2px 10px;
}
#type .txt ul {
	margin-left: 1.5em;
	list-style: disc;
}
#type .photo img {
	border-radius: 5px;
	object-fit: cover;
	width: 100%;
	height: 100%;
	max-width: none;
}
#type .chk {
	width: 100%;
	margin: 0 auto 50px;
}
#type .chk.w700 {
}
#type .chk li {
	margin-bottom: 10px;
	padding: 20px;
	padding-left: 55px;
	background: #fff url("../img/top/chk.png") no-repeat 20px 25px;
	border-radius: 5px;
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#type .txt {
		width: calc(63% - 15px);
		font-size: 110%;
	}
	#type .photo {
		width: 37%;
	}
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#type::before {
		background-size: 30% auto;
	}
	#type h4 {
		font-size: 30px;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#type h4 {
		margin-bottom: 15px;
		font-size: 24px;
	}
	#type .box:nth-of-type(1) {
		margin-top: 30px;
	}
	#type .box:not(:last-child),
	#type .chk {
		margin-bottom: 40px;
	}
	#type .txt {
		margin-bottom: 15px;
	}
	#type .photo {
		height: 180px;
	}
	#type .photo img {
		object-position: top;
	}
	#type .chk li {
		padding: 15px;
		padding-left: 40px;
		background-position: 15px 20px;
		background-size: 12px auto;
	}
}
/*--------------------------------------------------
  お知らせ
--------------------------------------------------*/
#info::before {
	background: #fff;
}
#info dl {
	border-top: 1px solid #e1e1e1;
	padding: 25px 0;
}
#info dl:last-of-type {
	border-bottom: 1px solid #e1e1e1;
}
#info dl dt {
	color: var(--color-primary);
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	/* お知らせ */
	#info {
		font-size: 90%;
	}
	#info h3.sub {
		font-size: 35px;
		text-align: center;
	}
	#info dl {
		display: flex;
	}
	#info dt {
		width: 140px;
		text-align: center;
	}
	#info dd {
		width: calc(100% - 140px);
	}
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#info h3.sub {
		font-size: 25px;
		text-align: center;
	}
	#info dl {
		padding: 15px 0;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#info dl {
		padding: 10px 0;
	}
}