/*===== CSS RESET =====*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,img,ins,kbd,q,s,samp,strike,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,select{outline:none;border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}.clear{clear:both}.clearfix{display:inline-block}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;line-height:0;font-size:0}* html .clearfix{height:1%}.clearfix{display:block}p,li,td{background:url('')}ul,ol{list-style:none;}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,:before,:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}


/*===== COMMON =====*/

html, body {
	width: 100%;
	min-height: 100%;
}
body {
	background: #FFF;
	font-size: 14px;
	font-family: "Noto Sans Vietnam", "Noto Sans", sans-serif;
	-webkit-text-size-adjust: none;
	color: #000000;
}

.ft_serif {
	font-family: Times, "Times New Roman", Georgia, serif;
}

a {
	color: #000;
	text-decoration: none;
}

.main_content a {
	color: #2666bf;
	text-decoration: none;
}
.main_content a:hover {
	text-decoration: underline;
}



.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

.grid {
	display: inline-block;
}
.grid:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
}
* html .grid {
	height: 1%;
}
img {
	display: inline-block;
	vertical-align: middle;
}
.grid {
	display: block
}
.grid > .col {
	float: left;
}
.grid > .col.fr {
	float: right;
}

.trans {
	opacity: 1;
}
.trans:hover {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
	filter: alpha(opacity=80);
	-moz-opacity: 0.80;
	-khtml-opacity: 0.80;
	opacity: 0.80;
}

#container {
	width: 100%;
	min-width: 1000px;
	overflow: hidden;
}

.container {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
#main .container {
	padding-left: 40px;
	padding-right: 40px;
}

#main .fs10{
	font-size:10px;
	}
#main .fs11{
	font-size:11px;
	}
#main .fs12{
	font-size:12px;
	}
#main .fs13{
	font-size:13px;
	}
#main .fs14{
	font-size:14px;
	}
#main .fs15{
	font-size:15px;
	}
#main .fs16{
	font-size:16px;
	}
#main .fs17{
	font-size:17px;
	}
#main .fs18{
	font-size:18px;
	}
#main .fs19{
	font-size:19px;
	}
#main .fs20{
	font-size:20px;
	}
@media (max-width: 640px) {
#main .fs10{
	font-size:0.85em;
	}
#main .fs11{
	font-size:0.9em;
	}
#main .fs12{
	font-size:0.95em;
	}
#main .fs13{
	font-size:1em;
	}
#main .fs14{
	font-size:1.05em;
	}
#main .fs15{
	font-size:1.1em;
	}
#main .fs16{
	font-size:1.15em;
	}
#main .fs17{
	font-size:1.2em;
	}
#main .fs18{
	font-size:1.25em;
	}
#main .fs19{
	font-size:1.3em;
	}
#main .fs20{
	font-size:1.35em;
	}
}

#main .mt10{
	margin-top: 10px;
}
#main .mt20{
	margin-top: 20px;
}
#main .mt30{
	margin-top: 30px;
}
#main .mt40{
	margin-top: 40px;
}
#main .mt50{
	margin-top: 50px;
}
#main .mt60{
	margin-top: 60px;
}

#main .mb10{
	margin-bottom : 10px;
}
#main .mb20{
	margin-bottom : 20px;
}
#main .mb30{
	margin-bottom : 30px;
}
#main .mb40{
	margin-bottom : 40px;
}
#main .mb50{
	margin-bottom : 50px;
}
#main .mb60{
	margin-bottom : 60px;
}



/*===== HEADER =====*/
@media (max-width: 640px) {
#google_translate_element{
   margin-left: -178px;
   margin-top: 10px;
}
#google_translate_element img{
	display: inline;
    width: 19%;
    height: auto;
}
}

