﻿@charset "utf-8";
/* common
-------------------------------------------------------------------*/
body.home .txt-blue,
body.article .txt-blue{
		color:#0d69cd;
}
body.home .txt-red,
body.article .txt-red{
		color:#ff0000;
}
main ul li{
		padding-left:1.25em;
		position:relative;
		font-size: 1.125rem;
		line-height: 1.6;
}
main ul li:before{
		content:"";
		width: 0.875em;
		height: 0.875em;
		background:#282828;
		position:absolute;
		top: 0.5em;
		left:0;
}
main ul li a{
		text-decoration:underline;
		text-underline-offset:5px;
		transition:.3s text-decoration-color;
		line-height: 1.75;
		font-size: 1.125rem;
}
main li ol li{
		padding-left:0;
}
main li ol li:before{
		display:none;
}
@media (any-hover: hover) {
		main ul li a:hover{
			text-decoration-color:transparent;
		}
}
@media screen and (max-width:768px) {
		main ul li{
			font-size:1rem;
		}
}
/* トップ
-------------------------------------------------------------------*/
body.home .visual{
		position:relative;
		background:url(../img/top/bg-mv.jpg) no-repeat center / cover;
		min-height: 466px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding-top: 80px;
		z-index: 15;
		margin-bottom: 5.5em;
}
body.home .visual .sitewrap-inner{
		position:relative;
}
body.home .visual .visual-image{
		position:absolute;
		inset: -1.875em 1em 0 auto;
		margin:auto;
}
body.home .visual .visual-tit .mv_style{
		font-size:2.625rem;
		font-weight:bold;
		text-shadow:0 0 3px #fff,0 0 5px #fff,0 0 7px #fff,0 0 10px #fff,0 0 15px #fff,0 0 200px #fff;
		line-height: 1.7;
		letter-spacing: 0.05em;
		max-width: 830px;
}
body.home .visual .visual-tit .mv_style em{
		color:#d43211;
}
body.home .visual .sitewrap{
		width:1500px;
}
@media screen and (max-width:1540px) {
		body.home .visual .sitewrap{
			width:100%;
			min-width:0;
		}
		body.home .visual .sitewrap > *{
			padding-left:15px;
			padding-right:15px;
		}
}
@media screen and (max-width:1300px) {
		body.home .visual{
			min-height: 35.875vw;
		}
		body.home .visual .visual-tit .mv_style{
			font-size:min(3.5vw,2rem);
		}
		body.home .visual .visual-image{
			width: 40%;
		}
}
@media screen and (max-width:768px) {
		body.home .visual{
			min-height: 335px;
			margin-top: 60px;
			padding-top: 30px;
			align-items: flex-start;
			margin-bottom: 9em;
		}
		body.home .visual .visual-tit .mv_style{
			font-size: min(5vw,2rem);
		}
		body.home .visual .visual-image{
			width: 60%;
			top: 99%;
			right: -1em;
			max-width: 280px;
		}
}
@media screen and (max-width:500px) {
	 body.home .visual .visual-image{
			width:75%;
		} 
}

