@charset "UTF-8";


/* ==================================================
		初期設定
================================================== */
html {
	font-size: 10px; /* default */
}
body {
	min-width: 320px;
	overflow-x: hidden;
	color: #000000;
	font-size: 1.4rem;
	font-family: 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', Meiryo, -apple-system, BlinkMacSystemFont, Osaka, Arial, sans-serif;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, li, p {
	margin-bottom: 0;
}
ul {
	padding-left: 0;
	list-style: none;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
	color: inherit;
}
a:hover {
	color: inherit;
	text-decoration: none;
}

/***** フォーム *****/
input[type="text"], input[type="tel"], input[type="email"] {
	width: 100%;
	padding: 8px 10px 12px;
	border: 1px solid #ffffff;
	border-radius: 4px;
	color: #ffffff;
	font-size: 1.6rem;
	background: none;
}

input[type="submit"] {
	width: 100%;
	padding: 14px 10px 16px;
	line-height: 1;
	border: 2px solid #ffffff;
	border-radius: 10rem;
	color: #ffffff;
	font-size: 2rem;
	font-weight: 500;
	background: none;
	cursor: pointer;
	-webkit-transition: .3s;
	transition: .3s;
}

button {
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}

textarea {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ffffff;
	border-radius: 4px;
	color: #ffffff;
	font-size: 1.6rem;
	background: none;
}

input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px white inset;
}

/* プレースホルダー設定 */
input::-webkit-input-placeholder {
	color: #86a8cd;
}
input::-moz-placeholder {
	color: #86a8cd;
	opacity: 1;
}
input:-ms-input-placeholder {
	color: #86a8cd;
}
textarea::-webkit-input-placeholder {
	color: #86a8cd;
}
textarea::-moz-placeholder {
	color: #86a8cd;
	opacity: 1;
}
textarea:-ms-input-placeholder {
	color: #86a8cd;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}

input:focus, textarea:focus, select:focus, button:focus {
	outline: 0;
}



/* ==================================================
		共通レイアウト・共通デザイン
================================================== */
/* Bootstrapコンテナ */
.container {
	padding-right: 0;
	padding-left: 0;
}

@media (min-width: 375px) {
	.container {
		padding-right: 15px;
		padding-left: 15px;
	}
}


.top0   { top: 0; }
.right0 { right: 0; }
.left0  { left: 0; }

.hoverOpacity:hover {
	opacity: .8;
}

.opacity0 {
	opacity: 0;
}

.transition03s {
	-webkit-transition: .3s;
	transition: .3s;
}



/* ==================================================
		ヘッダー
================================================== */
#headerContent {
	z-index: 100;
}

/* ヘッダーナビ固定時 */
#headerContent.fixedContent {
	border-bottom: 1px solid #cccccc;
	background: #ffffff;
}

/* ロゴ */
#headerLogo {
	width: 160px;
}

/* SPメニューボタン アイコン */
#btnSpMenu .iconMenu {
	width: 24px;
}

/* メインビジュアル */
#mainVisual {
	z-index: -1;
	background: #f6f6f6;
}

#mainVisual img {
	max-width: none;
}


@media (min-width: 768px) {
	/* ロゴ */
	#headerLogo {
		width: 180px;
	}
	/* ヘッダーナビ固定時 */
	#headerContent.fixedContent #headerLogo {
		width: 180px;
	}


	/***** グローバルナビ *****/
	#headerNav .navItem {
		font-size: 1.6rem;
		font-family: 'Poppins', 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, 'メイリオ', Meiryo, -apple-system, BlinkMacSystemFont, Osaka, Arial, sans-serif;
	}
	#headerNav .navItem::after {
		position: absolute;
		bottom: -6px;
		right: 0;
		left: 0;
		width: 0;
		margin: 0 auto;
		border-bottom: 3px solid #0051a4;
		content: "";
		-webkit-transition: .3s;
		transition: .3s;
	}
	#headerNav .navItem:hover::after {
		width: 100%;
	}

	/* 古いiPad対策 */
	#headerNav.ipad .navItem:hover::after {
		width: 0;
	}

	/* お問い合わせリンク */
	#headerNav .navItemContact {
		padding: 7px 32px;
		border: 1px solid #0051a4;
		color: #ffffff;
		background: #0051a4;
		-webkit-transition: .3s;
		transition: .3s;
	}
	#headerNav .navItemContact::after {
		content: none;
	}
	#headerNav .navItemContact:hover {
		color: #0051a4;
		background: #ffffff;
	}

	/* メインビジュアル */
	#mainVisual {
		height: 500px;
		overflow: hidden;
	}

	#mainVisual img {
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}

@media (min-width: 992px) {
	/* ロゴ */
	#headerLogo {
		width: auto;
	}
	/* ヘッダーナビ固定時 */
	#headerContent.fixedContent #headerLogo {
		width: 240px;
	}

	/* メインビジュアル */
	#mainVisual {
		height: 600px;
	}
}



/* ==================================================
		SPナビ
================================================== */
#spNavContent {
	height: 0;
	overflow-y: scroll;
	z-index: 200;
	background: #ffffff;
	-webkit-transition: .5s;
	transition: .5s;
}

/* Bootstrapコンテナ */
#spNavContent .container {
	padding-right: 15px;
	padding-left: 15px;
}

/* SPメニュー表示時 */
#spNavContent.show {
	height: 100%;
}

