@charset "utf-8";
html {
	height: 100%;
	font-size: 62.5%;
}
body { 
	margin: 0; 
	padding: 0; 
	/*font-size: 93.75%;*/
	font-size: 1.6rem;
	font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", Yu Gothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; 
	-webkit-text-size-adjust: 100%;
	line-height: 1.7em; 
	color: #000; 
	height: 100%; 
	position: relative; 
	letter-spacing: 0.1em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
header,main,article,section,nav,footer { 
	display: block;
}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin: 0; 
	padding: 0; 
	font-size: 100%;
}
input, button {
	font-family: 'Open Sans' ,'Noto Sans JP', sans-serif, "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック"; line-height: 1.7em; 
	color: #000; 
	position: relative; 
	letter-spacing: 0.1em;
	overflow-wrap: break-word;
	word-wrap: break-word;
	border: 1px solid #ccc;
    padding: 10px 15px;
}
table {	
	border-collapse: collapse; 
	border-spacing: 0;
}
fieldset,img { 
	border: 0;
}
address,caption,cite,code,dfn,th,var { 
	font-style: normal; 
	font-weight: normal;
}
em { 
	font-style: normal; 
	font-weight: 500;
}
ol,ul { 
	list-style: none;
}
caption{ 
	text-align: left;
}
h1,h2,h3,h4,h5,h6 { 
	font-size: 100%; 
	font-weight: normal;
}
q:before,q:after { 
	content:'';
}
abbr,acronym { 
	border:0;
}

::-webkit-input-placeholder { color: #ccc;}
::-moz-placeholder { color: #ccc; opacity: 1;}
:-ms-input-placeholder { color: #ccc;}
input:focus::-webkit-input-placeholder { color:transparent;}
input:focus:-moz-placeholder { color:transparent;}
input:focus::-moz-placeholder { color:transparent;}

/*-------------------------------------------------------------
	Page related
-------------------------------------------------------------*/
#wrapper {
	position: relative;
	overflow: hidden;
}
#nojs {
	width: 940px;
	background: #fff;
	color: #f00;
	padding: 25px;
	border: 5px solid #F00;
	text-align: center;
	margin: 20px auto;
}
::selection {
    background:#a2a8b7;
    color:#fff;
}
::-moz-selection { 
    background:#a2a8b7;
    color:#fff;
}
::-webkit-selection {
    background:#a2a8b7;
    color:#fff;
}
.sp_size {
	display:none !important;
}

#header_wrap:after {
	content: "";
	clear: both;
	display: block;
}
#header_wrap {
	width: 100%; z-index:100;
}
#header_wrap.smallhead{
	background:#fff;
	
}
#header_wrap.smallhead #logo .logo_scroll{
		display:none;
	}
#header_wrap .logo_scroll02{
		display:none;
}
#header_wrap.smallhead .logo_scroll02{
		display:block;
}
#header_wrap.index_header {
	position:fixed; 
	top:0; 
	left:0; 
	width:100%; 
	z-index:1000;
	transition: background-color 0.3s;
}
#header_area{
	margin: auto;
	padding:0 3% 0 5.5%; 
}
#logo {
	float:left;
	display: flex;
	align-items: center;
	position: absolute;
	padding:22.5px;
	background:#103552;
	/*top: 38px;
	left:2%;*/
}
/*#logo .logo_txt{
	color:#fff;
	margin-left: 20px;
}*/
#logo a,#logo img{
	display: block; 
	width: 100%;
	height: auto;
	max-width: 105px;
}
/*
#toggle { 
	display: none;
}
*/
#toggle{
	display:block;
	height:50px;
	top:0;
	right:0;
	z-index:9000;
	position: absolute;
    top: 0;
    right: 0;
}
#toggle a{
	display:block;
	background:none;
	color:#E50012;
	width:50px;
	height:50px;
	box-sizing:border-box;
	position:relative;
}
#toggle a span, #toggle a::before , #toggle a::after{
	content:"";
	font-size:0;
	position:absolute;
	display:block;
	background:#0f3552;
	width:25px;
	height:2px;
	margin:auto;
	left:0;
	right:0;
	transition:all 0.3s;
}
#toggle a::before{top:15px;}
#toggle a span{top:22px;}
#toggle a::after{top:29px;}

#toggle a.open{color:#fff;}
#toggle a.open span{opacity:1;}

#toggle a.open span{opacity:0;}
#toggle a.open:before{
	-moz-transform:translate(0, 12px) rotate(45deg);
	-webkit-transform:translate(0, 12px) rotate(45deg);
	transform:translate(0, 12px) rotate(45deg);
	top:12px;
	left:0;
}
#toggle a.open:after{
	-moz-transform:translate(0, -12px) rotate(-45deg);
	-webkit-transform:translate(0, -12px) rotate(-45deg);
	transform:translate(0, -12px) rotate(-45deg);
	top:36px;
	left:0;
}
#toggle a em::after {
    content: 'MENU';
}
#toggle a.open em::after {
    content: 'CLOSE';
}
#toggle a em {
    display: block;
    position: absolute;
    font-size: 1.2rem;
    font-style: normal;
	font-weight:700;
    left: -37px;
    width: 100%;
	bottom: 13px;
    color: #0f3552;
    text-align: center;
	letter-spacing: 0;
}

.mbox {	
	display: none; 
	z-index: 10000;
}
.mbox_open { 
	display: block;
}
#menu {
	float:right;
}
#menu nav>ul {
	overflow:visible;
	display: flex;
	align-items: center;
}
#menu nav>ul>li{
	float:left; 
	margin-left:80px; 
	position:relative;
}
#menu nav>ul>li:first-child:before,#menu .nav_btn:before{
	content:none;
}
#menu nav>ul>li:before{
	/*position:absolute;
	content:"";
	background:#fff;
	width:2px;
	height:15px;
	left: -25px;
    top: calc(50% - 8px);
    transform: rotate(25deg);*/
}
#menu nav>ul>li.gn_lang {
	margin-right: 10px;
}
#menu nav>ul>li>a {
	display:block; 
	font-weight: 700;
	color:#0f3552; 
	text-decoration:none; 
	position:relative; 
	padding-bottom: 25px;
	margin:28px auto 0 auto;
	transition:all 0.3s;
}
#menu nav>ul>li>a:before{
    content: "";
    display: block;
    height: 5px;
    left: 0;
	bottom:0;
    position: absolute;
    transition: all 0.3s ease 0s;
    width: 0;
    z-index: 10;
}
#menu nav>ul>li>a:hover:before, #menu nav>ul>li>a.current::before {
	width: 100%;
    background: #cc9900;
}

