@charset "utf-8";

/* reset-CSS
================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	/*font-weight: normal;*/
}
body {
	line-height:1;overflow-x: hidden;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main {
	display:block;
}

input,textarea {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
    -webkit-appearance: none;
    max-width: 100%;
  }

/* 2: setting
================================== */
*, *:before, *:after {
	box-sizing: border-box;
}

/* clearfix*/
.cf:after { content: ""; clear: both; display: block; }
.clear { clear: both;}

html {
	overflow: auto;
	font-size: 62.5%;
}
body {
	font-family: 'Yu Gothic', '游ゴシック', '游ゴシック体', YuGothic, Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-feature-settings : "palt";
	font-weight: 500;
	color: #383737;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.7;
	-webkit-print-color-adjust: exact;/* baskground_print */
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;/* safari_textBold*/
	-webkit-text-size-adjust: 100%;/* safari_textBold*/
}
@media all and (-ms-high-contrast:none){
	body {font-family: メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;}
}
img {
	display: block;
}
a {
	-webkit-transition: all .2s;
	transition: all .2s;
	color: #0066aa;
	text-decoration: underline;
}
a:hover {
	color: #3aa9ef;
	text-decoration: none;
}
a img {
	-webkit-transition: all .2s;
	transition: all .2s;
}
a img:hover {
	opacity:.7;
}
input:focus {outline:none;}
    
    .container {max-width:1200px; width:100%; margin:0 auto;}
    .header {margin-bottom:1em;}
    .header_back { border-top:solid 5px #004e87;}
    .header_logo {padding-top:10px;}
    .header_logo img {height:54px; width:auto; margin-left:1.3em;}
    .header_logo2 img {padding-right: 1.3em;}
    h1 {font-size:3.0rem; padding: 0.5em 0.7em;}
    ol {margin-left:1em;}
    ul {margin-left:1em;}
    .breadcrumb {background:url(/jst/images/header_back.png) no-repeat 0 top; position:relative; margin-left:1.3em; margin-right:1.3em;}
    .breadcrumb:after {content:""; width:100%; height:21px; background:#000; position: absolute; top:0; z-index:-1; }
    .breadcrumb:before {content:""; width:100%; height:20px; background:url(/jst/images/header_back_under.png) no-repeat; position: absolute; top:20px; }
    
    .breadcrumb ul {display:block; font-size:1.4rem; margin-bottom:1em; margin-left:0em;}
    .breadcrumb li {display:inline; list-style:none;}
    .breadcrumb-item+.breadcrumb-item::before {display: inline-block; padding-right: .5rem; content: ">";}
    .breadcrumb-item+.breadcrumb-item {padding-left: .5rem;}

    .breadcrumb li:last-child {margin-right:0;}
    .breadcrumb li:last-child:after {content:""; margin:0;}
    .page-header {padding:0 1.3em;}
    
    h2 { position: relative; margin-bottom: 28px; font-size: 2.6rem; font-weight: bold; line-height: 1.4; border-bottom: 4px solid #E0E0E0; color: #001B4C;}
    h2::before { content: ''; display: block; position: absolute; left: 0; bottom: -4px; width: 100px; height: 4px; background-color: #001B4C;}
    h2::after { content: ''; display: block; position: absolute; left: 100px; bottom: -4px; width: 2px; height: 4px; background-color: #fff;}
    h3 {font-size:2.1rem;}
    
    .list-group a {display:block;}
    .row {overflow:hidden; padding:1em 1.3em;}
    .row2 {overflow:hidden; padding-left:1.3em; padding-right:1.3em;}
    
   .table-obj {overflow-x:auto; }

    label { margin-bottom: 24px; font-size: 2.1rem; font-weight: bold; color: #001B4C; padding-left: 10px; border-left: 4px solid #001B4C; line-height: 1.4;}
    .form-group {margin-top:1.7em; margin-bottom:0.8em;}
    
    input[type='text'],textarea { padding: 0.5em; transition: 0.3s; border: 1px solid #1b2538; border-radius: 4px; margin:0.5em auto;}
	input[type='text']:focus,input[type='radio']:focus,input[type='checkbox']:focus,textarea:focus,select:focus { border: 1px solid #da3c41; outline: none; box-shadow: 0 0 5px 1px rgba(218,60,65, .5);}
	.cp_ipselect select:focus { outline: none; box-shadow: 0 0 5px 1px rgba(218,60,65, .5);}
	.text-danger {background:#c00; color:white; padding:0 0.5em; font-size:1.4rem;}
	label.form-check-label { border:0; padding-left:0; color:black; font-size:1.6rem; font-weight:normal; margin-right: 15px;}
	label.form-check-label_last{ margin-right: 0px;}
	.form-check-inline {display:inline-block;}
	input[type="radio"],input[type="checkbox"]{
		position: relative;
		width: 20px;
		height: 20px;
		margin:0 5px 0 0;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-webkit-appearance:none;
		vertical-align: middle;
		background-color:#fff;
		border:solid 1px #666;
	}
	input[type="radio"]{
		border-radius: 12px;
	}
	input[type="radio"]:checked,input[type="checkbox"]:checked{
		background-color:#F4F8FB;
	}
	input[type="radio"]:checked:before,input[type="checkbox"]:checked:before{
		position: absolute;
		left: 50%;
		top: 50%;
		display: block;
		margin: -5px 0 0 -5px;
		content: "";
		width: 10px;
		height: 10px;
		background-color:#001B4C;
	}
	input[type="radio"]:checked:before{
		border-radius: 5px;
	}
	input[id$="_last_item_text"] {width: 40em;}
	.form-check {margin-top: 0.2em; padding-left: 0.5em;}
	.form-check input[type="text"] {margin:0;}
	.table-bordered{border:solid 1px #666; margin-bottom:24px; border-collapse: collapse;}
	.table-bordered td,.table-bordered th {padding:0.5em; text-align:left; border:solid 1px #666; vertical-align:middle;}
	.table-bordered th {background: #cae2fc;}
	.table-striped tbody tr:nth-of-type(2n+1) {background: #e8f2fc;}
	table { font-size: 95%; line-height: 1.2em}
	
	.cp_ipselect {
		margin-top: 7px;
		text-align: center;
		position: relative;
		border: 1px solid #666;
		border-radius: 2px;
		background: #ffffff;
		width:60%;
	}
	.cp_ipselect select {
		padding-right: 1em;
		width:100%;
		cursor: pointer;
		text-indent: 0.01px;
		text-overflow: ellipsis;
		border: none;
		outline: none;
		background: transparent;
		background-image: none;
		box-shadow: none;
		-webkit-appearance: none;
		appearance: none;
	}
	.cp_ipselect select::-ms-expand {
	    display: none;
	}
	.cp_ipselect::before {
		position: absolute;
		top: 0.8em;
		right: 0.9em;
		width: 0;
		height: 0;
		padding: 0;
		content: '';
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-top: 6px solid #666666;
		pointer-events: none;
	}
	.cp_ipselect:after {
		position: absolute;
		top: 0;
		right: 2.5em;
		bottom: 0;
		width: 1px;
		content: '';
		border-left: 1px solid #bbbbbb;
	}
	
	select {border:solid 1px #666; border-radius:5px; width:100%; padding: 10px; max-width: 600px;}
	.cp_ipselect select {
		padding: 8px 38px 8px 8px;
		color: #666666;
		max-width:100%;
	}
	
	.form-control, .file_field{margin-top: 7px;}
	
	input.btn {display: inline-block; padding: 1em 0em; text-decoration: none; background:#dfdfdf; border: solid 1px #d4d4d4; border-radius: 3px; width:8em; font-size:1.8rem; box-shadow: 1px 1px 1px 2px rgba(235 235 235); }
	input.btn-primary {box-shadow:1px 1px 1px 2px rgba(0,76,150,0.5); margin-right: 20px;}
	input.btn-primary {background: #004c96; color: #FFF; border:solid 1px #02386c;}
	input.btn:active {-webkit-transform: translateY(4px); transform: translateY(4px); box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2); border-bottom: none;}
	input.btn:hover {opacity:.7;}
	.text_box {margin-top: 2px!important;}

	#clearForm {margin-left: 20px; }
    input[type="button"] {margin-left: 20px;}
    
	#copyright {text-align:center; color: #ffffff; font-size:75%; margin-top: 5px;line-height: 2.1;}

	#page-top a {position: relative; display: block; width: 48px; height: 48px; color: #fff; margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; transition: all .2s;}
	#page-top a:after { position: absolute; right: 16px; top: 40%; display: block; content: ""; width: 16px; height: 16px; border-top: 3px solid #FFF; border-right: 3px solid #FFF; transform: rotate(-45deg); box-sizing: border-box;}
	#page-top {position: fixed; bottom: 10px; right: 10px; font-weight: bold; z-index: 5; text-align: center; background: #D3D3D3; opacity: 0.7;}

	footer {height:80px; position:relative;}
	footer:before {content:""; width:100%; height:80px; background:#002f7a; position: absolute; top:20px;  top:0; z-index:-1;  margin:0 -200%; padding:0 200%;}
	footer:after {content: ""; border-top: solid 4.5px #000; width:100%; height:80px; position: absolute; bottom: 0px;}
	.alert-danger {color:#c00; border:solid 2px #c00; padding:1em; background:#fdeef6; border-radius:5px;}
	td:nth-child(n+2) {text-align:center;}
	
	@media screen and (max-width: 1090px){
		.header_logo img {max-width:250px; height:auto;}
		.table-obj {white-space: nowrap;}
    }
	@media screen and (max-width: 767px){
		html {overflow: auto; font-size: 60%;}
		table { font-size: 80%;}
		.header_logo img {max-width:160px; height:auto; margin-left: 1em;}
		.header_logo2 img {padding-right: 1em;}
		input,textarea {max-width:100%;}
		.cp_ipselect {width:99%; max-width: 100%;}
		select {width:100%; max-width: 100%;}
		.breadcrumb {margin-left: 1em; margin-right: 1em;}
		.page-header {padding:0 1em;}
		input,textarea,select {font-size:16px;}
		h1 {font-size:2.5rem; padding: 0.5em 0.5em;}
		h2 {font-size: 2.1rem;}
		h3 {font-size:1.8rem;}
		.row {padding: 1em 1em;}
        .row2 {padding: 1em 1em;}
		label{font-size: 1.8rem;}
		.form-check-inline_last {width:100%;}
		input[type="radio"]{width: 16px; height: 16px;}
		input[type="checkbox"]{width: 16px; height: 16px;}
		input[id$="_last_item_text"] {max-width: 100%;}
		input.btn {width:30%;  padding: 0.9em 0em; font-size:1.8rem;}
		input.btn-primary { margin-right: 0px;}
		#clearForm {margin-left: 0px;}
		input[type="button"] {margin-left: 0px;}
		
		#page-top a {width: 36px; height: 36px;}
		#page-top a:after {top: 15px; right: 14px; width: 8px; height: 8px; border-top: 2px solid #FFF; border-right: 2px solid #FFF;}
	}