:root {
	--bg-color-black: #0c0c0c;
	--bg-color-gray: #f7f7f7;
	--text-color-black: #0c0c0c;
	--text-color-red: #da1c1c;
	--bg-text-color-wht: #eee;
	--bg-text-color-black: #1a1a1a
}
.en {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700
}
.sp {
	display: none
}
@media screen and (max-width: 896px) {
	.sp {
		display: block
	}
}
@media screen and (max-width: 896px) {
	.pc {
		display: none
	}
}
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
}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}
html {
	box-sizing: border-box
}
*:before, *:after {
	box-sizing: inherit
}
body {
	line-height: 1;
	-webkit-font-smoothing: antialiased
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
p {
	text-align: justify
}
nav ul {
	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;
	text-decoration: none
}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold
}
del {
	text-decoration: line-through
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help
}
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;
	outline: 0
}
ul, li {
	list-style: none
}
input[type="text"], input[type="button"], input[type="submit"], input[type="tel"], input[type="email"] {
	-webkit-appearance: none;
	border: none;
	box-sizing: border-box
}
input[type="text"]:focus, input[type="button"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus {
	outline: 0;
	background-color: var(--bg-color-gray)
}
input:-internal-autofill-selected {
	background-color: #fff !important
}
input[type="text"]:focus:placeholder-shown, input[type="button"]:focus:placeholder-shown, input[type="submit"]:focus:placeholder-shown, input[type="tel"]:focus:placeholder-shown, input[type="email"]:focus:placeholder-shown, textarea:focus:placeholder-shown {
	color: #999
}
input[type="text"]:focus:-webkit-input-placeholder, input[type="button"]:focus:-webkit-input-placeholder, input[type="submit"]:focus:-webkit-input-placeholder, input[type="tel"]:focus:-webkit-input-placeholder, input[type="email"]:focus:-webkit-input-placeholder, textarea:focus:-webkit-input-placeholder {
	color: #999
}
input[type="text"]:focus:-moz-placeholder, input[type="button"]:focus:-moz-placeholder, input[type="submit"]:focus:-moz-placeholder, input[type="tel"]:focus:-moz-placeholder, input[type="email"]:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
	color: #999
}
input[type="text"]:focus:-ms-input-placeholder, input[type="button"]:focus:-ms-input-placeholder, input[type="submit"]:focus:-ms-input-placeholder, input[type="tel"]:focus:-ms-input-placeholder, input[type="email"]:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
	color: #999
}
select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: content-box
}
input[type="text"]:placeholder-shown, input[type="email"]:placeholder-shown, input[type="tel"]:placeholder-shown {
	color: #999
}
input[type="text"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder {
	color: #999
}
input[type="text"]:-moz-placeholder, input[type="email"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, textarea:-moz-placeholder {
	color: #999
}
input[type="text"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, textarea:-ms-input-placeholder {
	color: #fff
}
textarea {
	resize: vertical
}
textarea:placeholder-shown {
	color: #999
}
textarea::-webkit-input-placeholder {
	color: #999
}
textarea::-moz-placeholder {
	color: #999
}
input:focus::placeholder, textarea:focus::placeholder {
	color: transparent;
	transition: 0.1s
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
	color: transparent;
	transition: 0.1s
}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
	color: transparent;
	transition: 0.1s
}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
	color: transparent;
	transition: 0.1s
}
button {
	background-color: transparent;
	outline: 0;
	border: 0
}
a {
	-webkit-tap-highlight-color: transparent;
	color: #0d0d0d
}
@media screen and (min-width: 896px) {
	a {
		transition: 0.3s;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		-webkit-font-smoothing: antialiased
	}
	a:hover {
		transition: 0.3s;
		cursor: pointer;
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
		-webkit-font-smoothing: antialiased
	}
}
table {
	border-collapse: collapse;
	border: none;
	border-spacing: 0;
	width: 100%
}
th, td {
	vertical-align: middle;
	border: solid 1px #000;
	font-weight: normal;
	text-align: left;
	border: 0
}
caption {
	text-align: left
}
html {
	scroll-behavior: smooth;
	overflow-x: hidden
}
html, body {
	width: 100%;
	height: 100%;
	background-color: var(--bg-color-gray);
	font-size: 62.5%;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--text-color-black);
	font-display: swap;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased
}
@media screen and (max-width: 896px) {
	body.sp_fix {
		position: fixed;
		width: 100%;
		height: 100%;
		overflow: hidden
	}
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}
svg {
	width: 100%;
	height: auto
}
.slick-list:focus {
	outline: none !important
}
.basetxt {
	line-height: 2;
	letter-spacing: 0.08em
}
@media screen and (min-width: 897px) {
	.basetxt {
		font-size: 1.6rem
	}
}
@media screen and (max-width: 896px) {
	.basetxt {
		font-size: 1.4rem
	}
}
.baselink {
	display: inline-block;
	padding: 18px 36px;
	background-color: var(--text-color-red);
	border: 1px solid var(--text-color-red);
	border-radius: 25px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .1em;
	color: #fff
}
@media screen and (min-width: 897px) {
	.baselink:hover {
		background-color: #fff;
		color: var(--text-color-red)
	}
	.baselink:hover .txt {
		background-image: url(../../img/common/icon_arrow_link_red.png)
	}
}
.baselink .txt {
	padding-right: 34px;
	background-image: url(../../img/common/icon_arrow_link.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 24px
}
@keyframes fluidrotate {
	0%, 100% {
		border-radius: 63% 37% 54% 46%/55% 48% 52% 45%
	}
	14% {
		border-radius: 40% 60% 54% 46%/49% 60% 40% 51%
	}
	28% {
		border-radius: 54% 46% 38% 62%/49% 70% 30% 51%
	}
	42% {
		border-radius: 61% 39% 55% 45%/61% 38% 62% 39%
	}
	56% {
		border-radius: 61% 39% 67% 33%/70% 50% 50% 30%
	}
	70% {
		border-radius: 50% 50% 34% 66%/56% 68% 32% 44%
	}
	84% {
		border-radius: 46% 54% 50% 50%/35% 61% 39% 65%
	}
}
@media screen and (max-width: 896px) {
	#stage {
		overflow-x: hidden
	}
}
#stkr {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 10px;
	left: 10px;
	width: 138px;
	height: 138px;
	border: 1px solid #959595;
	border-radius: 50%;
	transition: 0.2s ease-out;
	transition-timing-function: ease-out;
	pointer-events: none;
	opacity: 0;
	z-index: 10;
	display: none
}
#stkr.bgon {
	display: none
}
@media screen and (max-width: 896px) {
	#stkr {
		display: none
	}
}
#stkr.wht {
	background-color: #fff
}
#stkr.arrowRotate {
	background-color: #fff
}
#stkr.arrowRotate .arrow {
	transform: rotate(-90deg)
}
#stkr .txt {
	color: #898989
}
#stkr .arrow {
	width: 8px;
	margin-top: 16px;
	transition: .35s ease
}
#scroll-menu {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 10.5rem;
	right: 10px;
	width: 310px;
	height: 205px;
	border: 1px solid #959595;
	transition: 0.2s ease-out;
	transition-timing-function: ease-out;
	opacity: 0;
	z-index: 10;
	background-color: rgba(0, 0, 0, 0.7);
	padding: 15px 0;
}
.scroll-menu-title {
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.5;
	letter-spacing: .1em;
}
#scroll-menu-sp {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 5rem;
	border: 1px solid #959595;
	transition: 0.2s ease-out;
	transition-timing-function: ease-out;
	opacity: 0;
	z-index: 10;
	background-color: var(--text-color-red);
}
.scroll-on {
	opacity: 1 !important;
}

