@charset "utf-8";

/* = base.php
----------------------------------------------- */

html,body {
  margin: 0; padding: 0; width: 100%; /* フッター固定に必要な記述 */
  max-width:100% !important;overflow-x:hidden;font-size:10px;}

body {
	font-family: lato, dnp-shuei-gothic-kin-std, sans-serif;
	letter-spacing:0.05em;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-weight:400;
	color: #1A1A1A;
	background-color:#FFF;}
	
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}	

.PC {
	display: block;}
.TB {
	display: none;}
.SP {
	display: none;}

img { /* レスポンシブ時の画像設定 */
	max-width: 100% !important;
	height: auto !important;
	vertical-align: middle !important;}
a,a:link,a:visited,a:active {
	color: #777;}
a:hover {
	text-decoration: none;}


.contentWrap{
	padding:0 4vw; 
}

.shuei{
font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-weight: 400;
font-style: normal;
}
.lato{
font-family: lato, sans-serif;
font-weight: 300;
font-style: normal;
}

.coverImg{
	width:100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.innerWrap{
	width:100%;
	padding:0 4.4vw
}

.portrait32{
	width:100%;
	height:0;
	padding-top:150%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.portrait43{
	width:100%;
	height:0;
	padding-top:133.3333%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.portrait54{
	width:100%;
	height:0;
	padding-top:125%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.square{
	width:100%;
	height:0;
	padding-top:100%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.landscape23{
	width:100%;
	height:0;
	padding-top:66.6666%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.landscape34{
	width:100%;
	height:0;
	padding-top:75%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.landscape12{
	width:100%;
	height:0;
	padding-top:42.5532%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.landscape916{
	width:100%;
	height:0;
	padding-top:56.25%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}
.js-trigger.fadeUp{
	-webkit-transform: translate(0, 4rem);
	transform: translate(0, 4rem);
	visibility:hidden;
	opacity:0;
	-webkit-transition: all 1.5s;
	transition: all 1.5s;
}
.js-trigger.fadeUp.is-active{
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	visibility:visible;
	opacity:1;
}

.js-trigger.fadeIn{
	visibility:hidden;
	opacity:0;
	-webkit-transition: all 1.5s;
	transition: all 1.5s;
}
.js-trigger.fadeIn.is-active{
	visibility:visible;
	opacity:1;
}
.js-trigger.fadeDown{
	-webkit-transform: translate(0, -6rem);
	transform: translate(0, -6rem);
	-webkit-transition: all 1.5s;
	transition: all 1.5s;
	visibility:hidden;
	opacity:0;
}
.js-trigger.fadeDown.is-active{
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	visibility:visible;
	opacity:1;
}
.js-trigger.fadeLeft{
	-webkit-transform: translate(-4rem, 0);
	transform: translate(-4rem, 0);
	-webkit-transition: all 1.5s;
	transition: all 1.5s;
	visibility:hidden;
	opacity:0;
}
.js-trigger.fadeLeft.is-active{
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	visibility:visible;
	opacity:1;
}
.js-trigger.fadeRight{
	-webkit-transform: translate(4rem, 0);
	transform: translate(4rem, 0);
	-webkit-transition: all 1.5s;
	transition: all 1.5s;
	visibility:hidden;
	opacity:0;
}
.js-trigger.fadeRight.is-active{
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	visibility:visible;
	opacity:1;
}


/* = modal
----------------------------------------------- */

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height:100%;
    overflow: hidden;
	overflow-y: auto; 
	-webkit-overflow-scrolling: touch;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
    -webkit-transition: all .5s;
	transition: all .5s;
    visibility: hidden;
    opacity: 0;
}
.modalVisual{
	position:absolute;
	top:0;
	right:0;
	width: 50%;
	height: 100%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	z-index: 9;
}
.modalVisual .copyright{
	position:absolute;
	right: 4vw;
bottom: 2.4vw;
	color:#ffffff !important;
}
.modalInner{
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-direction:normal;
    -moz-box-direction:normal;
    -webkit-box-orient:horizontal;
    -moz-box-orient:horizontal;
    -webkit-flex-direction:row;
    -moz-flex-direction:row;
    flex-direction:row;
    webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 50%;
	height: 100%;
	background: #505050;
	position:relative;
	z-index:999;
}
.modalLogoWrap{
	position:absolute;
	left:4vw;
	top:2.4vw;
	width:16.8vw;
	height: auto;
	z-index: 999999;
}
.modalLogo{
	width:16.8vw;
	height: auto;
}
.modalFooterNav{
	position:absolute;
	left:4vw;
	bottom:2.4vw;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-direction: normal;
	-moz-box-direction: normal;
	-webkit-box-orient: horizontal;
	-moz-box-orient: horizontal;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	z-index: 99999;
}
.modalFooterNav li {
	margin-right: 4rem;
}
.modalFooterNav li a {
	font-size: 1.2rem;
	line-height: 1.3rem;
	color: #ffffff;
	letter-spacing: 0.1em;
	font-weight: 400;
	text-decoration: none;
	position:relative;
	z-index: 99999;
}
.modalMenu{
	position:relative;
	z-index:99999;
	width:100%;
	padding-left:4vw;
	margin-top: 7.2rem;
}

.modalMenu li a{
	position:relative;
	font-size:3.6rem;
	line-height:4rem;
	letter-spacing:0.025em;
	font-weight:400;
	color:#ffffff;
	text-align:left;
	text-decoration:none;
	padding: 2rem 0;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.modalMenu li a:hover{
	opacity:.6;
}
.modalMenu li a span{
	font-size:1.3rem;
	font-weight:600;
	margin-left:2rem;
	letter-spacing: 0.175em;
	position: relative;
	bottom: .4rem;
} 
.modalMenu li{
	margin-top:2.8rem;
}
.modalMenu li:first-child{
	margin-top:0px;
}
.close{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:99;
	display:none;
	cursor:pointer;
}
.open .close{
	display:block;
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .modal {
    -webkit-transition: all .5s;
	transition: all .5s;
    visibility: visible;
    opacity: 1;
	z-index:9000;
}
.menu-trigger,
.menu-trigger span {
	display: block;
	-webkit-transition: all .2s;
	transition: all .2s;
	box-sizing: border-box;
}
.menu-trigger {
	position:fixed;
	top:2.4vw;
	right:0;
	width: 15.2rem;
	height: 4.8rem;
	padding: 0 2rem;
	z-index:999;
	-webkit-transition: all .2s;
	transition: all .2s;
	z-index: 999999;
	background:#ff0000;
	text-decoration: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.triggerTxt::before{
	content:"MENU";
	font-size: 1.6rem;
	line-height: 4.8rem;
	color: #ffffff;
	letter-spacing: 0.1em;
	font-weight: 600;
	text-decoration: none;
}
.open .triggerTxt::before{
	content:"CLOSE";
}
.triggerIcon{
	position:relative;
	width:4rem;
	height:.8rem;
}
.open .menu-trigger{
	background:#000000;
}
.menu-trigger span {
	position: absolute;
	width: 4rem;
	height: 1.5px;
	background-color: #ffffff;
	border-radius: 0px;
	z-index:9999;
	left:0px;
}

/* IE10 & IE11 */
_:-ms-input-placeholder, :root .menu-trigger span {
        color:#000;
}
.menu-trigger span:nth-of-type(1) {
	top:0rem;
}
.menu-trigger span:nth-of-type(2) {
	bottom:0rem;
	width:2rem;
}
.menu-trigger:hover span:nth-of-type(1) {
	background-color: #ffffff !important;
}
.menu-trigger:hover span:nth-of-type(2) {
	width:4rem;
	background-color: #ffffff !important;
}

.open .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(.2rem) rotate(-45deg);
	transform: translateY(.2rem) rotate(-45deg);
	background-color: #ffffff !important;
}
.open .menu-trigger span:nth-of-type(2) {
	-webkit-transform: translateY(-.4rem) rotate(45deg);
	transform: translateY(-.4rem) rotate(45deg);
	width:4rem;
	bottom:0rem;
	background-color: #ffffff !important;
}


/* = header.php
----------------------------------------------- */

#skrollr-body {
  }
#wrap {
  width:100%;
  margin: 0 auto 0;
  height: auto; /* フッター固定に必要な記述 */
  position: relative;
  }
  

.logoWrap{
	position:absolute;
	top:2.4vw;
	left:4vw;
	-webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -ms-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s;
}

.logo{
	position:relative;
	z-index:99;
}
.logo img{
	width: 16.8vw;
height: auto;
position: relative;
left: -0.2vw;
}

#header{
	z-index:9000;
	-webkit-transition: all .5s;
	transition: all .5s;
	position:relative;
}

.mainNav{
	width:24%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row-reverse;
	-moz-flex-direction:row-reverse;
	flex-direction:row-reverse;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	position:relative;
	right:auto;
	bottom:auto;
}
.scrolled #home .mainNav{
	position:fixed;
	right:4vw;
	bottom:2.4vw;
}

.mainNav ul{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row-reverse;
	-moz-flex-direction:row-reverse;
	flex-direction:row-reverse;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.mainNav ul li{
	display:block;
	width:2rem;
	margin-left:2.8rem;
}
.mainNav ul li a{
	display:inline-block;
	width:2rem;
	font-size: 1.5rem;
	line-height: 2.2em;
	color: #1A1A1A;
	letter-spacing: 0.25em;
	font-weight: 500;
	text-decoration: none;
	writing-mode:vertical-rl;
	text-align:center;
	-webkit-transition: all .2s;
	transition: all .2s;
	position:relative;
}
.mainNav ul li a:hover{
	color:#ff0000;
}
.mainNav ul li a.current{
	color:#ff0000;
	font-weight: 600;
}
.mainNav ul li a::after{
	content:"";
	width:.6rem;
	height:.6rem;
	background:#ff0000;
	position:absolute;
	top:-1.6rem;
	left:0;
	display:none;
}
.mainNav ul li a.current::after{
	display:block;
}

/* = home
----------------------------------------------- */

.firstView{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding-top:2.4vw;
	padding-bottom:2.4vw;
}
.catchWrap{
	width:24%;
	position:relative;
	bottom:auto;
	left:auto;
}
.scrolled .catchWrap{
	position:fixed;
	bottom:2.4vw;
	left:4vw;
}

.topSlideWrap{
	width:52%;
	margin-left:0;
}
.scrolled .topSlideWrap{
	margin-left:24%;
}
.swiper-container{
	width:100%;
	overflow:visible !important;
}
.swiper-wrapper{
	width:100%;
}
.scaleImage{
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%) scale(1.002);
	transform: translate(-50%, -50%) scale(1.002);
	padding-top:116.6666%;
	width:100%;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}

.swiper-slide-active .scaleImage{
	animation: scaleMin 6s linear forwards;
}

@keyframes scaleMin {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1.06);
	transform: translate(-50%, -50%) scale(1.06);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
  }
}

.topSlide .slideImage{
	position:relative;
	width:100%;
	padding-top:116.6666%;
	overflow:hidden;
	background:#ffffff !important;
}
.catchJP{
	width:14.4791vw;
	height:auto;
}
.catchEN{
	width:9.5057vw;
	height:auto;
	margin-top:3.6718vw;
}

.swiper-pagination{
	position:relative !important;
	margin-top:8vw;
	text-align: left !important;
	transition:none !important;
	-webkit-transition: all .5s;
	transition: all .5s;
}

/* ==========================
  ページネーションの間隔を調整
========================== */
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px !important;
}

/* ==========================
  円形のページネーションを作成
========================== */
.circle-pagination {
  position: relative;
  width: 1.8rem;
  height: 4rem !important;
  z-index: 1;
  background-color: #ffffff !important;
  text-align: center;
  overflow: hidden;
  margin-right: .8rem !important;
  cursor: pointer;
  font-size: 1.7rem;
  font-weight:600;
  opacity: 1;
  border-radius:0 !important;
  z-index:0 !important;
}

.circle-pagination .circle-pagination_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 4rem !important;
  background-color: none !important;
  color: #BFBFBF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
.swiper-pagination-bullet.circle-pagination{
	width: 1.8rem;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active .circle-pagination_inner {
  color: #ff0000;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
	animation: circleWidth 5s linear forwards;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active .circle-pagination_inner {
	animation: circleWidth 5s linear forwards;
}

/* ==========================
  擬似要素でプログレスバーを作成
========================== */
.circle-pagination::before {
  content: "";
  display: block;
   width: 100%;
  height: 2px;
  background-color: #d1d1d1;
  transform-origin: left;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.circle-pagination::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #ff0000;
  transform-origin: left;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  transform: scaleX(0);
}

.swiper-pagination-bullet.swiper-pagination-bullet-active.circle-pagination::after {
  animation: circleLeft 5s linear forwards;
}

/* ==========================
  アニメーションを定義
========================== */
@keyframes circleLeft {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
}

@keyframes circleWidth {
  0% {
    width: 1.8rem;
  }
  5% {
    width: 4rem;
  }
  100% {
    width: 4rem;
  }
}

.scroll{
	margin-top:18.8vw;
	font-size: 1.2rem;
	line-height: 1.2rem;
	color: #1A1A1A;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}

.scroll img{
	width:2rem;
	height:auto;
	margin-left:.4rem;
}

.topAbout{
	margin-top:7.6vw;
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}

.topAboutKeyWrap{
	width:100%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-direction: normal;
	-moz-box-direction: normal;
	-webkit-box-orient: horizontal;
	-moz-box-orient: horizontal;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	flex-direction: row;
	webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: stretch;
}
.topAboutKeyImg{
	width:50%;
	min-height:32.92vw;
	overflow: hidden;
	position:relative;
	
}
.topAboutKeyImg .coverImg{
	height:100%;

	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.topAboutKeyImg:hover .coverImg{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
transform: translate(-50%, -50%) scale(1.04);
}
.topAboutKeyImg .coverImg a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:9;
}
.topAboutKeyTxt{
	margin-left:12.275%;
	width:37.725%;
	padding-right:4vw;
	padding-bottom:20rem;
}
.topAboutHeadline{
	font-size: 3.8rem;
	line-height: 4.8rem;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
}
.topAboutHeadline span{
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	font-weight: 600;
	position: relative;
left: .2em;
}

.topAboutDes{
	font-size: 1.5rem;
	line-height: 2.5em;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	margin-top:8rem;
}
.viewmore{
	display:block;
	position:relative;
	font-size: 1.1rem;
	line-height: 1em;
	color: #1A1A1A !important;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	margin-top:6rem;
	width:11.655vw;
	height:4rem;
	-webkit-transition: all .5s;
	transition: all .5s;
}
.viewmore:hover{
	color:#ff0000 !important;
}
.viewmore::before{
	content:"";
	width:100%;
	height:.5px;
	background:#1a1a1a;
	position:absolute;
	bottom:0;
	left:0;
}
.viewmore::after{
	content:"";
	width:0%;
	height:.5px;
	background:#ff0000;
	position:absolute;
	bottom:0;
	left:0;
}
.viewmore:hover::after{
	width:100%;
}
.topAboutLinkWrap{
	width:63.795vw;
	margin-left:36.205vw;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	top:-2.4rem;
	position:relative;
}
.topAboutLink{
	width:26.07vw;
}
.topAboutLink a{
	position:absolute;
	top:0;
	bottom:0;
	width:100%;
	height:100%;
	z-index:10;
}
.topAboutLinkImg{
	width:100%;
	position:relative;
	overflow: hidden;
	padding-top: 80%;
}
.topAboutLinkImg .coverImg{
	padding-top:80%;
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.topAboutLink:hover .coverImg{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}
.topAboutLinkTitle{
	position:absolute;
	bottom:0;
	left:0;
	font-size: 1.5rem;
	line-height: 1em;
	color: #1A1A1A !important;
	letter-spacing: 0.175em;
	font-weight: 600;
	text-decoration: none;
	padding-left:0rem;
	padding-right:5.2rem;
	padding-top:1.6rem;
	padding-bottom:0rem;
	background:#ffffff;
}
.topAboutLinkTitle::after{
	content:"";
	position:absolute;
	right: 1.6rem;
	top: 1.6rem;
	width:2.4rem;
	height:1.2rem;
	background-image:url(images/arrow.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:2.4rem;
}

.topTopics{
	margin-top:5.6vw;
	width:100%;
	background:#F7F7F7;
	padding: 6vw 4vw;
padding-bottom: 6.4vw;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.selectTopics{
	width:46vw;
	position:relative;
}
.topTopicsList{
	position:relative;
	width:33.725vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.viewall{
	position:absolute;
	top:0;
	right:0;
	font-size: 1.1rem;
	line-height: 1em;
	color: #1A1A1A !important;
	letter-spacing: 0.1em;
	font-weight: 600;
	text-decoration: none;
	padding:1.6rem 3rem;
	background:#FFFFFF;
	z-index: 10;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.viewall:hover{
	color:#ff0000 !important;
}
.topTopicsHeadline{
	font-size: 3.8rem;
	line-height: 4.8rem;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	margin-bottom:12rem;
}
.topTopicsHeadline span{
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	font-weight: 600;
	position: relative;
left: .2em;
}
.selectTopicsImg{
	width:100%;
	height: 100%;
	position:relative;
	overflow: hidden;
}
.selectTopicsImg .coverImg{
	height:100%;
	min-height:34.035vw;
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.selectTopicsImg img{
	width:100%;
}
.selectTopicsImg:hover .coverImg{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}

.selectTopicsTitle{
	position:absolute;
	bottom:0;
	right: 0;
	font-size: 1.7rem;
	line-height: 1.6em;
	color: #1A1A1A !important;
	letter-spacing: 0.175em;
	font-weight: 500;
	text-decoration: none;
	padding-left: 2rem;
	padding-right: 0rem;
	padding-top: 1.2rem;
	padding-bottom:0rem;
	background:#F7F7F7;
}
.selectTopicsDateCat{
	position:absolute;
	top:0;
	left:2.1rem;
	background:#FF0000;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	padding:.4rem .6rem;
	transform-origin:left top;
	transform:rotate(90deg);
	height:2.1rem;

}
.selectTopicsDateCat p{
	font-size: 1.3rem;
	line-height: 1em;
	color: #FFFFFF;
	letter-spacing: 0.1em;
	font-weight: 600;
	text-decoration: none;
}
.selectTopicsDateCat span{
	width:.3rem;
	height:.3rem;
	margin:.5rem 1.2rem;
	background:#FFFFFF;
	border-radius:100%;
}

.topTopicsList ul{
	margin-top:auto;
}
.topTopicsList ul li{
	border-bottom:solid .5px #9B9B9B;
	margin-bottom:4.8rem;
}
.topTopicsList ul li:last-child{
	margin-bottom:0;
}
.topTopicsList ul li a{
	display: block;
	text-decoration:none;
	color:#1A1A1A;
	padding-bottom:4rem;
	position:relative;
}
.topTopicsList ul li a::after{
	content:"";
	position:absolute;
	width:0;
	height:1px;
	left:0;
	bottom:-.5px;
	background:#ff0000;
	-webkit-transition: all .5s;
	transition: all .5s;
}
.topTopicsList ul li a:hover::after{
	width:100%;
}
.dateCat {
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.dateCat p{
	font-size: 1.1rem;
	line-height: 1em;
	color: #FF0000;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}
.dateCat span{
	width:.2rem;
	height:.2rem;
	margin:.5rem 1rem;
	background:#FF0000;
	border-radius:100%;
}
.topicsTitle{
	font-size: 1.5rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	margin-top:2.4rem;
	position:relative;
	width:100%;
	padding-right: 6rem;
}
.topicsTitle::after{
	content:"read";
	font-size: 1.1rem;
	line-height: 1em;
	color: #AFAFAF;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
	position:absolute;
	right:0;
	top:50%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	-webkit-transition: all .5s;
	transition: all .5s;
}
.topTopicsList ul li a:hover .topicsTitle::after{
	color:#ff0000;
}
 
.topBusiness{
	width:100%;
	position:relative;
	padding:4.4vw 4vw;
}
.topBusinessHeadline{
	font-size: 3.8rem;
	line-height: 4.8rem;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	margin-bottom:4vw;
	margin-left: 4.4vw;
}
.topBusinessHeadline span{
	font-size: 1.5rem;
	letter-spacing: 0.15em;
	font-weight: 600;
	position: relative;
left: .2em;
}

.topBusinessList ul{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.topBusinessList ul li{
	position:relative;
	width:50%;
	padding-left: 8vw;
	margin-bottom:8vw;
}
.topBusinessList ul li:nth-child(2n+1){
	left:auto;
}
.topBusinessNo{
	font-size: 1.8rem;
	line-height: 1em;
	color: #FF0000;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
	position:absolute;
	top:0;
	left:4.8vw;
}
.topBusinessNo::after{
	content:"";
	width:4rem;
	height:1px;
	background:#FF0000;
	position:absolute;
	top:5rem;
	left:-1rem;
}
.topBusinessTitle{
	font-size: 1.8rem;
	line-height: 1em;
	color: #1A1A1A;
	letter-spacing: 0.25em;
	font-weight: 600;
	writing-mode: vertical-rl;
	text-decoration: none;
	position:absolute;
	top:8rem;
	left:4.8vw;
}
.topBusinessTitleEN{
	font-size: 1.3rem;
	line-height: 2rem;
	color: #FF0000;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
	height:5rem;
}

.topBusinessImgWrap{
	position:relative;
}
.topBusinessImgWrap a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:10;
	cursor:pointer;
}
.topBusinessImg{
	position:relative;
	overflow: hidden;
	padding-top:75%;
}
.topBusinessImg .coverImg{
	height:0;
	padding-top:75%;
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.topBusinessImgWrap:hover .coverImg{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}
.topBusinessCatch{
position: absolute;
bottom: 0;
right: 0;
font-size: 1.5rem;
line-height: 1.6em;
color: #1A1A1A !important;
letter-spacing: 0.175em;
font-weight: 500;
text-decoration: none;
padding-left: 2rem;
padding-right: 0rem;
padding-top: 1.2rem;
padding-bottom: 0rem;
background: #FFFFFF;
}


.topCases{
	width:100%;
	position:relative;
	padding:4.4vw 0;
	padding-top:0;
	overflow:hidden;
}
.topCaseSlide .swiper-slide{
	transform: scale(0.42);
	-webkit-transition: all 1s;
	transition: all 1s;
}
/* 左右のスライド */
.topCaseSlide .swiper-slide-prev,
.topCaseSlide .swiper-slide-next,
.topCaseSlide .swiper-slide-duplicate-prev,
.topCaseSlide .swiper-slide-duplicate-next {
	position:relative;
	transform: scale(0.42);
	-webkit-transition: all 1s;
	transition: all 1s;
}
.topCaseSlide .swiper-slide-active{
	transform: scale(1);
	-webkit-transition: all 1s;
	transition: all 1s;
}
.topCaseSlide .swiper-slide-prev,
.topCaseSlide .swiper-slide-duplicate-prev{
	left:15.4%;
}
.topCaseSlide .swiper-slide-next,
.topCaseSlide .swiper-slide-duplicate-next {
	right:15.4%;
}
.topCaseSlide .slideImage .coverImg{
	height:0;
	padding-top:66%;
}
.topCaseSlide a{
	text-decoration:none !important;
}

.topCaseHeadline{
	position:absolute;
	top:-1rem;
	left:8.8vw;
	font-size: 3.8rem;
line-height: 4.8rem;
color: #1A1A1A;
letter-spacing: 0.05em;
font-weight: 400;
text-decoration: none;
margin-bottom: 4vw;
}
.topCaseHeadline span{
font-size: 1.5rem;
letter-spacing: 0.15em;
font-weight: 600;
position: relative;
left: .2em;
}
.topCases .viewall{
	border:solid 1px #000000;
	right:4.4vw;
}
.topCases .viewall:hover{
	border:solid 1px #ff0000;
}
.topCasesTxtWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility:hidden;
	opacity:0;
	margin-top:4rem;
}

.topCaseSlide .swiper-slide-active .topCasesTxtWrap{
	visibility:visible;
	opacity:1;
}
.caseCat{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #ff0000 !important;
	letter-spacing: 0.075em;
	font-weight: 500;
	text-decoration: none;
}
.caseCat span{
	position:relative;
	font-family: lato, sans-serif;
	padding-left:2.4rem;
}
.caseCat span::before{
	position:absolute;
	top:50%;
	left:.8rem;
	content:"";
	width:.3rem;
	height:.3rem;
	border-radius:50%;
	background:#ff0000;
}
.caseTitle{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.7rem;
	line-height: 1.6em;
	color: #1A1A1A !important;
	letter-spacing: 0.075em;
	font-weight: 500;
	text-decoration: none;
}
.topCasesTxtWrap > span{
	width:4rem;
	height:1px;
	background:#ff0000;
	margin:0 2rem;
}

.topCaseSlide .slideImage .imgLink{
	position:relative;
	overflow: hidden;
	padding-top:66%;
}
.topCaseSlide .slideImage .imgLink .coverImg{
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;

}
.topCaseSlide .slideImage:hover .imgLink .coverImg{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}

/* = contact
----------------------------------------------- */

.pageKvWrap{
	width:74%;
	margin-top:5.4vw;
}
.pageKv{
	position:relative;
}
.keyCaption{
	position:absolute;
	bottom:.8rem;
	right:.8rem;
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1rem;
	line-height: 1.3em;
	color: #ffffff;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}
.pageTitle {
	height:4.15vw;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.pageTitle img{
	height:1.4vw !important;
	width:auto;
}
.pageTitle span{
	margin-right:2.5vw;
}
  
.firstView.page .scroll{
	margin-top: 17.275vw;
}

.philosophyWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top:9rem;
}
.philosophyKeyWrap{
	width:37.725vw;
	position:relative;
}
.philosophyTxtWrap{
	width:45.38vw;
	padding-right:4vw;
	position:relative;
}
.chapterTitle{
	font-family: lato, sans-serif;
	font-size: 2rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	white-space: nowrap;
}
.chapterTitle span{
	position:relative;
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.6rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.2em;
	font-weight: 500;
	text-decoration: none;
	margin-left:2rem;
	padding-left:6rem;
}
.chapterTitle span::before{
	position:absolute;
	left:0;
	top:50%;
	content:"";
	width:4rem;
	height:.5px;
	background:#1a1a1a;
}
.philosophyCatch{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 2.6rem;
	line-height: 2.5em;
	color: #1A1A1A;
	letter-spacing: 0.175em;
	font-weight: 500;
	text-decoration: none;
	margin-top:9rem;
}
.philosophyCatchEn{
	font-family: lato, sans-serif;
	font-size: 1.3rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.125em;
	font-weight: 400;
	text-decoration: none;
	margin-top:1.6rem;
}
.philosophyImg{
	margin-top:9rem;
}
.chapterNo{
	font-family: lato, sans-serif;
	font-size: 1.4rem;
	line-height: 1.8em;
	color: #FF0000;
	letter-spacing: 0.15em;
	font-weight: 500;
	text-decoration: none;
}
.chapterNo span{
	display: inline-block;
	width: .3rem;
	height: .3rem;
	margin: .2rem 1.2rem;
	background: #FF0000;
	border-radius: 100%;
}
.philosophyKeyWrap .chapterNo{
	position:absolute;
	top:0;
	right:-1.24vw;
	transform-origin: right top;
	transform: rotate(90deg) translate(100%, -100%);
}
.philosophyDetail{
	position:relative;
	top:-4vw;
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.philosophyDetailImg{
	width:49.38vw;
	position:relative;
	padding-left:21.16vw;
	padding-right:4vw;
}
.philosophyDetailTxt{
	width:45.38vw;
	padding-right:4vw;
	position:relative;
}
.philosophyDetailTxt p{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.4rem;
	line-height: 2.2em;
	color: #1A1A1A;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	margin:6rem 0;
	margin-top:9rem;
}
.philosophy-swiper{
	width:100%;
	margin-top:6rem;
	overflow:hidden;
}

.philosophy-swiper .swiper-wrapper {
  transition-timing-function: linear;
}
.philosophy-swiper .swiper-wrapper .swiper-slide{
	padding:0 .62vw;
	height:auto !important;
}
.toButton{
	position:relative;
	display:block;
	width:22.07vw;
	margin:8rem auto;
	margin-bottom:0;
	border: solid 1px #000000;
	font-size: 1.1rem;
line-height: 1em;
color: #1A1A1A !important;
letter-spacing: 0.1em;
font-weight: 600;
text-decoration: none;
padding: 1.6rem 3rem;
background: #FFFFFF;
-webkit-transition: all .2s;
	transition: all .2s;
}
.toButton:hover{
	color: #ff0000 !important;
	border: solid 1px #ff0000;
}

.toButton::after{
content: "";
position: absolute;
right: 1.6rem;
top: 1.6rem;
width: 2.4rem;
height: 1.2rem;
background-image: url(images/arrow.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 2.4rem;
}

.messageWrap{
	width:100%;
	background:#F5F5F5;
	padding:6vw 0;
	margin-top: 5.6vw;
}

.messageTitleWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.messageWrap .chapterNo{
	width:22.07vw;
}
.messageWrap .chapterTitle{
	width:33.725vw;
}
.messageSection{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top:6rem;
}
.messageWrap .innerWrap section:last-child{
	padding-top:8rem;
	border-top:solid .5px #9B9B9B;	
}
.messagePortrait{
	width:23.9773%;
	padding-right:5.2075vw;
	margin-top:.8rem;
}
.messageTxtBlock{
	width:36.6447%;
	padding-right:5.2075vw;
}
.messageTxtBlock.full{
	width:74.6591%;
	padding-right:5.2075vw;
}
.messageTxtBlock p{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.3rem;
	line-height: 2.2em;
	color: #1A1A1A;
	letter-spacing: 0.05em;
	font-weight: 400;
	text-decoration: none;
	margin-bottom:3rem;
}
.messageTxtBlock h3{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 2.2rem;
	line-height: 2.4em;
	color: #1A1A1A;
	letter-spacing: 0.125em;
	font-weight: 500;
	text-decoration: none;
	margin-bottom:6rem;
}
.messageTxtBlock h3 span{
padding: 0 0px 3px 0px;
background: linear-gradient(transparent 60%, #ffffff 0%);
}

.messagePosition{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.8rem;
	line-height: 2.4em;
	color: #1A1A1A;
	letter-spacing: 0.25em;
	font-weight: 400;
	text-decoration: none;
	margin-top:1.6rem;
}
.messagePosition span{
	font-size: 1.2rem;
	margin-right:3rem;
	letter-spacing: 0.125em;
}
.messageTxtBlock h4{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.7rem;
	line-height: 2.4em;
	color: #1A1A1A;
	letter-spacing: 0.075em;
	font-weight: 500;
	text-decoration: none;
	margin-bottom:3rem;
}
.messageTxtBlock h4 span{
padding: 0 0px 3px 0px;
background: linear-gradient(transparent 60%, #ffffff 0%);
}
.historyWrap{
	position:relative;
	width:100%;
	padding: 6vw 4vw;
-webkit-transition: all .5s;
	transition: all .5s;
}
.historyWrap::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000000;
	z-index:-2;
}
.historyWrap .chapterNo {
	color: #ffffff;
	text-align: center;
}
.historyWrap .chapterNo span{
	background:#ffffff;
}
.historyWrap .chapterTitle{
	color: #ffffff;
	text-align: center;
margin-top: 2rem;
padding-bottom: 7rem;
}
.historyWrap .chapterTitle span{
	color: #ffffff;
	margin-left: 0;
padding-left: 0;
padding-top: 7rem;
top: 7rem;
}
.historyWrap .chapterTitle span::before{
	background:#ffffff;
	left: 50%;
top: 0;
width: .5px;
height: 5rem;
}
.titleWrap, .tabWrap{
	position: relative;
z-index: 10;
}
#tab_btn{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	margin-top:9rem;
}
#tab_btn li{
	margin:3rem 6rem;
}
#tab_btn li a{
	font-size: 2rem;
	line-height: 2.4em;
color: #ffffff;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: none;
position:relative;
}
#tab_btn li a::after{
	content:"";
	position:absolute;
	bottom:-.8rem;
	left:0;
	width:100%;
	height:.5px;
	background:#ffffff;
	visibility:hidden;
	opacity:0;
	-webkit-transition: all .5s;
	transition: all .5s;
}
#tab_btn li.active a::after{
	visibility:visible;
	opacity:1;
}
#tab_btn li a:hover::after{
	visibility:visible;
	opacity:1;
}
.tab_infoWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	margin-top:9rem;
	margin-bottom:9rem;
}
#tab_info{
	width:50%;
}
#tab_info table th, #tab_info table td{
	font-size: 1.6rem;
	line-height: 1.8em;
color: #ffffff;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: none;
	padding:1rem 0;
}
#tab_info table th{
	padding-right:2em;
	white-space:nowrap;
}
.historyBg{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	z-index:-1;
	box-shadow: inset 0 0 120rem rgba(0, 0, 0, 1.2),
inset 0 0 80rem rgba(0, 0, 0, 1.0);
background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
}

.companyInfoKvWrap{
	width:100%;
	position:relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 6vw 0;
	padding-bottom: 4vw;
}
.companyInfoKvWrap .chapterNo{
	position:absolute;
	top:6vw;
	left:0;
	transform-origin: left top;
transform: rotate(90deg) translate(0%, -100%);
}
.companyInfoKvWrap .chapterTitle{
	width:49%;
	padding-left:13%;
	margin-top: -.8rem;
}
.companyInfoKv{
	width:49%;
	padding-left:6%;
}
.infoTableWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.infoTableLeft{
	width:50%;
	padding-left:11.655vw;
}
.infoTableRight{
	width:50%;
	padding:0 5.8275vw;
}
.infoTable table th, .infoTable table td{
	font-size: 1.3rem;
	line-height: 1.8em;
	color: #333333;
	letter-spacing: 0.125em;
	font-weight: 400;
	text-decoration: none;
	padding:1.6rem 0;
	border-bottom: solid .5px #9B9B9B;
}
.infoTable table th{
	width:10em;
	padding-right:2em;
	text-align:left;
}
.infoTable table tr:last-child th, .infoTable table tr:last-child td{
	border-bottom: none;
}
.infoRecruitWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top:9rem;
}
.infoRecruitImg{
	width:50%;
}
.infoRecruitImg p{
	min-height:100%;
}
.infoRecruitTxtWrap{
	font-size: 1.2rem;
	width:50%;
	padding-left:calc(6vw + 10em);
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	flex-direction:column;
}
.infoRecruitTitle{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 2.2rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: none;
margin-top:4rem;
}
.infoRecruitTxt{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.5rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 400;
text-decoration: none;
margin-top:5rem;
margin-bottom:3rem;
}
.infoRecruitTxtWrap .viewmore{
	margin-top:auto !important;
}

/* = business
----------------------------------------------- */

.visionWrap{
	margin-top:9rem;
	position:relative;
	padding: 6vw 0;
}
.visionBg{
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	filter:grayscale(1);
	box-shadow: inset 0 0 120rem rgba(0, 0, 0, 1.2),
inset 0 0 80rem rgba(0, 0, 0, 1.0);
}
.visionWrap .chapterNo, .visionWrap .chapterTitle, .visionWrap .chapterTitle span{
	color: #ffffff;
}
.visionWrap .chapterNo span, .visionWrap .chapterTitle span::before{
	background:#ffffff;
}
 .visionWrap .chapterTitle{
 	margin-top:6rem;
 	margin-bottom: -3rem;
}
.visionWrap .innerWrap{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.visionWrap .titleWrap{
	width:100%;
}
.visionSecA{
	width:50%;
	position:relative;
	margin-top:16vw;
}
.visionSecB{
	width:50%;
	position:relative;
}
.visionSecC{
	margin-left:50%;
	width:50%;
	position:relative;
	left:-6%;
	padding-bottom:4%;
}

.visionSecA .visionImg{
	padding-right:28%;
}
.visionSecB .visionImg{
	padding-left:0%;
	padding-right:14%;
}
.visionSecC .visionImg{
	padding-right:52%;
}
.visionCatchJp{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 2rem;
	line-height: 2.2em;
	color: #ffffff !important;
	letter-spacing: 0.125em;
	font-weight: 500;
	text-decoration: none;
}
.visionCatchEn{
	font-family: lato, sans-serif;
	font-size: 1.4rem;
	line-height: 2em;
	color: #ffffff !important;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}
.visionSecA .visionCatchJp{
	margin-top:4rem;
}
.visionSecA .visionCatchEn{
	position:absolute;
	transform-origin: right top;
transform: rotate(90deg) translate(100%, -100%);
	right: 42%;
top: 64%;
	
}
.visionSecB .visionCatchJp{

	position:absolute;
	right:1.6em;
	top: 0;
	writing-mode: vertical-rl;
	letter-spacing: 0.15em;
}
.visionSecB .visionCatchEn{
	position:absolute;
	left: -12%;
	top: 42%;

	
}


.visionSecC .visionCatchJp{

	position:absolute;
	right: calc(35% + 0rem);
	top: 0;
	writing-mode: vertical-rl;
	letter-spacing: 0.15em;
}
.visionSecC .visionCatchEn{
	position:absolute;
	left: 44%;
top: 68%;

	
}

.businessWrap{
	position:relative;
	padding: 6vw 0;
	background: #F5F5F5;
	margin-bottom: -9rem;
}
.businessWrap .titleWrap{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	flex-wrap: nowrap;
}
.businessWrap .chapterNo{
	width: 22.07vw;
}
.businessWrap .chapterTitle{
	width: 33.725vw;
}

.businessSec{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding:8rem 0;
	border-bottom: solid .5px #9B9B9B;
}
.businessWrap .innerWrap .businessSec:last-child{
	border-bottom: none;
	padding-bottom:0;
}
.businessSecImg{
	width:45.38vw;
}
.businessSecImg p{
	min-height:100%;
}
.businessSecTxt{
	width:33.725vw;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	flex-direction:column;
}

.businessSecTitleEn{
	font-family: lato, sans-serif;
	font-size: 1.4rem;
	line-height: 2em;
	color: #ff0000;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
}
.businessSecTitleJp{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 2.4rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.175em;
font-weight: 500;
text-decoration: none;
margin-top:8rem;
}
.businessSecDes{
font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.5rem;
line-height: 2.6em;
color: #1A1A1A;
letter-spacing: 0.075em;
font-weight: 400;
text-decoration: none;
margin-top: 6rem;
margin-bottom:8rem;
}
.show{
	position:relative;
width: 12rem;
display:inline-block;
font-size: 1.1rem;
line-height: 1em;
color: #1A1A1A !important;
letter-spacing: 0.1em;
font-weight: 600;
text-decoration: none;
padding: 1.6rem 3rem;
background: #FFFFFF;
margin-top:auto;
-webkit-transition: all .2s;
	transition: all .2s;
	cursor:pointer !important;
}
.show::before{
	content:"SHOW";
}
.show.on-click::before{
	content:"HIDE";
}
.show:hover{
	color: #ff0000 !important;
}

.hideContent{	
	width:100%;
	margin-top:6rem;
}
.iconShow{
	position:absolute;
	top: 1.6rem;
	right: 1.6rem;
	width:1.5rem;
	height:auto;
}
.show.on-click .iconShow{
transform-origin: center;
transform: rotate(180deg) ;
}
.showGrid{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-top:6rem;
	margin-bottom:-3rem;
}
.showGrid li{
	width:31%;
	margin-right:3.5%;
	margin-bottom:9rem;
}
.showGrid li:nth-child(3n){
	margin-right:0;
}
.showGridThum{
	width:100%;
	position:relative;
	overflow: hidden;
	padding-top:66%;
}
.banner .showGridThum{
	padding-top:0 !important;
}
.showGridThum p{
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.showGrid a:hover p{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}
.showGridThum img{
	width:100%;
	height:auto;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.showGrid a:hover .showGridThum img{
	opacity:.8;
}
.showGridTitle{
	font-size: 1.4rem;
line-height: 1.8em;
color: #1A1A1A !important;
letter-spacing: 0.175em;
font-weight: 500;
text-decoration: none;
	text-align:left;
	margin-top:2.4rem;
	-webkit-transition: all .2s;
	transition: all .2s;
	position: absolute;
bottom: -.3rem;
left: 0;
background: #F5F5F5;
display: inline-block;
padding-top: .8rem;
padding-right: 1.6rem;
}
.showGridTitle img{
	width:1.6rem !important;
	height:auto !important;
	margin-left: 0.5em !important;
position: relative;
top: -.4em;
}
.showGrid a:hover .showGridTitle{
	color: #ff0000 !important;
}
.showGrid li a{
	text-decoration:none;
	position: relative;
width: 100%;
display: block;
}

.hideContent .toButton{
	border:none !important;
}

/* = single-cases
----------------------------------------------- */

#single-cases .contentWrap{
	padding-top:12vw;	
}

.singleTitleWrap{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.chapterTitleWrap{
	width:22.07vw;
	margin-right:1.24vw;
}
.postTitleWrap{
	width:57.035vw;
	position:relative;
}
.toArchive{
	position:absolute;
	top:0;
	right:0;
	font-size: 1.5rem;
line-height: 1em;
color: #1A1A1A !important;
letter-spacing: 0.175em;
font-weight: 600;
text-decoration: none;
padding-left: 1.6rem;
padding-right: 5.2rem;
padding-top: 1.6rem;
padding-bottom: 1.6rem;
background: #ffffff;
-webkit-transition: all .2s;
	transition: all .2s;
}
.toArchive:hover{
	color:#ff0000 !important;
}
.toArchive::after{
content: "";
position: absolute;
right: 1.6rem;
top: 1.6rem;
width: 2.4rem;
height: 1.2rem;
background-image: url(images/arrow.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 2.4rem;
}

.postTitle{
	font-size: 2.6rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.125em;
	font-weight: 600;
	text-decoration: none;
	padding-right:20rem;
}

.postCat{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.5rem;
	line-height: 1.6em;
	color: #FF0000 !important;
	letter-spacing: 0.075em;
	font-weight: 600;
	text-decoration: none;
	margin-top:2rem;
}
.postCat span{
	position:relative;
	font-family: lato, sans-serif;
	padding-left:2.8rem;
}
.postCat span::before{
	position:absolute;
	top:50%;
	left:1.2rem;
	content:"";
	width:.3rem;
	height:.3rem;
	border-radius:50%;
	background:#FF0000;
}
.singleContWrap{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-top:4vw;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}
.singleInfoTableWrap{
	width:22.07vw;
	margin-right:1.24vw;
	margin-bottom:5rem;
	padding-right:5.2075vw;
}
.singleCont{
	width:57.035vw;
}
.singleKv{
	width:100%;
	padding-bottom:5rem;
}
.singleKv img{
	width:100%;
	height:auto;
}
.singleSlide{
	width:100%;
}
.singleSlide .slideImage{
	width:100%;
}
.singleSlide .slideImage img{
	width:100%;
	height:auto;
}
.singleInfoTable{
	padding-bottom: 2rem;
	padding-left:.2rem;
	border-bottom: solid .5px #1a1a1a;
}
.singleInfoTable th, .singleInfoTable td{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #1a1a1a !important;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	padding:.6rem 0;
}
.singleInfoTable th{
	font-weight: 600;
	padding-right:1.6em;
	width: 6em;
text-align: left;
}
.infoTitle{
	font-size: 1.1rem;
line-height: 1em;
color: #1a1a1a;
letter-spacing: 0.1em;
font-weight: 500;
text-decoration: none;
margin-bottom: 2.4rem;
}
.single-swiper-pagination{
	margin-top:2rem;
}
.paginationWrap{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:row-reverse;
	-moz-flex-direction:row-reverse;
	flex-direction:row-reverse;
}
.scrollWrap{
	width: 10.415vw;
position: relative;
margin-left: 1.24vw;
}
.scrollWrap .scroll{
	position:absolute;
	bottom:5rem;
	right:0;
}
.singleEditor{
	margin-left:23.31vw;
	width:45.38vw;
	margin-top:6rem;
	position:relative;
}

.editorTxt p, .editorTxt div{
	font-size: 1.5rem;
	line-height: 2.15em;
	color: #1A1A1A;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
	margin-bottom: 1.6rem;
}
.editorTxt *:first-child{
	margin-top:0 !important;
}
.editorTxt h1{
	position:relative;
	font-size: 2.1rem;
line-height: 2.15em;
color: #1A1A1A;
letter-spacing: 0.1em;
font-weight: 500;
	text-decoration: none;
	margin-bottom:6rem;
	padding-bottom:.8rem;
}
.editorTxt h1::before{
	content:"";
	width:100%;
	height:2px;
	background:#ff0000;
	position:absolute;
	bottom:0;
	left:0;
}
.editorTxt h1::after{
	content:"";
	width:100%;
	height:1px;
	background:#ff0000;
	position:absolute;
	bottom:-4px;
	left:0;
}
.editorTxt h1*:first-child{
	margin-top:0rem !important;
}
.editorTxt h2{
display: inline-block;
font-size: 1.7rem;
line-height: 2.15em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 600;
text-decoration: none;
margin-bottom: 2.4rem;
padding-left:1.2em;
padding-right:1.4em;
padding-bottom:.4rem;
padding-top:.4rem;
position:relative;

}
.editorTxt h2::before{
	content:"";
	width:1.6rem;
	height:1.6rem;
	position:absolute;
	bottom: -.3rem;
left: -.3rem;

border-left: double #ff0000;
border-bottom: double #ff0000;
}
.editorTxt h2::after{
	content:"";
	width:1.6rem;
	height:1.6rem;
	position:absolute;
	top: -.3rem;
right: -.3rem;

border-right: double #ff0000;
border-top: double #ff0000;
}
.editorTxt h2*:first-child{
	margin-top:0rem !important;
}
.editorTxt h3{
	position:relative;
	font-size: 1.7rem;
	line-height: 2.15em;
	color: #ff0000;
	letter-spacing: 0.125em;
	font-weight: 600;
	text-decoration: none;
	margin-bottom: 2rem;
	padding-left:2rem;
}
.editorTxt h3::after{
	content:"";
	width:1.2rem;
	height:1.2rem;
	border-radius:50%;
	border:solid 1.5px #ff0000;
	position:absolute;
	left:0;
	top:1.3rem;
}
.editorTxt h4{
display: inline-block;
font-size: 1.5rem;
line-height: 2.15em;
color: #ffffff;
letter-spacing: 0.125em;
font-weight: 600;
background: #ff0000;
padding: .6rem 1.4rem;
padding-right: 1rem;
margin-bottom: 2rem;
}

.editorTxt h5{
font-size: 1.3rem;
line-height: 2.15em;
color: #1a1a1a;
letter-spacing: 0.075em;
font-weight: 500;
text-decoration: none;
margin-bottom: 1.6rem;
}
.editorTxt h6{
font-size: 1.1rem;
line-height: 2.15em;
color: #1a1a1a;
letter-spacing: 0.075em;
font-weight: 500;
text-decoration: none;
margin-bottom: 1.6rem;
}
.editorTxt p.wp-caption-text{
	font-size: 1.1rem;
line-height: 2.15em;
color: #1a1a1a;
letter-spacing: 0.075em;
font-weight: 500;
text-decoration: none;
margin-bottom: 1.6rem;
margin-top:-1.6rem;
}
.editorTxt ul{
	margin:1.8rem 0;
}
.editorTxt ul li {
padding-left: 2rem;
position: relative;
font-size: 1.5rem;
line-height: 1.8em;
color: #1a1a1a;
letter-spacing: 0.075em;
font-weight: 500;
text-decoration: none;
margin-bottom: .4rem;

}
.editorTxt ul li::before {
content: "";
width: .8rem;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
top: 1.2rem;
}
.editorTxt ol{
	margin:2.4rem 0;
}
.editorTxt ol li {
margin-left: 1.6em;
position: relative;
font-size: 1.5rem;
line-height: 1.8em;
color: #1a1a1a;
letter-spacing: 0.075em;
font-weight: 500;
text-decoration: none;
margin-bottom: .4rem;

}


.editorTxt strong{
	font-weight:600 !important;
}
.editorTxt blockquote{
	padding:2.4rem 2.4rem !important;
	padding-bottom:2rem !important;
	background:#f2f2f2;
	margin:2.4rem 0;
}
.editorTxt blockquote *:last-child{
	margin-bottom:0 !important;
}
.editorTxt blockquote h4{
	background:#ffffff !important;
}
.editorTxt hr{
	width:100%;
	color:#ffffff;
	border-top:solid .5px #9B9B9B;
	margin:4rem 0;
}
.editorTxt a{
	color:#1a1a1a;
	text-decoration:underline !important;
}
.editorTxt *:first-child{
	margin-top:0 !important;
}
.editorTxt *:last-child{
	margin-bottom:0 !important;
}
.editorTxt img{
	width:100%;
	max-width:100%;
	height:auto;
	padding:1.6rem 0;
}
.tate-img{
	max-width:60% !important;
}

.editorTxt .alignright img{
	padding-top:.8rem  !important;
	padding-left:3rem;
}
.editorTxt img.alignright{
	padding-top:.8rem  !important;
	padding-left:3rem;
}
.editorTxt .alignright p.wp-caption-text{
	padding-left:3rem;
}
.editorTxt .alignleft img{
	padding-top:.8rem !important;
	padding-right:3rem;
}
.editorTxt img.alignleft{
	padding-top:.8rem !important;
	padding-right:3rem;
}
.editorTxt .alignleft p.wp-caption-text{
	padding-right:3rem;
}
.wp-caption{
	width:100% !important;
}

.editorTxt table th, .editorTxt table td{
font-size: 1.2rem;
line-height: 1.8em;
color: #333333;
letter-spacing: 0.125em;
font-weight: 400;
text-decoration: none;
padding: 1.6rem 0;
border-bottom: solid .5px #9B9B9B;
}
.editorTxt table th{
	font-weight: 600;
	border-left: solid .5px #9B9B9B;
	padding-left:1em;
	padding-right:1em;
	background:#F7F7F7;
	text-align:left;
}
.editorTxt table td{
	border-left: solid .5px #9B9B9B;
	padding-left:1em;
	padding-right:1em;
}
.editorTxt table{
	border-top: solid .5px #9B9B9B;
	border-right: solid .5px #9B9B9B;
	margin:1.6rem 0;
}
.secondGrid .casesGrid li:nth-child(1){
	display:none;
}
.mainGrid .casesGrid li:nth-child(-n+5){
	display:none;
}
.mainGrid.secondPage .casesGrid li:nth-child(-n+5){
	display:block;
}
.relatedGrid{
	margin-top: 7rem;
	padding: 6vw 0;
	background:#F5F5F5;
	margin-bottom: -12rem;
}

/* = archive-cases
----------------------------------------------- */

.caseGridWrap{
margin-top: 7rem;
background:#F5F5F5;
margin-bottom: -12rem;
position: relative;
padding: 6vw 0;
}
#taxonomy-cases_cat .caseGridWrap{
	margin-top:0;
}
.caseGridWrap.secondPage{
	margin-top:0;
}

.caseGridWrap .innerWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: stretch;
}
.firstGrid{
	width:49.3182%;
	margin-right:1.3636%;
}
.firstGrid .casesGrid{
	height:100%;
	padding-bottom: 1.24vw;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	flex-direction:column;
}
.firstGrid .casesGrid li{
	width:100%;
	background:#ffffff;
	height: 100%;
}
.secondGrid{
	width:49.3182%;
}
.secondGrid .casesGrid{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.secondGrid .casesGrid li{
	width:48.6364%;
	background:#ffffff;
	margin-bottom:1.24vw;
}
.secondGrid .casesGrid li:nth-child(2n){
	margin-right:2.7272%;
}
.mainGrid{
	width:100%;
}
.mainGrid .casesGrid{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.mainGrid .casesGrid li{
	width:23.9773%;
	margin-right:1.3636%;
	background:#ffffff;
	margin-bottom:1.24vw;
}
.mainGrid .casesGrid li:nth-child(4n+1){
	margin-right:0;
} 
#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(4n+1), .mainGrid.secondPage .casesGrid li:nth-child(4n+1){
	margin-right:1.24vw;
}
#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(4n), .mainGrid.secondPage .casesGrid li:nth-child(4n){
	margin-right:0;
}
.gridThumWrap{
	position:relative;
	overflow: hidden;
	padding-top:66.6666%;
}
.gridThum{
	width:100%;
	height:0;
	padding-top:66.6666%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1);
transform: translate(-50%, -50%) scale(1);
transform-origin: center;
-webkit-transition: all .5s;
transition: all .5s;
}
.casesGrid li a:hover .gridThum{
	-webkit-transform: translate(-50%, -50%) scale(1.04);
	transform: translate(-50%, -50%) scale(1.04);
}
.casesGrid li a{
	text-decoration:none;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	flex-direction:column;
	height: 100%;
}
.gridName{
	padding:2rem 3.4rem;
	font-size: 1.5rem;
	line-height: 1.8em;
	color: #1a1a1a;
	letter-spacing: 0.125em;
	font-weight: 600;
	text-decoration: none;
	margin-bottom:-2rem;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.firstGrid .gridName{
	font-size: 2.1rem;
	margin-top:.8rem;
}
.casesGrid li a:hover .gridName{
	color:#ff0000 !important;
}
.gridCat{
	padding:2rem 3.4rem;
	margin-top:auto;
	margin-bottom:.2rem;
}
.gridCat{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #1a1a1a !important;
	letter-spacing: 0.075em;
	font-weight: 500;
	text-decoration: none;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.gridCat span{
	position:relative;
	font-family: lato, sans-serif;
	padding-left:2.4rem;
}
.gridCat span::before{
	position:absolute;
	top:50%;
	left:.8rem;
	content:"";
	width:.3rem;
	height:.3rem;
	border-radius:50%;
	background:#1a1a1a;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.casesGrid li a:hover .gridCat{
	color:#ff0000 !important;
}
.casesGrid li a:hover .gridCat span::before{
	background:#ff0000;
}
.sortCat{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-bottom:6rem;
	margin-top:-2vw;
}
#taxonomy-cases_cat .sortCat{
	margin-top:10rem;
}
.caseGridWrap.secondPage .sortCat{
	margin-top:10rem;
}

.sortCat li{
	margin-right:4rem;
}
.sortCat li:last-child{
	margin-right:0;
}
.sortCat li a{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.5rem;
	line-height: 1.6em;
	color: #1a1a1a;
	letter-spacing: 0.075em;
	font-weight: 500;
	text-decoration: none;
	position:relative;
	-webkit-transition: all .5s;
	transition: all .5s;
}
.sortCat li a.current{
	color: #ff0000 !important;
}
.sortCat li.current a{
	color: #ff0000 !important;
}
.sortCat li a::after{
	content:"";
	width:100%;
	height:1px;
	background:#ff0000;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility:hidden;
	opacity:0;
	position:absolute;
	bottom:-.8rem;
	left:0;
}
.sortCat li a.current::after{	
	visibility:visible;
	opacity:1;
}
.sortCat li.current a::after{	
	visibility:visible;
	opacity:1;
}
.sortCat li a:hover::after{	
	visibility:visible;
	opacity:1;
}
.sortCat li a:hover{	
	color:#ff0000;
}
.sortCat .chapterTitleWrap{
	position: relative;
	top: -.8rem;
}
.sortTitle{
	margin-right:auto !important;
}


#pagenav .wp-pagenavi a, #pagenav .wp-pagenavi span{
	font-size:1.6rem;
	line-height:1.6rem;
	font-weight:500;
	text-align:center;
	margin: 0 1rem;
		text-decoration:none;
		color:#1a1a1a;
		padding: .6rem 1.2rem;
	padding-top:.8rem;
}
#pagenav .wp-pagenavi a.last{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background-image:url(images/pageLast.svg);
	background-size:1.2rem;
	background-position:center;
	background-repeat:no-repeat;
	width:1.2rem;
	height:1rem;
	opacity:.5;
}
#pagenav .wp-pagenavi a.first{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
	background-image:url(images/pageFirst.svg);
	background-size:1.4rem 1.2rem;
	background-position:center;
	background-repeat:no-repeat;
	width: 2rem;
	height: 2rem;
	opacity:.5;
}
#pagenav .wp-pagenavi a.previouspostslink{
	white-space:nowrap;
	display: inline-block;
padding-left: 2.4rem;
position: relative;
font-size: 1.5rem;
line-height: 1em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 400;
text-decoration: none;
cursor: pointer;
margin-right: 3rem;
}
#pagenav .wp-pagenavi a.previouspostslink::after{
	position: absolute;
top: 50%;
left: 0;
-webkit-transform: translate(0%, -50%) rotate(90deg);
transform: translate(0%, -50%) rotate(90deg);
content: "";
width: 1.56rem;
height: 1.08rem;
background-image: url(images/scroll.svg);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
margin-top: 0rem;
}
#pagenav .wp-pagenavi a{
	-webkit-transition: all .2s;
	transition: all .2s;
}
#pagenav .wp-pagenavi a:hover{
	color:#ff0000 !important;
}

#pagenav .wp-pagenavi a.nextpostslink{
	white-space:nowrap;
	display: inline-block;
padding-right: 2.4rem;
position: relative;
font-size: 1.5rem;
line-height: 1em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 400;
text-decoration: none;
cursor: pointer;
margin-left: 3rem;
}
#pagenav .wp-pagenavi a.nextpostslink::after{
	position: absolute;
top: 50%;
right: 0;
-webkit-transform: translate(0%, -50%) rotate(-90deg);
transform: translate(0%, -50%) rotate(-90deg);
content: "";
width: 1.56rem;
height: 1.08rem;
background-image: url(images/scroll.svg);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
margin-top: -0rem;
}

#pagenav .wp-pagenavi span.current{
	padding: .6rem .8rem;
background: #ff0000;
	color:#ffffff !important;
}
#pagenav{
	margin-top:8rem;
}

