@charset "UTF-8";

/*---------------------------------------
tag
----------------------------------------*/
*{
	box-sizing: border-box;
}

h1 {
    padding: 0;
    color: #333;
    line-height: 1;
    background: none;
    border-bottom: none;
    margin: 0;
    font-size: 100%;
}

h2 {
    position: relative;
    height: auto;
    line-height: 1;
    padding: 0;
    color: #FFFFFF;
    background: none;
    margin: 0;
    font-size: 100%;
}

img{
	max-width: 100%;
}

table{
	max-width: 100%;
}

#header, #content_wrapper, #footer {
    width: 100%;
}

#header, #content_wrapper, #main_images, #footer {
    min-width: 0px;
}

/*---------------------------------------
layout
----------------------------------------*/
#content_wrapper {
    padding: 0;
}

#content_wrapper > *{
    max-width: 1200px;
}

#main_column {
    width: 72.5%;
    border-top: none;
    border-radius: 0;
    min-height: 320px;
}

#side_column {
    width: 25%;
    padding: 0;
}

@media screen and (min-width: 1024px) and (max-width: 1480px){

	#content_wrapper{
		width: 100%;
		margin-top: 0;
		padding-left: 4%;
		padding-right: 4%;
		box-sizing:border-box;
	}
}


@media screen and (min-width: 769px) and (max-width: 1023px){

	#content_wrapper{
		width: 100%;
		margin-top: 0;
		padding-left: 4%;
		padding-right: 4%;
		box-sizing:border-box;
	}
}

@media screen and (min-width: 481px) and (max-width: 768px){

	#content_wrapper{
		width: 100%;
		margin-top: 0;
		padding-left: 4%;
		padding-right: 4%;
		box-sizing:border-box;
	}

	#main_column {
	    width: 100%;
	}

	#side_column {
	    width: 100%;
	}

}

@media only screen and (max-width: 480px){


	#content_wrapper{
		width: 100%;
		margin-top: 0;
		padding-left: 4%;
		padding-right: 4%;
		box-sizing:border-box;
	}

	#main_column {
	    width: 100%;
	}

	#side_column {
	    width: 100%;
	}


}

/*---------------------------------------
topicpath
----------------------------------------*/
ul#topicpath {
    margin: 24px auto;
}


/*---------------------------------------
header
----------------------------------------*/
#header_wrapper {
    border-top: none;
}

#header {
    padding: 16px 0;
}

#header #site_lead {
    line-height: 1.6;
    font-size: 76%;
    padding-bottom: 0;
    margin-bottom: 12px;
}

@media screen and (min-width: 769px) and (max-width: 1023px){

	#header #site_lead {
		display: none;
	}

	#header h1, #header p#title,
	#home h1, p.title {
	    min-height: 0;
		line-height: 1;
		margin-left: 4%;
	}

	#header h1 img, #header p#title img,
	#home h1 img, p.title img {
	    width: auto;
	    max-width: 100%;
	    height: 52px;
	}


}

@media screen and (min-width: 481px) and (max-width: 768px){

	#header #site_lead {
		display: none;
	}

	#header h1, #header p#title,
	#home h1, p.title {
	    min-height: 0;
		line-height: 1;
		margin-left: 4%;
	}

	#header h1 img, #header p#title img,
	#home h1 img, p.title img {
	    width: auto;
	    max-width: 100%;
	    height: 44px;
	}

}

@media only screen and (max-width: 480px){

	#header #site_lead {
		display: none;
	}

	#header h1, #header p#title,
	#home h1, p.title {
	    min-height: 0;
		line-height: 1;
		margin-left: 4%;
	}

	#header h1 img, #header p#title img,
	#home h1 img, p.title img {
	    width: auto;
	    max-width: 100%;
	    height: 30px;
	}

}


/*---------------------------------------
nav
----------------------------------------*/
ul#main_nav {
    margin: 0;
}

ul#main_nav li {
    padding: 0;
}

ul#main_nav li a {
    display: block;
    line-height: 1em;
    padding: 16px 8px;
    background: none;
    color: #333;

}

ul#main_nav li.current a {
    background: none;
    color: #333;
}

ul#main_nav li a:hover {
    color: #333;
    text-decoration: none;
    background: none;
}

ul#sub_nav {
    position: absolute;
    display: block;
    width: auto;
    text-align: center;
    table-layout: unset;
	top: 0;
    right: 0;
	font-size: 88%;
}

ul#sub_nav li {
    display: inline-block;
    padding: 0;
    margin: 0 16px;
}

ul#sub_nav li:last-child{
    margin-right: 0;
}

ul#sub_nav li a {
    display: inline-block;
    line-height: inherit;
    padding: 0;
    color: #333;
    border-radius: 0;
    position: relative;
    background: none;
}

ul#sub_nav li.current a:hover,
ul#sub_nav li a:hover {
    color: #333;
    background: none;
}

ul#sub_nav li.current a {
    background: none;
}

#header #main_nav ul.nav_list li a.toggle{
	display: block;
}

#header #main_nav ul.nav_list li a.acbtn{
	display: none;
}



/* nav_header_bottom */
#header_wrapper.nav_header_bottom #navs_wrapper{
	background: #f4f4f4;
    margin: 24px 0 0;
}

#header_wrapper.nav_header_bottom h2#open_navs{
	display: none;
}

#header_wrapper.nav_header_bottom #navs {
    max-width: 1200px;
	width: 100%;
    margin: 0 auto;
	position: relative;
}

#header_wrapper.nav_header_bottom ul#sub_nav {
    top: -94px;
}

#header_wrapper.nav_header_bottom ul#main_nav li.current a,
#header_wrapper.nav_header_bottom ul#main_nav li a:hover {
    background: #999;
	color: #fff;
}



/* nav_logo_side */
#header_wrapper.nav_logo_side #header {
    padding: 16px 0 0;
}

#header_wrapper.nav_logo_side #header h1,
#header_wrapper.nav_logo_side #header p#title {
	display: inline-block;
	margin-bottom: 16px;
}

