/*--------------------------------------------------------------
1.0 Normalize
Styles based on Normalize v5.0.0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/

html {
	font-family: sans-serif;
	line-height: 1.15;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
footer,
header,
nav,
section {
	display: block;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

figcaption,
figure,
main {
	display: block;
}

figure {
	margin: 1em 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
	outline-width: 0;
}

abbr[title] {
	border-bottom: 1px #767676 dotted;
	text-decoration: none;
}

b,
strong {
	font-weight: inherit;
}

b,
strong {
	font-weight: 700;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

dfn {
	font-style: italic;
}

mark {
	background-color: #eee;
	color: #222;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

audio,
video {
	display: inline-block;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

img {
	border-style: none;
}

svg:not(:root) {
	overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	border: 1px solid #bbb;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	display: inline-block;
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

details,
menu {
	display: block;
}

summary {
	display: list-item;
}

canvas {
	display: inline-block;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
4.0 Clearings
--------------------------------------------------------------*/

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.entry-footer:before,
.entry-footer:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.nav-links:before,
.nav-links:after,
.pagination:before,
.pagination:after,
.comment-author:before,
.comment-author:after,
.widget-area:before,
.widget-area:after,
.widget:before,
.widget:after,
.comment-meta:before,
.comment-meta:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.entry-footer:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after,
.nav-links:after,
.pagination:after,
.comment-author:after,
.widget-area:after,
.widget:after,
.comment-meta:after {
	clear: both;
}