#pagenav .wp-pagenavi{	
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
#pagenav .wp-pagenavi a{
	margin:1.6rem 0;
}	

.pageNav{
	width: 30rem;
	margin:0 auto;
display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
margin-top:8rem;
}
.prevNews {
display:inline-block;
width:50%;
padding:3rem 0;
padding-left:2.8rem;
position: relative;
	font-size: 1.5rem;
	line-height: 2.4em;
	color: #1A1A1A !important;
	letter-spacing: 0.125em;
	font-weight: 400;
	text-decoration: none;
	cursor:pointer;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.prevNews:hover {
	color: #ff0000 !important;
}
.nextNews {
display:inline-block;
width:50%;
padding:3rem 0;
padding-right:2.4rem;
position: relative;
	font-size: 1.5rem;
	line-height: 2.4em;
	color: #1A1A1A !important;
	letter-spacing: 0.125em;
	font-weight: 400;
	text-decoration: none;
	cursor:pointer;
	text-align:right;
	margin-left: auto;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.nextNews:hover {
	color: #ff0000 !important;
}
.nextNews::before{
	position:absolute;
	top:50%;
	right:0;
	-webkit-transform: translate(0%, -50%) rotate(-90deg);
	transform: translate(0%, -50%) rotate(-90deg);
	content:"";
	width:1.56rem;
height: 1.08rem;
	background-image:url(images/scroll.svg);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	margin-top:-0rem;
}
.prevNews::before{
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform: translate(0%, -50%) rotate(90deg);
	transform: translate(0%, -50%) rotate(90deg);
	content:"";
	width:1.56rem;
height: 1.08rem;
	background-image:url(images/scroll.svg);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center;
	margin-top:0rem;
}

.nextNews span, .prevNews span{
font-size: 1.3rem;
line-height: 1em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 400;
text-decoration: none;
}

.relatedGridTitle{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
	margin-top: -3rem;
margin-bottom: 5rem;
}
.relatedGridTitle .viewall{
	position:relative;
}

/* = archive-topics
----------------------------------------------- */

.topicsGridWrap{
margin-top: 7rem;
background:#F5F5F5;
margin-bottom: -12rem;
position: relative;
padding: 6vw 0;

}
.topicsGridWrap.secondPage{
	margin-top:0;
}

.topicsGridWrap  .innerWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: stretch;
}
.topicsGridWrap.secondPage .innerWrap{
margin-top: 10rem;
}

.sortWrap{
	width: 25%;
margin-bottom: 5rem;
padding-right: 5.2075vw;
}
.topicsGridWrap.secondPage .sortTitle{
	margin-bottom:12rem;
}

.topicsGridWrap .sortCat{
	display:block;
	margin-top:0;
}
.topicsGridWrap .sortCat li{
	margin-bottom:2rem;
}

.topicsGrid{
	width: 75%;
}
.topicsGridTitle{
	font-size: 2.1rem;
	line-height: 1.8em;
	color: #1A1A1A;
	letter-spacing: 0.125em;
	font-weight: 600;
	text-decoration: none;
	margin-top:3rem;
}
.topicsGrid .postCat{
	font-family: lato, sans-serif;
	margin-top:0;
}
.topicsGrid .singleEditor{
	margin-left:0;
	width:100%;
}
.topicsGrid > ul > li{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-bottom:9rem;
	padding-top:9rem;
	border-bottom:solid .5px #000000;
}
.topicsGrid > ul > li:first-child{
	padding-top:0;
}
.topicsGrid > ul > li:last-child{
	border-bottom:none;
}
.topicsCont{	
	width:67%;
	padding-right:6.4475vw;
}
.topicsThum{
	width:33%;
}

/* = recruit
----------------------------------------------- */
.recruitIntroWrap{
margin-top: 9rem;
}

.recruitIntroWrap .innerWrap{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.recruitTxtWrap{
	width:50%;
	padding-left:11.655vw;
	padding-right:5.8275vw;
	position:relative;
}
.recruitKvWrap{
	width:50%;
	padding-left:12.275vw;
}
.recruitCatch{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 2rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: none;
}
.recruitDes{
font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.5rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.075em;
font-weight: 400;
text-decoration: none;
margin-top: 6rem;
}
.recruitSubImg{
	width:100%;
	margin-top:12rem;
}
.recruitThirdWrap{
	width:100%;
	padding-right:11.655vw;
	padding-left:38.9325vw;
	margin-top:-20rem;
	position:relative;
	z-index:10;
}
.recruitThirdImg{
	width:100%;
}
.guidelinesWrap{
	margin-top:9rem;
}
.guidelines{
	padding-left:38.9325vw;
	position:relative;
}
.guidelines .chapterTitle{
	position:absolute;
	top:0;
	left:0;
}

.guidelines table th, .guidelines table td{
	font-size: 1.3rem;
	line-height: 1.8em;
	color: #333333;
	letter-spacing: 0.125em;
	font-weight: 400;
	text-decoration: none;
	padding:1.6rem 0;
	border-bottom: solid .5px #9B9B9B;
}
.guidelines table th{
	width:10em;
	padding-right:2em;
	text-align:left;
}
.guidelines table tr:last-child th, .guidelines table tr:last-child td{
	border-bottom: none;
}

.entryWrap{
	margin-top:9rem;
	padding-bottom: 1rem;
}
.entry{
	padding-left:38.9325vw;
	position:relative;
}
.entry .chapterTitle{
	position:absolute;
	top:0;
	left:0;
}


.wpcf7-form{
	width:100% !important;
	display:block;
	margin-bottom:-4rem !important;
}
.wpcf7-form table,
.wpcf7-form table tbody,
.wpcf7-form table tbody tr{
	width: 100% !important;
}
#contact.confirm .wpcf7-form table tbody tr{
	border-bottom: solid 1px #cccccc !important;
}
.wpcf7-form table tbody tr th{
	width: 25% !important;
	padding: .8rem 1.6rem;
	float:none;
	font-size: 1.3rem;
line-height: 2.5em;
	text-align:left;
	font-weight:600;
	position:relative;
	vertical-align:top;
	padding-right: 6rem;
	padding-left: 0;
}
.wpcf7-form table tbody tr td{
	width: auto !important;
	display:block;
	float:none;
	margin-bottom:4rem;
	letter-spacing:.05em;
}
.wpcf7-form table tbody tr th span{
	width:auto;
	height:2rem;
	font-size:1rem;
	letter-spacing:.04em;
	line-height:2rem;
	color:#ffffff;
	background:#707070;
	border-radius:.2rem;
	font-weight:500;
	padding:0 .4rem;
	padding-bottom:.2rem;
	position:absolute;
	top:1.6rem;
	right:1.6em;
}
.wpcf7-text{
	width:100%;
	height:5rem;
}
.wpcf7-textarea{
	width:100%;
}
input{
	border:none;
	background:none;
	-webkit-appearance:none;
}
textarea{
	border:none;
	background:none;
	-webkit-appearance:none;
}
.wpcf7-form-control {
	width: 100%;
	min-height: auto;
padding: .8rem 1.6rem;
	color: #1a1a1a;
	font-size: 1.3rem;
	line-height: 2em;
	letter-spacing:.1em;
	box-sizing: border-box;
	border-radius: .3rem;
	background:#F5F5F5;
}
.wpcf7-submit {
	float: none;
display: block;
position: relative;
width: 32rem;
height: auto;
padding: 0;
padding-left: 0;
padding-bottom: 0;
border-width: 0;
padding: 1.6rem 3rem;
text-align: left;
cursor: pointer;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-size: 1.1rem;
line-height: 1em;
letter-spacing: .1em !important;
font-weight: 600 !important;
color: #1A1A1A !important;
background: #ffffff;
border-bottom: none;
border-radius: 0;
border: solid 1px #000000;
margin-top: 1.6rem;
margin: 4rem auto;
margin-left: 25%;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-ms-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
background-image: url(images/arrow.svg);
background-repeat: no-repeat;
background-position:  28rem center;
background-size: 2.4rem;
}
span.wpcf7-spinner {
  display: none;
}
input.wpcf7-submit::before,
input.wpcf7-submit::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
}
input.wpcf7-submit::before {
  top: 0;
  left: 0;
  border-top: 1px solid #999999;
  border-left: 1px solid #999999;
}
input.wpcf7-submit::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #999999;
  border-bottom: 1px solid #999999;
}
input.wpcf7-submit:hover {
  color:#ff0000 !important;
  border: solid 1px #ff0000;
}
input.wpcf7-submit:hover::before {
  top: 0;
  left: 0;
  border-top: 1px solid #ff0000;
  border-left: 1px solid #ff0000;
}
input.wpcf7-submit:hover::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #ff0000;
  border-bottom: 1px solid #ff0000;
}
input.wpcf7-submit:hover::before,
input.wpcf7-submit:hover::after {
  width: 0;
  height: 0;
  opacity: 0;
}
input:focus, select:focus, textarea:focus  {
	outline:none !important;
}
.wpcf7-response-output{
	border: none !important;
	font-size:1.2rem;
	line-height:1.8rem;
	letter-spacing:.05em;
	font-weight:400;
	text-align:left;
	margin:0 !important;
	padding:0 !important;
	margin-bottom: 6rem !important;
}
div.wpcf7-validation-errors{
	border: none !important;
	color:#F00;
	font-size:1rem;
	line-height:1.8rem;
	letter-spacing:.05em;
	font-weight:400;
	text-align:left;
}
.wpcf7-not-valid-tip{
	border: none !important;
	color:#F00;
	font-size:1.2rem !important;
	line-height:1.8rem !important;
	letter-spacing:.05em;
	font-weight:400;
	text-align:left;
	margin-top:.8rem;
	margin-bottom:.8rem;
}



