@charset "UTF-8";
/* --------------------------------------------------
	CSS Reset
-------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
html {
	scroll-behavior: smooth;
}
body {
	position: relative;
	line-height: 1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
	display: block;
}
ul,ol {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
a:link,
a:visited {
	color: #494949;
	text-decoration: none;
}
a:hover,
a:active {
	color: #494949;
	text-decoration: underline;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}

@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular');
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'), local('Yu Gothic');
}
h1,h2,h3,h4,h5,h6,
dt,dd,li,form,input,select,textarea,
p,address,pre,blockquote,th,td,div {
	font-family: MyYuGothicM, YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ' , Meiryo , Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*
	font-family: '游明朝','Yu Mincho',YuMincho,"ヒラギノ明朝 Pro W6", "HiraMinPro-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	*/
	font-size: 16px;
	line-height: 1.6;
	color: #494949;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
}
img {
	vertical-align: top;
	width: 100%;
}
.kerning-l {
	margin-left: -0.5em;
}
.kerning-r {
	margin-right: -0.5em;
}

/* --------------------------------------------------
	Clearfix
-------------------------------------------------- */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}
.clearfix { *zoom: 1; }

/* --------------------------------------------------
	.is--modal
-------------------------------------------------- */
body.is--modal {
	overflow: hidden;
}

/* --------------------------------------------------
	.pagetop
-------------------------------------------------- */
.pagetop {
	position: fixed;
	right: 50px;
	bottom: 0;
	z-index: 100;
}
.pagetop a {
	display: block;
	width: 70px;
	height: 70px;
	overflow: hidden;
	background: url("../img/pagetop.svg") no-repeat center center;
	background-size: 100% auto;
	text-indent: -9999px;
	transition: 0.2s linear;
}
.pagetop a:hover { opacity: 0.6; }
@media screen and (max-width: 1320px) {
	.pagetop {
		left: 50%;
		right: auto;
		margin-left: 550px;
	}
}
@media screen and (max-width: 1220px) {
	.pagetop {
		left: auto;
		right: 0;
		margin-left: 0;
	}
}
@media screen and (max-width: 768px) {
	.pagetop {
		bottom: 0;
	}
	.pagetop a {
		width: 13.3334vw;
		height: 13.3334vw;
	}
}

/* --------------------------------------------------
	.anchor
-------------------------------------------------- */
.anchor {
	transform: translate(0,-110px);
}
.message .anchor,
.teammd .anchor,
.ourwork .anchor {
	transform: translate(0,-310px);
}
.message.delighter.started .anchor,
.teammd.delighter.started .anchor,
.ourwork.delighter.started .anchor {
	transform: translate(0,-110px);
}
@media screen and (max-width: 768px) {
	.anchor {
		transform: translate(0,-21.3334vw);
	}
	.message .anchor,
	.teammd .anchor,
	.ourwork .anchor {
		transform: translate(0,-41.3334vw);
	}
	.message.delighter.started .anchor,
	.teammd.delighter.started .anchor,
	.ourwork.delighter.started .anchor {
		transform: translate(0,-21.3334vw);
	}
}

/* --------------------------------------------------
	.inner
-------------------------------------------------- */
.inner {
	position: relative;
	margin: 0 auto;
	max-width: 1000px;
	box-sizing: border-box;
}

/* --------------------------------------------------
	br,span
-------------------------------------------------- */
@media screen and (min-width: 769px) {
	br.sp-only,
	span.sp-only { display: none; }
}
@media screen and (max-width: 768px) {
	br.pc-only,
	span.pc-only { display: none; }
}

/* --------------------------------------------------
	.header
-------------------------------------------------- */
.header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	height: 100px;
	background: #FFF;
}
.header .inner {
	position: absolute;
	left: 50%;
	top: 0;
	max-width: 1260px;
	width: 100%;
	height: 100px;
	transform: translate(-50%,0);
}
.header h1 {
	position: absolute;
	left: 65px;
	top: 50%;
	z-index: 2;
	width: 136px;
	transform: translate(0,-50%);
	transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 1260px) {
	.header h1 {
		left: 30px;
	}
}
@media screen and (max-width: 768px) {
	.header {
		height: 21.3334vw;
		background: transparent;
	}
	.header .inner {
		left: 0;
		height: 21.3334vw;
		transform: none;
	}
	.header h1 {
		left: 4vw;
		top: 5.7334vw;
		width: 26.6667vw;
		transform: none;
	}
	header.is--active .header h1 {
		background: url("../img/logo_white.svg") no-repeat center center;
		background-size: contain;
	}
	header.is--active .header h1 img {
		opacity: 0;
	}
}

