@charset "utf-8";

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */
html { font-size: 62.5%; /* 10px */ }
body {
	font-family: /*"小塚ゴシック Pro",*/"Noto Sans JP","メイリオ","ＭＳ Ｐゴシック",Osaka,"ヒラギノ角ゴ Pro W3";
	color: #272a2d;
	font-size: 1.6rem;
	line-height: 160%;
}
/* @media (max-width: 768px) {
	body { font-size: 1.8rem; }
} */
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
@media(max-width:768px){
	.sp_none {
		display: none !important;
	}
}
@media(min-width:769px){
	.pc_none {
		display: none !important;
	}
}

.txtC { text-align: center; }
.txtR{	text-align: right;}
.txtL{	text-align: left;}
.bold{	font-weight: bold;}

.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {    clear: both; }
.cf {    *zoom: 1; }

.w100{width:100%;}
.w20{width: 22%}
.w30{width:28%;}
.w50{width:48%;}
.w70{width:68%;}
@media(max-width:768px){
	.w20,.w30,.w50,.w70{width:100%;}
}

/*_____フレックス_____*/
.flex{
	display: -ms-flexbox;
	display: flex;
}
.justC{justify-content: center;}
.justB{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.justA{
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flexW{
	flex-wrap: wrap;
}
.alignS{align-items: start; }
.alignC{align-items: center;}
.alignB{align-items: baseline;}
@media (max-width: 768px) {
	.sp_flclear{
		display: block;
	}
}

/*_____余白_____*/
.m0auto{margin: 0 auto}
.rightItem{margin: 0 0 0 auto;}

.mb0{margin-bottom: 0;}
.mb10{margin-bottom: 10px;}
.mb15{margin-bottom: 15px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb65{margin-bottom: 65px;}
.mb150{margin-bottom: 150px;}

.mt0{margin-top: 0;}
.mt10{margin-top: 10px;}
.mt15{margin-top: 15px;}
.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}

.mr10{margin-right: 10px;}
.mr20{margin-right: 20px;}
.mr30{margin-right: 30px;}
.mr40{margin-right: 40px;}
.mr50{margin-right: 50px;}

.ml10{margin-left: 10px;}
.ml20{margin-left: 20px;}
.ml30{margin-left: 30px;}
.ml40{margin-left: 40px;}
.ml50{margin-left: 50px;}

.mar10{margin:10px;}
.mar15{margin:15px;}
.mar20{margin:20px;}
.mar30{margin:30px;}

.pt10{padding-top:10px;}
.pt20{padding-top:20px;}
.pt30{padding-top:30px;}

.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}

.pb150{padding-bottom: 150px;}

.pl10{padding-left:10px;}
.pl20{padding-left:20px;}
.pl30{padding-left:30px;}
.pl50{padding-left:50px;}

@media (max-width: 768px){
	.sp_mb0{margin-bottom: 0;}
	.sp_mb10{margin-bottom: 10px;}
	.sp_mb15{margin-bottom: 15px;}
	.sp_mb20{margin-bottom: 20px;}
	.sp_mb30{margin-bottom: 30px;}
	.sp_mb0{margin-top: 0;}
	.sp_mt10{margin-top: 10px;}
	.sp_mt15{margin-top: 15px;}
	.sp_mt20{margin-top: 20px;}
	.sp_mt30{margin-top: 30px;}

	.mb150{margin-bottom: 80px;}
	.pb150{padding-bottom: 80px;}
}

/*_____テキスト_____*/
p{
	line-height: 200%;
}
h1{
	font-size: 35px;
	/* font-family: "Noto Sans CJK JP"; */
  font-weight: 700;
	line-height: 170%;
}
h2{
	font-size: 31px;
	/* font-family: "Noto Sans CJK JP"; */
	line-height: 170%;
	vertical-align: middle;
	text-align: left;
}
h2 span{
  font-size: 14px;
}
h3{
	font-size: 27px;
	line-height: 180%;
	letter-spacing: 0.15em;
	/* font-family: "小塚ゴシック Pro"; */
	text-align: left;
  white-space: nowrap;
}
#en h3{
	letter-spacing: 0;
	white-space: normal;

}
#en h3 span{
	display: block;
	font-size: 18px;
	line-height: 180%;
}

