html {
	font-size: 14px;
	width: 100%;
}

body {
	background: #fff;
	color: #0044FF;
	font-family: "Work Sans", "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", Meiryo, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.75;
	position: relative;
	width: 100%;
}

main {
	overflow: hidden;
	position: relative;
}

*,
*:before,
*:after {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	box-sizing: border-box;
	scroll-behavior: unset;
}

a {
	color: inherit;
	text-decoration: none;
}

a:focus {
	outline: none;
}

button {
	cursor: pointer;
}

dt,
em,
address {
	font-style: normal;
	font-weight: normal;
}

.dn {
	display: none;
}

img {
	-o-object-fit: contain;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd {
	margin: 0;
	padding: 0;
}

::-moz-selection {
	background: #ccc;
	color: #fff;
}

::selection {
	background: #ccc;
	color: #fff;
}

/* for Firefox */

::-moz-selection {
	background: #ccc;
	color: #fff;
}

.is-pc {
	display: block;
}

.is-tb {
	display: none;
}

.is-sp {
	display: none;
}

.c-heading {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 39px;
}

.c-catch {
	display: block;
	font-size: 45px;
	font-weight: 500;
	line-height: 1.75;
	position: relative;
}

#body {
	opacity: 0;
}

.landing {
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 100;
}

.landing > div {
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.landing_numbers {
	background: #fff;
}

.landing_numbers-item {
	position: absolute;
	transform: translate(-50%, -50%);
}

.landing_numbers-item.one {
	height: auto;
	left: calc(50% - 514px);
	top: calc(50% - 33px);
	width: 140px;
}

.landing_numbers-item.nine {
	height: auto;
	left: calc(50% + 514px);
	top: calc(50% + 43px);
	width: 172px;
}

.landing_cover {
	-webkit-clip-path: inset(100% 0 0 0);
	background: #0044FF;
	clip-path: inset(100% 0 0 0);
}

.landing_cover-icon {
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-user-select: none;
	height: auto;
	left: calc(50% - 5px);
	position: absolute;
	top: calc(50% + 8px);
	transform: translate(-50%, -50%);
	user-select: none;
	width: 278px;
}

#bodyContent {
	opacity: 0;
	position: relative;
}

.header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	height: 80px;
	left: 0;
	padding-top: 33px;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 100;
}

.header_title {
	color: #000000;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.5px;
	padding-left: 54px;
}

.header_nav {
	font-size: 24px;
	letter-spacing: 0.3px;
	transition: color 0.4s ease;
}

.header_nav ul {
	display: flex;
	left: 29px;
	list-style: none;
	position: relative;
}

.header_nav ul li {
	margin-right: 60px;
}

.header .nav-open {
	display: none;
}

.mission {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0 auto;
	max-width: 1280px;
	padding-top: 250px;
}

.mission_content {
	grid-column: 2/3;
	grid-row: 1/2;
	padding: 46px 0 0 29px;
	position: relative;
}

.mission_content .c-catch {
	left: -5px;
}

.mission_content .desc {
	margin-top: 20px;
}

.mission_image {
	left: -488px;
	position: absolute;
	top: 0;
}

.mission_image .image-logo {
	left: 30px;
	margin: 0 auto;
	position: relative;
	top: 9px;
	width: 336px;
}

.values {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 316px auto 0;
	max-width: 1280px;
}

.values_content {
	grid-column: 1/2;
	grid-row: 1/2;
	padding-left: 157px;
	position: relative;
}

.values_content .c-catch {
	left: -7px;
}

.values_content .desc {
	line-height: 1.8;
	margin-top: 37px;
	position: relative;
	z-index: 1;
}

.values_content .desc .ind {
	left: -0.5em;
	position: relative;
}

.values_circle {
	position: absolute;
	right: -640px;
	top: 0;
	z-index: 0;
}

.values_circle .inner {
	height: 710px;
	position: relative;
	right: 64px;
	top: 156px;
	width: 640px;
}

.values_circle .inner .circle-items {
	align-items: center;
	display: flex;
	height: 274px;
	justify-content: center;
	position: absolute;
	width: 274px;
}

.values_circle .inner .circle-items .svg-image {
	overflow: visible;
}

.values_circle .inner .circle-items .svg-image path {
	transform-origin: center;
}

.values_circle .inner .circle-items.num-01 {
	right: -49px;
	top: -25px;
}

