@charset "UTF-8";
/*
* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess
*/

@font-face {
  font-family:'NotoSerifCJKjp';
  font-style:normal;
  font-weight:400;
  src:url(../font/NotoSerifJP-Regular.woff2) format('woff2'),
      url(../font/NotoSerifJP-Regular.woff) format('woff'),
      url(../font/NotoSerifJP-Regular.otf) format('opentype');
}
@font-face {
  font-family:'NotoSerifCJKjp';
  font-style:normal;
  font-weight:700;
  src:url(../font/NotoSerifJP-Bold.woff2) format('woff2'),
      url(../font/NotoSerifJP-Bold.woff) format('woff'),
      url(../font/NotoSerifJP-Bold.otf) format('opentype');
}

html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset {
	margin: 0;
	padding: 0;
}
img, fieldset {
	border: 0;
}

/* set image max width to 100% */
img {
	max-width:100% !important;
	height:auto;
}

/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body{
  color:#000;
	-webkit-text-size-adjust:100%;
  line-height:1;
	background:#fff;
	font-family:'NotoSerifCJKjp', Helvetica, Arial, sans-serif;
  font-weight:400;
}
a{
	text-decoration: none;
}
a:hover {
	text-decoration:underline;
}
a,p,li{
	color:#000;
}
th{
	color: #000;
}
td{
	color: #000;
}

p, ul, ol, li {
	margin:0;
	padding:0;
}

.errorpage {
  padding:180px 0 100px;
}
.errorpage p {
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}
.errorpage p + p {
  margin-top:2em;
}
.errorpage p a {
  text-decoration: underline;
}

input[type=checkbox], input[type=radio], button {
  -webkit-appearance: none;
  outline: none;
  display: none;
}
input::placeholder,
input::-webkit-input-placeholder,
input::-moz-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
textarea::-moz-placeholder {
  color:#c1c1c1 !important;
}
textarea:-ms-input-placeholder {
  color:#c1c1c1 !important;
}
input:-ms-input-placeholder {
  color:#c1c1c1 !important;
}

/* list */
li {
	list-style:none;
}

/* headings */
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	text-shadow:none;
}

/* Anchor */
a:active, a:focus {
  outline: 0 !important;
}

/* Strong */
strong {
  font-weight:bold;
}

/* Emphasis */
em {
  font-weight:bold;
  font-style:normal;
}

/* Address */
address {
  font-style: normal;
}

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

body.nos {
  overflow: hidden;
}

.ibk {
  display: inline-block;
}

.lora {
  font-family: "Lora", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

#wrapper {
  width:100%;
	position:relative;
	padding:0;
  overflow:hidden;
}

/* フェードイン */
.fadein {
  opacity: 0;
  visibility: hidden;
  transition: all 1s;
  transform:translate(0, 100px);
}
.fadein.is-active {
  opacity: 1;
  visibility: visible;
  transform:translate(0, 0);
}

.sp {
  display:none !important;
}

header {
  width:100%;
  height:84px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  background: rgba(255,255,255,0);
  transition: ease .3s;
}
.fixhead header {
  background: rgba(255,255,255,.8);
}
header .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
header a,
header img {
  display: block;
}
header h1 {
  line-height: 1;
  width: 320px;
  position: absolute;
  top: 24px;
  left: 25px;
}
header h2 {
  line-height: 1;
  width: 120px;
  position: absolute;
  top: 21px;
  right: 113px;
}
header h1 a,
header h2 a {
  position: relative;
  transition: ease.3s;
}
header h1 a::before,
header h2 a::before {
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  opacity:0;
  transition:ease .3s;
}
header h1 a::before {
  background:url(../images/logo.svg) no-repeat 0 0;
  background-size:100% auto;
}
header h2 a::before {
  background:url(../images/btn_entry.svg) no-repeat 0 0;
  background-size:100% auto;
}
header h1 a img,
header h2 a img {
  display: block;
  transition: ease .3s;
  opacity:1;
}
.fixhead header h1 a img,
.fixhead header h2 a img {
  opacity:0;
}
.fixhead header h1 a::before,
.fixhead header h2 a::before {
  opacity:1;
}
#spclose {
  display:none;
  opacity:0;
  transition:ease .3s;
}
.open #spclose {
  opacity:1;
}
#spclose,
.spbtn {
  width:59px;
  height:59px;
  position: absolute;
  top: 6px;
  right: 26px;
  z-index: 999;
  transition: ease .5s;
}
@media screen and (min-width:1201px) {
  #spclose {
    display:block;
  }
  .open .spbtn {
    display:none;
  }
}
#spclose a,
.spbtn a {
	width:100%;
	height:100%;
	display:block;
	position:absolute;
  top:0;
  left:0;
}
#spclose a::before,
#spclose a::after,
.spbtn a::before,
.spbtn a::after {
  content:"";
  width:100%;
  height:1px;
  background:#000;
  display:block;
  position:absolute;
  top:calc(50% - 5px);
  left:0;
  transition:ease .3s;
}
header.white_header .spbtn a::before,
header.white_header .spbtn a::after,
.toppage .spbtn a::before,
.toppage .spbtn a::after {
  background:#fff;
}
.fixhead header.white_header .spbtn a::before,
.fixhead header.white_header .spbtn a::after,
.fixhead.toppage .spbtn a::before,
.fixhead.toppage .spbtn a::after {
  background:#000;
}
#spclose a::after,
.spbtn a::after {
  top:auto;
  bottom:calc(50% - 5px);
}
header #spclose a::before,
header.open .spbtn a::before {
  background:#000;
  transform: translateY(4px) rotate(15deg);
}
header #spclose a::after,
header.open .spbtn a::after {
  background:#000;
  transform: translateY(-5px) rotate(-15deg);
}

.acbox {
  display: none;
}
#gnavi {
	clear:both;
  width:26.91%;
	height:100vh;
  padding:0 0 40px;
	z-index:99;
	margin:0;
	background:#fff;
	position:absolute;
	top:0;
	right:0;
	overflow:auto;
  display:none;
}
body.nos::before {
  content:"";
  width:100vw;
  height:100vh;
  position:fixed;
  top:0;
  left:0;
  display: block;
  background:rgba(0,0,0,.4);
  z-index:9;
}
#gnavi .inner {
  width:323px;
	margin:0;
  padding:0 0 50px 50px;
	position:relative;
  background: #fff;
  box-sizing:border-box;
  z-index:11;
}
#gnavi .inner > ul {
	width:100%;
  padding:90px 0 0;
  position:relative;
}
#gnavi ul li {
  margin:24px 0 0;
}
#gnavi ul li:nth-child(1) {
	margin-top:0;
}
#gnavi ul li a {
  font-family: "Lora", serif;
  font-weight: 400;
  color:#000;
  font-size:16px;
  line-height:1;
  letter-spacing:.12em;
  display: inline-block;
  text-decoration:none;
}
#gnavi ul li.clbtn > a {
  position: relative;
  padding-right:20px;
}
#gnavi ul li.clbtn > a::before,
#gnavi ul li.clbtn > a::after {
  content:"";
  position: absolute;
  width:9px;
  height:1px;
  top:9px;
  right:0;
  display: block;
  background:#000;
}
#gnavi ul li.clbtn > a::after {
  transform: rotate(90deg);
  transition: ease .3s;
}
#gnavi ul li.clbtn > a.on::after {
  transform: rotate(0deg);
}
#gnavi ul li a .sub {
  font-family:'NotoSerifCJKjp', Helvetica, Arial, sans-serif;
  font-weight:400;
  font-size:10px;
  letter-spacing:.08em;
  margin-top:8px;
  display:block;
}
#gnavi .clmenu {
  display:none;
}
#gnavi .clmenu ul {
  display: flex;
  margin:6px 0 0;
}
#gnavi .clmenu ul li {
  margin:0;
  position: relative;
}
#gnavi .clmenu ul li + li {
  margin-left:18px;
}
#gnavi .clmenu ul li + li::after {
  content:"/";
  position: absolute;
  top:0;
  left:-12px;
}

footer {
  background: #fff;
}
footer .inner {
  max-width:1200px;
  padding:60px 80px;
  margin:0 auto;
  box-sizing: border-box;
}
footer h1 {
  width:321px;
  margin:0;
}
footer h1 img {
  line-height:1;
  display: block;
}
#ftnavi > ul {
  float: right;
  width:540px;
  display: flex;
  flex-wrap: wrap;
}
#ftnavi > ul li {
  margin:10px 0 0 25px;
  position: relative;
}
#ftnavi > ul li:nth-child(1),
#ftnavi > ul li:nth-child(5) {
  margin-left:0;
}
#ftnavi > ul li a {
  font-size:14px;
  line-height:1;
  letter-spacing:.12em;
}
#ftnavi > ul li ul {
  display: flex;
  position: absolute;
  bottom:-10px;
  left:0;
  transform: translateY(100%);
}
#ftnavi > ul li ul li {
  margin:0;
}
#ftnavi > ul li ul li + li {
  margin-left:22px;
}
#ftnavi > ul li ul li + li::after {
  content:"/";
  position: absolute;
  left:-15px;
}

.twocol {
  display: flex;
}