#header_wrapper.nav_logo_side #header_right {
    float: right;
    width: 48%;
}

#header_wrapper.nav_logo_side #navs_wrapper {
    margin-top: 24px;
}

#header_wrapper.nav_logo_side ul#main_nav li a {
    font-weight: bold;
}

#header_wrapper.nav_logo_side ul#main_nav li.current a,
#header_wrapper.nav_logo_side ul#main_nav li a:hover{
    background: #999;
	color: #fff;
}




@media screen and (min-width: 1024px) and (max-width: 1480px){

	#header_wrapper.nav_logo_side #header {
	    padding: 16px 0 0 2%;
	}
}


@media only screen and (max-width: 1023px){

	#header h1 {
	    padding: 0;
	}

	#header #main_nav_sp ul.nav_list li a.toggle{
		display: none;
	}

	#header #main_nav_sp ul.nav_list li a.acbtn{
		display: block;
	}

	#header_wrapper.nav_logo_side #navs_wrapper {
	    margin-top: 0;
	}

	#header_wrapper.nav_header_bottom h2#open_navs{
		display: block;
	}


}


/*---------------------------------------
bottom_banner
----------------------------------------*/

ul#bottom_banner {
    clear: both;
    padding: 0;
	padding-top: 24px;
    margin: 40px auto;
    width: 100%;
    line-height: 1;
    list-style-type: none;
	text-align: center;
    overflow: hidden;
}

ul#bottom_banner.col3 li {
    display: block;
	float: left;
    margin: 0 15px 24px;
    padding: 0;
    width: 380px;
}

ul#bottom_banner.col3 li:nth-child(3n+1){
	margin-left: 0;
}

ul#bottom_banner.col3 li:nth-child(3n){
	margin-right: 0;
}

ul#bottom_banner.col4 li {
    display: block;
	float: left;
    margin: 0 16px 24px;
    padding: 0;
    width: 276px;
}

ul#bottom_banner.col4 li:nth-child(4n+1){
	margin-left: 0;
}

ul#bottom_banner.col4 li:nth-child(4n){
	margin-right: 0;
}



@media screen and (min-width: 1024px) and (max-width: 1480px){

	ul#bottom_banner.col3 li {
	    display: inline-block;
	    float: none;
	    margin: 0 15px 24px;
	    padding: 0;
	    width: 380px;
	}

	ul#bottom_banner.col3 li:nth-child(3n+1){
		margin-left: 15px;
	}

	ul#bottom_banner.col3 li:nth-child(3n){
		margin-right: 15px;
	}
}

@media screen and (min-width: 769px) and (max-width: 1023px){

	ul#bottom_banner.col3 li {
	    display: inline-block;
	    float: none;
	    margin: 0 15px 24px;
	    padding: 0;
	    width: 380px;
	}

	ul#bottom_banner.col3 li:nth-child(3n+1){
		margin-left: 15px;
	}

	ul#bottom_banner.col3 li:nth-child(3n){
		margin-right: 15px;
	}
}


@media screen and (min-width: 481px) and (max-width: 768px){

	ul#bottom_banner.col3 li {
	    display: inline-block;
	    float: none;
	    margin: 0 15px 24px;
	    padding: 0;
	    width: 380px;
	}

	ul#bottom_banner.col3 li:nth-child(3n+1){
		margin-left: 15px;
	}

	ul#bottom_banner.col3 li:nth-child(3n){
		margin-right: 15px;
	}

}

@media only screen and (max-width: 480px){

	ul#bottom_banner {
	    padding: 24px 0 0;
	    margin: 24px auto;
	}

	ul#bottom_banner.col3 li {
	    display: block;
	    float: none;
	    margin: 0 auto 16px !important;
	    padding: 0;
	    width: 100%;
		max-width: 380px;
	}

}

/*---------------------------------------
go_to_top
----------------------------------------*/
.go_to_top {
    position: fixed;
    right: 40px;
    bottom: 40px;
    clear: both;
    text-align: left;
    padding: 0;
    z-index: 999999;
}

.go_to_top a {
    display: block;
    position: relative;
    color: #fff;
    background-color: #333;
    width: 56px;
    height: 56px;
    padding: 8px;
    border-radius: 48px;
    margin: 0;
    overflow: hidden;
    font-size: 1px;
    text-indent: -999px;
    z-index: 999;
}

.go_to_top a:before, .go_to_top a:after {
    width: 26%;
}

.go_to_top a:before, .go_to_top a:before{
    height: 4px;
    line-height: 4px;
}

.go_to_top a:before, .go_to_top a:after{
    height: 4px;
    line-height: 4px;
}

.go_to_top a:before {
	transform: translate(-16px , 26px) rotate(45deg);
}

.go_to_top a:after {
    transform: translate(16px , 26px) rotate(-45deg);
}



@media only screen and (max-width: 768px){

	#go_to_top {
	    position: fixed;
	    bottom: 16px;
	    right: 16px;
	    z-index: 10;
	    padding: 0;
	}

	.go_to_top a {
	    width: 32px;
	    height: 32px;
	}

	.go_to_top a:before {
	    transform: translate(-10px , 15px) rotate(45deg);
	}

	.go_to_top a:after {
	    transform: translate(10px , 15px) rotate(-45deg);
	}

}

/*---------------------------------------
footer
----------------------------------------*/
#footer_wrapper {
    border-top: none;
    background-color: #f4f4f4;
}

#footer_top_wrapper{
    background-color: #f4f4f4;
	padding: 12px 0;
}

body.hs #footer_top_wrapper{
    background-color: #eee;
}

#footer_top_wrapper > *{
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}

div#footer_nav{
}

div#footer_nav ul{
    text-align: center;
}

div#footer_nav ul li{
    display: inline-block;
    margin: 0 16px;
}

div#footer_nav ul li a{
	color: #333;
}

#footer_bottom_wrapper {
    background-color: #000;
	color: #fff;
	padding: 32px 0;
	overflow: hidden;
}

#footer_bottom_wrapper *{
	color: #fff;
}

#footer_bottom_wrapper > *{
	width: 1200px;
	margin: 0 auto;
}

