@charset "utf-8";
@font-face {
  font-family: 'hiraginoMinchoMedium';
  src: url('font/NotoSerifCJKjp-Medium.min.woff2') format('woff2'), /* Super Modern Browsers */
       url('font/NotoSerifCJKjp-Medium.min.woff') format('woff'), /* Pretty Modern Browsers */
       url('font/NotoSerifCJKjp-Medium.min.ttf')  format('truetype'); /* Safari, Android, iOS */
}
@font-face {
  font-family: 'hiraginoMinchoBlack';
  src: url('font/NotoSerifCJKjp-Black.min.woff2') format('woff2'), /* Super Modern Browsers */
       url('font/NotoSerifCJKjp-Black.min.woff') format('woff'), /* Pretty Modern Browsers */
       url('font/NotoSerifCJKjp-Black.min.ttf')  format('truetype'); /* Safari, Android, iOS */
}

/* ===================== reset ==== */
html, body, div, iframe, h1, h2, h3, h4, p, a, img, small, dl, dt, dd, ol, ul, li, form, label, table, tbody, tr, th, td, article, aside, footer, header, nav, section, figure {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: 400;
	font-size: 100%;
	vertical-align: baseline;
}
input, textarea {
	margin: 0;
	padding: 0;
	resize: none;
	font-size: 16px;
	padding: 5px;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a {
	text-decoration: none;
	color: inherit;
	display: block;
	cursor: pointer;
}
a:focus {
	outline: none;
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic Medium'),     /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
	local('YuGothic-Regular');     /* 游ゴシックMediumが存在しないWindows8.1用 */
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'), /* PostScript Name = localの正式な指定方法 */
	local('Yu Gothic');          /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
html {
	font-family:'Open Sans',MyYuGothicM,YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, Osaka, 'MS PGothic',sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1.6;
}
img {
	max-width: 100%;
	height: auto;
}
body{
    position: relative;
    overflow-x: hidden;
    font-size: 14px;
    color: #484848;
}
/* ===================== parts ==== */
.u_overflow {
	overflow: hidden;
	white-space: nowrap;
	text-indent: 110%;
}
.u_clearfix:after{
	content: '';
	clear: both;
	display: block;
}
.text_mincyo {
	font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho ProN', '游明朝', 'Yu Mincho', '游明朝体', 'YuMincho', 'HG明朝E', 'ＭＳ Ｐ明朝', 'ＭＳ 明朝', 'MS PMincho', serif;
}
.visible_item{
	display: none;
}
blockquote{
	color: #555;
    border: 1px solid #ddd;
    background: #eee;
    background: rgba(53, 53, 53, 0.05);
    margin: 3em 0;
    font-size: 0.95em;
    padding: 2.5em 2.5em 1em;
    border-radius: 3px;
    position: relative;
}
blockquote:before, blockquote:after{
	font-family: 'FontAwesome';
    position: absolute;
    width: 1em;
    height: 1em;
    display: block;
    text-align: center;
    font-size: 20px;
    line-height: 1;
    color: #999;
    opacity: 20;
}
blockquote:before{
	content: '\f10d';
    left: 0.4em;
    top: 0.4em;
}
blockquote:after{
	content: '\f10e';
    right: 0.4em;
    bottom: 0.4em;
}

.breadcumb{
	color: #5a5a5a;
	line-height: 2.5;
	overflow: hidden;
}
.breadcumb li{
	display: inline-block;
	font-size: 14px;
}
.breadcumb li a{
	-webkit-transition: 0.2s linear 0s;
	-moz-transition: 0.2s linear 0s;
	-ms-transition: 0.2s linear 0s;
	-o-transition: 0.2s linear 0s;
	transition: 0.2s linear 0s;
}
.breadcumb li a:hover{
	color: #049cf9;
	-webkit-transition: 0.2s linear 0s;
	-moz-transition: 0.2s linear 0s;
	-ms-transition: 0.2s linear 0s;
	-o-transition: 0.2s linear 0s;
	transition: 0.2s linear 0s;
}
.breadcumb li a:hover span{
	border-bottom: solid 1px #049cf9;
	-webkit-transition: 0.2s linear 0s;
	-moz-transition: 0.2s linear 0s;
	-ms-transition: 0.2s linear 0s;
	-o-transition: 0.2s linear 0s;
	transition: 0.2s linear 0s;
}
.breadcumb a span{
	border-bottom: solid 1px #000;
	-webkit-transition: 0.2s linear 0s;
	-moz-transition: 0.2s linear 0s;
	-ms-transition: 0.2s linear 0s;
	-o-transition: 0.2s linear 0s;
	transition: 0.2s linear 0s;
}
.breadcumb li:first-child a:before{
	content: "";
}
.breadcumb li a::before{
	content: "  >  ";
	color: #5a5a5a;
}
.breadcumb li:last-child:before{
	content: "  >  ";
	color: #5a5a5a;
}
.breadcumb .wrap-content{
	padding: 0 20px 0 20px;
}
.padd{
	padding-top:40px;
	padding-bottom:40px;
}
.padd-bottom{
	padding-bottom: 40px;
}
.padd-top{
	padding-top: 40px;
}
.padd-top-med{
	padding-top: 20px;
}
.padd-bottom-med{
	padding-bottom:20px;
}
.padd-bottom-60{
	padding-bottom: 60px;
}
.padd-top-60{
	padding-top: 60px;
}
.marg-top{
	margin-top:40px;
}
.marg-bottom20{
	margin-bottom:20px;
}
.text-center{
	text-align: center;
}
.text-left{
	text-align: left;
}
.flex{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -moz-flex;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -ms-flex-pack: center;
    align-items: center;
    -ms-flex-align: center;
}
.wrap-full{
	width: 100%;
	margin: 0 auto;
}
.text-blue{
	color: #0074b8;
}
.text-black{
	color: #333333 !important;
}
.label{
	background-color: #0074b8;
}
.label-cyan{
	background-color: #9cdaff;
}
.label-green{
	background-color: #9cffb6;
}
.label-pink{
	background-color: #ffa4d3;
}
.label-orange{
	background-color: #fff99c;
}
.label-white{
	background-color: #fff;
}
.underline{
	text-decoration: underline;
}
.title-underline_border{
    border-bottom:solid 1px #eeeeee;
    padding-bottom:10px;
    margin-bottom:20px;
}
.black-f{
	color:#000 !important;
}
.f-right{
	float: right;
}
.f-left{
	float: left;
}

.bg-green{
    background-color: #31D8B1;
}
.bg-orange{
    background-color: #ff7800;
}
.bg-blue{
    background-color: #13b5b1;
}
.bg-pink {
    background-color: #f19ec2;
}
.bg-grey {
    background-color: #f8f7f6;
}
.bg-img {
    background-image: url(../imgs/bg.png);
}
.bg-red {
    background: #f00;
}

.language-row {
    font-size: 16px;
	margin-bottom: 40px;
	height: 50px;
}
.language-text {
	padding-right: 30px;
	height: 100%;
	width: calc(100% - 280px);
}
.language-text p{
	padding: 12.5px 0;
}
.language-list {
	width: 250px;
	height: 100%;
}
.form-control {
    padding: 13px 10px;
    -moz-box-shadow: inset inset 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
    box-shadow: inset 1px 1px 5px 0px rgba(0, 0, 0, 0.3);
    width: 100%;
    background-color: #fff;
    outline: none;
    border: 0;
    border-radius: 4px;
    font-size: 16px;
    height: 50px;
}
.form-control:focus {
    color : #000 !important;
}

.text-footer-info{
	margin-top:30px;
    position: relative;
    bottom: 0;
    font-size: 14px;
}

@media (max-width:374px){
	.language-text {
		width: 75px;
	}
	.language-list {
		width: calc(100% - 105px);
	}
}

.fb_iframe_widget{
	margin-top: 15px;
}
/* style search engine */
/* .wrap-content .cse .gsc-control-cse, .gsc-control-cse{
	width: 300px!important;
	position: absolute;
	top:90%;
	right: 0;
	bottom: 0;
    background: none!important;
    border: none!important;
}
.gsc-input-box{
	padding-top: 0!important;
    padding-bottom: 0!important;
    border-top-left-radius: 0!important; 
    border-bottom-left-radius: 0!important;
}
.gsc-search-button-v2 {
    width: 65px!important;
    padding: 6px 10px!important;
    margin: 0!important;
    border-radius: 0;
    border-top-right-radius: 0!important;
    border-bottom-right-radius: 0!important;
}
.gsc-search-box-tools .gsc-search-box .gsc-input{
	padding-right: 12px!important;
}
.gsc-modal-background-image{
	height: auto!important;
}
.gsc-results-wrapper-overlay{
	height: 700px!important;
}
.cse .gsc-control-cse, .gsc-control-cse{
	padding: 19px 10px!important;
}
/* snsicon*/
.iconsns{
    display:-webkit-box;
    display: -moz-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack:center;
	justify-content: left;
	margin: 40px 0px 0;
}
.iconsns span{
    padding: 20px 5px 0;
    font-size: 16px;
    color: #1ca1f3;
    font-weight: bold;
    vertical-align: middle;
}
.iconsns a{
    padding: 15px 5px 0;
}
img.snsicon{
    width: 30px;
}
@media (max-width:767px){
	.iconsns{
		justify-content: flex-end;
		margin: -33px 0px 0;
	}
} 