@charset "utf-8";

h1,
h2,
h3,
h4,
h5,
h6,
p,
time,
small,
::before,
::after {
	line-height: 1.0;
}

main {
	position: relative;
}

li {
	list-style-type: none;
}

a {
	text-decoration: none;
	color: inherit;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	font-family: 'メイリオ', 'Meiryo', sans-serif;
}

/*========= 上部固定させるためのCSS ===============*/
body {
	margin: 0;
}

#header {
	position: relative;
}

.fixed-header {
	position: absolute;
	height: 85px;
	width: 100%;
	z-index: 999;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background-color: #f5ca14;
	box-sizing: border-box;
}

h1 {
	position: absolute;
	top: 15px;
	left: calc(135px + 210 * (100vw - 1499px) / 421);
}

@media screen and (max-width: 1499px) {
	h1 {
		left: 50%;
		transform: translateX(-50%);
	}
}

@media screen and (max-width: 659px) {
	.fixed-header {
		height: 75px;
		justify-content: flex-end;
		padding-right: 20px;
	}

	h1 {
		top: 10px;
		left: calc(10px + 75 * (100vw - 320px) / 339);
		transform: none;
	}

	h1 a > img {
		width: calc(200px + 96 * (100vw - 320px) / 339);
	}
}

/*==ふわっと出現させるためのCSS*/

/* 上に上がる動き */

.fixed-header.UpMove{
	position: fixed;
	width: 100%;
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-100px);
	}
}

/* 下に下がる動き */

.fixed-header.DownMove{
	position: fixed;
	display: flex;
	width: 100%;
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
	from {
		opacity: 0;
		transform: translateY(-100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* トップ画像設定 */
.wrapper {
	width: 100%;
	height: 891px;
	background-image: url(img/mv.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin-bottom: 115px;
}

@media screen and (max-width: 768px) {
	.wrapper {
		height: calc(438px + 474 * (100vw - 320px) / 438);
		background-image: url(img/mv_768.webp);
		background-position: top 85px center;
		background-size: contain;
		margin-bottom: 65px;
	}
}

@media screen and (max-width: 659px) {
	.wrapper {
		background-position: top 75px center;
	}
}

/* メインメニュー */
.menuBt {
	display: none;
	font-size: 12px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #333333;
	letter-spacing: 4.0px;
}

nav {
	position: absolute;
	top: 30px;
	left: calc(1200px + 210 * (100vw - 1499px) / 421);
}

nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: flex-end;
}

nav ul li a {
	display: block;
	text-decoration: none;
	padding: 10px;
	transition: all 0.3s;
}

nav ul li a span {
	display: block;
	font-size: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	color: #333333;
	line-height: 1.0;
}

nav ul li a > img {
	vertical-align: top;
}

@media screen and (max-width: 1499px) {
	nav {
		width: 400px;
		top: 40px;
		left: auto;
		right: 30px;
	}
}


@media screen and (max-width: 659px){
	nav {
		right: 10px;
	}

	nav ul li a span {
		font-size: 16px;
	}
}

/* メインコンテンツ */
#contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background-image: url(img/logo_digin.svg);
	background-repeat: no-repeat;
	background-size: 690px 344px;
	background-position: top 120px right calc(-280px + 320 * (100vw - 1279px) / 641);
	overflow: hidden;
	position: relative;
}

#contents > h2 {
	width: 180px;
	font-size: 42px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #171c61;
	line-height: 1.5;
	letter-spacing: 5.0px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	flex-shrink: 1;
	order: 2;
}

.contents_text {
	width: 620px;
	margin-right: 40px;
	padding: 120px 0 350px 0;
	order: 1;
}

.contents_text > p {
	font-size: 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #333333;
	line-height: 2.0;
	margin-bottom: 55px;
}

.contents_text > p .br_tab {
	display: none;
}

.imageblock_pc01,
.imageblock_pc02,
.imageblock_pc03 {
	display: flex;
	justify-content: space-between;
	width: 447px;
	position: absolute;
}

.imageblock_pc01 {
	top: 0;
	right: calc(-280px + 320 * (100vw - 1279px) / 641);
}

.imageblock_pc02{
	top: 645px;
	left: calc(-150px + 320 * (100vw - 1279px) / 641);
}

.imageblock_pc03{
	top: 775px;
	left: calc(610px + 320 * (100vw - 1279px) / 641);
}

.imageblock_pc01 img,
.imageblock_pc02 img,
.imageblock_pc03 img {
	width: 125px;
}

.imageblock_tab01,
.imageblock_tab02 {
	display: none;
}

@media screen and (max-width: 1023px) {
	#contents  {
		display: block;
		background-size: 600px 300px;
		background-position: top 100px center;
	}

	#contents > h2 {
		font-size: 35px;
		height: max-content;
		margin: 0 auto 45px auto;
	}

	.contents_text {
		width: 520px;
		margin: 0 auto 85px auto;
		padding: 0;
	}

	.contents_text > p .br_tab {
		display: block;
	}

	.contents_text > p .br_pc {
		display: none;
	}

	.imageblock_pc01,
	.imageblock_pc02,
	.imageblock_pc03 {
		display: none;
	}

	.imageblock_tab01,
	.imageblock_tab02 {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.imageblock_tab01 {
		margin-bottom: 70px;
	}

	.imageblock_tab01 img + img {
		margin-left: 35px;
	}

	.imageblock_tab01 img {
		width: 125px;
	}

	.imageblock_tab02 {
		background-color: #f5ca14;
		padding: 40px 0;
		margin-bottom: 90px;
	}

	.imageblock_tab02 div + div {
		margin-left: 20px;
	}

	.imageblock_tab02 img + img {
		margin-left: 20px;
	}

	.imageblock_tab02 img {
		width: 82px;
		vertical-align: top;
	}
}