.wpcf7-form-control-wrap{
	position: relative;
}

.wpcf7-select::-ms-expand {
  display: none;
}
.wpcf7-form.init{
	margin-bottom:0rem;
}

.checkbox-cl01 input {
  display: none;
}

.checkbox-cl01 input + span {
  padding-left: 2.8rem;
  display: inline-block;
  position: relative;
}

.checkbox-cl01 input + span::after,
.checkbox-cl01 input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}

.checkbox-cl01 input + span::before {
  border: 1px solid #aaaaaa;
  background-color: #ffffff;
  height: 1.6rem;
  width: 1.6rem;
  border-radius: 50%;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.checkbox-cl01 input + span::after {
  border: none;
  background-color: #FF0000;
border-radius: 50%;
height: .8rem;
width: .8rem;
  left: .4rem;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

.checkbox-cl01 input:checked + span::after {
  display: block;
}
.typeContact .wpcf7-form-control{
	border:none !important;
	background:none !important;
	border-radius:none !important;
	font-size: 1.3rem;
	line-height: 3em;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.wpcf7-list-item {
display: inline-block;
margin: 0 0 0 3em;
}

.statusTxt p{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.3rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.075em;
font-weight: 400;
text-decoration: none;
}
.statusTxt .toButton{
	margin-left:0 !important;
}

/* = contact
-------------------------------------------------------------- */

.contactFormWrap{
margin-top: 9rem;
}

.contactFormWrap .innerWrap{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contactKvWrap{
	width:50%;
	padding-right:17.4825vw;
	position:relative;
}
.contactTxtWrap{
	width:50%;

}
.contactDes{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.4rem;
line-height: 2.6em;
color: #1A1A1A;
letter-spacing: 0.075em;
font-weight: 400;
text-decoration: none;
margin: 6rem 0;
margin-top: 9rem;
}
.contactForm{
	margin-top: 9rem;
}
.contactKvWrap{
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	flex-direction:column;
}
.directContact{
	margin-top:auto;
}
.directContactDes{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.3rem;
line-height: 2.5em;
color: #1A1A1A;
letter-spacing: 0.075em;
font-weight: 400;
text-decoration: none;
padding-bottom:2rem;
border-bottom:solid .5px #9B9B9B;
}

.directContactAdd{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
font-size: 1.6rem;
line-height: 1.3em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: none;
margin-top: 3rem;
}
.directContactTel{
		font-family: lato, sans-serif;
	font-size: 1.6rem;
	line-height: 1.2em;
	color: #1A1A1A;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	margin-top:1.6rem;
}

/* = page
-------------------------------------------------------------- */
#page{

	padding-top:12vw;	

}
#page .singleEditor{
	margin-top:0;
}
.caseGridWrap .toButton{
	border:none !important;
}

/* = archive-case_archives
-------------------------------------------------------------- */
#archive-case_archives{

	padding-top:12vw;	

}
#archive-case_archives .singleEditor{
	margin-left:0;
	margin-top:0;
}
#archive-case_archives .singleContWrap{
	-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
}
.caseArchivesGrid li{
	margin-bottom:1.6rem;
}
.caseArchivesGrid li a{
	font-size: 1.3rem;
line-height: 1.3em;
color: #1A1A1A;
letter-spacing: 0.125em;
font-weight: 500;
text-decoration: underline;
	-webkit-transition: all .2s;
	transition: all .2s;
	
}
.caseArchivesGrid li a:hover{
	color:#ff0000 !important;
}

