@charset "UTF-8";/* CSS Document *//**** common_pc.css*/@media only print, only screen and (min-width: 1000px){.sp,.tab,.tab_sp{	display:none;}.pc,.pc_tab,.pcw_pc{	display:block;}@keyframes shake {  0%   { transform: translate(0px, 0px) rotate(0deg); }  20%  { transform: translate(-1px, 1px) rotate(-1deg); }  40%  { transform: translate(-1px, -1px) rotate(1deg); }  60%  { transform: translate(1px, 1px) rotate(0deg); }  80%  { transform: translate(1px, -1px) rotate(1deg); }  100% { transform: translate(0px, 0px) rotate(0deg); }}.hover{  display: inline-block;}.hover:hover{	animation: shake 0.4s ease-in-out infinite;}.hyphen{  position: relative;  top: -0.1vw;}a{  color: #4e815a;	transition-duration: 0.5s;}.btn{  padding: 4px 25px;  color: #4e815a;  border: 1px solid #4e815a;  display: inline-block;  border-radius: 9999px;  text-align: center;}.btn:hover{  color: #fff;  background: #4e815a;}.jp{  font-family: 'NeueHaasGroteskText W01', a-otf-gothic-bbb-pr6n, sans-serif;  font-feature-settings: "palt" 1;}.strip span {  color: #ffebdf;  display: inline-block;  transition: transform 1.6s cubic-bezier(0.65, 0.02, 0.23, 1);  transform: translate(20%, 100%);  position: relative;  z-index: 1;}.strip span:before {  content: "";  position: absolute;  z-index: 1;  bottom: 0;  left: 0;  width: 100%;  height: 100%;  transform: translateY(-40%);  transition: transform 1.6s cubic-bezier(0.65, 0.02, 0.23, 1);}.strip span.row {  overflow: hidden;  line-height: 1.3;  display: block;  transform: none;}.strip span.row:before {  display: none;}.strip .animate {  transform: translate(0, 0);}.strip .animate:before {  transform: translateY(100%);}.leadLine {  opacity: 0;  transform: translateY(20px);  transition: opacity 0.8s ease, transform 0.8s ease;}.leadLine.visible {  opacity: 1;  transform: translateY(0);}/**** layout*//* header */#header{  width: 100%;  height: 70px;  position: fixed;  top: 0;  z-index: 3333;}#header path{  fill: #ffebdf;}#header #logo path{  fill: #4e815a;}#header.active #logo path{  fill: #ffebdf;}#logo{  width: 80px;  margin: 0 auto;  padding-top: 20px;  position: relative;  z-index: 1112;}#btnRes{  position: absolute;  top: 18px;  right: 30px;  font-size: 13px;}/* btnMenu */#btnMenu{  position:absolute;  top:0;  left:0;  z-index:3333;  padding: 20px 20px;}#btnMenuInner{  position:relative;  display:block;  width: 36px;  height: 24px;  overflow:hidden;}.bars{  position:absolute;  top:0;  left:0;  width:100%;  height:100%;}.bars::before,.bars::after{  content:"";  position:absolute;  left:2px;  top:50%;  width:32px;  height:1px;  background:#4e815a;  opacity:0;  transform-origin:center;  transition:transform 0.35s ease, opacity 0.2s ease;}.bars.active::before,.bars.active::after{  background: #ffebdf;}.bars::before{  transform:translateY(-50%) rotate(0deg);}.bars::after{  transform:translateY(-50%) rotate(0deg);}.barsTrack{  position:absolute;  top:0;  left:0;  width: 120px;  height: 100%;  animation:slideBars 2.4s linear infinite;  animation-play-state:running;  opacity:1;  transition:opacity 0.2s ease;}.seg{  position:absolute;  width:32px;  height:1px;  background:#4e815a;}.seg1a{  top:3px;  left:28px;}.seg2a{  top:11px;  left:14px;}.seg3a{  bottom:3px;  left:0;}.seg1b{  top:3px;  left:88px;}.seg2b{  top:11px;  left:74px;}.seg3b{  bottom:3px;  left:60px;}.bars.active .barsTrack{  opacity:0;  animation-play-state:paused;}.bars.active::before{  opacity:1;  transform:translateY(-50%) rotate(45deg);}.bars.active::after{  opacity:1;  transform:translateY(-50%) rotate(-45deg);}@keyframes slideBars{  0%{    transform:translateX(0);  }  100%{    transform:translateX(-60px);  }}#closeOverlay{	width:100%;	height:100%;	position:fixed;	top:0;  left:0;  z-index:111;  display: none;  -webkit-tap-highlight-color:rgba(0,0,0,0);}#closeOverlay.active{  display: block;}#nav{  width: 100%;  height: 100vh;  overflow-y: scroll;  position: fixed;  top: 0;  left: 0;  z-index: 1111;  color: #ffebdf;  background: #70969f;  text-align: center;  opacity: 0;  visibility: hidden;  transition-duration: 0.5s; }#nav.active{  opacity: 1;  visibility: visible;  transition-duration: 0.5s;}#nav::-webkit-scrollbar {  display: none;}#navInner{  pointer-events: none;}#nav a{  color: #ffebdf;  display: inline-block;  pointer-events: auto;}#nav .span{  -webkit-text-stroke: 0.6px #ffebdf;  text-stroke: 0.6px #ffebdf;}#navInner{  padding: 180px 0 100px;}#navInnerMain{  margin-bottom: 100px;}#navInnerMain li{  margin-bottom: 40px;}#navInnerMain li:last-child{  margin-bottom: 0;}#navInnerMain h3{  margin-bottom: 10px;  font-size: 2.93vw;}#navInnerMain h4{  font-size: 1.32vw;}#navInnerSub{  margin-bottom: 180px;}#navInnerSub li{  margin-bottom: 40px;}#navInnerSub h3{  margin-bottom: 15px;  font-size: 2.42vw;}#navIconGm{  width: 27px;  margin: 0 auto;}#navIconIg{  width: 26px;  margin: 0 auto;}#navIconYt{  width: 33px;  margin: 0 auto;}#navInnerInfo h3{  margin-bottom: 20px;  font-size: 2.27vw;}#navInnerInfo h4{  font-size: 1.80vw;}#whats #navDP h3,#whats #navDP h4,#process #navCP h3,#process #navCP h4{  position: relative;}#whats #navDP h4,#process #navCP h4{  display: inline-block;}#whats #navDP h3::after,#whats #navDP h4::after,#process #navCP h3::after,#process #navCP h4::after{  content: '';  width: 100%;  height: 1px;  background: #ffebdf;  position: absolute;  bottom: 0;  left: 0;}#navInnerInfo .pc{  display: inline-block;  padding: 0 20px;}#navInnerInfo p{  display: inline-block;}.btnEmail{  cursor: pointer;}#nav a{  transition-duration: 0.8s;}#nav a:hover{  opacity: 0.3;  transition-duration: 0.8s;}#whats #nav li#navDP:hover a,#process #nav li#navCP:hover a{  opacity: 1;}/* #main */#main{  padding: 70px 0 300px;}.title{  margin-bottom: 100px;  font-size: 60px;  text-align: center;}.subTtl{  margin-bottom: 120px;  font-size: 3.95vw;  text-align: center;}.second #mainVisual{  width: 100%;  height: calc(100vh - 70px);  position: relative;  display: block;}#whats #mainVisualInner{  width: 51.4vw;  position: relative;  top: calc(50% - 40px);  left: 50%;  transform: translate(-50%, -50%);}#mainVisualInnerTxt{  width: 37.11vw;  white-space: nowrap;  position: relative;  z-index: 111;}#mainVisualInnerTxt h2{  margin-bottom: 30px;  font-size: 4.39vw;}#mainVisualInnerTxt h3{  margin-bottom: 30px;  font-size: 2.05vw;}#mainVisualInnerTxt h4{  font-size: 1.17vw;  line-height: 1.44;}#mainVisualInnerImg{  opacity: 0;  visibility: hidden;  margin-top: 20px;	transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}#mainVisualInnerImg.active{  opacity: 1;  visibility: visible;  margin-top: 0;	transition: all 800ms cubic-bezier(0.230, 1.000, 0.320, 1.000);}#whats #mainVisualInnerImg{  width: 17.56vw;  position: absolute;  top: 50%;  transform: translateY(-50%);  right: 0;}#whats #mainVisualInnerImg img{  border-radius: 9999px;}#process #mainVisualInner{  width: 46.12vw;  position: relative;  top: calc(50% - 40px);  left: 50%;  transform: translate(-50%, -50%);}#process #mainVisualInnerTxt{  padding-bottom: 8vw;}#process #mainVisualInnerImg{  width: 26.50vw;  position: absolute;  top: 50%;  transform: translateY(-50%);  right: 0;}#btnScroll{  padding-left: 20px;  position: absolute;  bottom: 30px;  left: 20px;  font-size: 18px;}#btnScroll::after{  content: '';  width: 5px;  height: 13px;  position: absolute;  top: 1px;  left: 0;  background: url("../img/icon_arrrow.svg") center no-repeat;  background-size: 5px 13px;}/* line */#sGLine{  width: 1px;  height: 60px;  overflow: hidden;  position: absolute;  bottom: -30px;  left: 50%;}#sGLine.hide{  opacity: 0;  visibility: hidden;  transition-duration: 0.3s;}#sGLine:before{  content: "";  position: absolute;  left: 0;  top: 0;  width: 100%;  height: 100%;  background: #4e815a;  transform: translateY(0) scaleY(0);  transform-origin: top;  will-change: transform;}#sGLine.isActive:before{  animation: sGLineLoop 2.2s cubic-bezier(0.65, 0.02, 0.23, 1) infinite;}@keyframes sGLineLoop{  0%{    transform-origin: top;    transform: translateY(0) scaleY(0);  }  45%{    transform-origin: top;    transform: translateY(0) scaleY(1);  }  55%{    transform-origin: top;    transform: translateY(0) scaleY(1);  }  100%{    transform-origin: top;    transform: translateY(240px) scaleY(0);  }}#mainContents{  padding-top: 200px;}#lead{  margin-bottom: 200px;  padding: 0;  font-size: 1.46vw;  line-height: 2.30;  text-align: center;}#interview{  margin-bottom: 100px;}#article dl{  width: 500px;  margin: 0 auto 50px;  font-size: 16px;  line-height: 2;}#article dt{  margin-bottom: 10px;}#interViewImg{  width: 600px;  margin: 90px auto;}#devide{  margin-bottom: 100px;  font-size: 20px;  text-align: center;}#profile{  width: 500px;  margin: 0 auto;}#profile h5{  margin-bottom: 25px;  font-size: 15px;}#profile h6{  font-size: 11px;  line-height: 2;}#profile h6 .pc{  display: inline;}/* footer */#footer{  padding-top: 230px;  background: #4e825a;  position: relative;  z-index: 1111;}#footer .span{  -webkit-text-stroke: 0.6px #ffebdf;  text-stroke: 0.6px #ffebdf;}#footerLead{  width: 100%;  position: absolute;  top: -60px;  font-size: 26px;  text-align: center;}#footer .strip .animate{  color: #4e825a;}#footerLead.span{  -webkit-text-stroke: 0.6px #4e825a;  text-stroke: 0.6px #4e825a;}#footerTxt{  width: 774px;  margin: 0 auto 190px;  font-size: 22px;  line-height: 1.429;  text-align: center;  color: #ffebdf;}#footerTxt h3{  margin-bottom: 10px;  font-size: 28px;}#footerTxt a{  color: #ffebdf;}#footerOpen{  margin-bottom: 0;  float: left;}#footerInfo{  float: right;}#copy{  padding-bottom: 60px;  color: #ffebdf;  font-size: 16px;  text-align: center;}}