.kv {
  width: 100%;
  max-width: 1200px;
  padding-top:56.25vw;
  margin: 0 auto;
  position: relative;
}
.kv .image {
  width: 100vw;
  position: fixed;
  top:0;
  left:50%;
  transform: translateX(-50%);
  z-index: -1;
}
.kvoff .kv .image {
  position: absolute;
  top:auto;
  bottom:0;
}
.kv video {
  width: 100%;
  display: block;
}
.overlay {
  width:100vw;
  height:100%;
  background:rgba(0,0,0,.4);
  opacity:0;
  position:absolute;
  top:0;
}
.kv .title_area {
  transition: ease .4s;
  opacity:1;
}
.kv.titleoff .title_area {
  opacity:0;
}
@keyframes titlefade {
  0% {
    opacity: 0;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 250% 250%;
            mask-size: 250% 250%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    mask-position: 130% 130%;
  }
  100% {
    opacity: 1;
    -webkit-mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(135deg, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 250% 250%;
            mask-size: 250% 250%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: 130% 130%;
            mask-position: 130% 130%;
    -webkit-mask-position: 0 0;
            mask-position: 0 0;
  }
}
.kv .title_area h1 {
  width:20.66vw;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  mask-image: linear-gradient(135deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-image: linear-gradient(135deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
  mask-size: 250% 250%;
  -webkit-mask-size: 250% 250%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: 130% 130%;
  -webkit-mask-position: 130% 130%;
  animation: titlefade 1.5s cubic-bezier(0,.25,1,1) .2s forwards;
}
.kv .title_area h1 img {
  width:100%;
  max-width: none;
  display: block;
}
.kv .text {
  padding:100px 0 20vw;
  position: relative;
  z-index: 2;
  transition: ease 1.6s;
  opacity:0;
}
.kv.titleoff .text {
  opacity:1;
}
.kv .text p {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .04em;
  text-align: center;
  margin: 35px auto 0;
}
.kv .title_area h1 {
  width:20.66vw;
  position:absolute;
  top:25.16vw;
  left:50%;
  transform: translateX(-50%);
}

.kv .scroll {
  position: absolute;
  top:56.25vw;
  left:2.16vw;
  transform: translateY(-100%);
  overflow: hidden;
}
@media screen and (max-height:56.25vw) {
  .kv {
    padding-top:100vh;
  }
  .kv .scroll {
    position: fixed;
    top:auto;
    bottom:0;
    transform: translateY(-50%);
  }
}
.kv .scroll-text {
  color:#fff;
  font-size:14px;
  line-height:1;
  letter-spacing:.05em;
  text-align:center;
  margin-left:.16vw;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: table-cell;
}
.kv .scroll-border {
  position: relative;
  top: 10px;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
.kv .scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 30px;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  animation: scrollbar 2.0s cubic-bezier(0.895, 0.03, 0.685, 0.22) infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  50% {
    top: 100%;
  }
  100% {
    top: 100%;
  }
}


.top_company {
  padding: 80px 0 0;
  position: relative;
  background: #fff;
  z-index: 2;
}
.title_box {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.title_box img {
  width: 100%;
  display: block;
}
.title_box h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 2;
}
.top_company .title_box h2 {
  width: 189px;
}
.top_work .title_box h2 {
  width: 110px;
}
.top_special .title_box h2 {
  width: 153px;
}
.top_culture .title_box h2 {
  width: 174px;
}

.top_philosophy {
  max-width: 960px;
  margin: 130px auto;
}
.top_philosophy .twocol {
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
.top_philosophy .twocol .image {
  width:395px;
  max-width: 395px;
}
.top_philosophy .twocol .text {
  padding: 0 110px;
}
.top_sec .text h3,
.top_interview .text h3,
.top_crosstalk h3,
.culture_sec .text h3 {
  font-size:35px;
  line-height:1;
  letter-spacing:.14em;
  white-space: nowrap;
  margin:0 0 15px;
}
.top_sec .text h4,
.top_interview .text h4,
.top_crosstalk h4,
.culture_sec .text h4 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.06em;
  margin:0;
}
.top_sec .text p,
.top_interview .text p,
.top_crosstalk p,
.culture_sec .text p {
  font-size:14px;
  line-height:2;
  letter-spacing:.04em;
  margin:30px 0 0;
}
.top_sec .button,
.top_interview .button,
.top_crosstalk .button,
.culture_sec .text .button {
  margin:45px 0 0;
}
.top_sec .button a,
.top_interview .button a,
.top_crosstalk .button a,
.culture_sec .text .button a {
  width:141px;
  transition:ease .3s;
  display:block;
}
.top_sec .button img,
.top_interview .button img,
.top_crosstalk .button img,
.culture_sec .text .button img {
  display:block;
}

.top_brand {
  max-width: 1200px;
  margin: 190px auto 0;
}
.top_brand .text {
  width:960px;
  padding:0 110px;
  margin:0 auto 50px;
  box-sizing: border-box;
}
.top_corporate .twocol {
  align-items: center;
}
.top_corporate .twocol .image {
  width:520px;
  min-width: 520px;
  margin-right:140px;
}

.top_corporate {
  max-width: 1200px;
  padding:0 120px 0 0;
  margin: 190px auto 0;
  box-sizing: border-box;
}

.brand_slide {
  height:518px;
  padding:0 0 190px 195px;
  overflow: hidden;
}
.brand_slide .slick-slide {
  margin:0 5px;
  height: auto!important;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
}
.brand_slide .slick-slide img {
  width:245px !important;
  transform:scale(1);
  transform-origin: right top;
  transition: .5s;
}
.brand_slide .slick-current.slick-active img {
  transform:scale(1.796);
}

.top_work {
  overflow: hidden;
  position: relative;
  background: #fff;
  z-index: 2;
}
.top_work .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0 40px;
  overflow: hidden;
}

.top_jobs {
  max-width: 960px;
  margin: 140px auto;
}
.top_jobs .twocol {
  width: 100%;
  align-items: center;
}
.top_jobs .twocol .text {
  padding:0 0 0 45px;
}
.top_jobs .twocol .text p {
  white-space:nowrap;
}
.top_jobs .twocol .image {
  width:441px;
  max-width: 441px;
  margin-right:60px;
}

.interview_slide {
  width:100%;
  height:545px;
  max-width:1200px;
  margin:0 auto;
  position: relative;
}
.interview_slider {
  width:440px;
  float: right;
  position: relative;
}
.interview_slider .slick-track {
  overflow: hidden;
}
.interview_slider .slick-list::after {
  content: "";
  width:63.41vw;
  max-width:761px;
  height:100%;
  position: absolute;
  top: 0;
  left: -761px;
  background: #fff;
  display: block;
}
.interview_slider .slick-list p {
  font-size: 14px;
  line-height: 1;
  letter-spacing: .04em;
  margin: 15px 0 0;
  transition: ease .3s;
  opacity:0;
}
.interview_slider .slick-current.slick-active p {
  opacity:1;
}
.top_interview .text {
  width:56.66vw;
  max-width:680px;
  height:100%;
  padding: 120px 40px 0 150px;
  background: transparent;
  position: absolute;
  top: 0;
  left: 80px;
  z-index: 2;
  box-sizing: border-box;
}
.interview_slide .slick-slide {
  margin:0 5px;
  height: auto!important;
  -webkit-backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
}
.interview_slide .slick-slide img {
  width:440px !important;
}
.interview_slide .slick-dots {
  width:fit-content;
  position: absolute;
  right:165px;
  bottom:-37px;
  display: flex;
  justify-content: center;
}
.interview_slide .slick-dots li {
  width:8px;
  height:8px;
  margin:0 7px;
  display: block;
}
.interview_slide .slick-dots li button {
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#e5e5e5;
}
.interview_slide .slick-dots li.slick-active button {
  background:#000;
}
.interview_slide .slick-prev,
.interview_slide .slick-next {
  position:absolute;
  top: auto;
  bottom: -40px;
  z-index: 6;
}
.interview_slide .slick-prev {
  left:auto;
  right:290px;
}
.interview_slide .slick-next {
  left:auto;
  right:143px;
}

.top_special {
  padding:190px 0 0;
  overflow: hidden;
  position: relative;
  background: #fff;
  z-index: 2;
}

.top_crosstalk {
  width:100%;
  max-width: 960px;
  margin: 170px auto 0;
  padding:0 0 0 110px;
  box-sizing: border-box;
}
.talk_list {
  margin:85px 0 0;
}
.talk_list ul {
  margin-right:-120px;
}
.talk_list ul li {
  margin:10px 0 0;
  position: relative;
}
.talk_list ul li:nth-child(1) {
  margin:0;
}
.talk_list ul li .image img {
  line-height: 1;
  display: block;
}
.talk_list ul li .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.talk_list ul li .text h5 {
  color:#fff;
  font-size:23px;
  font-weight:400;
  line-height:1;
  letter-spacing:.14em;
  text-align: center;
}
.talk_list ul li .text h6 {
  color:#fff;
  font-size:18px;
  font-weight:400;
  line-height:1;
  letter-spacing:.06em;
  text-align: center;
  margin:30px 0 0;
}
.talk_list ul li .text .button {
  margin-top:40px;
}
.talk_list ul li .text .button a {
  margin:0 auto;
}

.top_culture {
  padding:210px 0 0;
  overflow: hidden;
  position: relative;
  background: #fff;
  z-index: 2;
}
.culture_sec {
  width:100%;
  max-width:960px;
  margin:0 auto;
  position: relative;
}
.top_education {
  margin-top:130px;
}
.top_benefits {
  margin-top:70px;
}
.culture_sec .image img {
  line-height: 1;
  display: block;
}
.culture_sec .text {
  padding-left:110px;
  position: absolute;
  top:50%;
  left:0;
  transform: translateY(-50%);
}
.culture_sec .text.is-active {
  transform: translate(0,-50%);
}
.culture_sec .text h3,
.culture_sec .text h4,
.culture_sec .text p {
  color:#fff;
}


/* Second pages */
.sec_kv {
  padding:160px 50px 130px;
}
.sec_kv .inner {
  max-width:1200px;
  margin:0 auto;
}
.sec_kv h1 {
  font-size:34px;
  line-height:1;
  letter-spacing:.18em;
  text-align: center;
}
.sec_kv h2 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.14em;
  text-align: center;
  margin:15px 0 0;
}
.sec_kv p {
  font-size:14px;
  line-height:2;
  text-align: center;
  margin:35px 0 0;
}
.sec_kv p span {
  text-align: left;
}

/* Philosophy page */
.philo_mainimg {
  margin:0 0 130px;
}
.philo_mainimg .inner {
   max-width:1200px;
   margin:0 auto;
}
.philo_mainimg img {
  display: block;
}
.history {
  margin:0 0 130px;
}
.history .inner {
  max-width: 1200px;
  margin:0 auto;
  position: relative;
}
.history h2 {
  margin:0;
}
.history h2 img {
  width:290px;
  margin:0 auto;
  display:block;
}
.history h3 {
  font-size:24px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.2em;
  text-align: center;
  margin:10px 0 0;
}
.history_zu {
  height:525px;
  margin:130px 0 0;
  position: relative;
  border-top:solid 1px #ccc;
}
.history_zu::before {
  content:"";
  width:100vw;
  height:1px;
  background:#ccc;
  position: absolute;
  top:-1px;
  left:-50vw;
  display: block;
}
.history_zu .year {
  position: absolute;
  top:0;
}
.history_zu .year::before,
.history_zu .year::after {
  content:"";
  width:4px;
  height:4px;
  display: block;
  position: absolute;
  top:-2px;
  left:50%;
  transform: translateX(-50%);
  background:#000;
  border-radius:50%;
  z-index:3;
}
.history_zu .year::after {
  width:2px;
  height:100px;
  top:0;
  left:50%;
  transform: translateX(-50%);
  background:url(../../company/philosophy/images/border_dots.png) repeat-y 0 0;
  background-size:100% auto;
  border-radius:0;
  z-index:1;
}
.history_zu .year.year2024::after {
  height:65px;
}
.history_zu .year1998 {
  left:360px;
}
.history_zu .year2006 {
  left:520px;
}
.history_zu .year2024 {
  left:680px;
}
.history_zu .year20XX {
  left:840px;
}
.history_zu .year20XX .border {
  width:100vw;
  height:3px;
  background:url(../../company/philosophy/images/border_future.png) repeat-x 0 center;
  background-size: auto 3px;
  display: block;
  position: absolute;
  top:0;
  left:0;
  transform: translateY(-50%);
  z-index:1;
}
.history_zu .year h4 {
  font-size:12px;
  font-weight:400;
  line-height:1;
  letter-spacing:.04em;
  white-space: nowrap;
  position: absolute;
  top:-48px;
  left:50%;
  transform: translateX(-50%);
}
.history_zu .year h4 .num {
  font-size:22px;
  font-weight:500;
}
.history_zu .year p {
  font-size:13px;
  line-height:1.7;
  white-space: nowrap;
  position: absolute;
  background:#fff;
  z-index:3;
}
.history_zu .year.year2006 p {
  top:68px;
  left:-45px;
}
.history_zu .year.year2024 p {
  top:58px;
  left:50%;
  transform: translateX(-50%);
}
.history_zu .circle_con {
  width:448px;
  height:448px;
  position: absolute;
  top:95px;
  left:135px;
  background:#fff;
  border:solid 1px #ccc;
  border-radius:50%;
  z-index:3;
}
.history_zu .circle_con.circle_future {
  left:auto;
  right:135px;
}
.history_zu .circle_con h5 {
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  position: absolute;
  top:55px;
  left:50%;
  transform: translateX(-50%);
}
.history_zu .circle_con.circle_future h5 {
  transform: translateX(-50%) translateY(-.6em);
}
.history_zu .circle_con p {
  font-size:14px;
  line-height:1.9;
  letter-spacing:-0.05em;
  width:316px;
  position: absolute;
  top:115px;
  left:51.5%;
  transform: translateX(-50%);
}
.philo_content {
  margin:0 0 140px;
}
.philo_content .inner {
  max-width:1200px;
  margin:0 auto;
}
.philo_content h2 {
  font-size:24px;
  font-weight:400;
  line-height:1;
  text-align: center;
  letter-spacing:.14em;
  margin:0 0 40px;
}
.philo_content#commitment h2 {
  margin-bottom:100px;
}
.philo_content h2 img {
  width:290px;
  display: inline-block;
}
.philo_content p {
  font-size:14px;
  line-height:2;
  text-align: center;
  margin:0;
}
.philo_content p .ibk {
  text-align: left;
}
.philo_content .commit_list {
  margin:90px 0 0;
}
.philo_content#attempt .commit_list {
  margin:70px 0 0;
}
.philo_content .commit_list .twocol {
  width:750px;
  margin:0 auto;
  flex-wrap: wrap;
  justify-content: center;
}
.philo_content#commitment .commit_list .twocol {
  margin-top:55px;
}
.philo_content .commit_list .twocol .wakubox {
  width: 365px;
  min-width: 365px;
  padding:125px 30px 45px;
  margin:0 5px;
  background:#fff;
  position: relative;
  border-left:solid 1px #ccc;
  border-right:solid 1px #ccc;
  box-sizing: border-box;
}
.philo_content .commit_list .twocol .wakubox:nth-child(3),
.philo_content .commit_list .twocol .wakubox:nth-child(4) {
  margin-top:10px;
}
.philo_content .commit_list .twocol .wakubox::before,
.philo_content .commit_list .twocol .wakubox::after {
  content:"";
  width:calc(100% + 3px);
  height:9px;
  position: absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  background:url(../../company/philosophy/images/waku.png) no-repeat 0 0;
  background-size: 100% 100%;
  z-index:2;
}
.philo_content .commit_list .twocol .wakubox::after {
  top:auto;
  bottom:0;
  transform: translateX(-50%) rotateX(180deg);
}
.philo_content .commit_list h3 {
  font-size:29px;
  font-weight:400;
  line-height:1;
  letter-spacing:.08em;
  text-align: center;
  margin:0 0 20px;
}
.philo_content .commit_list h4 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.1em;
  text-align: center;
  margin:0 0 30px;
}
.philo_content .commit_list .twocol .wakubox h5 {
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  text-align: center;
  letter-spacing:.1em;
  white-space: nowrap;
  margin:0;
  position: absolute;
  top:40px;
  left:50%;
  transform: translateX(-50%);
}
.philo_content#attempt .commit_list .twocol .wakubox h5 {
  top:55px;
}
.philo_content .commit_list .twocol .wakubox h5.nigyo {
  transform: translateX(-50%) translateY(-.8em);
}
.philo_content .commit_list .twocol .wakubox p {
  text-align:left;
  margin:0;
}
.philo_content .commit_list .twocol .wakubox .image {
  margin:0 0 20px;
}


