@charset "utf-8";

/* google翻訳クリック時は .google-lg 追加*/	
.google-lg {
margin: 56px 0 0 0!important;
}

/* ************************************************ 
*	基本設定
* ************************************************ */	
body {
font-family: 'Noto Sans JP','Roboto',sans-serif;
font-size: min(1.8vw,16px);
background:#fff;
color: #333;
line-height: 180%;
overflow-x: hidden;
}

/* リンク */
a{
	color:#333;
	text-decoration: none;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}

a:hover{
color:#000;
}

a:active, a:focus {
outline: 0;
}


/* 画像 */
img{
border:0;
padding:0px;
margin:0px;
vertical-align: bottom;
max-width:100%;
height:auto;
}

img a{
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}


/* フロート */
.right{ float: right; }
.left{ float: left; }
.clear{ clear:both; }


/* リスト */
ol{
margin: 0 0 0 5px;
padding: 0 0 0 0;
list-style: decimal;
}

ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
list-style: none;
}

li{
margin: 0 0 10px 15px;
padding: 0 0 0 0;
}

li a{
color:#444;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

li a:hover{
color:#03335d;
}

#topcontrol{
z-index:99999;
}

ruby {
color: #fff;
}

.width100{width: calc(100% - 10px)!important;}
.width90{width: calc(90% - 10px)!important;}
.width80{width: calc(80% - 10px)!important;}
.width70{width: calc(70% - 10px)!important;}
.width60{width: calc(60% - 10px)!important;}
.width50{width: calc(50% - 10px)!important;}
.width45{width: calc(45% - 10px)!important;}
.width40{width: calc(40% - 10px)!important;}
.width38{width: calc(38% - 10px)!important;}
.width35{width: calc(35% - 10px)!important;}
.width30{width: calc(30% - 10px)!important;}
.width25{width: calc(25% - 10px)!important;}
.width20{width: calc(20% - 10px)!important;}
.width15{width: calc(15% - 10px)!important;}
.width10{width: calc(10% - 10px)!important;}
.width8{width: calc(8% - 10px)!important;}
.width7{width: calc(7% - 10px)!important;}
.width5{width: calc(5% - 10px)!important;}

.contents-box {
width: 100%;
padding: 0;
margin: 0;
position:relative;
z-index:0;
-moz-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-webkit-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-o-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-ms-box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
}
.contents-inner-box {
width: 90%;
max-width: 1000px;
margin: auto;
padding: 100px 0;
}
.box-end{
margin: 0;
padding: 0 0 50px 0;
}


/*---------------------------------------------------------------------------------
エフェクト
--------------------------------------------------------------------------------- */
/* 画面外にいる状態 */
.effect {
  opacity : 0;
  transition : all 900ms 300ms ease-out;
  transform: translate(0,0);
}
.fv-effect {
  transition : all 300ms 300ms ease-out;
  transform: translate(0,0);
  opacity: 0;
}
.fade-drop {
  transform: translate(0,-50px);
}
.fade-rize {
  transform: translate(0,50px);
}
.fade-left-in {
  transform: translate(-50px,0);
}
.fade-right-in {
  transform: translate(50px,0);
}
.fade-matrix {
  transform: translate(0,50px) matrix(1,0.09,0.00,1,0,0);
}

/* 画面内に入った状態 */
.effect-on {
  opacity: 1.0;
  transform: translate(0,0px);
}

/*ファーストビューエフェクト*/
.loaded .fv-effect {
  opacity: 1;
  transform: translate(0,0)!important;
}
.loaded.sc .fv-effect {
  transition : all 0ms 0ms ease-out;
}
/*アニメーション*/
.delay0 {
  transition-delay:0ms;
}


/* ************************************************ 
*	ヘッダー
* ************************************************ */
#header {
width: 100%;
margin: 0;
position:absolute;
top:0;
left:0;
z-index:9;
}

