@charset "UTF-8";
/*
Theme Name: ilc_idt
Theme URI: 
Description: 
Author: ilc_idt
Author URI: 
*/


/* =Reset default browser CSS. Based on work by Eric Meyer.-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

.anchor {
    display: block;
    position: relative;
    top: -120px;
    visibility: hidden;
}

ul {
        padding-left: 40px;
}

*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
font-size:62.5%;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
width:100%;
height:100%;
}
body {
	line-height: 1;
	height: 100%;
	width: 100%;
	position:relative;
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
	text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-font-smoothing:antialiased;
	-ms-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;
	font-smoothing:antialiased;
	font-feature-settings : "palt 1";
	overflow-wrap: break-word;
	word-wrap: break-word;
}

ul {
        padding-left: 40px;
}

ol, ul {
	/*list-style: none;*/
}

blockquote {
	quotes: none;
}
blockquote:before, blockquote:after {
	content: '';
	content: none;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a img {
	border: none;
}

table.members {
        width: 100%;
        border: 1px solid #ccc;
}

table.members, table.members th, table.members td {
        border-bottom: 1px solid #ccc;
}

table.borders {
        border: 1px solid #ccc;
        border-spacing: 1px;
}
table.borders tr {
        border: 1px solid #ccc;
}
table.borders td {
        padding-top: 1em;
        padding-bottom: 1em;
        padding-left: 2em;
        padding-right: 2em;
}

/*Print CSS 
---------------------------------------*/

body {
	-webkit-print-color-adjust: exact;
}

/* img markup -------------------------------------------------------------------------------------------------------*/
img {
	border: none;
	object-fit: cover;
	object-position: 50% 50%;
}
/*ie,edge用*/
.object-fit-img {
	object-fit: cover;
	object-position: 50% 50%;
	font-family: 'object-fit: cover; object-position: 50% 50%;'
}
img:hover{
	opacity: 1;
	transition:0.3s ease-in-out;
	-moz-transition:0.3s ease-in-out;
	-webkit-transition:0.3s ease-in-out;
	-ms-transition:0.3s ease-in-out;
	-o-transition:0.3s ease-in-out;
}
figure{
display: block;
margin: 0;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}

/* =Content
-------------------------------------------------------------- */
#main{
	clear: both;
	overflow: hidden;
	padding: 0;
	position: relative;
	top: 70px;
}
.home #main {
	top: 0;
}

#container {
	float: left;
	margin: 0 -320px 0 0;
	width: 100%;
	padding: 10px 0 150px;
}
.home #container{
	margin: 0;
	padding: 0;
}

ul.documents-table {
	/*list-style: none;*/
}

ul.documents-table li {
        margin-top: 1em;
        margin-bottom: 1em;
        padding: 0.5em;
	border-bottom: 2px dotted #aaa;
        outline-offset: -10px;
}

	
/* =Layout 2カラム用
-------------------------------------------------------------- */
.single #container,
.blog #container,
.archive #container{
	width: calc(100% - 320px);
}
#secondary {
	clear: right;
	}
#footer {
	clear: both;
	width: 100%;
	}

/* =Fonts
-------------------------------------------------------------- */
/*
@font-face{
	font-family: 'YuGo';
	src: url('fonts/YuGothic-Medium.otf'),
		url('fonts/YuGothic-Medium.eot?#iefix') format('eot'),
		url('fonts/YuGothic-Medium.woff') format('woff');
}
@font-face{
	font-family: 'YuGobold';
	src: url('fonts/YuGothic-Bold.otf'),
		url('fonts/YuGothic-Bold.eot?#iefix') format('eot'),
		url('fonts/YuGothic-Bold.woff') format('woff');
}
*/
body {
	font-family:'Cairo',Helvetica,'YuGothic','Yu Gothic','游ゴシック',Arial,sans-serif;
}

/* =Structure
-------------------------------------------------------------- */
.inner {
	width: 1020px;
	padding: 0;	
	margin: 0 auto;
	display: block;
	clear: both;
	position: relative;
}
.inner:after{content:""; overflow: hidden; clear: both; visibility: hidden; height: 0; display: block;}

/* =Global Elements
-------------------------------------------------------------- */
body {
	background: #fff;/*---クロームは必要---*/
}
body,
input,
textarea {
	color: #333;
	font-size: 14px;
	line-height: 2;
}
hr {
	background-color: #333;
	border: 0;
	clear: both;
	height: 1px;
}

/* Text elements */
p {
	margin-bottom:1.5em;
}
ul {
	/*list-style: none;*/
}
ol {
	/*list-style: none;*/
	margin: 0
}
ol ol {
	/*list-style: none;*/
}
ul ul,
ol ol,
ul ol,
ol ul {
	margin-bottom: 0;
}
dl {
	margin: 0;
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 0;
}
strong {}
cite,i {}
b{font-weight: bold;}
blockquote {
	font-style: italic;
	padding: 0;
}
blockquote cite,
blockquote em,
blockquote i {
	font-style: normal;
}
cursor: help;
}
sup,
sub {
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: smaller;
}
/*---input[type="text"],---*/
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea {
	background: #333;
	border: none;
	/*box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);
	-moz-box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);
	-webkit-box-shadow: inset 1px 1px 1px rgba(0,0,0,0.1);*/
}