.menu_link.parent_btn{
/*
	padding-right:20px;
*/
}
.menu_link.parent_btn span:after{
	content:"＋";
/*
	position:absolute;
	right:0;
*/
}
#menu nav>ul>li.gn_lang>a {
	padding-right: 15px;
	background: url(img/arrow_b_white.svg) no-repeat right center / 10px 6px;
}
#menu nav>ul>li>a:hover::after,#menu nav>ul>li.on>a::after{
	/*background:#32548f;*/
}
#menu nav>ul>li>a:hover,#menu nav>ul>li.on>a{
	opacity: .7;
}
#menu nav>ul>li>a img {
	display:block;
	width:110px; 
	height:auto; 
	max-width:100%;
}
#menu nav>ul>li.gn_contact {
    width: 160px;
    text-align: center;
    background-color: #4787dd;
    background-image: -webkit-gradient(linear, left top, right top, from(#003a88), color-stop(51%, #4787dd), to(#003a88));
    background-image: linear-gradient(to right, #003a88 0%, #4787dd 51%, #003a88 100%);	
	box-sizing: border-box;
    background-size: 200% auto;
    opacity: 0.9;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
#menu nav>ul>li.gn_contact:hover {
    background-color: #007ac3;
    background-position: right center;
    opacity: 0.95;
}
#menu .site_top{
	height: auto;
	padding:0 20px;
	display: inline-block;
	text-align: center;
	box-sizing: border-box;
}
#menu .nav_btn{
	margin-left:70px;
}
#menu .nav_btn a{
	min-width: 200px;
	margin:0;
	padding:10px 0;
	border:2px solid #0f3552;
	box-sizing: border-box;
	text-align: center;
}
#menu .nav_btn a:hover{
	background:#0f3552;
	color:#fff;
	opacity:1;
}
#menu .nav_btn a:before{
	content:none;
}
/*#header_wrap.smallhead .nav_btn a{
	background:#fff;
}
#header_wrap.smallhead .nav_btn a:hover{
	background: #0f3552;
    color: #fff;
    opacity: 1;
}*/
#menu .entry_top{
	border:2px solid #78b6ed;
	display:block;
	background:#78b6ed;
	min-width: 130px;
	height: auto;
	padding:6px 20px;
	display: inline-block;
	text-align: center;
}
/*#modal-open{
	display:block;
	width:80px;
	height:80px;
	cursor:pointer;
	padding:0 !important;
}
#modal-open span {
	display: block;
	position:relative;
	width:80px;
	height:80px;
	line-height:80px;
	box-sizing:border-box;
	padding:0 0 0 35px !important;
	background: url(img/common/search.svg) 10px center no-repeat;
	transition: background 0.3s;
}
#modal-open:hover span {background: url(img/common/search_red.svg) 10px center no-repeat; color:#E50012 !important;}
.modal-content {
	position: fixed;
	display: none;
	z-index: 600;
	top: 50%;
	left: 50%;
}
#modal-overlay {
	z-index: 10;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background-color: rgba( 255,255,255, 0.9);
}*/
#menu nav ul li a.modal-close {
	display: none;
	position: fixed;
	top: 20px;
	right: 20px;
	width: 44px;
	height: 44px;
	font-size: 0;
	text-decoration: none;
	background: url(img/common/icon_close.svg) center no-repeat;
	opacity: 0;
	transition:all 0.3s;
}
#menu nav ul li a.modal-close.open {
	display: block;
	z-index: 10000;
	opacity: 1;
	transition: all 0.3s;
}


.h_sub_list {
    transition: visibility .3s , opacity .3s;
    position: absolute;
    left: -15px;
    top: 100%;
    z-index: 1000;
}
.s_sub_item {
    overflow: hidden;
    opacity: 0;
    height: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
	background:#fff;
}
.s_sub_item:nth-child(2n){
	background:#f2f2f3;
}

.menu_item {
    display: inline-block;
    position: relative;
}
.menu_item:hover > .h_sub_list > .s_sub_item {
    overflow: visible;
    opacity: 1;
    height: auto;
}
.h_sub_link {
    display: block;
    padding: 10px 30px 10px 50px;
    border-radius: 3px;
    color: #0f3552;
	font-weight:700;
    white-space: nowrap;
    transition: background-color .3s;
    text-decoration: none !important;
	-webkit-transition: all .3s ease;
    transition: all .3s ease;
	position:relative;
}
.h_sub_link:before{
	content:"→";
	position:absolute;
	left:30px;
}
.h_sub_link:hover{
	opacity:0.8;
}
/*.overlay_none{
	visibility:hidden;
	opacity:0;
	position:absolute;
	top:0;
	left:0;
	z-index:70;
	visibility:hidden;
	opacity:0;
	overflow:auto;
	width:100%;
	height:100%;
    background:#fff !important;
	padding-top:64px;
	box-sizing:border-box;
	transition:opacity 0.1s;
}
.overlay{
	visibility:visible;
	opacity:1;
	transition:none;
}*/
#footer_wrap {
    position: relative;
    background: #0f3552;
	color: #fff;
}
#footer_box{
	position:relative;
}
.footer_main {
    color: #fff;
    text-align: left;
    position: relative;
    max-width: 1430px;
	padding:40px 20px 47px 20px;
    margin: auto;
	box-sizing:border-box;
}
.f_logo {
	position: absolute;
    max-width:320px;
    background:#fff;
	color:#222;
    bottom: 0;
	right:70%;
	z-index:1;
}
.f_left_box{
	display: table;
    margin: 0 auto;
    padding: 20px 50px 70px 50px;
}
.footer_sitemap{
    color: #fff;
    text-align: left;
	position:relative;
	max-width:1430px;
	margin:0 auto 0 35%;;
}
.sitemap_list{
	display: flex;
    flex-wrap: wrap;
}
.f_logo_txt{
	font-size:1.6rem;
	margin-left: 15px;
	font-weight:700;
	letter-spacing:0;
	margin-bottom:0;
	color:#222;
}
.f_logobox a{
	display:flex;
	align-items: center;
	text-decoration:none;
	margin-bottom:20px;
}
.f_company{
	font-size:1.7rem;
	font-weight:700;
	line-height:1.58;
	margin-bottom:30px;
}
.f_address p{
	font-size:1.4rem;
	line-height:1.7;
	margin-bottom:0;
}
.f_logobox img{
	max-width: 60px;
	width:100%;
}
.footer_contact {
    width: 30%;
}
#footer_contact_area .f_tel {
	line-height: 1.5;
}
#footer_contact_area .f_tel a {
	/*font-family: 'Roboto';*/
	font-size: 240%;
	color: #fff;
	text-decoration: none;
}
#footer_contact_area .f_tel span {
	font-size: 80%;
	padding-left: 20px;
}
.footer_link_btn {
	margin-top: 15px;
}
.footer_link_btn a {
    display: inline-block;
    color: #fff;
    border: 2px solid #fff;
    line-height: 1.0em;
    text-align: center;
    text-decoration: none;
    min-width: 140px;
    padding: 10px 20px;
    background-color: transparent;
    box-sizing: border-box;
    opacity:0.9;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.footer_link_btn a:hover {
    background-color: #fff;
    opacity: 1.0;
	color: #000;
}
#footer_submenu {
    box-sizing: border-box;
	overflow: hidden;
	background:#000;
}
#footer_submenu .f_sub_inner{
	color: #fff;
    text-align: left;
    position: relative;
    max-width: 1430px;
    padding: 16px;
    margin: auto;
    box-sizing: border-box;
}
.copyright{
	color: #fff;
    text-align: left;
    position: relative;
    max-width: 1430px;
    margin: 0 auto 0 35%;
	font-size:1.2rem;
	font-family:'Noto Sans JP', sans-serif;
}

#footer_submenu .f_site_nav{
	display:flex;
	flex-wrap:wrap;
}
#footer_submenu .f_site_nav a{
	color:#fff;
	text-decoration: none;
    transition: all 0.3s;
}
#footer_submenu .f_site_nav a:hover{
	opacity:.7;
}
.f_sitemap{
	margin-right:20px;
	padding-right:21px;
	position:relative;
}
.f_sitemap:after{
	content:"";
	position:absolute;
	width:1px;
	height:14px;
	background:#fff;
	right:0;
	top:calc(50% - 7px);
}
/*#footer_submenu ul li{
	position: relative;
}
#footer_submenu ul li::after{
	content: '';
    display: block;
    position: absolute;
    top: 2px;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 1px;
    height: 12px;
    background:#fff;
}
#footer_submenu .footer_sub_item_2::after{
	content: none;
}
.footer_sub_list{
	display: flex;
	font-size: 80%;
}
.footer_sub_item_1{
	padding-right: 20px;
}
.footer_sub_item_2{
	padding-left: 20px;
}
.footer_sub_list a{
	color: #fff;
    text-decoration: none;
    transition: all 0.3s;
}
.footer_sub_list a:hover{
	opacity: .7;
}*/
.footer_menu {
	min-width:60px;
	margin-right:2%;
}