.tx7 {	font-size: 7px; }
.tx9 {	font-size: 9px;  line-height: 170%; }
.tx10 {	font-size: 10px; line-height: 170%; }
.tx11 {	font-size: 11px; line-height: 170%; }
.tx12 {	font-size: 12px; line-height: 170%; }
.tx13 {	font-size: 13px; line-height: 170%; }
.tx14 {	font-size: 14px; line-height: 170%; }
.tx15 {	font-size: 15px; line-height: 150%; }
.tx16 {	font-size: 16px; line-height: 170%; }
.tx17 {	font-size: 17px; line-height: 170%; }
.tx18 {	font-size: 18px; line-height: 130%; }
.tx19 {	font-size: 19px; line-height: 130%; }
.tx21 {	font-size: 21px; line-height: 170%; }
.tx22 {	font-size: 22px; line-height: 130%; }
.tx24 {	font-size: 24px; line-height: 130%; }
.tx30 {	font-size: 30px; line-height: 130%; }
.tx35 {	font-size: 35px; line-height: 130%; }
.tx10h {font-size: 10px; line-height: 200%; }
.tx11h {font-size: 11px; line-height: 200%; }
.tx12h {font-size: 12px; line-height: 200%; }
.tx13h {font-size: 13px; line-height: 200%; }
.tx14h {font-size: 14px; line-height: 190%; }
.tx15h {font-size: 15px; line-height: 180%; }
.tx17h {font-size: 17px; line-height: 200%; }
.tx20h {font-size: 20px; line-height: 100%; }
.tx22h {font-size: 22px; line-height: 180%; }
.tx23h {font-size: 23px; line-height: 180%; }
.tx24h {font-size: 24px; line-height: 200%; }
.tx25h {font-size: 25px; line-height: 200%; }


/*_____リンク_____*/
a,a:link,a:visited {
	text-decoration: none;
}
a:hover,
a:active {
	opacity: 0.8;
}

.title_wrap{
	margin:142px auto 174px!important;
}
.title{
	font-size:6.4rem;
	text-align: left;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.title_en{
	font-size:1.6rem;
}

.midashi{
	font-size:2.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom:80px;
}
#en .midashi{
	letter-spacing: 0;
}
.hr_line{
	border:1px solid #b3b3b3;
}

@media (max-width: 768px) {
	.title_wrap{
		margin:60px auto 80px!important;
	}
	.title{
		font-size:4.6rem;
	}
	.midashi{
		font-size:2.4rem;
		margin-bottom:50px;
	}
}

/*ボタン各種*/
.button{
	font-size: 14px;
  font-weight: 500;
	border: solid #1f2124 1.5px;
	border-radius: 50px;
	padding: 15px 60px;
	transition: 0.5s;
}
.subpage_button{
	width: 300px;
	padding: 15px 10px;
	text-align: center;
}
.black_btn{
	color: #fff;
	background-color: #1f2124;
}
.black_btn:hover{
	background-color: #fff;
	color: #1f2124;
}
.white_btn{
	color: #1f2124;
	background-color: #fff;
}
.white_btn:hover{
	color: #fff;
	background-color: #1f2124;
}

.arrow-type01 .arrow{
	display: inline-block;
	vertical-align: middle;
	margin-left: 15px;
  top: -2px;
	width: 20px;
	height: 2px;
	background-color: #1f2124;
	position: relative;
}
.arrow-type01 .arrow:before,
.arrow-type01 .arrow:after{
	content: "";
	display: block;
	width: 10px;
	height: 2px;
	background-color: #1f2124;
	position: absolute;
	right: -1px;
}
.arrow-type01 .arrow:before{
	top: -3px;
}
.arrow-type01 .arrow:after{
	bottom: -3px;
}
.arrow-type01 .arrow:before{
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.arrow-type01 .arrow:after{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
@media (max-width: 768px) {
  .projectLink {
    margin: 20px auto 40px;
    max-width: 300px;
  }
  .arrowLink {
    width: 42px;
    height: 42px;
  }
  .arrow-type01 .arrow {
    margin-left: 14px;
    top: -4px;
  }
  .arrow-type01 .arrow:before {
    top: -3px;
  }
  .arrow-type01 .arrow:after {
    bottom: -3px;
  }
}

/* -----------------------------------------------------------
ヘッダー
------------------------------------------------------------- */
/*========= ナビゲーションドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav{
	color:#1f2124;
	text-align: center;
	font-size: 14px;
	/* font-family: "小塚ゴシック Pro"; */
}
nav a:link, nav a:visited, nav a:hover, nav a:active {
	color: #1f2124;
}
/*ナビゲーションを横並びに*/
nav ul{
	list-style: none;
	display: flex;
  flex-wrap: wrap;
  justify-content: start;
}
/*2階層目以降は横並びにしない*/
nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
	position: relative;
}
nav.nav_pc ul.main_nav > li {
  padding-left: 10px;
}
@media screen and (max-width:840px){
  nav.nav_pc ul.main_nav > li {
    padding-left: 0;
  }
}

/*ナビゲーションのリンク設定*/
nav ul li a{
	display: block;
	text-decoration: none;
	padding:10px 20px;
	transition:all .5s;
	font-size: 14px;
}
nav ul li li a{
	padding: 10px 5px 10px 10px;
	font-size: 14px;
  font-weight: 500;
}
nav ul li a:hover{
	opacity: 50%;
}