.values_circle .inner .circle-items.num-01 .svg-image {
	height: auto;
	width: 221px;
}

.values_circle .inner .circle-items.num-02 {
	bottom: 42px;
	right: 11px;
}

.values_circle .inner .circle-items.num-02 .svg-image {
	height: auto;
	width: 221px;
}

.values_circle .inner .circle-items.num-03 {
	bottom: 0px;
	left: 45px;
}

.values_circle .inner .circle-items.num-03 .svg-image {
	height: auto;
	width: 221px;
}

.values_circle .inner .circle-items.num-04 {
	left: -27px;
	top: 179px;
}

.values_circle .inner .circle-items.num-04 .svg-image {
	height: auto;
	width: 223px;
}

.values_circle .inner .circle-items.num-05 {
	left: 126px;
	top: 1px;
}

.values_circle .inner .circle-items.num-05 .svg-image {
	height: auto;
	width: 220px;
}

.values_circle .inner .circle-items.center {
	height: 208px;
	left: 259px;
	top: 239px;
	width: 208px;
}

.message {
	margin: 484px auto 0;
	max-width: 1280px;
	padding-bottom: 307px;
}

.message_content {
	padding-left: 441px;
	position: relative;
}

.message_content .c-catch {
	left: -9px;
}

.message_content .desc {
	line-height: 1.8;
	margin-top: 36px;
}

.message_image {
	bottom: -374px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 1026px;
}

.message_image .inner {
	height: 317px;
	position: relative;
	width: 100%;
}

.message_image .inner > div {
	position: absolute;
}

.message_image .inner .one {
	bottom: 0;
	left: 0;
	transform: translate3d(0, 0, 0);
	width: 140px;
}

.message_image .inner .one .bridge {
	-webkit-clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	background: #0044FF;
	clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	height: 111px;
	left: 139px;
	position: absolute;
	top: 0;
	width: 778px;
}

.message_image .inner .nine {
	right: -3px;
	top: 2px;
	transform: translate3d(0, 0, 0);
	width: 172px;
}

.message_image .inner .logo {
	left: calc(50% - 5px);
	opacity: 0;
	top: 19px;
	transform: translateX(-50%);
	width: 277px;
}

.whatwedo {
	margin-top: 317px;
	padding-bottom: 116px;
	padding-top: 105px;
	transition: color 0.4s ease;
	width: 100%;
}

.whatwedo_container {
	margin: 0 auto;
	padding-left: 63px;
	width: 1090px;
}

.whatwedo_list {
	list-style: none;
	margin-top: 80px;
}

.whatwedo_list-item {
	margin-bottom: 85px;
	padding-left: 117px;
	position: relative;
}

.whatwedo_list-item:last-child {
	margin-bottom: 0;
}

.whatwedo_list-item .listhead {
	content: "";
	height: 57px;
	left: 14px;
	position: absolute;
	top: 0;
	width: 57px;
}

.whatwedo_list-item.margin-large {
	margin-bottom: 90px;
}

.whatwedo_list-item h3 {
	font-size: 35px;
	font-weight: 500;
}

.whatwedo_list-item .content {
	margin-left: 137px;
	margin-top: 24px;
	width: 770px;
}

.whatwedo_list-item .content em {
	font-size: 22px;
	font-weight: 500;
}

.whatwedo_list-item .content .desc {
	letter-spacing: 0.01em;
	margin-top: 4px;
}

.whatwedo_list-item .content .work {
	border-top: 1px solid #0044FF;
	list-style: none;
	margin-top: 34px;
	padding-top: 15px;
	transition: border 0.4s ease;
}

.whatwedo_list-item .content .work.li-04 {
	margin-top: 29px;
	padding-top: 21px;
}

.whatwedo_list-item .content .work.li-05 {
	margin-top: 31px;
	padding-top: 19px;
}

.whatwedo_list-item .content .work > div {
	display: flex;
	letter-spacing: 0.01em;
}

.whatwedo_list-item .content .work > div dt {
	margin-right: 54px;
}

.whatwedo_list-item .content .work > div dt.li-02 {
	margin-right: 63px;
}

.whatwedo_list-item .content .work > div dt.li-03 {
	margin-right: 126px;
}

.whatwedo_list-item .content .work > div dt.li-04 {
	margin-right: 40px;
}

.whatwedo_list-item .content .work > div dt.li-05 {
	margin-right: 27px;
}

