@charset "UTF-8";

/* --- reset default style ---------------*/
body,
h1, h2, h3, h4, h5, h6,
div, p, ul, ol, li,
dl, dt, dd,
pre, blockquote, address,
table, thead, tbody, tfoot,
 tr, th, td, caption,
form, fieldset, legend,
optgroup, option,
del, ins,
span, a, img,
dfn, em, strong, bdo,
abbr, acronym, cite, q,
kbd, code, samp, var,
input, select, textarea, button, label, iframe
{
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	padding: 0px;
	margin: 0px;
}
sup {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: top;
}
sub {
	font-size: 80%;
	font-style: normal;
	font-weight: normal;
	vertical-align: bottom;
}
fieldset, del, ins, img, abbr, acronym
{
	border: 0;
		vertical-align:bottom
}
li {
	list-style-type: none;
}
area {
	border:none;
	outline: none;
}
/* --- ページの基本 ---------------*/
body {
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 0.9rem;
	color:#000;
	background: #fff;
}
.fontfamily-serif {
	font-family: "ヒラギノ明朝 Pro W3","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝", serif;
}
table {
	border-collapse:collapse;
	border:none;
}
tr,th,td {
	border:none;
}
th,td {
	vertical-align:top;
}
a {
	/* color: #000; */
	text-decoration: none;
}
a:link {
	/* color: #000; */
	text-decoration: none;
}
a:visited {
	/* color: #000; */
	text-decoration: none;
}
a:hover {
	text-decoration: none;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
a:active {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

ol {
	padding-left: 2em;
}
ol li {
	list-style-type: decimal;
}
.gsc-control-cse {
	padding: 0em!important; 
}
#navmenu1 .gsc-control-cse { 
	padding: 0em!important; 
	background-color: #C1272D!important;
	border: none!important; 
}

/* 左右幅リミッター */
.container {
	max-width: 1200px;
}

.max-width {
	max-width: 1200px;
}

/* ガタツキ修正 */
.no-gutters {
	margin:0;
	padding:0;
}
 
.no-gutters > .col,
.no-gutters > [class*="col-"] {
	margin:0;
	padding:0;
}

/* ------------------------- */

/* PCメニュー＋メインビジュアル */
.dec-01 {
	font-size: 1rem;
	font-weight: bold;
	letter-spacing: 0.2rem;
	line-height: 52px;
}
.dec-02 {
	display: block;
	background-color: #3366FF;
	padding: 10px 30px;
	color: white;
	border-radius: 5px;
	font-size: 1.1rem;
}

.dec-21 a {
	display: block;
	padding: 20px 0;
	background: linear-gradient(180deg, #1F00D7 0%,#00009A 100%);
	text-align: center;
	color: white;
	font-size: 16px;
	border-right: 1px solid white;
	border-bottom: 1px solid white;
}
@media (max-width: 1440px) {
	.dec-21 a {
		font-size: calc(16 / 1440 * 100vw);
	}
}
.dec-22 a {
	background: linear-gradient(180deg, #8EB8F5 0%,#0167FF 100%);
	border-right: 0;
}
.dec-23 {
	position: relative;
	background-image: url(../img/img-33.png?03);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #464646;
	height: 268px;
}
@media screen and (max-width:767px) {
	.dec-23 {
		background-image: url(../img/img-34.png?01);
		height: 210px;
	}
}
.dec-24 {
	position: absolute;
	top: 75px;
	left: 60px;
}
@media screen and (max-width:767px) {
	.dec-24 {
		top: 20px;
		left: 20px;
	}
}
.dec-25 {
	color: white;
	font-size: 3rem;
	letter-spacing: 0.4rem;
	margin-bottom: 5px;
}
@media screen and (max-width:767px) {
	.dec-25 {
		font-size: 2.2rem;
		letter-spacing: 0;
	}
}
.dec-26 {
	color: white;
	font-size: 1.3rem;
	letter-spacing: 0.1rem;
}
@media screen and (max-width:767px) {
	.dec-26 {
		font-size: 1rem;
		letter-spacing: 0;
	}
}
.dec-26 span {
	font-size: 2rem;
	font-weight: bold;
	margin-right: 5px;
}
@media screen and (max-width:767px) {
	.dec-26 span {
		font-size: 1.5rem;
	}
}
.dec-27 {
	position: relative;
}
.dec-28 {
	position: absolute;
	z-index: 990;
	top: 40px;
	left: 30px;
	filter: drop-shadow(0px 0px 5px rgb(0, 0, 0, 0.4));
}
.dec-29 {
	display: block;
	background: linear-gradient(180deg, #8EB8F5 0%,#0167FF 100%);
	color: white;
	width: 300px;
	font-size: 1.5rem;
	padding: 10px 0;
	border: 1px solid white;
}

/* コンテンツ ＋ 企業理念 会社概要 */
.dec-32 {
	color: #000;
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.1rem;
	margin-bottom: 5px;
}
.dec-33 {
	font-size: 1rem;
}
.dec-33 span {
	font-size: 1.5rem;
	font-weight: bold;
	margin-right: 5px;
}
.dec-34 {
	width: 200px;
	padding: 0 20px;
	margin: 0 auto;
	background: linear-gradient(180deg, white 0%, white 60%,#9FD1FB 60%,#9FD1FB 100%);
	font-size: 2rem;
	letter-spacing: 0.2rem;
	font-weight: bold;
}

.dec-35 {
	background-color: #D9ECFD;
	width: 150px;
	padding: 20px 0 10px 30px;
	font-size: 1rem;
	line-height: 1.8rem;
	font-weight: bold;
}
@media screen and (max-width:767px) {
	.dec-35 {
	padding: 10px 10px;
	width: 100px;

	}
}
.dec-36 {
	background-color: #EBF6FE;
	border-left: 10px solid white;
	padding: 20px 0 10px 30px;
	font-size: 1rem;
	line-height: 1.8rem;
}
@media screen and (max-width:767px) {
	.dec-36 {
		padding: 10px 10px;
	}
}
.dec-37 {
	display: block;
	float: right;
	margin-top: -30px;
	width: 250px;
	background: linear-gradient(180deg, #3300FF 0%,#02009E 100%);
	border-radius: 6px;
	color: white;
	text-align: center;
	padding: 6px 0;
}
@media screen and (max-width:767px) {
	.dec-37 {
		float: none;
		margin: 10px 0;
		width: 180px;
		padding: 10px 10px;
	}
}
.dec-38 {
	background-color: #EBF6FE;
}

/* アクセス 福利厚生 */
.dec-41 {
	color: #000;
	font-size: 1.4rem;
	letter-spacing: 0.2rem;
	font-weight: bold;
}
.dec-41 span {
	color: #3366FF;
}
.dec-42 {
	color: #000;
	font-size: 1rem;
	line-height: 1.8rem;
	text-align: justify;
	text-justify: inter-character;
}
.dec-43 {
	display: block;
	width: 250px;
	background: linear-gradient(180deg, #3300FF 0%,#02009E 100%);
	border-radius: 6px;
	color: white;
	text-align: center;
	padding: 6px 0;
}
@media screen and (max-width:767px) {
	.dec-43 {
		padding: 10px 10px;
	}
}
.dec-44 {
	border-bottom: 1px solid black;
}
.dec-45 {
	background-color: #41B3E8;
	border-radius: 6px;
	padding: 8px 0;
	color: white;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 0.2rem;
}


/* フッター */
.dec-51 {
	background-color: #F1F1F1;
}
.dec-52 {
	max-width: 700px;
}
.dec-53 {
	font-size: 1rem;
	line-height: 1.4rem;
}
.dec-54 {
	display: block;
	color: #000;
	font-size: 0.8rem;
	padding: 5px 0;
	border-left: 1px solid black;
}
.dec-55 {
	border-right: 1px solid black;
}


/* ハンバーガーメニュー※こいつは下にしておく */
#g-nav {
	/* 絶対位置にして、z-indexの数値を大きくして前面*/
	position:fixed;
	z-index: 900;
	/* ナビのスタート位置と形状 */
	top: 20px;
	left: 20px;
	width: calc(100vw - 40px);
	height: 420px;/* ナビの高さ */
	background-color: #2222DE;
	border: 1px solid white;
	opacity: 0;
	display: none;
	/*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら表示*/
#g-nav.panelactive {
	opacity: 0.95;
	display: block;
}

/*ナビゲーション*/
#g-nav ul {
	/*ナビゲーション天地中央揃え*/
	position: absolute;
	z-index: 901;
	top:0;
	left:0;
	width: 100%;
}

/*リストのレイアウト設定*/
#g-nav li {
	list-style: none;
}
.nav-dec01 {
	padding: 19px 0 0 9px;
}
.nav-dec02 {
	border: 1px dashed white;
	width: 80%;
}
#g-nav li a.nav-dec03 {
	display: block;
	color: white;
	text-decoration: none;
	padding: 5px 0;
	text-align: center;
	background-repeat : no-repeat;
	background-position: left 50% center;
	font-size: 20px;
}


/*========= ボタンのためのCSS ===============*/
.openbtn1 {
	position:fixed;
	z-index: 9999;/*ボタンを最前面に*/
	top:20px;
	right: 20px;
	cursor: pointer;
	width: 70px;
	height: 70px;
	border: 1px solid white;
	background-color: rgb(51, 102, 255, 0.8);
}
	
/*×に変化*/
.openbtn1 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 2px;
	border-radius: 2px;
	background-color: white;
	width: 60%;
	}

.openbtn1 span:nth-of-type(1) {
	top:16px; 
}
.openbtn1 span:nth-of-type(2) {
	top:33px;
	background-color: white;
}
.openbtn1 span:nth-of-type(3) {
	top:50px;
}

.openbtn1.active span:nth-of-type(1) {
	top: 27px;
	left: 10px;
	transform: translateY(6px) rotate(-45deg);
	width: 70%;
}
.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn1.active span:nth-of-type(3){
	top: 14px;
	left: 10px;
	transform: translateY(20px) rotate(45deg);
	width: 70%;
	background-color: white;
}

/* トップへボタン*/
#page-top {
	width: 70px;
	height: 70px;
	position: fixed;
	right: -80px;
	bottom: 80px;
}
@media screen and (max-width:767px) {
	#page-top {
		width: 20px;
		bottom: 20px;

	}
}
#page-top a {
	position: relative;
	display: block;
	width: 70px;
	height: 70px;
	text-decoration: none;
	background-image: url(../img/page-top.svg);
}