#archive-case_archives .editorTxt table{
	width:100% !important;
}
#archive-case_archives .editorTxt table th{
	width:50% !important;
}
#archive-case_archives .editorTxt table td{
	width:50% !important;
}
#archive-case_archives .pageNav a{
	text-decoration:none !important;
}

/* = footer.php
-------------------------------------------------------------- */


#footer{
	width:100%;
	position:relative;
}
#wrapFooter{
	margin-top:9rem;
}

.footerContactWrap{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.footerContactBlock{
	width:100%;
	position:relative;
}
.footerContactBlock .coverImg{
	width:100%;
	padding-top:33.3333%;
	position:relative;
}

.footerContactBlock .coverImg::after{
position: absolute;
display: block;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: inset 0 0 60rem rgba(0, 0, 0, 0.3),
inset 0 0 40rem rgba(0, 0, 0, 0.1);
z-index: 100;
}
.footerContactTxtWrap{
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 200;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.footerContactTxt, .footerContactLink, .footerContactBlock.toContact span{
	-webkit-transition: all .5s !important;
	transition: all .5s !important;
}

.footerContactBlock:hover .footerContactLink{
	opacity:.6 !important;
}

.footerContactBlock.followUs .footerContactTxt{
	font-family: lato, sans-serif;
	font-size: 1.8rem;
	line-height: 1.6em;
	color: #ffffff;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	white-space:nowrap;
	margin-right:2rem;
}
.footerContactLink{
	font-family: lato, sans-serif;
	font-size: 2.4rem;
	line-height: 1.6em;
	color: #ffffff !important;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	white-space:nowrap;
	margin:0 2rem;
}
.footerContactBlock.toContact .footerContactTxt{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.4rem;
	line-height: 1.6em;
	color: #ffffff;
	letter-spacing: 0.075em;
	font-weight: 600;
	text-decoration: none;
	white-space:nowrap;
	margin-right:2rem;
}
.outerLink{
	width:1.6rem;
	height:auto;
	margin-left:.8rem;
	margin-bottom:1.6rem;
}
.footerContactBlock.toContact span{
	width:12rem;
	height:1px;
	background:#ffffff;
	margin:0 2rem;
}
.toContact > a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index: 1000;
}

.footerNav{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 6rem 0;
	padding-bottom:4rem;
}
.footerLogoWrap{
	width:50%;
}
.footerLogo img{
	width:24rem;
}
.footerNavWrap{
	width:50%;
}
.footerNavMain{
	width:100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-top:2rem;
	padding-bottom:4rem;
	border-bottom: solid .5px #9B9B9B;
}
.footerNavSub{
	width:100%;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-direction:normal;
	-moz-box-direction:normal;
	-webkit-box-orient:horizontal;
	-moz-box-orient:horizontal;
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
	padding:4rem 0;
	padding-bottom: 2rem;
}
.footerNav ul li a{
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #1A1A1A !important;
	letter-spacing: 0.125em;
	font-weight: 500;
	text-decoration: none;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.footerNav ul li a:hover{
	color: #ff0000 !important;
}
.footerNavSub li{
	margin-right:6rem;
}
.footerNavSub li:last-child{
	margin-right:0;
}
.footerAdress{
	width:50%;
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1.2rem;
	line-height: 2em;
	color: #1A1A1A !important;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	text-align: left;
}
.copyright{
	width:50%;
	font-family: dnp-shuei-gothic-kin-std, sans-serif;
	font-size: 1rem;
	line-height: 1.8em;
	color: #1A1A1A !important;
	letter-spacing: 0.075em;
	font-weight: 400;
	text-decoration: none;
	text-align: right;
	align-self: flex-end;
}

/* = Media (Responsive Setting)
-------------------------------------------------------------- */

/* = Media (Responsive Setting)
-------------------------------------------------------------- */
@media only screen and (min-width: 2280px){

	html,body {
		font-size:11.2px;
	}
	.mainNav ul li{
	margin-left:3.4rem;
	}
	.mainNav ul li a{
		font-size:1.7rem;
	}

} /*Query End*/
@media only screen and (min-width: 1920px) and (max-width: 2279px){

html,body {
		font-size:10.6px;
	}
	.mainNav ul li{
	margin-left:3.2rem;
	}
	.mainNav ul li a{
		font-size:1.6rem;
	}
.PC {
	display: block;}
.TB {
	display: none;}
.SP {
	display: none;}

} /*Query End*/
@media only screen and (min-width: 1280px) and (max-width: 1440px){

html,body {
		font-size:9px;
	}
.mainNav ul li{
	margin-left:2.6rem;
}
.PC {
	display: block;}
.TB {
	display: none;}
.SP {
	display: none;}

}/*Query End*/
@media only screen and (min-width: 960px) and (max-width: 1279px){

html,body {
		font-size:8px;
	}
.PC {
	display: block;}
.TB {
	display: none;}
.SP {
	display: none;}
	
.mainNav ul li{
	margin-left:2.2rem;
}
.mainNav ul li a{
		font-size:1.4rem;
	}
.logo img{
	width: 18.8vw;
}
.modalLogo{
	width: 18.8vw;
}
.modalLogoWrap{
	width: 18.8vw;
}
.pageTitle img{
	height: 1.8vw !important;
}

/* = front-page.php
----------------------------------------------- */

.topBusiness{
	padding-left: 0vw;
}
.topCaseHeadline{
	left: 4.4vw;
}
/* = footer.php
----------------------------------------------- */

.footerNavWrap {
width: 70%;
}
.footerLogoWrap {
width: 30%;
}
/* = about
----------------------------------------------- */
.philosophyKeyWrap .portrait43{
	padding-top:150%;
}
.philosophyDetailImg{
	padding-left: 18.16vw;
}
.messagePortrait{
	padding-right: 2.21vw;
}
.messageTxtBlock{
	padding-right: 2.21vw;
}
.messageTxtBlock h3{
font-size: 2rem;
}
#tab_btn li {
margin: 2rem 4rem;
}
#tab_info {
width: 70%;
}
.companyInfoKv{
	padding-left: 3.83vw;
}
.infoTableLeft{
	padding-left: 7.66vw;
}
.infoTableRight{
	padding: 0 3.83vw;
}
.companyInfoKvWrap .chapterTitle{
	padding-left: 7.66vw;
}
.infoRecruitTxtWrap{
	padding-left: calc(0vw + 10em);
}
/* = recruit
----------------------------------------------- */
.recruitTxtWrap{
	padding-left: 5.66vw;
padding-right: 2.83vw;
}

.contactKvWrap{
	width: 40%;
padding-right: 4vw;
}
.contactTxtWrap {
width: 60%;
}
#single-cases .scrollWrap{
	display:none;
}
#single-cases .singleCont, #archive-case_archives .singleCont{
	width: 67.45vw;
}
#single-cases .postTitleWrap, #archive-case_archives .postTitleWrap{
	width: 67.45vw;
}
#single-cases .singleInfoTableWrap, #archive-case_archives .singleInfoTableWrap{
	padding-right: 2.21vw;
	margin-bottom: 6rem;
}
#single-cases .singleEditor, #archive-case_archives .singleEditor{
	width: 57.035vw;
}
#page .singleEditor{
margin-left: 9.31vw;
width: 71.38vw;
}
#page .chapterTitleWrap{
	width: 8.07vw;
}
#page .postTitleWrap{
	width: 72.04vw;
}

}/*Query End*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

html,body {
		font-size:8px;
	}
.PC {
	display: none;}
.TB {
	display: block;}
.SP {
	display: none;}

.mainNav ul li{
	margin-left:2rem;
}
.mainNav ul li a{
		font-size:1.3rem;
	}
.mainNav{
	display:none;
}
.catchWrap {
width: 32%;
position: relative !important;
bottom: auto !important;
left: auto !important;
}
.topSlideWrap{
	width: 68%;
	margin-left: 0 !important;
}
.firstView .swiper-slide{
	width:100% !important;
}
.catchJP{
	width: 22.48vw;
}
.catchEN{
	width: 14.51vw;
margin-top: 5.67vw;
}
.logo img{
	width: 24.8vw;
}
.modalLogo{
	width: 24.8vw;
}
.modalLogoWrap{
	width: 24.8vw;
}
.pageTitle img{
	height: 2.2vw !important;
}
.pageTitle {
height: 6.15vw;
}
.modalFooterNav li{
	margin-right:2rem;
}
.modalFooterNav li:last-child{
	margin-right:0;
}

/* = front-page.php
----------------------------------------------- */