.company {
	padding-top: 137px;
}

.company h2 {
	position: absolute;
	visibility: hidden;
}

.company_list {
	color: #000;
	left: -5px;
	margin: 0 auto;
	position: relative;
	width: 955px;
}

.company_list > div {
	align-items: baseline;
	border-bottom: 1px solid #000;
	display: flex;
	padding: 30px 0 24px;
}

.company_list > div dt {
	flex-shrink: 1;
	padding-left: 3px;
	width: 134px;
}

.company_list > div dd {
	font-size: 18px;
	font-weight: 500;
	width: 100%;
}

.company_list > div dd .wide {
	letter-spacing: 0.05em;
}

.company_list > div dd .customer {
	list-style: none;
}

.footer {
	align-items: baseline;
	color: #000;
	display: flex;
	margin-top: 268px;
	padding-bottom: 30px;
	padding-left: 157px;
	position: relative;
}

.footer_lv19 {
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.footer_address {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.01em;
	margin-left: 112px;
}

.footer_logo {
	bottom: 44px;
	height: auto;
	position: absolute;
	right: 166px;
	width: 184px;
}

.totop {
	bottom: 60px;
	height: 70px;
	position: fixed;
	right: 68px;
	width: 70px;
	z-index: 100;
}

.totop a {
	border-radius: 50%;
	display: block;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.totop circle,
.totop line {
	fill: none;
	stroke: #04f;
	stroke-miterlimit: 10;
	stroke-width: 2px;
	transition: stroke 0.4s ease;
}

.s-op {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
}

.s-up {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	overflow: hidden;
	transform: translateY(80px);
}

.s-up-sm {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateY(40px);
}

.s-wwd-title {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	opacity: 0;
	transform: translateX(20px);
}

.whatwedo a {
	transition: opacity 0.4s ease;
}

.whatwedo a:hover {
	opacity: 0.6;
	transition: opacity 0.4s ease;
}

#nav a {
	display: inline-block;
	position: relative;
	transition: width 0.5s;
}

#nav a::after {
	background-color: #0044FF;
	bottom: 5px;
	content: "";
	height: 2px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: width 0.5s;
	width: 0;
}

#nav a:hover::after {
	width: 100%;
}

#totop a {
	transition: transform 0.4s ease;
}

#totop a:hover {
	transform: translateY(-10px);
	transition: transform 0.4s ease;
}

#body {
	background: #fff;
	transition: background 0.4s ease;
}

#body.is-wwd {
	background: #0044FF;
	color: #fff;
	transition: background 0.4s ease, color 0.4s ease;
}

#body.is-wwd .header_nav {
	color: #fff;
	transition: color 0.4s ease;
}

#body.is-wwd #nav a:after {
	background-color: #fff;
}

#body.is-wwd .whatwedo {
	color: #fff;
	transition: color 0.4s ease;
}

#body.is-wwd .whatwedo_list-item .content .work {
	border-top: 1px solid #fff;
	transition: border 0.4s ease;
}

#body.is-wwd .totop circle,
#body.is-wwd .totop line {
	stroke: #fff;
	transition: stroke 0.4s ease;
}

#totop {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
}

#totop.is-show {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.4s ease;
}

#navBtn button {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
}

#navBtn button.is-show {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.4s ease;
}

#body {
	animation: bodyShow 0.4s ease 0.4s forwards;
}

.landing_numbers-item.one {
	-webkit-animation: landingOne 4s linear 1s forwards;
	animation: landingOne 4s linear 1s forwards;
}

.landing_numbers-item.nine {
	-webkit-animation: landingNine 4s linear 1s forwards;
	animation: landingNine 4s linear 1s forwards;
}

.landing_cover {
	-webkit-animation: landingCover 2.5s ease-in-out 1.5s forwards;
	animation: landingCover 2.5s ease-in-out 1.5s forwards;
}

.landing {
	-webkit-animation: landingOut 1.5s ease-out 4s forwards;
	animation: landingOut 1.5s ease-out 4s forwards;
}

.header_nav {
	-webkit-animation: landingNav 0.4s ease 5s forwards;
	animation: landingNav 0.4s ease 5s forwards;
	opacity: 0;
}

.mission_content .is-mission {
	-webkit-animation: missionAnimation 0.8s ease 5.5s forwards;
	animation: missionAnimation 0.8s ease 5.5s forwards;
	opacity: 0;
	transform: translateY(40px);
}