/* --------------------------------------------------
	.gNav
-------------------------------------------------- */
.menuBg,
.menuBtn {
	display: none;
	cursor: pointer;
}
.gNav {}
.gNav ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4%;
	margin-left: auto;
	width: 78.5715%;
	max-width: 990px;
	height: 100px;
	text-align: center;
	font-size: 0;
	transition: 0.05s ease;
}
.gNav ul li {
	height: 50px;
}
.gNav ul li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 27px;
	height: 100%;
	box-sizing: border-box;
	transition: background-color 0.2s linear;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
}
.gNav ul li a::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0,-50%);
	display: block;
	width: 12px;
	height: 8px;
	background: url("../img/gnav_arrow_pc.svg") no-repeat center center;
	background-size: contain;
}
.gNav ul li.btn-entry {
	width: 200px;
	height: 50px;
}
.gNav ul li.btn-entry a {
	padding-right: 0;
	background: url("../img/entry_en_white.svg") no-repeat center center;
	background-color: #5c6270;
	background-size: 56px auto;
	text-indent: -9999px;
	border-radius: 25px;
}
.gNav ul li.btn-entry a::after {
	display: none;
}
.gNav ul li:hover a {
	text-decoration: none;
}
@media screen and (max-width: 1260px) {
	.gNav ul {
		margin-right: 10px;
		justify-content: flex-end;
		gap: 1%;
		width: calc( 100% - 176px );
	}
}
@media screen and (max-width: 768px) {
	.menuBg {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 9;
		width: 100%;
		height: 100%;
		background: #5c6270;
		opacity: 0;
		pointer-events: none;
		transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	}
	header.is--active .menuBg {
		opacity: 1;
		pointer-events: auto;
	}
	.menuBtn {
		position: absolute;
		right: 4vw;
		top: 4vw;
		z-index: 2;
		display: block;
		width: 13.3334vw;
		height: 13.3334vw;
		background-color: #fff;
		border-radius: 6.6667vw;
		box-shadow: 0 0 0.4vw rgba(28,49,153,0.2);
		cursor: pointer;
	}
	.menuBtn.close { background-position: right top; }
	.menuBtn span {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 7.0667vw;
		height: 0.48vw;
		background-color: #00aeeb;
		border-radius: 0.24vw;
		transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.menuBtn span:nth-child(1) {
		top: calc(50% - 2.1334vw);
	}
	.menuBtn span:nth-child(3) {
		top: calc(50% + 2.1334vw);
	}
	header.is--active .menuBtn span:nth-child(1) {
		top: 50%;
		transform: translate(-50%,-50%) rotate(32deg);
		width: 8.4vw;
	}
	header.is--active .menuBtn span:nth-child(2) {
		opacity: 0;
	}
	header.is--active .menuBtn span:nth-child(3) {
		top: 50%;
		transform: translate(-50%,-50%) rotate(-32deg);
		width: 8.4vw;
	}
	.gNav {
		margin-right: 0;
	}
	.gNav ul {
		display: block;
		position: absolute;
		right: -100%;
		top: 28.0001vw;
		z-index: 100;
		margin-right: 0;
		width: 100%;
		transition: right 0.3s ease;
	}
	header.is--active .gNav ul {
		right: 0;
	}
	.gNav ul li {
		display: grid;
		place-items: center;
		padding: 0 10.6667vw;
		height: 20vw;
	}
	.gNav ul li a {
		display: block;
		width: 100%;
		height: auto;
		box-sizing: border-box;
		font-size: 4.2667vw;
		font-weight: 600;
		color: #fff;
		text-align: left;
	}
	.gNav ul li a::after {
		width: 5.3334vw;
		height: 5.3334vw;
		background-image: url("../img/gnav_arrow_sp.svg");
	}
	.gNav ul li.btn-entry {
		margin-top: 6.6667vw;
		margin-left: auto;
		margin-right: auto;
		width: 53.3334vw;
		height: 13.3334vw;
	}
	.gNav ul li.btn-entry a {
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
		background: url("../img/entry_en_navy.svg") no-repeat center center;
		background-size: 14.9334vw auto;
		background-color: #fff;
		border-radius: 6.6667vw;
		box-shadow: 0 0 0.6667vw rgba(28,49,153,0.5);
		text-indent: -9999px;
	}
}

/* --------------------------------------------------
	.mainContents
-------------------------------------------------- */
.mainContents {}
@media screen and (max-width: 768px) {
}

/* --------------------------------------------------
	.kv
-------------------------------------------------- */
.kv {
	position: relative;
	height: 927px;
	margin-bottom: -330px;
	overflow: hidden;
}
.kv-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url("../img/kv_pc.png") no-repeat top center;
	background-size: cover;
	opacity: 0;
	filter: blur(1rem);
}
.kv .inner {
	padding-top: 235px;
	height: 100%;
	box-sizing: border-box;
}
.kv p {
	width: 700px;
	opacity: 0;
	transform: translate(0,40%);
}
.kv h1 {
	margin-top: 36px;
	width: 300px;
	opacity: 0;
	transform: translate(0,100%);
}
.kv-name {
	margin-top: 180px;
	display: flex;
	width: 99.7%;
}
.kv-name li {
	transform: translate(100px,0);
	opacity: 0;
}
.kv .scroll {
	position: absolute;
	right: -80px;
	bottom: 138px;
	z-index: 3;
	width: 21px;
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.kv .btn-entry {
	display: none;
}
.kv.delighter .kv-bg {
	transition: all 2s linear 1s;
}
.kv.delighter p {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.kv.delighter h1 {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0.2s;
}
.kv.delighter li:nth-child(1) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.0s;
}
.kv.delighter li:nth-child(2) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.1s;
}
.kv.delighter li:nth-child(3) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.2s;
}
.kv.delighter li:nth-child(4) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.3s;
}
.kv.delighter li:nth-child(5) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.4s;
}
.kv.delighter li:nth-child(6) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.5s;
}
.kv.delighter li:nth-child(7) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.6s;
}
.kv.delighter li:nth-child(8) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.7s;
}
.kv.delighter li:nth-child(9) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.8s;
}
.kv.delighter li:nth-child(10) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 2.9s;
}
.kv.delighter li:nth-child(11) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 3.0s;
}
.kv.delighter li:nth-child(12) {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 3.1s;
}
.kv.delighter.started  .kv-bg {
	opacity: 1;
	filter: blur(0);
}
.kv.delighter.started  p,
.kv.delighter.started  h1,
.kv.delighter.started  li {
	opacity: 1;
	transform: none;
}
@media screen and (max-width: 1200px) {
	.kv .scroll {
		right: 0;
	}
}
@media screen and (max-width: 1060px) {
	.kv .inner {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.kv {
		aspect-ratio: 750 / 1070;
		margin-bottom: -22vw;
		height: auto;
		overflow: hidden;
	}
	.kv-bg {
		background-image: url("../img/kv_sp.png");
	}
	.kv .inner {
		margin-left: auto;
		margin-right: auto;
		padding-top: 26.1334vw;
	}
	.kv p {
		margin-left: 19.6vw;
		width: 61.0667vw;
	}
	.kv h1 {
		margin-top: 5.6001vw;
		margin-left: 20vw;
		width: 46.5334vw;
	}
	.kv-name {
		margin-top: 37.0667vw;
		margin-left: 0.5334vw;
		width: 100.9334vw;
		flex-wrap: wrap;
	}
	.kv-name li:nth-child(2) {
		margin-right: 79.4667vw;
	}
	.kv-name li:nth-child(-n+2) img {
		height: 14.0001vw;
	}
	.kv-name li:nth-child(n+3) img {
		height: 12.2667vw;
	}
	.kv .scroll {
		right: 3.3334vw;
		bottom: -4.6667vw;
		width: 4.8vw;
	}
	.kv .btn-entry {
		display: block;
		position: absolute;
		left: 23.3334vw;
		bottom: 3.4667vw;
		z-index: 3;
		width: 53.3334vw;
		height: 13.3334vw;
	}
	.kv .btn-entry a {
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
		background: url("../img/entry_en_navy.svg") no-repeat center center;
		background-size: 14.9334vw auto;
		background-color: #fff;
		border-radius: 6.6667vw;
		box-shadow: 0 0 0.6667vw rgba(28,49,153,0.5);
		text-indent: -9999px;
	}
}

/* --------------------------------------------------
	h2
-------------------------------------------------- */
h2 span {
	display: block;
	margin: 0 auto;
	line-height: 1;
	text-align: center;
}
h2 .ja {
	font-size: 42px;
	font-weight: 600;
}
h2 .en {
	margin-top: 22px;
	font-size: 10px;
	line-height: 0.5;
}
@media screen and (max-width: 768px) {
	h2 .ja {
		font-size: 6.4vw;
	}
	h2 .en {
		margin-top: 3.4667vw;
	}
}

/* --------------------------------------------------
	.message
-------------------------------------------------- */
.message {
	position: relative;
	margin-bottom: -530px;
	padding-top: calc( 330px - 1px );
	transform: translate(0,200px);
	opacity: 0;
}
.message::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 330px;
	background: url("../img/message_bg1_pc.png") no-repeat top center;
	background-size: 100% 100%;
}
.message-bg {
	background: url("../img/message_bg2_pc.png") no-repeat top center;
	background-size: 100% auto;
}
.message .inner {
	padding-bottom: 540px;
}
.message h2 .ja {
	color: #fff;
}
.message h2 .en {
	width: 72px;
}
.message-flex {
	margin-top: 100px;
	display: flex;
	gap: 60px;
}
.message-flex-pic {
	width: 340px;
	opacity: 0;
	filter: blur(1rem);
}
.message-flex-text {
	opacity: 0;
	transform: translate(10%,0);
}
.message-flex-text .lead {
	margin-top: -0.5em;
	margin-bottom: 80px;
	font-size: 33px;
	font-weight: 600;
	line-height: 2;
	color: #fff;
}
.message-flex-text .name span {
	display: block;
	color: #fff;
	line-height: 1;
}
.message-flex-text .name .ja {
	font-size: 24px;
}
.message-flex-text .name .en {
	margin-top: 10px;
	font-size: 12px;
	font-weight: 600;
}
.message-flex-text .name .position {
	margin-top: 12px;
	font-size: 14px;
}
.message-column {
	margin-top: 80px;
	margin-bottom: 80px;
	column-count: 2;
	column-gap: 100px;
	opacity: 0;
	transform: translate(0,5%);
}
.message-column p {
	font-size: 16px;
	line-height: 1.875;
	letter-spacing: 0.1em;
	color: #fff;
}
.message-column p + p {
	margin-top: 2em;
}
.message-column ul {
	margin-top: 2em;
}
.message-column li {
	padding-left: 2.5em;
	text-indent: -2.5em;
	font-size: 11px;
	line-height: 1.875;
	letter-spacing: 0.1em;
	color: #fff;
}
.message-company {
	position: relative;
	margin-top: 90px;
	padding: 40px 55px;
	border: #fff 1px solid;
	opacity: 0;
	transform: translate(0,10%);
}
.message-company h3 {
	margin-bottom: 1em;
	padding-bottom: 1.5em;
	border-bottom: #fff 1px solid;
	font-size: 21px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}