/*----------------------------aカラー-----------------------------*/
a,
a:link,
a:visited,
a:hover,
a:active {
        font-weight:bold;
color:#35f;
text-decoration:none;
	-webkit-transition:0.3s ease-in-out;
	-ms-transition:0.3s ease-in-out;
	-ms-transition:0.3s ease-in-out;
	-o-transition:0.3s ease-in-out;
	transition:0.3s ease-in-out;
}
a:hover {color: #102987;
        text-decoration: underline;
}

/* Text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	position: absolute !important;
	height: 1px;
	width: 1px;
}
/* =costom プリセット
-------------------------------------------------------------- */
.pc-sub{display:none;}
.pc,#pc {display:block;}
.sp,#sp {display:none;}
.tb-in{display: none;}
.br-sp{display: none;}
.br-pc{display: block;}
.sp-in{display:none;}	
.post-edit-link{display: none;}
.line-1{line-height: 1 !important;}
.line-2{padding-left: 1em;text-indent: -1em;}
.left{float: left;}
.right{float: right;}
.clear{clear: both;}
.justify{text-align:justify; text-justify: inter-ideograph;font-feature-settings: "swsh" 1;}
.hidden{overflow: hidden;}

/* =Widget Areas
-------------------------------------------------------------- */

.widget-area ul {
	padding: 0;
	list-style: none;
	margin-left: 0;
}
.widget-area ul ul {
}
.widget-area select {
	max-width: 100%;
}
.widget_search #s {/* This keeps the search inputs in line */
	width: 60%;
}
.widget_search label {
	display: none;
}
.widget-container {
	word-wrap: break-word;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	hyphens: auto;
	margin: 0 0 18px 0;
}
.widget-container .wp-caption img {
	margin: auto;
}
.widget-title {
	color: #fff;
	font-weight: bold;
	background: #102987;
	padding: 10px;
	font-size: 15px;
}
.widget-area a:link,
.widget-area a:visited {
	text-decoration: none;
}
.widget-area a:active,
.widget-area a:hover {
	text-decoration: none;
}
.widget-area .entry-meta {
	font-size: 11px;
}
#wp_tag_cloud div {
	line-height: 1.6em;
}
#wp-calendar {
	width: 100%;
}
#wp-calendar caption {
	color: #222;
	font-size: 14px;
	font-weight: bold;
	padding-bottom: 4px;
	text-align: left;
}
#wp-calendar thead {
	font-size: 11px;
}
#wp-calendar thead th {
}
#wp-calendar tbody {
	color: #aaa;
}
#wp-calendar tbody td {
	background: #f5f5f5;
	border: 1px solid #fff;
	padding: 3px 0 2px;
	text-align: center;
}
#wp-calendar tbody .pad {
	background: none;
}
#wp-calendar tfoot #next {
	text-align: right;
}
.widget_rss a.rsswidget {
	color: #333;
}
.widget_rss a.rsswidget:hover {
	color: #c6000b;
}
.widget_rss .widget-title img {
	width: 11px;
	height: 11px;
}

/* Main sidebars */
#main .widget-area ul {
	margin-left: 0;
	padding: 0 0 0 0;
}
#main .widget-area ul ul {
	border: none;
	padding: 0;
	margin-bottom: 20px;
}

#main .widget-area ul ul li{
	font-size: 14px;
	font-weight: bold;
	border-bottom: solid 1px #ccc;
	padding: 15px 0 15px 1em;
}
#primary {
	float: right;
	width: 220px;
	margin-left: 100px;
	padding: 100px 0 150px;
	text-align: left;
}

/*pager
----------------------------*/

.wp-pagenavi{
	display: block;
	clear: both;
	text-align: center;
}
.page-numbers,
a.next{
	background: #3d7cf0;
	padding: 6px 10px;
	margin: 0 4px;
	color: #fff;
}
.current{
	background: #102987;
}
.next{
	background: none;
}
a.page-numbers{
	color: #fff;
}
.wp-pagenavi a:hover{
	background: #102987;
	color: #fff;
}
/* =Pagetop
-------------------------------------------------------------- */
#pagetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: -1;
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition: all .5s;
    transition: all .5s
}
#pagetop a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    font-size: 0;
    text-align: center;
    text-decoration: none;
    transition: all 2s ease;
    -webkit-transition: all 2s ease;
}
#pagetop.show {
    z-index: 50;
    opacity: 1;
    -webkit-transform: scale(1) translate3d(0, 0, 0);
    transform: scale(1) translate3d(0, 0, 0)
}
/* PAGER top
-------------------------------------------------------------- */
.bx-pager{
position: absolute;
    top: 350px;
    width: 940px;
    left: -470px;
    z-index: 0;
}
#slider-fade .bx-pager{
position: absolute;
    top: 350px;
    width: 940px;
    left: -470px;
    z-index: 190;
}
/* PAGER */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #666;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #000;
}
.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