/* Brand page */
.brand_content {
  border-top:solid 1px #ccc;
}
#brand_anayi {
  padding:60px 0;
}
#brand_saville {
  padding:90px 0;
}
#brand_allureville {
  padding:100px 0 70px;
}
#brand_loulou {
  padding:50px 0 100px;
}
.brand_content .inner {
  width:auto;
  max-width:740px;
  padding:0 14px;
  margin:0 auto;
  box-sizing: content-box;
}
.brand_content .twocol {
  align-items: center;
  justify-content: space-between;
}
#brand_saville .twocol,
#brand_loulou .twocol {
  flex-direction:row-reverse;
}
.brand_content .image {
  width:264px;
  min-width:264px;
  margin:0 55px 0 0;
}
#brand_saville .image,
#brand_loulou .image {
  margin:0 0 0 55px;
}
.brand_content .image img {
  display: block;
}
.brand_content .text h2 {
  margin:0 auto 35px;
}
.brand_content .text h2 img {
  margin:0 auto;
  display: block;
}
#brand_anayi .text h2 img {
  width:112px;
}
#brand_saville .text h2 img {
  width:198px;
}
#brand_allureville .text h2 img {
  width:126px;
}
#brand_loulou .text h2 img {
  width:122px;
}
.brand_content .text h2 .sub {
  font-size:10px ;
  line-height:1;
  text-align: center;
  margin:10px 0 0;
  display: block;
}
.brand_content .text p {
  font-size:14px;
  line-height:2;
  letter-spacing:.04em;
  margin:0;
}
.brand_content .text p.en {
  font-size:12px;
  line-height:1.7;
  letter-spacing:.04em;
  margin:10px 0 0;
}
.brand_content .text p.en .hd {
  font-size:12px;
}
.brand_content .text p.enlink {
  margin:20px 0 0;
}
#brand_loulou .text p {
  padding-left:65px;
  position: relative;
}
#brand_loulou .text p.enlink {
  word-break: break-all;
  padding-left:0;
}
#brand_loulou .text p .hd {
  position: absolute;
  left:0;
}


/* Interview page */
.interview_top {
  margin:-20px 0 40px;
}
.interview_top .inner {
  max-width:1200px;
  padding:0 50px;
  margin:0 auto;
  box-sizing: border-box;
}
.interview_top ul {
  width:100%;
  max-width:960px;
  margin:0 auto;
  padding:0 0 0 615px;
  position: relative;
  box-sizing: border-box;
}
.interview_top ul li {
  width:345px;
  margin:35px 0 0;
}
.interview_top ul li.img_large01,
.interview_top ul li.img_large02,
.interview_top ul li.img_mid01 {
  margin:0;
}
.interview_top ul li.img_large01,
.interview_top ul li.img_large02 {
  width:583px;
  position: absolute;
  top:0;
  left:0;
}
.interview_top ul li.img_large02 {
  top:auto;
  bottom:0;
}
.interview_top ul li a {
  text-decoration: none;
  display: block;
  transition: ease .3s;
}
.interview_top ul li .image {
  position: relative;
  overflow: hidden;
}
.interview_top ul li .image img {
  display: block;
  transition: ease .3s;
  transform: scale(1);
}
.interview_top ul li h3 {
  font-size: 14px;
  line-height: 1;
  letter-spacing:.18em;
  margin:0 0 5px;
}
.interview_top ul li h4 {
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
  letter-spacing:.04em;
  margin:20px 0 0;
}
.interview_top ul li h4 .box {
  padding:0 5px;
  margin:0 5px;
  display: inline-block;
  background: #e6e6e6;
}
.interview_top ul li p {
  font-size: 16px;
  line-height: 1.6;
  margin:10px 0 0;
}

.interview_kv {
  padding:175px 50px 125px;
}
.interview_kv h1 {
  font-size: 14px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
  margin: 0;
}
.interview_kv h2 {
  font-size: 24px;
  line-height: 2;
  letter-spacing: .2em;
  text-align: center;
  margin: 30px 0 0;
}
.interview_main .inner {
  max-width: 1200px;
  padding:0 35px;
  margin:0 auto;
  position: relative;
  box-sizing: border-box;
}
.interview_main .image img {
  display: block;
}
.interview_main .text {
  position: absolute;
  left:65px;
  bottom:20px;
}
#interview01 .text,
#interview04 .text {
  left:auto;
  right:65px;
}
.interview_main .text h3,
.interview_main .text p {
  color:#fff;
  font-size:12px;
  line-height:1;
  letter-spacing:.04em;
  margin:0;
}
.interview_main .text p {
  font-size:18px;
  margin:10px 0 0;
}
.go_far_away {
  margin:150px 0 0;
  padding:0 0 10px;
}
.go_far_away h2 {
  padding:0 0 55px;
  border-bottom:solid 1px #ccc;
}
.go_far_away h2 img {
  width:292px;
  margin:0 auto;
  display: block;
}
.go_far_away ul {
  margin:0 auto;
  display: flex;
  justify-content: center;
}
.go_far_away ul li {
  width:224px;
  padding:35px 0 0;
  margin:0 15px;
  position: relative;
}
.go_far_away ul li::before {
  content:"";
  width:4px;
  height:4px;
  position: absolute;
  top:-2px;
  left:50%;
  transform: translateX(-50%);
  display: block;
  border-radius: 50%;
  background: #000;
}
.go_far_away ul li h3 {
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-align: center;
  margin:0;
}
.go_far_away ul li p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .04em;
  margin:30px 0 0;
}

.interview_content {
  margin:110px 0 0;
}
.interview_content .inner {
  max-width:1200px;
  margin:0 auto;
}
.interview_content .image {
  margin: 0 0 100px;
}
.interview_content .image img {
  display: block;
}
.interview_content .text {
  width:520px;
  margin:40px auto 0;
  padding:0 50px;
  box-sizing: content-box;
}
.interview_content .text h2 {
  font-size: 29px;
  line-height: 1;
  letter-spacing: .08em;
  margin: 0;
}
.interview_content .text h3 {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: .1em;
  margin: 20px 0 0;
}
.interview_content .text p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .04em;
  margin: 15px 0 0;
}
.interview_content .text ul.schedule {
  padding:0 0 10px 25px;
  margin:20px 0 0 10px;
  border-left:solid 1px #ccc;
}
.interview_content .text ul.schedule li {
  font-size:14px;
  line-height:1.8;
  letter-spacing:.04em;
  padding:0 0 0 50px;
  margin:20px 0 0;
  position: relative;
}
.interview_content .text ul.schedule.longtime li {
  padding:0 0 0 94px;
}
.interview_content .text ul.schedule li .time {
  display: block;
  position: absolute;
  left:0;
}
.interview_content.interview_last .image {
  margin-bottom:0;
}

/* Closs talk */
.closstalk_kv {
  margin:0 0 135px;
}
.closstalk_kv .inner {
  max-width:1200px;
  margin:0 auto;
  position: relative;
}
.closstalk_kv .image img {
  display: block;
}
.closstalk_kv .title {
  position: absolute;
  top:124px;
  left:50%;
  transform:translateX(-50%) !important;
}
.closstalk_kv .title h1 {
  color:#fff;
  font-size:20px;
  line-height:1;
  letter-spacing:.18em;
  text-align: center;
}
.closstalk_kv .title h2 {
  color:#fff;
  font-size:34px;
  line-height:1;
  letter-spacing:.18em;
  text-align: center;
  margin:15px 0 0;
}
.closstalk_kv .title h2 img {
  width:214px;
  margin:0 auto;
  display: block;
}
.closstalk_kv .title h3 {
  color:#fff;
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.14em;
  text-align: center;
  margin:15px 0 0;
}
.closstalk_kv .title p {
  color:#fff;
  font-size:14px;
  line-height:2;
  text-align: center;
  margin:30px 0 0;
}
.closstalk_kv .title p .ibk {
  text-align: left;
}
.closstalk_txt {
  position: absolute;
}
.closstalk_txt h4 {
  color:#fff;
  font-size:18px;
  line-height:1;
  letter-spacing:.04em;
  margin:0;
}
.closstalk_txt h5 {
  color:#fff;
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.04em;
  margin:5px 0 0;
}
.closstalk_txt p {
  color:#fff;
  font-size:14px;
  line-height:2;
  margin:15px 0 0;
}
#closstalk01 .interviewer1 {
  width:236px;
  bottom:27px;
  left:110px;
}
#closstalk01 .interviewer2 {
  width:240px;
  bottom:115px;
  left:50%;
  transform: translateX(-50%);
}
#closstalk01 .interviewer3 {
  width:236px;
  bottom:30px;
  right:120px;
}
#closstalk02 .interviewer1 {
  width:200px;
  bottom:195px;
  left:55px;
}
#closstalk02 .interviewer2 {
  width:200px;
  bottom:195px;
  right:55px;
}
#closstalk03 .interviewer1 {
  width:230px;
  bottom:60px;
  left:120px;
}
#closstalk03 .interviewer2 {
  width:230px;
  bottom:60px;
  right:120px;
}

.interview_con {
  margin:110px 0 0;
}
.interview_con .inner {
  max-width: 1200px;
  margin:0 auto;
  padding:0 50px;
  box-sizing: border-box;
}
.interview_con .title h2 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.16em;
  text-align: center;
}
.interview_con .title h3 {
  font-size:24px;
  font-weight:400;
  line-height:2;
  letter-spacing:.2em;
  text-align: center;
  margin:30px 0 0;
}
.comments_sec {
  max-width:740px;
  margin:80px auto 0;
}
.comments_sec h4 {
  font-size:14px;
  font-weight:400;
  line-height:1.7;
  width: fit-content;
  margin:0 auto 80px;
  padding:20px 45px;
  position: relative;
}
.comments_sec h4 .hd {
  padding:0 .5em 0 0;
  display: inline-block;
  position: relative;
  top:.15em;
}
.comments_sec h4 .hd img {
  width:15px;
  line-height: 1;
}
.comments_sec h4::before,
.comments_sec h4::after {
  content:"";
  width:96px;
  height:40px;
  display: block;
  position: absolute;
}
.comments_sec h4::before {
  top:0;
  left:0;
  background:url(../../special/images/waku_start.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.comments_sec h4::after {
  bottom:0;
  right:0;
  background:url(../../special/images/waku_fin.svg) no-repeat 0 0;
  background-size: 100% auto;
}
.comments_sec .comments_list {
  min-height:80px;
  margin:35px 0 0;
  display: flex;
  position: relative;
}
.comments_sec .comments_list .image {
  width:60px;
}
.comments_sec .comments_list .image img {
  display: block;
}
.comments_sec .comments_list .image h5 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.04em;
  text-align: center;
  margin:10px 0 0;
}
.comments_sec .comments_list.img_l {
  padding:0 135px 0 90px;
}
.comments_sec .comments_list.img_r {
  padding:0 90px 0 135px;
  justify-content: flex-end;
}
.comments_sec .comments_list.img_l .image {
  position: absolute;
  left:0;
}
.comments_sec .comments_list.img_r .image {
  position: absolute;
  right:0;
}
.comments_sec .comments_list .text {
  display: flex;
  align-items: center;
}
.comments_sec .comments_list .text p {
  font-size:12px;
  line-height:2;
  letter-spacing:.04em;
}
.talk_img {
  margin:130px 0 110px;
}
.talk_img .inner {
  width:740px;
  margin:0 auto;
}


/* Jobs page */
.value_chain {
  padding:110px 50px 160px;
  border-top:solid 1px #ccc;
}
.value_chain .inner,
.jobs .inner,
.sale .inner,
.create .inner,
.corporate .inner {
  max-width:1200px;
  margin:0 auto;
}
.value_chain .title,
.jobs .title {
  margin:0 0 85px;
}
.sale .title,
.create .title,
.corporate .title {
  margin:0 0 75px;
}
.value_chain .title h2,
.jobs .title h2,
.sale .title h2,
.create .title h2,
.corporate .title h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.sale .title h2,
.create .title h2,
.corporate .title h2 {
  font-size: 26px;
}
.value_chain .title h3,
.jobs .title h3,
.sale .title h3,
.create .title h3,
.corporate .title h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 15px 0 0;
}
.value_chain .title p,
.jobs .title p {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  margin: 35px 0 0;
}
.value_chain .title p .ibk,
.jobs .title p .ibk {
  text-align: left;
}
.value_chain ul,
ul.job_detail {
  width:100%;
  max-width:740px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.value_chain ul li {
  width:calc(50% - 2.5px);
  padding:45px;
  margin:5px 0 0;
  background:#fff;
  position: relative;
  border-left:solid 1px #ccc;
  border-right:solid 1px #ccc;
  box-sizing: border-box;
}
.value_chain ul li:nth-child(1),
.value_chain ul li:nth-child(2) {
  margin:0;
}
.value_chain ul li::before,
.value_chain ul li::after,
ul.job_detail li::before,
ul.job_detail li::after {
  content:"";
  width:calc(100% + 3px);
  height:9px;
  position: absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  background:url(../../company/philosophy/images/waku.png) no-repeat 0 0;
  background-size: 100% 100% !important;
  z-index:2;
}
.value_chain ul li::after,
ul.job_detail li::after {
  top:auto;
  bottom:0;
  transform: translateX(-50%) rotateX(180deg);
}
.value_chain ul li h3 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  margin: 0 0 13px;
}
.value_chain ul li h3 .num {
  display: inline-block;
  margin-right:.5em;
}
.value_chain ul li h3 .sml {
  font-size: 12px;
  display: inline-block;
  margin-left:.5em;
}
.value_chain ul li p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .04em;
  margin:10px 0 0;
}
.value_chain ul li .image img {
  display: block;
}