.footer_menu:last-child{
	margin-right:0;
}
.footer_menu_list {
    /*padding: 0 20px 0 0;*/
	padding:0;
    margin: 0 auto;
}
.footer_menu_list_item {
	list-style: none;
    margin-bottom: 15px;
	font-size:1.4rem;
}
.f_sub_list {
	margin: 0 auto 0;
}
.f_sub_item{
	position:relative;
}
.footer_menu_list a {
	display: block;
    color: #fff;
    text-decoration: none;
	transition: all 0.3s;
}
.footer_menu_list .footer_menu_list_link{
	/*border-bottom:1px solid #fff;
	padding-bottom:5px;
	margin-bottom:10px;*/
}
.footer_menu_list a:hover {
    opacity: .7;
}

.f_sns{
	display:flex;
	margin-top:45px;
}
.f_youtube_link{
	margin-right:15px;
	display:block;
}
.f_youtube_link img{
	width:100%;
	max-width:30px;
}
.f_facebook_link{
	display:block;
}
.f_facebook_link img{
	width:100%;
	max-width:25px;
}
/*#footer_bn {
    padding: 30px 20px;
	background: #fff;
}
#footer_bn ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
#footer_bn ul li {
    margin: 0 20px;
}
#footer_bn ul li a {
	transition:all 0.3s;
}
#footer_bn ul li a:hover {
	opacity: 0.8;
}
#footer_bn ul li img {
    vertical-align: bottom;
}*/

#return {
	position:relative;
}
#return a {
    position: fixed;
    bottom: 20px;
    right: 40px;
    display: block;
    /*background: #fff url(img/arrow_t_n.svg) no-repeat center center / 23px 13px;*/
	background: #fff url(img/arrow_t_n.svg) no-repeat center center;
	border:3px solid #0f3552;
	width: 50px;
    height: 50px;
    transition: background-color .3s;
    font-size: 0;
    text-decoration: none;
	box-sizing:border-box;
    z-index: 1000;
	background-size:20px;
}
#return a:hover {
	background: #0f3552 url(img/arrow_t_white.svg) no-repeat center center;
    background-size: 20px;
}

/*#pankuzu {
	clear: both;
	max-width: 1100px;
	margin:0 auto 80px;
	font-size: 80%;
	overflow: hidden;
	border-bottom:1px solid #ddd;
	border-top:1px solid #ddd;
}
#pankuzu ul {overflow: hidden; padding:10px;}
#pankuzu ul li {
	float: left;
	margin-right: 10px;
}
#pankuzu ul li a {
	margin-right: 10px;
	color: #333;
	text-decoration:none;
}
#pankuzu ul li a:hover { text-decoration: underline;}
*/
#breadcrumb {
    margin: auto;
    overflow: hidden;
	background:#dfeaf5;
}
#breadcrumb span{
	font-size: 1.47rem;
	margin-left:5px;
}
.breadcrumb_inner{
	max-width:1040px;
	margin:auto;
	padding:11.5px 20px;
	box-sizing:border-box;
}
#breadcrumb .breadcrumb_inner a {
    color: #222;
    /*background: url(img/arrow_breadcrumb.svg) no-repeat right top 5px / 7px 8px;
	padding: 0 15px 0 0;*/
    margin: 0 10px 0 0;
}
.link_btn {
    margin:0 auto;
    position: relative;
	text-align: center;
}
.link_btn a {
    display: inline-block;
	color:#fff;
	border:1px solid #cc9900;
    line-height: 1.6;
    text-align: center;
    text-decoration: none!important;
    min-width: 200px;
    padding:12px;
	background-color: #cc9900;
	border-radius:35px;
    box-sizing: border-box;
    background-size: 200% auto;
    /*opacity: 0.9;*/
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
	position:relative;
}
.link_btn a:hover {
	background-color:transparent;
	border:1px solid #cc9900;
    background-position: right center;
    opacity: 1.0;
	color:#cc9900;
}
.link_btn a:hover:after{
	right:15px;
}
.link_btn.btn_w a{
	color:#009944!important;
	border:2px solid #009944;
	text-decoration:none;
}
.link_btn.btn_w a:hover{
	background:#009944;
	color:#fff!important;
}
.link_btn.btn_w a:after{
	background:url(img/popup.svg)no-repeat center;
	width:14px;
	height:14px;
	top: calc(50% - 7px);
}
.link_btn.btn_w a:hover:after{
	right:25px;
	background:url(img/popup02.svg)no-repeat center;
}
.content_area {
   margin-bottom:275px;
}
.inner{
	max-width:1040px;
	margin:0 auto;
	padding:0 20px;
	box-sizing:border-box;
}

.content_area a:visited {
	color: #222;
}
.content_area a {
    color: #222;
	text-decoration:underline;
}
.content_area a:hover {
    text-decoration: none;
}
/*-------------------------------------------------------------
	table
-------------------------------------------------------------*/
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* table nomal*/

.content_area table {
    max-width: 1000px;
	width: 100%;
    margin: 20px auto;
	border-top:1px solid #999999;
	border-bottom:1px solid #dedede;
}
.content_area table tr{
	border-bottom:1px solid #dedede;
}
.content_area table tr:last-child{
	border:none;
}
.content_area table th,.content_area table td{
	box-sizing:border-box;
	font-size:1.6rem;
}
.content_area table th {
    font-weight: bold;
	text-align: left;
	width: 18%;
	padding:16px 20px 16px 50px;
	color:#0f3552;
	vertical-align:baseline;
}
.content_area table td{
	padding:16px;
	/*border-left:1px solid #dedede;*/
}


img {
	max-width: 100%;
	vertical-align:bottom;
}
 p {
    display: block;
    margin-bottom: 30px;
    line-height: 2.25;
	 letter-spacing:0;
}
.column_02, .column_03{
    display: flex;
    flex-wrap: wrap;
	margin-bottom:20px;
}
.column_02 > div{
	 width:48%;
	margin-right:4%;
	box-sizing: border-box;
}
.column_02 > div:nth-child(2n){
	margin:0;
}
.column_03 > div{
 		width:31.3333%;
		margin-right:3%;
		box-sizing: border-box;
}
.column_03 > div img{
	margin:0;
}
.column_03 > div:nth-child(3n){
	margin:0;
}
.page_link{
	display: flex;
    flex-wrap: wrap;
    position: relative;
	justify-content: center;
	margin-top:100px;
	padding:11px 0;
	border-top:1px solid #0f3552;
	border-bottom:1px solid #0f3552;
}
.page_link li{
	position:relative;
	margin-right:20px;
	padding-left: 20px;
}
.page_link li:last-child{
	padding-right: 20px;
	margin-right:0;
}
.page_link li a{
	display:block;
	color:#0f3552;
	text-decoration:none;
	letter-spacing:0;
}
.page_link li:before{
	content:"";
	position:absolute;
	width:1px;
	height:16px;
	left:0;
	top: calc(50% - 8px);
	background:#707e8d;
}
.page_link li:last-child::after{
	content:"";
	position:absolute;
	width:1px;
	height:16px;
	right:-0;
	top: calc(50% - 8px);
	background:#707e8d;
}
.sec_ttl{
	position:relative;
	margin:0 auto 120px auto;
	padding-top:98px;
}
.sec_ttl:after{
	content:"";
	position:absolute;
	width:100%;
	height:1px;
	background:#0f3552;
	bottom:0;
}
.sec_ttl_in{
	display:flex;
	align-items: flex-end;
	max-width:1140px;
	margin:auto;
	padding:0 20px 5px 20px;
	box-sizing:border-box;
}
.sec_ttl_num{
	position:relative;
	display:inline-block;
	padding-right:70px;
	font-size:4.96rem;
	line-height:1.0;
	color:#0f3552;
}
.sec_ttl_num:after{
	content:"";
	position:absolute;
	height:110px;
	width:1px;
	background:#0f3552;
	right:50px;
	top: -10px;
	transform: rotate(45deg);
}
.sec_ttl h2{
	font-size:2.4rem;
	font-weight:700;
	letter-spacing:0;
	color:#0f3552;
	margin-bottom:5px;
}