/*--------------------------------------------------------------
9.0 Reset
--------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, big, code, del, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption, footer, header, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	font-style: normal;
}

main, article, aside, details, figcaption, figure, footer, header, nav, section {
	display: block;
}

body {
	text-size-adjust: 100%;
	line-height: 1
}

ol, ul {
	list-style: none
}

blockquote, q {
	quotes: none
}

blockquote::before, blockquote::after {
	content: '';
	content: none
}

q::before, q::after {
	content: '';
	content: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

img {
	vertical-align: middle
}

html {
	height: 100%;
}

a{
	text-decoration: none;
}
a:link {color:inherit;} 
a:visited {color:inherit;}
a:hover {color:inherit;} 
a:active {color:inherit;}


/*==============================================================
	Font
==============================================================*/
body {
	/* font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif; */
	font-family: -apple-system, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo,BlinkMacSystemFont, Roboto, sans-serif;
}
.font-sans {
	font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.font-serif {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body{
	font-feature-settings: "palt";
	/* font-feature-settings: "pwid";
	font-feature-settings: "pkna"; */
	text-align:justify;
}

p{
	font-size: 16px;
	line-height: 30px;
}
h2{
	font-size: 24px;
	line-height: 36px;　
}
small{
	font-size: 12px;
	line-height: 18px;
}


@media screen and (max-width: 767px) {
	p{
		font-size: 3.6vw;
		line-height: 6vw;
	}
	h2{
		font-size: 4.8vw;
		line-height: 6.4vw;　
	}
	small{
		font-size: 2.8vw;
		line-height: 4.2vw;
	}
}
em{font-weight: bold;}
.ls-50{letter-spacing: -1px;}
/*==============================================================
	Layout
==============================================================*/
body {
	/* min-width: 1020px; */
	min-width: 1024px;
	position: relative;
}
@media screen and (max-width: 767px) {
	body {
	  min-width: 320px;
	}
  }

/*==============================================================
	Shortcut
==============================================================*/
.white{color: #fff;}
.black{color: #000;}
.gray{color: #676767;}
.offwhite{color: #fffeea;}
.orange{color: #f39801;}
.pink{color: #ec6d88;}
.blue{color: #409ad6;}
.green{color: #00a73c;}
.red{color: #e71c24;}

.bg-white{background-color: #fff;}
.bg-black{background-color: #000;}
.bg-gray{background-color: #676767;}
.bg-offwhite{background-color: #fffeea;}
.bg-orange{background-color: #f39801;}
.bg-pink{background-color: #ec6d88;}
.bg-blue{background-color: #409ad6;}
.bg-green{background-color: #00a73c;}
.bg-red{background-color: #e71c24;}

.mb20{margin-bottom: 20px;}
.mb40{margin-bottom: 40px;}
.mb60{margin-bottom: 60px;}
.mb80{margin-bottom: 80px;}
.mb100{margin-bottom: 100px;}
@media screen and (max-width: 767px) {
	.mb20{margin-bottom: 4vw;}
	.mb40{margin-bottom: 8vw;}
	.mb60{margin-bottom: 12vw;}
	.mb80{margin-bottom: 16vw;}
	.mb100{margin-bottom: 20vw;}
}



.link_pdf{
	background: url("../img/common/link_pdf.svg") no-repeat;
	background-size: 16px;
	padding-left: 20px;
	margin-right:20px;
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.link_pdf{
		background: url("../img/common/link_pdf.svg")   no-repeat;
		font-size: 3.2vw;
		background-size: 3.2vw;
		padding-left: 4vw;
		margin-right: 4vw;
	}
}


@media screen and (min-width: 768px) {
	.sp_hide{display: block; }
	.sp_show{display: none; }
}
@media screen and (max-width: 767px) {
	.sp_hide{display: none;}
	.sp_show{display: block; }
}

.brpc {display: inline; }
.brsp{display: none; }
@media screen and (max-width: 767px) {
	.brpc {display: none; }
	.brsp {display: inline; }
}

.txtimg {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}



/*==============================================================
	HEADER
==============================================================*/


.header {
	width: 100%;
	height: 100px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
.header_inner {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	/* align-items: center; */
	position: relative;
}

.header_logo {
	padding: 15px 0 0 40px;
	width: 200px;
}
.header_logo img {
	width: 100%;
}

.header_nav {
	line-height: 1.4;
	display: block;
}
.header_nav .header_nav_list {
	display: table;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.header_nav .header_nav_list li {
	font-size: 16px;
	display: table-cell;
	padding: 0 30px 0 10px;
	vertical-align: middle;
}


.header_nav .header_nav_list li a{
}

.header_nav .header_nav_list li.hn_mail{
	font-size: 12px;
	height: 100px;
	width: 100px;
	padding: 0;
	background: #df0011;
}
.header_nav .header_nav_list li.hn_mail a{
	display: block;
	height: 40px;
	width: 100px;
	padding: 60px 0 0 0;
	background-image:url("../img/mail.svg");
	background-repeat: no-repeat;
	background-position: center 20px ;
	background-size: 36px;
}
.header_nav_sp,.btn_spnav {
	display: none;
}

.header_nav_sp_inner{
	display: none;
}

@media screen and (max-width: 767px) {
	.header {
		height: auto;
	}
	.header_inner {
		height: auto;
		padding: 0;
		position: relative;
		/* padding: 0 2vw 0 2vw; */
	}
	.header_logo {
		padding: 2.5vw 0 3vw 6vw;
		width: 34vw;
	}

	.header_nav_sp,.btn_spnav {
		display: block;
	}

	.header_nav {
		display: none;
	}


	.header_nav_sp_inner {
		display: block;
		overflow: hidden;
		z-index: 100;
		position: fixed;
		top: 0;
		left: 0;
		height: 0;
		z-index: 100;
		width: 100%;
		transition: height .3s ease, padding .3s ease;
		background: #1a1a1a;
	}
	.header_nav_sp .header_nav_sp_inner.spnav_isopen {
		overflow: auto;
		height: 100vh;
	}
	.header_nav_sp .header_nav_sp_inner.spnav_isclose {
		height: 0;
	}


	.header_nav_sp .header_nav_list{
		height: calc(100vh - 0vw);
		background: #1a1a1a;
		box-sizing: border-box;
		padding: 20vw 0;
	}
	.header_nav_sp .header_nav_list .header_nav_item{
		background: #1a1a1a;
		padding: 2vw 6vw 2vw 6vw;
		margin-bottom: 10vw;
	}

	.header_nav_sp .header_nav_list .header_nav_item a{
		color: #fff;
		font-size: 5.4vw;
		line-height: 5.4vw;
		display: block;
		overflow: hidden;
		width: 50%;
	}

	.header_nav_sp .header_nav_list .header_nav_item span{
		padding-top: 2vw;
		display: block;
		color: #df0011;
		font-size: 2.2vw;
		line-height: 2.2vw;
	}

	.header_nav_sp .header_nav_list .header_nav_item:last-child a{
		display: block;
		text-align: center;
		width: 100%;
		background: #df0011;
		padding: 4vw 0;
		background-image:url("../img/mail.svg");
		background-repeat: no-repeat;
		background-position: center  left 6vw ;
		background-size: 6vw;
		margin-top: 4vw;
	}

}


.btn_spnav{
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;
	width: 14vw;
	height: 14vw;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-align: center;
	background: #df0011;
}

.btn_spnav.spnav_active .btn_spnav_bar {
	background: transparent;
}

.btn_spnav.spnav_active .btn_spnav_bar:before {
	transform: translateY(2.2vw) rotate(45deg);
}

.btn_spnav.spnav_active .btn_spnav_bar:after {
	transform: translateY(1.6vw) rotate(-45deg);
}

.btn_spnav_bar {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	width: 7vw;
	margin: 3vw 3.8vw;
	height: 1px;
	transition: background .25s ease;
}

.btn_spnav_bar:before, .btn_spnav_bar:after {
	display: block;
	content: "";
	background: #fff;
	width: 100%;
	height: 1px;
	transition: transform .25s ease;
}

.btn_spnav_bar:before {
	transform: translateY(1.6vw);
	margin-top: 0.4vw;
}

.btn_spnav_bar:after {
	transform: translateY(3.2vw);
	margin-top: 0.4vw;
}

.btn_spnav_label {
	position: absolute;
	left: 3vw;
	bottom: 1.6vw;
	display: block;
	font-size: 2.8vw;
	white-space: nowrap;
	color: #fff;
}

/*==============================================================
	FOOTER
==============================================================*/
.footer{
	position: relative;
	background: rgba(255, 255, 255, 0.5);
	width: 100%;
	border-top: 1px solid #000;
	padding: 40px 0 40px 0;
}

.footer_inner{
	width: 984px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
}

.footer_inner_flx{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.footer_inner .footer_left{
	width: 200px;
}
.footer_inner .footer_left a{
	display: block;
	margin-bottom: 30px;
}
.footer_inner .footer_left a img{
	width: 200px;
}



.footer_inner .footer_address p{
	font-size: 12px;
	line-height: 20px;
}

.footer_nav_wrap{
	width: 300px;
}

.footer_nav{
	display: grid;
	grid-template-rows: repeat(3,auto);
	grid-template-columns: auto auto;
}

.footer_nav dl:nth-child(1){
	grid-area:1/1/4/2;
}

.footer_nav dl dt{
	margin-bottom: 15px;
	font-size: 14px;
	font-weight: bold;
}
.footer_nav dl dd{
	font-size: 12px;
	margin-bottom: 12px;
}


.footer_inner small{
	display: block;
	width: 984px;
	font-size: 10px;
	position: absolute;
	left: 30px;
	bottom: 0;
}




@media screen and (max-width: 767px) {
	.footer{
		padding: 8vw 0;
	}
	.footer_inner{
		width: auto;
		padding: 0 4vw;
	}
	.footer_inner_flx{
		display: block;
	}
	.footer_inner .footer_left{
		width: auto;
		text-align: center;
	}
	.footer_inner .footer_left a{
		margin-bottom: 4vw;
	}
	.footer_inner .footer_left a img{
		width: 60vw;
	}
	.footer_inner .footer_address p{
		text-align: center;
		font-size: 3.6vw;
		line-height: 5vw;
		margin-bottom: 6vw;
	}

	.footer_inner small{
		width: 100%;
		position: initial;
		text-align: center;
		font-size: 3vw;
	}
}


.btn-pt {
	position: absolute;
	right: 0px;
	top: -120px;
	font-size: 14px;
	display: flex;
	align-items: center;
	width: 140px;
	transform: rotate(270deg);
	transition: 0.5s;
	font-weight: bold;
	/* opacity: 0; */
}
/* .btn-pt a{
	cursor: default;
} */
.btn-pt:after{
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #df0011;
	display: block;
}
.btn-pt:after {
	margin-left: 1.2em;
}
/* .scrolled{
	opacity: 1;
}
.scrolled a{
	cursor: pointer;
} */

@media screen and (max-width: 767px) {
	.btn-pt {
		display: none;
	}
}


/*==============================================================
	CONTENTS HEADER
==============================================================*/


#content_header{
	width: 100%;
	height: 100vh;
	min-height: 768px;
	position: relative;
}
#content_header .covervisual{
	width: 100%;
	height: 100vh;
	min-height: 768px;
}
/* #content_header .covervisual img{
	width: 100%;
	height: 100vh;
	min-height: 768px;
	object-fit: cover;
}

.top_header .covervisual img{
	display: none;
} */

#content_header .covervisual video{
	width: 100%;
	height: 100vh;
	min-height: 768px;
	object-fit: cover;
}

#content_header .covervisual_over{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	min-height: 768px;
	z-index: 9;
}

#content_header.top_header .covervisual_over{
	background: linear-gradient(rgba(0,0,0,.66) 5%, rgba(0,0,0,0) 20%);
}

.top_visual_key{
	position: absolute;
	top: calc(50% - 80px);
	left: 40px;
	overflow: hidden;
}

.top_visual_key p{
	display: inline-block;
	color: #fff;
	font-size: 46px;
	font-weight: bold;
	margin-bottom: 20px;
	overflow: hidden;
	/* padding: 20px 60px 20px 20px;
	background:
	linear-gradient(300deg, transparent 50px, rgba(223, 0, 17, 0.66) 0%);
	background-position: top right;
	background-size: 100% 100%;
	background-repeat: no-repeat; */
	/* transform: translate(-100%, 0); */
}

.top_visual_key p span{
	display: block;
	padding: 20px 60px 20px 20px;
	background:
	linear-gradient(300deg, transparent 50px, rgba(223, 0, 17, 0.66) 0%);
	background-position: top right;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	/* transform: translate(100%, 0); */
}

.top_visual_key p,
.top_visual_key p span{
	transition: transform cubic-bezier(0.5, 0, 0, 1) 1s;
	transition-delay: 0.9s;
}

.top_visual_key p:first-child,
.top_visual_key p:first-child span{
	transition-delay: 0.3s;
}

.anmtg_active .top_visual_key p,
.anmtg_active .top_visual_key p span {
	transform: translate(0, 0);
}


.top_playmovie{
	box-sizing: border-box;
	display: block;
	position: absolute;
	right: 0; bottom: 0;
	width: 270px;
	height: 100px;
	padding: 28px 15px 28px 85px;
	color: #fff;
	background: #000;
	background-image: url("../img/play.svg");
	background-repeat: no-repeat;
	background-size: 48px 48px;
	background-position: 22px 26px;
	cursor: pointer;
	transition: opacity 0.25s;
}

.top_playmovie p{
	font-feature-settings: initial;
	letter-spacing: 0.07em;
	font-size: 20px;
	line-height: 20px;
}
.top_playmovie span{
	letter-spacing: 0em;
	font-size: 14px;
}
.top_playmovie:hover{
	opacity: 0.7;
	/* background-color:#222; */
}



@media screen and (max-width: 767px) {
	#content_header{
		min-height: auto;
	}
	#content_header .covervisual{
		width: 100%;
		height: 100vh;
		min-height: 768px;
	}
	/* #content_header .covervisual img{
		min-height: auto;
		display: initial;
	}
	#content_header .covervisual video{
		min-height: auto;
		display: none;
	} */
	#content_header .covervisual video{
		min-height: auto;
	}

	#content_header .covervisual_over{
		min-height: auto;
	}

	.top_visual_key{
		position: absolute;
		top: calc(50% - 10vw);
		left: 0vw;
	}
	.top_visual_key p{
		font-size: 7vw;
		margin-bottom: 4vw;
		/* padding: 3.6vw 10vw 3.6vw 10vw;
		background:
			linear-gradient(125deg, transparent 10vw, rgba(223, 0, 17, 0.66) 0),
			linear-gradient(305deg, transparent 10vw, rgba(223, 0, 17, 0.66) 0);
		background-position:
			bottom left,
			top right;
		background-size: 50% 100%;
		background-repeat: no-repeat; */
	}
	.top_visual_key p span{
		padding: 3.6vw 10vw 3.6vw 10vw;
		background:
			linear-gradient(125deg, transparent 10vw, rgba(223, 0, 17, 0.66) 0),
			linear-gradient(305deg, transparent 10vw, rgba(223, 0, 17, 0.66) 0);
		background-position:
			bottom left,
			top right;
		background-size: 50% 100%;
		background-repeat: no-repeat;
	}

	.top_playmovie{
		width: 50vw;
		height: 18.5vw;
		padding: 5vw 2.6vw 5vw 15vw;
		background-size: 8vw 8vw;
		background-position: 4vw 5vw;
	}
	
	.top_playmovie p{
		letter-spacing: 0.07em;
		font-size: 4vw;
		line-height: 4vw;
	}
	.top_playmovie span{
		letter-spacing: 0em;
		font-size: 2.8vw;
	}
}

/* =============== MODAL =============== */
/* .modal{
	box-sizing: border-box;
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
	z-index: 9999;
}
.modal_bg{
    background: rgba(0, 0, 0, 0.6);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal_content{
    background: #000;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 80%;
}


.modal_video{
	margin-bottom: -2px;
    height: auto;
    width: 100%;
}


.modal_btnclose {
	position: absolute;
	display: block;
	width: 80px;
	height: 80px;
    top: 20px;
    right: 20px;
}
.modal_btnclose::before, .modal_btnclose::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14% - 5px);
	left: 14%;
}

.modal_btnclose::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: auto;
    right: 14%;
}

@media screen and (max-width: 767px) {
	.modal_video{
		margin-bottom: -0.5vw;
	}
	.modal_btnclose {
		width: 14vw;
		height: 14vw;
		top: 6vw;
		right: 6vw;
	}
	.modal_btnclose::before, .modal_btnclose::after{
		height: 2px;
		top: calc(14% - 2vw);
	}
} */

#modal-content{
    width:80%;
    margin:0;
    padding:0;
    background:#000;
    position:fixed;
    display:none ;
    z-index:99999;
}

#modal-content .inner{
    position:relative;
    width:100%;
    padding-top:56.25%;
    overflow:hidden;
}

#modal-content .inner #player{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    height:100%;
}

#modal-overlay{
    z-index:9999;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba( 0,0,0, 0.75 );
}
.modal-btnclose {
	position: absolute;
	display: block;
	width: 80px;
	height: 80px;
    top: 20px;
    right: 20px;
}
.modal-btnclose::before, .modal-btnclose::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14% - 5px);
	left: 14%;
}

.modal-btnclose::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: auto;
    right: 14%;
}


/* =============== COMMON PAGES =============== */

#content_header.page_header{
	height: 600px;
	min-height: auto;
}

#content_header .page_visual img{
	width: 100%;
	height: 600px;
	object-fit: cover;
}
#content_header .page_visual_over{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 600px;
	z-index: 9;
}

.page_visual_key{
	position: absolute;
	top: calc(50% - 40px);
	left: calc(50% - 450px);
	overflow: hidden;
	color: #fff;
}
.page_visual_key h1{
	display: inline-block;
	font-weight: bold;
	font-size: 46px;
	line-height: 46px;
	padding: 18px 60px 18px 20px;
	background:
	linear-gradient(300deg, transparent 40px, rgba(223, 0, 17, 0.66) 0%);
	background-position: top right;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.page_visual_key small{
	display: inline-block;
	font-weight: normal;
	font-size: 14px;
	line-height: 14px;
	padding: 2px 60px 10px 25px;
	background:
	linear-gradient(300deg, transparent 40px, rgba(223, 0, 17, 0.66) 0%);
	background-position: top right;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	#content_header.page_header,
	#content_header .page_visual img,
	#content_header .page_visual_over{
		height: 48vw;
	}
	.page_visual_key{
		position:static;
	}
	.page_visual_key h1{
		font-size: 9vw;
		line-height: 9vw;
		padding: 3vw 18vw 3vw 5vw;
		background:
		linear-gradient(300deg, transparent 10vw, rgba(223, 0, 17, 0.66) 0%);
		position: absolute;
		bottom: -0.2vw;
		left: 6vw;
	}

	.page_visual_key small{
		font-size: 3vw;
		line-height: 3vw;
		padding: 0 15vw 3vw 4vw;
		background:
		linear-gradient(300deg, transparent 10vw, rgba(223, 0, 17, 0.5) 0%);
		position: absolute;
		bottom: -6vw;
		left: 6vw;
	}
}

/* =============== INTERVIEW =============== */

.interview_header{
	margin-bottom: 150px;
	overflow: hidden;
}

.interview_header .covervisual img{
	/* object-position: 100% 100%; */
}

.interview_key_wrap{
	width: 100%;
	height: 100vh;
	min-height: 768px;
	background: linear-gradient(315deg, transparent 60vw, rgba(255, 255, 255, 0.2) 0%);
	/* background: rgba(255, 255, 255, 0.2);
	clip-path: polygon(0 0, 70% 0, 20% 100%, 0 100%); */
	
}

.interview_key_wrap .interview_key_wrapdouble{
	width: 100%;
	height: 100vh;
	min-height: 768px;
	background: linear-gradient(315deg, transparent 60vw, rgba(223, 0, 17, 0.5) 0%);
	/* background: rgba(223, 0, 17, 0.5); */
}

.interview_key{
	color: #fff;
	position: absolute;
	top: calc(50% - 140px);
	left: 100px;
	overflow: hidden;
}

.interview_key h1{
	font-size: 55px;
	font-weight: bold;
	margin-bottom: 20px;
}
.interview_key small{
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	margin-bottom: 40px;
}
.interview_key p{
}

@media screen and (max-width: 767px) {
	.interview_header{
		margin-bottom: 16vw;
	}
	.interview_header .covervisual img{
		object-position: 30% 100%;
	}
	.interview_key_wrap{
		/* min-height: auto; */
		clip-path: polygon(0 0, 100% 0, 0 100%); 
	}
	.interview_key_wrap .interview_key_wrapdouble{
		/* min-height: auto; */
		clip-path: polygon(0 0, 100% 0, 0 100%); 
	}
	
	.interview_key{
		top: 29vh;
		left: 8vw;
	}
	.interview_key h1{
		font-size: 8vw;
		margin-bottom: 3vw;
	}
	.interview_key small{
		font-size: 3.6vw;
		margin-bottom: 6vw;
	}
	.interview_key p{
		font-size: 3.6vw;
		line-height: 6vw;
	}
}



/*==============================================================
	BG
==============================================================*/
.bg{
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.bg_top{background-image:url("../img/bg_top.svg");}
.bg_company{background-image:url("../img/bg_com.svg");}
.bg_number{background-image:url("../img/bg_num.svg");}

@media screen and (max-width: 767px) {
	.bg_top{background-image:url("../img/bg_topsp.svg");}
	.bg_company{background-image:url("../img/bg_comsp.svg");}
	.bg_number{background-image:url("../img/bg_numsp.svg");}
}




/*==============================================================
	CONTENTS
==============================================================*/
.main{
	position: relative;
}

section.scipd{
	width: 984px;
	margin: 0 auto;
	padding: 20px 20px;
	margin-bottom: 40px;
}

.sctitle {
	text-align: center;
	margin-bottom: 80px;
}
.sctitle h2{
	font-size: 48px;
	line-height: 48px;
	margin-bottom: 10px;
	display: inline-block;
}

.sctitle p{
	font-size: 14px;
	line-height: 14px;
	color: #df0011;
	font-weight: 500;
}

.anmsldtxt h2{
	overflow: hidden;
	transform: translate(-100%, 0);
	transition: transform cubic-bezier(0.5, 0, 0, 1) 0.8s;
}
.anmsldtxt h2 span {
	display: block;
	transform: translate(100%, 0);
	transition: transform cubic-bezier(0.5, 0, 0, 1) 0.8s;
}
.anmtg_active .anmsldtxt h2,
.anmtg_active .anmsldtxt h2 span {
	transform: translate(0, 0);
}

.anmsldtxt p{
	opacity: 0;
	transform: translateY(-20px);
	transition: 
		opacity cubic-bezier(0.5, 0, 0, 1) 0.5s,
		transform cubic-bezier(0.5, 0, 0, 1) 0.5s;
	transition-delay: 0.5s;
}
.anmtg_active .anmsldtxt p {
	opacity: 1;
	transform: translateY(0);
}

.flx{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flx.flx_rev{
	flex-direction: row-reverse;
}


@media screen and (max-width: 767px) {
	section.scipd{
		width: calc(100% - 12vw);
		padding: 8vw 6vw;
		margin-bottom: 4vw;
	}

	.sctitle {
		text-align: center;
		margin-bottom: 8vw;
	}
	.sctitle h2{
		font-size: 9vw;
		line-height: 9vw;
		margin-bottom: 1vw;
	}
	
	.sctitle p{
		font-size: 3vw;
		line-height: 3vw;
	}
}






/*==============================================================
	PAGE_TOP
==============================================================*/


#intro{
	text-align: center;
	padding: 100px 20px 40px 20px;
}
#intro h2{
	font-size: 28px;
	line-height: 42px;
	margin-bottom: 40px;
	font-weight: bold;
	display: inline-block;
}
#intro p{
	font-size: 18px;
	line-height: 36px;
}

@media screen and (max-width: 767px) {
	#intro{
		text-align: left;
		padding: 12vw 6vw;
	}
	#intro h2{
		font-size: 6vw;
		line-height: 8vw;
		margin-bottom: 6vw;
	}
	#intro p{
		font-size: 3.6vw;
		line-height: 6vw;
	}
}