/* 各ベンダープレフィックスが取れた標準版！！(http://caniuse.com/#search=placeholder-shown) */
:placeholder-shown {
    color: #ccc; }

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    color: #bebebe; }

/* Firefox 18- */
:-moz-placeholder {
    color: #c6c6c6; opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder {
    color: #c6c6c6; opacity: 1; }

/* IE 10+ */
:-ms-input-placeholder {
    color: #c6c6c6; }

/* breadcrumbs
-------------------------------------------------------------- */

.bread{
	margin-top: 15px;
	margin-bottom: 15px;
}

ul.breadcrumbs {
	float: left;
	width: 100%;
	height: 1.4em;
        list-style: none;
	padding: 0;
}
ul.breadcrumbs li {
	float: left;
	padding-right: 0.5em;
	position: relative;
	font-size: 13px;
	font-size: 1.3rem;
}
ul.breadcrumbs li a {
	/*color: #333;*/
	/*text-decoration: none;*/
	font-size: 13px;
	font-size: 1.3rem;
}

ul.breadcrumbs li:before{
	font-family: 'Font Awesome 5 Free'; /*←ココ！！！！！！！*/
	font-weight: 900;
	content:"\f101";
	display: inline-block;
	margin-right: 10px;
	font-size: 13px;
	font-size: 1.3rem;
	color: #c8c8c8;
}

ul.breadcrumbs li:nth-child(1):before{
	font-family: 'Font Awesome 5 Free'; /*←ココ！！！！！！！*/
	font-weight: 900;
	content:"\f015";
	display: none;
	margin-right: 0;
	font-size: 17px;
	font-size: 1.7rem;
	color: #c8c8c8;
}


/* =Page
-------------------------------------------------------------- */
.thum_img{
    height: 200px;
    overflow: hidden;
    position: relative;
}
.thum_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	line-height: 0;
}
h3.page-title{
	position: relative;
	width: 100%;
	height: 80px;
	background: #102987;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	line-height: 65px;
}
h3.page-title:after{
	content: '';
	width: 100%;
	height: 15px;
	background: #3d7cf0;
	position: absolute;
	left: 0;
	top: 65px;
	display: block;
}


/* =IE10&11 iii
-------------------------------------------------------------- */
@media all and (-ms-high-contrast:none){
  	body{ line-height: 2;}
  	.contact li:nth-of-type(1) a, .contact li:nth-of-type(2) a{line-height: 85px;}
  	::placeholder{color: #b3b3b3;}
  	.wpcf7-list-item input{min-height: 0;}
  	.wpcf7 th span{line-height: 35px;}
  }
  
/* =Header
-------------------------------------------------------------- */
#header {
	width: 100%;
	height: 70px;
	box-sizing: border-box;
	position: fixed;
	z-index: 20;
	background: #fff;
}
.home #header {
	background: transparent;
}

#header-links{
	float: right;
	position: relative;
	z-index: 202;
	text-align: center;
}
#header-links a{
	width: 70px;
	height: 70px;
	display: block;
	background: #3d7cf0;
	color: #fff;
	font-weight: bold;
	line-height: 70px;
	font-size: 18px;
}
#header-links a:hover{
	opacity: 0.7;
}

#site-title {
	float: left;
}
#site-title a{
	width: 300px;
	height: 50px;
	display: block;
	margin: 10px 0 10px 20px;
}


  /*********** トグルメニュー*********/
	#t-navi {
		display: block;
	}
	
	.navi-toggle {
		float: right;
		display: block;
		width: 70px;
		height: 70px;
		cursor: pointer;
		border: 0;
		color: transparent;
		background-color: #102987;
		padding: 20px;
		box-sizing: border-box;
		outline: 0;
		position: relative;
		z-index: 201;
	}
	.navi-toggle:hover {
		cursor: pointer;
	}
	.navi-toggle span {
		position: relative;
		display: block;
		width: 22px;
		height: 3px;
		margin-top: 0;
		background-color: #fff;
		transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.navi-toggle span:before,
	.navi-toggle span:after {
		position: absolute;
		content: "";
		top: -13px;
		left: 0;
		width: 30px;
		height: 3px;
		border-radius: 1px;
		background-color: #fff;
		transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.navi-toggle span:after {
		top: 13px;
	}
	.navi-toggle.active span {
		background-color: transparent;
	}
	.navi-toggle.active span:before {
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 0;
		background-color: #fff;
	}
	.navi-toggle.active span:after {
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 0;
		background-color: #fff;
	}	
	.nav-area{
	    width: 30%;
	    height: 100%;
	    padding: 130px 50px 100px;
	    transition: all 0.5s;
	    transform: translate(100%);
	    position: fixed;
			top: 0x;
			right: 0;
			bottom: 0;
			background: rgba(16,41,135,0.9);
			z-index: 200;
			box-sizing: border-box;
			overflow-y: auto;
	   }
	 .nav-area.open {
	    transform: translate(0); 
	 }
         .nav-area ul {
                 list-style: none;
                 padding: 0;
         }
	 .nav-area h4{
		font-size: 16px;
	        font-weight: bold;
		color: #fff !important;
		margin-bottom: 10px;
	 }
	.nav-area ul li {
		position: relative;
		width: 100%;
		float: none;
		text-align: left;
		margin-bottom: 10px;
	}
	.nav-area ul li a{
		display: block;
		font-size: 16px;
	        font-weight: bold;
		color: #fff !important;
	}	
	.nav-area ul li a:hover{
		text-decoration: underline;
	}
	
	#menu-h-nav .sub-menu a{
		font-weight: normal;
		margin-left: 0;
		display: inline;
		position: relative;
	}
	#menu-h-nav .sub-menu a:before{
		content: '・';
		margin-left: -0.5em;
		margin-right: 0.5em;
	}
	#menu-item-63 .sub-menu,
	#menu-item-58 .sub-menu{
		margin-top: 0;
	}
	.nav-area .sub-menu li{
		margin-bottom: 0;
		line-height: 30px;
		font-size: 15px;
	}
	.nav-area .sub-menu li a{
		margin-left: 1em;
	}
	.nav-area .sub-menu li a:before{
		content:"";
		background: url(images/osi-menu-arrow.svg) no-repeat;
		display: inline-block;
		width: 10px;
		height: 15px;
		background-size: cover;
	}
	