.mission_content .is-catch {
	-webkit-animation: missionAnimation 0.8s ease 5.7s forwards;
	animation: missionAnimation 0.8s ease 5.7s forwards;
	opacity: 0;
	transform: translateY(40px);
}

.mission_content .is-img {
	-webkit-animation: missionAnimationImage 0.4s ease 3.6s forwards;
	animation: missionAnimationImage 0.4s ease 3.6s forwards;
	opacity: 0;
}

.mission_content .is-desc {
	-webkit-animation: missionAnimation 0.8s ease 5.9s forwards;
	animation: missionAnimation 0.8s ease 5.9s forwards;
	opacity: 0;
	transform: translateY(40px);
}

#bodyContent {
	opacity: 0;
}

#bodyContent.is-show {
	opacity: 1;
	transition: opacity 0.4s;
}

#msAnimation.is-message-animation .one {
	-webkit-animation: mesOne 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
	animation: mesOne 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
	transform: translate3d(0, 0, 0);
}

#msAnimation.is-message-animation .one .bridge {
	-webkit-animation: mesBrdg 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
	animation: mesBrdg 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
}

#msAnimation.is-message-animation .nine {
	-webkit-animation: mesNine 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
	animation: mesNine 1s cubic-bezier(0.61, 1.06, 1, 1) 0.5s forwards;
	transform: translate3d(0, 0, 0);
}

#msAnimation.is-message-animation .logo {
	-webkit-animation: mesLogo 0.5s ease 1.5s forwards;
	animation: mesLogo 0.5s ease 1.5s forwards;
	opacity: 0;
	transform: translateX(-50%) scale(0.8);
}

.is-listhead .base {
	fill: none;
	stroke: #000;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 9.2501298553px;
}

.is-listhead .mask {
	fill: none;
	stroke: #ffe200;
	stroke-miterlimit: 10;
	stroke-width: 12px;
}

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

.c-catch {
	font-size: 35px;
}

.landing_numbers {
	transform: scale(0.6);
	transform-origin: center;
}

.landing_cover-icon {
	transform: translate(-50%, -50%) scale(0.6);
	transform-origin: center;
}

.header_nav {
	font-size: 18px;
}

.header_nav ul li {
	margin-right: 45px;
}

.mission_image {
	left: -388px;
}

.mission_image .image-logo {
	transform: scale(0.7);
	transform-origin: center;
}

.values {
	grid-template-columns: 60% 1fr;
}

.values_content {
	padding-left: 100px;
}

.values_circle {
	right: -340px;
	transform: scale(0.7);
	transform-origin: right bottom;
}

.message_content {
	padding-left: 241px;
	padding-right: 50px;
}

.message_image {
	transform: translateX(-50%) scale(0.7);
	transform-origin: center;
}

.whatwedo_container {
	width: 90%;
}

.whatwedo_list-item .content {
	margin-left: 50px;
	width: 90%;
}

.whatwedo_list-item .content .work > div {
	flex-wrap: wrap;
}

.whatwedo_list-item .content .work > div dt {
	margin-right: 24px;
}

.company_list {
	width: 80%;
}

.footer {
	padding-left: 50px;
}

.footer_logo {
	right: 60px;
}

}

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

html {
	font-size: 13px;
	min-width: 375px;
	width: 100%;
}

.is-pc {
	display: none;
}

.is-tb {
	display: block;
}

.c-heading {
	font-size: 12px;
	margin-bottom: 17px;
}

.c-catch {
	font-size: 24px;
}

.landing_numbers {
	transform: none;
}

.landing_numbers-item.one {
	left: calc(50% - 126px);
	top: calc(50% - 90px);
	width: 71px;
}

.landing_numbers-item.nine {
	left: calc(50% + 90px);
	top: calc(50% + 156px);
	width: 86px;
}

.landing_cover-icon {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 139px;
}

.header {
	display: block;
	height: 100%;
	padding-left: 0;
	padding-top: 7px;
	pointer-events: none;
}

.header_title {
	font-size: 15px;
	letter-spacing: 0.3px;
	padding-left: 0;
	pointer-events: auto;
	position: relative;
	text-align: center;
	z-index: 10000;
}

.header_nav {
	background: #fff;
	bottom: 0;
	font-size: 24px;
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.4s ease;
	width: 100%;
	z-index: 1000;
}

