@charset "UTF-8";

html {
	font-size: 62.5%;
}
body {
	vertical-align: baseline;
	font-family: "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", "Yu Gothic", "MS PGothic", sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.2rem;
	font-feature-settings: "palt";
	color: #292929;
	counter-reset: number 0; 
}
a{
	color: #292929;
}
li{
	list-style-type: none;
}

/* ========================== */
/* Flexbox */
/* ========================== */
.flx_cntr{
	display:flex;
	justify-content: center;
	flex-flow: wrap;
}
.flx_btwn{
	display:flex;
	justify-content: space-between;
	flex-flow: wrap;
}

/* ========================== */
/* Header */
/* ========================== */

header{
	border-bottom: solid 10px #a1d2ea;
}
header > div{
	margin: 0 auto;
	padding: 20px 0 8px;
	width: 95%;
	max-width: 1000px;
}
header > div img{
	width: 100%;
	height: auto;
}
header h1{
	width: 25%;
	min-width: 220px;
	height: auto;
}
#seibikyoku_logo{
	margin-top: -10px;
	width: 35%;
	min-width: 350px;
}

/* Text Size */
/* -------------------------- */
#textsize{
	display: inline-block;
	vertical-align: top;
	margin: 0 10px;
	padding: 3px 5px;
	background: #373838;
	border-radius: 5px;
}
.sizeBtn{
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	text-align: center;
	padding: 5px 5px 4px;
	font-size: 1.3rem; font-weight: 400;
	line-height: 1;
	background: #FFF;
	border-radius: 50%;
}
#textsize p{
	display: inline-block;
	vertical-align: middle;
	margin-right: 3px;
	font-size: 1.2rem;
	line-height: 1;
	color: #FFF;
}

/* SNS */
/* -------------------------- */
#sns-box{
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	margin: 0 0px;
	width: 170px;
}
#sns-box a{
	display: inline-block;
	margin: 0 3px;
	width: 15%;
	height: auto;
}
#sns-box a:hover{
	opacity: 0.7;
}
#sns-box a img{
	width: 100%;
	height: auto;
}

/* Search Form */
/* -------------------------- */
#search{
	display: inline-block;
	vertical-align: top;
	padding: 2px 5px;
	background: #FFF;
	border: solid 1px #808083;
	border-radius: 3px;
}
#search-box{
	padding: 2px;
	width: 130px;
	font-size: 1.3rem;
}
#searchBox p{
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 10px;
	font-size: 0.9em;
	color: #FFF;
}
#search{
	display: inline-block;
	vertical-align: middle;
	height: auto;
}
#search-button{
	width: 60px;
	background: #d3d3d4;
	border-radius: 3px;
}
#search-button:hover{
	background: #bababc;
}
#search-button span{
	display: inline-block;
	vertical-align: middle;
	font-size: 1.3rem;
}
#search-button img{
	display: inline-block;
	vertical-align: middle;
	width: 15px;
	height: auto;
}

/* --- Responsive --- */
@media only screen and (max-width: 920px){
	header h1{
		margin: 0 auto 5px;
	}
	header > div > div{
		text-align: center;
		margin: 0 auto 10px;
		padding-top: 15px;
		width: 100%;
		border-top: solid 1px;
	}
	#textsize{
		margin: 0 auto;
	}
	#sns-box{
		margin: 0 auto;
	}
	#search{
		margin: 0 auto;
	}
	#search-box{
		width: 110px;
	}
}
@media only screen and (max-width: 480px){
	#seibikyoku_logo{
		margin-bottom: 10px;
		margin-left: 20px;
		width: 75%;
		min-width: 100px;
	}
	#textsize{
		display: none;
	}
	#search{
		margin: 10px auto 0;
	}
	#search-box{
		width: 190px;
	}
}

/* Global Navi */
/* -------------------------- */
header nav{
	padding: 20px 0 10px;
	width: 100%;
	background: #e6e6e6;
	border-bottom: solid 3px #00a5e3;
}
header nav ul{
	text-align: center;
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}
header nav ul li{
	display: inline-block;
	margin: 0 3px 10px;
	box-shadow: 2px 2px 10px #dedede ,-2px 2px 10px #dedede ,2px -2px 10px #dedede ,-2px -2px 10px #dedede;
}
header nav ul li a{
	display: block;
	padding: 3px 10px;
	font-size: 1.5rem;
	font-weight: 500;
	background: #FFF;
	border-radius: 4px;
}

header nav li:last-child{
border-right: none;
}
header nav li a:hover {
	color: #6d8eb9;
}
.slicknav_menu { /* PC時は非表示 */
	display: none;
}

/* --- Responsive --- */
@media screen and (max-width: 580px) {
	#gnav { /* モバイル時は非表示 */
		display: none;
	}
	.slicknav_menu { /* モバイル時は表示 */
		display: block;
	}
}