.topBusiness{
	padding-left: 0vw;
}
.topCaseHeadline{
	left: 4.4vw;
}
.topAboutKeyTxt{
	margin-left: 0;
width: 50%;
padding-right: 4vw;
padding-left: 4vw;
}
.topAboutHeadline{
	font-size: 3.2rem;
}
.topTopicsHeadline{
	font-size: 3.2rem;
}
.topBusinessHeadline{
	font-size: 3.2rem;
}
.topCaseHeadline{
	font-size: 3.2rem;
}
.topAboutLinkWrap{
	width: 84%;
margin-left: 16%;
}
.topAboutLink {
width: 45%;
}
.selectTopics {
width: 54%;
}
.topBusinessList ul li{
width: 84%;
padding-left: 11vw;
margin-bottom: 8vw;
margin-left: 8%;
}

.topCases{
	margin-top: 6rem;
}

/* = footer.php
----------------------------------------------- */

.footerNavWrap {
width: 100%;
margin-bottom:4rem;
}
.footerLogoWrap {
width: 30%;
margin-bottom:6rem;
}

.footerContactLink{
	font-size: 2rem;
}
.footerContactBlock.toContact span{
	width: 9rem;
}
.footerContactBlock .coverImg{
	padding-top: 44.5%;
}

/* = about
----------------------------------------------- */
.pageKvWrap{
	width: 100%;
	margin-top: 7.4vw;
}
.philosophyWrap{
	margin-top:6rem;
}
.philosophyKeyWrap .portrait43{
	padding-top:150%;
}
.philosophyDetailImg{
	padding-left: 18%;
	width: 50%;
	padding-right: 2%;
}
.philosophyKeyWrap {
	width: 44%;
}
.philosophyTxtWrap {
	width: 44%;
}
.philosophyDetailTxt {
	width: 44%;
}
.philosophyDetail{
top: -10vw;
}
.philosophy-swiper{
	margin-top:0;
}
.messagePortrait{
	padding-right: 0vw;
	width:32%;
	margin-bottom:3rem;
}
.messageTxtBlock.TB{
	width:50%;
	padding-right: 0vw;
	align-self: end;
}
.messageTxtBlock:not(.TB){
	padding-right: 0vw;
	width:100%;
}
.messageTxtBlock.full{
	width:60%;
	padding-right: 0vw;
}
.messageTxtBlock h3{
font-size: 2.4rem;
}
.messageWrap .chapterNo{
width: 32%;
}
.messageWrap .chapterTitle {
width: 68%;
}
.messageTxtBlock p{	
font-size: 1.6rem;
}
#tab_btn li {
margin: 2rem 2rem;
}
#tab_info {
width: 100%;
}
.companyInfoKv{
	padding-left: 3.83vw;
}
.infoTableLeft{
	padding-left: 7.66vw;
}
.infoTableRight{
	padding: 0 3.83vw;
}