.header_nav ul {
	flex-direction: column;
	left: calc(50% - 7px);
	position: absolute;
	top: calc(50% - 80px);
	transform: translate(-50%, -50%);
}

.header_nav ul li {
	margin-bottom: 10px;
	margin-right: 0;
}

.header .nav-open {
	border-radius: 50%;
	bottom: 13px;
	display: block;
	height: 50px;
	overflow: hidden;
	pointer-events: auto;
	position: absolute;
	right: 15px;
	width: 50px;
	z-index: 1000;
}

.header .nav-open button {
	background: none;
	background: #0044FF;
	border: none;
	border: 1px solid #0044FF;
	border-radius: 50%;
	color: #fff;
	height: 100%;
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.header .nav-open .open {
	font-size: 11px;
	font-weight: 500;
	left: 0;
	line-height: 50px;
	opacity: 1;
	position: absolute;
	text-align: center;
	top: 0;
	transition: opacity 0.4s ease;
	width: 100%;
}

.header .nav-open .close {
	display: block;
	height: 100%;
	opacity: 0;
	position: relative;
	transition: opacity 0.4s ease;
	width: 100%;
}

.header .nav-open .close img {
	display: block;
	height: 22px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 22px;
}

.mission {
	align-items: center;
	display: flex;
	height: 100vh;
	justify-content: center;
	max-width: 375px;
	min-width: 375px;
	padding-top: 0;
	width: 100%;
}

.mission_content {
	padding: 0;
	padding-left: 8%;
}

.mission_content .c-catch {
	left: -1px;
}

.mission_content .desc {
	line-height: 1.8;
	margin-top: 72px;
	min-width: 250px;
	width: 65%;
}

.mission_image {
	left: auto;
	position: relative;
}

.mission_image .image-logo {
	left: -15px;
	margin-top: 62px;
	top: auto;
	transform: none;
	width: 170px;
}

.values {
	display: block;
	margin-top: 104px;
	max-width: 375px;
	min-width: 375px;
	width: 100%;
}

.values_content {
	padding-left: 8%;
}

.values_content .c-catch {
	font-size: 22.5px;
	left: 0;
	letter-spacing: 0;
}

.values_content .desc {
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	margin-top: 101px;
	min-width: 255px;
	width: 70%;
}

.values_content .desc .ind {
	left: auto;
}

.values_circle {
	position: relative;
	right: auto;
	transform: none;
}

.values_circle .inner {
	height: 355px;
	margin-top: 28px;
	right: auto;
	top: auto;
	width: 320px;
}

.values_circle .inner .circle-items {
	height: 137px;
	width: 137px;
}

.values_circle .inner .circle-items.num-01 {
	right: -33px;
	top: -8px;
}

.values_circle .inner .circle-items.num-01 .svg-image {
	width: 120px;
}

.values_circle .inner .circle-items.num-02 {
	bottom: -2px;
	right: -1px;
}

.values_circle .inner .circle-items.num-02 .svg-image {
	width: 121px;
}

.values_circle .inner .circle-items.num-03 {
	bottom: -26px;
	left: 15px;
}

.values_circle .inner .circle-items.num-03 .svg-image {
	width: 120px;
}

.values_circle .inner .circle-items.num-04 {
	left: -24px;
	top: 104px;
}

.values_circle .inner .circle-items.num-04 .svg-image {
	width: 121px;
}

.values_circle .inner .circle-items.num-05 {
	height: auto;
	left: 68px;
	top: 15px;
	width: 120px;
}

.values_circle .inner .circle-items.num-05 .svg-image {
	width: 120px;
}

.values_circle .inner .circle-items.center {
	height: auto;
	left: 125px;
	top: 130px;
	width: 113px;
}

.message {
	margin-top: 115px;
	max-width: 375px;
	min-width: 375px;
	padding-bottom: 0;
	width: 100%;
}

.message_content {
	padding-left: 0;
	padding-left: 8%;
}

.message_content .c-catch {
	font-size: 23px;
	left: auto;
}

.message_content .desc {
	margin-top: 63px;
	min-width: 250px;
	width: 65%;
}

.message_image {
	bottom: auto;
	left: -18px;
	margin-top: 37px;
	overflow: hidden;
	position: relative;
	transform: none;
	width: 348px;
}

.message_image .inner {
	height: 376px;
	overflow: hidden;
}

.message_image .inner .one {
	bottom: 20px;
	left: 18px;
	transform: scale(1.2) translate3d(0, 0, 0);
	width: 70px;
}

.message_image .inner .one .bridge {
	-webkit-clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	height: 104px;
	left: 69px;
	top: -87px;
	width: 149px;
}

.message_image .inner .nine {
	right: 20px;
	top: 22px;
	transform: scale(1.2) translate3d(0, 0, 0);
	width: 87px;
}

.message_image .inner .logo {
	left: calc(50% + 5px);
	top: 83px;
	width: 140px;
}

.whatwedo {
	margin-top: 104px;
	padding-bottom: 80px;
	padding-top: 80px;
}

.whatwedo_container {
	box-sizing: border-box;
	padding: 0 8%;
	width: 100%;
}

.whatwedo_list {
	margin: 32px auto 0;
	max-width: 480px;
}

.whatwedo_list-item {
	margin-bottom: 65px;
	padding-left: 32px;
}

.whatwedo_list-item .listhead {
	height: 22px;
	left: 0;
	top: 6px;
	width: 22px;
}

.whatwedo_list-item h3 {
	font-size: 22px;
}

.whatwedo_list-item .content {
	box-sizing: border-box;
	margin-left: 0;
	margin-top: 20px;
	width: 95%;
}

.whatwedo_list-item .content em {
	font-size: 15px;
}

.whatwedo_list-item .content .work {
	margin-top: 20px;
}

.whatwedo_list-item .content .work.li-04 {
	margin-top: 20px;
}

.whatwedo_list-item .content .work.li-05 {
	margin-top: 20px;
}

.whatwedo_list-item .content .work > div {
	flex-direction: column;
	margin-bottom: 10px;
}

.whatwedo_list-item .content .work > div dt {
	margin-right: 0;
	width: 100%;
}

.whatwedo_list-item .content .work > div dd {
	font-size: 0.9em;
	line-height: 1.2;
	width: 100%;
	word-break: break-all;
}

.company_list {
	max-width: 480px;
	width: 89%;
}

.company_list > div {
	padding: 20px 0 18px;
}

.company_list > div dt {
	font-size: 12px;
	width: 120px;
}

.company_list > div dd {
	font-size: 14px;
}

.footer {
	flex-direction: column;
	margin-top: 100px;
	padding: 0 8% 92px;
}

.footer_lv19 {
	font-size: 15px;
	margin-bottom: 20px;
}

.footer_address {
	font-size: 15px;
	margin-left: 0;
}

.footer_logo {
	align-self: flex-end;
	bottom: 100px;
	right: 8%;
	width: 62px;
}

.totop {
	bottom: 13px;
	height: 50px;
	right: 15px;
	width: 50px;
}

.s-up {
	transform: translateY(40px);
}

#totop a:hover {
	transform: none;
}