.jobs {
  padding:110px 50px;
  border-top:solid 1px #ccc;
}
.jobs .title p {
  max-width:510px;
  margin-left:auto;
  margin-right:auto;
}
.jobs ul {
  display: flex;
  justify-content: center;
}
.jobs ul li {
  width:141px;
  margin:0 11px;
}
.jobs ul li a {
  color:#000;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .16em;
  text-decoration:none;
  width:100%;
  height:34px;
  padding-bottom:3px;
  display: flex;
  justify-content: center;
  align-items: center;
  background:url(../../work/jobs/images/button.svg) no-repeat 0 0;
  background-size:100% auto;
  box-sizing: border-box;
  transition:ease .3s;
}

.sale .image,
.create .image,
.corporate .image {
  margin:0 0 110px;
}
.sale {
  padding:0 0 160px;
}
.create,
.corporate {
  padding:0 0 150px;
}
ul.job_detail li {
  width:calc(33% - 2px);
  padding:45px 20px 40px;
  margin:5px 0 0;
  background:#fff;
  position: relative;
  border-left:solid 1px #ccc;
  border-right:solid 1px #ccc;
  box-sizing: border-box;
}
ul.job_detail li:nth-child(1),
ul.job_detail li:nth-child(2),
ul.job_detail li:nth-child(3) {
  margin:0;
}
ul.job_detail li h4 {
  font-size:16px;
  font-weight:400;
  line-height:1;
  text-align: center;
  margin:0 0 30px;
}
ul.job_detail li p {
  font-size:14px;
  line-height:2;
  margin:0;
}
ul.job_detail li::before,
ul.job_detail li::after {
  background-image:url(../../work/jobs/images/waku_3col.png);
}
.create ul.job_detail li:nth-child(4),
.create ul.job_detail li:nth-child(5),
.corporate ul.job_detail li:nth-child(4),
.corporate ul.job_detail li:nth-child(5) {
  width:calc(50% - 2.5px);
}
.create ul.job_detail li:nth-child(4)::before,
.create ul.job_detail li:nth-child(5)::before,
.corporate ul.job_detail li:nth-child(4)::before,
.corporate ul.job_detail li:nth-child(5)::before,
.create ul.job_detail li:nth-child(4)::after,
.create ul.job_detail li:nth-child(5)::after,
.corporate ul.job_detail li:nth-child(4)::after,
.corporate ul.job_detail li:nth-child(5)::after {
  background-image:url(../../work/jobs/images/waku.png);
}
.sale ul.job_detail li:nth-child(7) {
  width:100%;
}
.sale ul.job_detail li:nth-child(7)::before,
.sale ul.job_detail li:nth-child(7)::after {
  background-image:url(../../work/jobs/images/waku_1col.png);
}
.sale ul.job_detail li {
  padding-top:5px;
}
.sale ul.job_detail li h4 {
  line-height:1.7;
  width: 100%;
  height:85px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin:0;
}
.sale ul.job_detail li h4 .tt {
  width:100%;
  display: block;
}
.sale ul.job_detail li h4 .sml {
  font-size: 14px;
  letter-spacing: 0;
  text-align: center;
  white-space: nowrap;
  width:100%;
  display: block;
}
.sale ul.job_detail li:nth-child(7) h4 {
  height:70px;
}
.sale ul.job_detail li:nth-child(7) p {
  max-width:530px;
  margin:0 auto;
}

/* Education */
.career,
.training,
.award {
  padding:110px 30px 150px;
  border-top:solid 1px #ccc;
}
.career {
  padding:110px 0 150px;
}
.career .inner,
.training .inner,
.award .inner {
  max-width:1200px;
  margin:0 auto;
}
.career .title,
.training .title,
.award .title {
  margin:0 0 80px;
}
.career .title h2,
.training .title h2,
.award .title h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.career .title h3,
.training .title h3,
.award .title h3 {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 15px 0 0;
}
.career .title p,
.training .title p,
.award .title p {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  max-width:480px;
  margin: 30px auto 0;
}
.career .title p .ibk,
.training .title p .ibk,
.award .title p .ibk {
  text-align: left;
}
.career_step {
  width:740px;
  margin:0 auto;
  position: relative;
}
.career_step .image img {
  width:740px;
  height:463px;
  line-height: 1;
  display: block;
}
.career_step h4 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  position: absolute;
  top:65px;
  left:50%;
  transform:translateX(-50%);
}
.step_sale {
  width:299px;
  position: absolute;
  top:222px;
  left:0;
}
.step_creative {
  width:215px;
  position: absolute;
  top:222px;
  left:305px;
}
.step_corporate {
  width:215px;
  position: absolute;
  top:222px;
  right:0;
}
.career h5 {
  font-size:14px;
  font-weight:400;
  line-height:1.3;
  letter-spacing:.14em;
  text-align: center;
  padding:20px 0 0;
}
.career h5 .lora {
  font-size:22px;
  letter-spacing:.08em;
  display: block;
  text-align: center;
}
.career ul {
  width:fit-content;
  margin:17px auto 0;
}
.career ul li,
.career ul li .dots {
  font-size:14px;
  line-height:1.9;
  padding-left:1em;
  position: relative;
}
.career ul li .dots {
  margin-left:14px;
  display: inline-block;
  position: relative;
}
.career ul li::before,
.career ul li .dots::before {
  content:"";
  width:4px;
  height:4px;
  display: block;
  background:#000;
  border-radius:50%;
  position: absolute;
  top:.88em;
  left:0;
}
.career .button {
  width:264px;
  height:69px;
  margin:130px auto 0;
}
.career .button a {
  font-size:16px;
  line-height:1;
  letter-spacing:.18em;
  text-align: center;
  text-decoration:none;
  height:70px;
  padding:17px 20px 0 0;
  display: block;
  background:url(../../culture/education/images/button.svg) no-repeat 0 0;
  background-size:100% auto;
  position: relative;
  box-sizing: border-box;
  transition:ease .3s;
}
.career .button a::after {
  content:"";
  width:12px;
  height:14px;
  display: block;
  position: absolute;
  top:50%;
  right:20px;
  transform: translateY(-50%);
  background: url(../../culture/education/images/arrow.svg) no-repeat 0 0;
  background-size:100% auto;
}
.career .button a .mini {
  font-size:12px;
  text-align: center;
  display: block;
  margin:5px 0 0;
}
ul.icon_list {
  width:100%;
  max-width:744px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
}
ul.icon_list li {
  width:calc(33.33% - 4px);
  padding:110px 20px 20px;
  margin:4px 2px 0;
  background:#fff;
  position: relative;
  border-left:solid 1px #ccc;
  border-right:solid 1px #ccc;
  box-sizing: border-box;
}
.award ul.icon_list li:nth-child(4),
.award ul.icon_list li:nth-child(5) {
  width:calc(50% - 4px);
  padding-top:120px;
}
ul.icon_list li:nth-child(1),
ul.icon_list li:nth-child(2),
ul.icon_list li:nth-child(3) {
  margin-top:0;
}
ul.icon_list li::before,
ul.icon_list li::after {
  content:"";
  width:calc(100% + 2px);
  height:9px;
  position: absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  background:url(../../culture/education/images/waku.png) no-repeat 0 0;
  background-size: 100% 100% !important;
  z-index:2;
}
.award ul.icon_list li:nth-child(4)::before,
.award ul.icon_list li:nth-child(4)::after,
.award ul.icon_list li:nth-child(5)::before,
.award ul.icon_list li:nth-child(5)::after {
  background-image: url(../../work/jobs/images/waku.png);
}
ul.icon_list li::after,
ul.icon_list li::after {
  top:auto;
  bottom:0;
  transform: translateX(-50%) rotateX(180deg);
}
ul.icon_list li h4 {
  font-size: 14px;
  font-weight:400;
  letter-spacing: .14em;
  text-align: center;
  width:100%;
  position: absolute;
  top:80px;
  left:0;
}
ul.icon_list li h4 .sml {
  font-size:12px;
  letter-spacing: .08em;
  white-space:nowrap;
  display: block;
  margin:5px 0 0;
}
ul.icon_list li p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: .04em;
}
ul.icon_list li .icon {
  position: absolute;
  left:50%;
  transform: translateX(-50%);
}
ul.icon_list li .icon img {
  display: block;
  width:100% !important;
  height:auto;
}
ul.icon_list li .icon.kira1 img {
  transform: translateX(14.28%);
}
ul.icon_list li .icon.kira2 img {
  transform: translateX(10.66%);
}
ul.icon_list li .icon.kira3 img {
  transform: translateX(10.9%);
}
ul.icon_list li .icon.kira4 img {
  transform: translateX(19.5%);
}
ul.icon_list li:nth-child(1) .icon {
  width:26px;
  top:25px;
}
ul.icon_list li:nth-child(2) .icon {
  width:82px;
  top:28px;
}
ul.icon_list li:nth-child(3) .icon {
  width:34px;
  top:28px;
}
ul.icon_list li:nth-child(4) .icon {
  width:34px;
  top:28px;
}
ul.icon_list li:nth-child(5) .icon {
  width:49px;
  top:13px;
}
ul.icon_list li:nth-child(6) .icon {
  width:43px;
  top:23px;
}

.award ul.icon_list li:nth-child(1) .icon {
  width:37px;
  top:22px;
}
.award ul.icon_list li:nth-child(2) .icon {
  width:50px;
  top:24px;
}
.award ul.icon_list li:nth-child(3) .icon {
  width:44px;
  top:30px;
}
.award ul.icon_list li:nth-child(4) .icon {
  width:60px;
  top:22px;
}
.award ul.icon_list li:nth-child(5) .icon {
  width:38px;
  top:23px;
}

/* Recruit */
.recruit_con {
  padding-left:0;
  padding-right:0;
}
.recruit_info {
  width:100%;
  max-width:740px;
  margin:125px auto 0;
  border-top:solid 1px #ccc;
}
.recruit_info ul li {
  padding:35px 60px 35px 55px;
  border-bottom:solid 1px #ccc;
  display: flex;
  position: relative;
}
.recruit_info ul li h3 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.14em;
  white-space: nowrap;
}
.recruit_info ul li h3 .lora {
  font-size: 22px;
  letter-spacing: .08em;
  display: inline-block;
  margin-right:18px;
}

.recruit_info ul li .button {
  position: absolute;
  top:50%;
  right:60px;
  transform: translateY(-50%);
}
.recruit_info ul li .button a {
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  text-align: center;
  text-decoration:none;
  width:141px;
  height:34px;
  display: flex;
  justify-content: center;
  align-items: center;
  background:url(../../recruit/images/button.svg) no-repeat 0 0;
  background-size:100% auto;
  transition:ease .3s;
}
.recruit_info ul li .button a .lora {
  font-size:14px;
}
.recruit_info ul li .boxarea {
  width:100%;
  padding-left:25px;
  box-sizing: border-box;
}
.recruit_info ul li .boxarea .box {
  position: relative;
}
.recruit_info ul li .boxarea .box .button {
  right:0;
}
.recruit_info ul li .boxarea .box + .box {
  margin-top:25px;
}
.recruit_info ul li .boxarea .box h4 {
  font-size:14px;
  font-weight:400;
  line-height:1.66;
  padding-left:1em;
  position: relative;
}
.recruit_info ul li .boxarea .box h4::before {
  content:"";
  width:6px;
  height:6px;
  display: block;
  background:#000;
  border-radius:50%;
  position: absolute;
  top:.62em;
  left:0;
}