body.home .visual-bottom{
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		padding:4.25em 10px 3.75em 10px;
}
body.home .visual-bottom .visual-bottom-left .visual-bottom-style{
		font-size:1.5rem;
		font-weight:bold;
		margin-bottom: 1em;
		line-height:1.7;
		letter-spacing: 0.03em;
		word-break: break-all;
}
body.home .visual-bottom .visual-bottom-left p{
		font-size:1.125rem;
		line-height: 2;
}
body.home .visual-bottom-link{
		display:flex;
		justify-content:space-between;
		align-items:stretch;
		gap: 1em 1%;
		margin-bottom:5em;
}
body.home .visual-bottom-link li{
		width: 32%;
		margin-bottom: 10px;
		padding: 0;
}
body.home .visual-bottom-link li:before{
		display:none;
}
body.home .visual-bottom-link li a{
		display: flex;
		border:3px solid #5bbff2;
		text-align:center;
		border-radius:10px;
		height: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		aspect-ratio: 378 / 220;
		padding: 20px;
		box-shadow: 7px 7px rgba(0,0,0,.2);
		transition: .5s transform,.5s box-shadow;
		text-decoration:none;
}
body.home .visual-bottom-link li a .visual-bottom-image{
		margin-bottom: 1em;
}
body.home .visual-bottom-link li a img{
		filter: brightness(0) saturate(100%) invert(65%) sepia(42%) saturate(564%) hue-rotate(158deg) brightness(98%) contrast(94%);
}
body.home .visual-bottom-link .link-support a{
		border-color:#8fcf70;
}
body.home .visual-bottom-link .link-support a img{
		filter: brightness(0) saturate(100%) invert(91%) sepia(12%) saturate(1551%) hue-rotate(43deg) brightness(85%) contrast(88%);
}
body.home .visual-bottom-link .link-about a{
		border-color:#f49eb8;
}
body.home .visual-bottom-link .link-about a img{
		filter: brightness(0) saturate(100%) invert(96%) sepia(86%) saturate(5690%) hue-rotate(282deg) brightness(90%) contrast(102%);
}
body.home .visual-bottom-link .bottom-link-style{
		font-size:1.25rem;
		font-weight:bold;
		margin-bottom: 0.5em;
		min-height: 2.75em;
		line-height: 1.2;
		margin-bottom: 0;
}
body.home .visual-bottom-link p span{
		font-size:0.875rem;
}
@media (any-hover: hover) {
		body.home .visual-bottom-link li a:hover{
			transform:translate(10px,10px);
			box-shadow:none;
		}
}
@media screen and (max-width:1200px) {
		body.home .visual-bottom .visual-bottom-left .visual-bottom-style{
			font-size:1.25rem;
		}
		body.home .visual-bottom .visual-bottom-left p{
			font-size:1rem;
		}
		body.home .visual-bottom{
			flex-wrap:wrap;
			gap:2em;
		}
		body.home .visual-bottom-link .bottom-link-style{
			font-size:1.125rem;
			margin-bottom: 0.5em;
		}
		body.home .visual-bottom-link li a .visual-bottom-image{
			width:25%;
		}
		body.home .visual-bottom-link p{
			font-size:0.875rem;
		}
		body.home .visual-bottom-link p span{
			font-size:0.75rem;
		}
}
@media screen and (max-width:1000px) {
	body.home .visual-bottom-link li a .visual-bottom-image{
		margin-bottom:0.5em;
	}
	body.home .visual-bottom-link .bottom-link-style{
		font-size:min(1.25vw,1.125rem)
	}
}
@media screen and (max-width:915px) {
		body.home .visual-bottom-link .bottom-link-style{
			font-size: 1rem;
		}
}
@media screen and (max-width:768px) {
		body.home .visual-bottom{
			padding-top: 25%;
		}
		body.home .visual-bottom .visual-bottom-left .visual-bottom-style{
			font-size:1.14rem;
			margin-bottom:0.5em;
		}
		body.home .visual-bottom .visual-bottom-right{
			width:80%;
			margin:0 auto;
		}
		body.home .visual-bottom-link{
			flex-wrap:wrap;
			gap: 1em 2%;
			justify-content: center;
			margin-bottom: 4em;
		}
		body.home .visual-bottom-link li{
			width: 100%;
			max-width: 100%;
			margin: 0;
		}
		body.home .visual-bottom-link li:before{
			display:none;
		}
		body.home .visual-bottom-link li a{
			border-width: 2px;
			border-radius:10px;
			aspect-ratio: inherit;
			padding: 15px;
			box-shadow: 5px 5px rgba(0,0,0,.2);
			flex-direction: row;
			gap: 7%;
		}
		body.home .visual-bottom-link .bottom-link-style{
			font-size:0.86rem;
			min-height: 0;
			line-height: 1.6;
			margin-bottom: 0;
		}
		body.home .visual-bottom-link li a .visual-bottom-image{
			width: 13%;
			margin-bottom: 0;
		}
		body.home .visual-bottom-link li a .visual-bottom-text{
			width: 80%;
			text-align: left;
		}
}