.top_ourbusiness_flx .to_flxbox{
	width: 470px;
	height: 340px;
	margin-bottom: 80px;
	position: relative;
	overflow: hidden;
}

.top_ourbusiness_flx .to_flxbox a{
	width: 470px;
	height: 340px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}

.top_ourbusiness_flx .to_flxbox .to_img{
	width: 440px;
	height: 280px;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.top_ourbusiness_flx .to_flxbox .to_img img{
	width: 440px;
	height: 280px;
	object-fit: cover;
	transition: transform 0.5s;
}
.top_ourbusiness_flx .to_flxbox .to_shadow{
	width: 440px;
	height: 280px;
	background-color: #000;
	position: absolute;
	top: 60px;
	left: 30px;
	z-index: 1;
	transition: opacity 0.5s;
}
.top_ourbusiness_flx .to_flxbox h3{
	position: absolute;
	bottom: 20px;
	left: 0px;	
	padding-left: 20px;
	color: #fff;
	width: calc(100% - 20px);
	background-image:url("../img/allow_w.svg");
	background-repeat: no-repeat;
	background-position: center right 30px;
	background-size: 10px;
	transition: background-position 0.5s;
}


.top_ourbusiness_flx .to_flxbox a:hover img{
	transform: scale(1.06) ;
}
.top_ourbusiness_flx .to_flxbox a:hover .to_shadow{
	opacity: 0.7;
}
.top_ourbusiness_flx .to_flxbox a:hover h3{

	background-position: center right 27px;
}

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

	.top_ourbusiness_flx{
		display: block;
	}
	.top_ourbusiness_flx .to_flxbox{
		width: 100%;
		height: 65vw;
		margin-bottom: 10vw;
	}
	.top_ourbusiness_flx .to_flxbox a{
		width: 100%;
		height: 65vw;
	}
	.top_ourbusiness_flx .to_flxbox .to_img{
		width: 80vw;
		height: 50vw;
	}
	
	.top_ourbusiness_flx .to_flxbox .to_img img{
		width: 80vw;
		height: 50vw;
	}
	.top_ourbusiness_flx .to_flxbox .to_shadow{
		width: 80vw;
		height: 55vw;
		top: 10vw;
		left: 5vw;
		z-index: 1;
	}
	.top_ourbusiness_flx .to_flxbox h3{
		bottom: 5vw;
		padding-left: 4vw;
		width: calc(100% - 4vw);
		background-position: center right 5vw;
		background-size: 2vw;
	}


	.top_ourbusiness_flx .to_flxbox a:hover h3{
		background-position: center right 4.4vw;
	}
}