@media (min-width: 768px) {
	body {
		min-width: 1200px;
	}
}


/* Error */

.error404 #h_area:before,
.error404 #h_area:after{
	display:none;
}
.error404 .content_area{
	margin:70px auto;
}
@media screen and (min-width: 768px) and (max-width:1400px){
	#header_area{
		padding:0 2% 0 3%;
		min-width:1000px;
	}
	#menu nav>ul>li{
		margin-left:30px;
	}
	#menu .nav_btn{
		margin-left:20px;
	}
	#menu .site_top{
		min-width:100px;
	}
	#logo a, #logo img{
		max-width:80px
	}
}

@media screen and (max-width:767px){
	body {
		-webkit-text-size-adjust:100%;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		background:#fff;
		width:auto;
	}
	input,textarea,select{font-size:16px;}
	p{
		margin-bottom: 15px;
    	font-size: 1.3rem;		
	}
	img{
		width:auto;
		height:auto !important;
		max-width:100%;
	}
	ol,ul{
		font-size:1.3rem;
	}
	a, a:visited{
		font-size:1.3rem;
	}
	#nojs{
		width:auto;
		background:#fff;
		color:#f00;
		padding:10px;
		border:5px solid #F00;
		text-align:center;
		margin:10px auto;
	}
	.pc_size {
		display:none !important;
	}
	.sp_size {
		display:block !important;
	}
	#breadcrumb span{
		font-size:1.3rem;
	}
	.link_btn a {
		width: 100%;
		min-width: auto;
    	max-width: 270px;
    	margin: auto;
	}
	
	/*#wrapper.fixed {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}*/
	#header_wrap.smallhead .nav_btn a,#header_wrap.smallhead .nav_btn a:hover{
		background:none;
	}
	#header_wrap{
		z-index:10000;
	}
	#header_wrap.sp_menu_on{
		border-bottom:none;
	}
	#header_wrap.index_header {
		top:auto; 
		left:auto;
		height: 50px;
		position:fixed;
		transition: background-color 0.3s;
	}
	#logo{
		float:none;
		position: absolute;
		top:0;
		left:0;
		z-index: 100;
		padding:15px;
	}
	#logo a,#logo img{
		max-width: 60px;
		/*height:40px!important;*/
	}
	#menu-box {
		display: block;
		position: fixed;
		z-index: 50;
		top: 0px;
		right: 0;
		bottom: 0;
		width: 238px;
		height: 100%;
		overflow: auto;
		opacity: 1 !important;
		-webkit-overflow-scrolling: touch;
		transition-duration: 0.5s;
	}

	#menu {
		position: relative;
		display: block;
		height: 100%;
		right: -238px !important;
		background: #fff;
		text-align: center;
		transition-duration: 0.5s;
		margin: 0;
		padding: 90px 0 0 0;
	}
	#menu nav>ul>li>a:hover:before {
		content:none;
	}
	#menu nav>ul>li>a.open:before {
		content: none;