.is-nav-open.header_nav {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 0.4s ease;
}

.is-nav-open.nav-open .open {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.is-nav-open.nav-open .close {
	opacity: 1;
	transition: opacity 0.4s ease;
}

#body.is-wwd .header_nav {
	color: #0044FF;
}

.landing_numbers-item.one {
	-webkit-animation: landingOneSp 2s linear 1s forwards;
	animation: landingOneSp 2s linear 1s forwards;
}

.landing_numbers-item.nine {
	-webkit-animation: landingNineSp 3s linear 1s forwards;
	animation: landingNineSp 3s linear 1s forwards;
}

.landing_cover {
	-webkit-animation: landingCover 1.5s ease-in-out 2s forwards;
	animation: landingCover 1.5s ease-in-out 2s forwards;
}

.landing {
	-webkit-animation: landingOut 1.5s ease-out 3.8s forwards;
	animation: landingOut 1.5s ease-out 3.8s forwards;
}

.header_nav {
	-webkit-animation: none;
	animation: none;
}

.is-button-container {
	-webkit-animation: landingNav 0.2s ease 3.8s forwards;
	animation: landingNav 0.2s ease 3.8s forwards;
	opacity: 0;
}

.mission_content .is-mission {
	animation: none;
	opacity: 1;
	transform: none;
}

.mission_content .is-catch {
	-webkit-animation: missionAnimation 0.8s ease 4.4s forwards;
	animation: missionAnimation 0.8s ease 4.4s forwards;
}