.process {
  padding:110px 0;
  border-top:solid 1px #ccc;
}
.process .title {
  margin:0 0 70px;
}
.process .title h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.process .title h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 15px 0 0;
}
.process_flow {
  width:100%;
  max-width:740px;
  margin:50px auto 0;
}
.process_flow h4 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  margin:0 0 22px;
}
.process_flow h4 .lora {
  font-size: 22px;
  letter-spacing:.08em;
  display: inline-block;
  margin-right: 0.5em;
}
.process_flow .image {
  position: relative;
}
.process_flow .image h5 {
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:.12vw;
  position: absolute;
  top:50%;
  transform:translateY(-50%);
}
.process_flow p {
  font-size:14px;
  line-height:1;
  text-align: right;
  letter-spacing:.1em;
  margin:18px 0 0;
}
.process_flow.freshers .image .flow1 {
  left:40px;
}
.process_flow.freshers .image .flow2 {
  left:256px;
}
.process_flow.freshers .image .flow3 {
  left:442px;
}
.process_flow.freshers .image .flow4 {
  left:640px;
}
.process_flow.careers .image .flow1 {
  left:88px;
}
.process_flow.careers .image .flow2 {
  left:346px;
}
.process_flow.careers .image .flow3 {
  left:612px;
}


/* Corp Profile */
.profile_info {
  margin:120px 0 0;
}
.profile_info ul {
  width:fit-content;
  margin:0 auto;
}
.profile_info ul li {
  display: flex;
  margin:20px 0 0;
}
.profile_info ul li:nth-child(1) {
  margin:0;
}
.profile_info ul li h3,
.profile_info ul li p {
  font-size:16px;
  font-weight:400;
  line-height:1;
}
.profile_info ul li p a {
  text-decoration: underline;
}
.profile_info ul li h3 {
  width:110px;
  margin:0 47px 0 0;
  text-align-last: justify;
  text-justify: inter-ideograph;
  white-space: nowrap;
}
.profile_info ul li p {
  margin:0 0 0 47px;
}
.corp_philosophy,
.management_policy {
  padding:110px 0 135px;
  border-top:solid 1px #ccc;
}
.corp_philosophy .title,
.management_policy .title {
  margin:0 0 70px;
}
.corp_philosophy .title h2,
.management_policy .title h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.corp_philosophy .title h3,
.management_policy .title h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 15px 0 0;
}
.corp_philosophy ul {
  width:470px;
  margin:70px auto 0;
  border-top:solid 1px #ccc;
}
.corp_philosophy ul li {
  font-size:16px;
  line-height:1;
  letter-spacing:.16em;
  text-align: center;
  white-space: nowrap;
  padding:15px 0;
  border-bottom:solid 1px #ccc;
}
.management_policy ul {
  width:740px;
  margin:70px auto 0;
  display: flex;
  flex-wrap: wrap;
}
.management_policy ul li {
  width:370px;
  height:198px;
  display: flex;
  position: relative;
  box-sizing: border-box;
}
.management_policy ul li:nth-child(1),
.management_policy ul li:nth-child(3) {
  border-right:solid 1px #ccc;
}
.management_policy ul li:nth-child(3),
.management_policy ul li:nth-child(4) {
  margin-top:20px;
}
.management_policy ul li:nth-child(3)::before,
.management_policy ul li:nth-child(4)::before {
  content:"";
  width:calc(100% - 10px);
  height:1px;
  background:#ccc;
  position: absolute;
  top:-10px;
  left:0;
}
.management_policy ul li:nth-child(4)::before {
  left:auto;
  right:0;
}
.management_policy ul li .text {
  text-align:left;
  padding:23px 0 0 78px;
}
.management_policy ul li:nth-child(even) .text {
  padding:23px 0 0 82px;
}
.management_policy ul li:nth-child(3) .text,
.management_policy ul li:nth-child(4) .text {
  padding-top:48px;
}
.management_policy ul li h4 {
  font-size:16px;
  font-weight:400;
  line-height:1;
}
.management_policy ul li p {
  font-size:14px;
  line-height:2;
  margin:25px 0 0;
}


/* Benefit */
.support {
  padding:70px 0 80px;
  border-top:solid 1px #ccc;
}
.support .title {
  margin:0 0 65px;
}
.support .title .image {
  width:145px;
  margin:0 auto 22px;
}
.support .title .image img {
  display: block;
}
.support .title h2 {
  font-size: 20px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.support .title h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 12px 0 0;
}
.support .inner .support_sec:nth-child(1) {
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.support_sec {
  margin:75px auto 0;
  padding:70px 0 0;
  border-top:solid 1px #ccc;
}
.support_sec .text {
  max-width:570px;
  margin:40px auto 0;
}
.support_sec h4 {
  font-size:16px;
  font-weight:400;
  line-height:1;
  letter-spacing:.2em;
  text-align: center;
  margin:0;
}
.support_sec h4 .sub {
  font-size:14px;
  margin:8px 0 0;
  display:block;
}
.support_sec p {
  font-size:14px;
  line-height:2;
  letter-spacing:.04em;
  margin:25px 0 0;
}

.voice {
  padding:0 0 50px;
}
.voice .inner {
  max-width:1200px;
  margin:0 auto;
}
.voice .title {
  margin:100px 0 80px;
}
.voice .title h2 {
  font-size: 28px;
  line-height: 1;
  letter-spacing: .18em;
  text-align: center;
}
.voice .title h3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .14em;
  text-align: center;
  margin: 12px 0 0;
}
.voice .image {
  margin:0 auto;
}
.voice .image img {
  display: block;
}
.voice ul.voice_icon_box {
  margin:0 0 120px;
  border-top:solid 1px #ccc;
}
.voice ul.voice_icon_box li {
  width:100%;
  padding:40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom:solid 1px #ccc;
}
.voice ul.voice_icon_box li .icon {
  width:45px;
  min-width:45px;
  margin:0 30px 0 0;
}
.voice ul.voice_icon_box li .icon img {
  margin:0 auto;
  display: block;
}
.voice ul.voice_icon_box li:nth-child(1) .icon img {
  width:45px;
}
.voice ul.voice_icon_box li:nth-child(2) .icon img {
  width:40px;
}
.voice ul.voice_icon_box li:nth-child(3) .icon img,
.voice ul.voice_icon_box li:nth-child(4) .icon img {
  width:36px;
}
.voice ul.voice_icon_box li .text {
  width:465px;
  min-width:465px;
}
.voice ul.voice_icon_box li .text h4 {
  font-size:14px;
  font-weight:400;
  line-height:1;
  letter-spacing:.18em;
}
.voice ul.voice_icon_box li .text p {
  font-size:14px;
  line-height:2;
  letter-spacing:.04em;
  padding:0 0 0 3px;
  margin:12px 0 0;
}


/* レスポンシブ */
@media screen and (max-width:1200px) {
.fadein {
  transform:translate(0, 8.33vw);
}
.fadein.is-active {
  transform:translate(0, 0);
}
#gnavi {
  width:323px;
}

.top_philosophy .twocol .text {
  padding: 0 9.16vw;
}
.top_brand .text {
  padding:0 9.16vw;
}
.top_corporate {
  padding: 0 10vw 0 0;
}
.top_corporate .inner {
  height:36.16vw;
}
.top_corporate .text h3 {
  white-space: inherit;
  line-height: 1.33;
}
.top_corporate .twocol .image {
  width:45vw;
  min-width: inherit;
  margin-right: 0;
  position: absolute;
  left:0;
}
.top_corporate .twocol .text {
  padding-left:55vw;
}

.brand_slide {
  height:43.16vw;
  padding:0 0 15.83vw 16.25vw;
}
.brand_slide .slick-slide {
  margin:0 .41vw;
}
.brand_slide .slick-slide img {
  width:20.41vw !important;
}

.top_jobs .twocol .text {
  padding:0 0 0 3.75vw;
}
.top_jobs .twocol .image {
  width:36.75vw;
  margin-right:5vw;
}

.interview_slide {
  height:45.41vw;
}
.interview_slider {
  width:36.66vw;
}
.interview_slider .slick-list::after {
  left: -63.41vw;
}
.top_interview .text {
  padding: 8vw 6.66vw 0 3.33vw;
  left: 6.66vw;
}
.interview_slide .slick-slide {
  margin:0 .41vw;
}
.interview_slide .slick-slide img {
  width:36.66vw !important;
}
.interview_slide .slick-dots {
  width:fit-content;
  right:13.75vw;
  bottom:-3.08vw;
}

.interview_slide .slick-dots li {
  width:.66vw;
  height:.66vw;
  margin:0 .58vw;
}
.interview_slide .slick-dots li button {
  width:.66vw;
  height:.66vw;
}
.interview_slide .slick-prev,
.interview_slide .slick-next {
  bottom:-3.33vw;
}
.interview_slide .slick-prev {
  right:24.16vw;
}
.interview_slide .slick-next {
  right:11.91vw;
}

.top_interview .button {
  margin-top:3vw;
}

.top_crosstalk {
  padding:0 0 0 9.16vw;
}
.culture_sec .text.is-active {
  transform: translate(0,-50%);
}

/* Philosophy */
.history h2 img {
  width:24.16vw;
}
.history h3 {
  font-size:2vw;
  margin:.83vw 0 0;
}
.history_zu {
  height:43.75vw;
  margin:10.83vw 0 0;
}
.history_zu .year.year2024::after {
  height:5.41vw;
}
.history_zu .year1998 {
  left:30vw;
}
.history_zu .year2006 {
  left:43.33vw;
}
.history_zu .year2024 {
  left:56.66vw;
}
.history_zu .year20XX {
  left:70vw;
}
.history_zu .year h4 {
  font-size:1vw;
  top:-4vw;
}
.history_zu .year h4 .num {
  font-size:1.83vw;
}
.history_zu .year p {
  font-size:1.08vw;
}
.history_zu .year.year2006 p {
  top:5.66vw;
  left:-3.75vw;
}
.history_zu .year.year2024 p {
  top:4.83vw;
}
.history_zu .circle_con {
  width:37.33vw;
  height:37.33vw;
  top:7.91vw;
  left:12.08vw;
}
.history_zu .circle_con.circle_future {
  right:12.08vw;
}
.history_zu .circle_con h5 {
  font-size:1.33vw;
  top:4.58vw;
}
.history_zu .circle_con p {
  font-size:1.16vw;
  width:26.33vw;
  top:9.58vw;
}

}


@media screen and (max-width:1100px) {
footer .inner {
  padding:5.45vw 7.27vw;
}
footer h1 {
  margin-bottom:30px;
}
.top_interview .text {
  padding-top: 6.66vw;
}

}


@media screen and (max-width:1060px) {
/* Interview page */
.interview_top .inner {
  padding:0 4vw;
}
.interview_top ul {
  padding:0 0 0 58vw;
}
.interview_top ul li {
  width:32.54vw;
  margin:3.3vw 0 0;
}
.interview_top ul li.img_large01,
.interview_top ul li.img_large02 {
  width:55vw;
}

}


@media screen and (max-width:1000px) {
.top_interview .text {
  padding: 6.66vw 6.66vw 0 0;
}
.interview_slide .slick-dots {
  bottom:-2.86vw;
}

.closstalk_kv .title {
  top:12.4vw;
}
.closstalk_kv .title h1 {
  font-size:2vw;
}
.closstalk_kv .title h2 {
  font-size:3.4vw;
  margin:1.5vw 0 0;
}
.closstalk_kv .title h2 img {
  width:21.4vw;
}
.closstalk_kv .title h3 {
  font-size:1.2vw;
  margin:1.5vw 0 0;
}
.closstalk_kv .title p {
  font-size:1.2vw;
  margin:3vw 0 0;
}
.closstalk_txt h4 {
  font-size:1.8vw;
}
.closstalk_txt h5 {
  font-size:1.4vw;
  margin:.5vw 0 0;
}
.closstalk_txt p {
  font-size:1.2vw;
  margin:1.5vw 0 0;
}
#closstalk01 .interviewer1 {
  width:23.6vw;
  bottom:2.7vw;
  left:11vw;
}
#closstalk01 .interviewer2 {
  width:24vw;
  bottom:11.5vw;
}
#closstalk01 .interviewer3 {
  width:23.6vw;
  bottom:3vw;
  right:12vw;
}
#closstalk02 .interviewer1 {
  width:20vw;
  bottom:19.5vw;
  left:5.5vw;
}
#closstalk02 .interviewer2 {
  width:20vw;
  bottom:19.5vw;
  right:5.5vw;
}
#closstalk03 .interviewer1 {
  width:23vw;
  bottom:6vw;
  left:5vw;
}
#closstalk03 .interviewer2 {
  width:23vw;
  bottom:6vw;
  right:5vw;
}

}


@media screen and (max-width:830px) {
.top_interview .text {
  padding-top:2.2vw;
}

}