#footer_bottom_wrapper > * > .left{
	float: left;
	width: 50%;
}

#footer_bottom_wrapper > * > .left .address{
    font-size: 88%;
    margin-top: 12px;
}

#footer_bottom_wrapper > * > .right{
	float: right;
	width: 50%;
	text-align: right;
}

a.site_name {
	display: block;
    font-size: 120%;
    font-weight: bold;
}

ul#footer_info_list {
	display: flex;
	justify-content: center;
	margin: 0 0 24px;
	font-size: 92%;
}

ul#footer_info_list li:not(:last-child) {
	margin-right: 2em;
}

ul#footer_info_list li:before {
    content: ">";
    margin-right: 4px;
    font-size: 80%;
    position: relative;
    top: -1px;
}

ul#footer_nav{
    font-size: 80%;
}

ul#footer_nav li{
    display: inline-block;
    margin: 0 16px;
}

ul#footer_nav li:first-child{
    margin-left: 0;
}

ul#footer_nav li:last-child{
    margin-right: 0;
}

#footer_copyright{
	margin-top: 24px;
    font-size: 80%;
}



@media screen and (min-width: 1024px) and (max-width: 1296px){

	div#footer_nav {
	    font-size: 80%;
	}

	#footer_top_wrapper {
	    padding: 12px 4%;
	}

	#footer_bottom_wrapper {
	    padding: 32px 4%;
	}

	#footer_bottom_wrapper > * {
	    width: 100%;
	}

	#footer_bottom_wrapper > * > .left {
	    width: 100%;
	}

	a.site_name {
	    font-size: 100%;
	}
}


@media screen and (min-width: 769px) and (max-width: 1023px){

	div#footer_nav {
	    font-size: 80%;
	}

	#footer_top_wrapper {
	    padding: 12px 4%;
	}

	#footer_bottom_wrapper {
	    padding: 32px 4%;
	}

	#footer_bottom_wrapper > * {
	    width: 100%;
	}

	#footer_bottom_wrapper > * > .left {
	    width: 100%;
	}

	a.site_name {
	    font-size: 100%;
	}
}


@media screen and (min-width: 481px) and (max-width: 768px){

	div#footer_nav {
	    font-size: 80%;
	}

	#footer_top_wrapper {
	    padding: 12px 4%;
	}

	#footer_bottom_wrapper {
	    padding: 32px 4%;
	}

	#footer_bottom_wrapper > * {
	    width: 100%;
	}

	#footer_bottom_wrapper > * > .left {
	    width: 100%;
	}

	a.site_name {
	    font-size: 100%;
	}

}


@media only screen and (max-width: 480px){

	div#footer_nav {
	    font-size: 80%;
	}

	#footer_top_wrapper {
	    padding: 12px 4%;
	}

	#footer_bottom_wrapper {
	    padding: 32px 4%;
	}

	#footer_bottom_wrapper > * {
	    width: 100%;
	}

	#footer_bottom_wrapper > * > .left {
	    width: 100%;
	}

	a.site_name {
	    font-size: 100%;
	}

}

/*---------------------------------------
side_column
----------------------------------------*/
#side_column h2 {
    padding: 0;
    color: #FFFFFF;
    line-height: 1.4em;
    background-color: #000;
    border-bottom: 1px solid #e6e6e6;
}

#side_column .menu li {
    border-bottom: 1px solid #e6e6e6;
}

#side_column .menu dd a,
#side_column .menu li a {
    display: block;
    background: #fff;
    line-height: 1.5em;
    padding: 16px;
    color: #333;
    position: relative;
}

#side_column .menu dd a:after,
#side_column .menu li a:after {
    position: absolute;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
    width: 6px;
    height: 6px;
    right: 16px;
    top: 1.4em;
    margin-top: 0;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

#side_column .menu dd a:hover,
#side_column .menu li a:hover{
	transition: all 300ms;
	background-color: #f4f4f4;
	color: #fff;
	text-decoration: none;
}

#side_column .menu li.current a,
#side_column .menu dd.current a {
    color: #fff;
    background-color: #999;
}

@media screen and (max-width: 768px){
	#side_column .menu{
		display: block;
	}
}

/*---------------------------------------
home
----------------------------------------*/
#home #content_wrapper {
    max-width: 100%;
}

#home #main_element {
    text-align: center;
    background: none !important;
    margin: 0 auto !important;
    position: relative;
}


#home ul#buttons_str {
    display: block;
    clear: both;
    width: 100%;
    list-style: none;
    overflow: hidden;
}

#home ul#buttons_str li {
    display: block;
    list-style: none;
	float: none;
    vertical-align: top;
	padding-bottom: 40px;
    text-align: center;
    height: auto;
}

#home a#list_of_news {
    position: absolute;
    display: block;
    line-height: 1;
    top: 0;
    width: auto;
    right: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: #333;
    font-size: 80%;
    text-align: right;
    background: none;
}


/* ex_bottom */
#home .ex.bottom ul#buttons_str li > *{
    display: block;
    position: relative;
}

#home .ex.bottom ul#buttons_str li a:hover{
	text-decoration: none;
}

#home .ex.bottom ul#buttons_str li .wrap {
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
	background: rgba(51, 51, 51, 0.6);
}

#home .ex.bottom ul#buttons_str li span.title {
    height: auto;
    background: none;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 24px;
    line-height: 1;
	font-size: 152%;
}

#home .ex.bottom ul#buttons_str li span.strings {
    background: none;
    color: #fff;
    height: auto;
    font-weight: normal;
    text-align: center;
    padding: 24px;
    padding-top: 0;
    font-size: 88%;
    line-height: 1.6;
}





/* home news ex */
#home #topicses.ex h2 {
	font-size: 144%;
	color: #333;
    font-weight: bold;
}

#home #topicses.ex ul {
	font-size: 100%;
	padding: 0;
	overflow: hidden;
    box-sizing: border-box;
}

#home #topicses.ex ul li{
	display: inline;
}