.infoRecruitTxtWrap{
	padding-left: 8%;
}
.companyInfoKvWrap .chapterNo {
position: relative;
top: 0;
left: 0;
transform-origin: left top;
transform: rotate(0deg) translate(0%, 0%);
width: 32%;
}
.companyInfoKvWrap .chapterTitle {
padding-left: 0;
width: 68%;
}
.companyInfoKv {
padding-left: 32%;
width: 100%;
margin-top: 4rem;
}
.infoTableLeft{
	padding-left: 0;
	width: 100%;
}
.infoTableRight{
	padding: 0;
	width: 100%;
}
.infoTable table{
	width:100%;
}
.infoTable table th{
	width: 32%;
}
.infoTable table td{
	width: 68%;
}
.infoTable table th, .infoTable table td{
	font-size: 1.5rem;
}
.infoRecruitTxt{
	margin-top: 3rem;
margin-bottom: 6rem;
}
.toButton{
	width:36%;
}

/* = business
----------------------------------------------- */

.visionWrap {
margin-top: 6rem;
}

.visionSecA .visionImg{
padding-right: 12%;
}
.visionSecA .visionCatchEn {
position: relative;
transform-origin: right top;
transform: rotate(0deg) translate(0%, 0%);
right: auto;
top: auto;
margin-top:2rem;
}
.visionSecB .visionImg{
	padding-right: 12%;
}
.visionSecB .visionCatchJp{
	right: -3%;
}
.visionSecC .visionCatchJp{
right: 12%;
}
.visionSecB .visionCatchEn {
position: relative;
left: auto;
top: auto;
margin-top: 3rem;
}
.visionSecC {
margin-left: 56%;
width: 44%;
position: relative;
left: 0;
margin-top: -18%;
padding-bottom: 4%;
}
.visionSecC .visionImg {
padding-right: 40%;
}
.businessSecTitleJp{
	font-size: 2rem;
}
.businessSecImg {
width: 56%;
}
.businessSecTxt {
width: 38%;
}
.businessSecTxt br{
	display:none;
}
.businessSecDes{
	font-size: 1.4rem;
	margin-top: 3rem;
margin-bottom: 6rem;
}
.businessSecTitleJp{
	margin-top: 6rem;
}