header {
	margin-bottom: 15px;
}
header .left {
	float: left;
	width: 370px;
}
header .left a {
	display: block;
}
header .right {
	float: right;
	width: 568px;
}
header .right ul li a {
	color: #FFFFFF;
	display: block;
}
header .right ul li:first-child {
	border-left: none;
}
header .right ul li {
	float: left;
	width: 98px;
	background: #1b1473;
	text-align: center;
	line-height: 37px;
	border-left: 2px solid #312b81;
}
header .right ul li.last {
	width: 176px;
	background: #2666bf;
	border-left: none;
	/*border-right: 2px solid #93b3df;*/
	font-weight: bold;
}
header .right ul li a span {
	background: url(../img/common/li01.png) no-repeat;
	background-position: left center;
	padding-left: 8px;
}
header h1,
header p {
	font-size: 12px;
	line-height: 36px;
}

/*===== NAV =====*/
nav {
	background: #1b1473;
}
nav .container {
	background: url(../img/common/bg_menu.jpg);
	height: 80px;
}
nav .container ul li.current {
	background: #FFFFFF;
}
nav .container ul li.current:before {
	position: absolute;
	top: 0;
	content: " ";
	left: 3px;
	width: 136px;
	background: #2666bf;
	height: 5px;
}
nav .container ul li.current a {
	color: #1b1473;
	border: none;
}
nav .container ul li.current ul li a {
	color: #FFFFFF;
}

nav .container ul li a {
	color: #FFFFFF;
}
nav .container ul li.haschild li a:hover {
	text-decoration: underline;
}
nav .container > ul {
	text-align: center;
	padding: 0 40px;
}
nav .container > ul > li:first-child {

}
nav .container > ul > li {
	float: left;
	text-align: center;
	width: 228px;
	line-height: 80px;
	position: relative;
}
nav .container > ul > li:before {

}
nav .container > ul > li:first-child > a {
	border-left: 1px solid #49438f;
}
nav .container > ul > li > a {
	font-size: 16px;
	font-weight: bold;
	display: block;
	line-height: 50px;
	margin: 15px 0;
	border-right: 1px solid #49438f;
}
nav .container > ul > li.haschild > .sub {
	width: 294px;
	background: url(../img/common/bg_sub_menu.png);
	position: absolute;
	bottom: auto;
	left: -3px;
	z-index: 99999;
	padding-bottom: 15px;
	-webkit-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
	display: none;
}
nav .container > ul > li.haschild > .sub.c2 {
	width: 500px;
	}

nav .container > ul > li.haschild > .sub .col.col01:before {
	position: absolute;
	width: 15px;
	height: 8px;
	content: " ";
	left: 70px;
	top: -8px;
	background: url(../img/common/li_nav.png) no-repeat;
}
nav .container > ul > li.haschild > .sub .col01 {
	width: 100%;
	float: left;
	padding-left: 30px;
	position: relative;
	padding-top: 15px;
}
nav .container > ul > li.haschild > .c2 .col01 {
	width: 50%;
	float: left;
	padding-left: 30px;
	position: relative;
	padding-top: 15px;
}
nav .container > ul > li.haschild > .sub .col02 {
	padding-left: 12px;
	padding-top: 15px;
}
nav .container > ul > li.haschild > .sub .col {
	float: left;
}
nav .container > ul > li.haschild > .sub .col ul li {
	font-size: 13px;
	line-height: 28px;
	text-align: left;
}
nav .container > ul > li.haschild > .sub .col ul li.first {
	font-size: 16px;
	height: 28px;
}
nav .container > ul > li.haschild.menu_product > .sub {
    left: inherit;
    right: -277px;
}

nav .container > ul > li.haschild.menu_product > .sub .col.col01:before {
    left: 145px;
}
nav .container > ul > li.haschild.menu_recruit > .sub {
    right: -142px;
    left: inherit;
}

nav .container > ul > li.haschild.menu_recruit > .sub .col.col01:before {
    left: inherit;
    right: 190px;
}

/*MAIN*/
.sec > .container > .title {
	text-align: center;

}