#home #topicses.ex ul li a{
    display: flex;
	width: 100%;
	padding: 12px 0px;
	font-size: 100%;
	overflow: hidden;
	position: relative;
	box-sizing: border-box;
}

#home #topicses.ex ul li a:hover{
	opacity: 0.8;
	text-decoration: none;
}
#home #topicses.ex ul li .date{
	float: none;
	vertical-align: middle;
	width: 7em;
    display: inline-block;
	color: #333;
}

#home #topicses.ex ul li a .title{
    display: block;
    width: 66%;
	color: #333;
}

#home #topicses.ex ul li a:hover .title{
	opacity: 0.8;
}

#home #topicses.ex ul li a .new{
    font-size: 72%;
	color: #da1e34;
	margin-left: 4px;
	white-space: nowrap;
}

#home #topicses.ex ul li img{
    position: relative;
    height: 1em;
    vertical-align: -2px;
	margin-left: 4px;
}

#home #topicses.ex ul li .pdf{
	position: static;
    top: 0;
    right: 0;
}

#home #topicses.ex ul li .cat{
    position: absolute;
    top: 12px;
    right: 0;
    background: #333;
    color: #fff;
    font-size: 76%;
    padding: 2px 4px;
    border-radius: 4px;
    letter-spacing: 0;
    min-width: 72px;
    text-align: center;
}




@media screen and (min-width: 1024px) and (max-width: 1296px){

	#home #content_wrapper {
	    padding: 0;
	}

	.buttons4.ex.bottom {
	    padding: 0 4%;
	}


	#home ul#bottom_banner {
	    padding: 24px 4% 0 4%;
	    margin: 24px auto;
	}

}


@media screen and (min-width: 769px) and (max-width: 1023px){

	#home #content_wrapper {
	    padding: 0;
	}

	.buttons4.ex.bottom {
	    padding: 0 4%;
	}

	#home ul#buttons_str li{
		padding-bottom: 16px !important;
	}

	#home #topicses.ex ul li a {
	    display: block;
	    width: 100%;
	    padding: 12px 0px;
	    font-size: 92%;
	}

	#home #topicses.ex ul li .date {
	    width: 100%;
	}

	#home #topicses.ex ul li a .title {
	    width: 100%;
	}



	#home ul#bottom_banner {
	    padding: 24px 4% 0 4%;
	    margin: 24px auto;
	}
}



@media screen and (min-width: 481px) and (max-width: 768px){

	#home #content_wrapper {
	    padding: 0;
	}

	.buttons4.ex.bottom {
	    padding: 0 4%;
	}

	#home ul#buttons_str li{
		padding-bottom: 16px !important;
	}

	#home #topicses.ex ul li a {
	    display: block;
	    width: 100%;
	    padding: 12px 0px;
	    font-size: 92%;
	}

	#home #topicses.ex ul li .date {
	    width: 100%;
	}

	#home #topicses.ex ul li a .title {
	    width: 100%;
	}



	#home ul#bottom_banner {
	    padding: 24px 4% 0 4%;
	    margin: 24px auto;
	}
}


@media only screen and (max-width: 480px){

	#home #content_wrapper {
	    padding: 0;
	}

	.buttons4.ex.bottom {
	    padding: 0 4%;
	}

	#home ul#buttons_str li{
		padding-bottom: 16px !important;
	}

	#home #topicses.ex ul li a {
	    display: block;
	    width: 100%;
	    padding: 12px 0px;
	    font-size: 92%;
	}

	#home #topicses.ex ul li .date {
	    width: 100%;
	}

	#home #topicses.ex ul li a .title {
	    width: 100%;
	}



	#home ul#bottom_banner {
	    padding: 24px 4% 0 4%;
	    margin: 24px auto;
	}


}

/*---------------------------------------
slick
----------------------------------------*/
#home #main_element.slick #main_images{
    padding: 0;
    margin: 0;
    max-width: 100%;
}

.slick-slide img {
    display: block;
    width: 100%;
}

.slick-prev, .slick-next {
    top: calc(50% - 28px);
}

.slick-prev{
    left: 25px !important;
	z-index: 2 !important;
}

.slick-next{
    right: 25px !important;
	z-index: 2 !important;
}

.slick-next:before {
    content: url(../common/slick_r.png) !important;
}

.slick-prev:before {
    content: url(../common/slick_l.png) !important;
}

.slick-dots {
    bottom: 36px !important;
}

.slick-dots li.slick-active button:before {
    opacity: 1 !important;
}

.slick-dots li button:before {
    opacity: 1 !important;
}

#home #main_element.slick.background #main_images .main_image{
	background-size: cover;
}

#home #main_element.slick.background #main_images .main_image .cont{
	display: flex;
    align-items: center;
    justify-content: center;
	width: 1200px;
	height: 698px;
	margin: 0 auto;
    font-size: 320%;
    color: #fff;
    font-weight: bold;
}

@media screen and (min-width: 769px) and (max-width: 1023px){
	.slick-prev, .slick-next {
	    top: calc(50% - 24px) !important;
	}

	.slick-dots {
	    bottom: -20px !important;
	}
}

@media screen and (min-width: 481px) and (max-width: 768px){
	.slick-dots {
	    bottom: -20px !important;
	}
}

@media only screen and (max-width: 480px){
	.slick-dots {
	    bottom: -20px !important;
	}
}


/*---------------------------------------
main_column
----------------------------------------*/
#main_column h1 {
    color: #333;
    font-weight: bold;
    font-size: 176%;
	margin: 0 0 32px;
}

#main_column h2{
	position: relative;
    height: auto;
    line-height: 1.5;
    color: #333;
    font-size: 144%;
    font-weight: bold;
    padding: 12px 0;
    margin-bottom: 8px;
}

#main_column h3 {
    position: relative;
    font-size: 136%;
    padding: 8px 0;
    margin-bottom: 1em;
    color: #333;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 480px){

}


/*---------------------------------------
space_on_main_image
----------------------------------------*/
#space_on_main_image{
    max-width: 100%;
    margin: 0 auto;
    position: absolute;
    top: calc(50% - 217px);
    left: calc(50% + 600px);
}