.top_interview_flx .ti_flxbox{
	width: 300px;
	height: 600px;
	margin-bottom: 80px;
	position: relative;
}
.top_interview_flx .ti_flxbox a{
	width: 300px;
	height: 600px;
	display: block;
	z-index: 3;
}
.top_interview_flx .ti_flxbox .ti_img{
	width: 300px;
	height: 300px;
	overflow: hidden;
}

.top_interview_flx .ti_flxbox .ti_img img{
	width: 300px;
	height: 300px;
	object-fit: cover;
	transition: transform 0.5s;
}
.top_interview_flx .ti_flxbox .ti_det{
	box-sizing: border-box;
	width: 300px;
	height: 300px;
	background: #fff;
	padding: 25px 20px;
	transition: opacity 0.5s;
}
.top_interview_flx .ti_flxbox .ti_det h3{
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 20px;
	letter-spacing: -1.5px;
}
.top_interview_flx .ti_flxbox .ti_det p{
	line-height: 16px;
}
.top_interview_flx .ti_flxbox .ti_det span{
	display: block;
	color: #df0011;
	margin-bottom: 10px;
}


.top_interview_flx .ti_flxbox a:hover img{
	transform: scale(1.06) ;
}
.top_interview_flx .ti_flxbox a:hover .ti_det{
	opacity: 0.7;
}