/*BRC*/
.brc {
	line-height: 40px;
	font-size: 12px;
}
.brc ul li:first-child {
	background: none;
	padding-left: 0;
	margin-left: 0;
}
.brc ul li {
	float: left;
	font-size: 12px;
	padding-left: 15px;
	background-image: url(../img/common/arrow_brc.png);
	background-repeat: no-repeat;
	background-position: left center;
	margin-left: 10px;
}
.brc a {
	color: #2666C0;
}

/*===== FOOTER =====*/
footer .container {
	padding-left: 40px;
	padding-right: 40px;
}
footer .top_txt {
	background: #1b1473;
	line-height: 40px;
	font-size: 18px;
	text-align: center;
	color: #FFFFFF;
	font-weight: bold;
}
footer {
	margin-top: 45px;
}
footer .contact .left .tel {
	font-size: 36px;
	color: #1b1473;
	font-weight: bold;
	line-height: 1;
	margin-top: 18px;
}
footer .contact .left .time {
	margin-top: 6px;
} 
footer .contact .left {
	width: 487px;
	text-align: center;
	float: left;
}
footer .contact .right {
	float: right;
	width: 433px;
	padding-left: 35px;
}
footer .contact .right a {
	display: block;
	width: 340px;
	height: 60px;
	line-height: 60px;
	font-size: 14px;
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
	background: #2666bf url(../img/common/li02.png) no-repeat;
	background-position: 96% center;
	margin-top: 14px;
}
footer .sec_tags {
	background: #1b1473;
	margin-top: 40px;
	color: #FFFFFF;
}
footer .sec_tags a {
	color: #FFFFFF;
}
footer .sec_tags a:hover {
	text-decoration: underline;
}
footer .sec_tags .container {
	background: url(../img/common/bg_menu.jpg);
	padding-bottom: 30px;
}
footer .sec_tags ul li .left_links {
	float: left;
	width: 115px;
	font-weight: bold;
	white-space: nowrap;
}
footer .sec_tags ul li .right_links {
	float: left;
	width: 420px;
	font-size: 12px;

}
footer .sec_tags ul li .right_links a {
	background: url(../img/common/li01.png) no-repeat;
	background-position: left center;
	padding: 0 8px;
	line-height: 1.8em;
}
footer .sec_tags ul li .right_links a:hover {
	text-decoration: underline;
}
footer .sec_tags .left ul li {
	margin-bottom: 15px;
}
footer .sec_tags .left {
	width: 550px;
	float: left;
	padding-top: 28px;
}
footer .sec_tags .container {
	position: relative;
}
footer .sec_tags .container .back_top.fixed_button {
	position: absolute;
	top: -27px;
	right: 0;
	z-index: 999999;
}
footer .sec_tags .container .back_top {
	position: fixed;
	bottom: 40px;
	left: 50%;
	margin-left: 450px;
	z-index: 999999;
    display: none;
}
footer .sec_tags .right {
	width: 370px;
	float: left;
	padding-left: 80px;
}
footer .sec_tags a.logo_foo {
	display: block;
	margin-left: 10px;
	margin-top: 12px;
}
footer .sec_tags .contact_logo {
	font-size: 12px;
	line-height: 16px;
	margin-top: 10px;
}
footer .sec_tags ul.site_map {
	margin-top: 10px;
}
footer .sec_tags ul.site_map li {
	font-size: 11px;
	float: left;
	margin-right: 8px;
}
footer .sec_tags table {
	width: 230px;
}
footer .sec_tags table ,
footer .sec_tags table td{
	border: 1px solid #FFFFFF;
	text-align: center;
	line-height: 25px;
	margin-top: 12px;
}
footer .sec_tags table td {
	width: 33.333%;
}
footer .copyright {
	text-align: center;
	font-size: 11px;
	line-height: 33px;
	height: 33px;
	background: #ffffff;
}



