@charset "utf-8";
/* ===========================================================

	Title: global.css
	Created: 2021-12-10

=========================================================== */
/*

	body
	header
	global-navigation
	contens
	topicpath
	main
	aside
	btPageTop
	footer


=========================================================== */
/* ===========================================================

Noto Sans Japanese
Regular 400
Medium 500
Bold 700
font-family: 'Noto Sans JP', sans-serif;

Roboto
Medium 500
font-family: 'Roboto', sans-serif;

=========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap');

/* ===========================================================

	body

=========================================================== */
html {
	font-size: 62.5%
}

body {
	font-family: 'Noto Sans JP', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: 400;
	color: #111;
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt"1;
	min-width: 1232px;
}
html, body { height: 100%;}
html * {
	max-height: 999999px;
}

/* Chrome font size adjust  */

/* ===========================================================

	header

=========================================================== */
.global-header {
	position: relative;
	padding: 0 16px;
	border-bottom: 4px solid #cc0000;
}
@media screen and (min-width: 1328px) {
	.global-header {
		padding: 0 64px;
	}
}

.header__inner {
	position: relative;
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	z-index: 100;
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* logo
----------------------------------------------------------- */
.global-header h1 {
	display: table;
}

.global-header h1 a {
	display: table-cell;
	vertical-align: middle;
	height: 86px;
}

.global-header h1 a:hover {
	opacity: 1;
}

/* ===========================================================

	.global-navigation-container

=========================================================== */
.global-navigation-container {
	display: flex;
	flex-direction: column-reverse;
	padding: 24px 0;
}

/* ===========================================================

	global-navigation

=========================================================== */
.global-navigation {
}

.global-navigation ul.gn {}

.global-navigation>ul.gn>li {
	position: relative;
	float: left;
	margin: 0;
}

.global-navigation ul.gn>a {
	display: none;
}

.global-navigation ul.gn a:hover {
	text-decoration: none;
}

.global-navigation ul.gn li a.global-navigation__primary {
	position: relative;
	overflow: hidden;
	display: block;
	/*font-weight: 700;*/
	text-align: center;
	text-decoration: none !important;
	height: 42px;
	line-height: 42px;
	padding: 0 32px;
	color: #111;
}

.global-navigation ul.gn li a.global-navigation__primary::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 16px;
	background-color: #ddd;
	transform: translateY(-50%);
}

.global-navigation ul.gn li:first-child a.global-navigation__primary:first-child::after {
	display: none;
}

.global-navigation ul.gn li a.global-navigation__primary span {
	position: relative;
	padding-bottom: 8px;
	font-weight: 600;
}

.global-navigation ul.gn li a.global-navigation__primary span::before {
	content: "";
	display: block;
	width: 0%;
	height: 1px;
	background-color: rgba(229, 0, 19, 0);
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
	transition: all 0.3s;
}

.global-navigation ul.gn li a.global-navigation__primary:hover span::before,
.global-navigation ul.gn li a.js-global-menu__navigation--over span::before {
	width: 100%;
	background-color: #cc0000;
}

.global-navigation ul.gn li:first-child a.global-navigation__primary:first-child::before {
	display: none;
}

.global-navigation ul.gn li a.global-navigation__primary:hover, .global-navigation ul.gn li a.js--over {
	opacity: 1;
	color: #474747;
}