.scroll-menu-btn {
	color: #fff;
	font-size: 1.6rem;
	text-align: left;
	line-height: 1.125;
	letter-spacing: .1em;
	border-radius: .5em;
	padding: 10px 4.2rem 10px;
	background-color: var(--text-color-red);
	margin: 10px 5px;
}
.scroll-menu-btn-area {
	position: relative;
}
.scroll-menu-btn::before {
	content: '▲';
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-45%) rotate(90deg);
    /*width: 8px;
    height: 8px;
    border: 1px solid #fff;
    border-width: 2px 2px 0 0;*/
}
.scroll-menu-btn--contact {
	background-image: url(../../img/top/icon_nav_contact.png);
	background-repeat: no-repeat;
	background-size: 1.5em;
	background-position: 10px center;
}
.scroll-menu-btn--contact > p {
	vertical-align: text-top;
}
.contact-description {
	font-size: 1.2rem;
	color: #E5E1E1;
	margin-top: .5rem;
}
.scroll-menu-btn--file {
	background-image: url(../../img/top/icon_nav_file.png);
	background-repeat: no-repeat;
	background-size: 1.5em;
	background-position: 10px center;
}
.scroll-menu-btn--file > p {
	vertical-align: text-top;
}
.header {
	display: flex;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0px;
	width: 100%;
	z-index: 10001;
	transition: .35s ease-out
}
.header.on, .header.bgon {
	background-color: #101010
}
@media screen and (min-width: 897px) {
	.header.on .logo, .header.bgon .logo {
		width: 72px
	}
}
@media screen and (min-width: 897px) {
	.header {
		padding: 0 4.28%
	}
}
@media screen and (max-width: 896px) {
	.header {
		justify-content: space-between;
		padding: 8px 5%
	}
}
.header.on {
	background-color: #000
}
@media screen and (min-width: 897px) {
	.header .logo {
		width: 82px;
		transition: .35s ease-out
	}
}
@media screen and (max-width: 896px) {
	.header .logo {
		position: relative;
		z-index: 10;
		width: 15%
	}
}
.header .logo a {
	display: block;
	position: relative
}
@media screen and (min-width: 897px) {
	.header .logo a:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 58px;
		background-image: url(../../img/common/logo_wht.png);
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
		opacity: 0;
		transition: .35s ease
	}
}
.header .menubtn {
	position: relative;
	width: 40px;
	height: 40px
}
@media screen and (max-width: 896px) {
	.header .menubtn {
		position: relative;
		z-index: 10
	}
}
.header .menubtn.close .bar {
	background-color: #000
}
.header .menubtn.close .bar:first-child {
	transform: translate(-50%, -50%) rotate(45deg);
	margin-top: 0
}
.header .menubtn.close .bar:nth-child(2) {
	transform: translate(-50%, -50%) rotate(-45deg);
	margin-top: 0
}
.header .menubtn.close .text {
	color: #000
}
.header .menubtn .bar {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 2px;
	background-color: #fff;
	transition: .35s ease
}
@media screen and (min-width: 897px) {
	.header .menubtn .bar:first-child {
		margin-top: -2px
	}
	.header .menubtn .bar:nth-child(2) {
		margin-top: 2px
	}
}
@media screen and (max-width: 896px) {
	.header .menubtn .bar:first-child {
		margin-top: -3px
	}
	.header .menubtn .bar:nth-child(2) {
		margin-top: 3px
	}
}
.header .menubtn .text {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	font-size: 1rem;
	color: #fff
}
@media screen and (min-width: 897px) {
	.nav {
		display: flex;
		align-items: center;
		margin-left: auto
	}
}
@media screen and (max-width: 896px) {
	.nav {
		overflow-y: scroll;
		position: fixed;
		top: 0;
		left: 0;
		transform: translate(100%, 0);
		width: 100%;
		height: 100%;
		padding: 100px 8% 120px;
		background-color: #fff;
		transition: .5s ease
	}
	.nav.on {
		transform: translate(0, 0)
	}
}
@media screen and (min-width: 897px) {
	.nav__main {
		display: flex;
		align-items: center
	}
}
@media screen and (max-width: 896px) {
	.nav__main {
		margin-top: 20px
	}
}
@media screen and (min-width: 897px) {
	.nav .mainmenu {
		position: relative;
		margin-left: 40px
	}
	.nav .mainmenu:hover {
		cursor: pointer
	}
	.nav .mainmenu:hover .submenu {
		opacity: 1;
		height: auto;
		visibility: inherit
	}
}
@media screen and (max-width: 896px) {
	.nav .mainmenu {
		margin-bottom: 50px
	}
	.nav .mainmenu:last-child {
		width: 100%
	}
}
.nav .linktxt {
	position: relative;
	letter-spacing: 0.1em
}
@media screen and (min-width: 897px) {
	.nav .linktxt {
		display: inline-block;
		padding: 30px 5px;
		font-size: 1.4rem;
		font-weight: 900;
		color: #fff
	}
	.nav .linktxt:hover {
		color: var(--text-color-red)
	}
	.nav .linktxt.nohover:hover {
		color: #fff
	}
}
@media screen and (max-width: 896px) {
	.nav .linktxt.splink {
		position: relative;
		display: block;
		font-size: 1.2rem;
		font-weight: 500;
		color: var(--text-color-red)
	}
	.nav .linktxt.splink .en {
		display: block;
		font-size: 1.4rem;
		font-weight: 700;
		letter-spacing: .1em
	}
	.nav .linktxt.splink .jp {
		position: relative;
		display: inline-block;
		padding-right: 10px;
		margin-top: 8px
	}
	.nav .linktxt.splink .jp.arrow:before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		border-style: solid;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid var(--text-color-red);
		border-right: 0
	}
}
.nav .linktxt.contactbtn {
	padding: 13px 52px 15px 27px;
	border: 1px solid var(--text-color-black);
	border-radius: 22px;
	background-color: var(--text-color-black);
	background-image: url(../../img/common/icon_nav_contact.png);
	background-size: 15px;
	background-repeat: no-repeat;
	color: #fff
}
.nav .linktxt.document_request {
	padding: 13px 52px 15px 27px;
	border: 1px solid var(--text-color-red);
	border-radius: 22px;
	background-color: var(--text-color-red);
	padding-right: 72px;
	background-image: url(../../img/common/icon_arrow_link.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 24px;
	color: #fff
}
@media screen and (min-width: 897px) {
	.nav .linktxt.contactbtn {
		background-position: 86% center
	}
	.nav .linktxt.document_request {
		background-position: 86% center
	}
}
@media screen and (max-width: 896px) {
	.nav .linktxt.contactbtn {
		background-position: 70% center
	}
	.nav .linktxt.document_request {
		background-position: 70% center
	}
}
.nav .linktxt.contactbtn:before {
	display: none
}
.nav .linktxt.document_request:before {
	display: none
}
@media screen and (min-width: 897px) {
	.nav .linktxt.contactbtn:hover {
		background-color: #fff;
		background-image: url(../../img/common/icon_contact.svg);
		color: var(--text-color-black)
	}
}
@media screen and (max-width: 896px) {
	.nav .linktxt.contactbtn {
		display: block;
		margin: 10px auto 0;
		font-size: 1.4rem;
		text-align: center
	}
	.nav .linktxt.document_request {
		display: block;
		margin: auto 0;
		font-size: 1.4rem;
		text-align: center
	}
}
@media screen and (max-width: 896px) {
	.nav .sptxt {
		position: relative;
		color: var(--text-color-red)
	}
	.nav .sptxt .en {
		display: block;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: .1em
	}
	.nav .sptxt .jp {
		position: relative;
		display: inline-block;
		padding-right: 10px;
		margin-top: 8px;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.1em
	}
	.nav .sptxt .jp.arrow:before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		border-style: solid;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid var(--text-color-red);
		border-right: 0
	}
}
@media screen and (min-width: 897px) {
	.nav .submenu {
		position: absolute;
		bottom: 0;
		left: 0;
		transform: translateY(100%);
		background-color: #141414;
		opacity: 0;
		height: 0;
		visibility: hidden;
		transition: opacity .3s ease-out
	}
}
@media screen and (max-width: 896px) {
	.nav .submenu {
		margin-top: 24px
	}
}
.nav .submenu li {
	white-space: nowrap
}
@media screen and (max-width: 896px) {
	.nav .submenu li:not(.nav .submenu li: first-child) {
		margin-top:16px
	}
}
.nav .submenu a {
	font-size: 1.2rem;
	font-weight: 500
}
@media screen and (min-width: 897px) {
	.nav .submenu a {
		display: block;
		padding: 16px 26px;
		color: #fff
	}
	.nav .submenu a:hover {
		cursor: pointer;
		background-color: var(--text-color-red)
	}
}
@media screen and (max-width: 896px) {
	.nav .submenu a {
		position: relative;
		letter-spacing: 0.1em;
		line-height: 1.2;
		color: #0c0c0c
	}
}
@media screen and (max-width: 896px) {
	.nav__submenu {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 50px
	}
	.nav__submenu li {
		width: 47%;
		margin-top: 20px
	}
	.nav__submenu li a {
		position: relative;
		display: inline-block;
		padding-right: 12px;
		color: #a0a0a0
	}
}
@media screen and (max-width: 896px) and (min-width: 897px) {
	.nav__submenu li a {
		font-size: 1rem
	}
}
@media screen and (max-width: 896px) and (max-width: 896px) {
	.nav__submenu li a {
		font-size: 1.1rem
	}
}
@media screen and (max-width: 896px) {
	.nav__submenu li a:before {
		content: '';
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		border-style: solid;
		border-top: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-left: 6px solid #a0a0a0;
		border-right: 0
	}
}
.mvunder {
	position: relative;
	background-color: var(--bg-color-black)
}
@media screen and (min-width: 897px) {
	.mvunder {
		min-height: 580px;
		padding: 200px 0 140px 10%
	}
}
@media screen and (max-width: 896px) {
	.mvunder {
		padding: 140px 5% 100px
	}
}
.mvunder .page_ttl {
	color: #fff
}
.mvunder .page_ttl .en {
	display: inline-block;
	letter-spacing: 0;
	color: var(--text-color-red);
	text-transform: uppercase
}
@media screen and (min-width: 897px) {
	.mvunder .page_ttl .en {
		font-size: 12rem;
		text-indent: -.075em
	}
}
@media screen and (max-width: 896px) {
	.mvunder .page_ttl .en {
		font-size: 5.2rem
	}
}
.mvunder .page_ttl .jp {
	display: block;
	font-weight: 900;
	letter-spacing: 0.2em
}
@media screen and (min-width: 897px) {
	.mvunder .page_ttl .jp {
		margin-top: 12px;
		font-size: 2.6rem
	}
}
@media screen and (max-width: 896px) {
	.mvunder .page_ttl .jp {
		margin-top: 8px;
		font-size: 1.8rem
	}
}
.mvunder .leadtxt {
	line-height: 2;
	color: #fff
}
@media screen and (min-width: 897px) {
	.mvunder .leadtxt {
		margin-top: 36px;
		font-size: 1.6rem
	}
}
@media screen and (max-width: 896px) {
	.mvunder .leadtxt {
		margin-top: 24px;
		font-size: 1.4rem
	}
}
.path {
	position: absolute;
	bottom: 20px;
	left: 5%
}
.path ul {
	display: flex;
	align-items: center
}
@media screen and (max-width: 896px) {
	.path ul {
		flex-wrap: wrap
	}
}
.path li {
	color: #fff
}
.path li.arrow {
	position: relative;
	padding-left: 16px;
	margin-left: 12px
}
.path li.arrow:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	border-style: solid;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid #ccc;
	border-right: 0
}
.path .home {
	display: block;
	border-radius: 50%;
	background-color: #535353;
	background-image: url(../../img/common/icon_home.svg);
	background-position: center;
	background-repeat: no-repeat
}
@media screen and (min-width: 897px) {
	.path .home {
		width: 30px;
		height: 30px;
		background-size: 16px
	}
}
@media screen and (max-width: 896px) {
	.path .home {
		width: 28px;
		height: 28px;
		background-size: 12px
	}
}
.path .txt {
	display: block;
	padding: 8px 14px;
	background-color: #535353;
	border-radius: 14px;
	letter-spacing: 0.04em;
	color: #fff
}
@media screen and (min-width: 897px) {
	.path .txt {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 896px) {
	.path .txt {
		font-size: 1.2rem
	}
}
.path .txt.current {
	background-color: #fff;
	color: #000
}
@media screen and (max-width: 896px) {
	.path .news_ttl {
		margin-top: 10px
	}
}
@media screen and (min-width: 897px) {
	.path .news_ttl .ttl {
		font-size: 1.4rem
	}
}
@media screen and (max-width: 896px) {
	.path .news_ttl .ttl {
		font-size: 1.2rem
	}
}
@media screen and (min-width: 897px) {
	.companylink {
		display: flex;
		justify-content: space-between;
		padding: 140px 7.7% 80px
	}
}
@media screen and (max-width: 896px) {
	.companylink {
		padding: 100px 7.7% 80px
	}
}
@media screen and (min-width: 897px) {
	.companylink__item {
		width: 31.5%
	}
}
@media screen and (max-width: 896px) {
	.companylink__item:not(.companylink__item: first-child) {
		margin-top:50px
	}
}
.companylink__item .en {
	letter-spacing: 0;
	color: var(--text-color-red)
}
@media screen and (min-width: 897px) {
	.companylink__item .en {
		font-size: 3.8rem;
		white-space: nowrap
	}
}
@media screen and (max-width: 896px) {
	.companylink__item .en {
		font-size: 3.2rem
	}
}
.companylink__item .thumb {
	margin-top: 18px
}
.companylink__item .jp {
	font-weight: 900;
	letter-spacing: 0.05em
}
@media screen and (min-width: 897px) {
	.companylink__item .jp {
		margin-top: 28px;
		font-size: 2.4rem
	}
}
@media screen and (max-width: 896px) {
	.companylink__item .jp {
		margin-top: 18px;
		font-size: 2rem
	}
}
@media screen and (min-width: 897px) {
	.companylink__item .baselink {
		margin-top: 20px
	}
}
@media screen and (max-width: 896px) {
	.companylink__item .baselink {
		margin-top: 12px
	}
}
.footer {
	position: relative;
	z-index: 2
}
.footer__contact {
	background-color: var(--bg-color-gray)
}
@media screen and (min-width: 897px) {
	.footer__contact {
		padding: 120px 0
	}
}
@media screen and (max-width: 896px) {
	.footer__contact {
		padding: 60px 0
	}
}
.footer__contact .heading {
	text-align: center
}
.footer__contact .heading span {
	font-weight: 900;
	letter-spacing: 0.2em
}
@media screen and (min-width: 897px) {
	.footer__contact .heading span {
		font-size: 2rem
	}
}
@media screen and (max-width: 896px) {
	.footer__contact .heading span {
		font-size: 1.4rem
	}
}
@media screen and (min-width: 897px) {
	.footer__contact .heading h2 {
		margin-top: 24px;
		font-size: 11.4rem
	}
}
@media screen and (max-width: 896px) {
	.footer__contact .heading h2 {
		margin-top: 16px;
		font-size: 4.2rem
	}
}
.footer__contact-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 208px;
	height: 208px;
	margin: 60px auto 0;
	border-radius: 50%;
	border: 1px solid #000
}
@media screen and (min-width: 897px) {
	.footer__contact-link:hover {
		background-color: var(--text-color-red);
		color: #fff
	}
	.footer__contact-link:hover .icon {
		background-image: url(../../img/common/icon_contact_wht.png)
	}
}
.footer__contact-link .icon {
	width: 44px;
	height: 26px;
	background-image: url(../../img/common/icon_contact.svg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 0 0
}
.footer__contact-link p {
	margin-top: 12px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em
}
.footer__logoarea {
	background-color: var(--text-color-black)
}
@media screen and (min-width: 897px) {
	.footer__logoarea {
		padding: 60px 10%
	}
}
@media screen and (max-width: 896px) {
	.footer__logoarea {
		padding: 40px 5%
	}
}
@media screen and (min-width: 897px) {
	.footer__logoarea-logo {
		width: 350px
	}
}
.footer__sitemap {
	background-color: #1f1f1f
}
@media screen and (min-width: 897px) {
	.footer__sitemap {
		padding: 80px 10% 0
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap {
		padding: 50px 5% 0;
		margin-bottom: 5rem;
	}
}
.footer__sitemap-upper {
	display: flex;
	justify-content: space-between
}
@media screen and (max-width: 896px) {
	.footer__sitemap-upper {
		flex-wrap: wrap
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-upper .item {
		width: 100%
	}
	.footer__sitemap-upper .item:not(.footer__sitemap-upper .item:first-child) {
		margin-top: 50px
	}
}
@media screen and (min-width: 897px) {
	.footer__sitemap-upper .item a:hover {
		color: var(--text-color-red)
	}
}
.footer__sitemap-upper h4 {
	color: #fff
}
.footer__sitemap-upper h4 a {
	color: #fff
}
@media screen and (min-width: 897px) {
	.footer__sitemap-upper h4 a:hover {
		color: var(--text-color-red)
	}
	.footer__sitemap-upper h4 a:hover .jp.arrow:before {
		border-left: 5px solid var(--text-color-red)
	}
}
.footer__sitemap-upper h4 .en {
	display: block;
	font-size: 2rem;
	letter-spacing: 0.1em
}
.footer__sitemap-upper h4 .jp {
	display: inline-block;
	padding-right: 12px;
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em
}
.footer__sitemap-upper h4 .jp.arrow {
	position: relative
}
.footer__sitemap-upper h4 .jp.arrow:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	border-style: solid;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid #ffffff;
	border-right: 0;
	transition: .35s ease-out
}
.footer__sitemap-upper ul {
	padding-left: 15px;
	border-left: 1px solid #535353
}
@media screen and (min-width: 897px) {
	.footer__sitemap-upper ul {
		margin-top: 30px
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-upper ul {
		margin-top: 20px
	}
}
.footer__sitemap-upper li:not(.footer__sitemap-upper li:first-child) {
	margin-top: 15px
}
.footer__sitemap-upper li a {
	font-size: 1.4rem;
	color: #a0a0a0
}
.footer__sitemap-lower {
	position: relative;
	padding-bottom: 30px
}
@media screen and (min-width: 897px) {
	.footer__sitemap-lower {
		margin-top: 118px
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-lower {
		margin-top: 68px
	}
}
.footer__sitemap-lower .submenu {
	display: flex
}
@media screen and (min-width: 897px) {
	.footer__sitemap-lower .submenu {
		justify-content: center;
		margin-bottom: 26px
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-lower .submenu {
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 30px
	}
}
@media screen and (min-width: 897px) {
	.footer__sitemap-lower li {
		position: relative;
		padding-right: 20px;
		margin-right: 20px
	}
	.footer__sitemap-lower li:not(.footer__sitemap-lower li:last-child):before {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		width: 1px;
		height: 100%;
		background-color: #a0a0a0
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-lower li {
		width: 47%
	}
	.footer__sitemap-lower li:nth-child(n+3) {
		margin-top: 16px
	}
}
.footer__sitemap-lower li a {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	color: #a0a0a0
}
@media screen and (min-width: 897px) {
	.footer__sitemap-lower li a:hover {
		color: var(--text-color-red)
	}
}
.footer__sitemap-lower .copyright {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	color: #a0a0a0
}
@media screen and (min-width: 897px) {
	.footer__sitemap-lower .copyright {
		margin-left: auto;
		text-align: center
	}
}
@media screen and (max-width: 896px) {
	.footer__sitemap-lower .copyright {
		margin-top: 60px
	}
}
.footer .p_mark {
	position: absolute;
	right: 5%;
	padding: 5px;
	background-color: #fff
}
@media screen and (min-width: 897px) {
	.footer .p_mark {
		bottom: 0;
		width: 100px
	}
}
@media screen and (max-width: 896px) {
	.footer .p_mark {
		bottom: 10px;
		width: 60px
	}
}
.text_anime {
	opacity: 0;
	filter: blur(10px);
	will-change: scroll-position
}
.text_anime.on {
	animation: text_anime 1s cubic-bezier(0.83, 0, 0.17, 1) forwards
}
@keyframes text_anime {
	0% {
		opacity: 0;
		filter: blur(10px)
	}
	100% {
		opacity: 1;
		filter: blur(0)
	}
}
.text_anime_start {
	opacity: 0;
	filter: blur(10px);
	will-change: contents;
	animation: text_anime .25s linear .75s forwards
}
@keyframes text_anime {
	0% {
		opacity: 0;
		filter: blur(10px)
	}
	100% {
		opacity: 1;
		filter: blur(0)
	}
}
.underline {
	position: relative
}
.underline::after {
	content: "";
	background: #dadada;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -4px;
	left: 0;
	transform: scale(0, 1);
	transition: transform .3s;
	transform-origin: right top
}
@media screen and (min-width: 897px) {
	.underline:hover::after {
		transform-origin: left top;
		transform: scale(1, 1)
	}
}
.hoverScale .thumb {
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1)
}
.hoverScale .thumb .scaleImg {
	transition: transform 0.4s cubic-bezier(0.4, 0.1, 0.3, 1)
}
.hoverScale .thumb .scaleImg img {
	backface-visibility: hidden
}
@media screen and (min-width: 897px) {
	.hoverScale:hover .thumb {
		transform: scale(0.95)
	}
	.hoverScale:hover .thumb .scaleImg {
		transform: scale(1.15)
	}
}
.svg_anim svg {
	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;
	transition: 1s;
	width: 100%;
	height: auto
}
.svg_anim.on svg {
	stroke-dashoffset: 2000
}
.fade_y {
	transform: translateY(30px);
	opacity: 0;
	transition: .3s ease-out;
	will-change: transform
}
.fade_y.on {
	opacity: 1;
	transform: translateY(0%)
}
.fade_x_left {
	transform: translateX(-30px);
	opacity: 0;
	transition: .3s ease-out;
	will-change: transform
}
.fade_x_left.on {
	opacity: 1;
	transform: translateX(0)
}
.fade_x_right {
	transform: translateX(30px);
	opacity: 0;
	transition: .3s ease-out;
	will-change: transform
}
.fade_x_right.on {
	opacity: 1;
	transform: translateX(0)
}
.scr_cvr {
	overflow: hidden;
	position: relative;
	display: block;
	opacity: 0;
	transition: .5s
}
.scr_cvr::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
	z-index: 1;
	background-color: #000;
	transition: all 0.6s cubic-bezier(0.5, 0, 0.3, 1);
	transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1)
}
.scr_cvr.on {
	opacity: 1
}
.scr_cvr.on::before {
	right: -100%;
	transition-delay: .3s
}
.top .top_heading {
	position: relative;
	text-align: center
}
@media screen and (min-width: 897px) {
	.top .top_heading {
		margin-bottom: 80px
	}
}
@media screen and (max-width: 896px) {
	.top .top_heading {
		margin-bottom: 40px
	}
}
.top .top_heading .scale_head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: 100%;
	will-change: transform
}
.top .top_heading .wht .en, .top .top_heading .wht .jp {
	color: #fff
}
@media screen and (min-width: 897px) {
	.top .top_heading .en {
		font-size: 12rem
	}
}
@media screen and (max-width: 896px) {
	.top .top_heading .en {
		font-size: 5.6rem
	}
}
.top .top_heading .jp {
	display: block;
	font-weight: 900;
	letter-spacing: 0.48em
}
@media screen and (min-width: 897px) {
	.top .top_heading .jp {
		margin-top: 18px;
		font-size: 2rem
	}
}
@media screen and (max-width: 896px) {
	.top .top_heading .jp {
		margin-top: 8px;
		font-size: 1.6rem
	}
}
.top .bg_txt {
	position: relative
}
@media screen and (min-width: 897px) {
	.top .bg_txt {
		margin-bottom: 42px
	}
}
@media screen and (max-width: 896px) {
	.top .bg_txt {
		margin-bottom: 14px
	}
}
.top .bg_txt .en {
	color: #1a1a1a
}
@media screen and (min-width: 897px) {
	.top .bg_txt .en {
		font-size: 20rem
	}
}
@media screen and (max-width: 896px) {
	.top .bg_txt .en {
		font-size: 6.8rem
	}
}
.top .bg_txt .en.wht {
	color: #eee
}
.top .bg_txt .jp {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	letter-spacing: 0.2em;
	color: #fefefe
}
@media screen and (min-width: 897px) {
	.top .bg_txt .jp {
		left: 10vw;
		font-size: 4.8rem
	}
}
@media screen and (max-width: 896px) {
	.top .bg_txt .jp {
		left: 5vw;
		font-size: 3rem
	}
}
.top .bg_txt .jp.wht {
	color: #0c0c0c
}
.top .content_heading {
	font-weight: 900;
	line-height: 1.41;
	letter-spacing: .05em
}
@media screen and (min-width: 897px) {
	.top .content_heading {
		font-size: 3.2rem
	}
}
@media screen and (max-width: 896px) {
	.top .content_heading {
		font-size: 2rem
	}
}
.top .content_heading.wht {
	color: #fff
}
.top .mv {
	overflow: hidden;
	position: relative;
	background-color: #010101
}
@media screen and (min-width: 897px) {
	.top .mv {
		height: 100vh
	}
}
@media screen and (max-width: 896px) {
	.top .mv {
		height: 94vh
	}
}
.top .mv__logo {
	position: absolute;
	top: 50%;
	z-index: 10
}
@media screen and (min-width: 897px) {
	.top .mv__logo {
		width: 86%;
		left: 0;
		transform: translate(0, -50%)
	}
	.top .mv__logo.pngver {
		width: 96%
	}
}
@media screen and (max-width: 896px) {
	.top .mv__logo {
		width: 120%;
		left: 50%;
		top: 42%;
		transform: translate(-50%, -60%)
	}
	.top .mv__logo.pngver {
		width: 120%
	}
}
.top .mv__logo.fade:before {
	opacity: 1
}
.top .mv__logo.fade img {
	opacity: 0
}
.top .mv__logo:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	max-width: 1300px;
	width: 100%;
	height: 100%;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0
}
@media screen and (min-width: 897px) {
	.top .mv__logo:before {
		background-image: url(../../img/top/mv_logo01.gif)
	}
}
@media screen and (max-width: 896px) {
	.top .mv__logo:before {
		height: 91%;
		background-image: url(../../img/top/mv_logo01.gif)
	}
}
@media screen and (min-width: 897px) {
	.top .mv__logo.apng:before {
		background-image: url(../../img/top/mv_logo_2.png)
	}
}
@media screen and (max-width: 896px) {
	.top .mv__logo.apng:before {
		height: 91%;
		background-image: url(../../img/top/mv_logo_sp_02.png)
	}
}
@media screen and (max-width: 896px) {
	.top .mv .bg_video {
		position: absolute;
		z-index: 2;
		left: 0;
		top: 50%;
		width: 100%;
		height: 100%;
		transform: translate(0, -50%)
	}
}
.top .mv .bg_video #video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center
}
.top .mv .scroll {
	position: absolute;
	right: 5%;
	z-index: 10
}
@media screen and (min-width: 897px) {
	.top .mv .scroll {
		bottom: 60px;
		padding-bottom: 42px
	}
}
@media screen and (max-width: 896px) {
	.top .mv .scroll {
		bottom: 20px;
		padding-bottom: 40px
	}
}
.top .mv .scroll:before, .top .mv .scroll:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0)
}
.top .mv .scroll:before {
	bottom: 0;
	width: 2px;
	height: 24px;
	background-color: #fff
}
.top .mv .scroll:after {
	bottom: -2px;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 6px solid #ffffff;
	border-bottom: 0
}
.top .mv .scroll .txt {
	color: #fff
}
.top .mv .newsarea {
	display: flex;
	position: absolute;
	bottom: 20px;
	left: 5%;
	z-index: 10;
	color: #fff
}
@media screen and (min-width: 897px) {
	.top .mv .newsarea {
		align-items: center
	}
}
@media screen and (max-width: 896px) {
	.top .mv .newsarea {
		align-items: flex-start;
		flex-direction: column
	}
}
.top .mv .newsarea .label {
	letter-spacing: 0.15em
}
@media screen and (min-width: 897px) {
	.top .mv .newsarea .label {
		font-size: 2rem
	}
}
@media screen and (max-width: 896px) {
	.top .mv .newsarea .label {
		font-size: 1.8rem
	}
}
.top .mv .newsarea .time {
	letter-spacing: 0.1em
}
@media screen and (min-width: 897px) {
	.top .mv .newsarea .time {
		margin-left: 30px;
		font-size: 1.8rem
	}
}
@media screen and (max-width: 896px) {
	.top .mv .newsarea .time {
		margin-top: 10px;
		font-size: 1.6rem
	}
}
.top .mv .newsarea .cat {
	padding: 4px 12px 6px;
	background-color: var(--text-color-red);
	border-radius: 20px;
	font-size: 1.2rem;
	letter-spacing: .05em
}
@media screen and (min-width: 897px) {
	.top .mv .newsarea .cat {
		margin-left: 20px
	}
}
@media screen and (max-width: 896px) {
	.top .mv .newsarea .cat {
		margin-top: 10px
	}
}
.top .mv .newsarea .txt {
	position: relative;
	padding-right: 16px;
	font-size: 1.2rem;
	letter-spacing: .075em;
	color: #fff
}
@media screen and (min-width: 897px) {
	.top .mv .newsarea .txt {
		margin-left: 20px
	}
	.top .mv .newsarea .txt:hover:after {
		transform: scale(1, 1);
		transform-origin: left top
	}
}
@media screen and (max-width: 896px) {
	.top .mv .newsarea .txt {
		margin-top: 10px
	}
}
.top .mv .newsarea .txt:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-45%) rotate(45deg);
	width: 8px;
	height: 8px;
	border: 1px solid #fff;
	border-width: 1px 1px 0 0
}
.top .mv .newsarea .txt:after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	width: calc( 100% - 16px);
	height: 2px;
	background-color: var(--text-color-red);
	transition: transform .35s ease-out
}
@media screen and (min-width: 897px) {
	.top .concept {
		padding: 90px 0 180px 10vw
	}
}
@media screen and (max-width: 896px) {
	.top .concept {
		padding: 40px 5vw 80px 5vw;
	}
}
.top .concept .txt {
	font-weight: 900;
	line-height: 1.714;
	letter-spacing: 0.05em
}
@media screen and (min-width: 897px) {
	.top .concept .txt:not(.top .concept .txt: first-child) {
		margin-top:48px
	}
}
@media screen and (max-width: 896px) {
	.top .concept .txt:not(.top .concept .txt: first-child) {
		margin-top:32px
	}
}
@media screen and (min-width: 897px) {
	.top .concept .txt {
		font-size: 2.8rem
	}
}
@media screen and (max-width: 896px) {
	.top .concept .txt {
		font-size: 2rem
	}
}
.top .concept .mainphrase {
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: var(--text-color-red)
}
@media screen and (min-width: 897px) {
	.top .concept .mainphrase {
		margin-top: 20px;
		font-size: 4.8rem
	}
}
@media screen and (max-width: 896px) {
	.top .concept .mainphrase {
		margin-top: 12px;
		font-size: 2.7rem
	}
}
.top .business {
	background-color: var(--bg-color-black)
}
@media screen and (min-width: 897px) {
	.top .business {
		padding: 138px 0 108px
	}
}
@media screen and (max-width: 896px) {
	.top .business {
		padding: 34px 0 80px
	}
}
@media screen and (min-width: 897px) {
	.top .business__contents {
		display: flex;
		align-items: flex-end;
		margin-left: 10vw;
		margin-right: 10vw
	}
}
@media screen and (max-width: 896px) {
	.top .business__contents {
		margin-left: 5vw;
		margin-right: 5vw
	}
}
@media screen and (max-width: 896px) {
	.ebooks_wrap {
		display:flex;
		flex-wrap: wrap;
	}
}
@media screen and (min-width: 897px) {
	.top .business__contents-textarea {
		width: 60%;
		.ebooks_wrap {
			display:flex;
		}
	}
}
.top .business__contents-textarea .phrase {
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: .05em;
	color: white
}
@media screen and (min-width: 897px) {
	.top .business__contents-textarea .phrase {
		font-size: 4rem
	}
}
@media screen and (max-width: 896px) {
	.top .business__contents-textarea .phrase {
		font-size: 2rem
	}
	.basetxt {
		margin-top: 14px !important;
		line-height: 1.7;
	}
}
.top .business__contents-textarea .phrase .red {
	color: var(--text-color-red)
}
.top .business__contents-textarea .basetxt {
	margin-top: 28px;
	color: #fff
}
.top .business__contents-textarea .baselink {
	margin-top: 42px
}
@media screen and (min-width: 897px) {
	.top .business__contents-thumb {
		flex: 1;
		margin-left: 2%
	}
}
@media screen and (max-width: 896px) {
	.top .business__contents-thumb {
		margin-top: 24px
	}
}
@media screen and (min-width: 897px) {
	.top .company {
		padding: 160px 0
	}
}
@media screen and (max-width: 896px) {
	.top .company {
		padding: 34px 0 80px
	}
}
@media screen and (min-width: 897px) {
	.top .company .content_heading {
		margin-left: 10vw
	}
}
@media screen and (max-width: 896px) {
	.top .company .content_heading {
		margin-left: 5vw;
		margin-right: 5vw
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		flex-wrap: wrap;
		margin-top: 70px;
		margin-left: 10vw;
		margin-right: 10vw
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist {
		margin-top: 25px;
		margin-left: 5vw;
		margin-right: 5vw
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item {
		margin-top: 30px
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item:nth-child(n+3) {
		margin-top: 92px
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item.w420 {
		width: 37.5%
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item.w560 {
		width: 50%
	}
}
.top .company__pagelist-item .page_name {
	color: var(--text-color-red)
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .page_name {
		font-size: 5.6rem
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .page_name {
		font-size: 3rem
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .thumb {
		margin-top: 12px
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .thumb {
		margin-top: 8px
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .textarea {
		margin-top: 36px
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .textarea {
		margin-top: 20px
	}
}
.top .company__pagelist-item .textarea h4 {
	font-weight: 900;
	letter-spacing: .05em
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .textarea h4 {
		font-size: 2.4rem
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .textarea h4 {
		font-size: 1.8rem
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .textarea .basetxt {
		margin-top: 24px
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .textarea .basetxt {
		margin-top: 16px
	}
}
@media screen and (min-width: 897px) {
	.top .company__pagelist-item .textarea .baselink {
		margin-top: 22px
	}
}
@media screen and (max-width: 896px) {
	.top .company__pagelist-item .textarea .baselink {
		margin-top: 18px
	}
}
.top .recruit {
	background-color: var(--bg-color-black)
}
@media screen and (min-width: 897px) {
	.top .recruit {
		padding: 168px 0
	}
}
@media screen and (max-width: 896px) {
	.top .recruit {
		padding: 68px 0 80px
	}
}
@media screen and (min-width: 897px) {
	.top .recruit .content_heading {
		margin-left: 10%
	}
}
@media screen and (max-width: 896px) {
	.top .recruit .content_heading {
		margin-left: 5%
	}
}
.top .recruit__link {
	display: block
}
@media screen and (min-width: 897px) {
	.top .recruit__link {
		margin-top: 90px;
		margin-left: 15vw;
		margin-right: 15vw
	}
	.top .recruit__link:hover .thumb:before {
		transform: translate(0, 0)
	}
	.top .recruit__link:hover .thumb img {
		transform: scale(1.04)
	}
	.top .recruit__link img {
		transition: .75s ease-out
	}
}
@media screen and (max-width: 896px) {
	.top .recruit__link {
		margin-top: 60px;
		margin-left: 5vw;
		margin-right: 5vw
	}
}
.top .recruit__link .thumb {
	position: relative;
	overflow: hidden;
	transition: .3s ease-out
}
.top .recruit__link .thumb:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.3;
	transform: translate(-100%, 0);
	transition: .3s ease-out
}
.top .recruit__link .thumb img {
	transition: .3s ease-out
}
.top .recruit__link p {
	margin-top: 12px;
	text-align: right
}
.top .recruit__link p span {
	padding-right: 34px;
	background-image: url(../../img/common/icon_arrow_link.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 24px;
	font-weight: 900;
	letter-spacing: 0.12em;
	color: #fff
}
@media screen and (min-width: 897px) {
	.top .recruit__link p span {
		font-size: 2rem
	}

	.document_request_cta_area {
		display:flex;
		position: absolute;
		bottom: 80px;
		left: 10%;
		z-index: 10;
		width: 80%;
		margin:auto;
		a {
			width: 50%;
			margin: 0 10px;
		}
		.document_request {
			display:block;
			padding: 13px 52px 15px 27px;
			border-radius: 50px;
			background-size: 1.3em;
			font-size: 3.5em;
			text-align: center;
			margin: 20px 0;
			line-height: 2.2em;
			padding: 18px 36px;
			background-color: var(--text-color-red);
			border: 1px solid var(--text-color-red);
			color: #fff;
			span {
				padding-right: 34px;
				background-image: url(../../img/common/icon_arrow_link.png);
				background-repeat: no-repeat;
				background-position: right center;
				background-size: 24px;
			}
			&:hover {
				background-color: #fff;
				color: var(--text-color-red);
			}
			&:hover span {
				background-image: url(../../img/common/icon_arrow_link_red.png);
			}
		}
		.contactbtn {
			padding: 13px 52px 15px 27px;
			border: 1px solid var(--bg-text-color-wht);
			border-radius: 50px;
			background-color: var(--text-color-black);
			color: #fff;
			font-size: 3.5em;
			text-align: center;
			margin: 20px 0;
			line-height: 2.2em;
			span {
				padding-right: 34px;
				background-image: url(../../img/common/icon_nav_contact.png);
				background-repeat: no-repeat;
				background-size: 1.3em;
				background-position: right center;
			}
			&:hover span {
				padding-right: 34px;
				background-image: url(../../img/common/icon_contact_blk.svg);
				background-repeat: no-repeat;
				background-size: 1.3em;
				background-position: right center;
			}
			&:hover {
				background-color: #fff;
				color: var(--text-color-black);
			}
		}
	}
}
@media screen and (max-width: 896px) {
	.top .recruit__link p span {
		font-size: 1.4rem
	}

	.document_request_cta_area {
		display:grid;
		position: absolute;
		bottom: 150px;
		left: 10%;
		z-index: 10;
		width: 80%;
		.document_request {
			background-color: var(--text-color-red);
			letter-spacing: .1em;
			color: #fff;
			display:block;
			padding: 13px 52px 15px 27px;
			border-radius: 50px;
			background-size: 1.3em;
			font-size: 3em;
			text-align: center;
			margin: 5px 0;
			line-height: 1.6em;
			padding-right: 34px;
			background-image: url(../../img/common/icon_arrow_link.png);
			background-repeat: no-repeat;
			background-position: right center;
			background-size: 1.3em;
			background-position: 90%;
		}
		.contactbtn {
			padding: 13px 52px 15px 27px;
			border: 1px solid var(--bg-text-color-wht);
			border-radius: 50px;
			background-color: var(--text-color-black);
			background-image: url(../../img/common/icon_nav_contact.png);
			background-repeat: no-repeat;
			background-size: 1.3em;
			background-position: 90%;
			color: #fff;
			font-size: 3em;
			text-align: center;
			margin: 5px 0;
			line-height: 1.6em;
			&:hover {
				background-color: #fff;
				background-image: url(../../img/common/icon_contact_blk.svg);
				color: var(--text-color-black);
			}
		}
	}
}