@media screen and (max-width: 767px) {
	.top_interview_flx{
		display: block;
	}
	.top_interview_flx .ti_flxbox,
	.top_interview_flx .ti_flxbox a{
		width: 100%;
		height: auto;
	}
	.top_interview_flx .ti_flxbox{
		margin-bottom: 12vw;
	}
	.top_interview_flx .ti_flxbox .ti_img,
	.top_interview_flx .ti_flxbox .ti_img img{
		width: 100%;
		height: calc(100vw - 7vw);
	}
	.top_interview_flx .ti_flxbox .ti_det{
		width: 100%;
		height: auto;	
		padding: 8vw 4vw;
	}
	.top_interview_flx .ti_flxbox .ti_det h3{
		font-size: 5.8vw;
		line-height: 8vw;
		margin-bottom: 8vw;
		letter-spacing: -0.4vw;
	}
	.top_interview_flx .ti_flxbox .ti_det p{
		font-size: 4.5vw;
		line-height:4.5vw;
		margin-bottom: 1vw;
	}
	.top_interview_flx .ti_flxbox .ti_det span{
		font-size: 4vw;
		line-height: 4vw;
		margin-bottom: 4vw;
	}
	
}

#data {
	margin-bottom: 120px;
}
.top_data{
	margin-bottom: 80px;
}
.top_data a,.top_data p{
	display: block;
	margin: 0 auto;
	width: 98%;
	height: 23vw;
	/* min-height: 240px;
	max-height: 360px; */
	min-height: 260px;
	max-height: 380px;
	max-width: 1600px;
	background-image:url("../img/top/data.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

span.btn a{
	display: block;
	color: #fff;
	font-size: 14px;
	background: #000;
	width: 138px;
	margin: 0 auto;
	padding: 10px 40px 10px 32px;
	background-image:url("../img/allow_w.svg");
	background-repeat: no-repeat;
	background-position: center right 18px;
	background-size: 6px;
	font-weight: normal;
	transition: opacity 0.25s,background-position 0.25s;
	border: 2px solid #000;
	cursor: pointer;
}

span.btn a:hover{
	opacity: 0.7;
	background-position: center right 14px;
}

span.btn_comingsoon a{
	cursor: default;
	background-image: none;
	padding: 10px 10px 10px 10px;
	text-align: center;
}
span.btn_comingsoon a:hover{
	opacity: 1;
	background-position: 0;
}


@media screen and (max-width: 767px) {
	#data {
		margin-bottom: 20vw;
	}
	.top_data{
		margin-bottom: 10vw;
	}
	.top_data a{
		width: 90%;
		height: 150vw;
		min-height: none;
		max-height: none;
		max-width: none;
		background-image:url("../img/top/datasp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}

	span.btn a{
		margin: 0 auto;
		font-size: 3vw;
		width: 50vw;
		padding: 3.3vw 7.2vw 3.3vw 4vw;
		background-position: center right 6vw;
		background-size: 1.8vw;
	}
	span.btn.btn_inst a{
		width: 32vw;
		padding: 2.1vw 7.2vw 2.1vw 8vw;
		background-repeat: no-repeat,no-repeat;
		background-position: center right 4vw,center left 3vw;
		background-size: 7.2vw, 3.6vw;
	}
	span.btn a:hover{
		background-position: center right 5vw;
	}
}

/*==============================================================
	PAGE_COMPANY
==============================================================*/

main#company{
	padding-top: 60px;
}

#company .sctitle {
	text-align: left;
	margin-bottom: 40px;
}


#company .scipd{
	margin-bottom: 80px;
}