@media screen and (max-width: 659px) {
	#contents {
		background-size: calc(280px + 320 * (100vw - 320px) / 339) calc(140px + 160 * (100vw - 320px) / 339);
		background-position: top 100px center;
	}

	#contents > h2 {
		width: auto;
		font-size: calc(26px + 9 * (100vw - 320px) / 339);
	}

	.contents_text {
		width: calc(280px + 240 * (100vw - 320px) / 339);
	}

	.contents_text > p {
		font-size: calc(18px + 2 * (100vw - 320px) / 339);
		margin-bottom: calc(30px + 30* (100vw - 320px) / 339);
	}

	.imageblock_tab02 div {
		width: 100%;
		text-align: center;
	}

	.imageblock_tab02 div:nth-of-type(1) {
		margin-bottom: 15px;
	}

	.imageblock_tab02 div + div {
		margin-left: 0;
	}

	.imageblock_tab01 img + img {
		margin-left: calc(15px + 20 * (100vw - 320px) / 339);
	}

	.imageblock_tab01 img {
		width: calc(82px + 43 * (100vw - 320px) / 339);
		height: auto;
	}

	.imageblock_tab02 img:nth-of-type(4) {
		margin-left: 0;
	}

}

/* ニュース */
#news {
	background-color: #f8f9fa;
	padding: 70px 0 70px 0;
	margin-bottom: 100px;
	text-align: center;
}

#news h2 {
	font-size: 24px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #171c61;
	line-height: 1.0;
	margin-bottom: 40px;
}

#news-list {
	width: 700px;
	height: 180px;
	text-align: left;
	margin: 0 auto;
	padding-right: 20px;
	overflow-y: auto;
	-ms-overflow-style: none;/* IE, Edge 対応 */
	scrollbar-width: none;/* Firefox 対応 */
}

#news-list::-webkit-scrollbar {
	display: none;/* Chrome, Safari 対応 */
}

.consultation-info li {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 25px;
	position: relative;
}

.consultation-info li time {
	margin-left: 51px;
	margin-right: 20px;
}

.consultation-info li > p {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.simplebar-scrollbar::before {
	background-color: #171c61;
}

.simplebar-track {
	background-color: #e6e6e6;
}

.simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}

.new-info:before {
	content: "NEW";
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: #ff0000;
	position: absolute;
	top: -2px;
}

@media screen and (max-width: 1023px) {
	#news {
		padding: 60px 0 70px 0;
		margin-bottom: 100px;
	}

	#news-list {
		width: calc(280px + 250 * (100vw - 320px) / 448);
	}
}

@media screen and (max-width: 600px) {
	.consultation-info li {
		flex-wrap: wrap;
	}

	.consultation-info li time {
		margin-left: 43px;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.consultation-info li p {
		margin-left: 43px;
	}
}

/* 企業ロゴ */
#company-logo {
	text-align: center;
	padding: 70px 0 80px 0;
	background-color: #ffffff;
	border-top: 1px solid #e6e6e6;
}

#company-logo > img {
	margin-bottom: 45px;
}

#company-logo > p a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	#company-logo {
		padding: 60px 0 70px 0;
	}

	#company-logo > img {
		width: 200px;
		margin-bottom: 35px;
	}
}

/* トップへ戻るボタン */
.pageTop {
	display: none;
	width: 65px;
	height: 65px;
	border: 3px solid #422108;
	border-radius: 50%;
	background-color: #ffffff;
	position: fixed;
	bottom: 30px;
	right: 30px;
	transition: background-color 0.5s;
}

.pageTop::after {
	content: "\f106";
	font-family: 'icomoon';
	font-size: 36px;
	font-weight: 700;
}

.pageTop:hover {
	background-color: #f5ca14;
}

/* フッター */
footer {
	background-color: #231815;
}

footer small {
	display: block;
	font-size: 14px;
	color: #ffffff;
	text-align: center;
	padding: 23px 0;
}

/* 印刷設定 */
@media print {
	.slider-item {
		height: 850px;
	}
}

/* web icon */
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?su323z');
  src:  url('fonts/icomoon.eot?su323z#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?su323z') format('truetype'),
    url('fonts/icomoon.woff?su323z') format('woff'),
    url('fonts/icomoon.svg?su323z#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-external-link:before {
  content: "\f08e";
}
.icon-angle-right:before {
  content: "\f105";
}
.icon-angle-up:before {
  content: "\f106";
}