#home .global-navigation ul.gn li#global-navigation__home a.global-navigation__primary,
#is-home .global-navigation ul.gn li#global-navigation__home a.global-navigation__primary,
#about .global-navigation ul.gn li#global-navigation__about a.global-navigation__primary,
#is-about .global-navigation ul.gn li#global-navigation__about a.global-navigation__primary,
#inquiry .global-navigation ul.gn li#global-navigation__inquiry a.global-navigation__primary,
#is-inquiry .global-navigation ul.gn li#global-navigation__inquiry a.global-navigation__primary,
#feature .global-navigation ul.gn li#global-navigation__feature a.global-navigation__primary,
#is-feature .global-navigation ul.gn li#global-navigation__feature a.global-navigation__primary,
#portfolio .global-navigation ul.gn li#global-navigation__portfolio a.global-navigation__primary,
#is-portfolio .global-navigation ul.gn li#global-navigation__portfolio a.global-navigation__primary,
#finance .global-navigation ul.gn li#global-navigation__finance a.global-navigation__primary,
#is-finance .global-navigation ul.gn li#global-navigation__finance a.global-navigation__primary,
#ir .global-navigation ul.gn li#global-navigation__ir a.global-navigation__primary,
#is-ir .global-navigation ul.gn li#global-navigation__ir a.global-navigation__primary,
.home .global-navigation ul.gn li#global-navigation__home a.global-navigation__primary,
.is-home .global-navigation ul.gn li#global-navigation__home a.global-navigation__primary,
.about .global-navigation ul.gn li#global-navigation__about a.global-navigation__primary,
.is-about .global-navigation ul.gn li#global-navigation__about a.global-navigation__primary,
.inquiry .global-navigation ul.gn li#global-navigation__inquiry a.global-navigation__primary,
.is-inquiry .global-navigation ul.gn li#global-navigation__inquiry a.global-navigation__primary,
.feature .global-navigation ul.gn li#global-navigation__feature a.global-navigation__primary,
.is-feature .global-navigation ul.gn li#global-navigation__feature a.global-navigation__primary,
.portfolio .global-navigation ul.gn li#global-navigation__portfolio a.global-navigation__primary,
.is-portfolio .global-navigation ul.gn li#global-navigation__portfolio a.global-navigation__primary,
.finance .global-navigation ul.gn li#global-navigation__finance a.global-navigation__primary,
.is-finance .global-navigation ul.gn li#global-navigation__finance a.global-navigation__primary,
.ir .global-navigation ul.gn li#global-navigation__ir a.global-navigation__primary,
.is-ir .global-navigation ul.gn li#global-navigation__ir a.global-navigation__primary,
#sustainability .global-navigation ul.gn li#global-navigation__sustainability a.global-navigation__primary {
	color: #cc0000;
	border-bottom-color: #cc0000;
}

/* .global-navigation__secondary
----------------------------------------------------------- */
.global-navigation ul.gn .global-navigation__secondary {
	display: none;
	position: absolute;
	top: 42px;
	left: 50%;
	z-index: 999900;
	width: 240px;
	transform: translateX(-50%);
	text-align: left;
	padding-top: 24px;
	border-top: none;
}

.global-navigation ul.gn .global-navigation__secondary ul {
	margin: 0;
	background-color: #cc0000;
	padding: 16px;
}

.global-navigation ul.gn .global-navigation__secondary li {
	margin: 0;
	font-size: 15px;
	font-size: 1.5rem;
}

.global-navigation ul.gn .global-navigation__secondary li a {
	display: block;
	padding: 10px 16px 10px 24px;
	color: #fff;
	position: relative;
}

.global-navigation ul.gn .global-navigation__secondary li a:before {
	content: "";
	width: 6px;
	height: 5px;
	position: absolute;
	top: 17px;
	left: 12px;
	margin: auto;
	box-sizing: border-box;
	border: 4px solid transparent;
	border-left: 5px solid #fff;
}


.global-navigation ul.gn .global-navigation__secondary li a:link, .global-navigation ul.gn .global-navigation__secondary li a:visited {
	color: #fff;
	text-decoration: none;
}

.global-navigation ul.gn .global-navigation__secondary span {
	position: relative;
}
.global-navigation ul.gn .global-navigation__secondary li a:hover,
.global-navigation ul.gn .global-navigation__secondary li a.current {
	opacity: 0.8;
}
.global-navigation ul.gn .global-navigation__secondary li a.current {
	font-weight: bold;
}

/* ===========================================================

	global-sub-navigation

=========================================================== */
.global-sub-navigation {
	display: flex;
    justify-content: flex-end;
	align-items: center;
	padding: 5px 0;
}