@media screen and (max-width:768px) {
.pc {
  display:none !important;
}
.sp {
  display:block !important;
}
.errorpage {
  padding:12.82vw 0;
}
.errorpage p {
  font-size: 3.33vw;
}

header {
  height:11.73vw;
}
header h1 {
  width: 48.5vw;
  top: 3.33vw;
  left: 3.2vw;
}
header h2 {
  width: 23vw;
  top: 3.22vw;
  right: 20vw;
}
.spbtn {
  width:11.73vw;
  height:11.73vw;
  top: 0;
  right: 3.2vw;
}
.spbtn a::before,
.spbtn a::after {
  top:calc(50% - 1.33vw);
}
.spbtn a::after {
  top:auto;
  bottom:calc(50% - .8vw);
}
header.open .spbtn a::before {
  transform: translateY(.8vw) rotate(15deg);
}
header.open .spbtn a::after {
  transform: translateY(-1.06vw) rotate(-15deg);
}
#gnavi {
  width:82%;
  max-width:323px;
}
#gnavi .inner {
  width:100%;
  padding-bottom:25px;
}
#gnavi .inner > ul {
  padding:50px 0 0;
}
#gnavi .clmenu ul {
  margin:6px 0 0;
}
#gnavi ul li a {
  font-size:19px;
}
#gnavi .clmenu ul li a {
  font-size:18px;
}
#gnavi ul li a .sub {
  font-size:12px;
  margin-top:8px;
}

.overlay {
  left:50%;
  transform: translateX(-50%);
}
footer .inner {
  padding:17.3vw 6.41vw 19.23vw;
}
footer h1 {
  width:66.28vw;
  margin:0 0 17.3vw;
}
#ftnavi > ul {
  width:100%;
  display:block;
}
#ftnavi > ul li {
  margin:4vw 0 0;
}
#ftnavi > ul li a {
  font-size:3.73vw;
}
#ftnavi > ul li ul {
  margin:2.66vw 0;
  position: relative;
  bottom:0;
  transform: none;
}
#ftnavi > ul li ul li + li {
  margin-left:5.86vw;
}
#ftnavi > ul li ul li + li::after {
  left:-4vw;
}

.kv {
  padding-top:100vh;
}
.kv .image {
  width:auto;
  height:100vh;
}
.kv video {
  width:auto;
  height:100vh;
}
.kv .text {
  padding:20px 0 30vh;
}
.kv .text p {
  font-size: 3.33vw;
  margin: 10.25vw auto 0;
}

.kv .title_area h1 {
  width:61.15vw;
  top:79.74vw;
}
.kv .scroll {
  top:100vh;
  left:50%;
  margin-left:-43.59vw;
}
.kv .scroll-text {
  font-size:3.84vw;
}

.top_company {
  padding: 25.64vw 0 0;
}
.top_company .title_box h2 {
  width: 27.3vw;
}
.top_work .title_box h2 {
  width: 16.41vw;
}
.top_special .title_box h2 {
  width: 22.3vw;
}
.top_culture .title_box h2 {
  width: 25.12vw;
}

.top_sec {
  margin: 25.64vw 0;
}
.top_sec .inner {
  padding:0 6.41vw;
}
.top_sec .twocol {
  display: block;
}
.top_sec .twocol .image {
  width:100%;
  max-width:none;
}
.top_philosophy .twocol .image {
  text-align:right;
}
.top_philosophy .twocol .image img {
  width:55.25vw;
  max-width:431px;
  display: inline-block;
}
.top_sec .twocol .text {
  padding: 12.82vw 0 0;
}
.top_sec .text h3,
.top_interview .text h3,
.top_crosstalk h3,
.culture_sec .text h3 {
  font-size:6.15vw;
  margin:0 0 3.84vw;
}
.top_sec .text h4,
.top_interview .text h4,
.top_crosstalk h4,
.culture_sec .text h4 {
  font-size:3.33vw;
}
.top_sec .text p,
.top_interview .text p,
.top_crosstalk p,
.culture_sec .text p {
  font-size:3.33vw;
  margin:7.05vw 0 0;
}
.top_sec .button,
.top_interview .button,
.top_crosstalk .button,
.culture_sec .text .button {
  margin:8.33vw 0 0;
}
.top_sec .button a,
.top_interview .button a,
.top_crosstalk .button a,
.culture_sec .text .button a {
  width:39.74vw;
}

.top_corporate {
  padding:0;
}
.top_corporate .twocol .image {
  width:64.23vw;
  min-width:inherit;
  margin-right:0;
  position: relative;
}
.top_corporate .inner {
  height:auto;
}

.top_brand {
  margin: 25.64vw 0;
}
.top_brand .inner {
  display: flex;
  flex-direction:column-reverse;
}
.top_brand .text {
  width:auto;
  padding:12.82vw 0 0;
  margin:0;
}

.brand_slide {
  width:61.66vw !important;
  height:auto;
  padding:0;
  margin-left:-6.41vw;
  overflow: visible;
}
.brand_slide .slick-slide {
  margin:0 .77vw 0 0;
}
.brand_slide .slick-slide img {
  width:61.66vw !important;
}
.brand_slide .slick-current.slick-active img {
  transform:scale(1);
}

.top_work .inner {
  width:auto;
  padding:0;
}
.top_jobs .inner {
  padding:0 6.41vw;
}
.top_jobs .twocol {
  width:auto;
}
.top_jobs .twocol .text {
  padding:12.82vw 0 0;
}
.top_jobs .twocol .text p {
  white-space:normal;
}
.top_jobs .twocol .image {
  width:55.25vw;
  max-width: 441px;
  margin-right:0;
}

.interview_slide {
  width:100%;
  height:auto;
}
.interview_slider {
  width:64.1vw;
  margin:0 auto;
  float: none;
  clear: both;
}
.interview_slider .slick-list::after {
  display: none;
}
.interview_slider .slick-list p {
  font-size: 3.46vw;
  text-align: center;
  margin: 6.41vw 0 0;
  opacity:1;
}
.top_interview .text {
  width:auto;
  max-width:none;
  height:auto;
  margin:9.61vw 0 0;
  padding:12.82vw 6.41vw 0;
  position: relative;
  left: 0;
}
.interview_slide .slick-slide {
  margin:0 17.95vw;
}
.interview_slide .slick-slide img {
  width:64.1vw !important;
}
.interview_slide .slick-dots {
  left:50%;
  bottom:-8.97vw;
  transform: translateX(-50%);
}
.interview_slide .slick-dots li {
  width:2.56vw;
  height:2.56vw;
  margin:0 2.3vw;
}
.interview_slide .slick-dots li button {
  width:2.56vw;
  height:2.56vw;
}
.interview_slide .slick-prev,
.interview_slide .slick-next {
  bottom: -9.61vw;
}
.interview_slide .slick-prev {
  left:5vw;
}
.interview_slide .slick-next {
  left:auto;
  right:5vw;
}

.top_special {
  margin:25.64vw 0;
  padding:0;
}
.top_crosstalk {
  width:auto;
  margin:24.35vw auto 0;
  padding:0 6.41vw;
}
.talk_list {
  width:auto;
  margin:10.89vw 0 0;
}
.talk_list ul {
  margin-right:-6.41vw;
  padding:0 0 0 17.94vw;
}
.talk_list ul li {
  margin:1.92vw 0 0;
}
.talk_list ul li:nth-child(1) {
  margin:0;
}
.talk_list ul li .text h5 {
  font-size:4.87vw;
}
.talk_list ul li .text h6 {
  font-size:4.1vw;
  letter-spacing:0;
  white-space: nowrap;
  margin:7.05vw 0 0;
}
.talk_list ul li .text .button {
  margin-top:8.97vw;
}

.top_culture {
  margin: 25.64vw 0 0;
  padding:0;
}
.top_culture .inner {
  position: relative;
}
.culture_sec {
  width:auto;
  padding:0 6.41vw;
}
.top_education {
  margin-top:25.64vw;
}
.top_benefits {
  margin-top:12.82vw;
}
.culture_sec .text {
  width:100%;
  padding:0 4vw 0 6.41vw;
  box-sizing: border-box;
}
.culture_sec .text p {
  letter-spacing:0;
}


/* Second pages */
.sec_kv {
  padding:32.05vw 5.12vw 25.64vw;
}
.sec_kv h1 {
  font-size:6.66vw;
  letter-spacing:.12em;
}
.sec_kv h2 {
  font-size:3.33vw;
  letter-spacing:.06em;
  margin:3.84vw 0 0;
}
.sec_kv p {
  font-size:3.33vw;
  margin:12.82vw 0 0;
  text-align: left;
}

/* Philosophy page */
.philo_mainimg {
  margin:0 0 19.23vw;
}
.history {
  margin:23.07vw 0 17.3vw;
  overflow: hidden;
}
.history .inner {
  padding:0 6.41vw;
}
.history h2 img {
  width:56.41vw;
}
.history h3 {
  font-size:4.87vw;
  letter-spacing:.08em;
  margin:2.56vw 0 0;
}
.history_zu {
  height:auto;
  margin:16.02vw 0 0;
  padding:17.94vw 0 8.97vw 6.15vw;
  border-top:0;
  border-left:solid 1px #ccc;
}
.history_zu::before {
  display: none;
}
.history_zu .year::before,
.history_zu .year::after {
  width:1.28vw;
  height:1.28vw;
  top:-2px;
  left:50%;
  transform: translateX(-50%);
}
.history_zu .year::after {
  width:2px;
  height:37.17vw;
  top:50%;
  left:17vw;
  transform: translateY(-50%) rotate(90deg);
}
.history_zu .year.year2006::after,
.history_zu .year.year2024::after {
  height:17.05vw;
  left:10vw;
}
.history_zu .year1998 {
  top:11.28vw;
  left:0;
}
.history_zu .year2006 {
  top:150vw;
  left:0;
}
.history_zu .year2024 {
  top:auto;
  bottom:152.66vw;
  left:0;
}
.history_zu .year20XX {
  top:auto;
  bottom:137.35vw;
  left:0;
}
.history_zu .year20XX .border {
  width:200vw;
  top:100vw;
  left:0;
  transform: translateX(-50%) rotate(90deg);
}
.history_zu .year h4 {
  font-size:3.07vw;
  top:50%;
  left:38vw;
  transform: translateY(-60%);
}
.history_zu .year.year2006 h4,
.history_zu .year.year2024 h4 {
  left:21vw;
}
.history_zu .year h4 .num {
  font-size:4.61vw;
}
.history_zu .year p {
  font-size:3.58vw;
  line-height:1.85;
}
.history_zu .year.year2006 p {
  top:-1em;
  left:37vw;
}
.history_zu .year.year2024 p {
  top:-1em;
  left:37vw;
  transform:none;
}
.history_zu .circle_con {
  width:81.02vw;
  height:auto;
  padding:29.48vw 0 17.94vw;
  position: relative;
  top:0;
  left:0;
  border-radius:42.05vw;
}
.history_zu .circle_con + .circle_con {
  margin-top:67.3vw;
}
.history_zu .circle_con.circle_future {
  padding:35.89vw 0 14.1vw;
  left:0;
  right:0;
}
.history_zu .circle_con h5 {
  font-size:4.1vw;
  top:12.82vw;
  white-space: nowrap;
}
.history_zu .circle_con.circle_future h5 {
  top:15.38vw;
  transform: translateX(-50%);
}
.history_zu .circle_con p {
  font-size:3.33vw;
  letter-spacing:0;
  width:100%;
  padding:0 6.12vw;
  text-align: center;
  position: relative;
  top:0;
  left:0;
  transform:none;
  box-sizing: border-box;
}

.philo_content {
  margin:0 0 25.64vw;
}
.philo_content .inner {
  padding:0 6.41vw;
}
.philo_content h2 {
  font-size:4.87vw;
  margin:0 0 11.53vw;
}
.philo_content#commitment h2 {
  margin-bottom:25.64vw;
}
.philo_content h2 img {
  width:56.41vw;
}
.philo_content p {
  font-size:3.33vw;
}
.philo_content .commit_list {
  margin:25.64vw 0 0;
}
.philo_content#attempt .commit_list {
  margin:11.53vw 0 0;
}
.philo_content .commit_list .twocol {
  width:auto;
}
.philo_content#commitment .commit_list .twocol {
  margin-top:11.53vw;
}
.philo_content .commit_list .twocol .wakubox {
  width:auto;
  min-width:inherit;
  padding:9.61vw 5.12vw 8.97vw;
  margin:0;
}
.philo_content .commit_list .twocol .wakubox + .wakubox {
  margin-top:6.41vw !important;
}
.philo_content .commit_list h3 {
  font-size:9.23vw;
  margin:0 0 8.97vw;
}
.philo_content .commit_list h4 {
  font-size:4.87vw;
  margin:0 0 10.25vw;
}
.philo_content .commit_list .twocol .wakubox h5 {
  font-size:4.1vw;
  margin:0 0 7.05vw;
  position:relative;
  top:0;
  left:0;
  transform:none;
}
.philo_content#attempt .commit_list .twocol .wakubox h5 {
  top:0;
}
.philo_content .commit_list .twocol .wakubox h5.nigyo {
  transform:none;
}
.philo_content .commit_list .twocol .wakubox p {
  text-align:left;
  margin:0;
}
.philo_content .commit_list .twocol .wakubox .image {
  margin:0 0 5.12vw;
}