#space_on_main_image .wrap{
	background: #fff;
	width: 300px;
	position: absolute;
    right: 0;
	text-align: center;
}

#space_on_main_image .header{
    margin-bottom: 16px;
    padding: 8px 0 24px;
    background-image: url(../images/home/icon_letter.png), url(../images/home/letter_back.png);
    background-repeat: no-repeat, no-repeat;
    background-position: 48px 10px, top center;
    color: #fff;
    font-weight: bold;
	font-size: 112%;
}

#space_on_main_image .header:after{
	content: url(../images/home/charactor.png);
	position: absolute;
    top: 5px;
    right: 20px;
}

#space_on_main_image .link {
    margin: 8px 0;
}

#space_on_main_image .link a{
    font-size: 72%;
    color: #333;
}

#space_on_main_image .link a:after{
	content: ">";
	margin-left: 4px;
}




@media screen and (min-width: 1921px){

	#space_on_main_image {
	    left: calc(50% + 30%);
	}
}

@media screen and (min-width: 1024px) and (max-width: 1296px){

	#space_on_main_image {
	    top: calc(50% - 43%);
	    left: calc(50% + 46%);
	}
}

@media screen and (min-width: 769px) and (max-width: 1023px){

	#space_on_main_image {
	    position: static;
		margin: 40px auto;
	}

	#space_on_main_image .wrap {
	    position: static;
		margin: 0 auto;
		box-shadow: 0 0 1px #333;
	}

	#space_on_main_image .header {
	    position: relative;
	}

}

@media screen and (min-width: 481px) and (max-width: 768px){

	#space_on_main_image {
	    position: static;
		margin: 40px auto;
	}

	#space_on_main_image .wrap {
	    position: static;
		margin: 0 auto;
		box-shadow: 0 0 1px #333;
	}

	#space_on_main_image .header {
	    position: relative;
	}

}


@media only screen and (max-width: 480px){

	#space_on_main_image {
	    position: static;
		margin: 16px auto;
	}

	#space_on_main_image .wrap {
	    position: static;
		margin: 0 auto;
		box-shadow: 0 0 1px #333;
	}

	#space_on_main_image .header {
	    position: relative;
	}


}

/*---------------------------------------
side_banner
----------------------------------------*/
ul#side_banner{
    margin: 0;
    padding: 0;
    width: 100%;
	text-align: center;
}

ul#side_banner li{
    line-height: 1;
	margin: 16px 0 0;
    padding: 0;
    width: 100%;
	max-width: 380px;
}

ul#side_banner li:first-child{
    line-height: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}


/*---------------------------------------
page
----------------------------------------*/
#page #page_header_img {
    background: #f4f4f4;
    height: 220px;
    margin-top: 0;
}

#page #page_header_img p {
    font-weight: bold;
}

.news_date, h2, #page_lead, .paragraph_lead {
    margin-left: 0;
    margin-right: 0;
}

#page #internal_link {
    padding: 24px;
    padding-left: 48px;
    background-color: #f4f4f4;
}

#internal_link, .paragraph {
    margin-left: 0;
    margin-right: 0;
}

#page .detail_text {
    margin-left: 0;
    margin-right: 0;
}

#page div.etc_box {
    margin: 0 0 32px;
    padding: 24px;
}

#page div.etc_box p.etc_title {
    padding: 8px 24px 0 0;
}

#page div.etc_box > p:first-child{
    padding: 0 24px 0 0;
}

#page div.etc_box p.etc_title a{
    text-decoration: underline;
    padding-left: 16px;
    background: none;
    background-size: unset;
    position: relative;
}

#page div.etc_box p.etc_title a:before {
	position: absolute;
    border-right: 2px solid #999;
    border-top: 2px solid #999;
    content: "";
    width: 6px;
    height: 6px;
    left: 0;
    top: 8px;
    margin-top: -1px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

@media screen and (min-width: 481px) and (max-width: 768px){

	#page #page_header_img {
	    height: 120px;
	}

	#page #page_header_img p {
	    font-size: 144%;
	    line-height: 120px;
	}

	#main_column h1 {
	    font-size: 144%;
	}

	#main_column h2 {
	    font-size: 112%;
	}

	#main_column h3 {
	    font-size: 104%;
	    line-height: 1.4;
	}
}



@media only screen and (max-width: 480px){

	#page #page_header_img {
	    height: 80px;
	}

	#page #page_header_img p {
	    font-size: 120%;
	    line-height: 80px;
	}

	#main_column h1 {
	    font-size: 120%;
	}

	#main_column h2 {
	    font-size: 108%;
	}

	#main_column h3 {
	    font-size: 100%;
	    line-height: 1.4;
	}


}

/*---------------------------------------
news
----------------------------------------*/
#page p.news_date {
    margin-top: 0;
    margin-bottom: 24px;
    line-height: 1;
    border-bottom: none;
}

#page #topicsTray {
    margin: 0;
}

#page dl.topics {
    width: 100%;
    color: #333;
    max-width: 800px;
    margin: 0 auto;
}

#page dl.topics dt,
#page dl.topics dd {
    line-height: 1.6;
    padding: 24px 0;
}

#page dl.topics dt {
    margin: 0;
    text-indent: 0;
    width: 11em;
}

#page dl.topics dd {
    padding-left: 11em;
    margin-left: 0;
    margin-top: -73px;
    margin-bottom: 0;
    border-bottom: 1px dotted #999999;
}

#page dl.topics dd a:hover{
	text-decoration: underline;
}

#page dl.topics dd img {
    margin-left: 8px;
    line-height: 1;
    width: auto;
	height: 1em;
    position: relative;
    top: -3px;
}

#page #page_nav {
    margin: 2em auto;
    text-align: center;
    font-size: 88%;
}




/* ex */
#page #topicsTray.ex{
	margin: 24px 0 0;
}

#page #topicsTray.ex ul.topics {
	width: 100%;
	font-size: 100%;
    padding: 0px;
	overflow: hidden;
    box-sizing: border-box;
}