#company #message .massage_det{
}
#company #message .massage_det .massage_dsc{
	width: 53%;
}
#company #message .massage_det .massage_img{
	width: 43%;
}
#company #message .massage_det .massage_dsc h3{
	font-size: 24px;
	line-height: 36px;
	margin-bottom: 30px;
}

#company #message .massage_det .massage_img img{
	width: 100%;
}
#company #message .massage_det .massage_img figcaption{
	padding: 20px 0;
	text-align: right;
	font-size: 28px;
}
#company #message .massage_det .massage_img figcaption span{
	font-size: 20px;
	margin-right: 10px;
}

#company dl{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	margin-bottom: 20px;
	text-align: left;
	font-size: 16px;
	line-height: 32px;
	width: 100%;
	border-bottom: 1px solid #888;
	box-sizing: border-box;
}
#company dl dd{
	width: 25%;
	border-top: 1px solid #888;
	padding: 15px 0 15px 30px;
	font-weight: bold;
	box-sizing: border-box;
}
#company dl dt{
	width: 75%;
	padding: 15px 15px;
	border-top: 1px solid #888;
	box-sizing: border-box;
}

#company dl dt ul{
	padding-left: 12px;
}
#company dl dt ul li:before {
	content: '';
	width: 3px;
	height: 3px;
	display: inline-block;
	border-radius: 100%;
	background: #000;
	position: relative;
	left: -8px;
	top: -4px;
}

#company #recruit{
	width: 100%;
	background-image:url("../img/company/com_recruitback.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	padding: 140px 0;
}

#company #recruit .recruit_wrap{
	box-sizing: border-box;
	width: 984px;
	margin: 0 auto;
	background: rgba(255, 255, 255, 0.8);
	padding: 100px 60px;
}
#company #recruit .recruit_inner{
	margin-top: -130px;
}
#company #recruit h3{
	font-size: 24px;
	line-height: 36px;
	margin-bottom: 40px;
}

#company #ourbusiness p.ourbusiness_sub{
	margin-bottom: 40px;
}

#company #ourbusiness .ourbusiness_det{
	margin-bottom: 80px;
}
#company #ourbusiness .ourbusiness_det div{
	background: #fff;
	width: 50%;
	height: 400px;
	box-sizing: border-box;
}
#company #ourbusiness .ourbusiness_det .ourbusiness_img{
	z-index: 2;
}
#company #ourbusiness .ourbusiness_det .ourbusiness_img img{
	width: 100%;
	height: 400px;
	object-fit: cover;
}
#company #ourbusiness .ourbusiness_det .ourbusiness_dsc{
	margin-top: 60px;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
	z-index: 1;
	padding: 40px 60px;
	overflow: hidden;
}
#company #ourbusiness .ourbusiness_det .ourbusiness_dsc span{
	display: inline-block;
	color: #df0011;
	font-weight: bold;
	font-size: 12px;
	margin-bottom: 10px;
}
#company #ourbusiness .ourbusiness_det .ourbusiness_dsc h3{
	font-size: 32px;
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	#company .sctitle {
		text-align: center;
		margin-bottom: 8vw;
	}

	#company .scipd{
		margin-bottom: 4vw;
	}
	#company #message .massage_det{
		display: block;
	}
	#company #message .massage_det .massage_dsc{
		width: 100%;
	}
	#company #message .massage_det .massage_img{
		width: 100%;
	}
	#company #message .massage_det .massage_dsc h3{
		text-align: center;
		font-size: 4.8vw;
		line-height: 6.4vw;
		margin-bottom: 8vw;
	}
	#company #message .massage_det .massage_dsc p{
		margin-bottom: 8vw;
	}
	#company #message .massage_det .massage_img figcaption{
		padding: 4vw 0;
		text-align: center;
		font-size: 4.8vw;
	}
	#company #message .massage_det .massage_img figcaption span{
		font-size: 3.6vw;
		margin-right: 2vw;
	}
	#company dl{
		margin-bottom: 8vw;
		font-size: 3.2vw;
		line-height: 4.6vw;
		width: 100%;
	}
	#company dl dd{
		width: 100%;
		padding: 5vw  0 2vw 4vw;
	}
	#company dl dt{
		width: 100%;
		padding: 0 0 5vw 4vw;
		border-top: none;
	}
	#company dl dt ul{
		padding-left: 2vw;
	}
	#company dl dt ul li:before {
		width: 0.4vw;
		height: 0.4vw;
		left: -1.4vw;
		top: -1vw;
	}
	#company #recruit{
		width: 100%;
		padding: 12vw 0;
	}
	#company #recruit .recruit_wrap{
		width: calc(100% - 8vw);
		padding: 4vw 4vw;
	}
	#company #recruit .recruit_inner{
		margin-top: -9vw;
	}
	#company #recruit h3{
		text-align: center;
		font-size: 5vw;
		line-height: 7.5vw;
		margin-bottom: 4vw;
	}
	#company #recruit dl{
		font-size: 3vw;
	}

	#company #ourbusiness p.ourbusiness_sub{

		margin-bottom: 8vw;
	}
	
	#company #ourbusiness .ourbusiness_det{
		margin-bottom: 10vw;
		display: block;
	}
	#company #ourbusiness .ourbusiness_det div{
		width: 100%;
		height: auto;
	}
	#company #ourbusiness .ourbusiness_det .ourbusiness_img img{
		height: auto;
	}
	#company #ourbusiness .ourbusiness_det .ourbusiness_dsc{
		margin-top: 0;
		box-shadow: 0px 0px 4vw rgba(0, 0, 0, 0.1);
		padding: 8vw 4vw;
	}
	#company #ourbusiness .ourbusiness_det .ourbusiness_dsc span{
		font-size: 2.8vw;
		margin-bottom: 2vw;
	}
	#company #ourbusiness .ourbusiness_det .ourbusiness_dsc h3{
		font-size: 5vw;
		margin-bottom: 4vw;
	}
}