/* =frontpage fff
-------------------------------------------------------------- */	

#main-visual{
	width: 100%;
	height: auto;
	position: relative;
	text-align: center;
	line-height: 0;
}
#main-visual img{
	width: 100%;
	height: auto;
	position: relative;
}
#main-visual hr.line01{
	width: 100%;
	height: 2.3333vw;
	background: #102987;
	margin: 0;
}
#main-visual hr.line02{
	width: 100%;
	height: 1vw;
	background: #3d7cf0;
	margin: 0;
}
#video {
	width: 100%;
        display: grid;
        background: black;
}
#video-mobile {
	width: 100%;
        display: none;
        background: black;
}
/*
#video{
	width: 100%;
	height: 594px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-size: cover;
	object-fit: cover;
}
.top-video{
	width: 100%;
	height: 680px;
	position: relative;
	z-index: 1;
}
.video-mask{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: url(images/dot.png);
	width: 100%;
	height: 680px;
	z-index: 2;
}*/

/*
#main-symbol{
	width: 33.3333vw;
	height: 42.6666vw;
	position: absolute;
	top: 440px;
	left: 55%;
	margin-left: -46.666vw;
}*/
#main-symbol{
	width: 30vw;
	/*height: 42.6666vw;*/
	position: absolute;
	top: 45vw;
	left: 55%;
	margin-left: -40vw;
}
#front-site-title{
	position: absolute;
	top: 401px;
	right: 20px;
	width: 840px;
	height: 140px;
}
#front-site-title img{
	width: 100%;
	height: 100%;
}
#main-about{
	padding: 6.6666vw 0 10vw;
	clear: both;
	position: relative;
	text-align: left;
	background: url(images/i-main-about-back.png) no-repeat;
	background-position: right top;
	background-size: 430px 392px;
}
.main-about-inner{
	width: 50%;
	margin-left: 50%;
	margin-bottom: 6.6666vw;
}
#main-about h2{
	line-height: 1;
	margin-bottom: 50px;
	font-weight: bold;
	font-size: 40px;
	color : #102987;
	position: relative;
}
#main-about h2:after{
	content: '';
	position: absolute;
	top: 50%;
	margin-left: 30px;
	width: 161px;
	height: 6px;
	background: url(images/i-main-about-h2.svg) no-repeat;
	background-size: cover;
	background-position: center center;
}
#main-about h4{
	line-height: 1;
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 20px;
	color : #3d7cf0;
}
#main-about p{
	font-size : 15px;
	line-height : 1.7333vw;
	color : #1A1A1A;
}
.team-about-inner{
	position: relative;
}
.main-about-set{
	position: absolute;
	left:50%;
	width: 50%;
	height: 270px;
	overflow: hidden;
}
.main-about-set img{
	width: 100%;
	height: auto;
}
.team-about{
	width: 460px;
	padding: 32px  0;
}

#messages-about h2{
	line-height: 1;
	margin-bottom: 6.6666vw;
	font-weight: bold;
	font-size: 40px;
	color : #102987;
	position: relative;
}
#messages-about h2:before,
#messages-about h2:after{
	content: '';
	position: absolute;
	top: 50%;
	margin-left: 30px;
	width: 161px;
	height: 6px;
	background: url(images/i-main-about-h2.svg) no-repeat;
	background-size: cover;
	background-position: center center;
}
#messages-about h2:before{
	margin-left: -191px;
}

.member-about-inner{
	height: auto;
	position: relative;
	margin-bottom: 3.3333vw;
}
.member-about-inner:last-of-type{
	margin-bottom: 0;
}
.member-about-inner-back{
	width: 50%;
	height: 256px;
	position: absolute;
	bottom: 0;
	/*background: #3d7cf0;*/
	background: #8ab0f6;
}
.member-about-inner:last-of-type .member-about-inner-back{
	left: 50%;
}
.member-about-set{
	width: 300px;
	height: 340px;
	margin-right: 150px;
	float: left;
}
.member-about-inner:last-of-type .member-about-set{
	margin-right: 0;
	margin-left: 150px;
	float: right;
}
.member-about{
	text-align: left;
}

.member-about h5{
	line-height: 1;
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 30px;
	color : #102987;
}
.member-about p{
	font-size : 15px;
	line-height : 26px;
	color : #1A1A1A;
}
.member-about a:hover{
text-decoration:underline;
}


/* News &  single
-------------------------------------------------------------- */
.entry-meta{
	font-size: 15px;
	line-height: 30px;
	margin-bottom: 20px;
}
.single p{
	font-size: 15px;
}
.entry-content img{
	margin-bottom: 20px;
}
#f-news{
	padding: 10vw 0;
}
#f-news h3{
	width: 310px;
	height: 105px;
	margin: 0 auto 6.6666vw;;
}
#f-news h3 img{
	width: 100%;
	height: 100%;
}
.news{
	clear: both;
	height: auto;
}
.news ul{
	width: 300px;
	float: left;
	margin-right: 60px;
	color: #1a1a1a;
	margin-bottom: 3.3333vw;
        list-style: none;
	padding: 0;
}
.news ul:nth-child(3n){
	margin-right: 0;
}

.category .news ul{
	width: 325px;
	float: left;
	margin-right: 50px;
	color: #1a1a1a;
	margin-bottom: 3.3333vw;
}
.category .news ul:nth-child(2n){
	margin-right: 0;
}