/*news*/
body.home .news,
body.article .news{
		background:#f5fbfe;
		padding: 60px 110px;
		border-radius:20px;
		margin-bottom: 6em;
}body.home .news .news-title{
		display:flex;
		justify-content:flex-start;
		align-items:center;
		margin-bottom: 2.5em;
		gap: 4em;
}
body.home .news .news-title .news_style{
		font-size:2rem;
		font-weight:bold;
		position:relative;
		letter-spacing: 0.05em;
		padding-bottom: 0.25em;
}
body.home .news .news-title .news_style:before{
		content:"";
		width:121px;
		height:9px;
		background:url(../img/top/line-news.png) no-repeat center / contain;
		position:absolute;
		top:auto;
		left:0;
		right:0;
		bottom:-0.25em;
		margin:auto;
}
body.home .news .news-title p{
		font-size:1.125rem;
}
body.home .news .news-btn-wrap,
body.article .news .news-btn-wrap{
		margin-top: 2.5em;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		gap: 2.5em;
}
body.home .news .news-btn-wrap .common_btn,
body.article .news .news-btn-wrap .common_btn{
		width:240px;
		margin: 0;
}
@media screen and (max-width:768px) {
		body.home .news,
		body.article .news{
			padding:30px 30px;
			border-radius:10px;
			margin-bottom: 4em;
			/* width: 100vw; */
			/* position: relative; */
			/* left: 50%; */
			/* transform: translateX(-50%); */
			margin-inline:-15px;
		}
		body.home .news .news-title{
			margin-bottom: 2em;
			gap: 1.25em;
			flex-wrap:wrap;
		}
		body.home .news .news-title .news_style{
			font-size:1.47rem;
		}
		body.home .news .news-title .news_style:before{
			width:81px;
			height: 6px;
		}
		body.home .news .news-title p{
			font-size: 1rem;
		}
		body.home .news .news-btn-wrap,
		body.article .news .news-btn-wrap{
			gap: 1.5em;
			margin-top: 2.5em;
		}
		body.home .news .news-btn-wrap .common_btn,
		body.article .news .news-btn-wrap .common_btn{
			width: 80%;
		}
}

/*about*/
body.home .about{
		margin-bottom: 4em;
		position:relative;
}
body.home .about .about_style{
		border-bottom: 2px solid #b2b2b2;
		font-size:1.875rem;
		font-weight:bold;
		margin-bottom: 1.25em;
		padding-bottom: 0.7em;
		letter-spacing: 0.07em;
}
body.home .about .about_style a{
	text-decoration:underline;
	text-underline-offset:10px;
	transition:.4s text-decoration-color;
}
body.home .about .about_col{
		display:flex;
		justify-content:space-between;
		align-items:stretch;
		flex-wrap:wrap;
		gap:2%;
}
body.home .about .about_col .about_text{
		width:48%;
}
body.home .about .about_col .about_text p{
		line-height: 1.75;
}
body.home .about .about_col .about_text p + p{
		margin-top:1.5em;
}
body.home .about .about_col .about_text .about_text-wrap + .about_text-wrap{
	margin-top:2em;
}
body.home .about .about_col .about_text h3{
	position:relative;
		z-index:5;
		margin-bottom:0.5em;
		font-size:1.5625rem;
		font-weight:bold;
		padding-left:0.5em;
}
body.home .about .about_col .about_text h3:before{
		content:"";
		width:3px;
		height: 1.25em;
		background:#0d69cd;
		position:absolute;
		top:0.125em;
		left:0;
}
body.home .about .about_col .about_image{
		width: 47%;
}
@media (any-hover: hover) {
	body.home .about .about_style a:hover{
		text-decoration-color:transparent;
	}
}
@media screen and (max-width:1000px) {
		body.home .about .about_col .about_text .about_link_wrap{
			padding: 25px 15px;
		}
}
@media screen and (max-width:768px) {
		body.home .about{
			margin-bottom:4em;
		}
		body.home .about .about_col{
			gap:2em;
		}
		body.home .about .about_col .about_text,
		body.home .about .about_col .about_image{
			width:100%;
		}
		body.home .about .about_col .about_text .about_link_wrap .about_list li{
			width: 100%;
		}
		body.home .about .about_col .about_text .about_link_wrap .about_list li:before{
			top:0.5em;
		}
		body.home .about .about_col .about_text p + p{
			margin-top:1em;
		}
		body.home .about .about_style{
			border-bottom-width:1px;
			font-size:1.47rem;
		}
	body.home .about .about_style a{
		text-underline-offset:5px;
		
	}
}