/*==============================================================
	20240711 ADD
==============================================================*/
#company #office{
}
#company #office .scbody{
}
#company #office .scbody img{
	width: 100%;
	object-fit: contain;
	display: block;
}
#company #office .scbody figure{
	display: block;
}
#company #office .scbody figure figcaption{
	display: block;
	line-height: 1.8;
}

#company #office .scbody>div{
	margin-bottom: 80px;
}
#company #office .scbody>div>div{
	margin-bottom: 40px;
}


#company #office .scbody>div .lo_flx{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}


#company #office .scbody>div>div.lo_2cp figure img{
	width: 58%;
}

#company #office .scbody>div>div.lo_2cp figure figcaption{
	width: 42%;
	box-sizing: border-box;
	padding: 0 50px;
}

#company #office .scbody>div>div.lo_2 figure{
	width:48%;
}
#company #office .scbody>div>div.lo_2 figure figcaption{
	margin-top: 20px;
}

#company #office .scbody>div>div.lo_2cpB figure{
	flex-direction: row-reverse;
}
#company #office .scbody>div>div.lo_2cpB figure img{
	width: 58%;
}

#company #office .scbody>div>div.lo_2cpB figure figcaption{
	width: 42%;
	box-sizing: border-box;
	padding: 0 50px;
}


#company #office .scbody>div h3{
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 18px;
}
#company #office .scbody>div>div.lo_2cpB figure figcaption h3{
	margin-bottom: 40px;
}

#company #office .scbody>div>div.lo_3 figure{
	width: 31%;
}
#company #office .scbody>div>div.lo_3 figure figcaption{
	margin-top: 20px;
}



@media screen and (max-width: 767px) {
	#company #office .scbody>div{
		margin-bottom: 16vw;
	}
	#company #office .scbody>div>div{
		margin-bottom: 8vw;
	}
	#company #office .scbody>div .lo_flx{
		display: block;
	}

	#company #office .scbody>div>div.lo_2cp figure img{
		width: 100%;
	}
	#company #office .scbody>div>div.lo_2cp figure figcaption{
		width: 100%;
		padding: 0;
		margin-bottom: 8vw;
	}

	#company #office .scbody>div>div.lo_2 figure{
		width:100%;
		margin-bottom: 8vw;
	}
	#company #office .scbody>div>div.lo_2 figure figcaption{
		margin-top: 2vw;
	}

	#company #office .scbody>div>div.lo_2cpB figure img{
		width: 100%;
	}
	
	#company #office .scbody>div>div.lo_2cpB figure figcaption{
		width: 100%;
		padding: 0;
		margin-bottom: 8vw;
	}
	#company #office .scbody>div h3{
		margin-bottom: 8vw;
		font-size: 4vw;
	}
	#company #office .scbody>div>div.lo_2cpB figure figcaption h3{
		margin-bottom: 4vw;
	}
	#company #office .scbody>div>div.lo_3 figure{
		width: 100%;
		margin-bottom: 8vw;
	}
	#company #office .scbody>div>div.lo_3 figure figcaption{
		margin-top: 2vw;
	}
}	


/*==============================================================
	PAGE_NUMBER
==============================================================*/
main#number{
	padding-top: 60px;
}
#number .sctitle{
	margin-bottom: 90px;
}
#number .sctitle p{
	margin-bottom: 60px;
}
#number .sctitle p.num_sctitlep{
	font-size: 24px;
	line-height: 30px;
	font-weight: bold;
	color: #000;
}

#number .number_det{
	margin-bottom: 100px;
}
#number .number_det div{
	box-sizing: border-box;
}

#number .number_det div.number_dsc{
	width: 500px;
}

#number .number_det div.number_img{
	width: 440px;
	position:relative;
}

#number .number_det .number_img img{
	width: 100%;
	object-fit: cover;
	position: absolute;
	bottom: 0; left: 0;
}

#number .number_det .number_dsc h3{
	height: 80px;
	margin-bottom: 40px;
	background-repeat: no-repeat;
	background-size: contain;
	/* background-color: #21759b; */
	background-position: left bottom;
	/* padding: 10px 0; */
}

#number #number01 h3{background-image: url(../img/number/num_t1.svg);}
#number #number02 h3{background-image: url(../img/number/num_t2.svg);}
#number #number03 h3{background-image: url(../img/number/num_t3.png);}
#number #number04 h3{background-image: url(../img/number/num_t4.svg);}
#number #number05 h3{background-image: url(../img/number/num_t5.svg);}
#number #number06 h3{background-image: url(../img/number/num_t6.svg);}
#number #number07 h3{background-image: url(../img/number/num_t7.svg);}
#number #number08 h3{background-image: url(../img/number/num_t8.svg);}
#number #number09 h3{background-image: url(../img/number/num_t9.svg);}

#number a{
	text-decoration: underline;
}

#number a:hover{
	text-decoration: none;
}



/* PC */
@media screen and (min-width: 768px) {
	#number #number01 h3{height: 100px;}
	#number #number04 h3{height: 160px;}

	#number #number01 img{width: 80%; }
	#number #number02 img{width: 40%; bottom: 0; right: 0; left: inherit;}
	#number #number03 img{width: 80%;}
	#number #number04 img{width: 100%;}
	#number #number05 img{width: 100%;}
	#number #number06 img{width: 100%; top: 0; left: 0;}
	#number #number07 img{width: 100%; top: 0; left: 0;}
	#number #number08 img{width: 100%;}
	#number #number09 img{width: 80%;}
	
	#number #number06.number_det,
	#number #number07.number_det{
		margin-bottom: 200px;
	}
	
}

/* SP */
@media screen and (max-width: 767px) {
	main#number{
		padding-top: 10vw;
	}
	#number .sctitle{
		margin-bottom: 8vw;
	}
	#number .sctitle p{
		margin-bottom: 8vw;
	}
	#number .sctitle p.num_sctitlep{
		font-size: 4.8vw;
		line-height: 6.4vw;
	}

	#number .number_det{
		margin-bottom: 16vw;
		display: block;
	}
	#number .number_det div.number_dsc{
		width: 100%;
		margin-bottom: 8vw;
	}
	
	#number .number_det div.number_img{
		width: 100%;
		text-align: center;
	}
	#number .number_det div.number_img img{
		width: 90%;
		object-fit: cover;
		position: relative;
	}
	#number .number_det .number_dsc h3{
		height: 10vw;
		margin-bottom: 4vw;
		background-repeat: no-repeat;
	}

	#number #number04 h3{height: 20vw;}

	#number #number01 img{width: 80%;}
	#number #number02 img{width: 50%;}
	#number #number03 img{width: 90%;}
	#number #number04 img{width: 100%;}
	#number #number05 img{width: 100%;}
	#number #number06 img{width: 100%;}
	#number #number07 img{width: 100%;}
	#number #number08 img{width: 100%;}
	#number #number09 img{width: 90%;}

}