.mission_content .is-img {
	-webkit-animation: missionAnimation 0.8s ease 5s forwards;
	animation: missionAnimation 0.8s ease 5s forwards;
	transform: translateY(40px);
}

.mission_content .is-desc {
	-webkit-animation: missionAnimation 0.8s ease 5.4s forwards;
	animation: missionAnimation 0.8s ease 5.4s forwards;
}

#msAnimation.is-message-animation .one {
	-webkit-animation: mesOneSp 0.6s linear 0.5s forwards;
	animation: mesOneSp 0.6s linear 0.5s forwards;
	transform: scale(1.2) translate3d(0, 0, 0);
}

#msAnimation.is-message-animation .one .bridge {
	-webkit-animation: mesBrdgSp 0.58s linear 0.49s forwards;
	animation: mesBrdgSp 0.58s linear 0.49s forwards;
}

#msAnimation.is-message-animation .nine {
	-webkit-animation: mesNineSp 0.6s linear 0.5s forwards;
	animation: mesNineSp 0.6s linear 0.5s forwards;
	transform: scale(1.2) translate3d(0, 0, 0);
}

#msAnimation.is-message-animation .logo {
	-webkit-animation: mesLogoSp 0.5s ease 1.2s forwards;
	animation: mesLogoSp 0.5s ease 1.2s forwards;
	transform: translateX(-50%) scale(1);
}

}

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

.is-sp {
	display: block;
}

.mission {
	display: block;
	height: auto;
	padding-top: 105px;
}

}

@keyframes bodyShow {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes landingOne {

0% {
	left: calc(50% - 514px);
	top: calc(50% - 33px);
}

20% {
	left: calc(50% - 426px);
	top: calc(50% - 63px);
}

40% {
	left: calc(50% - 338px);
	top: calc(50% + 13px);
}

60% {
	left: calc(50% - 250px);
	top: calc(50% - 33px);
}

80% {
	left: calc(50% - 162px);
	top: calc(50% - 13px);
}

100% {
	left: calc(50% - 70px);
	top: calc(50% - 33px);
}

}

@keyframes landingOneSp {

0% {
	left: calc(50% - 126px);
	top: calc(50% - 90px);
}

20% {
	left: calc(50% - 116px);
	top: calc(50% - 76px);
}

40% {
	left: calc(50% - 104px);
	top: calc(50% - 85px);
}

60% {
	left: calc(50% - 102px);
	top: calc(50% - 90px);
}

80% {
	left: calc(50% - 95px);
	top: calc(50% - 88px);
}

100% {
	left: calc(50% - 90px);
	top: calc(50% - 78px);
}

}

@keyframes landingNine {

0% {
	left: calc(50% + 514px);
	top: calc(50% + 43px);
}

20% {
	left: calc(50% + 437px);
	top: calc(50% + 133px);
}

35% {
	left: calc(50% + 360px);
	top: calc(50% + 44px);
}

55% {
	left: calc(50% + 283px);
	top: calc(50% + 0px);
}

68% {
	left: calc(50% + 206px);
	top: calc(50% + 33px);
}

85% {
	left: calc(50% + 129px);
	top: calc(50% + 13px);
}

100% {
	left: calc(50% + 49px);
	top: calc(50% + 43px);
}

}

@keyframes landingNineSp {

0% {
	left: calc(50% + 90px);
	top: calc(50% + 156px);
}

20% {
	left: calc(50% + 96px);
	top: calc(50% + 129px);
}

45% {
	left: calc(50% + 74px);
	top: calc(50% + 134px);
}

68% {
	left: calc(50% + 88px);
	top: calc(50% + 90px);
}

85% {
	left: calc(50% + 70px);
	top: calc(50% + 88px);
}

100% {
	left: calc(50% + 76px);
	top: calc(50% + 19px);
}

}

@keyframes landingCover {

0% {
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
}

100% {
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);
}

}

@keyframes landingOut {

0% {
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);
	display: block;
	height: 100%;
	opacity: 1;
	pointer-events: auto;
}

99% {
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	display: block;
	height: 100%;
	opacity: 1;
	pointer-events: none;
}

100% {
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	display: none;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

}