.news-img{
	line-height: 0;
	width: 100%;
	height: 180px;
	overflow: hidden;
	margin-bottom: 30px;
	box-sizing: border-box;
}
.category .news-img{
	line-height: 0;
	width: 100%;
	height: 195px;
	overflow: hidden;
	margin-bottom: 30px;
	box-sizing: border-box;
}
.news img{
	overflow: hidden;
	width: 100%; 
	height: 100%;	
	transition:0.3s ease-in-out;
}
.news ul a:hover img{
	transform: scale(1.1);
}
.date{
	font-size: 15px;
	line-height: 30px;
	margin-bottom: 20px;
	float: left;
}
.cat-class{
	float: left;
	width: 90px;
	height: 30px;
	font-size: 14px;
	line-height: 30px;
	margin-left: 30px;
	margin-bottom: 20px;
	color: #fff;
	font-weight: bold;
	background: #1a1a1a;
	text-align: center;
}
.cat-class-newsline{
	background: #23346c;
}
.cat-class-library{
	background: #23346c;
}
.blog-title{
	clear: both;
	font-size: 15px;
	line-height: 1.3;
}

#nav-below{
	height: 28px;
	margin: 50px 0;
}
.nav-previous{
	float: left;
}
.nav-next{
	float: right;
}
.nav-previous a,
.nav-next a{
	display: block;
	width: 100px;
	height: 28px;
	background: #3d7cf0;
	border: 1px solid #3d7cf0;
	box-sizing: border-box;
	color: #fff;
	text-align: center;
	font-size: 14px;
}
.nav-previous a:hover,
.nav-next a:hover{
	background: #fff;
	color: #3d7cf0;
}
.more-field{
	clear: both;
	display: flex;
	justify-content: center;
	align-items: center;
		margin: 0 auto;
}
.more-field a:hover {
        text-decoration: none;
}
.more{
	display: block;
	clear: both;
}
.more a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: bold;
	color: #1a1a1a;
	background: #FFF;
	border: 1px solid #1A1A1A;
	width: 200px;
	height: 55px;
	padding: 11px;
	text-align: center;
	box-sizing: border-box;
}
.more a:hover{
	background: #1a1a1a;
	color: #fff;
}
.subscribe{
	margin-left: 50px;
}

#in-the-news{
	padding: 0 0 6.6666vw;
	position: relative;
}
#in-the-news h3{
	width: 100%;
	height: 100px;
	text-align: center;
	background: #fbd316;
	line-height: 100px;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 50px;
}
#in-the-news .news ul{
	width: 100%;
	color: #1a1a1a;
	border-bottom: 2px dotted #999;
	margin-bottom: 30px;
}
#in-the-news .news ul:last-of-type{
	margin-bottom: 50px;
}

#in-the-news .date{
	font-size: 15px;
	line-height: 30px;
	margin: 0 0 30px;
	float: left;
}
#in-the-news .cat-class{
	float: left;
	width: 110px;
	height: 30px;
	font-size: 14px;
	line-height: 30px;
	margin: 0 0 30px 30px;
	color: #1a1a1a;
	font-weight: bold;
	background: #1a1a1a;
	text-align: center;
}
#in-the-news .cat-class-in-the-news{
	background: #fbd316;
}
#in-the-news .blog-title{
	margin: 0 0 30px 30px;
	clear: none;
	float: left;
	font-size: 15px;
	line-height: 30px;
}
.category-in-the-news #in-the-news .blog-title{
	margin: 0 0 30px;
	clear: both;
}
#in-the-news .blog-title a:hover{
	color: #3d7cf0;
}
.i-in-the-news-back{
	width: 40vw;
	height: 17.3333vw;
	position: absolute;
	bottom: 0;
	right: 0;
}
/* =.column-all-------------------------------------------------------------------------------------------------------------------------------- */
.column-all{
	position: relative;
	height: 350px;
}
.cell{
	width : calc(100% / 3) ;
	min-height: 300px;
	float: left;
	position: relative;
	box-sizing: border-box;	
	overflow: hidden;
	text-align: center;
}
.cell-contact{
	width: 112px;
	height: 42px;
	position: absolute;
	top: 50%;
	margin-top: -21px;
	right: 4vw;
}
.cell-back{
	width: 100%;
	height: 100%;
	position: absolute;
	transition:0.3s ease-in-out;
}
.cell a:hover .cell-back{
	transform: scale(1.1);
}
.cell-back img{
	width: 100%;
	height: 100%;
}
.cell-links{
	display: block;
	width: 300px;
	height: 55px;
	background: #1a1a1a;
	border: 2px solid #fbd316;
	text-align: center;
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
	color: #fbd316;
	font-size: 18px;
	line-height: 50px;
	font-weight: bold;
	transition:0.3s ease-in-out;
}
.cell a:hover .cell-links{
	background: #fbd316;
	color: #1a1a1a;
}
.cell-links:after{
	content: '';
	position: absolute;
	top: 50%;
	margin-top: -10.5px;
	right: 22px;
	margin-left: 30px;
	width: 14px;
	height: 21px;
	background: url(images/i-cell-arrow.svg) no-repeat;
	background-size: cover;
	background-position: center center;
}
.cell a:hover .cell-links:after{
	background: url(images/i-cell-arrow-h.svg) no-repeat;
}
/* =Footer
-------------------------------------------------------------- */

