/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

@font-face {
	font-family: Lovelo-Black;
	src: url('/lib/font/Lovelo/Lovelo-Black.eot');
	src: url('/lib/font/Lovelo/Lovelo-Black.eot?#iefix') format('embedded-opentype'),
	url('/lib/font/Lovelo/Lovelo-Black.woff2') format('woff2'),
	url('/lib/font/Lovelo/Lovelo-Black.woff') format('woff'),
	url('/lib/font/Lovelo/Lovelo-Black.ttf') format('truetype');
		display: block;
}

@font-face {
	font-family: Lovelo-LineBold;
	src: url('/lib/font/Lovelo/Lovelo-LineBold.eot');
	src: url('/lib/font/Lovelo/Lovelo-LineBold.eot?#iefix') format('embedded-opentype'),
	url('/lib/font/Lovelo/Lovelo-LineBold.woff2') format('woff2'),
	url('/lib/font/Lovelo/Lovelo-LineBold.woff') format('woff'),
	url('/lib/font/Lovelo/Lovelo-LineBold.ttf') format('truetype');
	display: block;
}


@font-face {
	font-family: Lovelo-LineLight;
	src: url('/lib/font/Lovelo/Lovelo-LineLight.eot');
	src: url('/lib/font/Lovelo/Lovelo-LineLight.eot?#iefix') format('embedded-opentype'),
	url('/lib/font/Lovelo/Lovelo-LineLight.woff2') format('woff2'),
	url('/lib/font/Lovelo/Lovelo-LineLight.woff') format('woff'),
	url('/lib/font/Lovelo/Lovelo-LineLight.ttf') format('truetype');
		display: block;
}

/*----------Typography----------*/
body {
	-webkit-text-size-adjust: none;
	-webkit-appearance: none;
	display: block;
}

h1, h2, h3, h4, h5, p, ul, li, a {
	font-family: 'Lovelo-Black', 'Montserrat', Helvetica, Arial, 'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
display: block;
}

p {
	word-break: break-word;
}

a {
	text-decoration: none;
}

.f-mon {
	font-family: 'Montserrat', sans-serif;
}

.f-std {
	font-family: Helvetica, Arial, 'Montserrat', 'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
}