/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before{
	content:'';
	position: absolute;
	right: 0px;
	top:20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 4.25px 0 4.25px;
	border-color: #1f2124 transparent transparent transparent;
}
/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
nav li.has-child ul{
	/*絶対配置で位置を指定*/
	position: absolute;
	left:40px;
	top:35px;
	z-index: 4;
	width: 200px;
	/*形状を指定*/
	background:#1f2124;
	/*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
	/*アニメーション設定*/
	transition: all .3s;
	text-align: left;
}
/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
	visibility: visible;
	opacity: 1;
}
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a{
	color: #fff;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}
nav li.has-child ul li:last-child a{
	border-bottom:none;
}
nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	opacity: 50%;
}

/*==768px以下の形状*/
@media screen and (max-width:768px){
	nav{
		padding: 0;
	}
	nav li.has-child ul,
	nav li.has-child ul ul{
		position: relative;
		left:0;
		top:0;
		width:100%;
		visibility:visible;/*JSで制御するため一旦表示*/
		opacity:1;/*JSで制御するため一旦表示*/
		display: none;/*JSのslidetoggleで表示させるため非表示に*/
		transition:none;/*JSで制御するためCSSのアニメーションを切る*/
	}
	nav ul li a{
		border-bottom:1px solid #ccc;
	}

	/*矢印の位置と向き*/
	nav ul li.has-child::before{
		left:20px;
	}
	nav ul ul li.has-child::before{
		transform: rotate(135deg);
		left:20px;
	}
	nav ul li.has-child.active::before{
		transform: rotate(-45deg);
	}
}
.earth_icon{
	vertical-align: middle;
	position: relative;
	bottom:1px;
}

header.header{
  max-width: 1400px;
  margin: 0 auto;
	padding: 20px 2%;
	align-items: center;
}
header img{
	object-fit: contain;
  max-width: 200px;
  height: auto;
}
header .button{
  display: block;
	padding: 6px 48px;
  font-size: 12px;
  font-weight: bold;
}
@media (min-width: 769px) and (max-width: 1000px) {
  header .button{
    padding: 6px 32px;
  }
}
.language { margin-left: 10px; }
.language li { white-space: nowrap; }
.language_sp .button{
	height: 44px;
  padding: 0;
	color: #fff;
  display: flex;
  line-height: 44px;
}
/*ハンバーガー*/
button#btn_gnav {
  display: none;
}

@media (max-width: 768px) {
  button#btn_gnav {
    display: block;
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    color: #1f2124;
    border: none;
    width: 52px;
    height: 52px;
    cursor: pointer; }
  button#btn_gnav .line {
    display: block;
    height: 2px;
    width: 18px;
    margin: 4px auto;
    background: #1f2124;
    transition: 0.1s; }
  button#btn_gnav.btn_open{
		background: #fff;
	}
	/* button#btn_gnav.btn_open .line{
		background: #383385;
	} */
  button#btn_gnav .txt {
    font-size: 0.9rem; }
  button#btn_gnav.btn_open .line {
    transition: 0.2s;
    width: 23px;
    margin: auto;
    transform-origin: center; }
  button#btn_gnav.btn_open .line:nth-child(1) {
    transform: rotate(45deg) translate(0, 0); }
  button#btn_gnav.btn_open .line:nth-child(2) {
    display: none; }
  button#btn_gnav.btn_open .line:nth-child(3) {
    transform: rotate(-45deg) translate(1px, -1px); }
}

@media (max-width: 768px) {
	header {
		height: auto; }
	#toppage header {
		position: relative; }
	header .header_wrap {
		display: block;
		/* height: 45px; */
		overflow: auto;
	}
	header h1 span { display: inline; }
	header nav {
		display: none;
		padding: 35px 0;
		width: 100% /*calc(100% - 20px)*/;
		position: absolute;
		background: #fff;
		right: 0;
		top: 52px;
		text-align: left;
		z-index: 999;
		/*overflow: auto;*/
		/*スマホの時スクロールする*/
		overflow-x: auto;
		overflow-y: scroll;
		height: 95%;
		/*********************/
		text-align: center;
		font-weight: bold;
	}

	header nav ul {
		display: block;
		width: 86%;
		margin: 0 auto;
		padding: 0; }
  header nav ul.language_sp {
    flex-wrap: nowrap;
  }
	header nav li {
		display: block;
		border-left: 0;
		padding: 0;
		width: 100%;
		box-sizing: border-box;
		font-size: 1.8rem;
	}
	header nav li a {
	  padding: 20px 0;
	  line-height: 1;
	}
	header nav li.header_contact{
		padding:0;
	}
	.header_top_lang{
		margin-top:40px;
	}
	nav ul li.has-child::before{
		display: none;
	}
}
.child-list{ display: none; }
.nav-open{
	position: relative;
	font-size: 14px;
	border-bottom: 1px solid #ccc;
	padding: 15px 0;
	cursor:pointer;
	transition:all .5s;
}
.nav-open:hover{
		opacity: 50%;
}
.nav-open::before{/* 閉じている時 */
  content: "＋";
	position: absolute;
	right: 20px;
}
.nav-open.active::before{/* 開いている時 */
  content: "－";
}