.header-inner {
margin: 0 auto;
padding: 0 0 0 0;
width: 95%;
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#header h1 {
margin: 0;
line-height: 0;
}
.logo {
float: left;
margin: 0;
padding: 0;
width:100%;
}
.logo img{
width:100%;
}
.logo a img{
vertical-align: bottom;
}
.header-logobox {
padding: 0;
width:35%;
max-width:625px;
position: relative;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.header-navbox {
padding: 0;
margin: 10px 0 0 0;
display: flex;
justify-content: flex-end;
align-items: center;
align-content: center;
flex-wrap: wrap;
}

.header-lanbox {
margin: 0;
padding: 0;
position: absolute;
top: 5px;
right: 2.5%;
z-index: 99;
}
.header-lanbtn {
margin: 0;
padding: 0;
text-align: center;
}
.header-lanbtn a{
background-color: #333;
color: #fff;
margin: 0;
padding: 5px 10px;
display: block;
font-size: 12px;
line-height: 1;
white-space: nowrap;
border-radius: 5px;
}
.header-lanbtn a:hover{
background-color: #104b2b;
color: #fff;
border-radius: 5px;
}



/* ************************************************ 
*	トップナビゲーション
* ************************************************ */	
#navDmy{
display:none !important;
}
#nav_bg {
width: 100%;
height:100px;
padding: 0;
margin: 0;
position: relative;
z-index:9999;
display:block;
background-color: #fff;
display: flex;
align-items: center;
flex-wrap: wrap;
}

/* 上部固定用 */
#nav_bg.active{
position:fixed;
top:0;
left:0;
z-index:99999;
transition: 0.8s;
-moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-o-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-ms-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
}
/* 上部固定用ここまで */

/* google翻訳クリック時　上部固定用 */
.google-lg #nav_bg.active{
position:fixed;
top:56px;
left:0;
z-index:99999;
transition: 0.8s;
-moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-o-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-ms-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
}
/* google翻訳クリック時　上部固定用ここまで */

.nav {
width:100%;
margin: 0 auto 0px auto;
}

.nav ul {
list-style: none;
margin: auto;
letter-spacing: -0.5em; /* 隙間を埋める追加 */
}

.main-navigation {
clear: both;
margin: 0 auto;
position: relative;
}

ul.nav-menu,
div.nav-menu > ul {
margin: 0;
padding: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
}

.nav-menu li {
font-weight: 500;
display: inline-block;
line-height: 1.2;
position: relative;
margin: 0 10px;
padding: 0;
float: left; 
text-align:center;
letter-spacing: normal; /* 隙間を埋める追加 */
cursor: pointer;
cursor: hand;
}

.nav-menu li a {
color: #333;
display: block;
font-size: min(1.4vw,16px);
text-decoration: none;
margin: 0;
padding: 15px 0 0 0;
}
.nav-menu li:hover > a,
.nav-menu li a:hover {
color: #104b2b;
}

.nav-menu li a:after {
content: '';
width: 0;
transition: all 0.3s ease;
border-bottom: 1px solid #104b2b;
display: block;
padding-bottom:15px;
}
.nav-menu li a:hover:after {
width: 100%;
}

.nav-menu li:last-child {
margin: 0 0 0 10px;
}
.nav-menu li:last-child a {
background-color: #fff;
border: 1px solid #104b2b;
border-radius: 50vh;
padding: 10px 15px;
}
.nav-menu li:last-child a:hover {
background-color: #104b2b;
border: 1px solid #104b2b;
color: #fff;
}
.nav-menu li:last-child a:before {
display:inline-block;
content: "";
position: relative;
top: 2px;
left: 0;
padding-left: 10px;
width: 23px;
height: 16px;
background:url("../images/icon_mail.svg") no-repeat;
background-size:contain;
}
.nav-menu li:last-child a:hover:before {
background:url("../images/icon_mail_w.svg") no-repeat;
}
.nav-menu li:last-child a:after {
content: '';
display: block;
padding-bottom:0;
}
.nav-menu li:last-child a:hover:after {
width: 0;
}


