@charset "utf-8";
/* ----------------------------------------------------------------------
 * RESET
 * ---------------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
input,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
:before,
:after {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	vertical-align: bottom;
	box-sizing: border-box;
}

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

html {
	font-size: 62.5%;
	overflow-y: scroll;
}

.g-body {
	color: #000;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	font-feature-settings: 'palt';
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	width: 100%;
	height: 100%;
	background: #000;
	position: relative;
	cursor: default;
}

input,
textarea,
select,
button{
	font-family: sans-serif;
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
}

ol,
ul {
	list-style: none;
}

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

a,
a:before,
a:after,
a img,
input[type='image'] {
	color: #bf1a20;
	text-decoration: underline;
	transition: .2s;
}

a:hover {
	opacity: .8;
}

a:focus {
	outline: none;
}

img {
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

button {
	margin:0;
	padding:0;
	border:0;
	background:transparent;
}

sup {
	vertical-align: top;
}


/* ----------------------------------------------------------------------
 * LAYOUT
 * ---------------------------------------------------------------------- */
.g-wrap {
	background: #fff;
}

.g-container {
}


/* ----------------------------------------------------------------------
 * GLOBAL - UTILITY
 * ---------------------------------------------------------------------- */
.u-show_mobile {
	display: none !important;
}

.u-hide_mobile {
	display: block !important;
}

.u-show_tablet {
	display: none !important;
}

.u-hide_tablet {
	display: block !important;
}

.u-contents {
	margin: 100px 0 0;
}