/*access*/
body.home .access{
		position:relative;
		margin-bottom: 6.5em;
}
body.home .access .style_h2{
		position:relative;
		font-size:1.625rem;
		font-weight:bold;
		border-left:3px solid #0d69cd;
		padding-left:0.5em;
		margin-bottom:1em
}
body.home .access .access_col{
		display:flex;
		justify-content:space-between;
		align-items:stretch;
		flex-wrap:wrap;
		gap:2%;
}
body.home .access .access_col .access_map{
		width: 47%;
}
body.home .access .access_col .access_text{
		width: 47%;
}
body.home .access .access_col .access_text em{
		font-size:1.125rem;
		font-weight:bold;
		margin-bottom: 0.5em;
		display:block;
}
body.home .access .access_col .access_text ul + em{
	margin-top:1.75em;
}
body.home .access .access_col .access_text p{
		line-height:1.75;
}
@media screen and (max-width:768px) {
		body.home .access{
			margin-bottom: 4em;
		}
		body.home .access .style_h2{
			font-size:1.47rem;
		}
		body.home .access .access_col{
			gap:2em;
		}
		body.home .access .access_col .access_map,
		body.home .access .access_col .access_text{
			width:100%;
		}
		body.home .access .access_col .access_map iframe{
			aspect-ratio:3 / 2;
			height:auto;
		}
		body.home .access .access_col .access_text em{
			font-size:1rem;
		}
}


/*bottom_banner*/
body.home .bottom_banner{
		background:#f7f7f7;;
		padding-top:5em;
		padding-bottom:5em;
}
body.home .bottom_banner .bottom_banner_wrap{
	 max-width:1500px;
		margin:0 auto;
}
body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col{
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		gap: 1em 2.125em;
		margin-bottom:1em;
}
body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col li{
		padding:0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 2.125em;
}
body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col li:before{
		display:none;
}
body.home .bottom_banner a{
		transition:.5s opacity;
		padding:0;
}
body.home .bottom_banner .bottom_banner_recruit{
		margin:0 auto;
		text-align: center;
}
@media (any-hover: hover) {
		body.home .bottom_banner a:hover{
			opacity:0.7;
		}
}
@media screen and (max-width:1250px) {
		body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col{
			padding-left:15px;
			padding-right:15px;
		}
}
@media screen and (max-width:768px) {
		body.home .bottom_banner{
			padding: 4em 15px;
		}
		body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col{
			gap: 1em 1.5em;
			padding: 0;
			max-width: 390px;
			margin: 0 auto 1.5em;
		}
		body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col li{
			padding:0;
			width: 100%;
			gap: 1em;
		}
		body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col li:last-child{
			justify-content:flex-start;
		}
		body.home .bottom_banner .bottom_banner_wrap .bottom_banner_col li:before{
			display:none;
		}
		body.home .bottom_banner a img{
			max-height: 52px;
			width:auto;
		}
}




/*article*/
.outer{
		padding:45px 30px;
		position:relative;
		z-index:15;
		margin-block: 2.5em;
		background: rgba(235,247,253,0.875);
}
.outer.bg-white{
		background:#fff;
}
.article-section .outer{
		margin-block: 1em 4em;
		padding: 1.5em;
 }
.article-body .article-section .article-wrap > *:last-child{
		margin-bottom:0;
}
.article-body .article-section .article-wrap + .article-wrap{
		margin-top: 2.25em;
}
.article-body .article-section .article-content + .article-content{
		margin-top:4.5em;
}
@media screen and (max-width: 768px) {
		.outer{
			padding:30px 15px;
			margin-block: 1.5em;
		}
		.article-section .outer{
			margin-block: 1em 2em;
			padding:1.5em;
		}
		.outer.outer-full{
			padding-left:0;
			padding-right:0;
		}
		.article-body .article-section .article-wrap + .article-wrap{
			margin-top:1.5em;
		}
		.article-body .article-section .article-content + .article-content{
			margin-top:2.5em;
		}
}

/*aia*/
@media screen and (max-width: 768px) {
		body.aia .column_image_wrap{
			gap: 1.5em 1.5%;
		}
		body.aia .column_image_wrap .item{
			width: 32%;
		}
		body.aia .column_image_wrap .item img{
			aspect-ratio: 1 / 1;
			width:100%;
			object-fit: cover;
		}
}

/*annaizu1*/
@media screen and (max-width: 768px) {
		body.annaizu1 .access_map iframe{
			aspect-ratio: 1/1;
			height: auto;
		}
}

/*senmon*/
body.senmon .table_wrap{
		margin-bottom:2em;
		margin-left:0;
}

/*mgznnwsp*/
body.mgznnwsp .table_wrap table th,
body.mgznnwsp .table_wrap table td{
	padding:0.5em 1em;
}


