@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
body,
table,
input, textarea, select, option {
    font-family: Arial, Helvetica, "游ゴシック Medium", "Yu Gothic Medium","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3", HiraKakuPro-W3,  "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
#container {
	padding-top: 100vh;
}

#gHeader {
	padding-left: 28px;
	opacity: 0;
	position: absolute;
	transition: opacity 2s ease .4s, background .5s;
	background: none;
}


#gHeader.showSub {
	background: #fff;
}

.headLogo {
	padding-top: 3px;
}

.sc .headLogo {
	visibility: inherit;
	opacity: 1;
}

.sc #gHeader {
	opacity: .9;
	position: fixed;
	background: #fff;
  transition-delay: 0s;
}

.sc .headLogo {
	display: block;
}

#gFooter {
	position: relative;
}

.pdxTop {
	display: block;
}

.loaded #gHeader,
.loaded .banTitle,
.loaded .banTip,
.loaded .banner > ul,
.loaded .banScroll {
  opacity: 1;
}

.sc #gHeader {
	opacity: .9;
}

.headList li > a,
.banInfo .line,
.whiteText {
	transition: color .6s ease;
}

.linkTo {
	margin-top: 10px;
	text-align: left;
}

.linkTo a {
	font-size: 15px;
	position: relative;
	display: inline-block!important;
	color: #040404;
	font-weight: bold;
	letter-spacing: .5px;
	text-decoration: none;
	transition: opacity.6s ease;
}

.linkTo a:after {
	content: '';
	width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 1px;
	background: #040404;
}

.linkTo a:hover {
	opacity: .5
}

.whiteText .headList > li > a,
.whiteText .banInfo .line {
	color: #fff;
}

.whiteText .headList > li > a:hover {
    color: #778292;
}

.whiteText #gHeader.showSub .headList > li > a {
	color: #000;
}

.whiteText #gHeader.showSub .headList > li > a:hover {
	color: #778292;
}

.whiteText .iconWhite {
	display: block !important;
}

.whiteText .iconBlack {
	display: none !important;
}

.whiteText .language div a:hover {
    color: #999999;
}

.sc .headblank img.iconBlack {
	display: block !important;
}

.sc .headblank img.iconWhite {
	display: none !important;
}

.banTitle h2,
.banTitle .banTitleImg {
	position: relative;
}

.banTitle img {
	transition: opacity .6s ease;
}

.banTitle .iconWh {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.whiteText .banTitle .iconBl {
	opacity: 0;
}

.whiteText .banTitle .iconWh {
	opacity: 1;
}

.sc.whiteText .headList > li > a {
	color: #000;
}

.sc.whiteText #gHeader.showSub {
	background: #fff;
}

.whiteText #gHeader.showSub .headblank .iconWhite {
	display: none !important;
}

.whiteText #gHeader.showSub .headblank .iconBlack {
	display: block !important;
}

.banner {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
}

.hideImg {
  height: 0;
  overflow: hidden;
}

.banInfo {
	width: 1000px;
	position: absolute;
	left: 50%;
	top: 38%;
	transform: translateX(-50%);
	text-align: center;
}

.banTitle {
	position: relative;
  opacity: 0;
  display: inline-block;
  transition: opacity 1s ease;
}

.banTitle h2 {
	margin: 0 auto 12px;
	width: 209px;
}

.banTitle .banTitleImg {
	width: 214px;
}

.banTitle h2 img,
.banTitle .banTitleImg img {
	width: 100%;
}

.banTip {
  opacity: 0;
  transition: opacity 1.5s ease 0.2s;
}

.banInfo .line em {
  font-style: normal;
  padding-left: 1px;
}

.loaded .banInfo .line span {
  transition-duration: 1s;
}

.banInfo .line1 {
  font-size: 48px;
  letter-spacing: -.5px;
  font-family: 'Libre Baskerville', serif;
  line-height:1.7;
}

.banner > ul {
  opacity: 0;
  transition: opacity 2s ease .6s;
}

.banner > ul li {
	padding: 4px 8px;
	color: #333333;
	opacity: 0;
	font-size: 10px;
	position: absolute;
	right: 47px;
	bottom: 30px;
	letter-spacing: .5px;
	transition: opacity .6s ease;
	background: rgba(255,255,255,.8);
}

.banner > ul li.banCurr {
	opacity: 1;
}

a.banScroll {
	font-size: 10px;
	font-weight: bold;
	color: #fff;
	letter-spacing: .5px;
	position: absolute;
	bottom: 29px;
	left: 50%;
	z-index: 2;
	transform: translateX(-50%);
	opacity: 0;
	transition: opacity 1s ease 1s !important;
}

.banScroll:after {
	width: 1px;
	height: 50px;
	position: absolute;
	bottom: -54px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	background: #bfbfbf;
}

#main {
	padding-top: 144px;
	position: relative;
	z-index: 1;
	background: #fff;
}