#page #topicsTray.ex ul.topics li{
	display: inline;
}

#page #topicsTray.ex ul.topics li a{
	display: flex;
    width: 100%;
    padding: 12px 0px;
    border-bottom: 1px dotted #ccc;
    overflow: hidden;
	position: relative;
    box-sizing: border-box;
}

#page #topicsTray.ex ul.topics li a:hover{
	opacity: 0.8;
	text-decoration: none;
}

#page #topicsTray.ex ul.topics li:last-child{
	border-bottom: none;
}

#page #topicsTray.ex ul.topics li .date{
	float: none;
    vertical-align: middle;
    width: 9em;
    display: inline-block;
    color: #333;
}

#page #topicsTray.ex ul.topics li a .title{
    display: block;
    width: 68%;
	color: #333;
}

#page #topicsTray.ex ul.topics li a:hover .title{
    font-weight: normal;
	opacity: 0.8;
}

#page #topicsTray.ex ul.topics li a .new{
    font-size: 72%;
	color: #da1e34;
	margin-left: 4px;
	white-space: nowrap;
}

#page #topicsTray.ex ul.topics li img{
    position: relative;
	height: 1em;
	vertical-align: -2px;
	margin-left: 4px;
}

#page #topicsTray.ex ul.topics li .pdf{
    position: static;
}

#page #topicsTray.ex ul.topics li .cat{
    position: absolute;
    top: 12px;
    right: 0;
    background: #333;
    color: #fff;
    font-size: 76%;
    padding: 2px 4px;
    border-radius: 4px;
    min-width: 72px;
    text-align: center;
}




.status_wrap.ex{
	text-align: right;
	margin: 0 0 24px;
}

#page .status_wrap.ex p.news_date{
    display: inline-block;
}

#page .status_wrap.ex p.news_date span{
    display: inline-block;
    margin: 0 0.8em 0 0;
    font-size: 80%;
	padding: 5px;
    min-width: 3em;
    line-height: 1;
    font-weight: bold;
    color: #D82D2D;
    text-align: center;
    background: none;
}

#page .status_wrap.ex p.news_date span.new{
    padding: 2px;
    min-width: 3em;
	margin-right: 8px;
}

#page .status_wrap.ex .cat{
    display: inline-block;
    margin-right: 8px;
    position: relative;
    top: -2px;
    right: 0;
    background: #333;
    color: #fff;
    font-size: 80%;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 2px;
    min-width: 72px;
    text-align: center;
}




@media only screen and (max-width: 480px){

	#page dl.topics dt {
	    display: block;
	    margin: 0;
	    text-indent: 0;
	    width: 100%;
		padding: 16px 0 0;
	}

	#page dl.topics dd {
	    padding-left: 0;
	    margin-left: 0;
	    margin-top: 0;
	    margin-bottom: 0;
	    border-bottom: 1px dotted #999999;
	    padding: 8px 0 16px;
	}

	#page #topicsTray.ex ul.topics li a {
	    display: block;
	    width: 100%;
	}

	#page #topicsTray.ex ul.topics li .date {
	    width: 100%;
	}

	#page #topicsTray.ex ul.topics li a .title {
	    width: 100%;
	}

	#page #internal_link {
	    padding: 16px 4%;
	    padding-left: 32px;
	}

	#page div.etc_box {
	    padding: 16px;
	}


}




/*---------------------------------------
inquiry
----------------------------------------*/

#inquiry table#smart_mail {
    margin: 16px auto 0;
    width: 100%;
    max-width: 800px;
}

#inquiry #smart_mail_required {
    margin: 0 auto;
    max-width: 800px;
}

#inquiry table#smart_mail th {
    border: 1px solid #CCCCCC;
    padding: 16px;
    font-weight: bold;
    background: #f4f4f4;
}

#inquiry table#smart_mail th span {
    margin-left: 8px;
    position: relative;
    top: 2px;
}

#inquiry table#smart_mail td {
    border: 1px solid #CCCCCC;
    padding: 8px;
}

#inquiry table#smart_mail td .input_small_box,
#inquiry table#smart_mail td .input_middle_box,
#inquiry table#smart_mail td .input_box {
	font-size: 100%;
}

#inquiry table#smart_mail td .input_small_box {
	width: 40%;
	min-width: 50px;
    max-width: 100%;
}

#inquiry table#smart_mail td .input_middle_box {
    width: 100%;
    min-width: 180px;
    max-width: 400px;
    padding: 8px;
    box-sizing: border-box;
}

#inquiry table#smart_mail td .input_box {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
}

#inquiry table#smart_mail td p {
	font-size: 80%;
}

#inquiry form p.inquiry-sbtn input {
    margin: 0 auto;
    padding: 12px 16px;
    min-width: 240px;
    border-radius: 24px;
    background: #144580;
    border: none;
    color: #fff;
    font-size: 120%;
    font-weight: bold;
    cursor: pointer;
}

#inquiry form p.inquiry-sbtn input:hover{
	opacity: 0.8;
}

p.smart_mail_lead {
    font-weight: bold;
    background-color: #e01e15;
    padding: 8px;
    color: #fff;
}

#inquiry ul.error {
    margin: 32px 0;
}

#inquiry ul.error li{
    margin-left: 32px;
    color: #FF0B00;
    font-weight: bold;
}


/*---------------------------------------
sitemap
----------------------------------------*/
#page #sitemap ul li a {
    color: #333;
}

#page #sitemap ul li {
    background: none;
    padding: 4px 0 4px 1em;
    margin: 0 0 16px;
    border-bottom: none;
    position: relative;
}