/* = archive-cases
----------------------------------------------- */
.caseGridWrap {
margin-top: 4rem;
margin-bottom: -9rem;
}

.gridName {
padding: 1rem 1.6rem;
font-size: 1.4rem;
margin-bottom: 0rem;
}
.gridCat {
padding: 1rem 1.6rem;
}
.gridCat span{
	padding-left: 2rem;
}
.sortCat .sortTitle{
	width:100%;
	margin-bottom:4rem;
}

/* = single-cases
----------------------------------------------- */

.singleInfoTableWrap{
	width: 28%;
margin-right: 0;
}
.singleCont {
width: 72%;
}

/* = recruit
----------------------------------------------- */

.recruitIntroWrap {
margin-top: 6rem;
}

.recruitTxtWrap {
	width:54%;
padding-left: 8%;
padding-right: 0;
}
.recruitSubImg {
width: 100%;
margin-top: 6rem;
padding-right: 20%;
}
.recruitKvWrap {
width: 45%;
padding-left: 6%;
}

.guidelines .chapterTitle {
position: relative;
top: auto;
left: auto;
margin-bottom: 4rem;
}
.recruitCatch{
	font-size: 1.8rem;
}
.recruitSubImg{
	margin-top: 6rem;
padding-right: 14%;
position: relative;
left: -17%;
}
.recruitThirdWrap{
	width:100%;
	padding-right: 14%;
padding-left: 38%;
margin-top: -42%;
}
.guidelines {
padding-left: 0;
}
.guidelines table{
	width:100%;
}
.guidelines table th{
	width: 32%;
}
.guidelines table td{
	width: 68%;
}
.guidelines table th, .guidelines table td{
	font-size:1.5rem;
}
.entry .chapterTitle{
	position:relative;
	top:auto;
	left:auto;
	margin-bottom:4rem;
}
.entry{
	padding-left: 0;
}
.wpcf7-form table{
	width:100% !important;
}
.wpcf7-form table tbody tr th{
	width: 32% !important;
	font-size: 1.5rem;
}
.wpcf7-form table tbody tr td{
	font-size: 1.5rem;
}
.contactFormWrap {
margin-top: 6rem;
}
.contactKvWrap{
	width: 40%;
padding-right: 4vw;
}
.contactTxtWrap {
width: 100%;
display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contactKv.TB{
	width: 40%;
}
.contactTxt{
	width:60%;
	padding-left:8%;
}
.contactForm{
	width:100%;
}
.wpcf7-submit{
	width: 36%;
	margin-left: 32%;
}
.directContact.TB{
	margin-left: 32%;
	margin-top:9rem;
	width: 68%;
}
#single-cases .scrollWrap{
	display:none;
}
#single-cases .singleCont, #archive-case_archives .singleCont{
	width: 72%;
}
#single-cases .postTitleWrap, #archive-case_archives .postTitleWrap{
	width: 72%;
}
.chapterTitleWrap {
width: 28%;
margin-right: 0;
}
#single-cases .singleInfoTableWrap, #archive-case_archives .singleInfoTableWrap{
	padding-right:4%;
	margin-bottom: 6rem;
}
#single-cases .singleEditor, #archive-case_archives .singleEditor{
	width: 60%;
	margin-left: 28%;
}
#archive-case_archives .singleEditor{
	width: 60%;
	margin-left: 0%;
}

#page {
padding-top: 16vw;
}
#page .singleEditor{
margin-left: 9.31vw;
width: 71.38vw;
}
#page .chapterTitleWrap{
	width: 8.07vw;
}
#page .postTitleWrap{
	width: 72.04vw;
}
.topicsGridWrap {
margin-top: 4rem;
margin-bottom: -9rem;
}

.chapterTitle span{
	padding-left: 3rem;
	margin-left: 1rem;
}
.chapterTitle span::before{
	width: 2rem;
}


}/*Query End*/

@media only screen and (max-width: 767px) {


html,body {
		font-size:8px;
	}
.PC {
	display: none;}
.TB {
	display: none;}
.SP {
	display: block;}

.mainNav ul li{
	margin-left:2rem;
}
.mainNav ul li a{
		font-size:1.3rem;
	}
.mainNav{
	display:none;
}
.catchWrap {
width: 100%;
position: relative !important;
bottom: auto !important;
left: auto !important;
width: 100%;
-webkit-box-ordinal-group:3;
	-ms-flex-order:2;
	order:2;
}
.topSlideWrap{
	width: 100%;
	margin-left: 0 !important;
	-webkit-box-ordinal-group:2;
	-ms-flex-order:1;
	order:1;
	margin-top:8rem;
}
.firstView .swiper-slide{
	width:100% !important;
}
.catchJP{
	width: 18rem;
margin-top: 4rem;
}
.catchEN{
	width: 12rem;
margin-top: 3rem;
}
.swiper-pagination{
	position: absolute!important;
bottom: 0;
right: 0;
margin-top: 4rem;
}
.logo img{
	width: 22rem;
}
.menu-trigger{
	top: 3rem;
}
.logoWrap{
	top: 3rem;
}
.modalLogo{
	width: 22rem;
}
.modalLogoWrap{
	width: 22rem;
	top: 3rem;
}
.pageTitle img{
	height: 2rem !important;
}
.pageTitle {
height: 6rem;
}
.modalFooterNav li{
	margin-right: 4rem;
margin-bottom: 2.4rem;
}
.modalFooterNav li a {
font-size: 1.5rem;
line-height: 1.5rem;
}
.modalMenu li {
margin-top: 1.6rem;
}
.modalMenu li a{
	font-size: 2.8rem;
	line-height: 3.2rem;
	padding: 1.6rem 0;
}
.modalFooterNav li:last-child{
	margin-right:0;
}
.modalFooterNav{
	bottom: 3rem;
	width: 100%;
}
.firstView{
	padding-top: 3rem;
padding-bottom: 3rem;
}
.modalMenu{
	margin-top: 0rem;
}
.modalVisual .copyright{
	display:none;
}

.topAboutKeyImg {
width: 100%;
min-height: auto;
padding-top: 66%;
}
.topAboutKeyImg .coverImg{
padding-top: 66%;
}
.modalVisual{
	width: 100%;
	filter: brightness(.7);
}
.modalInner{
	width: 100%;
	background:none;
	box-shadow: inset 0 0 12rem rgba(0, 0, 0, 1.2),
inset 0 0 8rem rgba(0, 0, 0, 1.0);
}

/* = front-page.php
----------------------------------------------- */

.topBusiness{
padding: 4rem 4vw;
	padding-left: 0vw;
	
}
.topCaseHeadline{
	left: 4.4vw;
	position: relative;
}
.topAboutKeyTxt{
	margin-left: 0;
width: 100%;
padding-right: 4vw;
padding-left: 4vw;
margin-top:4rem;
padding-bottom: 9rem;
}
.topAboutDes {
font-size: 1.7rem;
margin-top:4rem;
line-height: 2.2em;
}
.viewmore{
	width: 20rem;
	font-size: 1.3rem;
}
.topAboutLinkWrap .topAboutLink:first-child .topAboutLinkTitle{
	padding-left:4vw;
}
.topAboutHeadline{
	font-size: 3.2rem;
}
.topTopicsHeadline{
	font-size: 3.2rem;
	margin-bottom: 4rem;
}
.topBusinessHeadline{
	font-size: 3.2rem;
}
.topCaseHeadline{
	font-size: 3.2rem;
}
.topAboutLinkWrap{
	width: 100%;
margin-left: 0;
}
.topAboutLink {
width: 46%;
}
.selectTopics {
width: 100%;
}
.topTopics .viewall{
	top:4rem;
	right:4vw;
}
.topicsTitle{
font-size: 1.7rem;
}
.dateCat p{
font-size: 1.5rem;
}
.dateCat span{
width: 0.4rem;
height: .4rem;
margin: 0.7rem 1rem;
}
.topicsTitle::after{
font-size: 1.3rem;
}
.topBusinessTitleEN {
font-size: 1.5rem;
}
.selectTopicsImg{
	padding-top: 75%;
}
.selectTopicsImg .coverImg {
height: 0;
padding-top: 75%;
min-height: auto;
}
.topBusinessList ul li{
width: 100%;
padding-left: 8rem;
margin-bottom: 9rem;
margin-left: 0;
}
.topBusinessNo{
	left: 3rem;
}
.topTopicsList ul {
margin-top: 6rem;
}
.topTopicsList ul li:last-child{
	border-bottom:none;
}

.topCases{
	margin-top: 0rem;
	padding: 0;
}
.topTopicsList{
	width:100%;
}
.topTopics{
position:relative;
padding: 4rem 4vw;
}
.topBusinessList{
margin-top: 6rem;
}
.topBusinessImg{
	padding-top:80%;
}
.topBusinessTitle{
	white-space:nowrap;
	left: 3rem;
}
.topCasesTxtWrap > span{
	display:none;
}
.topCasesTxtWrap .caseCat{
	width:100%;
	text-align:center;
	margin-bottom:1.6rem;
}
.topCasesTxtWrap .caseTitle{
	width:100%;
	text-align:center;
}

/* = footer.php
----------------------------------------------- */

.footerNavWrap {
width: 100%;
margin-bottom:3rem;
}
.footerLogoWrap {
width: 100%;
margin-bottom:3rem;
}

.footerContactLink{
	font-size: 2rem;
}
.footerContactBlock.toContact span{
	width: 9rem;
}
.footerContactBlock .coverImg{
	padding-top: 50%;
}
.footerLogo img {
width: 22rem;
}
.footerNavMain{
	-webkit-box-pack: start;
	-webkit-justify-content: start;
	-ms-flex-pack: start;
	justify-content: start;
}
.footerNavMain li{
	margin-right:3rem;
	margin-top:3rem;
}
.footerNav ul li a{
	font-size:1.5rem;
}
.footerNavSub li{
	margin-right:3rem;
	margin-bottom:3rem;
}
.footerNavSub li a{
	font-size:1.5rem;
}

.footerContactBlock {
width: 100%;
}
#wrapFooter {
margin-top: 6rem;
}
.footerNav{
	padding: 4rem 0;
}

.footerAdress {
width: 100%;
font-size: 1.3rem;
}
.copyright {
width: 100%;
margin-top:1.6rem;
text-align:left;
}

.footerContactBlock .coverImg{
	width:100%;
	padding-top:56.25%;
}

/* = about
----------------------------------------------- */
.pageKv .landscape916{
	padding-top:75%;
}
.pageTitle span{
margin-right: 2rem;
}
.pageKvWrap{
	width: 100%;
	margin-top: 8rem;
}
.philosophyWrap{
	margin-top:3rem;
	width: 100%;
}
.philosophyKeyWrap .portrait43{
	padding-top:133.3333%;
}
.philosophyDetailImg{
	padding-right: 25%;
width: 100%;
padding-left: 25%;
top: -4vw;
}
.philosophyKeyWrap {
	width: 68%;
margin-left: 16%;
margin-right: 16%;
margin-bottom: 3rem;
}
.philosophyTxtWrap {
	width: 84%;
margin-left: 16%;
padding-right: 4vw;
padding-left: 0;
}
.philosophyCatch{
	margin-top: 4rem;
}
.philosophyDetailTxt {
	width: 100%;
padding-left: 4vw;
}
.philosophyDetail{
top: auto;
}
.philosophyDetailImg .portrait32{
	padding-top: 133.3333%;
}
.philosophyImg{
padding-left: 0%;
}
.philosophyDetailTxt p{
margin-top: 3rem;
font-size: 1.6rem;
}
.philosophy-swiper{
	margin-top:0;
}
.messagePortrait{
	padding-right: 0vw;
	width: 68%;
margin-left: 16%;
	margin-bottom:3rem;
}
.messageTxtBlock.TB{
	width:50%;
	padding-right: 0vw;
	align-self: end;
}
.messageTxtBlock:not(.TB){
	padding-right: 0vw;
	width:100%;
}
.messageTxtBlock.full{
	width:100%;
	padding-right: 0vw;
}
.messageTxtBlock h3{
font-size: 2rem;
margin-bottom: 4rem;
}
.messageWrap .chapterNo{
width: 100%;
margin-bottom: 3rem;
}
.messageWrap .chapterTitle {
width: 100%;
}
.messageWrap{
	padding: 4rem 0;
}
.messageWrap .innerWrap section:last-child {
padding-top: 6rem;
}
.messageSection{
margin-top: 3rem;
}
.messageTxtBlock p{	
font-size: 1.6rem;
}
.historyWrap{
	padding: 4rem 4vw;
}
.historyBg{
box-shadow: inset 0 0 48rem rgba(0, 0, 0, 1.2),
inset 0 0 32rem rgba(0, 0, 0, 1.0);
}
#tab_btn{
-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
#tab_btn li {
	width:50%;