/* SPメニュー閉じるボタン アイコン */
#spNavContent .iconClose {
	width: 10px;
}


/***** SPメニュー *****/
#spNav .navItem {
	padding-left: 25px;
	font-size: 2.4rem;
	font-weight: 500;
	opacity: 0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
	-webkit-transition: .5s;
	transition: .5s;
}
#spNav .navItem::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 16px;
	margin-top: -1.5px;
	border-top: 3px solid #000000;
	content: "";
}
#spNav .navItem:hover::before {
	border-top-color: #0051a4;
}
#spNav .navItem.menuShow {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}


@media (min-width: 375px) {
	/* Bootstrapコンテナ */
	#spNavContent .container {
		padding-right: 30px;
		padding-left: 30px;
	}
}


/* 上方向フェイドイン */
/*
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	        animation-name: fadeInUp;
	-webkit-animation-duration: .5s;
	        animation-duration: .5s;
}

@-webkit-keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(10px);
		        transform: translateY(10px);
	}
	100% {
		opacity: 100;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}

@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(10px);
		        transform: translateY(10px);
	}
	100% {
		opacity: 100;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
*/



/* ==================================================
		フッター
================================================== */
footer {
	background: #eeeeee;
}

/* ロゴ */
#footerLogo {
	width: 220px;
}


/***** フッターナビ *****/
#footerNav {
	width: 220px;
}

#footerNav .navItem {
	width: calc(50% - 20px);
	padding-left: 23px;
	font-weight: 500;
}
#footerNav .navItem::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 15px;
	margin-top: -1.5px;
	border-top: 3px solid #000000;
	content: "";
	-webkit-transition: .3s;
	transition: .3s;
}
#footerNav .navItem:hover::before {
	border-top-color: #0051a4;
}


/* コピーライト */
#copyright {
	color: #a4a4a4;
	font-size: 1.2rem;
}


@media (min-width: 576px) {
	/* ロゴ */
	#footerLogo {
		width: 305px;
	}


	/***** フッターナビ *****/
	#footerNav {
		width: 305px;
	}
}

@media (min-width: 768px) {
	/* ロゴ */
	#footerLogo {
		width: 200px;
	}


	/***** フッターナビ *****/
	#footerNav {
		width: auto;
	}

	#footerNav .navItem {
		width: auto;
		padding-left: 26px;
		font-size: 1.2rem;
	}
	#footerNav .navItem::before {
		margin-top: -1px;
	}

	#footerNav .navLink {
		font-size: 1.2rem;
	}
}

@media (min-width: 992px) {
	/* ロゴ */
	#footerLogo {
		width: auto;
	}
}



/* ==================================================
		コンテンツ
================================================== */

/* セクションタイトル */
.sectionTtl {
	line-height: 1;
	font-size: 3.5rem;
	font-weight: 300;
}

/* タイトルボーダー */
.borderTtl {
	display: inline-block;
	position: relative;
	padding-bottom: 15px;
	border-bottom: 2px solid #0051a4;
}
.borderTtl::before {
	position: absolute;
	bottom: -18px;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: 0 auto;
	content: "";
	border-width: 8px 7px;
	border-style: solid;
	border-color: #0051a4 transparent transparent transparent;
}
.borderTtl::after {
	position: absolute;
	bottom: -14px;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: 0 auto;
	content: "";
	border-width: 7px 6px;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
}


@media (min-width: 768px) {
	/* セクションタイトル */
	.sectionTtl {
		font-size: 4rem;
	}

	/* タイトルボーダー */
	.borderTtl {
		padding-bottom: 25px;
		border-bottom-width: 3px;
	}
	.borderTtl::before {
		bottom: -17px;
		border-width: 7px 7px;
	}
	.borderTtl::after {
		bottom: -12px;
		border-width: 6px 6px;
	}
}


/***** 記事カテゴリ *****/
/* NEWS 文字 */
.catColorNews {
	color: #d8bc00;
}

/* NEWS バッジ */
.catBadgeNews {
	color: #ffffff;
	background: #d8bc00;
}

/* MEDIA 文字 */
.catColorMedia {
	color: #64ac54;
}

/* MEDIA バッジ */
.catBadgeMedia {
	color: #ffffff;
	background: #64ac54;
}

/* RELEASE 文字 */
.catColorRelease {
	color: #d80047;
}

/* RELEASE バッジ */
.catBadgeRelease {
	color: #ffffff;
	background: #d80047;
}


/***** 下層ページ ヘッダー *****/
/* ヘッダータイトル */
#lowerHeaderTtl .headerTtl {
	font-size: 3.5rem;
	font-weight: 300;
}

/* ヘッダーイメージ */
#lowerHeaderImg {
	z-index: -1;
	background: #f6f6f6;
}

#lowerHeaderImg img {
	max-width: none;
}


@media (min-width: 576px) {
	/* ヘッダータイトル */
	#lowerHeaderTtl .headerTtl {
		font-size: 4.5rem;
		font-weight: 400;
	}

	/* ヘッダーイメージ */
	#lowerHeaderImg {
		height: 234px;
		overflow: hidden;
	}

	#lowerHeaderImg img {
		left: 50%;
		transform: translateX(-50%);
	}
}

@media (min-width: 768px) {
	#lowerHeaderImg {
		height: 294px;
	}
}

@media (min-width: 992px) {
	/* ヘッダーイメージ */
	#lowerHeaderImg {
		height: 354px;
	}
}