/*lib*/
body.lib .column_3 .common_btn{
		margin:0;
}
body.lib .col_4_6{
		margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
	body.lib .full_table table,
	body.nihongo .full_table table,
	body.yosei .full_table table{
		width:800px;
	}
}
/*resource_top*/
body.resource_top .column_3 .common_btn{
		margin-top:0;
}

/*keikaku*/
body.keikaku .common_btn{
		max-width:320px;
		margin-right:0;
		margin-top:1em;
}
@media screen and (max-width: 768px) {
	 body.keikaku .common_btn{
		 margin-right:auto;
		 max-width: 230px;
		} 
		body.keikaku .article-body .article-section .article-wrap + .article-wrap{
			margin-top:2em;
		}
}

/*handbook*/
body.handbook .handbook-list > li + li,
body.handbook ul + p{
		margin-top:1em;
}

/*tabunkaevent*/
body.tabunkaevent .article-body h3{
		line-height:2;
}
body.tabunkaevent .article-body h3:before{
		line-height:2;
		top: 0.625em;
}

/*news*/
body.hojokin .news-list h2,
body.lib .news-list h2{
	padding:0;
	border-bottom:none;
}
body.hojokin .news-list h2,
body.lib .news-list h2{
	padding:0;
	border-bottom:none;
}
body.hojokin .news-list a p,
body.lib .news-list a p{
		text-decoration:underline;
		text-underline-offset:6px;
		transition:.5s text-decoration-color;
}
@media (any-hover: hover) {
		body.hojokin .news-list a:hover p,
		body.lib .news-list a:hover p{
			text-decoration-color:transparent;
		}
}

/*bosai-center*/
body.bosai-center ul + p{
	margin-top:1.5em;
}

/*kokusaigirei-kokki*/
body.kokusaigirei-kokki ol li + li{
	margin-top:1em;
}

/*sodankai*/
body.sodankai .column_3 .item{
	width: 32%;
}
@media screen and (max-width: 768px) {
	body.sodankai .column_3{
		gap:2em 2%;
	}
	body.sodankai .column_3 .item{
		width:48%;
	}
}

/*manabu*/
body.manabu ul + p{
	margin-top:2em;
}

/*manual*/
body.manual .col_7_3{
	margin-bottom:2em;
}

/*kyouzai*/
@media screen and (max-width: 768px) {
		body.kyouzai ol{
			padding-left:2.125em;
		}
}


/*whatsnewold*/
body.whatsnewold .news-list + .news-list{
	margin-top:4em;
}
@media screen and (max-width: 768px) {
		body.whatsnewold .news-list + .news-list{
			margin-top:2em;
		}
}

/*handbook*/
body.handbook .column_image_wrap .item{
	width: 125px;
}
/*shuppan*/
body.shuppan .common_btn02 a{
	padding-inline:1.5em;
}

/*kihusha*/
@media screen and (max-width: 768px) {
		body.kihusha .column_2{
			gap:0;
		}
}

/* lang setting */

html:not([lang="ja"]) body.home .visual .visual-tit .mv_style{
	font-size: 2.15rem;
}
html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .sitewrap-inner{
	display:flex;
	gap:1em;
	padding-block:4em;
	justify-content:space-between;
}
html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .visual-tit .mv_style{
	font-size: 1.875rem;
}
html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .visual-image{
	position:static;
}
@media screen and (max-width:940px) {
	html[lang="my"] body.home main > *:first-child{
		padding-block:8em 2em;
	}
	html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .visual-image{
		position:static;
		margin-inline:auto 0;
		margin-block:0;
		min-width:40%;
	}
}
@media screen and (max-width: 768px) {
	html:not([lang="ja"]) body.home .visual .visual-tit .mv_style{
			font-size: min(4.0vw, 1.75rem);
		}
	html:not([lang="ja"]) body.home main > *:first-child{
		padding-block:1em;
	}
	html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .sitewrap-inner{
		display:block;
		padding-block:0;
	}
	html:not([lang="ja"]) body.home .visual .visual-image,
	html:is([lang="my"],[lang="ru"],[lang="tl"],[lang="uk"],[lang="vi"]) body.home .visual .visual-image{
		position:static;
		margin-inline:auto 0;
		max-width:50%;
		margin-top:0.5em;
	}
}