#footer {
	overflow: hidden;
	position: relative;
	background: url(images/i-footer-back.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 70px 0 50px;
	box-sizing: border-box;
	height: 300px;
}
#site-info {
	display: block;
	clear: both;
	margin: 0 auto 50px;
	width: 44.8vw;
	height: 7.4666vw;
}
#site-generator {
	color: #fff;
	font-size: 12px;
	text-align: center;
}
.cat-class-in-the-news{
	background: #fbd316;
	color: #1a1a1a;
}
#library{
	padding: 100px 0 150px;
}
#library h4{
	text-align: center;
	font-size: 18px;
	margin-bottom: 50px;
}
#library table{
	width: 100%;
}
#library table tr{
	border: 1px solid #ccc;
}
#library table td{
	padding: 20px 50px;
}

#library table td a:hover{
	color: #3d7cf0;
	text-decoration: underline;
}

#newscategory .news ul{
	width: 100%;
	float: none;
	margin: 0;
	color: #1a1a1a;
	border-bottom: 2px dotted #999;
	margin-bottom: 30px;
}
#newscategory .blog-title{
	margin: 0 0 30px;
    clear: both;
}
#newscategory .cat-class{
	background: #102987;
	width: 110px;
}

#front-news{
	padding: 0 0 200px;
}
#front-news h3{
	width: 100%;
    height: 100px;
    text-align: center;
    background: #102987;
    color: #fff;
    line-height: 100px;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 50px;
}

#front-news .news ul{
	 clear: both;
	width: 100%;
	   color: #1a1a1a;
	   border-bottom: 2px dotted #999;
	   margin-bottom: 30px;
	   height: 60px;
}
#front-news .blog-title{
		margin: 0 0 30px 30px;
	    clear: none;
	    float: left;
	    font-size: 15px;
	    line-height: 30px;
}
.single-news .more a{
	margin: 0 auto;
}
.single-news .entry-meta{
	float: left;
}
.single-news .cat-class{
	background: #102987;
	width: 110px;
}
.single-news .entry-content{
	clear: both;
	padding-top: 30px;
}

#project{
	
}
#project h2{
	width: 100%;
	height: 50px;
	background: #102987;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 24px;
	margin-bottom: 25px;
}
.sec-cap{
	padding: 0 0 100px;
}
.sec-Organization a{
	color: #3d7cf0;
	font-weight: bold;
}
.sec-Organization a:hover{
	text-decoration: underline;
}
.sec-Organization h5{
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	line-height: 1;
	padding: 50px 0;
}
.sec-Organization h4{
	font-weight: bold;
	color: #102987;
	font-size: 18px;
	line-height: 1;
	margin-top: 50px;
	margin-bottom: 30px;
	padding: 10px;
        border: 1px solid #102987;
}
.sec-Organization h6{
	width: 340px;
	height: 40px;
	box-sizing: border-box;
	background: #3d7cf0;
	border: 1px solid #3d7cf0;
        border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 16px;
	margin: 25px auto;
	cursor: pointer;
}
.sec-Organization h6.open{
	background: #fff;
	color: #3d7cf0;
}
.sec-Organization table{
	width: auto;
	margin: 0 auto 55px;
	display: none;
}
.sec-Organization tr{
	height: 40px;
}
.sec-Organization table.members th,
.sec-Organization table.members td{
	vertical-align: middle;
	line-height: 1.5;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 20px;
        padding-right: 20px;
	width: auto;
}
.sec-Organization table.members td:last-of-type{
	/*padding: 0 0 0 1em;*/
}
.sec-Organization ul{
        list-style: square inside;
}
.officio{
	text-align: center;
	margin-top: -20px;
	margin-bottom: 55px;
}
/* contact  ------------------------------------------------------------- */
#contact h4{
	text-align: center;
	font-size: 18px;
	margin-bottom: 50px;
}
#contact dl{
	padding: 30px 0;
	box-sizing: border-box;
	border-bottom: 1px dotted #1a1a1a;
	display: flex;
	align-items: center;
	font-size: 16px;
}
#contact dl:last-of-type{
	border: none;
}
#contact dt{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 240px;
	background: #3d7cf0;
	color: #fff;
	margin-right: 30px;
}
#contact dd a{
	color: #3d7cf0;
	font-weight: bold;
}
#subscribe h4{
	text-align: center;
	font-size: 18px;
	margin-bottom: 50px;
}
#subscribe .more{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
#subscribe .more a{
	width: 260px;
}
#goto-library-nav{
	position: relative;
}
.topnav{
	position: relative;
}
.topnav a{
	display: inline-block;
}
.menu-library-nav-container{
	display: block;
	position: absolute;
	left: 0;
	top: 20px;
	z-index: 50;
}
#goto-library-nav:hover > #menu-library-nav{
	display: block;
}
#menu-front-nav{
	height: 65px;
	background-color: #102987;
	  box-sizing: border-box;
	  position: relative;
}
#menu-front-nav li{
        float: left;
        display: block;
        color: #fff;
        text-align: center;
        /*padding: 14px 16px;*/
        padding: 1.5em 1.2em;
        text-decoration: none;
        font-size: 16px;
        box-sizing: border-box;
        width: 120px;
        height: 65px;
        position: relative;
}
#menu-front-nav li a{
	display: flex;
	align-items: center; 
	justify-content: center;
	width: 120px;
        height: 65px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