/*
		display: block;
		height: 1px;
		left: 0;
		bottom: 0;
		position: absolute;
		width: 100%;
    	background: #0f3552;
		z-index: 10;
*/
	}
	#menu nav>ul>li>a.open:after {
		content: "";
		display: block;
		height: 2px;
		left: -30px;
		bottom: 22px;
		position: absolute;
		width: 15px;
		background: #cc9900;
		z-index: 10;
	}
	#menu nav>ul>li>a:before{
		content: none;
	}
	.menu_dis {
		right: -238px !important;
		opacity: 0 !important;
	}
	.menu_mbox{display:block !important;}
	.overlay_none{position:fixed;}
	#js-gnav-layer{
		background:#fff !important;
		z-index:90;
	}
	#wrapper.fixed #menu {
		position: fixed;
		width: 238px;
		top: 0;
		right: 0 !important;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}

	#menu ul{
		border-top:1px solid rgba(255,255,255,.3);
	}
	#menu nav ul li{
		float:none;
		margin:0;
		width:auto;
		border-bottom:1px solid rgba(255,255,255,.3);
		position:relative;
		box-sizing:border-box;
		text-align:left;
		padding-left: 45px;
	}
	#menu nav ul li.s_sub_item{
		padding-left: 0;
	}
	#menu nav ul li.s_sub_item:first-child{
		border-top:1px solid #0f3552;
	}
	#menu nav ul li a{
		padding:10px 10px 10px 0;
		color: #0f3552;
		font-size: 1.5rem;
		font-weight:400;
		margin:0;
		opacity: 1!important;
	}
	#menu nav ul li.s_sub_item a{
		padding:10px 10px 10px 40px;
	}
	#menu nav ul li.nav_btn{
		border: none;
		text-align: center;
		margin:30px 0 0;
	}
	#menu .nav_btn a{
		padding:5px;
		max-width:150px;
		min-width:130px;
		box-sizing: border-box;
		border: 1px solid #0f3552;
	}
	/*#menu nav ul li:nth-child(4){
		margin-top: 30px;
	}*/
	#menu nav ul li a span{
		display:inline-block;
	}
	#menu nav ul li.gn_l_sp{display:block;}
	.index_header{position:relative;}
	#header_s_nav{display:none;}
	.sp_menu_on.index_header{
		position:relative;
		top:auto;
		left:auto;
	}
	#menu nav ul li.gn_contact a {
		height:auto; 
		line-height:1; 
		padding:0;
	}

		#menu {
		display:block;
		clear:both;
	}
	/*.menu_dis{display:none !important;}*/
	.menu_mbox{display:block !important;}
	.sp_menu_on { position: fixed !important; width: 100%; height: 100%; overflow-y: scroll; z-index: 1000; top:0;}
	.body_no { display: none;
	}

	.menu_item {
		display: block;
		float: none;
		margin: 0;
		width: auto;
		border-bottom: 1px solid rgba(255,255,255,.3);
		position: relative;
		box-sizing: border-box;
		text-align: left;
	}
	#menu .site_top{
		min-width:auto;
		padding:0;
	}
	.parent_btn::after {
		transition: all 0.3s;
	}
	.h_sub_list {
		display: none;
		position: relative;
		padding: 0 0 7px;
		width: 100%;
		margin: 0;
		left: 0;
		border-top: 1px solid rgba(255,255,255,.3);
	}	
	.h_sub_link {
		padding: 10px 30px 10px 30px;
		background: transparent;
		border-radius: 0;
		color: #fff;
	}
	.h_sub_link:before {
		left: 20px;
	}
	.s_sub_item {
		opacity: 1;
		height: auto;
	}
	
	.f_logo {
		position:relative;
		max-width:100%;
	    width: 100%;
	    padding: 30px 20px 20px;
	    text-align: center;
		box-sizing: border-box;
		right:0;
		color:#fff;
		background:none;
	}
	.f_logobox{
		display: block;
	}
	.f_logobox img{
		width: 60%;
	}
	.f_logo_txt{
		margin:0 auto 0 10px;
		color:#fff;
	}
	.f_left_box{
		padding-bottom:0;
	}
	/*#footer_bn {
		padding: 20px;
	}
	#footer_bn ul li {
		width: 60%;
	}*/
	.footer_main {
		padding: 40px 20px 30px;
	}
	#footer_wrap .company_info, #footer_wrap .footer_contact {
		width: 100%;
		font-size: 1.3rem;
		text-align: center;
		padding: 15px 20px;
		box-sizing: border-box;
	}
	.footer_menu {
		float: none;
		padding-top: 0;
		margin: 0;
		width: 100%;
	}
	.footer_menu:nth-child(4){
		width:100%;
	}
	.footer_main {
	    flex-direction: column;
	    padding: 0;
	}
	.footer_menu_list {
	    width: 100%;
	    padding: 0;
		font-size: 1.3rem;
	}
	.footer_menu_list_link {
	    padding: 15px 20px;
	}
	.footer_menu_list_item {
	    position: relative;
	    margin: 0 !important;
	    border-bottom: 1px solid rgba(0,0,0,.25);
	}
	.f_parent_link::before, .f_parent_link::after {
	    content: '';
	    display: block;
	    position: absolute;
	    top: 0;
	    margin: auto;
	    background: #fff;
	}
	.f_parent_link::before {
	    top: 24px;
	    right: 19px;
	    width: 14px;
	    height: 2px;
	}
	.f_parent_link::after {
	    top: 18px;
	    right: 25px;
	    width: 2px;
	    height: 14px;
	    transition: opacity 0.3s;
	}
	.f_parent_link.open::after {
	    opacity: 0;
	}
	.f_sub_item.sp_size {
	    padding: 0;
	    border-bottom: 1px solid #444;
	}
	.sp_size .f_sub_link {
	    display: block;
	    padding: 15px 20px;
	    font-size: 1.3rem;
	    letter-spacing: 1.3px;
	}
	.footer_sitemap{
		margin:auto;
	}
	.f_sub_item {
	    padding: 10px 36px;
	    margin: 0;
	}
	.f_sub_list {
	    display: none;
	    padding: 0 0 8px;
	    margin: 0 !important;
	    background: #ccc;
	    border-top: 1px solid #000;
	    border-left: none;
	}
	#footer_submenu{
		display: flex;
    	flex-wrap: wrap;
    	justify-content: center;
	}
	#footer_submenu .f_site_nav{
		margin-bottom:5px;
		justify-content:center;
	}
	#footer_submenu .f_sub_inner{
		padding:20px;
		text-align:center;
	}
	.sitemap_list{
		display:none;
	}
	.copyright{
		margin:auto;
		text-align: center;
	}
	.f_company{
		font-size:1.5rem;
	}
	/*.footer_sub_item_1 {
    padding-right: 15px;
	}
	.footer_sub_item_2 {
		padding-left: 15px;
	}*/
	.f_parent_link::before, .f_parent_link::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		margin: auto;
		background: #fff;
	}
	.f_parent_link::before {
		top: 24px;
		right: 19px;
		width: 14px;
		height: 2px;
	}
	.f_parent_link::after {
		top: 18px;
		right: 25px;
		width: 2px;
		height: 14px;
		transition: opacity 0.3s;
	}
	.f_sns{
		margin-top:25px;
		margin-bottom:25px;
		justify-content: center;
	}
	#return a {
		width: 50px;
		height: 50px;
		right: 20px;
	}
	#return a::after{height:20px;}
	#return a:hover::after{height:30px;}
	#return a span{
		display:block;
		position:absolute;
		top:-19px;
		width:100%;
		text-align:center;
	}
	.column_02 > div, .column_03 > div {
		width: 100%;
		margin-right:0;
	}
	.content_area table th,.content_area table td{
		display: list-item;
    	list-style: none;
		font-size:1.3rem;
	}
	.content_area table th{
		width:100%;
		padding:15px 10px;
		border-bottom: 1px solid #dedede;
		line-height:1.5;
	}
	.content_area table td{
		padding:15px 10px;
	}
	.sec_ttl{
		margin:0 auto 60px auto;
		padding-top:70px;
	}
	.sec_ttl_num{
		font-size:3.0rem;
		padding-right:45px;
	}
	.sec_ttl_num:after{
		height:80px;
		right:38px;
	}
	.sec_ttl h2{
		font-size:1.8rem;
		margin-bottom:0;
	}
	.page_link{
		margin-top:60px;
		padding:15px 0;
		justify-content: flex-start;
	}
	.page_link li{
		width:50%;
		margin-right:0;
		margin-bottom:5px;
		box-sizing:border-box;
	}
	.content_area{
		margin-bottom:110px;
	}
}
	
/*---------------------------------------------------------
	Top
---------------------------------------------------------*/
/*-----
	Top　共通
		-----*/
.home .link_btn a:after{
	content: '→';
	position:absolute;
	right:20px;
	transition: right .3s ease;
}
.top_sec_ttl{
	max-width:1140px;
    width:100%;
    margin:auto;
	padding:0 20px 56px 20px;
    display:block;
	text-align:left;
	position: relative;
	box-sizing:border-box;
}
.top_sec_ttl h2{
	font-family:'Noto Sans JP', sans-serif;
	font-size:4.97rem;
	line-height:1.0;
	font-weight:100;
	letter-spacing:0;
	color:#103552;
	display:inline-block;
	position:relative;
	margin-bottom:25px;
}
.top_sec_ttl .h2_sub{
	color:#103552;
	font-size:2.0rem;
	line-height:1.7;
	font-weight: 700;
	letter-spacing:0;
}
.top_sec_ttl h2:before{
	content: '';
	position: absolute;
	left:0;
	bottom:2px;
 	display: inline-block;
 	width: 350px;
 	height: 1px;
	background:#0f3552;
  	/*-webkit-transform: rotate(30deg);
  	transform: rotate(30deg);*/
}
.top_sec_ttl h2:after{
	content: '';
	position: absolute;
	top: -25px;
    right: -40px;
 	display: inline-block;
 	width: 1px;
 	height: 120px;
	background:#103552;
  	/*-webkit-transform: rotate(30deg);
  	transform: rotate(30deg);*/
}
.top_sec_ttl h2:after{
	transform:rotate(45deg);
}

#index_wrap {
    position: relative;
    width: 100%;
	top:80px;
}
#index_main img {
	display: block; 
	width: 100%; 
	min-height: 700px;
	object-fit:cover;
}

#top_h1 {
	position: absolute;
	left: 0;
	right: 0;
	top:calc(50% - 132.5px);
	width: 100%;
	padding: 0 20px 0 150px;
	max-width:1100px;
	margin:auto;
	box-sizing: border-box;
}