/*----------Global----------*/
.bg-img {
	height: 100vh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.section {
	padding: 80px 0px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.section2 {
	padding: 120px 0px 80px 0;;
	text-align: center;
	position: relative;
}

.section-sub {
	padding: 120px 0px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.section-title {
	color: #C1121F;
	font-size: calc(1.275rem + .3vw);
	font-weight: 500;
}

.section-tagline {
	font-weight: 700;
	margin-bottom: 2rem;
	font-size: calc(1.325rem + .9vw);
}

.inlineb {
	display: inline-block;
}

.color-ylw {
	color: #FFC701;
}

.color-org {
	color: #F39800;
}

.bg-ylw {
	background: #FFC701;
}

.mtop40 {
	margin-top: 40px;
}

.bold {
	font-weight: 600;
}


/*----------Animation----------*/


/*----------Top----------*/
.topslider {
	background: black;
}

.topbg-filter {
	background: black;
}

.top-bg {
	opacity: 60%;
}

.navbar-light .navbar-nav .nav-link {
	color: black;
	font-weight: 600;
}

.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:active, .navbar-light .navbar-nav .nav-link:focus {
	color: black;
	font-weight: 600;
}

.navbar-light .navbar-nav .hidden-link {
	color: white;
	font-weight: 600;
}

.navbar-light .navbar-nav .hidden-link:hover, .navbar-light .navbar-nav .hidden-link:focus, .navbar-light .navbar-nav .hidden-link:active {
	color: white;
	font-weight: 600;
}

.dspan {
	font-weight: 600;
}

.navbar-brand {
	width: 180px;
}

.navbar-nav {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.navbar-expand-lg .navbar-collapse {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.navbar-collapse {
	background: transparent;
}

.dmenu {
	background: white;
}

.hidden-menu {
	background: black;
}

.navbar-light .navbar-toggler {
	border-color: transparent !important;
}

.navbar-toggler:focus {
	-webkit-box-shadow: none !important;
	        box-shadow: none !important;
}

.navbar-collapse {
	text-align: center;
}

.navbar {
	background: white;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.hidden-navbar {
	background: transparent !important;
}

.border-btm {
	border-bottom: 1px solid black;
	margin-bottom: 0;
	padding-bottom: 3px;
	margin-bottom: 3px;
}

.hidden-border {
	border-bottom: 1px solid white;
	margin-bottom: 0;
	padding-bottom: 3px;
	margin-bottom: 3px;
}

.dropdown-li, .hidden-li {
	position: relative;
	overflow: hidden;
}

.dropdown-li:hover .ditem, .hidden-li:hover .hidden-item {
	background: transparent;
}

.dropdown-li:hover .dspan {
	color: white;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.hidden-li:hover .hidden-span {
	color: black;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.dropdown-li:hover .border-btm {
	border-bottom: 1px solid white;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.hidden-li:hover .border-btm {
	border-bottom: 1px solid black;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

.dspan {
	color: black;
	position: relative;
 	z-index: 1;
 	-webkit-transition: .5s;
 	-o-transition: .5s;
 	transition: .5s;
}

.hidden-span {
	color: white;
	position: relative;
 	z-index: 1;
 	-webkit-transition: .5s;
 	-o-transition: .5s;
 	transition: .5s;
}

.dropdown-li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

.hidden-li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}

/* 疑似要素(hover) */
.dropdown-li:hover:before {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.hidden-li:hover:before {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.text-sm {
	font-size: 70%;
}

.btn-newgrad, .btn-newgrad a  {
	color: #FFC701 !important;
	margin-left: 5px;
	font-weight: 600;
}

.btn-career, .btn-career a {
	color: #F39800 !important;
	margin-left: 5px;
	font-weight: 600;
}

.btn-newgrad a, .btn-career a, .btn-hsgrad a {
	display: inline-block;
  overflow: hidden;
	text-decoration: none;
	position: relative;
}

.btn-newgrad, .btn-career, .btn-hsgrad {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.btn-hsgrad, .btn-hsgrad a {
	color: #d6320c !important;
	margin-left: 5px;
	font-weight: 600;
}

.btn-newgrad a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
	background: #FFC701;
  -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  -o-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  content: "";
}

.btn-newgrad a:hover:after {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

.btn-career a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
	background: #F39800;
  -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  -o-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  content: "";
}

.btn-career a:hover:after {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

.btn-hsgrad a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
	background: #d6320c;
  -webkit-transform: translate(-100%, 0);
      -ms-transform: translate(-100%, 0);
          transform: translate(-100%, 0);
  -webkit-transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  -o-transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.4s;
  content: "";
}

.btn-hsgrad a:hover:after {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
}

.btn-contact .nav-link {
	margin-left: 15px;
	border-radius: 50%;
	padding: 7px 13px 5px 13px !important;
	border: 2px solid #F39800;
}

.btn-contact .nav-link:hover {
	background: #F39800;
	-webkit-transition: 0.5;
	-o-transition: 0.5;
	transition: 0.5;
}

.btn-contact .nav-link:hover .bi-envelope {
	color: white;
}

.btn-contact .bi-envelope {
	color: #F39800;
  font-weight: 900;
  font-size: 140%;
  margin: auto;
}

.btn-contact .bi-envelope:before {
	line-height: unset;
}

.toppage-container {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	height: -webkit-max-content;
	height: -moz-max-content;
	height: max-content;
	color: white;
	text-align: center;
}

.top-tagline {
	font-weight: 700;
	font-size: 4rem;
	border-bottom: 2px solid white;
	border-top: 2px solid white;
  line-height: 1;
  padding-top: 15px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: auto;
}

_::-webkit-full-page-media, _:future, :root .top-tagline {
	padding-bottom: 15px;
}

.top-tagline-mb, .top-tagline-mb1, .top-tagline-mb2 {
	display: none;
}

.top-tagline span {
	font-weight: 700;
	font-size: 200%;
	border-bottom: 2px solid white;
	border-top: 2px solid white;
  line-height: 1;
  padding-top: 1.5%;
}

.top-tagjp span {
}

.top-tagjp {
	margin-top: 2rem;
	color: white !important;
	font-family: 'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic' !important;
}

/*----------topmsg----------*/
.topmsg {
	position: relative;
}

.topmsg-back {
	font-size: 800%;
	color: #E5E5E5;
	position: absolute;
	top: 0;
	left: 0;
	text-align: left;
	line-height: 1.2;
	font-family: 'Lovelo-Black', 'Montserrat', Helvetica, Arial, 'Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
　font-weight: 700;
}

.topmsg .container {
	position: relative;
}

.topmsg-h {
	margin-bottom: 30px;
}

.topmsg-p {
	line-height: 2;
}

/*********mission***********/
.topphil {
	position: relative;
}

.topphil h2 {
	position: absolute;
	top: 0;
	left: 0;
	font-family: 'Lovelo-LineLight', 'Montserrat',;
	color: white;
	font-size: 800%;
	letter-spacing: 10px;
	line-height: 1;
	font-weight: 700;
}

.mission .container {
	margin-top: 80px;
	margin-left: 80px;
}

.topphil h3 {
	text-align: left;
	color: white;
	line-height: 2;
	font-weight: 600;
}

.mission-img {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: auto;
}

.mission-img2 {
	display: none;
}

.value-img {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: auto;
}

.value-img2 {
	display: none;
}
.mb-br {
	display: none;
}

/*********vision***********/
.topphil2 {
	position: relative;
}

.topphil2 h2 {
	position: absolute;
	top: 0;
	right: 0;
	font-family: 'Lovelo-LineLight', 'Montserrat',;
	color: #FFC701;
	font-size: 800%;
	letter-spacing: 10px;
	line-height: 1;
	font-weight: 700;
}

.topphil2 .container {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: 40%;
	margin-top: 80px;
}

.topphil2 h3 {
	text-align: left;
	color: #FFC701;
	line-height: 2;
	font-weight: 600;
}

.vision-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 35%;
	height: 100%;
	object-fit: cover;
}

.vision-img2 {
	display: none;
}

.vision-number {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 120%;
}

/*********vision***********/
.value-number {
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}

.value h3, .value p {
	text-align: left;
	color: white;
	display: inline-block;
	vertical-align: middle;
	margin: auto;
}

.value .container {
	width: 100%;
	text-align: left;
	margin-top: 80px;
	margin-left: 20%;
}

/******company********/
.contentbox a, .contentbox2 a {
	text-decoration: none;
	color: #ffbe01;
}

.company .container, .enviroment .container {
	background: #FFF2C2;
	margin-left: 0;
	position: relative;
	padding-bottom: 40px;
}

.section-title-en {
	position: absolute;
	font-size: 6vw;
	color: #FFC701;
	margin-top: -.5em;
	z-index: 1;
	font-weight: 700;
}

.sectionbox {
	margin-left: 10%;
}

.section-title-jp {
	padding-bottom: 10px;
	border-bottom: 2px solid #FFC701;
	padding-top: 80px;
	margin-left: 5%;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.contentbox {
	width: 450px;
	background: white;
	padding: 20px 30px;
	text-align: justify;
	color: #FFC701;
	-webkit-box-shadow: 8px 8px #ffc701;
	        box-shadow: 8px 8px #ffc701;
	position: relative;
	margin-bottom: 30px;
	z-index: 0;
	position: relative;
}

.contentbox:hover, .contentbox2:hover {
	-webkit-box-shadow: none;
	        box-shadow: none;
	background: #FFC701;
	color: white !important;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
}

.contentbox:hover .content-en, .contentbox:hover .content-jp, .contentbox:hover .bi-chevron-right {
	color: white;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.content-en, .content-en2 {
	font-weight: 700;
}

.contentbox2:hover .content-en2, .contentbox2:hover .content-jp2, .contentbox2:hover .bi-chevron-right {
	color: white;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.content-jp {
	margin-bottom: 0;
}

.bi-chevron-right {
	position: absolute;
	right: 2%;
	top: 30%;
	bottom: 70%;
	font-size: 30px;
}

.company-img {
	position: absolute;
	width: 45%;
	top: 60px;
	right: 0;
	height: 70% !important;
	-o-object-fit: cover;
	   object-fit: cover;
	z-index: 1;
}

.company-img2 {
	display: none;
}


/******people********/
.people .container {
	background: #F6F6F6;
	max-width: 100vw;
	padding-left: 50%;
	padding-bottom: 40px;
}

.section-title-en2 {
	position: absolute;
	font-size: 6vw;
	color: #FFC701;
	margin-top: -.5em;
	z-index: 1;
	font-weight: 700;
}

.sectionbox2 {
	margin-left: 10%;
}

.section-title-jp2 {
	padding-bottom: 10px;
	border-bottom: 2px solid #FFC701;
	padding-top: 80px;
	margin-left: 5%;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.contentbox2 {
	width: 450px;
	background: white;
	padding: 20px 30px;
	text-align: justify;
	color: #FFC701;
	-webkit-box-shadow: 8px 8px #ffc701;
	        box-shadow: 8px 8px #ffc701;
	position: relative;
	margin-bottom: 30px;
}

.content-jp2 {
	margin-bottom: 0;
}

.bi-chevron-right {
	position: absolute;
	right: 2%;
	top: 30%;
	bottom: 70%;
	font-size: 30px;
}

.people-img {
	position: absolute;
	width: 45%;
	top: 60px;
	left: 0;
	height: 75% !important;
	-o-object-fit: cover;
	   object-fit: cover;
	z-index: 1;
}

/******apply********/
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

.apply {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
	text-align: center;
}

.apply h5 {
	margin-bottom: 30px;
	font-weight: 400;
}

.applybox-newgrad {
	background: #FFC701;
	color: white;
	width: 100%;
	padding: 80px 0;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.applybox-newgrad h5, .applybox-newgrad h3, .applybox-career h5, .applybox-career h3, .applybox-hsgrad h5, .applybox-hsgrad h3 {
	position: relative;
	z-index: 3;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.applybox-career {
	background: #F3AF00;
	color: white;
	width: 100%;
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

.applybox-hsgrad {
	background: #f2f2f0;
	color: #8a8a8a;
	width: 100%;
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

.applybox-newgrad:hover {
  color: #FFC701;
}

.applybox-career:hover {
  color: #F3AF00;
}

.applybox-hsgrad:hover {
  color: #f2f2f0;
}

/* 疑似要素 */
.applybox-newgrad:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: #fbf4de;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.applybox-career:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: #ffefc7;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.applybox-hsgrad:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: #8a8a8a;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

/* 疑似要素(hover) */
.applybox-newgrad:hover:before, .applybox-career:hover:before, .applybox-hsgrad:hover:before {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.apply a {
	width: 100%;
}

/******footer********/
footer {
	background: black;
	color: white;
	padding: 10px 20px 0 20px;
}

footer a, footer p {
	text-decoration: none;
	color: white;
}

footer a:hover {
	color: #FFC701;
}

.footerbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.footer-logo {
	width: 200px;
}

.footer-left {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer-table td {
	padding-right: 50px;
}

.corpsite p {
	margin-bottom: 0;
	line-height: 1.9;
	font-size: 90%;
}

.bi-box-arrow-up-right {
	margin-left: 5px;
}

.copyright {
	text-align: center;
	font-size: 80%;
	margin-top: 30px;
	margin-bottom: 0;
}



/*******sub page***********/
/*******sub page***********/
/*******sub page***********/
/*******sub page***********/
/*******sub page***********/

.subtop-bg {
	height: 50vh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
	opacity: 60%;
}

.subpage-topcontainer {
	right: 0;
	left: 0;
	height: 50vh;
	color: white;
	text-align: center;
	position: absolute;
	top: 0;
	bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.subpage-title-en {
	padding-top: 20px;
	font-size: 4vw;
}

.subpage-title-jp {
	font-weight: 500;
	color: #FFC701;
}

/*******philosophy***********/

/*******message**************/
.msg-bgfilter {
	background: black;
	position: relative;
}

.msgpage-bg {
	position: absolute;
  top: 0;
  bottom: 0;
	width: 100%;
	-o-object-fit: cover;
		 object-fit: cover;
	opacity: 50%;
	height: 100%;
}

.msgpage-topcontainer {
	right: 0;
	left: 0;
	color: white;
	text-align: center;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.msgpage-title {
	height: 50vh;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.msgbox {
	margin: 4rem auto 8rem auto;
}

.msgbox hr {
	width: 10%;
	margin: 3rem auto;
	height: 2px;
}

.msgbox p {
  margin: auto;
  line-height: 2;
}

/*******features**************/
.features-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	text-align: justify;
}

.features-btm {
	margin-bottom: 60px;
}

.features-imgbox {
	width: 20%;
	border-radius: 50%;
  -webkit-box-shadow: 0 0 30px #ffc7017a;
          box-shadow: 0 0 30px #ffc7017a;
  padding: 5%;
}

.features-img {
	width: 100%;
}

.features-txbox {
	width: 60%;
}

.features-p, .features-h {
}

.features-n {
	color: #FFC701;
	font-size: 60px;
	line-height: 1;
	margin-bottom: 0;
	font-weight: 700;
}

.features-h {
	color: #FFC701;
	font-weight: 600;
	margin-top: .5rem;
	margin-bottom: 1rem;
}

/*******business**********/
.business-box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
	text-align: justify;
	-webkit-box-shadow: 0 0 50px #80808040;
	        box-shadow: 0 0 50px #80808040;
	width: 80%;
	margin: auto auto 40px auto;
}

.business-img {
	width: 40%;
	-o-object-fit: cover;
	   object-fit: cover;
	height: -webkit-fill-available;
}

.business-txbox {
	padding: 30px 40px;
}

.business-hen {
	font-family: "Lovelo-LineBold", 'Montserrat', sans-serif;
	color: #FFC701;
	font-size: 330%;
	line-height: 1;
	font-weight: 700;
}

.business-hjp {
	background: #FFC701;
  color: white;
  width: 280px;
  padding: 5px 20px 1px 20px;
  margin-bottom: 15px;
	font-weight: 600;
	font-size: 22px;
}

.business-p {
}


/********members***********/
.members-bg {
	position: absolute;
	width: 100vw;
	height: 60%;
	background: #fdf5d9;
	top: 30%;
}
.memberstop-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.memberstop-box {
	position: relative;
	width: 350px;
	height: 350px;
}

.memberstop-imgbox {
	height: 70%;
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
	background: black;
}

.memberstop-img {
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	width: 100%;
}

.memberstop-txbox {
	position: absolute;
	top: 60%;
	left: 0;
	right: 0;
	width: 80%;
	margin: auto;
	background: white;
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
	padding: 20px 30px;
	text-align: justify;
	-webkit-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;

}

.joinedyear {
	margin-bottom: 5px;
	color: #afafae;
}

.dept {
	margin-bottom: 10px;
	font-weight: 300;
}

.name-jp {
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: 500;
}

.name-en {
	margin-bottom: 0;
	color: #f4a02b;
}

.memberstop-img:hover {
	opacity: 70%;
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}

.memberstop-txbox:hover {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	    transform: scale(1.05);
	cursor: pointer;
}


/*****history*****/

/***vt*****/

html, body {
    background-color: white;
    height: 100%;
    font-family: 'Open Sans', sans-serif;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.cd-container {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  background: white;
  padding: 0 10%;
  border-radius: 2px;
}
.cd-container::after {
  content: '';
  display: table;
  clear: both;
}

/* --------------------------------

Main components

-------------------------------- */


#cd-timeline {
  position: relative;
  padding: 2em 0;
  margin-top: 80px;
  margin-bottom: 80px;
}
#cd-timeline::before {
  content: '';
  position: absolute;
  top: 0;
  left: 25px;
  height: 100%;
  width: 4px;
  background: #e2e2e2;
}
@media only screen and (min-width: 768px) {
  #cd-timeline {
    margin-top: 120px;
    margin-bottom: 120px;
  }
  #cd-timeline::before {
    left: 50%;
    margin-left: -2px;
  }
}

.cd-timeline-block {
  position: relative;
  margin: 2em 0;
	text-align: left;
}
.cd-timeline-block:after {
  content: "";
  display: table;
  clear: both;
}
.cd-timeline-block:first-child {
  margin-top: 0;
}
.cd-timeline-block:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .cd-timeline-block {
    margin: 4em 0;
  }
  .cd-timeline-block:first-child {
    margin-top: 0;
  }
  .cd-timeline-block:last-child {
    margin-bottom: 0;
  }
}

.cd-timeline-img {
  position: absolute;
  top: 8px;
  left: 12px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 4px #ffffff, 2px 2px 16px 8px rgb(0 0 0 / 10%);
          box-shadow: 0 0 0 4px #ffffff, 2px 2px 16px 8px rgb(0 0 0 / 10%);
}
.cd-timeline-img {
  background: #e2e2e2;
}
@media only screen and (min-width: 768px) {
  .cd-timeline-img {
    width: 30px;
    height: 30px;
    left: 50%;
    margin-left: -15px;
    margin-top: 15px;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }
}

.cd-timeline-content {
  position: relative;
  margin-left: 60px;
  margin-right: 30px;
  background: white;
  border-radius: 2px;
  padding: 1em;
	-webkit-box-shadow: 0 0 50px #e2e2e2;
	        box-shadow: 0 0 50px #e2e2e2;
	border-radius: 15px;
	color: black;
  .timeline-content-info {
    background: white;
    padding: 5px 10px;
    color: rgba(255,255,255,0.7);
    font-size: 12px;
    -webkit-box-shadow:  inset 0 2px 0 rgba(0, 0, 0, 0.08);
            box-shadow:  inset 0 2px 0 rgba(0, 0, 0, 0.08);
    border-radius: 2px;
    i {
      margin-right: 5px;
    }
    .timeline-content-info-title, .timeline-content-info-date {
      width: calc(50% - 2px);
      display: inline-block;
    }
    @media (max-width: 500px) {
      .timeline-content-info-title, .timeline-content-info-date {
        display: block;
        width:100%;
      }
    }
  }
  .content-skills {
    font-size: 12px;
    padding:0;
    margin-bottom: 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    li {
      background: #40484D;
      border-radius: 2px;
      display: inline-block;
      padding: 2px 10px;
      color: rgba(255,255,255,0.7);
      margin: 3px 2px;
      text-align: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
    }
  }
}
.cd-timeline-content:after {
  content: "";
  display: table;
  clear: both;
}
.cd-timeline-content h2 {
  color: #F39800;
  margin-top:0;
  margin-bottom: 5px;
}
.cd-timeline-content p, .cd-timeline-content .cd-date, .cd-timeline-content li {
  color: black;
  font-size: 13px;
  font-size: 0.8125rem;
}
.cd-timeline-content .cd-date {
  display: inline-block;
}
.cd-timeline-content p, .cd-timeline-content li {
  margin: auto;
  line-height: 1.6;
}

.cd-timeline-content::before {
  content: '';
  position: absolute;
  top: 16px;
  right: 100%;
  height: 0;
  width: 0;
  border: 7px solid transparent;
  border-right: 7px solid white;
}

@media only screen and (min-width: 768px) {
  .cd-timeline-content h2 {
    font-size: 20px;
    font-size: 1.5rem;
		color: #F39800;
  }
  .cd-timeline-content p, .cd-timeline-content li {
    font-size: 16px;
    font-size: 1rem;
  }
  .cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media only screen and (min-width: 768px) {
  .cd-timeline-content {
    color: black;
    margin-left: 0;
    padding: 1.6em;
    width: 36%;
    margin: 0 5%
  }
  .cd-timeline-content::before {
    top: 24px;
    left: 100%;
    border-color: transparent;
    border-left-color: white;
  }
  .cd-timeline-content .cd-date {
    position: absolute;
    width: 100%;
    left: 135%;
    top: 27px;
    font-size: 16px;
    font-size: 1rem;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content {
    float: right;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
    top: 24px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: white;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
    float: right;
  }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
    left: auto;
    right: 135%;
    text-align: right;
  }
}

/***vt*****/
.history-section {
	background: white;
}

/****newgrad*****/
.rectab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.recruitinfo-wht {
	border: 2px solid #d6d6d6;
	color: #b7b7b7;
	border-radius: 30px;
	line-height: 1;
	padding: 15px 40px 10px 40px;
	margin: auto 10px 4rem 10px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 16px;
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
}

.recruitinfo-wht:hover {
	border: 2px solid #FFC701;
	color: #FFC701;
}


.recruitinfo-red {
	border: 2px solid #d6320c;
	color: white;
	border-radius: 30px;
	line-height: 1;
	padding: 15px 40px 10px 40px;
	margin: auto 10px 4rem 10px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 16px;
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	background: #d6320c;
}

.recruitinfo-red-wht:hover {
	border: 2px solid #d6320c;
	color: #d6320c;
}

.recruitinfo-ylw {
	border: 2px solid #FFC701;
	color: white;
	background: #FFC701;
	border-radius: 30px;
	line-height: 1;
	padding: 15px 40px 10px 40px;
	margin: auto 10px 4rem 10px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 16px;
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
}

.rectable {
	width: 80%;
  margin: auto;
}

.recbox {
	text-align: left;
	margin-bottom: 100px;
}

.rectitle {
	position: relative;
}

.rectitle h3 {
	padding-left: 70px;
  line-height: 1;
	padding-bottom: 10px;
	font-size: 20px;
	font-weight: 600;
}

.reclinebox {
	width: 55px;
	height: 2px;
	position: absolute;
	top: 9px;
	left: 0;
	overflow: hidden;
}

.recline {
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FFC701;
}

.recdl {
	border-bottom: 1px solid #dadada;
	padding-top: 30px;
	padding-bottom: 30px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.recdt {
	font-weight: 600;
  width: 20%;
  margin-right: 5px;
	font-size: 15px;
}

.recdd {
	text-align: left;
	width: 80%;
	font-size: 15px;
	font-weight: 400;
}

.entry {
	border: 2px solid #FFC701;
	color: white;
	background: #FFC701;
	border-radius: 30px;
	line-height: 1;
	padding: 20px 50px 15px 50px;
	margin: auto auto 4rem auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 22px;
	-webkit-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

.entry:hover {
	border: 2px solid #FFC701;
	color: #FFC701;
	background: white;
}

/********events***********/
.events-bg {
	position: absolute;
	width: 100vw;
	height: 60%;
	background: #fdf5d9;
	top: 30%;
}

.events-container {
	position: relative;
}

.eventstab {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.eventstab-p {
	border: 2px solid #d6d6d6;
	color: #b7b7b7;
	border-radius: 30px;
	line-height: 1;
	padding: 15px 40px 10px 40px;
	margin: auto 10px 4rem 10px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	font-size: 18px;
	background: white;
}

.eventstab-p:hover, .eventstab-p:active {
	border: 2px solid #FFC701;
	color: #FFC701;
}

.events-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.events-box {
	background: white;
	width: 30%;
	padding: 20px 40px 40px 40px;
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
	margin: 0 30px 30px 30px;
}

.events-type-ylw {
	background: #FFC701;
  color: white;
  padding: 10px 30px 7px 30px;
  font-weight: 300;
  border-radius: 30px;
  margin-right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  font-size: 14px;
}

.events-type-org {
	background: #F39800;
  color: white;
  padding: 10px 30px 7px 30px;
  font-weight: 300;
  border-radius: 30px;
  margin-right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  font-size: 14px;
}

.events-img {
	width: 40%;
	margin: 30px auto;
}

.eventname {
	font-size: 20px;
	font-weight: 600;
	margin: 10px auto 15px auto;
}

.event-tx {
	font-weight: 300;
	text-align: justify;
	margin-bottom: 0;
}

.events-gallary {
	margin-top: 4rem;
}

.events-photo {
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
	margin-bottom: 1rem;
}

.eventsphoto-title {
	position: relative;
}

.eventsphoto-title h3 {
	padding-left: 70px;
  line-height: 1;
	padding-bottom: 10px;
	font-size: 20px;
	font-weight: 600;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-left: 4%;
}

.eventsphoto-linebox {
	width: 55px;
	height: 2px;
	position: absolute;
	top: 9px;
	left: 4%;
	overflow: hidden;
}

.eventsphoto-line {
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FFC701;
}

/********events***********/
.office-bg {
	position: absolute;
	width: 60vw;
	height: 40%;
	background: #fdf5d9;
	margin: auto;
	left: 0;
	top: 10%;
}

.office-bg2 {
	position: absolute;
	width: 70vw;
	height: 30%;
	background: #fdf5d9;
	margin: auto;
	top: 65%;
	right: 0;
}

.office-container {
	position: relative;
}


.office-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.office-box {
	width: 35%;
	margin-bottom: 2rem;
	position: relative;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
}

.mtop10p {
	margin-top: 10%;
}

.office-img {
	width: 100%;
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
}

.office-txbox {
	background: white;
	position: absolute;
	right: -5%;
	bottom: -5%;
	width: 250px;
	padding: 10px 0px;
	-webkit-box-shadow: 0 0 50px #8080804f;
	        box-shadow: 0 0 50px #8080804f;
}

.office-txbox p {
	margin-bottom: 0;
	color: orange;
}

.jobdraft-img {
	width: 250px;
}

/********fun data***********/
.data-container {
	position: relative;
}

.data-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-pack: space-evenly;
	    -ms-flex-pack: space-evenly;
	        justify-content: space-evenly;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.data-box {
	width: 45%;
	margin-bottom: 2rem;
	position: relative;
	background: white;
  -webkit-box-shadow: 0 0 50px #8080804f;
          box-shadow: 0 0 50px #8080804f;
  padding: 30px 30px;
}

.data-box h2 {
	font-size: 24px;
	font-weight: 600;
	color: black;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: auto;
}

.data-box p {
	width: 10%;
border-top: 3px solid #ffc107;
margin: .5rem auto 1rem auto;
}

.data-img {
	width: 100%;
}

.mtopm15p {
	margin-top: -15%;
}

.mtop20p {
	margin-top: 20%;
}

.mtopm20p {
	margin-top: -20%;
}

.mtop10pb {
	margin-top: 10%;
}

.w80 {
	width: 80%;
}

.w35box {
	width: 35%;
}

.w50 {
	width: 50%;
}

.w55 {
	width: 55%;
}

.w40box {
	width: 40%;
}

.w60 {
	width: 60%;
}

.data-m {
	display: none;
}

.privacy-container {
	text-align: justify !important;
	width: 80%;
}