/* -----------------------------------------------------------
フッター
------------------------------------------------------------- */
footer{
	background-color: #373b40;
	text-align: center;
  font-weight: 400;
  /* font-size: 12px; */
  margin-block-start: 0 !important;
}
footer img{
	object-fit: contain;
  max-width: 220px;
  height: auto;
}
footer .button{
  padding-top: 0;
  padding-bottom: 0;
	height: 55px;
  line-height: 55px;
}
footer p,footer a{
	color: #fff;
}
.footer_content{
	width: 90%;
  max-width: 1060px;
	padding: 100px 0 50px 0;
	margin: auto;
	text-align: left;
}
.footer_content > div:first-child {
  margin-bottom: 40px;
}
.sitemap {
  margin-right: 1em;
  margin-bottom: 2em;
	font-size: 16px;
}

.parentItem {
	margin-bottom: 20px;
  /* font-size: 16px; */
}
.twoTone{
	position: relative;
	width: 250px;
	padding: 10px 10px 10px 0;
	color: #ffffff;
	border-bottom: 2px solid #fff;
}
.twoTone::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 40px;
	height: inherit;
	border-bottom: 2px solid #666666;
}
.address{
	font-size: 14px;
	margin-left: 30px;
}
.copyright{
	margin: auto;
  width: 96%;
	color: #fff;
	border-top: solid 1px #fff;
	display: block;
	padding: 20px 0;
  font-size: 13px;
}
@media (max-width: 768px) {
  .footer_content{
    padding-top: 60px;
  }
  .sitemap + .sitemap {
    margin-top: 1em;
    margin-bottom: 2em;
  }
  .address{
    margin: 10px auto;
  }
  .copyright{
    font-size: 12px;
  }
}


/* -----------------------------------------------------------
トップ
------------------------------------------------------------- */
/*メイン*/
/*=== 9-1-2 丸が動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown{
	/*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:70vh;
	right:5%;
}

/*Scrollテキストの描写*/
.scrolldown span{
	/*描画位置*/
	position: absolute;
	right:-12px;
	bottom:-45px;
	/*テキストの形状*/
	color: #1f2124;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown:before {
	content: "";
	/*描画位置*/
	position: absolute;
	bottom:0;
	left:-4px;
	/*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#1f2124;
	/*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
	circlemove 1.6s ease-in-out infinite,
	cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
	0%{bottom:45px;}
	100%{bottom:-5px;}
}

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
	0%{opacity:0}
	50%{opacity:1;}
	80%{opacity:0.9;}
	100%{opacity:0;}
}

/* 線の描写 */
.scrolldown:after{
	content:"";
	/*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
	/*線の形状*/
	width:2px;
	height: 50px;
	background:#1f2124;
}


.main_visual{
	background-position: center;
	height: 100vh;
}
.main_content{
  width: 90%;
	max-width: 1060px;
	margin: auto;
	padding: 5% 0;
}

/* video */
.video{
  width: 100%;
  height: 100vh;
  /* background: url(../imgs/main_bg.jpg) no-repeat center/cover; */
  background-color: #FFF;
  position: absolute;
  top: 130px;
  left: 0;
  overflow: hidden;
  z-index: -1;
}
.video video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-color: #FFF;
}

@media screen and (max-width: 768px) {
  .video{
    top: 100px;
  }
}