.intro {
	padding-bottom: 129px;
	margin: 0 auto 0;
	width: 730px;
}

.topHead {
	margin-bottom: 26px;
	font-size: 40px;
	font-weight: normal;
  	font-family: 'Libre Baskerville', serif;
	text-align: center;
}

.topHead02 {
	margin-bottom: 76px;
	position: relative;
}

.topHead02:after {
	width: 100px;
	height: 2px;
	position: absolute;
	bottom: -33px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	background: #000;
}

.intro p {
	margin-bottom: 27px;
}

.topP1 {
	line-height: 1.95;
	font-size: 13px;
	letter-spacing: .66px;
}

.method {
	padding-bottom: 68px;
}

.methodWord {
	margin: 0 auto 120px;
	width: 730px;
}

.methodImg {
	margin: 0 auto;
	width: 972px;
}

.methodImg img {
	width: 100%;
}

.methodWord .topP1 {
	margin-bottom: 41px;
}

.linkToBox {
	box-sizing: border-box;
	text-align: center;
}

.linkToBox a {
	padding: 14px 10px 12px;
	min-width: 200px;
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	transition: background .6s ease,color .6s ease;
	border: 1px solid #000;
	box-sizing: border-box;
}

.linkToBox a:hover {
	color: #fff;
	background: #000;
}

.project {
	padding: 90px 16px 155px;
	margin: 0 auto;
}

.proList {
	padding-top: 29px;
	text-align: center;
	display: flex;
	justify-content: space-around;
}

.proList li {
	width: 30%;
	display: inline-block;
	box-sizing: border-box;
	vertical-align: top;
}

.proList li a:hover .proImg {
	opacity: .6
}

.proList li a {
	display: block;
}

.proImg {
	margin-bottom: 26px;
	transition: opacity .6s ease;
	height: 250px;
}

.proImg img {
	width: 80%;
	height: 100%;
}

.proWord {
	text-align: left;
}

.proWord h4 {
	margin-bottom: 4px;
	font-size: 20px;
	font-family: 'Libre Baskerville', serif;
	letter-spacing: .4px;
}

.link {
	padding-bottom: 164px;
	margin: 0 auto;
	width: 1020px;
	text-align: center;
}

.link ul {
	padding-top: 23px;
}

.link li {
	margin: 0 20px;
	width: 300px;
	display: inline-block;
}

.link li img {
	width: 100%;
	display: block;
	transition: opacity .6s ease;
}

.link li a:hover img {
	opacity: .6;
}

.topSlick {
	margin-bottom: 157px;
}

.topSlick li {
	width: 50%;
	float: left;
}

.topSlick li img {
	width: 100%;
	display: block;
}

.contact {
	padding-bottom: 172px;
	margin: 0 auto;
	width: 705px;
}

.contact .topP1 {
	margin-bottom: 46px;
}