/* global-sub-navigation__link
----------------------------------------------------------- */
.global-sub-navigation__link {
	display: flex;
	font-size: 1.4rem;
}
.global-sub-navigation__link li {
	padding: 0 8px;
}
.global-sub-navigation__link a {
	position: relative;
	font-size: 1.4rem;
	text-decoration: none;
	padding-left: 24px;
}
.global-sub-navigation__link a::before {
	content: "";
	width: 16px;
	height: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -60%);
	background-image: url(../img/global/icon__arrow.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

/* global-sub-navigation__user-menu
----------------------------------------------------------- */
.global-sub-navigation__user-menu {
	display: flex;
}

.user-menu__admin, .user-menu__logout {
	background-color: #666;
	width: 144px;
	height: 28px;
	text-align: center;
	line-height: 28px;
	font-size: 1.4rem;
	margin-left: 8px;
}
.user-menu__admin {
	background-color: #cc0000;
}
.user-menu__logout {
	background-color: #666;
}

.user-menu__logout a, .user-menu__admin a {
	color: #fff !important;
}

.user-menu__logout a:link {
	color: #fff !important;
}

.user-menu__admin a, .user-menu__logout a {
	display: block;
	text-decoration: none !important;
}

.user-menu__admin a:visited, .user-menu__logout a:visited {
	text-decoration: none !important;
}

.user-menu__admin a:link, .user-menu__logout a:link {
	text-decoration: none !important;
}

/* ===========================================================

	title

=========================================================== */
.title {
	position: absolute;
	left: 0;
	width: 100%;
	height: 156px;
	padding: 0 16px;
	background-color: #F2F2E4;
	text-align: left;
}

.title h1 {
	color: #cc0000;
	font-size: 4.0rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	display: block;
	margin: 0 auto;
	height: 156px;
	line-height: 156px;
	width: 1200px;
}

/* ===========================================================

	hamburger-menu

=========================================================== */
.hamburger-menu__button {
	display: none;
}

/* ===========================================================

	contens

=========================================================== */
.contents {
	margin: 0 auto;
	width: 1250px;
	padding: 0 0 96px;
	text-align: left;
	display: flex;
	justify-content: space-between;
}

.contents main {
	margin-top: 156px;
	padding-top: 48px;
	width: 950px;
}

.contents aside {}


/* ===========================================================

	main

=========================================================== */
main section, .cont-margin {
	margin-bottom: 32px;
}

main {
	width: 100%;
}

/* ===========================================================

	aside

=========================================================== */
aside {
	display: block;
	position: relative;
	width: 218px;
	margin: 204px 0 0;

}

aside h1 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	color: #fff;
	background-color: #cc0000;
	letter-spacing: 0;
	height: 96px;
}

aside ul {
	padding: 16px 0 16px 8px;
	border: solid 1px #ddd;
	border-top: none;
}

aside ul li {
	margin: 0;
}

aside ul li a,
aside ul li a:link,
aside ul li a:visited {
	position: relative;
	display: block;
	padding: 8px 0 8px 16px;
	color: #111;
	border-top: none;
	text-decoration: none;
	font-size: 14px;
}

aside ul li a:hover, aside ul li a.current {
	text-decoration: none;
	color: #cc0000 !important;
	opacity: 1;
}

aside ul li a:before {
	content: "";
	width: 6px;
	height: 5px;
	position: absolute;
	top: 18px;
	left: 5px;
	margin: auto;
	box-sizing: border-box;
	border: 2px solid transparent;
	border-left: 4px solid #cc0000;
}

aside ul li a.current span {
	position: relative;
	color: #cc0000 !important;
}

/*aside ul li a.current span::after {*/
/*	content: "";*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: 1px;*/
/*    background-color: #222;*/
/*    position: absolute;*/
/*    bottom: -8px;*/
/*}*/

/* ===========================================================

	topic path

=========================================================== */
.topic-path {
	width: 100%;
	padding: 0;
}

.topic-path ol {
	margin: 0 auto;
	font-size: 1.2rem;
	list-style: none;
	display: flex;
	align-items: center;
	height: 48px;
	width: 1200px;
}

.topic-path ol li {}

.topic-path ol li:before {
	content: "/";
	padding: 0 16px;
	color: #666 !important;
}

.topic-path ol li:first-child:before {
	content: none;
}

.topic-path ol a:link, .topic-path ol a:visited {
	text-decoration: none;
	color: #333;
}

.topic-path ol a:hover {
	text-decoration: none;
}

/* ===========================================================

	bt-pagetop

=========================================================== */
body .bt-pagetop {
	clear: both;
	width: 50px;
	height: 50px;
	margin: 0;
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}