.u-inner {
	max-width: 1260px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

.u-flex {
	display: flex;
}

.u-flex_center {
	align-items: center;
}

.u-flex_reverse {
	flex-direction: row-reverse;
}

.w10 { width: 10%; }
.w15 { width: 15%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w35 { width: 35%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w50 { width: 50%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w65 { width: 65%; }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w85 { width: 85%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }

.u-movie-player {
	margin: 30px 0;
	padding: 5px;
	background: #f1f1f1;
}

.u-movie-player_inner {
	padding: 56.25% 0 0;
	background: #000;
	position: relative;
}

.u-movie-player iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.u-font-abel {
	font-family: 'Abel';
}

.u-align_left {
	text-align: left;
}

.u-align_center {
	text-align: center;
}

.u-align_right {
	text-align: right;
}

.u-text {
	font-size: 1.7rem;
	line-height: 1.65;
	letter-spacing: 0;
	margin: 1.5em 0 0;
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}

.u-title_hi {
	font-size: 2.8rem;
	padding: .5em 0 .5em 0;
	border-bottom: 2px solid #54AED7;
}

.u-title_hi + * {
	margin-top: 30px;
}

.u-list {
	padding: 0 0 10px 1.25em;
}

.u-list li {
	line-height: 1.5;
	list-style: disc;
	margin: 0 0 5px;
}

.u-notes {
	margin: .5em 0 0;
}

.u-note {
	font-size: 1.3rem;
	line-height: 1.35;
	padding: 0 0 0 1.25em;
	position: relative;
}

.u-note--noindent {
	padding-left: 0;
}

.u-note:after {
	content: attr(data)'';
	position: absolute;
	top: 0;
	left: 0;
}

.u-mgt_0 { margin-top: 0 !important; }
.u-mgt_10 { margin-top: 10px !important; }
.u-mgt_20 { margin-top: 20px !important; }
.u-mgt_30 { margin-top: 30px !important; }
.u-mgt_40 { margin-top: 40px !important; }
.u-mgt_50 { margin-top: 50px !important; }
.u-mgt_60 { margin-top: 60px !important; }
.u-mgt_70 { margin-top: 70px !important; }
.u-mgt_80 { margin-top: 80px !important; }
.u-mgt_90 { margin-top: 90px !important; }
.u-mgt_100 { margin-top: 100px !important; }
.u-mgt_110 { margin-top: 110px !important; }
.u-mgt_120 { margin-top: 120px !important; }

.u-pdt_10 { padding-top: 10px !important; }
.u-pdt_20 { padding-top: 20px !important; }
.u-pdt_40 { padding-top: 40px !important; }
.u-pdt_60 { padding-top: 60px !important; }
.u-pdt_80 { padding-top: 80px !important; }
.u-pdt_100 { padding-top: 100px !important; }

.u-pdr_10 { padding-right: 10px !important; }
.u-pdr_15 { padding-right: 15px !important; }
.u-pdr_20 { padding-right: 20px !important; }
.u-pdr_25 { padding-right: 25px !important; }
.u-pdr_30 { padding-right: 30px !important; }
.u-pdr_35 { padding-right: 35px !important; }
.u-pdr_40 { padding-right: 40px !important; }
.u-pdr_45 { padding-right: 45px !important; }
.u-pdr_60 { padding-right: 60px !important; }
.u-pdr_80 { padding-right: 80px !important; }
.u-pdr_100 { padding-right: 100px !important; }

.u-pdb_10 { padding-bottom: 10px !important; }
.u-pdb_20 { padding-bottom: 20px !important; }
.u-pdb_30 { padding-bottom: 30px !important; }
.u-pdb_40 { padding-bottom: 40px !important; }
.u-pdb_60 { padding-bottom: 60px !important; }
.u-pdb_80 { padding-bottom: 80px !important; }
.u-pdb_100 { padding-bottom: 100px !important; }

.u-pdl_10 { padding-left: 10px !important; }
.u-pdl_20 { padding-left: 20px !important; }
.u-pdl_40 { padding-left: 40px !important; }
.u-pdl_60 { padding-left: 60px !important; }
.u-pdl_80 { padding-left: 80px !important; }
.u-pdl_100 { padding-left: 100px !important; }

.u-video-player {
	position: relative;
	aspect-ratio: 16 / 9;
}

.u-video-player iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.u-bg_blue {
	color: #fff;
	padding: 0 0 60px;
/*	background: linear-gradient(rgba(0,52,118,1) 1%, rgba(0,86,157,1) 100%);*/
	position: relative;
	background: #009cdc url("/lion-bf/img/bg_04.svg") repeat-y top center / 100% auto;
}

.u-bg_blue:before,
.u-bg_blue:after {
	position: absolute;
	opacity: .25;
}

.u-bg_blue:before {
	content: url("../img/bg_01.svg");
	top: 90px;
	left: 0;
}

.u-bg_blue:after {
	content: url("../img/bg_02.svg");
	bottom: 60px;
	right: 0;
}

.u-bg_blue .u-contents {
	position: relative;
	z-index: 10;
}

/*mv*/
.l-mv {
	margin: 0;
	padding: 110px 0 0;
	background: linear-gradient(rgba(255,255,255,1) 10%, rgba(206,228,244,1) 100%);
	position: relative;
}

.l-mv:before,
.l-mv:after {
	position: absolute;
}

.l-mv:before {
	content: url("../img/mv_03.svg");
	bottom: 200px;
	left: 0;
}

.l-mv:after {
	content: url("../img/mv_04.svg");
	top: 0;
	right: 0;
}

.l-mv .u-inner {
	position: relative;
	z-index: 10;
}

.l-mv_logo {
	padding: 0 50px;
}

.l-mv_title {
	text-align: center;
	font-size: 3.8rem;
	letter-spacing: .05em;
	white-space: nowrap;
	margin: 60px 140px 0;
	padding: 0 0 20px;
	border-bottom: 1px solid #666;
}

.l-mv_image {
	margin: 30px 0 -200px;
	padding: 0 80px;
	display: flex;
	position: relative;
	z-index: 10;
}

.l-mv_image figure {
	width: calc(100% / 2);
	position: relative;
}

.l-mv_image figcaption {
	color: #fff;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1;
	padding: .15em .5em .375em;
	border-radius: 5px;
	background: #BF1A20;
	position: absolute;
	top: 0;
	left: 0;
}

.l-mv_image figure:nth-child(1) figcaption {
	margin: 36% 0 0 12%;
}

/*feature*/
.l-feature {
	padding: 190px 0 0;
}

.l-feature_title {
	display: flex;
	align-items: center;
	text-shadow: 0 0 30px #fff;
}

.l-feature_title span {
	width: 25%;
	padding: 10px 45px 0 0;
}

.l-feature_title em {
	font-size: 2.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: .05em;
	width: calc(100% - 25%);
}

.l-feature_title em strong {
	color: #fdf050;
	font-size: 6.6rem;
	font-weight: 300;
	margin: 0 0 10px;
	display: block;
	transform: skewX(-5deg);
}

.l-feature_title em strong small {
	font-size: 4rem;
	vertical-align: -.1em;
	margin: 0 .2em;
	display: inline-block;
}

.l-feature_title b {
	font-size: 8.6rem;
	font-weight: 200;
	vertical-align: 0;
	display: inline-block;
	
	@media screen and (max-width:767px) {
		font-size: 8vw;
	}
}

.l-feature_title + * {
	margin-top: 100px !important;
}

/*solution*/
.l-solution_title {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: .05em;
}

.l-solution_title b {
	font-size: 3.2rem;
	margin: 0 .1em;
	display: inline-block;
}

.l-solution_items {
	margin: 35px 0 0;
	display: flex;
	gap: 40px;
}

.l-solution_items figure {
	text-align: center;
	width: calc(100% / 3);
	padding: 30px 0;
	background: #bfd6e9;
	border-radius: 10px;
}

.l-solution_items figcaption {
	color: #005ca7;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	min-height: 3em;
	margin: 0 0 15px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.l-solution h3 {
	font-size: 5rem;
	font-weight: 400;
	text-align: center;
	letter-spacing: .075em;
	margin: 40px 0 0;
}

.l-solution h3:before {
	content: url("../img/img_09.svg");
	margin: 0 0 60px;
	display: block;
}

.l-solution h3 mark {
	color: #fdf050;
	background: transparent;
}

/*point*/
.l-point {
	margin: 10px 0 0;
	display: flex;
	gap: 30px;
}

.l-point h3 {
	width: 45%;
	padding: 60px 0 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url("../img/bg_03.png") no-repeat center / 100% 100%;
}

.l-point h3 em {
	color: #505051;
	font-size: 2.8rem;
	line-height: 2;
	text-align: center;
	letter-spacing: .05em;
	margin: 10px 0 0;
	display: block;
}

.l-point h3 em strong {
	color: #005ca7;
	font-size: 3.6rem;
	line-height: 1;
	display: block;
	position: relative;
}

.l-point h3 em strong:after {
	content: '';
	width: calc(100%);
	height: 6px;
	background: #f9ef7a;
	display: block;
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translate(-50%,0) skewX(-75deg);
	z-index: 0;
}

.l-point h3 em strong b {
	position: relative;
	z-index: 10;
}

.l-point_box {
	width: calc(100% - 45%);
	padding: 0 30px 0 0;
}

.l-point h4 {
	text-align: right;
	margin: -1em -30px 0 0;
	padding: 0 30px 7px 0;
	border-bottom: 1px solid #fff;
	display: block;
}

.l-point .l-point_read {
	font-size: 2.6rem;
	line-height: 1.75;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: .05em;
	margin: 50px 0 0 30px;
	display: block;
}

.l-point_detail_image {
	text-align: center;
	margin: 70px 0 0;
	padding: 0 20px;
}

.l-point_detail_image img {
/*	width: 700px;*/
}


/* ----------------------------------------------------------------------
 * HEADER
 * ---------------------------------------------------------------------- */
.g-header {
	line-height: 1;
	width: 100%;
	background: #fff;
	z-index: 100;
}

.g-header_global {
	border-bottom: 1px solid #ccc;
}

.g-header_global .u-inner {
	width: 100%;
	height: 50px;
	align-items: center;
	justify-content: space-between;
}

.g-header_global-logo {
	width: 330px;
}

.g-header_global-contact a {
	color: #fff;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	width: 140px;
	height: 50px;
	padding: 3px 0 0;
	display: block;
	background: #BF1A20;
	position: relative;
}

.g-header_global-contact a:hover {
	background: #000;
}

.g-header_global-contact a:before {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 auto 3px;
	background: url(/assets/img/global/icon-mail.png) no-repeat center / 100% auto;
	display: block;
}

/* ----------------------------------------------------------------------
 * FOOTER
 * ---------------------------------------------------------------------- */
.g-footer {
	line-height: 1;
	border-top: 3px solid #bc272d;
}

.g-footer_nav {
	padding: 40px 0 60px;
	background: #fff;
}

.g-footer_nav ul {
	padding: 0 120px;
}

.g-footer_nav ul li {
	width: calc(100% / 2);
	padding: 0 6px;
}

.g-footer_nav ul li a {
	color: #505051;
	text-decoration: none;
	min-height: 50px;
	margin: 5px 0;
	display: block;
	border: 1px solid #bc272d;
	border-radius: 5px;
	position: relative;
	box-sizing: border-box;
}

.g-footer_nav ul li a:before {
	content: '';
	width: 9px;
	height: 14px;
	display: block;
	background: url("../img/arrow_01.svg") no-repeat center / 100% 100%;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	transition: .2s;
}

.g-footer_nav ul li a:hover {
	color: #fff;
	background: #bc272d;
	opacity: 1;
}

.g-footer_nav ul li a:hover:before {
	background-image: url("../img/arrow_01@white.svg");
}

.g-footer_nav ul li a em {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: calc(50% - .15em);
	left: 40px;
	transform: translateY(-50%);
}

.g-footer_nav ul li a em small {
	font-size: 1.3rem;
	font-weight: 400;
	padding: 5px 0 0;
	display: block;
}

.g-footer_nav ul li:nth-child(1) a {
	min-height: 77px;
}

.g-footer_nav ul li:nth-child(2) a {
	height: calc(100% - (5px * 2));
}

.g-footer_global:after {
	content: '';
	display: block;
	clear: both;
}

.g-footer_global-pagetop {
	position: absolute;
	top: 0;
	right: 0;
	transform: translateY(-100%);
}

.g-footer_global-pagetop a {
	color: #fff;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	letter-spacing: .05em;
	width: 130px;
	height: 30px;
	padding: 8px 0 0;
	display: block;
	background: #000;
}

.g-footer_global-pagetop a:after {
	content: '';
	width: 12px;
	height: 12px;
	margin: 0 0 0 5px;
	display: inline-block;
	background: url(/assets/img/global/arrow-red-01.png) no-repeat center / 100% auto;
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.g-footer_global {
	padding-top: 15px;
	padding-bottom: 15px;;
}

.g-footer_global p {
	color: #ddd;
	font-size: 1.32rem;
	padding: 5px 0 0;
	float: left;
}

.g-footer_global ul {
	align-items: center;
	justify-content: flex-end;
	float: right;
}

.g-footer_global ul li {
	border-left: 1px solid #ddd;
}

.g-footer_global ul li:last-of-type {
	border-right: 1px solid #ddd;
}

.g-footer_global ul li a {
	color: #fff;
	font-size: 1.2rem;
	text-decoration: none;
	padding: 5px 10px;
	display: block;
}