@media (max-width: 640px) {
    body {
        font-size: 24px;
    }
}
@media (max-width: 627px) {
    body {
        font-size: 23.5px;
    }
}
@media (max-width: 613px) {
    body {
        font-size: 23px;
    }
}
@media (max-width: 600px) {
    body {
        font-size: 22.5px;
    }
}
@media (max-width: 587px) {
    body {
        font-size: 22px;
    }
}
@media (max-width: 573px) {
    body {
        font-size: 21.5px;
    }
}
@media (max-width: 560px) {
    body {
        font-size: 21px;
    }
}
@media (max-width: 547px) {
    body {
        font-size: 20.5px;
    }
}
@media (max-width: 533px) {
    body {
        font-size: 20px;
    }
}
@media (max-width: 520px) {
    body {
        font-size: 19.5px;
    }
}
@media (max-width: 507px) {
    body {
        font-size: 19px;
    }
}
@media (max-width: 493px) {
    body {
        font-size: 18.5px;
    }
}
@media (max-width: 480px) {
    body {
        font-size: 18px;
    }
}
@media (max-width: 467px) {
    body {
        font-size: 17.5px;
    }
}
@media (max-width: 453px) {
    body {
        font-size: 17px;
    }
}
@media (max-width: 440px) {
    body {
        font-size: 16.5px;
    }
}
@media (max-width: 427px) {
    body {
        font-size: 16px;
    }
}
@media (max-width: 413px) {
    body {
        font-size: 15.5px;
    }
}
@media (max-width: 400px) {
    body {
        font-size: 15px;
    }
}
@media (max-width: 387px) {
    body {
        font-size: 14.5px;
    }
}
@media (max-width: 373px) {
    body {
        font-size: 14px;
    }
}
@media (max-width: 360px) {
    body {
        font-size: 13.5px;
    }
}
@media (max-width: 347px) {
    body {
        font-size: 13px;
    }
}
@media (max-width: 333px) {
    body {
        font-size: 12.5px;
    }
}
@media (max-width: 320px) {
    body {
        font-size: 12px;
    }
}

.sm {
	display: none !important;
}