@keyframes landingNav {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@keyframes missionAnimation {

0% {
	opacity: 0;
	transform: translateY(40px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes missionAnimationSp {

0% {
	opacity: 0;
	transform: translateY(10px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes missionAnimationImage {

0% {
	opacity: 0;
}

100% {
	opacity: 1;
}

}

@-webkit-keyframes mesOne {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: translate3d(300px, -75px, 0);
}

100% {
	opacity: 0;
	transform: translate3d(300px, -75px, 0);
}

}

@keyframes mesOne {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: translate3d(300px, -75px, 0);
}

100% {
	opacity: 0;
	transform: translate3d(300px, -75px, 0);
}

}

@-webkit-keyframes mesOneSp {

0% {
	opacity: 1;
	transform: scale(1.2) translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: scale(1.2) translate3d(50px, -115px, 0);
}

100% {
	opacity: 0;
	transform: scale(1.2) translate3d(50px, -115px, 0);
}

}

@keyframes mesOneSp {

0% {
	opacity: 1;
	transform: scale(1.2) translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: scale(1.2) translate3d(50px, -115px, 0);
}

100% {
	opacity: 0;
	transform: scale(1.2) translate3d(50px, -115px, 0);
}

}

@-webkit-keyframes mesNine {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: translate3d(-310px, 90px, 0);
}

100% {
	opacity: 0;
	transform: translate3d(-310px, 90px, 0);
}

}

@keyframes mesNine {

0% {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: translate3d(-310px, 90px, 0);
}

100% {
	opacity: 0;
	transform: translate3d(-310px, 90px, 0);
}

}

@-webkit-keyframes mesNineSp {

0% {
	opacity: 1;
	transform: scale(1.2) translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: scale(1.2) translate3d(-52px, 90px, 0);
}

100% {
	opacity: 0;
	transform: scale(1.2) translate3d(-52px, 90px, 0);
}

}

@keyframes mesNineSp {

0% {
	opacity: 1;
	transform: scale(1.2) translate3d(0, 0, 0);
}

99% {
	opacity: 1;
	transform: scale(1.2) translate3d(-52px, 90px, 0);
}

100% {
	opacity: 0;
	transform: scale(1.2) translate3d(-52px, 90px, 0);
}

}

@-webkit-keyframes mesBrdg {

0% {
	-webkit-clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	height: 111px;
	opacity: 1;
}

99% {
	-webkit-clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	height: 288px;
	opacity: 1;
}

100% {
	-webkit-clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	height: 288px;
	opacity: 0;
}

}

@keyframes mesBrdg {

0% {
	-webkit-clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 103% 100%, 0% 46%);
	height: 111px;
	opacity: 1;
}

99% {
	-webkit-clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	height: 288px;
	opacity: 1;
}

100% {
	-webkit-clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	clip-path: polygon(0 0, 0 0%, 23% 95%, 0% 46%);
	height: 288px;
	opacity: 0;
}

}

@-webkit-keyframes mesBrdgSp {

0% {
	-webkit-clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	height: 104px;
	opacity: 1;
	top: -87px;
	width: 149px;
}

100% {
	-webkit-clip-path: polygon(0% 0%, 0 20%, 31% 91%);
	clip-path: polygon(0% 0%, 0 20%, 31% 91%);
	height: 134px;
	opacity: 1;
	top: 0;
}

}

@keyframes mesBrdgSp {

0% {
	-webkit-clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	clip-path: polygon(0 84%, 0% 100%, 100% 0%);
	height: 104px;
	opacity: 1;
	top: -87px;
	width: 149px;
}

100% {
	-webkit-clip-path: polygon(0% 0%, 0 20%, 31% 91%);
	clip-path: polygon(0% 0%, 0 20%, 31% 91%);
	height: 134px;
	opacity: 1;
	top: 0;
}

}

@-webkit-keyframes mesLogo {

0% {
	opacity: 0;
	transform: translateX(-50%) scale(0.8);
}

100% {
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

}

@keyframes mesLogo {

0% {
	opacity: 0;
	transform: translateX(-50%) scale(0.8);
}

100% {
	opacity: 1;
	transform: translateX(-50%) scale(1);
}

}

@-webkit-keyframes mesLogoSp {

0% {
	opacity: 0;
	transform: translateX(-50%) scale(1);
}

100% {
	opacity: 1;
	transform: translateX(-50%) scale(1.2);
}

}

@keyframes mesLogoSp {

0% {
	opacity: 0;
	transform: translateX(-50%) scale(1);
}

100% {
	opacity: 1;
	transform: translateX(-50%) scale(1.2);
}

}