#menu-front-nav li a:hover {
        background-color: #ddd;
	color: #102987;
        text-decoration: none;
}
#menu-item-177{
	position: relative;
}
#menu-item-177 .sub-menu{
	display: none;
	position: absolute;
	z-index: 200;
	top: 65px;
	left: 0;
}
#menu-item-177:hover > .sub-menu{
	display: block;
}
#menu-item-177 .sub-menu li{
	background: #3d7cf0;
	display: block;
	margin-bottom: 2px;
}
#menu-item-180{
	position: relative;
}
#menu-item-180 .sub-menu{
	display: none;
	position: absolute;
	z-index: 200;
	top: 65px;
	left: 0;
}
#menu-item-180:hover > .sub-menu{
	display: block;
}
#menu-item-180 .sub-menu li{
	background: #3d7cf0;
	display: block;
	margin-bottom: 2px;
}
#menu-front-nav li #menu-item-648 {
}
#menu-front-nav li #menu-item-648 a{
        font-size: 65%;
}


.topnav a.active {
        background-color: #4CAF50;
        color: white;
}

.topnav .icon {
        display: none;
}
.page-images li{
	float: left;
	width: 320px;
	overflow: hidden;
	margin: 0 30px 50px 0;
}
.page-images li img{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 195px;
}
.page-images li:nth-of-type(3n){
	margin: 0 0 50px 0;
}
.page-images li p{
	clear: both;
}
.page-videos li{
	float: left;
	width: 580px;
	overflow: hidden;
	margin: 0 30px 50px 0;
}
.page-videos li img{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 195px;
}
.page-videos li:nth-of-type(3n){
	margin: 0 0 50px 0;
}
.page-videos li p{
	clear: both;
}
/* @media screen  ttt
-------------------------------------------------------------- */
@media (max-width: 1060px) {/*------タブレットサイト---------*/
.page-images li{
	float: left;
	width: 48%;
	overflow: hidden;
	margin: 0 2% 50px 0;
}
.page-images li:nth-of-type(3n){
	margin: 0 2% 50px 0;
}
.page-images li img{
		height: auto;
	}
.page-videos li{
	float: left;
	width: 48%;
	overflow: hidden;
	margin: 0 2% 50px 0;
}
.page-videos li:nth-of-type(3n){
	margin: 0 2% 50px 0;
}
.page-videos li img{
		height: auto;
	}
#contact dt{
	width: 20%;
}
#video {
	width: 100%;
        display: grid;
}
#video-mobile {
	width: 100%;
        display: none;
}
	
	#main-about p{
		line-height: 1.5;
	}
	#primary{
		width: 100%;
		margin-bottom: 20vw;
		padding: 0;
	}
	#main .widget-area ul ul li{
		text-align: left;
	}
	.single #container, .blog #container, .archive #container{
		width: 100%;
		float: none;
		padding: 10vw 0 15vw;
		margin-bottom: 0;
	}
	.nav-area{
		width: 50%;
	}
	#site-info{
		width: 80%;
		height: auto;
		padding:  0 2vw;
		box-sizing: border-box;
	}
	#footer{
		height: auto;
	}
	.cell{
		width: 50%;		
	}
	#in-the-news .blog-title{
		line-height: 1.3;
		margin: 0 0 30px 0;
		float: none;
		clear: both;
	}
	#f-news{
		padding: 10vw 0;
	}
	.news ul,
	.category .news ul{
		width: 32%;
		margin-right: 2%;
		margin-bottom: 10vw;
	}
	.category .news-img,
	.news-img{
		height: auto;
		margin-bottom: 20px;
	}
	.category .news ul:nth-child(2n){
		margin-right: 2%;
	}
	.category .news ul:nth-child(3n){
		margin-right: 0;
	}
	
	#front-site-title{
		padding: 0 2vw;
		width: 85%;
		height: auto;
		box-sizing: border-box;
		top: 386px;
	}
	h3.page-title{
		font-size: 3vw;
	}
	.thum_img img{
		height: 100%;
	}
	.member-about p{
		margin-bottom: 3.3333vw;
	}
	.member-about-inner{
		height: auto;
	}
	.member-about{
		padding-top: 137px;
	}
	.member-about{
		width: 60%;
		float: right;
	}
	.member-about-inner:last-of-type  .member-about{
		width: 60%;
		float: left;
	}
	.member-about-set{
		margin-right: 5vw;
		clear: both;
		width: 30vw;
		height: 34vw;
		padding-bottom: 2.5vw;
	}
	.member-about-inner:last-of-type .member-about-set{
		margin-left: 5vw;
	}
	.team-about{
		width: 100%;
		 padding: 32px 0 0;
	}
	.main-about-set{
		position: static;
		width: 100%;
		height: auto;
		padding: 0 2vw 3.333vw;
		box-sizing: border-box;
	}	
	.main-about-inner{
		width: 100%;
		height: auto;
		margin-left: 0;
	}
	#front-site-title{
		right: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	#main-symbol{
		display: none;
	}
	.inner{
		width: 100%;
		padding: 0 2vw;
		box-sizing: border-box;
	}
	.table {display:block;}	
	.pc {display:none;}
	.pc-sub{display: none;}
	.tb {display:block;}
	.tb-in{display:inline-block;}	
	.sp {display:none;}	
	.br-sp{display: block;}
	.br-pc{display: none;}
	.sp-in{display:none;}	
}
/* @media screen  780
-------------------------------------------------------------- */
@media (max-width: 780px) {/*------タブレットサイト---------*/
#video {
	width: 100%;
        display: none;
}
#video-mobile {
	width: 100%;
        display: grid;
}
	.category .news-thum_img{
		height: auto;
	}
	.category .news ul,
	.news ul{
		width: 49%;
		margin-right: 2%;
	}
	.category  .news ul:nth-child(2n){
		margin-right: 0;
	}
	.news ul:nth-child(3n){
		margin-right: 2%;
	}
	.news ul:nth-child(even){
		margin-right: 0;
	}
	.member-about{
		padding-top: 2vw;
	}
	.member-about-set{
		margin-right: 2vw;
		width: 30vw;
		height: 34vw;		
	}
	.member-about-inner{
		height: auto;
		margin-bottom: 10vw;
	}
	.member-about-inner-back{
		height: 25vw;
	}
}