/* ========================== */
/* Breadcrumb */
/* ========================== */

#breadcrumb{
	margin: 0 auto 10px;
	width: 100%;
}
#breadcrumb ul{
	text-align: left;
	margin: 0 auto;
	padding: 3px 0;
	overflow: hidden;
	width: 90%;
	max-width: 1000px;
}
#breadcrumb ul li{
	display: inline;
	margin: 0 5px 0 0;
	font-size: 1.4rem;
	line-height: 2rem;
	color: #363838;
	text-decoration: none;
}
#breadcrumb ul li::before{
	display: inline-block;
	vertical-align: middle;
	content: '';
	margin: -5px 5px 0 0;
	padding: 0;
	width: 0.7em;
	height: 0.9em;
	background-image: url(../images/common/pankuzu-icon_yajirushi.png);
	background-size: cover;
}
#breadcrumb ul li:first-child::before{
	margin: -5px 5px 0 0;
	width: 14px;
	height: 13px;
	background-image: url(../images/common/pankuzu-icon_home.png);
}
#breadcrumb ul li a:hover {
	text-decoration: underline;
}

/* --- Responsive --- */
@media only screen and (max-width:480px){
	#breadcrumb{
		margin: 0 0 20px;
		padding: 0;
	}
	#breadcrumb ul li{
		margin: 0 5px 0 0;
		font-size: 3.5vw;
		line-height: 5.5vw;
	}
	#breadcrumb ul li::before{
		margin: -5px 0px 0 0;
	}
}

/* --- Responsive --- */
@media screen and (max-width: 480px) {
	#breadcrumb{
		margin: 0 auto 3px;
	}
}

/* ========================== */
/* Footer */
/* ========================== */

/* 整備局トップへボタン */
/* -------------------------- */
#go_skr_top a{
	text-align: center;
	display: block;
	padding: 15px 8px;
	margin: 0 auto 80px;
	width: 300px;
	font-size: 1.7rem;
	font-weight: bold;
	background: #e8e9e9;
	border-radius: 5px;
}
#go_skr_top a:hover{
	background: #dedfdf;
}
#go_skr_top a::before{
	display: inline-block;
	vertical-align: middle;
	content: "";
	margin: 0 15px 0 0; 
	width: 30px;
	height: 34px;
	background-size: cover;
}
#go_skr_top a::before{
	background-image: url(../images/common/kokudokoutsusyo_logo_bk.png);
}

/* Address */
/* -------------------------- */
#footer_box{
	margin: 0 auto;
	background: #0083BD;
}
#footer_box > div{
	margin: 0 auto;
	padding: 20px 0;
	width: 90%;
	max-width: 1000px;
	color: #FFF;
}
#footer_box address p:first-child{
	width: 80%;
	margin-bottom: 10px;
	max-width: 500px;
	height: auto;
}
#footer_box address img{
	width: 100%;
	height: auto;
}
#footer_box address #seibikyoku_ftrlogo{
	max-width: 90%;
	max-width: 450px;
}
#footer_box address p:nth-child(2),
#footer_box address p:last-child{
	font-size: 1.7rem;
	line-height: 2.5rem;
}
#footer_box ul{
	text-align: right;
	right: 0;
	padding: 0 35px 0 0;
	border-right: solid 1px;
}
#footer_box ul li{
	font-size: 1.4rem;
	line-height: 2.5rem;
	color: #FFF;
	list-style-type: none;
}
#footer_box ul li:hover{
	opacity: 0.8;
}
#footer_box ul li a{
	position: relative;
	color: #FFF;
}
#footer_box ul li a::after{
	position: absolute;
	display: block;
	content: "";
	top: 0;
	bottom: 0;
	margin: auto;
	right: -20px;
	width: 12px;
	height: 12px;
	background-image: url(../images/common/link_icon.png);
	background-size: cover;
}

/* --- Responsive --- */
@media screen and (max-width: 780px) {
	#footer_box > div{
		display: block;
	}
	#footer_box address{
		text-align: center;
		margin: 0 auto 20px;
	}
	#footer_box address p:first-child{
		margin: 0 auto 8px;
		width: 80%;
		max-width: 300px;
	}
	#footer_box address #seibikyoku_ftrlogo{
		width: 65%;
		max-width: 65%;
	}
	#footer_box ul{
		text-align: left;
		padding: 15px 25px 0 0;
		border-right: none;
		border-top: solid 1px;
	}
	#footer_box ul li{
		font-size: 1.4rem;
		line-height: 2.5rem;
	}
}
@media screen and (max-width: 480px) {
	#footer_box address p:first-child{
		width: 100%;
		max-width: 100%;
	}
	#footer_box address #seibikyoku_ftrlogo{
		width: 90%;
		margin-bottom: 10px;
		max-width: 90%;
		height: auto;
	}
}