@media (max-width: 640px) {

	.md {
		display: none !important;
	}
	.sm {
		display: block !important;
	}
	img {
		display: block;
		width: 100%;
		height: auto;
	}
	img.inline {
		display: inline;
		width: auto;
	}

	.trans {
		opacity: 1;
	}
	.trans:hover {
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: alpha(opacity=100);
		-moz-opacity: 1;
		-khtml-opacity: 1;
		opacity: 1;
	}
	#container {
		width: auto;
		min-width: 320px;
	}
	.container,
	#main .container,
	footer .container {
		width: auto;
		margin: 0;
		padding-left: 4.6875%;
		padding-right: 4.6875%;
	}
	footer .top_txt .container,
	footer .contact .container {
		padding-left: 4.6875%;
		padding-right: 4.6875%;
	}

	
	/*===== HEADER =====*/
	header {
		margin-bottom: 3.4375%;
		padding-top: 2.5%;
	}
	header .left {
		width: 71.2%;
		padding-left: 0;
	}
	header .left a {
		width: 100%;
	}
	header .left a  .sm{
		padding-top:5px;
	}
	header .right {
		width: 17.241%;
	}
	header .right .menu_click .open {
		display: block;
	}
	header .right .menu_click .close {
		display: none;
	}
	header h1,
	header p {
		font-size: 0.58333em;
		line-height: 2.1428571em;
		color: #1b1473;
		white-space: nowrap;
		
	}

	/*BRC*/
	.brc {
		line-height: inherit;
		border-top: 2px solid #dcdcdc;
		border-bottom: 2px solid #dcdcdc;
		padding-top: 1.09375%;
		padding-bottom: 1.09375%;
	}
	.brc ul li:first-child {
		background: none;
		padding-left: 0;
		margin-left: 0;
	}
	.brc ul li {
		float: left;
		font-size: 0.9166666em;
		line-height: 1.818181em;
		padding-left: 1.2em;
		background-image: url(../img/common/sp/arrow_brc.png);
		background-repeat: no-repeat;
		background-position: left center;
		-webkit-background-size: 0.5em auto;
		background-size: 0.5em auto;
		margin-left: 0.8em;
	}
	.brc ul li a {
		color: #1b1473;
	}
	nav {
		display: none;
	}

	/*MENU_SM*/
	.menu_sm {
		display: none;
		left: 0;
		position: absolute;
		width: 100%;
		z-index: 99999;
	}
	.menu_sm .main_menu {
		background: #FFFFFF;
	}
	.menu_sm .main_menu li a {
		display: block;
		font-size: 1.166667em;
	}
	.menu_sm .main_menu li {
		line-height: 4.166666667em;
	}
	.menu_sm .main_menu li a {
		border-bottom: 2px solid #7d77c4;
		background: #FFFFFF;
	}
	.menu_sm .main_menu > li > a {
		padding: 0 4.6875%;
		background: #1b1473;
	}
	.menu_sm .main_menu > li.haschild li a {
		background-image: url(../img/common/sp/li.png);
		background-repeat: no-repeat;
		background-position: 91% center;
		-webkit-background-size: 0.5em auto;
		background-size: 0.5em auto;
		line-height: 1.5;
	}
	.menu_sm .main_menu > li.haschild > a {
		background-image: url(../img/common/sp/plus.png);
		background-repeat: no-repeat;
		background-position: 91% center;
		-webkit-background-size: 0.8928571em auto;
		background-size: 0.8928571em auto;
	}
	.menu_sm .main_menu > li.haschild > a.active {
		background-image: url(../img/common/sp/min.png);
		background-repeat: no-repeat;
		background-position: 91% center;
		-webkit-background-size: 0.8928571em auto;
		background-size: 0.8928571em auto;
	}
	.menu_sm .main_menu > li.haschild ul li.haschild > a {
		background: url(../img/common/sp/plus_blue.png) no-repeat;
		background-position: 91% center;
		-webkit-background-size: 0.8928571em auto;
		background-size: 0.8928571em auto;
		line-height: 1.5;
	}
	.menu_sm .main_menu > li.haschild ul li.haschild > a.active {
		background: url(../img/common/sp/min_blue.png) no-repeat;
		background-position: 91% center;
		-webkit-background-size: 0.8928571em auto;
		background-size: 0.8928571em auto;
	}
	.menu_sm .main_menu li.haschild ul.sub {
		display: none;
	}
	.menu_sm .main_menu > li > ul > li a {
		padding: 17px 10% 15px 10.625%;
	}
	.menu_sm .main_menu > li > ul > li > ul > li a {
		padding: 17px 10% 15px 17.1875%;
	}
	.menu_sm .main_menu > li > a {
		color: #FFFFFF;
	}
	
	.menu_sm .language {
		background: #000000;
		display: flex;
		flex-wrap: wrap;
	}
	.menu_sm .language li {
		line-height: 4.166666667em;
		flex: 0 0 50%;
		max-width: 50%;
		box-sizing: border-box;
		padding: 0 6%;
		text-align: center;
	}
	.menu_sm .language li a {
		display: block;
		font-size: 1.166667em;
		color: #FFFFFF;
	}
	/*===== FOOTER =====*/
	footer .top_txt {
		font-size: 1.25em;
		line-height: 1.3333em;
		padding: 2.35% 0;
	}
	footer {
		margin-top: 0;
	}
	footer .container {
		padding: 0 9.0625%;
	}
	footer .contact .left .tel {
		font-size: 2.08333em;
		margin-top: 4.3%;
	}
	footer .contact .left .time {
		font-size: 0.916667em;
		margin-top: 2%;
	} 
	footer .contact .left {
		width: auto;
		text-align: center;
		float: none;
	}
	footer .contact .right {
		float: none;
		width: auto;
		padding-left: 0;
	}
	footer .contact .right a {
		width: 100%;
		height: 4.25em;
		line-height: 4.25em;
		font-size: 1em;
		background: #2666bf url(../img/common/sp/li02.png) no-repeat;
		background-position: 96% center;
		margin-top: 3.8%;
		background-size: 0.75em auto;
		padding-right: 1em;
	}
	footer .sec_tags {
		background: #1b1473;
		margin-top: 14.2%;
		color: #FFFFFF;
		padding-bottom: 8.125%;
	}
	footer .sec_tags a {
		color: #FFFFFF;
	}
	footer .sec_tags a:hover {
		text-decoration: none;
	}
	footer .sec_tags .container {
		background: none;
		padding-bottom: 0;
	}
	footer .sec_tags .container .back_top.fixed_button {
		position: absolute;
		right: 4.6875%;
		top: -7.8%;
		width: 12.5%;
	}
	footer .sec_tags .container .back_top {
		position: fixed;
		bottom: 20px;
		left: 50%;
		margin-left: 32.8%;
		width: 12.5%;
	}
	footer .sec_tags .right {
		float: none;
		padding-left: 0;
		padding-top: 11.3%;
		width: auto;
	}
	footer .sec_tags a.logo_foo {
		display: block;
		margin-left: 0;
		padding-bottom: 3.5%;
	}
	footer .sec_tags .contact_logo {
		font-size: 0.9166666em;
		line-height: 1.363636em;
		margin-top: 0;
		border-top: 2px solid #a4a1c7;
		padding-top: 6.5%;
	}
	footer .sec_tags ul.site_map {
		margin-top: 3%;
	}
	footer .sec_tags ul.site_map li {
		font-size: 0.9166666em;
		float: left;
		margin-right: 0.5em;
	}
	footer .sec_tags table {
		width: 100%;
	}
	footer .sec_tags table ,
	footer .sec_tags table td{
		text-align: center;
		line-height: 2.408em;
		height: 2.408em;
		margin-top: 7%;
	}
	footer .copyright {
		font-size: 0.6666666em;
		line-height: 3.125em;
		height: 3.125em;
	}

	
}
@media (min-width: 641px) {
	.menu_sm {
		display: none !important;
	}
}
@media (max-width: 480px) {
	.menu_sm .main_menu li a {
		border-bottom: 1px solid #7d77c4;
	}
}


 /* ==============================================
▼ブログ記事_ページネーション
=============================================== */
div.pagination {
	clear:both;
	padding:20px 0;
	position:relative;
	font-size:12px;
	line-height:13px ;
	background:none;
	width:100%;
	margin:10px auto 20px auto;
	vertical-align: middle;
}

