@charset "UTF-8";/* CSS Document *//**** common_sp.css*/@media only print, only screen and (min-width: 18.75em){	.tab,.pc,.pc_tab{	display:none;}.sp{	display:block;}.hover:hover{	opacity:1;	filter:alpha(opacity=100);}.hyphen{  position: relative;  top: -0.5vw;}a{  color: #4e815a;  transition-duration: 0.5s;}.btn{  padding: 4px 16px;  color: #4e815a;  border: 1px solid #4e815a;  display: inline-block;  border-radius: 9999px;  text-align: center;}.jp{  font-family: 'Neue Haas Grotesk Disp W01_55Rm', 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: 48px;  position: fixed;  top: 0;  z-index: 3333;}#header path{  fill: #ffebdf;}#header #logo path{  fill: #4e815a;}#header.active #logo path{  fill: #ffebdf;}#logo{  width: 60px;  margin: 0 auto;  padding-top: 14px;  position: relative;  z-index: 1112;}#btnRes{  position: absolute;  top: 13px;  right: 15px;  font-size: 10px;}/* 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 ul li{  opacity: 0;  transform: translateY(10px);  transition: opacity 0.45s ease, transform 0.45s ease;}#nav ul li.active{  opacity: 1;  transform: translateY(0);}#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: 7.47vw;}#navInnerMain h4{  font-size: 3.47vw;}#navInnerSub{  margin-bottom: 180px;}#navInnerSub li{  margin-bottom: 40px;}#navInnerSub h3{  margin-bottom: 15px;  font-size: 6.67vw;}#navIconGm{  width: 20px;  margin: 0 auto;}#navIconIg{  width: 20px;  margin: 0 auto;}#navIconYt{  width: 25px;  margin: 0 auto;}#navInnerInfo h3{  margin-bottom: 20px;  font-size: 4.80vw;}#navInnerInfo h4{  font-size: 4vw;  line-height: 1.6;}#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;}/* #main */#main{  padding: 70px 0 220px;}.title{  margin-bottom: 100px;  font-size: 60px;  text-align: center;}.subTtl{  margin-bottom: 120px;  font-size: 36px;  text-align: center;}.second #mainVisual{  width: 100%;  height: 100%;  position: relative;  display: block;}#mainVisualInnerTxt{  width: 37.11vw;  padding-bottom: 120px;  white-space: nowrap;  position: relative;  z-index: 111;}#mainVisualInnerTxt h2{  margin-bottom: 30px;  font-size: 9.60vw;}#mainVisualInnerTxt h3{  margin-bottom: 30px;  font-size: 4.53vw;}#mainVisualInnerTxt h4{  font-size: 11px;  line-height: 1.44;}#whats #mainVisualInner{  width: 82.13vw;  position: relative;  top: calc(50% - 40px);  left: 50%;  transform: translate(-50%, -50%);}#whats #mainVisualInnerImg{  width: 45.33vw;  position: absolute;  top: 50%;  transform: translateY(-50%);  right: 0;}#whats #mainVisualInnerImg img{  border-radius: 9999px;}#process #mainVisualInner{  width: 80.53vw;  position: relative;  top: calc(50% - 40px);  left: 50%;  transform: translate(-50%, -50%);}#process #mainVisualInnerTxt{  padding-bottom: 160px;}#process #mainVisualInnerImg{  width: 65.33vw;  position: absolute;  top: 50%;  transform: translateY(-50%);  right: 0;}#btnScroll{  padding-left: 20px;  position: absolute;  bottom: 30px;  left: 20px;  font-size: 13px;}#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;}#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: 120px;  padding: 0 17px;  font-size: 17px;  line-height: 2.30;  text-align: left;}#interview{  margin-bottom: 100px;}#article dl{  width: calc(100% - 34px);  margin: 0 auto 50px;  font-size: 14px;  line-height: 2;}#article dt{  margin-bottom: 10px;}#interViewImg{  width: 100%;  margin: 80px auto;}#devide{  margin-bottom: 100px;  font-size: 20px;  text-align: center;}#profile{  width: calc(100% - 34px);  margin: 0 auto;}#profile h5{  margin-bottom: 25px;  font-size: 15px;}#profile h6{  font-size: 11px;  line-height: 2;}/* footer */#footer{  padding-top: 130px;  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: -80px;  font-size: 22px;  line-height: 1.36;  text-align: center;}#footer .strip .animate{  color: #4e825a;}#footerLead.span{  -webkit-text-stroke: 0.6px #4e825a;  text-stroke: 0.6px #4e825a;}#footerTxt{  width: auto;  margin: 0 auto 130px;  font-size: 18px;  line-height: 1.429;  text-align: center;  color: #ffebdf;}#footerTxt h3{  margin-bottom: 10px;  font-size: 24px;}#footerTxt a{  color: #ffebdf;}#footerOpen{  margin-bottom: 60px;  float: none;}#footerInfo{  float: none;}#copy{  padding-bottom: 50px;  color: #ffebdf;  font-size: 12px;  text-align: center;}}