/*section01*/
.gradation_bg01{
	background-image: linear-gradient(to top, #f7f7f7 0%, #e2e2e6 100%);
}
.section_content{
  width: 90%;
  max-width: 1060px;
	margin: auto;
	/* text-align: center; */
}
.section01_Txt{
	max-width: 65%;
	text-align: left;
	margin-bottom: 20px;
  margin-left: 1em;
}
.section01, .section02, .section03{
	padding: 120px 0 80px 0;
}
.section02 {
  padding-top: 70px;
}

/*ニュース*/
.newsTable{
	text-align: left;
	/* font-family: "小塚ゴシック Pro"; */
	font-weight: 500;
	letter-spacing: 0.05em;
	border-top: solid #cccccc 1px;
	border-bottom: solid #cccccc 1px;
	width: 100%;
	margin: 50px 0;
}
.newsTable th{
	font-size: 12px;
	padding: 32px 0;
	width: 10%;
}
.newsTable tr:first-child th { padding-top: 40px; }
.newsTable tr:last-child th  { padding-bottom: 40px; }
.newsTable a{
  color: inherit;
  text-decoration: underline;
}

/*プロジェクト*/
.gradation_bg02{
	background-image: linear-gradient(-45deg, #c1d3e3 0%, #e5e1e8 100%);
	border-top-right-radius: 250px;
}
.projectFlex{
	margin: 100px auto 60px auto;
}
.buttonBox{
	text-align: right;
}
.projectBox{
	max-width: 30%;
}
.projectLink p{
	font-size: 22px;
	font-weight: bold;
	color: #1f2124;
}
.projectLink{
	max-width: 93%;
	margin: 40px auto;
}
.flex_reverse{
	flex-direction:row-reverse;
	justify-content:flex-end;
}
.arrowLink{
	width: 48px;
	height: 48px;
	background-color: #fff;
	border-radius: 100%;
}
/*共同利用とか*/
.gray_bg{
	width: 100%;
	margin: auto;
	background-color: #f3f4f4;
	padding: 90px 0;
}

.section04 .flex{
	align-items: center;
	margin: 80px 0;
  overflow: hidden;
}
.section04 .flex + .flex {
  margin-top: 160px;
}
.otherLink{
  width: 35%;
  max-width: 380px;
  margin-left: 5%;
}
.flex_reverse .otherLink {
  margin-left: 50px;
  margin-right: 5%;
}
.other_link01{
	border-radius: 60px 0px 0px 60px;
}
.other_link02{
	border-radius: 0px 60px 60px 0px;
}


/*モーダル*/
.md-overlay{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .7;
	z-index: 9999;
}
.md-contents{
	display: none;
	position: fixed;
	top: 10px;
	left: 50%;
	width: 95%;
	height: auto;
	overflow: hidden;
	transform: translateX(-50%);
	z-index: 10000;
}
.md-inner{
	/* padding: 150px 0px; */
  /* height: auto; */
  height: calc(100vh - 10px);
	text-align: center;
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.md-xmark{
	position: absolute;
	top: 34px;
	right: 20px;
	width: 25px;
	height: 22px;
	z-index: 9999;
	cursor: pointer;
}
.md-xmark span {
	height: auto;
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #FFF;
	border-radius: 4px;
}
.md-xmark span:nth-of-type(1) {
	top: 0;
	transform: translateY(10px) rotate(-45deg);
}
.md-xmark span:nth-of-type(2) {
	bottom: 0;
	transform: translateY(-10px) rotate(45deg);
}
.iframeWrapper {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.75%;
  margin: 0 auto;
}
.iframeWrapper iframe {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
@media (max-width: 768px) {
	.scrolldown span{
		right: -15px;
	}
	.main_visual{
		height: 70vh;
	}
	.section01, .section02, .section03 {
		padding: 50px 0;
	}
	.section_content, .otherLink{
		max-width: 96%;
		margin: auto;
	}
  .otherLink, .flex_reverse .otherLink {
    width: 100%;
    max-width: 100%;
  }
  .section01_Txt {
    margin: 1em auto;
    max-width: 100%;
  }
  .newsTable {
    margin-top: 20px;
  }
	.newsTable th{
		width: 30%;
		font-size: 14px;
	}
		.subpage_button{
			width: 100%;
			padding: 15px 10px!important;
		}
	.button{
		max-width: 80%;
		display: block;
		text-align: center;
		margin: 20px auto;
    padding: 15px 42px;
	}
	.projectBox{
    width: 100%;
    max-width: 100%;
	}
	.projectFlex{
		margin: 50px auto 0;
	}
	.gray_bg{
		padding: 20px 0;
	}
}
@media (max-width: 1000px) {
	.section01 .button{
		display: block;
		margin: 20px auto;
		text-align: center;
	}
	.gray_bg .flex{
		display: block;
		text-align: center;
	}
  .section04 .flex {
    width: 90%;
    margin: 0 auto;
  }
  .section04 .flex + .flex {
    margin-top: 40px;
    margin-bottom: 40px;
  }
	.otherLink, .flex_reverse .otherLink {
		width: 100%;
    max-width: 100%;
		text-align: left;
		margin: 50px auto;
	}
	.other_link01,.other_link02{
		border-radius: 0px;
		margin: 0 auto;
	}
}
@media screen and (min-width: 1200px) {
  .otherLink {
    margin-left: calc((100% - 1080px) / 2);
  }
  .flex_reverse .otherLink {
    margin-left: auto;
    margin-right: calc((100% - 1080px) / 2);
    white-space: nowrap;
    width: auto;
  }
}


	/* アコーディオン用css */

	.accordion_toggle {
		display: none;
	}
	.accordion_option {
		position: relative;
		margin-bottom: 1em;
	}
	.accordion_title,
	.accordion_content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.accordion_title {
		display: block;
	}
	.joint_contents .accordion_title{
		background-color: #4D4D4D;
		color: #fff;
		padding: .5em 1em;
		border-radius: 5px;
	}
	.accordion_title::after,
	.accordion_title::before {
		content: "";
		position: absolute;
		right: 1.5em;
		top: 1em;
		width: 3px;
		height: 1em;
		background-color: #999;
		transition: all 0.3s;
	}
	.joint_contents .accordion_title::after,
	.joint_contents .accordion_title::before{
		background-color: #fff;
	}
	.accordion_title::after {
		transform: rotate(90deg);
	}
	.accordion_content {
		max-height: 0;
		overflow: hidden;
	}
	.accordion_content p {
		margin: 0;
		padding: 0.5em 1em 1em;
		font-size: 0.9em;
		line-height: 1.5;
	}
	.accordion_toggle:checked + .accordion_title + .accordion_content {
		max-height: 3000px;
		transition: all 1.5s;
	}
	.accordion_toggle:checked + .accordion_title::before {
		transform: rotate(90deg) !important;
	}

	@media (max-width: 768px) {
		.accordion_title{
			font-size: 20px;
		}
	}

/* -----------------------------------------------------------
about 国際GISセンターについて
------------------------------------------------------------- */
.about_content p{
	text-align: left;
	line-height: 2.25em;
}
.about_img{
	width: 100%;
}

/* -----------------------------------------------------------
member メンバー
------------------------------------------------------------- */
.member_container{
	margin-bottom: 100px;
}

.member_name{
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 10px;
}
.member_name img{
	width: 25px;
	height: auto;
	margin-left: 10px;
	margin-right: 20px;
}
.member_name a:link,.member_name a:visited,.working_contents a:visited {
	color: #272A2D;
}
.member_innerL img{
	border-radius: 15px;
	max-width: 150px;
}
.member_innerR p{
	margin-top: 15px;
}
.member_facultytype{
	margin-left: 15px;
	border: 1px solid #1F2124;
	border-radius: 5px;
	padding: 0 15px;
	font-weight: bold;
}
#en .member_facultytype{
	padding: 0 10px;
	font-size: 0.8em;
}

@media (max-width: 768px) {
	.member_container .ml30{
		margin: 20px auto 0px auto;
	}
	#en .member_facultytype{
		margin-left: 0px;
	}
}

/* -----------------------------------------------------------
working 活動・成果
------------------------------------------------------------- */
.working_table{
	line-height: 2.5em;
	width: 100%;
	font-size: 14px;
	margin-bottom: 100px;
}
.working_table tr{
	border-top: solid 1px #999999;
}
.working_table tr:last-child{
	border-bottom: solid 1px #999999;
}
.working_table th{
	width: 10%;
}
.working_table td{
	padding: 25px;
}
.working_contents a{
	border-bottom: solid 1px #000;
	color: #272A2B;
}

/* -----------------------------------------------------------
access アクセス
------------------------------------------------------------- */
.access_indent{
	padding-left: 24px;
	text-indent: -24px;
}
.access_maplink{
	color: #000;
	border-bottom: solid 1px #000;
}

/* -----------------------------------------------------------
projects プロジェクト
------------------------------------------------------------- */
.projects_content p{
	text-align: left;
	line-height: 2.25em;
}

/* -----------------------------------------------------------
joint 共同利用・共同研究
------------------------------------------------------------- */
.joint_contents p{
	line-height: 2.25em;
}
.joint_contents .img100{
	width: 100%;
}
.joint_category{
	background-color: #fff;
	border-radius: 5px;
	width: 130px;
	height: 25px;
	margin: auto;
}
.joint_category p{
	color: #666666;
	line-height: .5em;
	font-weight: bold;
}
.joint_category_table{
	font-size: 14px;
	line-height: 170%;
	background-color: #fff;
	margin-top: -20px;
}
.joint_category_table th{
	background-color: #F2F0ED;
	padding: 1px;
	font-weight: normal;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
}
.joint_category_table td{
	border-bottom: 1px dotted #000;
}
.joint_category_table th:first-child{
	border-right: 1px dotted #000;
}
.joint_category_table td:first-child{
	width: 68%;
	text-indent: -1em;
	border-right: 1px dotted #000;
}
.joint_category_table td{
	padding: 0px 25px;
	vertical-align: middle;
	height: 4em;
}
#en .joint_category_table td:last-child{
	padding: 0px 5px;
}
.joint_table ,.joint_category_table{
	width: 100%;
}
.joint_table td{
	padding: 20px;
	width: 50%;
	text-align: center;
	vertical-align:middle;

}
.joint_table td:first-child, .joint_table th:first-child{
	background-color: #F2F0ED;
}
.joint_table td:last-child, .joint_table th:last-child{
	background-color: #fff;
}
.joint_table tr{
	border-top: solid 1px #808080;
}
.joint_table tr:last-child{
	border-bottom: solid 1px #808080;
}
.joint_stepbar li{
	font-size: 14px;
	line-height: 1em;
}
.joint_stepcircle{
	font-size: 16px;
	font-weight: bold;
	background-color: #fff;
	border-radius: 50%;
	display: inline-block;
	height: 35px;
	margin-bottom: 20px;
	line-height: 32px;
	text-align: center;
	width: 35px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	position: relative;
	z-index: 1000;
}
.joint_step{
	position: relative;
}
.joint_bar{
	width: 800px;
	max-width: 80%;
	border: none;
	border-bottom: 1pt #666666 dotted;position: absolute;
	top: 2%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.joint_due{
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	color: #005A96;
}
.joint_format li{
	font-weight: bold;
	line-height: 3em;
	color: #000;
}
.joint_pdf::after {
	content: url(../imgs/joint_pdf.png);
	vertical-align: middle;
	padding-left: 1em;
}
.joint_txt::after {
	content: url(../imgs/joint_txt.png);
	vertical-align: middle;
	padding-left: 1em;
}
.joint_member_table{
	width: 100%;
}
.joint_member_table th{
	background-color: #CCCCCC;
	height: 3em;
	vertical-align: middle;
}
.joint_member_table td:first-child{
	width: 75%;
	padding: 20px;
}
.joint_member_table td{
	height: 4em;
	font-size: 14px;
	background-color: #fff;
	border-bottom: 0.5pt solid #999999;
}
.joint_member_table td:last-child{
	text-align: center;
}
@media (max-width: 768px) {
	.joint_step li{
		margin: 70px auto;
	}
}

/* -----------------------------------------------------------
facilities 施設・設備
------------------------------------------------------------- */
.facilities_content img{
	border-radius: 30px;
	margin-bottom: 10px;
}
.facilities_datalist p{
	border-radius: 8px;
	padding: 0 20px;
	font-weight: bold;
	background-color: #4d4d4d;
	color: #FFF;
	display: inline-block;
}
.facilities_datalist li{
	font-weight: bold;
	font-size: 18px;
	list-style: disc;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.facilities_datalist li li{
	font-size: 16px;
	font-weight: normal;
	margin-left: 1.5em;
}
.facilities_datalist li li li{
	list-style: none;
	margin-left: 0;
}

@media (max-width: 768px) {
	.facilities_content td:last-of-type{
		padding: 5px;
	}
}
/* -----------------------------------------------------------
education 教育・研修
------------------------------------------------------------- */
.education_contents img{
	width: 100%;
}
.education_contents a{
	color: inherit;
	text-decoration: underline;
}
/* .education_contents th{
	white-space: nowrap;
} */
.training_table th{
	white-space: nowrap;
	text-align: left;
	padding-left: 1rem;
}
.joint_format li{
	font-weight: bold;
	line-height: 3em;
	color: #000;
}


/* -----------------------------------------------------------
contact お問い合わせ
------------------------------------------------------------- */
.red{color: #ED1C24}
.contact_table{
	width: 100%;
}
.contact_table th{
	font-weight: normal;
	width: 25%;
	height: 5em;
	vertical-align:top;
}
.form-text,.form-textarea{
	width: 100%;
	border: solid 1px #999999;
	border-radius: 8px;
}
.form-text{
	height: 3em;
}
.form-textarea{
	height: 150px;
}

/*--追加--*/
.contact_circle{
	font-size: 18px;
	color: #808080;
}
@media (max-width: 768px) {
	.contact_table th,.contact_table td{
		display: block;
		width: 100%;
	}
	.contact_table th{
		height: auto;
	}
}

/* -----------------------------------------------------------
CMS　各記事
------------------------------------------------------------- */
.wp-site-blocks{
	padding-top: 0px!important;
	padding-bottom:0px!important;
}
.wp-element-button, .wp-block-button__link{
	color:#fff!important;
}
.kiji_maxwnone{
	max-width: none!important;
}
.kiji_maxwnone p{
	max-width: none!important;
}
.kiji_title{
	font-size:3.2rem!important;
	font-weight: bold;
	margin-left: 0!important;
}
.kiji_tag a{
	font-size:1.6rem!important;
	color:#666666;
  pointer-events: none; /*リンク無効化*/
}
.kiji_tag a:before {
  content: "#";
}

.kiji_mb0{margin-bottom: 0!important;}
.kiji_mb10{margin-bottom: 10px!important;}
.kiji_mb15{margin-bottom: 15px!important;}
.kiji_mb20{margin-bottom: 20px!important;}
.kiji_mb30{margin-bottom: 30px!important;}
.kiji_mb40{margin-bottom: 40px!important;}
.kiji_mb50{margin-bottom: 50px!important;}
.kiji_mb80{margin-bottom: 80px!important;}
.kiji_mb150{margin-bottom: 150px!important;}

.kiji_mt0{margin-top: 0!important;}
.kiji_mt10{margin-top: 10px!important;}
.kiji_mt15{margin-top: 15px!important;}
.kiji_mt20{margin-top: 20px!important;}
.kiji_mt30{margin-top: 30px!important;}
.kiji_mt40{margin-top: 40px!important;}
.kiji_mt50{margin-top: 50px!important;}

.kiji_mr10{margin-right: 10px!important;}
.kiji_mr20{margin-right: 20px!important;}
.kiji_mr30{margin-right: 30px!important;}
.kiji_mr40{margin-right: 40px!important;}
.kiji_mr50{margin-right: 50px!important;}

.kiji_ml10{margin-left: 10px!important;}
.kiji_ml20{margin-left: 20px!important;}
.kiji_ml30{margin-left: 30px!important;}
.kiji_ml40{margin-left: 40px!important;}
.kiji_ml50{margin-left: 50px!important;}

.kiji_mar10{margin:10px!important;}
.kiji_mar15{margin:15px!important;}
.kiji_mar20{margin:20px!important;}
.kiji_mar30{margin:30px!important;}

.kiji_button{
	color: #fff!important;
}
.kiji_button:hover{
	color: #000!important;
}

@media (max-width: 768px) {
	.kiji_mb150{margin-bottom: 80px!important;}
}

/* -----------------------------------------------------------
共同利用・共同研究アーカイブ
------------------------------------------------------------- */
.jointdata_accordion_option{
	background: #fff;
}
.jointdata_accordion_content{
	margin:20px;
}
.jointdata_accordion_content p{
	font-size:1.6rem!important;
}

.jointdata_table_design {
	border:  1px solid #000;
}
.jointdata_table_design tr {
	border-bottom: 1px solid #000;
	font-size:1.6rem;
}
.jointdata_table_design th{
	width:20%;
	background-color: #CCCCCC;
	text-align: left;
	padding:18px 12px;
	vertical-align:middle;
}
.jointdata_table_design td{
	padding:12px;
}
.jointdata_table_design td ul li{
	margin:6px 0;
}

.jointdata_search_title{
	font-weight: bold;
	font-size:1.8rem!important;
	padding:0px!important;
	margin:30px 0 10px 0!important;
}

select.postform {
	width: 35%;
	font-size:1.6rem;
  background-image:
    linear-gradient(45deg, transparent 50%, #000 50%),
    linear-gradient(135deg, #000 50%, transparent 50%),
    linear-gradient(to right, #000, #000);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}
:focus-visible{
	outline: none;
}
select {
  /* styling */
  background-color: white;
  border: 1px solid #000;
  border-radius: 5px;
  display: inline-block;
  font: inherit;
  line-height: 1.5em;
  padding: 5px;
  padding-left:20px;
  /* reset */
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.jointdata_radio{
	font-size:1.6rem;
}
.jointdata_radio,.jointdata_radio input{
	cursor: pointer;
}
.check{
	transform:scale(1.5);
	margin-right:10px;
}

.keyword_search input {
	width: 100%;
	height: 45px;
	border: #404040 1px solid;
	border-radius: 10px;
	font-size: 1.5rem;
	padding: 0 0px;
	margin: auto;
}
#s-box {
	box-sizing: border-box;
	padding: 0 15px;
}
::placeholder {
	padding-left:1rem;
}

#result {
	font-size:1.6rem;
}
.result_list {
	list-style:none;
	font-weight:600;
	font-size:1.6rem;
	border-top : #C8C9CB 1px solid;
	padding:1.5rem 0;
  flex-wrap: nowrap;
}
.result_link{
	text-decoration: none!important;
}
.result_link a:last-child .result_list {
	border-bottom : #C8C9CB 1px solid;
}
.result_day {
	color: #909090;
	padding-left: 1rem;
  min-width: 14%;
  text-align: left;
}

@media (max-width: 768px) {
	.jointdata_table_design td,.jointdata_table_design th{
		display: block;
	}
	.jointdata_table_design th{
		width:100%;
	}
	.result_day {
		width:100%;
	}
  .result_list {
    flex-wrap: wrap;
  }
	.result_title{
		padding-left: 1rem;
	}
}

.loadmore {
  font-weight: 700;
}
.moreloading {
  display: none;
  text-align: center;
}
.loadmore.is-show,
.moreloading.is-show {
	display: block !important;
}
.loadmore.is-hide,
.moreloading.is-hide {
	display: none !important;
}


/* -----------------------------------------------------------
翻訳プラグイン調整
------------------------------------------------------------- */
.gt_float_switcher::before {
  content: "Translate this page";
  font-size: 12px;
  padding: 10px;
}
.gt_float_switcher img {
  display: none !important;
}
