@charset "UTF-8";

/* Fonts
------------------------- */
@font-face {
	font-family:"NotoSans-Bold";
	src:
		url("../font/NotoSans-Bold.woff2") format("woff2"),
		url("../font/NotoSans-Bold.woff") format("woff");
}
@font-face {
	font-family:"NotoSans-Regular";
	src:
		url("../font/NotoSans-Regular.woff2") format("woff2"),
		url("../font/NotoSans-Regular.woff") format("woff");
}
@font-face {
	font-family:"NotoSans-Light";
	src:
		url("../font/NotoSans-Light.woff2") format("woff2"),
		url("../font/NotoSans-Light.woff") format("woff");
}
@font-face {
	font-family:"NotoSans-Thin";
	src:
		url("../font/NotoSans-Thin.woff2") format("woff2"),
		url("../font/NotoSans-Thin.woff") format("woff");
}
.notoB {
	font-family: "NotoSans-Bold", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: normal;
}
.notoR {
	font-family: "NotoSans-Regular", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: normal;
}
.notoL {
	font-family: "NotoSans-Light", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: normal;
}
.notoT {
	font-family: "NotoSans-Thin", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: normal;
}
.red {
	color:#c00;
}
/* Basic Construction
------------------------- */
body {
	position:relative;
}
.first-inner {
	width:1200px;
	margin:auto;
}
.taC {
	text-align:center;
}
article,
section,
#core-contents {
	clear:both;
	float:none;
	overflow:hidden;
}
/* Header
------------------------- */
#top {
	z-index:1;
	padding:1.6rem 0;
}
#top .first-inner {
	position:relative;
}
#top a {
	color:#fff;
}
#top #site-id {
	width:580px;
}
#top #site-id a {
	display:flex;
}
#top .logo {
	flex:0 0 120px;
	display:block;
	width:120px;
	height:44px;
	margin-right:7px;
}
#top .logo .svg-logo {
	fill:#fff;
}
#top .company-name {
	flex:0 0 450px;
	display:block;
	width:450px;
	height:44px;
	margin-top:3px;
	line-height:1.1;
}
#top .company-name strong {
	font-family: "NotoSans-Regular", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size:1.8rem;
}
#top .company-name em {
	letter-spacing:0.2rem;
	font-family: "NotoSans-Light", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size:1.3rem;
}
#navi1 {
	position:absolute;
	top:7px;
	right:0px;
}
#navi1 ul {
	list-style-type:none;
	display:flex;
}
#navi1 li {
	flex:0 0 30px;
	margin-right:2rem;
}
#navi1 [class^="svg-"] {
	transition:0.4s;
	fill:#fff;
}
#navi1 li:hover [class^="svg-"] {
	fill:#fff;
}
#global-icon a {
	display:block;
	width:30px;
	height:30px;
}
#mail-icon a {
	display:block;
	width:30px;
	height:30px;
}
#menu-button {
	cursor:pointer;
	width:30px;
	height:30px;
}
/* Global Navigation
------------------------- */
#gnavi {
	z-index:9998;
	overflow:hidden;
	transition: all 0.5s;
	position:fixed;
	top:0px;
	right:-400px;
	width:360px;
	background-color:rgba(0,0,0,0.75);
	color:#fff;
}
#gnavi.showed {
	right:0px;
}
#gnavi ul {
	list-style-type:none;
}
#gnavi ul a {
	display:block;
	padding:0.5rem;
	margin:0 2rem 1rem;
	color:#fff;
}
#gnavi ul a:hover {
	background-color:rgba(255,255,255,0.3)
}
#close-menu {
	cursor:pointer;
	margin:0;
	padding:1rem;
	font-size:1.4rem;
	color:#9db4d4;
}
#close-menu:before {
	content: "\f00d";
	margin-right:3px;
	font-family:"Font Awesome 5 Free";
	font-weight:900;
}
/* 非表示 */
[id^="menu-global_navigation"] .m-eng,
[id^="menu-global_navigation"] .m-news,
[id^="menu-global_navigation"] .m-lib {
	display:none;
}
#gnavi .sub-menu {
	display:none;
	margin-left:1.8rem;
}
#gnavi .sub-menu a {
	border:solid 1px #fff;
}
#gnavi .sub-menu.showed {
	display:block;
}
/* Footer
------------------------- */
#main footer {
	padding:2.3rem 1rem 2rem 1rem;
	background-color:#212121;
	font-size:1.2rem;
	color:#fff;
}
#inner-footer {
	display:flex;
	flex-direction:row-reverse;
}
#copyright {
	flex:1 0 360px;
}
#copyright + nav {
	flex:0 0 700px;
}
#menu-footer_navigation {
	list-style-type:none;
}
#menu-footer_navigation li {
	display:inline-block;
	margin-left:1.5rem;
}
#menu-footer_navigation li a {
	color:#fff;
}
#menu-footer_navigation .tri {
	display:inline-block;
	width:6px;
	height:6px;
	margin:0 4px 0 0;
	vertical-align:1px;
}
#menu-footer_navigation .svg-tri {
	fill:#fff;
}
/* 非表示 */
#menu-footer_navigation .m-sitemap,
#menu-footer_navigation .m-kiyaku,
#menu-footer_navigation .m-privacy {
	display:none;
}
/* Scroll Navigation
------------------------- */
#navi2 {
	transition:0.4s;
	position:fixed;
	top:-90px;
	left:0px;
	width:100%;
	background:#fff;
	box-shadow:0px 1px 2px 1px rgba(0,0,0,0.2);
}
#navi2 ul {
	list-style-type:none;
	display:flex;
	width:1200px;
	margin:auto;
	padding:1rem;
}
#navi2 li {
	flex:0 0 24px;
	margin-right:2rem;
}
#navi2 #logo2 {
	flex:1 1 66px;
}
#logo2 a {
	display:block;
	width:76px;
	height:26px;
}
#global-icon2 a {
	display:block;
	width:24px;
	height:24px;
}
#mail-icon2 a {
	display:block;
	width:24px;
	height:24px;
}
#menu-button2 {
	cursor:pointer;
	width:24px;
	height:24px;
}
#navi2 li:last-child {
	margin-right:0;
}
/* Main
------------------------- */
/* Card Menu (Section)
------------------------- */
#card-menu {
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
#card-menu section {
	cursor:pointer;
	flex:0 0 373px;
	width:373px;
	height:330px;
	margin-bottom:30px;
	margin-right:40px;
	border:dotted 1px #666;
	background-color:#fff;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, #card-menu section { margin-right:28px; } /* only for IE11 */
}
#card-menu section:nth-child(3n) {
	margin-right:0px;
}
#card-menu section .inner-section {
	width:100%;
	height:100%;
	background-image:url("../img/home/dot_tri.png");
	background-position:right bottom;
	background-repeat:no-repeat;
}
#card-menu section:hover .inner-section {
	-moz-opacity:0.8;
	opacity:0.8;
}
#card-menu section figure {
	display:block;
	width:100%;
	height:auto;
}
#card-menu section figure img {
	display:block;
	width:100%;
	height:auto;
	margin-bottom:1rem;
}
#card-menu .card-title {
	margin:0 1rem 1.3rem;
	border-bottom:solid 1px #777;
	font-family: "NotoSans-Regular", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size:2.5rem;
	color:#a00;
}
#card-menu .card-title a {
	color:#a00;
}
#card-menu .card-title [class*="narrow-font"] {
	display:block;
	transform-origin: top left;
	letter-spacing:0px;
}
#card-menu .card-title .narrow-font63 {
	width: 190%;
	transform: scale(0.66, 1);
}
#card-menu .card-title .narrow-font78 {
	width: 150%;
	transform: scale(0.78, 1);
}
#card-menu .card-title .narrow-font80 {
	width: 144%;
	transform: scale(0.84, 1);
}
#card-menu .card-title .narrow-font90 {
	width: 120%;
	transform: scale(0.9, 1);
}
#card-menu section p {
	margin:0 1.5rem 0 1.2rem;
	line-height:1.3;
	font-size:1.4rem;
}
/* ----- end of base.css ----- */