#top_h1 h1, #top_h1 span {
	color: #fff;
}
#top_h1 h1 {
	font-size:3.5rem;
	letter-spacing: 0;
	line-height: 1.0;
	margin-top:20px;
	margin-bottom: 30px;
	position: relative;
	left:0;
	z-index:3;
    font-weight: 700;
}
/*#top_h1 span {
	font-size:120%;
	line-height: 1.7;
	letter-spacing: 0.17em;
	display:block;
	margin-bottom:20px;
	text-shadow: 2px 2px 6px #222;
}*/


#index_wrap .slick-dots{
	position:relative;
	max-width:1320px;
	bottom:250px;
	text-align:right;
	margin:auto;
	padding-right:20px;
	box-sizing:border-box;
}
/*-----
	Top slick
		-----*/
#index_wrap .slick-dots li {
    width: 18px;
}
#index_wrap .slick-dots li button:before{
    font-family: 'slick';
    font-size: 10px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: 1;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#index_wrap .slick-dots li.slick-active button:before{
    opacity: 1;
    color: #0f3552;
}



/*-----
	Top news
		-----*/
#news_wrap{
	position:relative;
}
#news_wrap:after{
	position:absolute;
	content:"";
	top:0;
	right:0;
	width:500px;
	height:300px;
	background:#fff;
	z-index:0;
}
#sec_news {
	/*max-width: 1300px;
	margin:0 auto;	
	padding:0 20px;
	margin-top:-120px;
	background: #fff;*/
}
.news_sec_inner_wrap{
	max-width: 1300px;
	width:100%;
    margin: 0 auto;
    margin-top: -160px;
	padding-left:20px;
	box-sizing: border-box;

}
.news_sec_inner {
    position: relative;
    max-width: 1300px;
	padding: 90px 90px 120px;
    background:#fff;
	margin:0 auto;
	z-index:1;
	max-width:1100px;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.news_sec_inner > div{
	width:49%;
	margin-right:2%;
}
.news_sec_inner > div:last-child{
	margin-right:0;
}
.news_list {
    /*position: relative;
    max-width: 1000px;*/
    margin: 0 auto;
    /*padding: 20px;*/
    z-index: 1000;
	overflow:auto;
	/*max-height:230px;*/
	box-sizing:border-box;
	margin-bottom:20px;
}
.news_list::-webkit-scrollbar{
  width: 10px;
}
.news_list::-webkit-scrollbar-track{
  background: #ececec;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 2px #ececec; 
}
.news_list::-webkit-scrollbar-thumb{
  background: #5f5f5f;
  border-radius: 10px;
  box-shadow: none;
}
.news_list li {
    position: relative;
    margin-bottom: 11px;
    border-bottom: 1px solid #0f3552;
}
.news_date {
    font-weight: 500;
	/*display:inline-block;
    display: block;
    position: absolute;
    top: 0;
    left: 0;*/
    line-height: 2.2;
    font-size: 1.5rem;
    color: #222;
}
.news_title{
	font-size: 1.5rem;
	display:block;
}
.news_list a {
	color: #222;
	line-height: 2.2;
    transition: all .3s;
	text-decoration:none;
	display:block;
}
.news_list a:hover .news_title {
	text-decoration: underline;
}
.news_cate span{
	border:2px solid #333;
	border-radius:3px;
	width: 83px;
	margin-left:15px;
	text-align:center;
	display:inline-block;
	font-size:1.16rem;
	line-height:1.0;
	padding:4px 0;
}
.cate_info{
	border:2px solid #cc9900!important;
	color:#cc9900;
}
.cate_media{
	border:2px solid #bb384d!important;
	color:#bb384d;
}
.news_link{
	/*display: flex;
    flex-wrap: wrap;
    align-items: center;*/
}
.top_news_ttl{
	display: inline-block;
	margin-bottom:17px;
}
.top_news_ttl h2{
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:4.0rem;
	line-height: 1.0;
	letter-spacing:0;
    font-weight: 100;
	margin-right:20px;
	color: #0f3552;
}
.top_news_ttl .h2_sub{
	display: inline-block;
	font-size:1.8rem;
	font-weight:700;
	color:#0f3552;
	margin-bottom:0;
}
/*	camera
		 */
.top_camera_area{
	max-width:500px;
}
.top_camera_ttl{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
}
.top_camera_ttl h2{
	display: inline-block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 4.0rem;
    line-height: 1.0;
    font-weight: 100;
	letter-spacing:0;
}
.camera_date{
	margin-top:15px;
	margin-left:30px;
}
.day_houmi{
	display:block;
	font-size:1.8rem;
	font-weight:700;
	color:#0f3552;
}
#camera_day{
	display:block;
	font-size:1.6rem;
	color:#0f3552;
}
.live_camera{
	margin-bottom:30px;
}
.live_camera iframe{
	width:100%;
	vertical-align:bottom;
}


/*-----
	Top　about_us
		-----*/
#top_about_wrap{
	margin-bottom:120px;
}
#top_about_wrap .top_sec_ttl h2,#top_about_wrap .top_sec_ttl .h2_sub{
	color:#fff;
}
#top_about_wrap .top_sec_ttl h2:before,#top_about_wrap .top_sec_ttl h2:after{
	background:#fff;
}
#top_about_wrap .top_sec_ttl{
	padding:0 0 40px 0;
}
.top_about_inner{
	background:#0f3552;
	color:#fff;
	padding:114px 0  105px 0;
}
.top_about_box{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	max-width:1140px;
	padding:0 20px;
	margin:auto;
	box-sizing:border-box;
}
.about_box_l{
	width:49%;
	margin-right:2%;
	max-width:470px;
}
.about_box_l .link_btn{
	max-width: 430px;
	margin: 0;
}
.about_box_r{
	padding-top: 80px;
	/*width:49%;*/
}
.top_about_catch{
	font-size:3.5rem;
	letter-spacing:0;
	line-height:1.37;
	margin-top: 25px;
	font-feature-settings: "palt";
}
.top_about_txt{
	font-weight:400;
	line-height:2.0;
	letter-spacing: 0;
	max-width:430px;
	margin-bottom: 55px;
}
#top_about_wrap .link_btn a{
	border: 1px solid #fff;
	background-color: #fff;
	color:#103552;
	font-weight:700;
}
#top_about_wrap .link_btn a:hover{
	background-color: transparent;
    border: 1px solid #fff;
    /* background-position: right center; */
    opacity: 1.0;
    color: #fff;
}



/*-----
	Top　business
		-----*/
#top_business_wrap{
	padding:114px 0 120px 0;
	background:#f2f2f3;
}
.top_business_contents{
	position:relative;
	padding:150px 20px;
	margin-bottom:180px;
}
div.top_business_contents:nth-of-type(4){
	margin-bottom:100px;
}
.top_business_inner{
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
    /*position: relative;*/
    width: 100%;
    max-width: 1100px;
	margin:auto;
}
.top_business_box{
	width:55%;
	height:400px;
	display: flex;
    align-items: center;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    z-index: 9;
	text-decoration:none;
	color:#103552;
}
.top_business_box:before{
	display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    content: '';
	transition: all 0.3s;
}
.top_business_box:hover:before{
	background:#a5abb9;
}
.top_business_img{
	position: absolute;
    top: 0;
    background-size: cover;
	background-position: top left;
    right: -0;
    overflow: hidden;
    z-index: 0;
	width: 70%;
	/*max-width:1200px;*/
	height: 100%;
	min-height:700px;
}