/* ************************************************ 
*	スライド
* ************************************************ */	
@keyframes zoomUp { 
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
}
.swiper-wrapper {
  margin-top: 100px;
  margin-bottom: -100px;
}
.swiper-container {
}
.swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img { /* 8秒かけて拡大させる */
    -webkit-animation: zoomUp 8s linear 0s;
    animation: zoomUp 8s linear 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.swiper-pagination-bullets {
    bottom: 20px!important;
}
.swiper-pagination-bullet {
  border-radius: 0!important;
  margin: 0 5px!important;
  width: 35px!important;
  height: 5px!important;
}

.slide-img {
    background-size: cover; 
    background-position: center center; /* 背景画像は中央を軸に表示させる */
    height: 100vh; 
}

.slide-text {
position: absolute;
z-index: 10;
width: 100%;
bottom:0;
left: 0;
}
.slide-text h2{
font-family: 'Noto Sans JP';
font-size:2.75vw;
line-height: 1.4;
color: #fff;
font-weight: 500;
background-image: linear-gradient(90deg, #104b2b66, transparent);
display: inline-block;
padding: 20px 50px;
margin: 0;
font-weight: 400;
text-shadow: 0px 0px 8px rgba(0,0,0,0.25);
}



/* ************************************************ 
*	メイン（本文）コンテンツ
* ************************************************ */	
.clear	{ clear: both; } 
.mT10	{ margin-top:10px; }
.mT20	{ margin-top:20px; }
.mT30	{ margin-top:30px; }
.mT40	{ margin-top:40px; }
.mB10	{ margin-bottom:10px; }
.mB20	{ margin-bottom:20px; }

.imgcenter{
text-align:center;
margin: 0 auto;
padding: 0;
}
.imgcenter img {
  vertical-align: bottom;
}
.htext{
text-align:center;
}

/* 記事部分 */	
p {
padding: 0;
line-height: 200%;
}

p a {
color:#104b2b;
text-decoration:underline;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

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

p a:active, a:focus {
outline: 0;
}


/* フォント */	
.mincho {
font-family:'century','Times New Roman','Baskerville','Optima','Palatino','Georgia','ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝','MS PMincho',serif;
}

.bold {
font-weight: bolder;
}

.italic {
font-style: italic; 
}
.dllink {
margin: 10px auto 5px auto;
padding: 0;
background-color:#1462be;
text-align:center;
width: 40%;
}
.dllink a{
color: #fff;
display: block;
padding: 10px 0px;
font-size:18px;
line-height: 210%;
}
.dllink a:hover{
color: #fff;
background-color:#03335d;
}

.link-btn {
margin: 0;
padding: 0;
text-align:center;
background-color:#fff;
border: 1px solid #333;
display: inline-block;
border-radius: 50vh; /* CSS3 */
 -webkit-border-radius: 50vh; /* Firefox */
 -moz-border-radius: 50vh; /* Safari,Chrome */
}
.link-btn a{
font-weight: 500;
color: #333;
display: block;
padding: 10px 30px 11px 30px;
line-height: 200%;
text-decoration: none;
font-size: min(2vw,18px);
}
.link-btn a::after,
.link-btn a:hover::after {
position:relative;
top: -2px;
left: 10px;
content:"";
display:inline-block;
width:5px;
height:10px;
background:url("../images/arrow.svg") no-repeat;
background-size:contain;
}
.link-btn a::after {
background:url("../images/arrow.svg") no-repeat;
}
.link-btn a:hover::after {
background:url("../images/arrow_mo.svg") no-repeat;
}
.link-btn a:hover{
color: #fff;
background-color:#000;
border-radius: 50vh; /* CSS3 */
 -webkit-border-radius: 50vh; /* Firefox */
 -moz-border-radius: 50vh; /* Safari,Chrome */
}




/* カテゴリートップへ戻るボタン */	
.re-category-top-btn{
padding: 0;
margin: 0 auto 100px auto;
width: 288px;
}
.re-category-top-btn a{
box-sizing: border-box;
display: block;
flex-wrap: wrap;
align-content: center;
height: 62px;
background-color: #fff;
font-size: 16px;
color: #222;
padding: 0 0 0 30px;
text-align: center;
border: 1px solid #D9D9D9;
border-radius: 10px;
background-size: 12px;
background-position: left 23px center;
background-image:url("../images/subnav_arrow_back.svg");
background-repeat: no-repeat;
line-height:1;
}
.re-category-top-btn a:hover{
color: #222;
opacity: 0.7;
}


/* ************************************************ 
*	組織概要
* ************************************************ */	
.organization-box {
padding: 250px 0 100px 0;
}
.organization-box h2{
font-size: min(3.0vw,30px);
font-weight: 500;
text-align: center;
margin: 0 auto 70px auto;
padding: 0;
position:relative;
}
.organization-box h2::before{
position:absolute;
top: -160px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
content:"";
display:inline-block;
width:220px;
height:125px;
background:url("../images/chibri_logo.svg") no-repeat;
background-size:contain;
}

.organization-box-inner {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 1200px;
max-width: 90%;
padding: 0;
margin: 0 auto 70px auto;
}
.organization-box-inner .box{
width: calc(30% - 40px);
text-align: center;
background-color: #fff;
box-shadow: 0px 0px 8px rgba(0,0,0,0.1);
border-radius: 20px;
padding: 30px 20px 25px 20px;
display: flex;
flex-direction: column;
}
.organization-box-inner .box .boxtitle{
background-color: #104b2b;
width: 100%;
height: 100px;
margin: 0 0 15px 0;
align-content: center;
border-radius: 15px; /* CSS3 */
}
.organization-box-inner .box h3{
font-size: min(2.2vw,26px);
font-weight: 500;
color: #104b2b;
text-align: center;
margin: 0 auto 25px auto;
padding: 0;
}
.organization-box-inner .box h3.brainbank{
font-size: min(2.2vw,26px);
font-weight: 500;
color: #104b2b;
text-align: center;
margin: 20px auto 40px auto;
padding: 0;
}
.organization-box-inner .box h4{
padding: 10px 0;
margin: 0 0 15px 0;
color: #fff;
background-color: #104b2b;
font-size: min(1.8vw,22px);
line-height: 1.5;
align-content: center;
border-radius: 50vh;
font-weight: 500;
}
.organization-box-inner .box h4.collaboration{
margin: 0 0 60px 0;
padding: 10px 0;
color: #fff;
background-color: #104b2b;
font-size: min(1.8vw,22px);
line-height: 1.2;
align-content: center;
border-radius: 50vh;
font-weight: 500;
position:relative;
}
.organization-box-inner .box h4.collaboration::before{
position:absolute;
top: -30px;
left: 50%;
transform: translateX(-50%);
content:"MEXT";
display:inline-block;
color: #333;
font-size: min(1.8vw,20px);
}
.organization-box-inner .box h4.collaboration::after{
position:absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
content:"中核部門";
display:inline-block;
color: #333;
font-size: min(1.8vw,20px);
}

.organization-box-inner .box p{
font-size: min(2vw,18px);
line-height: 1.2;
font-weight: 400;
text-align: center;
margin: 0 0 25px 0;
}
.organization-box-inner .box p.en-text{
font-size: min(1.8vw,16px);
line-height: 1.5;
font-weight: 400;
text-align: left;
margin: 0;
}

.organization-box-inner .box p .enbig{
font-size: min(2.7vw,27px);
font-weight: 700;
}
.organization-box-inner .box p .en{
font-weight: 700;
}

.organization-box-inner .box p.collaboration{
font-size: min(1.8vw,18px);
line-height: 1.6;
font-weight: 400;
text-align: left;
margin: 0 0 15px 0;
padding: 0 0 0 1em;
text-indent: -1em;
}
.organization-box-inner .box p.collaboration span{
color: #104b2b;
font-weight: 500;
}

.organization-box-inner .box .box-imgbox{
margin-top: auto; /* 下へ押し下げる */
align-content: baseline;
}


/* ************************************************ 
*	スライド
* ************************************************ */	
.slide-box {
width: 100%;
position: relative;
z-index: 0;
margin: 0;
padding: 30px 0;
background-color: #87a595;
}
.slider-1 .slick-slide {
  height: 300px !important;
  position: relative;
  overflow: hidden;
}
.slider-1 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-1 .slick-slide {
margin:0 5px;
}



/* ************************************************ 
*	お知らせ
* ************************************************ */	
.news-box {
width: 100%;
margin: 0;
padding: 100px 0;
background-color: #dbe4df;
position: relative;
z-index: 1;
-moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-o-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
-ms-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
}
/* .news-box::before {
position:absolute;
bottom: 50px;
left: calc(50% - 500px);
transform: translateX(-50%);
content:"";
display:inline-block;
width:350px;
height:355px;
background-size:contain;
background:url("../images/news_bg.svg") no-repeat;
} */
.news-box h2{
font-size: min(4.0vw,40px);
font-weight: 500;
margin: 0 0 50px 0;
padding: 0;
text-align: center;
}
.news-box-inner {
width: calc(1000px - 140px);
max-width: 90%;
margin: 0 auto;
padding: 50px 70px 70px 70px;
background-color: rgba(255,255,255,0.8);
border-radius: 10px;
position: relative;
z-index: 3;
}


ul.topnews{
margin: 0 0 70px 0;
padding: 0 0 0 0;
list-style: none;
}
ul.topnews li{
margin: 0 0 0 0;
padding: 20px 0 20px 10px;
border-bottom:1px solid #999;
text-align: left;
}
ul.topnews li a{
margin: 0 0 0 30px;
color:#333;
text-decoration: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
ul.topnews li a:hover{
color:#000;
text-decoration: underline;
}

.morelink-box {
max-width: 90%;
margin: 0 auto;
}
.morelink {
margin: 0 auto;
padding: 0;
text-align:center;
background-color:#fff;
border: 1px solid #104b2b;
width: 300px;
border-radius: 50vh;
}
.morelink a{
color: #333;
display: block;
padding: 10px 0 11px 0;
line-height: 200%;
text-decoration: none;
font-size: min(2vw,18px);
}
.morelink a::after,
.morelink a:hover::after {
position:relative;
top: -2px;
left: 10px;
content:"";
display:inline-block;
width:15px;
height:10px;
background-size:contain;
}
.morelink a::after {
background:url("../images/morelink_arrow.svg") no-repeat;
}
.morelink a:hover::after {
background:url("../images/morelink_arrow_mo.svg") no-repeat;
}
.morelink a:hover{
color: #fff;
background-color:#104b2b;
border-radius: 50vh;
}


/* ************************************************ 
*	フッターエリア
* ************************************************ */	
#footer {
clear:both;
width:100%;
margin: 0;
padding: 0;
background-color:#fff;
}
.footer-top {
margin: 0;
padding: 100px 0;
}
.footer-logobox {
margin: 0 0 50px 0;
padding: 0;
text-align: center;
}
.footer-logobox img{
width: 625px;
max-width: 90%;
}

.footer-textbox {
margin: 0;
padding: 0;
text-align: center;
}
.footer-textbox p{
margin: 0;
padding: 0;
line-height: 1.5;
font-size: min(1.8vw,20px);
}

.footer-end {
position:relative;
z-index: 0;
margin: 0;
padding: 0;
background:url("../images/footer_bg.jpg") no-repeat;
background-size:cover;
background-position: center center;
}
.footer-end::before{
position:absolute;
top: 0;
left: 0;
content:"";
display:block;
width: 100%;
height: 100%;
background-color: rgba(16,75,43,0.8);
z-index: 1;
}

.footer-inner {
margin: 0 auto;
padding: 100px 0;
width: 1200px;
max-width: 90%;
display: flex;
justify-content: start;
flex-wrap: wrap;
position:relative;
z-index: 9;
}
.footer-navbox {
width: 20%;
}
.footer-navbox ul li{
margin: 0 0 10px 0;
padding: 0 0 0 0;
}
.footer-navbox ul li a{
color: #fff;
font-size: min(1.8vw,16px);
line-height: 2;
}
.footer-navbox ul li a:hover{
color: #fff;
text-decoration: underline;
transition: 0.5s;
}


.footer-end-top {
margin: 0 auto;
padding: 0;
border: 1px solid #fff;
width: 60px;
position:relative;
z-index: 9;
}
.copyright {
width: 90%;
margin: 0 auto;
padding: 30px 0;
text-align:center;
font-size: min(1.6vw,14px);
color: #fff;
position:relative;
z-index: 9;
}


/* ************************************************ 
*	ライン
* ************************************************ */
.line-dotted {
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom:1px dotted #CCC;
}

.line-solid {
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom:1px solid #CCC;
}


/* ************************************************ 
*	画像装飾
* ************************************************ */
.pict_right {
margin:0 0 10px 20px; 
padding: 2px 2px 2px 2px; 
float: right;
border: 1px solid #DCDCDC;
}

.pict_left {
margin:0 10px 10px 0; 
padding: 2px 2px 2px 2px; 
float: left;
border: 1px solid #DCDCDC;
}

.pict1px{
margin: 0 0 5px 0; 
padding: 2px 2px 2px 2px; 
border: 1px solid #CCC;
}

.pict_shadow{
background: #fff;
margin: 0px auto;
border: 1px solid #ccc;
padding: 5px 5px 5px 5px;
border-radius: 1px; /* CSS3 */
 -webkit-border-radius: 1px; /* Firefox */
 -moz-border-radius: 1px; /* Safari,Chrome */
box-shadow: 2px 2px 3px #C0C0C0;
}



/* ************************************************ 
*	角丸
* ************************************************ */
.border-radius{
border-radius: 5px; /* CSS3 */
 -webkit-border-radius: 5px; /* Firefox */
 -moz-border-radius: 5px; /* Safari,Chrome */
}



/* ************************************************ 
*	ボックスシャドウ・テキストシャドウ
* ************************************************ */
.box-shadow{
box-shadow: 2px 2px 3px #ccc; /* CSS3 */
 -webkit-box-shadow: 2px 2px 3px #ccc; /* Safari,Chrome */
 -moz-box-shadow: 2px 2px 3px #ccc; /* Firefox */
}
.text-shadow{
text-shadow: 1px 1px 3px #DEDEDE; /* CSS3 */
 -webkit-text-shadow: 1px 1px 3px #DEDEDE; /* Safari,Chrome */
 -moz-text-shadow: 1px 1px 3px #DEDEDE; /* Firefox */
}



/* ************************************************ 
*	CSS3ボタン
* ************************************************ */
.bt-more a {
font-size: 9px;
font-weight: normal;
color: #333;
text-align: center;
text-decoration: none;
text-shadow: 0px -1px 0px #fff;
width: 50px;
float: left;
display: block;
padding: 0 0 0 0;
margin: 10px 0 0 0;
border: 1px solid #ccc;
border-radius: 5px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
background-color: #eee;
background: -webkit-gradient(linear,left top,left bottom,color-stop(0, #ddd),color-stop(.75, #eee),color-stop(1, #ddd));
background: -moz-linear-gradient(#ddd, #eee 75%, #ddd);
}

.bt-more a:hover {
background-color: #fff;
background: -webkit-gradient(linear,left top,left bottom,color-stop(0, #eee),color-stop(.75, #fff),color-stop(1, #eee));
background: -moz-linear-gradient(#eee, #fff 75%, #eee);
}

.bt-more a:active {
background-color: #999;
background: -webkit-gradient(linear,left top,left bottom,color-stop(0, #999),color-stop(.75, #ccc),color-stop(1, #999));
background: -moz-linear-gradient(#999, #ccc 75%, #999);
}

.bt-order a{
font-size: 14px;
color:#fff;
display: block;
text-align:center;
background-color: #999;
margin: 20px 0 20px 0 ;
padding: 10px 15px;
border-radius: 3px;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
}

.bt-order a:hover{
color:#867888;
background: #ddd;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}




/* ************************************************ 
*   レスポンシブ
* ************************************************ */
/* PC 画面の横幅が960px以上 */
@media only screen and (min-width: 960px){
iframe {
width: 100%;
height:100%;
}
#topcontrol img{
width:70px;
}
#topcontrol {
right: 50px!important;
bottom: 50px!important;
}
.logo-sp { display: none; }
.show_tb { display: none; }
.show_sp { display: none; }
}

/* Tablet (Portrait) 画面の横幅が768px〜959pxまで */
@media only screen and (min-width: 768px) and (max-width: 959px) {
.logo-sp { display: none; }
.header-navbox { margin: 0; }
.nav-menu li { margin: 0 5px; }
.nav-menu li:last-child { margin: 0 0 0 5px; }
.nav-menu li:last-child a { padding: 5px 10px; }
.nav-menu li:last-child a:before {
top: 2px;
left: 0;
padding-left: 5px;
width: 18px;
height: 12px;
}

.contents-inner-box {
padding: 70px 0;
}

.slide-img {
height: 50vh; 
}
.slide-text h2 {
padding: 20px 25px;
}

.organization-box { padding: 200px 0 70px 0; }
.organization-box-inner .box{
width: calc(30% - 20px);
padding: 20px 10px 15px 10px;
}
.organization-box h2 { margin: 0 auto 30px auto; }
.organization-box h2::before {
top: -130px;
width: 180px;
height: 100px;
}

.news-box { padding: 70px 0; }
.news-box h2 { margin: 0 auto 20px auto; }
.news-box-inner {
max-width: calc(90% - 100px);
padding: 50px 50px 70px 50px;
}
/* .news-box::before {
position: absolute;
bottom: 25px;
left: calc(50% - 250px);
width: 250px;
height: 255px;
} */

.footer-top { padding: 60px 0; }
.footer-logobox {
margin: 0 auto 50px auto;
width: 450px;
}
.footer-inner { padding: 60px 0; }
.add { font-size: 14px; }

#topcontrol img{
width:50px;
}
#topcontrol {
right: 30px!important;
bottom: 30px!important;
}

iframe { width: 100%; height:100%; max-width: 728px; }
.show_sp { display: none; }
}


/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
#header {
padding: 0;
}
.header-lanbox {
position: absolute;
top: 80px;
right: 2.5%;
}
.header-inner{ display: none; }
.header-logobox{ display: none; }

.logo { display: none; }
.logo-sp {
	float: none;
	text-align:left;
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	position: absolute;
	top: 20px;
	left: 10px;
	z-index:999999;
  width: 80%;
  max-width: 310px;
}
.logo-sp img {
width: 100%;
height: auto;
max-height: 60px;
}

#nav_bg { height: 70px; }
#nav_bg.active{
position:absolute;
box-shadow: 0px 3px 3px rgba(0,0,0,0);
}

.nav-menu li { margin: 0; }
.nav-menu li:last-child { margin: 0; }
.nav-menu li a { font-size: 4.25vw; }
.nav-menu li:last-child a {
background-color: rgba(0,0,0,0);
border: none;
border-radius: 0;
padding: 10px 15px;
}
.nav-menu li:last-child a:hover {
background-color: rgba(0,0,0,0);
border: none;
color: #333;
}
.nav-menu li a:after {
border-bottom: none;
padding-bottom: 0;
}

.contents-inner-box {
padding: 50px 0;
}

.slide-text h2 {
font-size: 4.25vw;
line-height: 1.6;
padding: 25px 15px 50px 15px;
}
.slide-img {
height: 100svh; 
}
.swiper-wrapper {
margin-top: 70px;
margin-bottom: -70px;
}

.organization-box { padding: 170px 0 70px 0; }
.organization-box h2 {
font-size: 5.5vw;
margin: 0 auto 30px auto;
}
.organization-box h2::before {
top: -110px;
left: 50%;
width: 150px;
height: 100px;
}

.organization-box-inner {
margin: 0 auto 30px auto;
}
.organization-box-inner .box {
width: 100%;
margin: 0 0 30px 0;
}
.organization-box-inner .box h3 {
font-size: 5.5vw;
margin: 0 auto 30px auto;
}
.organization-box-inner .box h3.brainbank{
font-size: 5.5vw;
margin: 0 auto 30px auto;
}
.organization-box-inner .box h4 {
font-size: 4.5vw;
margin: 0 0 20px 0;
}
.organization-box-inner .box h4.collaboration {
margin: 0 0 40px 0;
font-size: 4.5vw;
}
.organization-box-inner .box h4.collaboration::before {
top: -20px;
font-size: 4vw;
}
.organization-box-inner .box h4.collaboration::after {
bottom: -20px;
font-size: 4vw;
}

.organization-box-inner .box p {
font-size: 4.5vw;
margin: 0 0 30px 0;
}
.organization-box-inner .box p .enbig {
font-size: 7vw;
}
.organization-box-inner .box p.en-text {
font-size: 4vw;
padding: 0 0 30px 0;
}
.organization-box-inner .box p.collaboration{
font-size: 4.5vw;
margin: 0 0 15px 0;
}


.news-box { padding: 70px 0; }

.news-box-inner {
max-width: calc(90% - 40px);
padding: 30px 20px 50px 20px;
}


.news-box h2 {
font-size: 7vw;
margin: 0 auto 20px auto;
}
ul.topnews { margin: 0 0 40px 0; }
ul.topnews li{
padding: 15px 0;
font-size: 4.5vw;
line-height:150%;
}
ul.topnews li a { margin: 0 0 0 0; }
.morelink { width: 100%; }
.morelink a { font-size: 4.5vw; }


.footer-top { padding: 50px 0; }
.footer-textbox p { font-size: 4vw; }
.footer-inner { padding: 50px 0; }
.footer-navbox ul li a{ font-size: 4vw; }
.copyright {
font-size: 3.5vw;
line-height: 1.5;}




.footer-navbox {
width: 100%;
}

.box-end{ padding: 0; }

.width90,
.width80,
.width70,
.width60,
.width50,
.width45,
.width40,
.width38,
.width35,
.width30{width: calc(100% - 10px)!important;}
.width25,
.width20{width: calc(40% - 10px)!important;}
.width15{width: calc(30% - 10px)!important;}


#topcontrol {
right: 15px!important;
}
#topcontrol img{
width:50px;
}
iframe { width: 100%; height:100%; }
.show_pc { display: none; }
.show_tb { display: none; }
}