/* Copyright */
/* -------------------------- */
footer small{
	display: block;
	text-align: center;
	width: 100%;
	padding: 8px 0;
	font-size: 1.2rem;
	color: #FFF;
	background: #3E3A39;
}

/* ========================== */
/* Page Top */
/* ========================== */
#page-top{
	text-align: right;
	position: fixed;
	bottom: 10px;
	right: 3.5vw;
	width: 50px;
	height: auto;
	font-size: 0;
	opacity: 0;
}
#page-top img{
	width: 100%;
	height: auto;
}
#page-top.fade-in{
	opacity: 1;
	transition: opacity 1s;
}

/* --- Responsive --- */
@media screen and ( max-width:480px ){
	#page-top{
		bottom: 4vw;
		right: 3.2vw;
		width: 12vw;
	}
}

/* ========================== */
/* 共通 Main Title */
/* ========================== */

#main_title_line{
	padding: 4px;
	background: #bad0e3;
}
#main_title_line span{
	display: flex;
	align-items: center;
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}
#main_title_line span::before{
	display: block;
	margin: 0 auto;
	content: "contents";
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.2rem;
	color: #3d3a39;
}
#main_title_line span::after{
	content: "";
	flex-grow: 1;
	height: 1px;
	display: block;
	margin-left: .4em;
	background: #3d3a39;
}
#main_ttl{
	width: 100%;
	height: auto;
	margin: 0 auto 50px;
	padding: 15px 0;
	background-image: linear-gradient(0deg, #007ab1, #0094dd);
}
#main_ttl span{
	position: relative;
	display: block;
	margin: 0 auto;
	padding-left: 40px;
	width: 90%;
	max-width: 1000px;
	height: auto;
	font-size: 2.8rem;
	font-weight: 400;
	color: #FFF;
}
#main_ttl span::before{
	position: absolute;
	content: "";
	margin: auto;
	left: 00px;
	top: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	background-size: cover;
}
#toiawase #main_ttl span::before{
	background-image: url(../images/toiawase/title-icon_toiawase.png
	);
}
#jigyoinfo #main_ttl span::before{
	background-image: url(../images/jigyo/title-icon_jigyo.png
	);
}
#johokokai #main_ttl span::before{
	background-image: url(../images/koukai/title-icon_johokokai.png
	);
}
#kojinjohohogo #main_ttl span::before{
	background-image: url(../images/kojinjohohogo/title-icon_kojinjoho.png
	);
}

/* --- Responsive --- */
@media screen and ( max-width:480px ){
	#main_title_line span{
		text-align: center;
		margin: 0 auto;
		display: block;
	}
	#main_title_line span::before{
		color: #00a5e3;
	}
	#main_title_line span::after{
		display: none;
	}
	#main_ttl{
		text-align: center;
		padding: 10px 15px 15px;
	}
	#main_ttl span{
		padding-left: 0;
		font-size: 2.2rem;
	}
	#main_ttl span::before{
		display: block;
		position: static;
		content: "";
		margin: 0 auto 10px;
		width: 25px;
		height: 25px;
	}
}

/* ========================== */
/* 共通 Sub Title */
/* ========================== */

.sub_ttl{
	position: relative;
	text-align: left;
	margin: 0 auto 50px;
	padding: 0;
	width: 90%;
	max-width: 1000px;
	height: auto;
	background: #e6e6e6;
}
.sub_ttl::before{
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 50px;
	height: 45px;
	background-image: url(../images/common/sub-title-left.png);
	background-size: cover;
}
.sub_ttl span{
	position: absolute;
	vertical-align: middle;
	top: 50%;
    left: 50%;
	font-size: 2.2rem;
	font-weight: 400;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/* --- Responsive --- */
@media screen and ( max-width:480px ){
	.sub_ttl span{
		position: static;
		padding-left: 10px;
		font-size: 2rem;
	}
}

/* ========================== */
/* 戻るボタン */
/* ========================== */
#mae-modoru{
	text-align: center;
	margin: 70px auto 70px;
}
#mae-modoru button{
	position: relative;
	vertical-align: middle;
	padding: 8px 55px 8px 30px;
	font-size: 1.5rem;
	font-weight: 600;
	border: solid 1px #393939;
	background: #FFF;
	border-radius: 3px;
}
#mae-modoru button::after{
	position: absolute;
	display: block;
	content: "";
	margin: auto;
	top: 0;
	bottom: 5px;
	right: 30px;
	width: 15px;
	height: 15px;
	background-size: cover;
	background-image: url(../images/common/modoru_return.png);
}