.top_business_contents.reverse .top_business_box{
	margin-left: auto;
}
.top_business_contents.reverse .top_business_box:before{
	left:0;
	right:unset;
}
.top_business_contents.reverse .top_business_img{
	left:0;
	right:unset;
}
.top_business_contents.reverse .top_business_box_in{
	margin-left:80px;
}
.top_business_img.img_01{
	background-image:url(img/top_business01.jpg);
}
.top_business_img.img_02{
	background-image:url(img/top_business02.jpg);
}
.top_business_img.img_03{
	background-image:url(img/top_business03.jpg);
}
.top_business_box_in{
	display: flex;
    align-items: center;
	width:100%;
	max-width:550px;
}
.top_business_icon{
	width:160px;
	margin-right:38px;
}
.top_business_txt{
	width:60%;
	margin-right:2%;
}
#top_business_wrap h3{
	font-size:4.5rem;
	font-weight:500;
	line-height:1.0;
	position:relative;
	margin-bottom:18px;
    margin-top: 17px;
}
#top_business_wrap h3:after{
	position:absolute;
	content:"";
	background:url(img/arrow-right.svg)no-repeat center;
	background-size:cover;
	width:44px;
	height:44px;
	top: calc(50% - 18px);
	right:20px;
	transition: all 0.3s;
}
#top_business_wrap .top_business_box:hover h3:after{
	right:10px;
}
.top_company_name{
	font-size:2.0rem;
	font-weight:700;
	margin-bottom:5px;
	padding-bottom:0;
	border-bottom:1px solid #103552;
}
.top_work_content{
	margin-bottom:0;
}
/*-----
	Top　other
		-----*/
.top_others{
	display:flex;
	flex-wrap:wrap;
	max-width:1480px;
	margin:auto;
	padding:0 20px;
	box-sizing:border-box;
}
.top_others > div{
	width:49%;
	margin-right:2%;
}
.top_others > div:last-child{
	margin-right:0;
}
.top_others_contents a{
	position:relative;
	display: block;
    text-decoration: none;
	-webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.top_others_contents a:hover{
	opacity:0.8;
}
.top_others_txt{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.top_others_txt h2{
	min-width:240px;
	font-size:2.2rem;
	font-weight:700;
	line-height:2.1;
	letter-spacing:0;
	text-align:center;
	color:#103957;
	background-color:rgba(255,255,255,0.7);
}
/*-----
	Top　recruit
		-----*/
.rec_inner{
	padding:95px 0;
	background:#cdedf6;
}
#top_recruit_wrap .link_btn a{
	border: 1px solid #59c3e1;
	background:#59c3e1;
	font-weight:700;
}
#top_recruit_wrap .link_btn a:hover{
	color:#59c3e1;
	background:transparent;
}
.top_recruit_img{
	margin:25px auto 85px auto;
}
.top_recruit_img img{
	width:100%;
	height:603px;
	object-fit:cover;
}
/*-----
	Top　sns
		-----*/
.sns_inner{
	padding:120px 0 420px 0;
}
.sns_area{
	display:flex;
	flex-wrap:wrap;
	max-width:1140px;
	margin:auto;
	padding: 0 20px;
	box-sizing:border-box;
}
.sns_area > div{
	width:30%;
	margin-right:5%;
}
.sns_area > div:last-child{
	margin-right:0;
}
.sns_area a{
	-webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.sns_area a:hover{
	opacity:0.8;
}
#sns_wrap .top_sec_ttl h2:after{
	right:-90px;
}
.sns_ttl{
	font-size:2.0rem;
	color:#0f3552;
	font-family:'Noto Sans JP', sans-serif;
	letter-spacing:0;
	border-bottom:1px solid #0f3552;
	margin-bottom:20px;
	padding-bottom:5px;
}
.sns_ttl h3{
	font-weight:700;
	position:relative;
	display:inline-block;
}
.sns_ttl h3:after{
	content:"";
	position:absolute;
	width:1px;
	height:25px;
	background:#0f3552;
	transform:rotate(45deg);
	right:-10px;
}
.account_name{
	font-weight:700;
	margin-bottom:0;
}
.youtube{
	position: relative ;
	padding-top: 69px ;
	padding-bottom: 50% ;
	overflow: hidden ;
}
.youtube iframe {
	position: absolute ;
	top: 0 ;
	left: 0 ;
	height: 100% ;
	width: 100% ;
}
.youtube_link img{
	max-width:120px;
	margin-top:15px;
}
.facebook_link img{
	max-width:200px;
	margin-top:15px;
}
/*	facebool埋め込みレスポンシブ	*/
.facebook-wrapper {
    max-width: 500px; /* Facebook Page Plugin の最大幅 */
    margin: 0 auto;
}
.facebook-wrapper > .fb-page {
    width: 100%;
}
.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
    width: 100% !important;
}
.facebook-wrapper02 {
    max-width: 500px; /* Facebook Page Plugin の最大幅 */
    margin: 0 auto;
}
.facebook-wrapper02 > .fb-page {
    width: 100%;
}
.facebook-wrapper02 > .fb-page > span,
.facebook-wrapper02 iframe {
    width: 100% !important;
}
/* SSLバナー */
.ssl_bnr {
	position: absolute;
    bottom: 0;
    right: 0;
	margin-bottom: 20px;
}