/*------スマホ縦対応  sss---------*/
@media (max-width: 500px) {	
#video {
	width: 100%;
        display: none;
}
#video-mobile {
	width: 100%;
        display: grid;
}
	#front-site-title {
		top: 122vw;
	}
	#footer{
		padding: 8vw 0 3vw;
		margin-top: 70px;
	}
	#site-info{
		width: 90%;
		margin: 0 auto 10px;
	}
	#in-the-news h3{
		height: auto;
		line-height: 20vw;
		font-size: 22px;
		margin-bottom: 10vw;
	}
	#messages-about h2:before, #messages-about h2:after{
		display: none;
	}
	#primary{
		width: 100%;
		margin-bottom: 30vw;
	}
	.member-about-inner:last-of-type .member-about-set,
	.member-about-set{
		width: 220px;
		height: 250px;
		margin: 0 auto 4vw;
		float: none;
		padding-bottom: 0;
	}
	.member-about-inner:last-of-type .member-about,
	.member-about{
		width: 100%;
	}
	.cell{
		min-height: 50vw;
	}
	.cell-links{
		width: 90%;
		height: 11vw;
		line-height: 10vw;
		bottom: 6vw;
		font-size: 13px;
	}
	.cell-links:after{
		background: none;
	}
	#in-the-news{
		padding-bottom: 20vw;
	}
	#f-news{
		padding: 20vw 0;
	}
	#f-news h3{
		width: 60%;
		height: auto;
	}
	h3.page-title{
		font-size: 6vw;
	}
	.category .news ul, .news ul{
		width: 100%;
		margin-right: 0;
		margin-bottom: 12vw;
	}
	.nav-area{
		width: 100%;
	}
	#main-about{
		padding: 10vw 0 20vw;
	}
	#main-about h2{
		font-size: 8vw;
		margin-bottom: 12vw;
	}
	#messages-about h2{
		font-size: 8vw;
		margin-bottom: 12vw;
	}
	.member-about h5{
		font-size: 6vw;
		text-align: center;
	}
	#main-about{
		background-size: 50%;
	}
	.inner{
			width: 100%;
			padding: 0 4vw;
			box-sizing: border-box;
		}
	.sp {display:block;}	
	.sp-in{display: inline-block;}
	.pc-sub{display:none;}
	.tb{display:none;}
	.tb-in{display:none;}
	.pctb{
		display: none;
	}
	.entry-content img{
		width: 100%;
		height: 100%;
	}
	.single #container, .blog #container, .archive #container{
		padding: 20vw 0 30vw;
	}
	#in-the-news .news ul:last-of-type{
	}
	#site-title{
		width: calc(100% - 140px);
	}
	#site-title a{
		width: 85%;
		height: auto;
		margin: 0 0 0 4vw;
		padding: 1vw 0;
	}
	#site-title a img{
		width: 100%;
		height: 100%;
		vertical-align: middle;
	}
	#front-news{
		padding: 0 0 40vw;
	}
	#front-news .news ul{
		height: 100px;
	}
	#front-news .blog-title{
		float: left;
		clear: both;
		margin-left: 0;
	}
	.more-field{
		display: block;
	}
	.more-field .more a{
		margin: 0 auto;
	}
	.subscribe{
		margin: 4vw auto 0;
	}
	#library{
		padding: 10vw 0 30vw;
	}
	.sec-Organization table{
		width: 100%;
	}
	.sec-Organization table.members th, .sec-Organization table.members td{
		height: auto;
		padding: 2vw 0 2vw 4vw;
	}
	#container{
		padding: 10vw 0 15vw;
	}
	 .sec-cap{
	        padding: 0 0 20vw;
        }
        #contact dl{
		padding: 0 0 30px 0;
		display: block;
		border: none;
	}
	#contact dt{
		width: 100%;
		margin-right: 0;
		margin-bottom: 2.5vw;
	}
	#contact dd a{
		color: #3d7cf0;
		font-weight: bold;
	}
	#library table td{
		padding: 4vw;
	}
	#menu-front-nav{
		height: auto;
	}
	.menu-front-nav-container{
		display: none;
	}
	#contact h4,
	#library h4{
		margin-bottom:8vw;
	}
	.page-images li{
		width: 100%;
	}
	.page-images li img{
		width: 100%;
	}
	.page-images li img{
		height: auto;
	}
	.page-videos li{
		width: 100%;
	}
	.page-videos li img{
		width: 100%;
	}
	.page-videos li img{
		height: auto;
	}
}

@media screen and (max-width: 600px) {
        .topnav a:not(:first-child) {display: none;}
        .topnav a.icon {
                float: right;
                display: block;
        }
}

@media screen and (max-width: 600px) {
        .topnav.responsive {position: relative;}
        .topnav.responsive .icon {
                position: absolute;
                right: 0;
                top: 0;
        }
        .topnav.responsive a {
                float: none;
                display: block;
                text-align: left;
        }
       
}