.linkContact.linkToBox a {
	padding-top: 24px;
	padding-bottom: 22px;
	min-width: 400px;
	font-size: 18px;
}
/*20201113 PROJECTS & ARTICLES*/
.projects-articles-single-inner{
	width:1120px;
	margin:0 auto;
}
.projects-articles .intro{
	width:1120px;
}
.projectsWrap{
	margin-top:100px;
}
.articlesWrap{
	margin-top:60px;
  margin-bottom: 30px;
}
.projectsWrap .slick-slide,.articlesWrap .slick-slide{
	margin: 0 30px;
}
.projects-articlesBox{
	float:left;
	transition:.3s;
}
.projects-articlesBox:hover{
	opacity:.7;
}
.projectsWrap .slick-list,.articlesWrap .slick-list {
  padding: 0 !important;
}
.projects-articlesBoxImg{
	background:#0c3d83;
}
.projects-articlesBox img{
	width:100%;
}
.projects-articlesInfo{
	width:100%;
	padding:10px 20px;
}
.projects-articlesInfo .category{
	padding:0;
	font-weight: bold;
}
.projects-articlesInfo p{
    margin:0;
    font-size:18px;
    font-weight:bold;
}
.projects-articlesInfo h5{
	margin-bottom: 14px;
	font-size: 14px;
	letter-spacing: .4px;
	font-weight:normal;
}
button.slick-prev,button.slick-next{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	z-index:10;
	color:transparent;
	width: 1px;
}
.slick-prev,
.slick-next {
  position: absolute;
  top: 33%;
  margin: 0;
  padding: 0;
  line-height: 1;
  cursor: pointer;
  font-weight: bold;
}
.slick-prev {
  left: -20px;
}
.slick-next {
  right: -20px;
}
.slick-prev::before {
  position:absolute;
  content:"";
  width:30px;
  height:30px;
  border-top:2px solid #dcdcdc;
  border-left:2px solid #dcdcdc;
  transform:rotate(-45deg);
  top:-10px;
  left:-20px;
}
.slick-next::after {
  position:absolute;
  content:"";
  width:30px;
  height:30px;
  border-top:2px solid #dcdcdc;
  border-left:2px solid #dcdcdc;
  transform:rotate(135deg);
  top:-10px;
}
@media all and (min-width: 0) and (max-width: 767px) {
	#gHeader {
		padding: 15px 20px;
		transition: 0s;
		opacity: 1;
	}

	.headLogo {
		padding-top: 5px;
	}

	.sc #gHeader {
		opacity: 1;
	}

	.whiteText .headList > li > a:hover {
		color: #000;
	}

	.whiteText .language div a:hover {
		color: #000;
	}

	#gNavi {
		padding: 0;
	}

	.headList > li {
		padding-bottom: 0;
	}

	.headList li.hasMenu:hover > a::after {
		width: 0;
	}

	.headList li.naviCurr a::after {
		width: 0;
	}

	.menuTrigger {
		position: absolute;
	}

	.sc .menuTrigger {
		position: fixed;
	}

	.openMenu .menuTrigger,
	.sc.openMenu .menuTrigger {
		position: fixed;
	}

	.banInfo {
		width: 100%;
	}

	.banTitle::after {
		width: 75px;
		bottom: -36px;
	}

	.banTitle h2 {
		margin-bottom: 10px;
		width: 169px;
	}

	.banTitle .banTitleImg {
		width: 169px;
	}

	.banTitle li {
		margin-right: 13px;
	}

	.banInfo {
		top: 30%;
	}

	.banInfo .line1 {
		margin-bottom: 0px;
		font-size: 30px;
	}

	.banTip {
		margin-top: 10px;
	}

	.banner > ul li {
		padding: 4px 9px;
		right: 0;
		line-height: 1.4;
	}

	#main {
    	padding-top: 94px;
	}

	.intro {
		padding: 0 18px 90px;
		width: auto;
	}

	.topHead {
		margin-bottom: 28px;
		line-height: 1.35;
		font-size: 32px;
		letter-spacing: .5px;
	}

	.topHead02 {
    	margin-bottom: 65px;
	}

	.topHead02::after {
		width: 90px;
		bottom: -27px;
	}

	.topP1 {
		padding-right: 0;
		line-height: 1.77;
		letter-spacing: .55px;
	}

	.intro p {
		margin-bottom: 0;
	}

	.method {
		padding-bottom: 23px;
	}

	.methodWord {
		margin-bottom: 70px;
		padding: 0 18px;
		width: auto;
	}

	.methodImg {
		padding: 0 8px;
		width: auto;
	}

	.methodWord .topP1 {
		margin-bottom: 31px;
	}

	.linkToBox a {
		padding-top: 11px;
		padding-bottom: 10px;
		min-width: 180px;
	}

	.linkToBox a:hover {
		color: #000;
		background: #fff;
	}

	.project {
		padding: 70px 20px 45px;
	}

	.proList {
    	padding-top: 13px;
	}

	.proList li {
		margin-bottom: 44px;
		padding: 0;
		width: auto;
		display: block;
	}

	.proList li a:hover .proImg{
		opacity: 1;
	}

	.proWord h4 {
		font-size: 18px;
		letter-spacing: .5px;
	}

	.linkTo a:hover {
		opacity: 1;
	}

	.link {
		padding: 0 37.5px 65px;
		width: auto;
	}

	.link ul {
		padding-top: 6px;
	}

	.link li {
		margin: 0 0 30px;
		width: 100%;
	}

	.topSlick {
		margin-bottom: 92px;
	}

	.topSlick li {
		width: 100%;
	}

	.contact {
		padding: 0 20px 94px;
		width: auto;
	}

	.contact .topP1 {
		margin-bottom: 36px;
	}

	.linkContact.linkToBox a {
		min-width: 100%;
	}

	.iconWhite {
		display: none !important;
	}

	.iconBlack {
		display: block !important;
	}

	.whiteText .headList li > a {
		color: #000;
	}

	.whiteText .menuTrigger span {
		background: #fff;
	}

	.menuTrigger span {
		transition: background .6s ease;
	}

	.sc.whiteText .menuTrigger span,
	.openMenu.whiteText .menuTrigger span {
		background: #000;
	}
	.projects-articles{
		width:100%;
		padding: 0 18px 90px;
		box-sizing: border-box;
	}
	.projects-articles .intro{
		width:100%;
		box-sizing: border-box;
	}
	.slick-prev {
	  left: 10px;
	}
	.slick-next {
	  right: 25px;
	}
}

@media all and (min-width: 0) and (max-width: 359px) {
	.banInfo .line1 {
		letter-spacing: -2.5px;
	}

	.proWord h4 {
		letter-spacing: 0;
	}
}

@media all and (-ms-high-contrast:none){
	.banner > ul li {
		padding: 6px 8px 2px;
	}

	.topics .pubTitle .pubH::after {
		right: -82px;
	}
}