div.pagination span, .pagination a {
	display:block;
	float:left ;
	margin: 2px 2px 2px 0 ;
	padding:6px 9px 5px 9px ;
	text-decoration:none;
	width:auto ;
	color:#000 ;
	background: #eeeeee ;
	line-height:13px ;
}

div.pagination a:hover{
	color:#fff ;
	background: #1b1473;
	line-height:13px ;
}

div.pagination .current{
	padding:6px 9px 5px 9px ;
	background: #1b1473;
	color:#fff ;
	line-height:13px ;
}



/* single.php ページ送り
===================================================*/
.single-nav {
    padding: 20px 0 20px 0;
}
.single-nav .sn-left {
    float: left;
    width: 40%;
    color: #003298;
    font-size: 1.3rem;
}
.single-nav .sn-left a {
   background-image: url(../images/arrow-left.svg);
   background-repeat:no-repeat;
   background-position: left center;
	padding-left:14px;
	 background-size: 12px;
	 font-size:13px;
}
.single-nav .sn-right {
    float: right;
    width: 40%;
    color: #003298;
    font-size: 1.3rem;
    text-align: right;
}
.single-nav .sn-right a {
   background-image: url(../images/arrow-right.svg);
   background-repeat:no-repeat;
   background-position: left center;
	padding-left:14px;
	 background-size: 12px;
	 font-size:13px;
}