/* Brand page */
.brand_content {
  padding:19.23vw 0 !important;
}
.brand_content .inner {
  padding:0 5.12vw;
}
.brand_content .twocol {
  display: block;
}
.brand_content .image {
  width:51.28vw;
  max-width:500px;
  min-width:inherit;
  margin:0 auto 15.38vw !important;
}
.brand_content .text h2 {
  margin:0 auto 12.82vw;
}
#brand_anayi .text h2 img {
  width:35.89vw;
}
#brand_saville .text h2 img {
  width:63.46vw;
}
#brand_allureville .text h2 img {
  width:40.51vw;
}
#brand_loulou .text h2 img {
  width:38.97vw;
}
.brand_content .text h2 .sub {
  font-size:3.33vw ;
  margin:3.84vw 0 0;
}
.brand_content .text p {
  font-size:3.33vw;
  letter-spacing:.06em;
}
.brand_content .text p.en {
  font-size:3.33vw;
  line-height:2;
  letter-spacing:0;
  margin:7.69vw 0 0;
}
.brand_content .text p.en .hd {
  font-size:3.33vw;
}
.brand_content .text p.enlink {
  margin:10.25vw 0 0;
}
#brand_loulou .text p {
  padding-left:16.66vw;
}
#brand_loulou .text p.enlink {
  padding-left:0;
}


/* Interview page */
.interview_top {
  margin:-8.98vw 0 16.66vw;
  border-top:solid 1px #ccc;
}
.interview_top .inner {
  padding:0 6.41vw;
}
.interview_top ul {
  padding:0;
}
.interview_top ul li,
.interview_top ul li.img_large01,
.interview_top ul li.img_large02,
.interview_top ul li.img_mid01 {
  width:100%;
  margin:10.89vw 0 0;
  position: relative;
}
.interview_top ul li h3 {
  font-size: 3.84vw;
  margin:0 0 2.56vw;
}
.interview_top ul li h4 {
  font-size: 3.33vw;
  line-height: 4.74vw;
  margin:6.41vw 0 0;
}
.interview_top ul li h4 .box {
  padding:0 2.05vw;
  margin:0 2.05vw;
}
.interview_top ul li p {
  font-size: 3.84vw;
  margin:4.48vw 0 0;
}

.interview_kv {
  padding:33.33vw 6.41vw 20.51vw;
}
.interview_kv h1 {
  font-size: 3.33vw;
  letter-spacing: .12em;
}
.interview_kv h2 {
  font-size: 4.87vw;
  letter-spacing: .16em;
  margin: 8.97vw 0 0;
}
.interview_main .inner {
  padding:0 6.41vw;
}
.interview_main .text {
  position: absolute;
  left:9.23vw;
  bottom:3.84vw;
}
#interview01 .text,
#interview04 .text {
  right:auto;
  left:9.23vw;
}
.interview_main .text h3,
.interview_main .text p {
  font-size:2.82vw;
}
.interview_main .text p {
  font-size:3.33vw;
  line-height:1.5;
  margin:1.85vw 0 0;
}
.go_far_away {
  margin:18.58vw 0 0;
  padding:0 0 2.56vw;
}
.go_far_away .inner {
  padding:0 6.41vw;
}
.go_far_away h2 {
  padding:0 0 5.12vw;
  border-bottom:0;
}
.go_far_away h2 img {
  width:50.25vw;
}
.go_far_away ul {
  margin:0 auto;
  padding:10.25vw 6.41vw 0 0;
  display: block;
  border-left:solid 1px #ccc;
}
.go_far_away ul li {
  width:auto;
  padding:0 0 0 5.12vw;
  margin:11.53vw 0 0;
}
.go_far_away ul li:nth-child(1) {
  margin:0;
}
.go_far_away ul li::before {
  width:1.28vw;
  height:1.28vw;
  top:1.15vw;
  left:-.82vw;
  transform:none;
  z-index: 2;
}
.go_far_away ul li:last-child {
  padding-bottom:1.28vw;
}
.go_far_away ul li:last-child::after {
  content:"";
  width:3px;
  height:100%;
  background:url(../../work/interview/images/future_line_tate.png) repeat-y 0 0;
  background-size: 100% auto;
  position: absolute;
  top:0;
  left:-2px;
  z-index: 1;
}
.go_far_away ul li h3 {
  font-size: 3.58vw;
  position: relative;
}
.go_far_away ul li h3 .wh {
  display: inline-block;
  padding:0 2.66vw;
  background:#fff;
  position: relative;
  z-index: 2;
}
.go_far_away ul li h3::before {
  content:"";
  width:50%;
  height:3px;
  display: block;
  background:url(../../work/interview/images/future_line_yoko.png) repeat-x 0 0;
  background-size: auto 100%;
  position: absolute;
  top:50%;
  left:-5.12vw;
  transform: translateY(-50%);
  z-index:0;
}
.go_far_away ul li p {
  font-size: 3.33vw;
  margin:5.12vw 0 0;
}

.interview_content {
  margin:18.58vw 0 0;
}
.interview_content .image {
  margin: 0 0 14.1vw;
}
.interview_content .text {
  width:auto;
  margin:12.82vw auto 0;
  padding:0 6.41vw;
}
.interview_content .text h2 {
  font-size: 6.41vw;
}
.interview_content .text h3 {
  font-size: 3.58vw;
  margin: 7.05vw 0 0;
}
.interview_content .text p {
  font-size: 3.33vw;
  letter-spacing: .06em;
  margin: 7.05vw 0 0;
}
.interview_content .text ul.schedule {
  padding:0 0 1.28vw 1.92vw;
  margin:7.69vw 0 0;
  border-left:solid 1px #ccc;
}
.interview_content .text ul.schedule li {
  font-size:3.33vw;
  padding:0 0 0 16.66vw;
  margin:4.48vw 0 0;
}
.interview_content .text ul.schedule.longtime li {
  padding:0 0 0 25.64vw;
}
.interview_content.interview_last .image {
  margin-bottom:0;
}

/* Closs talk */
.closstalk_kv {
  margin:0;
  padding:0 0 22.43vw;
  border-bottom:solid 1px #ccc;
}
.closstalk_kv .title {
  position:static;
  top:0;
  left:0;
  transform:none !important;
}
.closstalk_kv .title h1 {
  font-size:3.33vw;
  position: absolute;
  top:24.35vw;
  left:50%;
  transform: translateX(-50%);
}
.closstalk_kv .title h2 {
  font-size:4.35vw;
  margin:0;
  position: absolute;
  top:31.41vw;
  left:50%;
  transform: translateX(-50%);
}
.closstalk_kv .title h2 img {
  width:38.46vw;
}
.closstalk_kv .title h3 {
  font-size:3.33vw;
  letter-spacing:.06em;
  text-align: center;
  margin:0;
  width:100%;
  position: absolute;
  top:41.66vw;
  left:50%;
  transform: translateX(-50%);
}
.closstalk_kv .title p {
  color:#000;
  font-size:3.33vw;
  text-align: left;
  margin:12.82vw 6.41vw 17.94vw;
}
.closstalk_kv .title p .ibk {
  text-align: left;
}
.closstalk_txt {
  position: relative;
  margin:7.69vw 6.41vw 0;
  padding:0 0 0 5.12vw;
  border-left:solid 1px #ccc;
}
.closstalk_txt h4 {
  color:#000;
  font-size:4.1vw;
}
.closstalk_txt h4 .sp {
  font-size:3.33vw;
  font-weight:400;
  display: inline-block !important;
  position: relative;
  top:-.1em;
  padding:0 0 0 .5em;
}
.closstalk_txt h5 {
  color:#000;
  font-size:3.33vw;
  line-height:2;
  margin:.64vw 0 0;
}
.closstalk_txt p {
  color:#000;
  font-size:3.33vw;
  margin:5.12vw 0 0;
}
#closstalk01 .interviewer1,
#closstalk01 .interviewer2,
#closstalk01 .interviewer3,
#closstalk02 .interviewer1,
#closstalk02 .interviewer2,
#closstalk03 .interviewer1,
#closstalk03 .interviewer2 {
  width:auto;
  bottom:0;
  left:0;
  right:0;
  transform:none;
}

.interview_con {
  margin:20.51vw 0 0;
}
.interview_con .inner {
  padding:0 6.41vw;
}
.interview_con .title h2 {
  font-size:3.33vw;
  letter-spacing:.06em;
}
.interview_con .title h3 {
  font-size:4.61vw;
  letter-spacing:.16em;
  margin:6.41vw 0 0;
}
.comments_sec {
  max-width:none;
  margin:15.38vw auto 0;
}
.comments_sec h4 {
  font-size:3.58vw;
  line-height:1.85;
  margin:0 auto 14.1vw;
  padding:5.76vw 7.69vw;
}
.comments_sec h4 .hd img {
  width:3.52vw;
}
.comments_sec h4::before,
.comments_sec h4::after {
  width:12.3vw;
  height:5.12vw;
}
.comments_sec .comments_list {
  margin:12.82vw 0 0;
}
.comments_sec .comments_list .image {
  width:15.83vw;
}
.comments_sec .comments_list .image h5 {
  font-size:3.33vw;
  margin:1.92vw 0 0;
}
.comments_sec .comments_list.img_l {
  padding:0 0 0 19.23vw;
}
.comments_sec .comments_list.img_r {
  padding:0 19.23vw 0 0;
  justify-content:flex-start;
}
.comments_sec .comments_list .text p {
  font-size:3.33vw;
}
.talk_img {
  margin:17.94vw 0;
}
.talk_img .inner {
  width:auto;
}


/* Jpbs page */
.value_chain {
  padding:21.79vw 6.41vw 24.35vw;
}
.value_chain .title,
.jobs .title,
.sale .title,
.create .title,
.corporate .title {
  margin:0 0 12.17vw;
}
.value_chain .title h2,
.jobs .title h2 {
  font-size: 5.38vw;
}
.sale .title h2,
.create .title h2,
.corporate .title h2 {
  font-size: 4.87vw;
}
.value_chain .title h3,
.jobs .title h3,
.sale .title h3,
.create .title h3,
.corporate .title h3 {
  font-size: 3.33vw;
  margin: 3.84vw 0 0;
}
.value_chain .title p,
.jobs .title p {
  font-size: 3.33vw;
  margin: 11.53vw 0 0;
}
.value_chain ul,
ul.job_detail {
  max-width:none;
  display: block;
}
.value_chain ul li,
.value_chain ul li:nth-child(2) {
  width:auto;
  padding:7.69vw 5.12vw 8.33vw;
  margin:6.41vw 0 0;
}
.value_chain ul li:nth-child(1) {
  margin:0;
}
.value_chain ul li h3 {
  font-size: 4.61vw;
  letter-spacing: .08em;
  margin: 0 0 3.84vw;
}
.value_chain ul li h3 .sml {
  font-size: 3.33vw;
}
.value_chain ul li p {
  font-size: 3.33vw;
  margin:5.12vw 0 0;
}

.jobs {
  padding:25.64vw 6.41vw 19.23vw;
}
.jobs .title p {
  max-width:none;
}
.jobs ul {
  display: block;
}
.jobs ul li {
  width:39.48vw;
  margin:0 auto;
}
.jobs ul li + li {
  margin-top:5.12vw;
}
.jobs ul li a {
  font-size: 3.58vw;
  letter-spacing: .08em;
  height:9.5vw;
  padding-bottom:.2em;
}
.sale .image,
.create .image,
.corporate .image {
  margin:0 0 16.66vw;
}
.sale,
.create,
.corporate {
  padding:0 0 19.23vw;
}
ul.job_detail {
  padding:0 6.41vw;
  box-sizing: border-box;
}
ul.job_detail li {
  width:auto;
  padding:8.97vw 5.12vw;
  margin:6.41vw 0 0 !important;
}
.sale ul.job_detail li {
  padding-top:8.97vw;
}
ul.job_detail li:nth-child(1) {
  margin:0 !important;
}
ul.job_detail li h4 {
  font-size:4.1vw;
  margin:0 0 6.41vw;
}
ul.job_detail li p {
  font-size:3.33vw;
}
ul.job_detail li::before,
ul.job_detail li::after,
.sale ul.job_detail li:nth-child(7)::before,
.sale ul.job_detail li:nth-child(7)::after {
  background-image:url(../../work/jobs/images/waku.png);
}
.create ul.job_detail li:nth-child(4),
.create ul.job_detail li:nth-child(5),
.corporate ul.job_detail li:nth-child(4),
.corporate ul.job_detail li:nth-child(5),
.sale ul.job_detail li:nth-child(7) {
  width:auto;
}
.sale ul.job_detail li h4 {
  height:auto;
  text-align: center;
  display: block;
}
.sale ul.job_detail li h4 .sml {
  font-size: 3.58vw;
}
.sale ul.job_detail li:nth-child(7) h4 {
  height:auto;
}
.sale ul.job_detail li:nth-child(7) p {
  max-width:none;
}