@media screen and (max-width:767px){
	#index_wrap .slick-dots{
		bottom:60px;
		padding:0;
		text-align:center;
	}
	#index_wrap{
		top:50px;
	}
	#top_h1 {
		top: calc(50% - 39px);
		max-width: 100%;
		padding:0 20px;
		text-align:right;
	}
	#top_h1 h1 {
		font-size:2.8rem;
		margin-bottom: 10px;
		margin-top:10px;

	}
	#index_main img{
		height:315px!important;
		object-fit: cover;
	}
	#top_h1 span{
		font-size:1.3rem;
		margin-bottom:10px;
		text-shadow: 0px 0px 5px #222, 0px 0px 5px #222, 0px 0px 5px #222;
	}
	#menu nav>ul{
		display: block;
	}
    .header_txt {
        left: 45px;
        top: 170px;
    }
    #page_top_h1{
       bottom: 60px;
       max-width: 100%;
       top: 200px;
       /*font-size: 200%;*/
    }
    #page_top_h1 h1{
        bottom: 60px;
        max-width: 100%;
        top: 0;
        /*font-size: 200%;*/
        margin-bottom: 10px;
        left:45px;
	}
	/*-----Top 共通-----*/
	.top_sec_ttl h2{
		display:block;
		font-size:3.5rem;
		margin-bottom:10px;
	}
	.top_sec_ttl h2:before{
		width:100%;
		max-width:450px;
	}
	.top_sec_ttl h2:after{
		right: unset;
    	height: 90px;
    	left: 160px;
    	top: -20px;
	}
	.top_sec_ttl .h2_sub{
		font-size:1.6rem;
	}
	/*-----Top news-----*/
	#news_wrap{
		padding:40px 0;
	}
	.news_sec_inner_wrap{
		margin-top:0;
		padding: 0 20px;
	}
	.news_sec_inner {
		justify-content: center;
		padding:0;
	}
	.news_sec_inner > div{
		width:100%;
		margin-right:0;
		margin-bottom:95px;
	}
	.news_sec_inner > div:last-child{
		margin-bottom:0;
	}
	#news_wrap:after{
		content:none;
	}
	.top_news_ttl h2{
		font-size:3.0rem;
	}
	.top_news_ttl .h2_sub{
		font-size:1.5rem;
	}
	.news_list {
		margin-bottom:60px;
	}
	.news_list li {
		margin-bottom: 14px;
		padding-bottom: 14px;
	}
	.news_date {
		position: relative;
		line-height: 1.6;
		padding-left: 0;
		width:95px;
	}
	.news_list a {
		margin-left: 0;
	}
	.news_cate{
		width:100px;
		margin-left:15px;
		margin-right:0;
	}
	.news_title{
		display:block;
		width:100%;
	}
	.top_camera_ttl h2{
		font-size:3.0rem;
	}
	.camera_date{
		margin-left:20px;
	}
	.day_houmi{
		font-size:1.6rem;
	}
	#camera_day{
		font-size:1.3rem;
	}
	/*-----Top about-----*/
	#top_about_wrap{
		margin-bottom:45px;
	}
	.top_about_inner{
		padding:80px 0 50px 0;
	}
	.top_about_catch{
		font-size:2.5rem;
		padding:0 10px;
	}
	.about_box_l{
		max-width:100%;
		width:100%;
		margin-right:0;
		margin-bottom:50px;
	}
	.about_box_l img{
		margin:auto;
	}
	.top_about_txt{
		max-width:100%;
		margin-bottom:40px;
		padding:0 10px;
	}
	#top_about_wrap .link_btn a{
		margin-top:40px;
	}
	/*-----Top business-----*/
	.top_business_inner{
		display: flex;
    	flex-direction: column-reverse;
	}
	.top_business_contents{
		padding:0;
		margin-bottom:60px;
	}
	div.top_business_contents:nth-of-type(4) {
		margin-bottom: 60px;
	}
	.top_business_box{
		width:86%;
		height:auto;
		padding:30px 0;
		margin-top: -50px;
	}
	.top_business_icon{
		width:80px;
		margin-right:20px;
	}
	#top_business_wrap{
		padding-bottom:80px;
		margin-bottom:50px;
	}
	#top_business_wrap h3:after{
		width:36px;
		height:36px;
		top: calc(50% - 18px);
		right:20px;
	}
	.top_business_img{
		position:relative;
		width:100%;
		min-height:400px;
		background-position:top center;
	}
	.top_business_img.img_01 {
    	background-image: url(img/top_business01_sp.jpg);
	}
	.top_business_img.img_02 {
    	background-image: url(img/top_business02_sp.jpg);
	}
	.top_business_img.img_03 {
    	background-image: url(img/top_business03_sp.jpg);
	}
	#top_business_wrap h3{
		font-size:3.0rem;
		margin-bottom:20px;
	}
	.top_company_name{
		font-size:1.25rem;
	}
	.top_business_box_in{
		margin:0 2% 0 8%;
	}
	.top_work_content {
		font-size:1.2rem;
	    line-height: 1.6;
	}
	.top_business_contents.reverse .top_business_box_in{
		margin-left:5%;
	}
	/*-----Top recruit-----*/
	.top_recruit_img{
		margin:0 auto 50px auto;
	}
	.rec_inner{
		padding:60px 0;
		background:#cdedf6;
	}
	/*-----Top others-----*/
	.top_others > div{
		width:100%;
		margin-right:0;
		margin-bottom:25px;
	}
	.top_others > div:last-child{
		margin-bottom:0;
	}
	.top_others_txt h2{
		min-width:160px;
		font-size:1.8rem;
	}
	/*-----Top sns-----*/
	.sns_inner{
		padding:70px 0 100px 0;
	}
	#sns_wrap .top_sec_ttl h2:after{
		left:115px;
	}
	.sns_area > div:first-child{
		margin-top:30px;
	}
	.sns_area > div{
		width:100%;
		margin-right:0;
		margin-bottom:60px;
	}
	.youtube{
		max-width:500px;
		margin:auto;
	}
}




/*---------------------------------------------------------
	共通
---------------------------------------------------------*/
.anchor {
    display: block;
    padding-top: 50px!important;
    margin-top: -50px!important;
}
.txt_right{
	text-align: right;
}
.txt_center{
	text-align:center;
}
/*---------------------------------------------------------
	form_btn iphone用
---------------------------------------------------------*/
form input[type="submit"] {
    -webkit-appearance: none;
    border-radius: 0;
}
/*---------------------------------------------------------
	各ページheader
---------------------------------------------------------*/
#content_h{
	height:300px;
	position:relative;
	margin-top:80px;
}
#content_h h1{
	text-indent:-9999px;
}
#h_area{
	position: absolute;
    top:50%;
	left: 0;
    right: 0;
    max-width: 1140px;
    width: 100%;
    padding: 0 20px;
    margin: auto;
    box-sizing: border-box;
}
#h_area h1{
	/*font-size:426.666%;
	line-height: 1.0;
	font-style: italic;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;*/
}
#h_area span{
	/*font-size:133.333%;*/
}

/* company_h*/
#content_h.company_h{
	background:url(img/company_h.jpg)no-repeat center/cover;
}
/*about_h*/
#content_h.about_h{
	background:url(img/about_h.jpg)no-repeat center/cover;
}
/*business_h*/
#content_h.business_h{
	background:url(img/business_h.jpg)no-repeat center/cover;
}
/*business_production*/
#content_h.business_production_h{
	background:url(img/business_production_h.jpg)no-repeat center/cover;
}
/*business_connect*/
#content_h.business_connect_h{
	background:url(img/business_connect_h.jpg)no-repeat center/cover;
}
/*business_convey*/
#content_h.business_convey_h{
	background:url(img/business_convey_h.jpg)no-repeat center/cover;
}
/*contact_h*/
#content_h.contact_h{
	background:url(img/contact_h.jpg)no-repeat center/cover;
}


/*recruit_top_h*/
#content_h.recruit_top_h{
	background:url(img/recruit_top_h.jpg)no-repeat center/cover;
}
#content_h.interview_h{
	background:url(img/interview_h.jpg)no-repeat center/cover;
}
#content_h.workstyle_h{
	background:url(img/workstyle_h.jpg)no-repeat center/cover;
}
#content_h.recruit_top_h h1,#content_h.interview_h h1,#content_h.requirements_h h1,#content_h.workstyle_h h1{
	display: inline-block;
	text-indent:0;
	font-size:2.5rem;
	color:#0f3552;
	font-weight:700;
	background: #fff;
	padding: 10px 20px;
    min-width: 200px;
	text-align:center;
	box-sizing:border-box;
}
#content_h.requirements_h{
	background:url(img/requirements_h.jpg)no-repeat center/cover;
}
/*news_h*/
#content_h.news_h{
	background:url(img/news_h.jpg)no-repeat center/cover;
}
/*news_single_h*/
#content_h.news_single_h{
	background:url(img/news_single_h.jpg)no-repeat center/cover;
}



@media screen and (max-width:767px){
	.anchor{
		display: block;
    	padding-top: 50px!important;
    	margin-top: -50px!important;
	}
	#content_h{
		height:170px;
		margin-top:50px;
	}
	#h_area h1{
		/*font-size:30px;*/
		margin-bottom:10px;
	}
	#h_area span{
		/*font-size:1.5rem;*/
	}
	#h_area:before{
		height:50px;
		width:3px;
		top: -90%;
   		right: 35%;
	}
	#h_area:after{
		height:50px;
		width:3px;
		bottom: -90%;
    	left: 35%;
	}
	h3{
		font-size:1.8rem;
	}
	#content_h.recruit_top_h h1,#content_h.interview_h h1,#content_h.requirements_h h1,#content_h.workstyle_h h1{
		font-size:2.2rem;
	}
}








/* #### Generated By: http://www.cufonfonts.com #### */

@font-face {
    font-family: 'Agency FB Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Agency FB Bold'), url('font/AGENCYB.woff') format('woff');
    }