.message-company p {
	font-size: 14px;
	line-height: 1.85;
	color: #fff;
	letter-spacing: 0;
}
.message.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.message-flex.delighter .message-flex-pic {
	transition: all 0.8s linear 0s;
}
.message-flex.delighter .message-flex-text {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0.5s;
}
.message-column.delighter,
.message-company.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.message.delighter.started,
.message-flex.delighter.started .message-flex-text,
.message-column.delighter.started,
.message-company.delighter.started {
	transform: none;
	opacity: 1;
}
.message-flex.delighter.started .message-flex-pic {
	opacity: 1;
	filter: blur(0);
}
@media screen and (max-width: 1060px) {
	.message .inner {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.message {
		margin-bottom: -32vw;
		padding-top: calc( 23.3334vw - 1px );
		transform: translate(0,20vw);
	}
	.message::before {
		height: 23.3334vw;
		background-image: url("../img/message_bg1_sp.png");
	}
	.message-bg {
		background-image: url("../img/message_bg2_sp.png");
		background-size: 100% auto;
	}
	.message .inner {
		margin-left: auto;
		margin-right: auto;
		padding-top: 21.3334vw;
		padding-bottom: 45.3334vw;
	}
	.message h2 .en {
		width: 12vw;
	}
	.message-flex {
		margin: 13.3334vw auto 0;
		display: block;
		width: 80vw;
	}
	.message-flex-pic {
		margin: 0 auto 12vw;
		width: 60vw;
	}
	.message-flex-text .lead {
		margin-bottom: 8vw;
		font-size: 5.0667vw;
	}
	.message-flex-text .name .ja {
		font-size: 4.1334vw;
	}
	.message-flex-text .name .en {
		margin-top: 1.6vw;
		font-size: 2.6667vw;
	}
	.message-flex-text .name .position {
		margin-top: 2.6667vw;
		font-size: 2.9334vw;
	}
	.message-column {
		margin: 13.3334vw auto;
		column-count: 1;
		width: 80vw;
	}
	.message-column p {
		font-size: 3.7334vw;
	}
	.message-column li {
		font-size: 2.6667vw;
	}
	.message-company {
		margin: 20vw auto 0;
		padding: 8.6667vw 6vw;
		width: 80vw;
		box-sizing: border-box;
	}
	.message-company::before {
		top: -13.3334vw;
		margin-bottom: 13.3334vw;
		width: 3.3334vw;
		height: 0.4vw;
	}
	.message-company h3 {
		font-size: 4vw;
		text-align: center;
	}
	.message-company p {
		font-size: 3.2vw;
	}
}

/* --------------------------------------------------
	.teammd
-------------------------------------------------- */
.teammd {
	position: relative;
	margin-bottom: -530px;
	transform: translate(0,200px);
}
.teammd::before {
	content: '';
	display: block;
	margin-bottom: -1px;
	width: 100%;
	height: 330px;
	background-image: url("../img/teammd_bg1_pc.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.teammd .teammd-inner {
	padding-bottom: 530px;
	background-color: #F2F2F4;
}
.teammd h2 .ja {
	color: #004d9f;
}
.teammd h2 .en {
	width: 77px;
}
.teammd .graph {
	position: absolute;
	right: 0;
	top: 180px;
	width: 47.1%;
	transform: translate(0,5%);
	opacity: 0;
}
.teammd .lead {
	margin-top: 100px;
	font-size: 33px;
	font-weight: 600;
	line-height: 1.87;
	color: #3e3e3e;
	transform: translate(0,10%);
	opacity: 0;
}
.teammd .lead strong {
	font-size: 150%;
	line-height: 0.66;
}
.teammd .lead .blue {
	color: #004d9f;
}
.teammd .lead .num {
	position: relative;
	top: 13px;
	display: inline-block;
	font-size: 200%;
	line-height: 0.5;
}
.teammd .text {
	margin-top: 50px;
	font-size: 19px;
	line-height: 1.89;
	color: #3e3e3e;
	transform: translate(0,10%);
	opacity: 0;
}
.teammd.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.teammd .graph.delighter {
	transition: all 1.6s cubic-bezier(.21,1.05,.8,.98) 0.5s;
}
.teammd .lead.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.teammd .text.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.teammd.delighter.started,
.teammd .graph.delighter.started,
.teammd .lead.delighter.started,
.teammd .text.delighter.started {
	transform: none;
	opacity: 1;
}
@media screen and (max-width: 1060px) {
	.teammd .inner {
		margin-left: 30px;
		margin-right: 30px;
	}
	.teammd .lead {
		margin-right: 47.1%;
	}
}
@media screen and (max-width: 768px) {
	.teammd {
		margin-bottom: -32vw;
		transform: translate(0,20vw);
	}
	.teammd::before {
		background-image: url("../img/teammd_bg1_sp.png");
		height: 24vw;
	}
	.teammd .teammd-inner {
		padding-top: 12vw;
		padding-bottom: 43.3334vw;
	}
	.teammd .inner {
		margin-left: auto;
		margin-right: auto;
	}
	.teammd h2 .ja {
		line-height: 1.375;
	}
	.teammd h2 .en {
		width: 11.4667vw;
	}
	.teammd .graph {
		position: static;
		top: 0;
		margin: 13.3334vw auto 0;
		width: 86.9334vw;
	}
	.teammd .lead {
		margin: 13.3334vw 6.6667vw 0;
		font-size: 4.8vw;
	}
	.teammd .lead .num {
		top: 1.7334vw;
	}
	.teammd .text {
		margin: 8vw 6.6667vw 0;
		font-size: 3.7334vw;
	}
	.teammd .graph.delighter {
		transition: all 1.6s cubic-bezier(.21,1.05,.8,.98) 0s;
	}
	.teammd .lead.delighter {
		transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0.5s;
	}
	.teammd .text.delighter {
		transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0.50s;
	}
}

/* --------------------------------------------------
	.ourwork
-------------------------------------------------- */
.ourwork {
	position: relative;
	margin-bottom: 200px;
	transform: translate(0,200px);
}
.ourwork::before {
	content: '';
	display: block;
	margin-bottom: -1px;
	width: 100%;
	height: 330px;
	background-image: url("../img/ourwork_bg1_pc.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.ourwork .ourwork-bg {
	background-color: #fff;
}
.ourwork h2 {
	margin-bottom: 50px;
}
.ourwork h2 .ja {
	color: #004d9f;
}
.ourwork h2 .en {
	width: 97px;
}
.ourwork-box + .ourwork-box {
	margin-top: 68px;
}
.ourwork-box-pic {
	margin-bottom: -165px;
	width: 43%;
	overflow: hidden;
	border-radius: 30px;
}
.ourwork-box-contents {
	position: relative;
	margin-left: auto;
	width: 64%;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.3);
	transform: translate(0,20%);
	opacity: 0;
}
.ourwork-box-contents a {
	display: block;
	padding: 55px 0 55px 24.6875%;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
.ourwork-box-contents a:hover {
	opacity: 0.7;
	text-decoration: none;
}
.ourwork-box-contents .num {
	position: absolute;
	left: 16px;
	top: 0;
	width: 105px;
	mix-blend-mode: multiply;
	transform: translate(10%,-50%);
	opacity: 0;
}
.ourwork-box-contents p {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.91;
	color: #009edd;
}
.ourwork-box-contents .btn {
	position: absolute;
	right: 32px;
	bottom: 32px;
	width: 80px;
}
.ourwork.delighter {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.ourwork .ourwork-box.delighter .ourwork-box-contents {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.ourwork .ourwork-box.delighter .num {
	transition: all 0.8s cubic-bezier(.21,1.05,.8,.98) 0.5s;
}
.ourwork.delighter.started,
.ourwork .ourwork-box.delighter.started .ourwork-box-contents {
	transform: none;
	opacity: 1;
}
.ourwork .ourwork-box.delighter.started .num {
	transform: translate(0,-50%);
	opacity: 1;
}
@media screen and (max-width: 768px) {
	.ourwork {
		margin-bottom: 20vw;
		transform: translate(0,20vw);
	}
	.ourwork::before {
		background-image: url("../img/ourwork_bg1_sp.png");
		height: 24vw;
	}
	.ourwork .inner {
		padding-top: 12vw;
	}
	.ourwork h2 {
		margin-bottom: 12.5334vw;
	}
	.ourwork h2 .en {
		width: 12.9334vw;
	}
	.ourwork-box + .ourwork-box {
		margin-top: 13.3334vw;
	}
	.ourwork-box-pic {
		margin-bottom: -6.6667vw;
		width: 86vw;
		border-radius: 4vw;
	}
	.ourwork-box-contents {
		width: 88vw;
		border-radius: 2.6667vw;
		box-shadow: 0.9334vw 0.9334vw 0.9334vw rgba(0,0,0,0.3);
	}
	.ourwork-box-contents a {
		padding: 10.6667vw 0 10.6667vw 11.3334vw;
	}
	.ourwork-box-contents .num {
		left: 3.0667vw;
		width: 20.9334vw;
	}
	.ourwork-box-contents p {
		font-size: 4.8vw;
	}
	.ourwork-box-contents .btn {
		right: 6.6667vw;
		bottom: 6.4vw;
		width: 16vw;
	}
}

/* --------------------------------------------------
	.ourwork-detail
-------------------------------------------------- */
.ourwork-detail {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 200;
	width: 100%;
	height: 100%;
	overflow: auto;
	opacity: 0;
	pointer-events: none;
	transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.ourwork-detail.is--active {
	opacity: 1;
	pointer-events: auto;
}
.ourwork-detail .btn-close {
	margin-left: auto;
	margin-bottom: 5px;
	width: 46px;
	height: 46px;
	background-image: url("../img/btn_close.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	text-indent: -9999px;
	cursor: pointer;
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.ourwork-detail .btn-close:hover {
	opacity: 0.7;
}
.ourwork-detail-container {
	padding: 30px 0;
}
.ourwork-detail-overlay {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	display: none;
	background-color: rgba(175,225,250,0.9);
}
.ourwork-detail-overlay.is--active {
	display: block;
}
.ourwork-detail-container-inner {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	max-width: 1000px;
	opacity: 1;
	transform: scale(0.95);
	pointer-events: none;
	transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}
.ourwork-detail-container-inner.is--active {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}
.ourwork-detail-contents {
	display: none;
	position: relative;
	padding-bottom: 70px;
	background-color: #fff;
}
.ourwork-detail-contents.is--active {
	display: block;
}
.ourwork-detail-contents .num {
	position: absolute;
	left: 30px;
	top: -26px;
	width: 115px;
	mix-blend-mode: multiply;
}
.ourwork-detail-heading {
	display: flex;
}
.ourwork-detail-heading .ourwork-detail-pic {
	width: 50%;
}
.ourwork-detail-heading .ourwork-detail-text {
	display: flex;
	align-items: center;
	padding: 20px 50px;
	width: 50%;
	background-color: #009edd;
	box-sizing: border-box;
}
.ourwork-detail-heading .ourwork-detail-text .lead {
	font-size: 29px;
	font-weight: 600;
	line-height: 1.5;
	color: #fff;
	letter-spacing: 0;
}
.ourwork-detail-heading .ourwork-detail-text .profile {
	margin-top: 2em;
}
.ourwork-detail-heading .ourwork-detail-text .profile span {
	display: block;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	letter-spacing: 0;
}
.ourwork-detail-heading .ourwork-detail-text .profile .date {
	margin-bottom: 0.5em;
	font-size: 14px;
}
.ourwork-detail-heading .ourwork-detail-text .profile .division {
	font-size: 19px;
	line-height: 1.2;
}
.ourwork-detail-column {
	margin: 50px 75px 0;
	column-count: 2;
	column-gap: 50px;
}
.ourwork-detail-column p {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0;
}
.ourwork-detail-column p + p {
	margin-top: 2em;
}
@media screen and (max-width: 1060px) {
	.ourwork-detail-container-inner {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 880px) {
	.ourwork-detail-heading .ourwork-detail-text {
		padding: 20px;
	}
	.ourwork-detail-heading .ourwork-detail-text .lead {
		font-size: 24px;
	}
}
@media screen and (max-width: 768px) {
	.ourwork-detail .btn-close {
		margin-bottom: 2vw;
		width: 10.6667vw;
		height: 10.6667vw;
	}
	.ourwork-detail-container {
		padding: 6.6667vw 0;
	}
	.ourwork-detail-container-inner {
		margin-left: auto;
		margin-right: auto;
		max-width: 86.6667vw;
	}
	.ourwork-detail-contents {
		padding-bottom: 10vw;
	}
	.ourwork-detail-contents .num {
		left: 5.3334vw;
		top: -4.6667vw;
		width: 19.8667vw;
	}
	.ourwork-detail-heading {
		display: block;
	}
	.ourwork-detail-heading .ourwork-detail-pic {
		width: 100%;
	}
	.ourwork-detail-heading .ourwork-detail-text {
		padding: 8vw 6vw 8.6667vw;
		width: 100%;
	}
	.ourwork-detail-heading .ourwork-detail-text .lead {
		font-size: 5.6001vw;
	}
	.ourwork-detail-heading .ourwork-detail-text .profile {
		margin-top: 1em;
	}
	.ourwork-detail-heading .ourwork-detail-text .profile .date {
		font-size: 3.2vw;
	}
	.ourwork-detail-heading .ourwork-detail-text .profile .division {
		font-size: 4.2667vw;
	}
	.ourwork-detail-column {
		margin: 10.6667vw 6vw 0;
		column-count: 1;
	}
	.ourwork-detail-column p {
		font-size: 3.7334vw;
	}
}

/* --------------------------------------------------
	.guidelines
-------------------------------------------------- */
.guidelines {
	padding-top: 160px;
	padding-bottom: 160px;
	background: url("../img/guidelines_bg_pc.png") repeat-y center top;
	background-size: 100% auto;
}
.guidelines h2 {
	margin-bottom: 50px;
	transform: translate(0,30%);
	opacity: 0;
}
.guidelines h2 .ja {
	color: #fff;
}
.guidelines h2 .en {
	width: 212px;
}
.guidelines .bg-white {
	position: relative;
	margin: 0 auto;
	max-width: 900px;
	background-color: #fff;
	border-radius: 20px;
	box-sizing: border-box;
	aspect-ratio: 900 / 1272;
	overflow: hidden;
}
.guidelines .bg-white a {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.guidelines .bg-white iframe {
	width: 100%;
	aspect-ratio: 900 / 1272;
}
.guidelines.delighter h2 {
	transition: all 1s cubic-bezier(.21,1.05,.8,.98) 0s;
}
.guidelines.delighter.started h2 {
	transform: none;
	opacity: 1;
}
@media screen and (max-width: 1060px) {
	.guidelines .inner {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.guidelines {
		padding-top: 13.3334vw;
		padding-bottom: 13.3334vw;
		background-image: url("../img/guidelines_bg_sp.png");
	}
	.guidelines h2 {
		margin-bottom: 13.3334vw;
	}
	.guidelines h2 .en {
		width: 31.8667vw;
	}
	.guidelines .inner {
		margin-left: auto;
		margin-right: auto;
	}
	.guidelines .bg-white {
		margin: 0 auto;
		width: 86.6667vw;
		box-sizing: border-box;
		border-radius: 2.6667vw;
	}
}

/* --------------------------------------------------
	form
-------------------------------------------------- */
label { cursor: pointer; }
input[type="text"],
input[type="date"],
select,textarea {
	padding: 3px;
	box-sizing: border-box;
	background: #FFF;
	border: 1px solid #999;
	-moz-transition: 0.2s linear;
	-webkit-transition: 0.2s linear;
	transition: 0.2s linear;
}
input[type="text"]:focus,
input[type="date"]:focus,
textarea:focus {
	box-shadow: 0 0 3px 3px rgba(0,0,0,0.1) inset;
}
textarea { width: 100%; }
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: block;
	width: 240px;
	height: 60px;
	box-sizing: border-box;
	background: #e7e7ea;
	border: none;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="button"]:disabled {
	background: #ddd !important;
	color: #494949 !important;
	opacity: 0.5;
	cursor: not-allowed;
}
button:not(:disabled):hover,
input[type="submit"]:not(:disabled):hover,
input[type="reset"]:not(:disabled):hover,
input[type="button"]:not(:disabled):hover {
	opacity: 0.7;
}
input.btn-gray {
	background-color: #e7e7ea;
	color: #3e3e3e;
}
input.btn-black {
	background-color: #3e3e3e;
	color: #fff;
}
.btn-flex {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}
.btn-flex.mb0 {
	margin-bottom: -60px;
}
.btn-blank {
	width: 240px;
	height: 60px;
}
.btn-modify {
	transform: translate(0,-100%);
}
@media screen and (max-width: 768px) {
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		width: 86.6667vw;
		height: 20vw;
		border-radius: 1.3334vw;
		font-size: 4.2667vw;
	}
	.btn-flex {
		gap: 0;
	}
	.btn-flex.mb0 {
		margin-bottom: 0;
	}
	.btn-flex + .btn-flex {
		margin-top: 20px;
	}
	.btn-blank {
		display: none;
	}
	.btn-submit {
		transform: translate(0, calc( 100% + 5.3334vw ));
	}
}
a.btn-gray {
	display: grid;
	place-items: center;
	margin: 0 auto;
	width: 240px;
	height: 60px;
	background: #e7e7ea;
	box-sizing: border-box;
	border: none;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	color: #3e3e3e;
	cursor: pointer;
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
a.btn-gray:hover {
	opacity: 0.7;
	text-decoration: none;
}
@media screen and (max-width: 768px) {
	a.btn-gray {
		width: 86.6667vw;
		height: 20vw;
		border-radius: 1.3334vw;
		font-size: 4.2667vw;
	}
}

/* --------------------------------------------------
	.entry
-------------------------------------------------- */
.entry {
	margin-bottom: 150px;
	padding-top: 195px;
}
.entry h2 {
	margin-bottom: 50px;
}
.entry h2 .ja {
	color: #004d9f;
}
.entry h2 .en {
	width: 84px;
}
.entry .lead {
	margin-bottom: 1em;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.63;
	color: #3e3e3e;
	text-align: center;
}
.entry .text {
	font-size: 14px;
	line-height: 1.57;
	color: #3e3e3e;
	text-align: center;
}
.entry .text + .text {
	margin-top: 1em;
}
.entry .text a {
	color: #009edd;
	text-decoration: underline;
}
.entry .text a:hover {
	text-decoration: none;
}
.entry .privacycheck {
	margin: 20px auto 60px;
	padding: 20px 0;
	max-width: 800px;
	border-top: #b5b5b6 2px dotted;
	border-bottom: #b5b5b6 2px dotted;
	text-align: center;
}
.entry .privacycheck label {
	font-size: 14px;
}
.entry hr {
	margin: 40px auto 60px;
	max-width: 800px;
	border-top: #b5b5b6 2px dotted;
}
.entry dl {
	margin: 0 auto 50px;
	max-width: 724px;
}
.entry .error + dl {
	margin-top: 40px;
}
.entry dl div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.entry .mb-s {
	margin-bottom: 14px;
}
.entry .mb-m {
	margin-bottom: 40px;
}
.entry dl div dt {
	padding-top: 0.5em;
	font-size: 15px;
	font-weight: 600;
}
.entry dl div dt .required {
	color: #009edd;
}
.entry dl div dd {
	width: 514px;
	word-break: break-word;
}
.entry.confirm dl div dd {
	padding-top: 0.2em;
}
.entry dl div dd input {
	width: 100%;
	height: 40px;
	border: #5c6270 1px solid;
}
.entry .error {
	display: block;
	margin: 0 auto;
	max-width: 800px;
	padding-top: 0.2em;
	font-size: 14px;
	color: #f00;
}
.entry hr + .error,
.entry form .error:first-child {
	margin-top: -30px;
	margin-bottom: 40px;
}
.entry .error a {
	color: #009edd;
	text-decoration: underline;
}
.entry .text a:hover {
	text-decoration: none;
}
.entry-complete {
	padding-bottom: 250px;
}
.entry-complete p {
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}
.entry .cf-turnstile {
	margin-bottom: 40px;
	text-align: center;
}
@media screen and (max-width: 1060px) {
	.entry .inner {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media screen and (max-width: 768px) {
	.entry {
		margin-bottom: 20vw;
		padding-top: 30.6667vw;
	}
	.entry.confirm {
		margin-bottom: 25.3334vw;
	}
	.entry .inner {
		margin-left: auto;
		margin-right: auto;
		max-width: 86.6667vw;
	}
	.entry h2 {
		margin-bottom: 12vw;
	}
	.entry h2 .en {
		width: 14.0001vw;
	}
	.entry .lead {
		font-size: 4.5334vw;
	}
	.entry .text {
		font-size: 2.6667vw;
	}
	.entry .privacycheck {
		margin: 8vw auto;
		padding: 4vw 0;
		border-top: #b5b5b6 1px dotted;
		border-bottom: #b5b5b6 1px dotted;
	}
	.entry .privacycheck label {
		font-size: 2.6667vw;
	}
	.entry hr {
		margin: 7.3334vw auto 7.3334vw;
		border-top: #b5b5b6 1px dotted;
	}
	.entry dl {
		margin-bottom: 12vw;
	}
	.entry .error + dl {
		margin-top: 7.3334vw;
	}
	.entry dl div {
		display: block;
	}
	.entry .mb-s {
		margin-bottom: 2.9334vw;
	}
	.entry .mb-m {
		margin-bottom: 9.3334vw;
	}
	.entry dl div dt {
		padding-top: 0;
		font-size: 3.7334vw;
	}
	.entry dl div dd {
		width: 100%;
	}
	.entry dl div dd input {
		width: 100%;
		height: 40px;
		border: #5c6270 1px solid;
	}
	.entry .error {
		font-size: 3.7334vw;
	}
	.entry hr + .error,
	.entry form .error:first-child {
		margin-top: -3vw;
		margin-bottom: 7.3334vw;
	}
	.entry-complete {
		padding-bottom: 40vw;
	}
	.entry-complete p {
		font-size: 4.5334vw;
		line-height: 1.88;
	}
	.entry .cf-turnstile {
		margin-bottom: 10.6667vw;
	}
}

/* --------------------------------------------------
	.banner-area
-------------------------------------------------- */
.banner-area {
	margin-bottom: 260px;
}
.banner-area ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px;
}
.banner-area li {
	width: 230px;
}
@media screen and (max-width: 768px) {
	.banner-area {
		margin-bottom: 20vw;
	}
	.banner-area ul {
		gap: 5.3334vw;
	}
	.banner-area li {
		width: 66.6667vw;
	}
}

/* --------------------------------------------------
	.footer
-------------------------------------------------- */
.footer {
	width: 100%;
	background: #5c6270;
}
.footer .inner {
	padding-top: 20px;
	padding-bottom: 20px;
	max-width: 850px;
}
.footer h1 {
	position: absolute;
	left: 0;
	top: 20px;
	width: 137px;
}
.footer .fNav {
	margin-left: 157px;
}
.footer .fNav ul {
	display: flex;
	justify-content: end;
	flex-wrap: wrap;
}
.footer .fNav ul li {
	margin-left: -1px;
}
.footer .fNav ul li a {
	padding: 0 1em;
	border-left: #fff 1px solid;
	border-right: #fff 1px solid;
	font-size: 14px;
	line-height: 1;
	color: #fff;
}
.footer .copyright {
	margin-top: 150px;
	font-size: 10px;
	line-height: 1;
	color: #fff;
	text-align: center;
}
.footer .btn-entry {
	display: none;
}
@media screen and (max-width: 910px) {
	.footer .inner {
		padding-left: 30px;
		padding-right: 30px;
	}
	.footer h1 {
		left: 30px;
	}
}
@media screen and (max-width: 768px) {
	.footer {
		height: auto;
	}
	.footer .inner {
		padding: 20vw 6vw 8.6667vw;
	}
	.footer h1 {
		left: 6vw;
		top: 20vw;
		width: 30.6667vw;
	}
	.footer .fNav {
		margin-left: 40vw;
	}
	.footer .fNav ul {
		display: block;
		margin-top: -0.1em;
	}
	.footer .fNav ul li {
		line-height: 1;
	}
	.footer .fNav ul li + li{
		margin-top: 1em;
	}
	.footer .fNav ul li a {
		border-right: none;
		font-size: 3.2vw;
	}
	.footer .copyright {
		margin-top: 19.3334vw;
		font-size: 2.6667vw;
	}
	.footer .btn-entry {
		display: block;
		margin: 9.3334vw auto 0;
		width: 53.3334vw;
		height: 13.3334vw;
	}
	.footer .btn-entry a {
		display: grid;
		place-items: center;
		width: 100%;
		height: 100%;
		background: url("../img/entry_en_navy.svg") no-repeat center center;
		background-size: 14.9334vw auto;
		background-color: #fff;
		border-radius: 6.6667vw;
		box-shadow: 0 0 0.6667vw rgba(28,49,153,0.5);
		text-indent: -9999px;
	}
}