margin: 0;
margin-bottom:2rem;
padding-right:1em;
}
#tab_info {
width: 100%;
}
.companyInfoKvWrap{
padding: 4rem 0;
padding-bottom: 4rem;
}
.companyInfoKv{
	padding-left: 3.83vw;
}
.infoTableLeft{
	padding-left: 7.66vw;
}
.infoTableRight{
	padding: 0 3.83vw;
}
.infoRecruitImg {
width: 100%;
}
.infoRecruitWrap{
	margin-top: 6rem;
}
.infoRecruitTxtWrap{
	padding-left: 0%;
	width: 100%;
}
.companyInfoKvWrap .chapterNo {
position: relative;
top: 0;
left: 0;
transform-origin: left top;
transform: rotate(0deg) translate(0%, 0%);
width: 100%;
margin-bottom:3rem;
}
.companyInfoKvWrap .chapterTitle {
padding-left: 0;
width: 100%;
}
.companyInfoKv {
padding-left: 0%;
width: 100%;
margin-top: 4rem;
}
.infoTableLeft{
	padding-left: 0;
	width: 100%;
	border-bottom: solid .5px #9B9B9B;
}
.infoTableRight{
	padding: 0;
	width: 100%;
}
.infoTable table{
	width:100%;
}
.infoTable table th{
	width: 32%;
}
.infoTable table td{
	width: 68%;
}
.infoTable table th, .infoTable table td{
	font-size: 1.6rem;
}
.infoRecruitTxt{
	margin-top: 3rem;
margin-bottom: 6rem;
font-size: 1.6rem;
line-height: 2.2em;
}
.toButton{
	width: 68%;
	margin: 4rem auto;
margin-bottom: 3rem;
font-size: 1.5rem;
}
.messagePosition{
font-size: 2.2rem;
}
.messagePosition span{
font-size: 1.5rem;
}
.visionCatchEn{
font-size: 1.6rem;
line-height: 1.6em;
}
/* = business
----------------------------------------------- */

.visionWrap {
margin-top: 3rem;
padding: 4rem 0;
}
.visionBg{
box-shadow: inset 0 0 96rem rgba(0, 0, 0, 16.2),
inset 0 0 64rem rgba(0, 0, 0, 1.0) !important;
filter: grayscale(1) brightness(.4);
}
.visionWrap .chapterTitle {
margin-top: 4rem;
margin-bottom: 6rem;
}
.visionSecA {
width: 100%;
position: relative;
margin-top: 0;
}
.visionSecA .visionImg{
padding-right: 16%;
}
.visionSecA .visionCatchEn {
position: relative;
transform-origin: right top;
transform: rotate(0deg) translate(0%, 0%);
right: auto;
top: auto;
margin-top:2rem;
}
.visionSecA .visionCatchJp{
margin-top: 3rem;
}
.visionSecB {
width: 100%;
position: relative;
margin-top: 6rem;
}
.visionSecB .visionImg{
	padding-right: 16%;
}
.visionSecB .visionCatchJp{
	right: auto;
position: relative;
top: auto;
writing-mode: horizontal-tb;
margin-top: 3rem;
}
.visionSecC .visionCatchJp{
right: 12%;
}
.visionSecB .visionCatchEn {
position: relative;
left: auto;
top: auto;
margin-top: 1rem;
}
.visionSecC {
margin-left: 0;
width: 100%;
position: relative;
left: 0;
margin-top: 6rem;
padding-bottom: 4%;
}
.visionSecC .visionImg {
padding-right: 40%;
}
.businessWrap{
padding: 4rem 0;
margin-bottom: -6rem;
}
.businessWrap .titleWrap{
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
flex-wrap: wrap;
}
.businessWrap .chapterNo {
width: 100%;
margin-bottom:3rem;
}
.businessWrap .chapterTitle {
width: 100%;
}
.businessSecTitleJp{
	font-size: 2rem;
}
.businessSec{
padding: 6rem 0;
}
.businessSecImg {
width: 100%;
margin-bottom:3rem;
}
.businessSecTxt {
width: 100%;
}
.businessSecTxt br{
	display:none;
}
.businessSecDes{
	font-size: 1.6rem;
	line-height: 2em;
	margin-top: 3rem;
margin-bottom: 4rem;
}
.businessSecTitleJp{
	margin-top: 3rem;
}

.showGrid li {
width: 48%;
margin-right: 4%;
margin-bottom: 6rem;
}
.showGrid li:nth-child(3n) {
margin-right: 4%;
}
.showGrid li:nth-child(2n) {
margin-right: 0;
}
.showGridTitle{
margin-top: 1rem;
position: relative;
bottom: auto;
padding-top: 0;
padding-right: 0em;
font-size: 1.5rem;
}
.showGrid{
margin-top: 3rem;
}
.hideContent{
margin-bottom: -3rem;
}

/* = archive-cases
----------------------------------------------- */
.caseGridWrap {
margin-top: 2rem;
padding: 4rem 0;
}

.gridName {
padding: 1rem 1.6rem;
font-size: 1.4rem;
margin-bottom: 0rem;
}
.gridCat {
padding: 1rem 1.6rem;
}
.gridCat span{
	padding-left: 2rem;
}
.sortCat{
width: calc(100% + 3rem) !important;
margin-left: -3rem;
margin-bottom: 3rem;
}
.sortCat li {
margin-right:0;
margin-left: 3rem;
margin-bottom: 3rem;
}
.sortCat li:first-child {

}
.firstGrid {
width: 100%;
margin-right: 0%;
}
.firstGrid .casesGrid{
padding-bottom: 4%;
}
.secondGrid {
display:none;
}
.mainGrid .casesGrid li{
	width:48%;
	margin-right: 4%;
	margin-bottom: 4%;
}
.mainGrid .casesGrid li:nth-child(-n+5) {
display: block;
}
.mainGrid .casesGrid li:nth-child(1) {
display: none;
}
.mainGrid .casesGrid li:nth-child(4n+1) {
margin-right: 4%;
}
.mainGrid .casesGrid li:nth-child(2n+1) {
margin-right: 0;
}
.caseGridWrap{
margin-bottom: -6rem;
}

.sortCat .sortTitle{
	width:100%;
	margin-bottom:4rem;
}

#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(4n+1), .mainGrid.secondPage .casesGrid li:nth-child(4n+1){
margin-right: 4%;
}
#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(3n), .mainGrid.secondPage .casesGrid li:nth-child(3n){
margin-right:4%;
}
#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(2n), .mainGrid.secondPage .casesGrid li:nth-child(2n){
margin-right:0;
}
#taxonomy-cases_cat .mainGrid .casesGrid li:nth-child(2n+1), .mainGrid.secondPage .casesGrid li:nth-child(2n+1){
margin-right:4%;
}

/* = single-cases
----------------------------------------------- */

.singleInfoTableWrap{
	width: 100%;
margin-right: 0;
}
.singleCont {
width: 100%;
}

.editorTxt h1{
font-size: 2rem;
line-height: 2em;
}

.editorTxt h2{
font-size: 1.8rem;
line-height: 2em;
}

.editorTxt h3{
font-size: 1.8rem;
line-height: 2em;
}
.editorTxt h4{
font-size: 1.7rem;
line-height: 2em;
}
.editorTxt h5{
font-size: 1.5rem;
line-height: 2em;
}
.editorTxt h6 {
font-size: 1.4rem;
line-height: 2em;
}
.editorTxt p, .editorTxt div{
font-size: 1.6rem;
line-height: 2em;
}
.editorTxt ul li{
font-size: 1.6rem;
line-height: 1.8em;
}
.editorTxt ol li{
font-size: 1.5rem;
line-height: 1.8em;
}
.postCat{
font-size: 1.7rem;
}
.postCat span{
padding-left: 2.4rem;
}

/* = recruit
----------------------------------------------- */

.recruitIntroWrap {
margin-top: 3rem;
}

.recruitTxtWrap {
	width: 100%;
padding-left: 0;
padding-right: 0;
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
.recruitDes{
margin-top: 4rem;
line-height: 2em;
font-size: 1.6rem;
}
.recruitSubImg {
width: 100%;
margin-top: 6rem;
padding-right: 20%;
}
.recruitKvWrap {
width: 100%;
padding-left: 16%;
padding-right: 16%;
-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
margin-bottom: 6rem;
}

.guidelines .chapterTitle {
position: relative;
top: auto;
left: auto;
margin-bottom: 4rem;
}
.recruitCatch{
	font-size: 2rem;
line-height: 2em;
}
.recruitSubImg{
	margin-top: 6rem;
padding-right: 32%;
position: relative;
left: 0;

}
.recruitThirdWrap{
	width:100%;
	padding-right: 0;
padding-left: 30%;
margin-top: -4vw;
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
.guidelines {
padding-left: 0;
}
.guidelines table{
	width:100%;
}
.guidelines table th{
	width: 32%;
}
.guidelines table td{
	width: 68%;
}
.guidelines table th, .guidelines table td{
	font-size:1.6rem;
}
.entry .chapterTitle{
	position:relative;
	top:auto;
	left:auto;
	margin-bottom:4rem;
}
.entry{
	padding-left: 0;
}
.wpcf7-form table{
	width:100% !important;
}
.wpcf7-form table tbody tr th{
	width: 32% !important;
	font-size: 1.5rem !important;
	line-height: 1.8em !important;
}
.wpcf7-form table tbody tr td{
	font-size: 1.5rem !important;
	line-height: 1.8em !important;
}
.wpcf7-list-item{
margin: 0;
font-size: 1.5rem;
width: 100%;
}
.contactFormWrap {
margin-top: 6rem;
}
.contactKvWrap{
	width: 40%;
padding-right: 4vw;
}
.contactTxtWrap {
width: 100%;
display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	flex-wrap: wrap;
}
.contactKv.TB{
	width: 40%;
}
.contactTxt{
	width: 100%;
padding-left: 0;
}
.contactKv.SP{
	width: 100%;
	padding-left:30%;
}
.contactDes{
font-size: 1.5rem;
line-height: 2em;
margin-top: 4rem;
}
.directContact.SP{
	margin-top:9rem;
}
.contactKv.SP .portrait32{
	padding-top:133.3333%;
}
.contactForm{
	width:100%;
}
.wpcf7-submit{

width: 32rem;
margin-left: auto;
margin-right: auto;
font-size: 1.5rem;
text-align: left;
}
.directContact.TB{
	margin-left: 32%;
	margin-top:9rem;
	width: 68%;
}
#single-cases .scrollWrap{
	display:none;
}
#single-cases .singleCont, #archive-case_archives .singleCont{
	width: 100%;
	-webkit-box-ordinal-group: 2;
-ms-flex-order: 1;
order: 1;
margin-top:3rem;
}
#single-cases .postTitleWrap, #archive-case_archives .postTitleWrap{
	width: 72%;
}
.chapterTitleWrap {
width: 100%;
margin-right: 0;
}
#single-cases .singleInfoTableWrap, #archive-case_archives .singleInfoTableWrap {
padding-right: 0;
margin-top: 4rem;
margin-bottom: 4rem;
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
}
#archive-case_archives .singleInfoTableWrap {
-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
margin-bottom:0;
}
#single-cases .singleEditor, #archive-case_archives .singleEditor{
	width: 80%;
margin-left: 10%;
	-webkit-box-ordinal-group: 4;
-ms-flex-order: 3;
order: 3;
}
#archive-case_archives .singleEditor{
-webkit-box-ordinal-group: 3;
-ms-flex-order: 2;
order: 2;
margin-top: 4rem;
width: 100%;
margin-left: 0%;
}
.singleInfoTableWrap.noContent{
	display:none;
}
#page {
padding-top: 20rem;
}
#page .singleEditor{
margin-left: 9.31vw;
width: 71.38vw;
}
#page .chapterTitleWrap{
	width: 8.07vw;
}

#page .postTitleWrap{
	width: 72.04vw;
}
.topicsGridWrap {
margin-top: 2rem;
padding: 4rem 0;
margin-bottom: -6rem;
}
.topicsCont {
width: 100%;
padding-right: 0;
-webkit-box-ordinal-group:3;
	-ms-flex-order:2;
	order:2;
}
.relatedGrid{
margin-top: 4rem;
padding: 6rem 0;
margin-bottom: -9rem;
}
.topicsThum {
width: 100%;
-webkit-box-ordinal-group:2;
	-ms-flex-order:1;
	order:1;
	margin-bottom:3rem;
}
.topicsGrid > ul > li{
padding-bottom: 6rem;
padding-top: 6rem;
}
.topicsGridWrap.secondPage .sortTitle {
margin-bottom: 4rem;
}
.sortWrap {
width: 100%;
margin-bottom: 4rem;
padding-right: 0;
}
.topicsGridWrap .sortCat{
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-moz-box-direction: normal;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
-webkit-flex-direction: row;
-moz-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 0;
}
.topicsGrid {
width: 80%;
margin-left:10%;
}
#archive-case_archives{
padding-top: 12rem;
}

#single-cases .contentWrap {
padding-top: 12rem;
}

#single-cases .postTitleWrap, #archive-case_archives .postTitleWrap {
width: 100%;
margin-top:4rem;
}
.postTitle{
font-size: 2rem;
padding-right:0;
}
.toArchive{
top: -8rem;
}
.singleKv{
padding-bottom: 0;
}
.pageNav{
	margin-top:4rem;
}
.singleInfoTable th, .singleInfoTable td{
font-size: 1.4rem;
line-height: 1.8em;
}
.editorTxt p.wp-caption-text{
font-size: 1.4rem;
line-height: 1.8em;
margin-top:-.8rem;
}
.editorTxt table th, .editorTxt table td{
font-size: 1.5rem;
}
.directContactDes{
font-size: 1.5rem;
}
.selectTopicsTitle{
line-height: 1.8em;
max-width: 84%;
}
.selectTopicsDateCat p{
font-size: 1.5rem;
}
.selectTopicsDateCat{
left: 2.4rem;
height: 2.4rem;
}
.topBusinessCatch{
max-width: 80%;
}

} /*Query End*/