/*==============================================================
	PAGE_INTERVIEW
==============================================================*/

#interview .interview_sct{
	background: #fcf2f3;
	/* background: red; */
	padding-bottom: 60px;
	margin-bottom: 200px;
	box-sizing: border-box;
	box-shadow: calc( (100vw - 1124px)/-2 ) 100px 0px 0 #fff inset;
}


#interview .interview_sct_header{
	height: 680px;
	width: 100%;
	position: relative;
	margin-bottom: 100px;
}

#interview .interview_sct_header .int_intro{
	height: 680px;
	width: 984px;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
	z-index: 2;
}

#interview .interview_sct_header .int_portrait{
	position: absolute;
	right: 0;
	width: 50%;
	height: 680px;
	z-index: 1;
}
#interview .interview_sct_header .int_portrait img{
	width: 100%;
	height: 680px;
	object-fit: cover;
}

#interview .interview_sct_header .int_intro div{
	display: block;
	width: 212px;
	height: 212px;
	border: 2px solid #000;
	color: #df0011;
	font-weight: 500;
	font-size: 20px;
	line-height: 30px;
	box-sizing: border-box;
	padding: 110px 45px 45px 45px;
	background-image: url(../img/bell.svg);
	background-repeat: no-repeat;
	background-position: 45px 40px;
	background-size: 40px;
	margin-bottom: 40px;
}
#interview .interview_sct_header .int_intro h2{
	color: #fff;
	font-size: 38px;
	line-height: 74px;
	margin-bottom: 40px;
}
#interview .interview_sct_header .int_intro h2 span{
	background: #000;
	padding: 5px 20px;
}


#interview .interview_sct_header .int_intro h2 span.ngm-l{margin-left: -20px;}
@media screen and (max-width: 767px) {
	#interview .interview_sct_header .int_intro h2 span.ngm-l{margin-left: 0;}
}

#interview .interview_sct_header .int_intro h3{
	font-size: 36px;
	line-height: 57px;
	margin-bottom: 10px;
}
	#interview03 .interview_sct_header .int_intro h3{
		font-size: 28px;
		line-height: 42px;
	}

#interview .interview_sct_header .int_intro small{
	font-weight: 500;
	color: #df0011;
	font-size: 14px;
	line-height: 21px;
	display: inline-block;
	margin-bottom: 20px;
}

#interview .interview_sct.intLay_rev{
	box-shadow: calc( (100vw - 1124px)/2 ) 100px 0px 0 #fff inset;
}

@media screen and (max-width: 1124px) {
	#interview .interview_sct,
	#interview .interview_sct.intLay_rev
	{box-shadow: 0 100px 0px 0 #fff inset;}
}

#interview .interview_sct.intLay_rev .interview_sct_header .int_intro{
text-align: right;
}
#interview .interview_sct.intLay_rev .interview_sct_header .int_portrait{
	left: 0;
	right: inherit;
}
#interview .interview_sct.intLay_rev .interview_sct_header .int_intro div{
	margin: 0 0 40px auto;
	text-align: left;
}

#interview .interview_det{
	width: 984px;
	margin: 0 auto;
	margin-bottom: 60px;
}
#interview .interview_det div{
	width: 50%;
}
#interview .interview_det div p{
	margin-left: 0;
	margin-right: 40px;
}
#interview .interview_det.flx_rev div p{
	margin-left: 40px;
	margin-right: 0;
}
#interview .interview_det div img{
	width: 100%;
}



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

	#interview .interview_sct{
		padding-bottom: 5vw;
		margin-bottom: 18vw;
		box-shadow: -3vw 14vw 0px 0 #fff inset;
	}
	#interview .interview_sct.intLay_rev{
		box-shadow: 3vw 14vw 0px 0 #fff inset;
	}
	#interview .interview_sct_header{
		height: auto;
		position: relative;
		margin-bottom: 10vw;
	}
	#interview .interview_sct_header .int_intro{
		height: auto;
		width: 100% ;
		box-sizing: border-box;
		padding: 0 6vw;
		position:static;
		left: auto;
		transform: translateX(0);
		margin-bottom: 4vw;
	}
	#interview .interview_sct_header .int_portrait{
		position:static;
		right: auto;
		width: 100%;
		box-sizing: border-box;
		padding-left: 6vw;
		padding-right: 0;
		height: auto;
	}
	#interview .interview_sct_header .int_portrait img{
		height: 72vw;
		width: 100%;
	}
	#interview .interview_sct_header .int_intro div{
		width: 28vw;
		height: 28vw;
		font-size: 3.6vw;
		line-height: 4vw;
		padding: 15vw 3.8vw 3.8vw 3.8vw;
		background-position: 4vw 4.5vw;
		background-size: 5vw;
		margin-bottom: 6.6vw;
	}

	#interview .interview_sct_header .int_intro h2{
		font-size: 5vw;
		line-height: 10vw;
		margin-bottom: 4vw;
	}
	#interview .interview_sct_header .int_intro h2 span{
		padding: 0.2vw 2vw 0.5vw 2vw;
	}
	#interview .interview_sct_header .int_intro h3{
		font-size: 5.2vw;
		line-height: 7.8vw;
		margin-bottom: 0;
	}
		#interview03 .interview_sct_header .int_intro h3{
			font-size: 4.2vw;
			line-height: 6.3vw;
		}
	#interview .interview_sct_header .int_intro small{
		font-size: 3vw;
		line-height: 4.5vw;
		margin-bottom: 2vw;
	}

	#interview .interview_sct.intLay_rev .interview_sct_header .int_portrait{
		padding-left: 0;
		padding-right: 6vw;
	}
	#interview .interview_sct.intLay_rev .interview_sct_header .int_intro div{
		margin-bottom: 6.6vw;
	}

	#interview .interview_det{
		width: 100%;
		padding: 0 6vw;
		box-sizing: border-box;
		margin-bottom: 8vw;
		display: block;
	}
	#interview .interview_det div{
		width: 100%;
	}
	#interview .interview_det div p{
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 6vw;
	}
	#interview .interview_det.flx_rev div p{
		margin-left: 0;
		margin-right: 0;
	}
	#interview .interview_det div img{
		width: 100%;
	}
	
}

/*==============================================================
	PAGE_DATA
==============================================================*/
#data section{
	box-sizing: border-box;
	/* height: calc(50vh); */
	padding: 100px 0;
}