.bt-pagetop a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #004831;
	transition: .2s ease-in-out;
	/*　Scott Kellum Method */
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
}

.bt-pagetop a:before {
	content: " ";
	position: absolute;
	top: 20px;
	left: 50%;
	margin: 0 0 0 -5px;
	width: 10px;
	border-top: solid 1px #fff;
}

.bt-pagetop a:after {
	content: " ";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0 0 0 -4px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 4px 6.9px 4px;
	border-color: transparent transparent #fff transparent;
}

.bt-pagetop a:hover {
	opacity: 0.5;
}

/* ===========================================================

	footer

=========================================================== */
.global-footer {}
body > footer.global-footer {
  position: sticky;
  top: 100vh;
}
.is-public .global-footer {
	border-top: solid 1px #ddd;
}
.is-public.is-login .global-footer {
	border-top: none;
}

/* global-footer__navigation
----------------------------------------------------------- */
.global-footer__navigation {
	display: block;
	clear: both;
	width: 100%;
	color: #fff;
	background-color: #cc0000;
	padding: 28px 64px;
}

.global-footer__navigation>ul {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	min-width: 1200px;
	max-width: 1600px;
	text-align: left;
}

.global-footer__navigation>ul>li {
	width: 100%;
	font-size: 1.6rem;
	white-space: nowrap;
	padding-right: 40px;
}

.global-footer__navigation>ul>li li {
	margin-bottom: 6px;
	padding-left: 16px;
	position: relative;
}
.global-footer__navigation>ul>li li::before {
	content: "";
	width: 11px;
	height: 8px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -60%);
	background-image: url(../img/global/icon__arrow--white.svg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: 11px auto;
}

.global-footer__navigation>ul>li:last-child {
	padding-right: 0;
}

.global-footer__navigation>ul>li>a {
	color: #fff;
	position: relative;
	white-space: nowrap !important;
	padding-bottom: 10px;
	font-size: 1.54rem;
	font-weight: bold;
}

.global-footer__navigation ul li a, .global-footer__navigation ul li a:link, .global-footer__navigation ul li a:visited {
	display: block;
	text-decoration: none;
}

.global-footer__navigation ul li a:hover {
	opacity: 0.6;
}

.global-footer__navigation ul li li a {
	color: #fff;
	font-size: 1.3rem;
}

/* global-footer__sub
----------------------------------------------------------- */
.global-footer__sub {
	background-color: #fff;
	width: 100%;
	min-width: 1200px;
	padding: 24px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media screen and (min-width: 1328px) {
	.global-footer__sub {
		padding: 24px 64px;
	}
 
}

/* global-footer__sub-banner
----------------------------------------------------------- */
.global-footer__sub-banner {
	display: flex;
	flex-direction: column;
	align-items: center;
	order: 2;
	padding: 0 0 16px;
}

.global-footer__sub-banner ul {
	display: flex;
}

.global-footer__sub-banner li {
	margin: 0 0 0 8px;
}


/* global-footer__sub-navigation
----------------------------------------------------------- */
.global-footer__sub-navigation {
	order: 1;
}

.global-footer__sub-navigation ul {
	display: flex;
	margin: 0;
}

.global-footer__sub-navigation ul li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.global-footer__sub-navigation ul li a,
.global-footer__sub-navigation ul li a:link .global-footer__sub-navigation ul li a:visited {
	text-decoration: none !important;
	border-right: solid 1px #ccc;
	font-size: 13px;
	font-size: 1.3rem;
	padding: 0 10px 0 0;
	margin: 0 10px 0 0;
}

.global-footer__sub-navigation ul li:last-child a {
	padding: 0;
	margin: 0;
	border-right: none;
}

.global-footer__sub-navigation ul li a:link, .global-footer__sub-navigation ul li a:visited {
	color: #000;
	text-decoration: none !important;
}

.global-footer__sub-navigation ul li a:hover {
	color: #cc0000;
	/*font-weight: bold;*/
}

.global-footer__sub-navigation ul li a.current {
	color: #cc0000;
	/*font-weight: bold;*/
}

.global-footer__sub-navigation p {
	text-align: left;
	padding: 8px 0 0;
}

.global-footer__sub-navigation p small {
	font-size: 1.2rem;
	font-style: normal;
}