/*=========================================================================================
responsive navi
=========================================================================================*/
@media only screen and (max-width: 1023px){

			#header_wrapper{
				padding: 0;
				box-sizing: border-box;
			}

			#header h1 + #group, #header p#title + #group{
				display: none;
			}

			#header #header_top_right{
				display: none;
			}

			#header_contact{
				display: none;
			}

			ul#main_nav li a:before,
			ul#main_nav li a:after{
				display: none;
			}



			ul#main_nav li:nth-child(1) a span{
				display: block;
			}

			/* ul#main_nav li a:hover:after,
			ul#main_nav li.current a:after{
				display: none;
			} */

			#main_column {
				overflow: hidden;
			}

			#main_wrapper{
				width: 100%;
				padding: 0 4%;
				margin-top: 0;
				box-sizing:border-box;
			}


			ul#topicpath{
				padding: 0;
			}


			#nav_home{
				display: block;
			}



			/* 開閉ナビ　ここから */
			#open_navs{
				display: block;
				width: 40px;
				height: 40px;
				padding: 0px;
				background: none;
				overflow: hidden;
				color: #fff;
				position: absolute;
				top: 12px;
				right: 4%;
				z-index: 40;
			}

			#open_navs a{
				display: block;
				width: 40px;
				height: 40px;
				z-index: 41;
				padding: 8px;
			}

			#open_navs a span{
				display:none;
			}

			#open_navs a:before{
				display: block;
				content: "";
				width: 24px;
				height: 28px;
				margin: 0;

				/* 反転 */
				background: -moz-linear-gradient   (top, #fff, #fff 50%, #333 50%, #333);
				background: -webkit-linear-gradient(top, #fff, #fff 50%, #333 50%, #333);
				background: linear-gradient        (top, #fff, #fff 50%, #333 50%, #333);


				background: -moz-linear-gradient   (top, #333, #333 50%, #fff 50%, #fff);
				background: -webkit-linear-gradient(top, #333, #333 50%, #fff 50%, #fff);
				background: linear-gradient        (top, #333, #333 50%, #fff 50%, #fff);

				background-size: 20px 10px;
			}

			#open_navs.close_icon a:before{
				display: none;
			}

			#open_navs a:hover{
				text-decoration: none;
			}

			#header h2#open_navs {
				margin: 0;
				display: block;
			}

			#navs{
				right: 0;
				position: absolute;
				width: 100%;
				padding: 0;
				z-index: 1500;
				background-color: #000;
			}

			#navs > *:first-child{
				padding-top: 0px;
			}



			#header #navs_wrapper_a.opened_menu {
			    display: block;
			    width: 100%;
			    height: 100%;
			}

			#header .opened_menu{
				transition: all 500ms;
				padding-bottom: 0;
				max-width: 5000px;
				z-index: 101;
			}



			#navs_wrapper.close_disp{
				display: block;
				width: 100%;
			    height: 100%;
				margin: 0;
				background-color: #000;
				z-index: 50;
			    position: fixed;
			    top: 0;
			    right: 0;
			}

			#navs_wrapper{
				display: none;
			}

			#header #language_select{
				display: none;
			}

			ul#main_ex_nav{
				display: none;
			}



			#open_navs.open_disp{
				display: block !important;
			}

			#open_navs.close_disp{
				display: none !important;
			}

			ul#main_nav{
				margin: 0;
				float: none;
				padding: 0;
				padding-top: 64px;
			}

			ul#fcontents_nav{
				display: block;
			}

			ul#main_nav,
			ul#sub_nav,
			ul#fcontents_nav,
			#navs ul{
				display: block;
				text-align: center;
				position: static;
				width: 100%;
				margin: 0;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp .nav_list {
				position: static;
				box-shadow: none;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item .nav_list li {
				border-top: none;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item.op .nav_list li {
				border-top: #fff solid 1px;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item .nav_list a {
				padding: 0 0.5rem 0 3.5rem;
				max-height: 0;
				transition: all 100ms;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item.op .nav_list a {
				padding: 0.5rem 0.5rem 0.5rem 3.5rem;
				max-height: initial;
				height: auto;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item .nav_list a::before {
				content: "";
				display: block;
				position: absolute;
				border-right: 1px solid #fff;
				border-top: 1px solid #fff;
				width: 5px;
				height: 5px;
				left: 2.5rem;
				top: 4px;
				margin-top: 0;
				transform: rotate(45deg);
				-webkit-transform: rotate(45deg);
				transition: .1s;
				opacity: 0.3;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp li.main_nav_item.op .nav_list a::before {
				top: 14px;
				opacity: 1;
			}


			.header_side_menu{
				padding-top: 0em;
			}

			.header_side_menu{
				display: block;
			}

			.header_side_menu h2 a,
			.header_side_menu h2 span{
				color: #fff !important;
			}

			#navs .header_side_menu ul{
				margin:0;
			}

			ul#main_nav_sp li,
			ul#sub_nav li,
			ul#fcontents_nav li,
			#navs ul li {
				display: block;
				padding: 0;
			    margin: 0;
				width: 100%;
				position: static;
				border-top: 1px solid #ffffff;
				text-align: left;
				overflow: hidden;
			}

			ul#main_nav_sp li:first-child{
				border-top: 1px solid #fff;
			}

			ul#main_nav_sp li a,
			ul#sub_nav li a,
			ul#fcontents_nav li a,
			#header_side_menu ul li a,
			#navs ul li a {
				width: 100%;
				display: block;
				line-height: 1.6;
				padding: 16px 4%;
				margin: 0;
				font-size: 88%;
				color:#fff !important;
				position: static;
				font-weight:bold !important;
				box-sizing: border-box;
				font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
			}

			ul#main_nav_sp li a .en{
				display: none;
			}

			ul#main_nav_sp li a{
				border-right: none;
			}

			ul#main_nav_sp li:first-child a{
				border-left: none;
			}

			ul#main_nav_sp li:nth-child(1) a:before{
				display: none;
			}

			#header_wrapper.nav_logo_side #navs ul#main_nav_sp > li.current a {
				background-color: #254794;
			}


			ul#main_nav_sp > li a.link,
			ul#sub_nav > li a {
				padding-right: 7%;
			}

			#header_wrapper #navs ul#main_nav_sp > li a.link::after,
			#header_wrapper #navs ul#sub_nav > li a::after {
				content: "";
		    display: block;
		    position: absolute;
		    border-right: 2px solid #fff;
		    border-top: 2px solid #fff;
		    width: 8px;
		    height: 8px;
		    right: 1.5rem;
		    top: 21px;
		    margin-top: 0;
		    transform: rotate(45deg);
		    -webkit-transform: rotate(45deg);
			}

			#header_wrapper #navs ul#main_nav_sp > li a.link::after,
			#header_wrapper #navs ul#main_nav_sp > li.current a.link::after,
			#header_wrapper #navs ul#sub_nav > li a:hover::after {
				background: none;
				bottom: auto;
				left: auto;
			}

			#header_wrapper #navs ul#main_nav_sp > li a.trigger::before {
				content: ''; /* plus icon */
				display: inline-block;
				width: 15px;
				height: 15px;
				border-top: 2px solid #fff;
				position: absolute;
				top: 19px;
				right: 27px;
				transform: rotate(90deg);
				transition: all 150ms;
			}

			#header_wrapper #navs ul#main_nav_sp > li.op a.trigger::before {
				transform: rotate(180deg);
				top: 10px;
				right: 20px;
			}

			#header_wrapper #navs ul#main_nav_sp > li a.trigger::after {
				content: ''; /* minus icon */
				display: inline-block;
				width: 15px;
				height: 15px;
				border-top: 2px solid #fff;
				transform: translateX(-50%);
				position: absolute;
				top: 26px;
				right: 12px;
				transition: all 150ms;
				opacity: 1;
				bottom: initial;
				left: initial;
				background: none;
			}

			#header_wrapper #navs ul#main_nav_sp > li.op a.trigger::after {
				top: 24px;
				right: 33px;
				transform: rotate(90deg);
				opacity: 0;
			}

			#navs h2 a{
				color: #fff;
				display: block;
			}

			#navs h2 a:hover{
				text-decoration: none;
			}

			.header_side_menu ul{
				overflow: hidden;
			}

			.header_side_menu ul.current{
				max-height: 5000px;
			}

			.header_side_menu h2{
				display: block;
				width: 100%;
				padding: 8px 0;
				font-size: 88% !important;
				margin: 0;
				background-color: #333;
			    border-top: 1px solid #ffffff;
			}

			.header_side_menu h2 a{
				display: block;
				padding: 0 4%;
			}

			#header_sub_menu_add{
				display: block;
			}

			ul#sub_nav{
				padding-left: 0;
			    padding-right: 0;
				font-size: 100%;
			    right: 4%;
   				border-bottom: 1px solid #ffffff;
			}

			ul#sub_nav li:before{
				display: none;
			}

			ul#sub_nav li a{
				height: auto;
				min-width: auto;
				margin: 0;
				position: relative;
			}

			ul#sub_nav li a:before{
				display: none;
			}

			#side_column .menu ul a{
				padding: 12px 16px 12px 16px;
			}

			#bottom_buttons{
				bottom: 0;
				right: 0;
				z-index: 1100;
				height: 24px;
			}

			.opened_bottombuttons{
				right: 400px;
			}

			#open_navs_b {
				display: none;
				position: absolute;
				top: 16px;
				right: 12px;
				z-index: 11000;
			}

			#open_navs_b.opened_icon {
				display: none !important;
				background: none;
				border: none;
			}

			#open_navs_b.opened_icon a{
				width: 40px;
				height: 40px;
				background: none;
				position:relative;
			}


			#header #navs_wrapper_p a{
				position: absolute !important;
				top: 12px;
				right: 4%;
			}

			#navs_wrapper_a{
				position: absolute;
				display: block;
				height: auto !important;
				right: 4%;
				top: 12px;
				height: 40px !important;
				width: 40px !important;
				z-index: 99999 !important;
			}

			#open_navs_b.opened_icon:before,/* メニュー×ボタン */
			#open_navs_b.opened_icon:after,
			#navs_wrapper_a:before,
			#navs_wrapper_a:after{
				display: block;
				content: "";
				position: absolute;
				top: 50%;
				left: 0;
				width: 24px;
				height: 4px;
				background: #fff;
				margin-top: -2px;
				margin-left: 8px;
				z-index: 9999999;
			}

			#open_navs_b.opened_icon:before,
			#navs_wrapper_a:before{
				transform: rotate(-45deg);
				-webkit-transform: rotate(-45deg);
			}

			#open_navs_b.opened_icon:after,
			#navs_wrapper_a:after{
				transform: rotate(-135deg);
				-webkit-transform: rotate(-135deg);
			}

			/* 開閉ナビ　ここまで */


			/* 表示しないメニュー */
			ul#fcontents_nav{
				display: none;
			}

			#footer_wrapper_top #footer_top {
			    width: 100%;
			    padding: 16px 4%;
			    overflow: hidden;
			    display: block;
			    box-sizing: border-box;
			}

			#footer_wrapper_top #footer_top #footer_top_left {
 				float: none;
			}

			#footer_wrapper_top #footer_top #footer_top_right {
 				float: none;
				clear: both;
			}

			ul#main_nav_footer li {
			    display: inline;
			    margin-left: 0;
			    margin-right: 1em;
			}

			#footer {
			    padding: 0 4%;
			    text-align: center;
				margin: 0;
				box-sizing: border-box;
			}

			#footer_wrapper p{
				padding-right: 4%;
				padding-left: 4%;
			}

			#footer_wrapper_bottom {
			    padding: 8px 4%;
			}

			#footer_wrapper_bottom #footer_bottom {
			    width: 100%;
			    margin: 0 auto;
			}

			#footer_wrapper_bottom #footer_bottom #footer_bottom_left {
			    float: none;
				text-align: center;
			}

			#footer ul#footer_nav {
			    width: 100%;
			    float: none;
			    margin: 0px auto;
			}

			#footer_wrapper_bottom #footer_bottom #footer_bottom_right {
			    float: none;
				text-align: center;
			}

			#footer ul#footer_nav li a:before,
			#footer ul#footer_nav li a:before{
				left: -12px;
			}

			#footer #footer_copyright {
			    float: none;
			}

			#navs.close_disp {
			    width: 100%;
			    max-width: 100%;
			}

			#navs h2#navs_head {
			    display: none;
			}


}