/* Education */
.career,
.training {
  padding:19.23vw 6.41vw 24.35vw;
}
.award {
  padding:19.23vw 6.41vw 6.41vw;
}
.career .title {
  margin:0 0 15.38vw;
}
.training .title,
.award .title {
  margin:0 0 19.23vw;
}
.career .title h2,
.training .title h2,
.award .title h2 {
  font-size: 5.38vw;
  letter-spacing: .12em;
}
.career .title h3,
.training .title h3,
.award .title h3 {
  font-size: 3.33vw;
  letter-spacing: .06em;
  margin: 3.84vw 0 0;
}
.career .title p,
.training .title p,
.award .title p {
  font-size: 3.33vw;
  text-align: left;
  max-width:none;
  margin: 11.53vw auto 0;
}
.career_step {
  width:87.179vw;
}
.career_step .image img {
  width:87.179vw;
  height:215.64vw;
}
.career_step h4 {
  font-size:4.1vw;
  top:14.74vw;
}
.step_sale {
  width:76.92vw;
  top:40.25vw;
  left:10.25vw;
}
.step_creative {
  width:76.92vw;
  top:104.35vw;
  left:10.25vw;
}
.step_corporate {
  width:76.92vw;
  top:161.28vw;
  right:auto;
  left:10.25vw;
}
.career h5 {
  font-size:3.33vw;
  letter-spacing:.06em;
  padding:7.05vw 0 0;
}
.career h5 .lora {
  font-size:4.35vw;
}
.career ul {
  margin:7.69vw auto 0;
}
.career ul li {
  font-size:3.33vw;
  line-height:1;
  margin:3.84vw 0 0;
}
.career ul li .dots {
  font-size:3.33vw;
  line-height:1;
  margin-left:3.46vw;
}
.career ul li::before,
.career ul li .dots::before {
  width:1.28vw;
  height:1.28vw;
  top:.34em;
}
.career .step_creative ul,
.career .step_corporate ul {
  width:100%;
  display: flex;
  flex-wrap: wrap;
  padding-left:8vw;
  box-sizing: border-box;
}
.career .step_creative ul li {
  width:23.07vw;
  margin-left:1em;
}
.career .step_corporate ul li {
  width:26.92vw;
  margin-left:1em;
}
.career .button {
  width:62.43vw;
  height:17.7vw;
  margin:25.64vw auto 0;
}
.career .button a {
  font-size:4.1vw;
  height:17.7vw;
  padding:3.84vw 6.41vw 0 0;
}
.career .button a::after {
  width:2.94vw;
  height:3.84vw;
  right:5.76vw;
}
.career .button a .mini {
  font-size:3.33vw;
  margin:1.28vw 0 0;
}
ul.icon_list {
  width:100%;
  max-width:none;
  display: block;
}
ul.icon_list li {
  width:auto;
  padding:38.46vw 5.12vw 6.41vw;
  margin:2.56vw 0 0;
}
.award ul.icon_list li:nth-child(4),
.award ul.icon_list li:nth-child(5) {
  width:auto;
  padding-top:41.02vw;
}
ul.icon_list li:nth-child(1) {
  margin-top:0;
}
ul.icon_list li:nth-child(2),
ul.icon_list li:nth-child(3) {
  margin-top:2.56vw;
}
ul.icon_list li h4 {
  font-size: 4.1vw;
  top:27.56vw;
  left:0;
}
ul.icon_list li h4 .sml {
  font-size:3.58vw;
  margin:5px 0 0;
}
ul.icon_list li p {
  font-size: 3.33vw;
}
ul.icon_list li:nth-child(1) .icon {
  width:10vw;
  top:7.05vw;
}
ul.icon_list li:nth-child(2) .icon {
  width:31.53vw;
  top:6.79vw;
}
ul.icon_list li:nth-child(3) .icon {
  width:12.87vw;
  top:6.79vw;
}
ul.icon_list li:nth-child(4) .icon {
  width:13.07vw;
  top:6.41vw;
}
ul.icon_list li:nth-child(5) .icon {
  width:18.94vw;
  top:5.12vw;
}
ul.icon_list li:nth-child(6) .icon {
  width:16.78vw;
  top:6.66vw;
}

.award ul.icon_list li:nth-child(1) .icon {
  width:14.48vw;
  top:5.12vw;
}
.award ul.icon_list li:nth-child(2) .icon {
  width:19.34vw;
  top:5.64vw;
}
.award ul.icon_list li:nth-child(3) .icon {
  width:16.92vw;
  top:5.38vw;
}
.award ul.icon_list li:nth-child(4) .icon {
  width:23.14vw;
  top:5.12vw;
}
.award ul.icon_list li:nth-child(5) .icon {
  width:14.82vw;
  top:5.64vw;
}

.award ul.icon_list li:nth-child(4)::before,
.award ul.icon_list li:nth-child(4)::after,
.award ul.icon_list li:nth-child(5)::before,
.award ul.icon_list li:nth-child(5)::after {
  background-image: url(../../culture/education/images/waku.png);
}

/* Recruit */
.recruit_info {
  max-width:none;
  margin:15.38vw auto 0;
}
.recruit_info ul li {
  padding:14.1vw 0;
  display: block;
}
.recruit_info ul li h3 {
  font-size:3.33vw;
  letter-spacing:.06em;
}
.recruit_info ul li h3 .lora {
  font-size: 5.12vw;
  display: block;
  margin:0 0 3.2vw;
}
.recruit_info ul li .button {
  right:0;
}
.recruit_info ul li .button a {
  font-size:3.33vw;
  width:39.41vw;
  height:10.11vw;
}
.recruit_info ul li .button a .lora {
  font-size:3.84vw;
}
.recruit_info ul li .boxarea {
  margin:6.41vw 0 0;
  padding-left:0;
}
.recruit_info ul li .boxarea .box {
  min-height:9.48vw;
}
.recruit_info ul li .boxarea .box .button {
  right:0;
}
.recruit_info ul li .boxarea .box + .box {
  margin-top:6.41vw;
}
.recruit_info ul li .boxarea .box h4 {
  font-size:12px;
  line-height:1.66;
  padding-left:1em;
  position: relative;
}
.recruit_info ul li .boxarea .box h4::before {
  width:1.28vw;
  height:1.28vw;
  top:.74em;
}

.process {
  padding:20.51vw 0;
}
.process .title {
  margin:0 0 16.66vw;
}
.process .title h2 {
  font-size: 5.38vw;
  letter-spacing: .12em;
}
.process .title h3 {
  font-size: 3.33vw;
  letter-spacing: .06em;
  margin: 3.84vw 0 0;
}
.process_flow {
  width:74.35vw;
  max-width:none;
  margin:16.66vw auto 0;
}
.process_flow h4 {
  font-size: 3.33vw;
  margin:0 0 5.12vw;
}
.process_flow h4 .lora {
  font-size: 4.35vw;
}
.process_flow .image h5 {
  font-size:4.1vw;
  text-align: center;
  letter-spacing:.18vw;
  left:50% !important;
  transform: translateX(-50%);
}
.process_flow p {
  font-size:3.07vw;
  white-space: nowrap;
  margin:4.48vw 0 0;
}
.process_flow.freshers .image .flow1 {
  top:5.41vw;
}
.process_flow.freshers .image .flow2 {
  top:31.69vw;
}
.process_flow.freshers .image .flow3 {
  top:50.92vw;
}
.process_flow.freshers .image .flow4 {
  top:75.92vw;
}
.process_flow.careers .image .flow1 {
  top:8.23vw;
}
.process_flow.careers .image .flow2 {
  top:28.74vw;
}
.process_flow.careers .image .flow3 {
  top:52.84vw;
}

/* Corp Profile */
.profile_con {
  padding-left:6.41vw;
  padding-right:6.41vw;
}
.profile_info {
  margin:19.23vw 0 0;
}
.profile_info ul {
  width:100%;
}
.profile_info ul li {
  margin:5.12vw 0 0;
}
.profile_info ul li:nth-child(1) {
  margin:0;
}
.profile_info ul li h3,
.profile_info ul li p {
  font-size:3.33vw;
}
.profile_info ul li h3 {
  line-height:1.3;
  width:23.07vw;
  min-width:23.07vw;
  margin:0 10.25vw 0 0;
}
.profile_info ul li p {
  line-height:1.3;
  margin:0;
}
.corp_philosophy,
.management_policy {
  padding:19.23vw 0 25.64vw;
}
.corp_philosophy .title {
  margin:0 0 12.82vw;
}
.management_policy .title {
  margin:0 0 15.38vw;
}
.corp_philosophy .title h2,
.management_policy .title h2 {
  font-size: 5.38vw;
  letter-spacing: .12em;
}
.corp_philosophy .title h3,
.management_policy .title h3 {
  font-size: 3.33vw;
  margin: 3.84vw 0 0;
}
.corp_philosophy ul {
  width:auto;
  margin:0 6.41vw;
}
.corp_philosophy ul li {
  font-size:3.33vw;
  letter-spacing:0;
  padding:3.2vw 0;
}
.management_policy ul {
  width:66.92vw;
  margin:0 auto;
  display: block;
  border-top:solid 1px #ccc;
}
.management_policy ul li {
  width:auto;
  height:auto;
  display:block;
  padding:8.97vw 0;
  border-right:0 !important;
  margin:0 !important;
  border-bottom:solid 1px #ccc;
}
.management_policy ul li:nth-child(3)::before,
.management_policy ul li:nth-child(4)::before {
  display:none;
}
.management_policy ul li .text {
  padding:0 1.92vw !important;
}
.management_policy ul li h4 {
  font-size:4.1vw;
  text-align:center;
}
.management_policy ul li p {
  font-size:3.33vw;
  margin:6.41vw 0 0;
}
.management_policy ul li p br {
  display:none;
}

/* Benefit */
.support {
  padding:17.94vw 0 25.64vw;
}
.support .title {
  margin:0 0 14.1vw;
}
.support .title .image {
  width:37.17vw;
  margin:0 auto 5.64vw;
}
.support .title h2 {
  font-size: 4.35vw;
  letter-spacing: .12em;
}
.support .title h3 {
  font-size: 3.33vw;
  letter-spacing: .06em;
  margin: 3.84vw 0 0;
}
.support_sec {
  margin:17.94vw auto 0;
  padding:19.23vw 0 0;
}
.support_sec .text {
  max-width:none;
  padding:0 6.41vw;
  margin:7.69vw auto 0;
}
.support_sec h4 {
  font-size:4.1vw;
  letter-spacing:.08em;
}
.support_sec h4 .sub {
  font-size:3.58vw;
}
.support_sec p {
  font-size:3.33vw;
  margin:5.12vw 0 0;
}

.voice {
  padding:0;
}
.voice .title {
  margin:17.94vw 0;
}
.voice .title h2 {
  font-size: 5.38vw;
  letter-spacing: .12em;
}
.voice .title h3 {
  font-size: 3.33vw;
  letter-spacing: .06em;
  margin: 3.84vw 0 0;
}
.voice ul.voice_icon_box {
  margin:0 0 18.58vw;
}
.voice ul.voice_icon_box li {
  padding:8.97vw 0 9.61vw;
  display: block;
}
.voice ul.voice_icon_box li .icon {
  width:100%;
  margin:0 0 2.56vw;
}
.voice ul.voice_icon_box li:nth-child(1) .icon img {
  width:11.53vw;
}
.voice ul.voice_icon_box li:nth-child(2) .icon img {
  width:10.25vw;
}
.voice ul.voice_icon_box li:nth-child(3) .icon img,
.voice ul.voice_icon_box li:nth-child(4) .icon img {
  width:9.23vw;
}
.voice ul.voice_icon_box li .text {
  width:auto;
  padding:0 6.41vw;
  min-width:inherit;
  box-sizing: border-box;
}
.voice ul.voice_icon_box li .text h4 {
  font-size:3.33vw;
}
.voice ul.voice_icon_box li .text p {
  font-size:3.33vw;
  letter-spacing:.06em;
  padding:0;
  margin:5.12vw 0 0;
}

}


@media (hover: hover) {
header h2 a:hover,
.recruit_info ul li .button a:hover,
.top_interview .button a:hover,
.top_sec .button a:hover {
  opacity:.5;
}
.career .button a:hover,
.jobs ul li a:hover,
.talk_list ul li .text .button a:hover,
.culture_sec .text .button a:hover,
.interview_top ul li a:hover {
  opacity:.7;
}
.interview_top ul li a:hover .image img {
  transform: scale(1.1);
}
.errorpage p a:hover,
.profile_info ul li p a:hover {
  text-decoration: none;
}
#gnavi ul li a:hover {
  text-decoration:underline;
}

}

@media print {
.fadein, .fadein1, .fadein2, .fadein3 {
  opacity: 1 !important;
  visibility: visible !important;
  transform:translate(0, 0) !important;
}

}
