@charset "UTF-8";


/* 基本情報 */
:root{
 --dmk--maincolor: #1d2088;	/* DMKメインカラー（紺）： #1d2088 */
 --dmk--subcolor: #0883cd;	/* DMKアクセントカラー（水色）： #0080cc */
 --accent: #0883cd;           /* アクセントカラー */
 --text-color:#192c55;
}

html {
	scroll-padding-top: 120px;
	scroll-behavior: smooth;
}

body{
	color:var(--text-color);
	letter-spacing: .06em;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

/* スマホ版ナビ */
nav#nav-phone-main,
nav#nav-phone-sub-message,
nav#nav-phone-sub-aboutUs,
nav#nav-phone-sub-recruit{
	display: none;
}

.flexCol{
	display: flex;
	flex-direction: column;
}

.flexRow{
	display: flex;
	flex-direction: row;
}


.page__header{
	display: flex;
	flex-direction: column;
	margin: 0 50px 20px;
	text-align:left;
}
.page__eyebrow{
	color: var(--accent);
	font-weight: 800;
	letter-spacing: .06em;
	font-size: clamp(12px, 2.6vw, 14px);
}
.page__title{
	font-size: clamp(30px, 10vw, 42px);
	font-weight: 800;
	margin: 0;
	color: var(--text-color);
}

.section__header{	
	display: flex;
	flex-direction: column;
	margin-left:auto;
}

.section__eyebrow{
	color: var(--dmk--subcolor);
	font-weight: 800;
	letter-spacing: .06em;
	font-size: clamp(12px, 2.6vw, 14px);
}

.section__title{
	font-size: clamp(20px, 4vw, 32px);
	font-weight: 800;
	margin: 0 0 20px;
	width:100%;
	color: var(--text-color);
}

/* コンテンツ-セクション */
.section {
	margin:20px;
}

.section {
	position: relative;
	right: -10%;
	width: 100%;
	height: 400px;
	border-radius: 15px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #0f9293;
	background-image: radial-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 3px);
	background-size: 20px 20px;
	z-index: 0;
}

.section .section-bkg-text {
	left:1%;
	bottom:-12%;
	position: absolute;
	font-size: 100px;
	font-weight:bold;
	color: rgba(255, 255, 255, 0.2);
	z-index: 0;
	pointer-events: none;
}

.section h2{
	position: absolute;
	font-size: 50px;
	font-weight: bold;
	color: transparent;
	background: #FFFFFF;
	background-clip: text;
	margin:0;
	padding:0;
}
.section h4{
	margin:0;
	font-weight: bold;
	font-size: 25px;
}

.section .section-inner{
	position: absolute;
	top:20px;
	left:50px;
	display: block;	
	z-index: 1;
}

.section-title{
	display:block;
	top:0;
	right:20px;
	text-align: left;
	color:#FFFFFF;
	width:150px;
}

/*コンセプトムービー*/
.video-wrap{
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	background-color: #FFFFFF;
	/* Safari対策 */
	isolation: isolate;
	position: relative;
	background: transparent;
	width:100%;
	aspect-ratio: 1350 / 500;
}

.video-wrap video{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display:block;
	background-color: #FFFFFF;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	margin: -1px;
	background: transparent;
	outline: none;
}


/* サイトメインセクション */
.mainSection{
	align-items: center;
	margin :0 auto 50px;
	display: flex;
	flex-direction: column;
	width:100%;
	padding:0;
}

/* グラデーションフォント */
.gradient-text {
	background: linear-gradient(90deg, #0683cd, #cffd9d);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* サイトメインセクション背景ロゴ */
.sec_main-bgimg{
	position:absolute;
	z-index: 0;
	top:0;
	right:0;
	opacity:0.7;
}
.sec_main-bgimg img{
	width:50%;
	height:50%;
}

/* コピーセクション */
.copySection{
	text-align: center;
	margin-left:10%;
	z-index: 20;
	font-size: 18px;
	width:100%;
}

/*メインコピー*/
.mainCopy{	
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: .06em;
	font-size: clamp(35px, 2.6vw, 42px);
	text-align: left;
	margin-bottom:0;
}

/*サブコピー*/
.subCopy{
	 line-height: 1.7;
	 letter-spacing: .06em;
	 text-align: left;
	 margin-bottom:30px;
	 width:100%;
}

.subCopy p{
	 text-indent: 0;
}

.subCopy span{
	 color: var(--dmk--subcolor);
	 font-weight: bold;
}


/* ニュース */
#news{
	width:20%;
	margin:0;
}

#aboutUs, #message{
	width:90%;
	margin:0 auto;
}

/*DMKについて*/
.sec_aboutUs{
	width:80%;
	margin:0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	font-size: 18px;
}

/*DMKについて セクション説明*/
.aboutUs-disc{
	width:40%;
}

.aboutUs-disc h3{
	color:var(--dmk--subcolor);
}

.aboutUs-disc p{
	line-height: 1.7;
}

/*DMKについて リンクリスト*/
.aboutUs-linkList{
	width:40%;
}

.aboutUs-linkList a{
	text-decoration: none;
	color:var(--text-color);
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .06em;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*DMKについて リンクリスト 装飾ボタン*/
.aboutUs-linkList a::after {
	content: "⇀";
	flex: 0 0 auto;
	width:45px;
	height: 45px;
	margin-left: 24px;
	border: 2px solid var(--text-color);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom:5px;
}

/*DMKについて リンクリスト 装飾ボタンホバー*/
.aboutUs-linkList a:hover::after {
	background: var(--text-color);
	color: #fff;
}

.aboutUs-linkList li{
	list-style: none;
	margin-bottom:15px;
	border-bottom: gray dotted 1px;
}

/*メッセージ*/
.sec_message{
	width:80%;
	margin:0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	font-size: 18px;
}

/*メッセージ セクション説明*/
.message-disc{
	width:40%;
}

.message-disc h3{
	color:var(--dmk--subcolor);
}

.message-disc p{
	line-height: 1.7;
}

/*メッセージ リンクリスト*/
.message-linkList{
	width:40%;
}

.message-linkList a{
	text-decoration: none;
	color:var(--text-color);
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .06em;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/*メッセージ リンクリスト 装飾ボタン*/
.message-linkList a::after {
	content: "⇀";
	flex: 0 0 auto;
	width:45px;
	height: 45px;
	margin-left: 24px;
	border: 2px solid var(--text-color);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 20px;
	font-weight: bold;
	margin-bottom:5px;
}

/*メッセージ リンクリスト 装飾ボタンホバー*/
.message-linkList a:hover::after {
	background: var(--text-color);
	color: #fff;
}

.message-linkList li{
	list-style: none;
	margin-bottom:15px;
	border-bottom: gray dotted 1px;
	
}

/* 先輩の声 */
#interview{
	width:90%;
	margin:0 auto;
	
}

.news-wrapper{
	display: flex;
	flex-direction: row;
	z-index: 100;
}
	
.news-wrapper{
	align-items: center;
	width:90%;
	margin:0 auto;
	padding:0;
	text-align:left;
	z-index:2;
	
}

.news-list{
	display: block;
	margin:0;
	padding:0;
}

.news-link{
	display: inline-flex;
	align-items: center;
	justify-content:start;
	gap: 30px;
	width:100%;
	height:auto;
	margin:5px;
	padding:15px 20px;
	background-color: #FFFFFF;
	border-radius: 5px;
	text-decoration: none;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}
span .news-date{
	margin:15px;
}
.news-date{
	color: var(--dmk--subcolor);
}

.news-title{
	font-weight: bold;
}

/**********************
* 各メニュートップ画面関連
***********************/
.pageHd{
	display:flex;
	position:relative;
	margin-top:20px;
	margin-left:15%;
	margin-right:10%;
	width:70%;
}

.pageHdImg img{
	width:30em;
}

/* ページヘッダー：画像 */
.pageHdSub{
	position:absolute;
	left:0;
	top:100px;
	font-weight:bold;
}

.pageHdSub2{
	position:relative;
	float:left;
	left:0;
	top:115px;
	font-weight:bold;
}

.pageHdSub .title{
	font-size:1em;
	border-bottom: 1px solid #000000;
	text-align:left;
	color:#1d2088;
	width:130px;
}

.pageHdSub .detail{
	font-size:1.3em;
	margin-top:10px;
	white-space: nowrap;
	text-align:left;
	
	
}

.pageHdSub2 .title{
	font-size:1em;
	border-bottom: 1px solid #000000;
	text-align:left;
	color:#1d2088;
}

.pageHdSub2 .detail{
	font-size:1.3em;
	margin-top:10px;
	white-space: nowrap;
	text-align:left;
}

/* 各メニュートップページ用リンク */
.topLinkBox{
	display:block;
	height:5em;
	width:70%;
	border:3px solid #000000;
	margin-top: 20px;
	margin-bottom: 20px;
	margin-right: auto;
	margin-left: auto;
	padding-top:1em;
	padding-left:1.2em;
	text-align: left;
	font-size:1.5em;
	text-decoration: none;
	color:#1d2088;
	font-weight:bold;
	background-color:#FFFFFF;
}
.topLinkBox .detail{
	position:absolute;
	margin-left:20px;
	font-size:0.6em;
	font-weight:normal;	
	color:#000000;
}

.topLinkBox:hover{
	color:#60c3d8;
	transition : 0.7s;
	border-image:linear-gradient(to bottom left,#1d2088, #60c3d8);
	border-image-slice: 1; 
}

/**********************
アニメーション関連
***********************/

.fadeLeft{
	transition: 0.8s ease-in-out;
	opacity:0;
	transform: translateX(-2em);
}

.fadeLeft.on{
	opacity: 1.0;
	transform: translateX(0);
}

.fadeUp {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.fadeUp1 {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.fadeUp2 {
	transition: 1.2s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.fadeUp3 {
	transition: 1.6s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.fadeUp4 {
	transition: 2.0s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.fadeLeft1 {
	transition: 0.8s ease-in-out;
	transform: translateX(-30px);
	opacity: 0;
}

.fadeLeft1.on {
	transform: translateX(0);
	opacity: 1.0;
}

/* フェードイン動作 */
.on {
	transform: translateY(0);
	opacity: 1.0;
}

/* セクション背景 */
.sec-bg{
	background-image: url('../images/sec-bg.png');
	background-repeat:no-repeat;
	background-size: contain;
	z-index: 10;
	width:100vw;
}

/* ボディ */
body{
	font-family:YuGothicM, "游ゴシック Medium", YuGothic, "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", Meiryo, sans-serif;
	color: var(--text-color);
	background-color: #FFFFFF;
	width: 100%;
	overflow-x: scroll;
	overflow-y: scroll;
	margin:0;
	padding:0;
	font-size: 1em;
	display: flex;
	flex-direction: column;
}

.siteLogo-image {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

/* 表示時にアニメーションを適用 */
.siteLogo-image.visible {
	opacity: 1;
	transform: translateY(0);
}

.menu-link {
	opacity: 0;
	transform: translate(10px, 10px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

/* 表示状態：元の位置に戻して表示 */
.menu-link.visible {
	opacity: 1;
	transform: translate(0, 0);
}

header {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: white;
	top: 0;
	z-index: 1000;
}

/* ロゴ */
.site-logo img {
	height: 50px;
	margin: 0 20px;
}

.global-nav {
	background: white;
	height:60px;
	z-index: 1000;
}

/* ナビとボタンをまとめる */
.nav-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

/* エントリーボタン */
.top-link-button {
	margin-bottom: 5px;
	height:50%;
	width:180px;
	background: var(--dmk--subcolor);
	text-align:center;
}

.top-link-button .btn-entry {
	color: #FFFFFF;
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	text-decoration: none;
	border-radius: 4px;
	font-size: 1.1em;
	gap: 6px; /* アイコンとテキストの間隔 */
	font-weight:bold;
}

.icon-entry.left {
	width: 38px;
	height: 38px;
}

.icon-entry.right {
	width: 28px;
	height: 28px;
}


/* グローバルナビのリストを右寄せ */
.global-nav ul {
	display: flex;
	justify-content: flex-end; /* 右寄せ */
	margin: 0;
	padding: 0;
	list-style: none;
	height:100%;
	font-size: 1.1em;
}

.global-nav li {
	position: relative;
}

.global-nav a {
	position: relative;
	display: block;
	padding: 15px 20px;
	color: black;
	font-weight:bold;
	text-decoration: none;
	overflow: hidden;
}

/* メガメニュー */
.nav-pc-sub {
	position: absolute;
	top: auto;
	left: 0;
	width: 100vw;
	background: #f4f4f4;
	display: none;
	z-index: 999;
	border-top: 1px solid #ccc;
	height:150px;
}

.nav-pc-sub-inner {
	display: flex;
	justify-content: space-between;
	max-width: 1200px;
	margin: 5px auto;
}

.nav-pc-sub-inner h2{
	margin:20px 0 auto;
}

.column {
	padding: 0 20px;
}

.column a{
	text-decoration: none;
	color:var(--text-color);
}
.nav-pc-sub h3 {
	margin-top: 0;
}

.submenu-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.submenu-link::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 3px solid #60c3d8;
	border-bottom: 3px solid #60c3d8;
	transform: rotate(-45deg);
	margin-right: 15px;
}

.has-nav-pc-sub {
	position: relative;
	overflow: hidden;
}

.horizontal-list {
	display: flex;
	justify-content: space-between;
	padding: 0;
	margin: 0;
	list-style: none;
}

.horizontal-list li{
	margin:0 20px;
}

.horizontal-list li a {
	text-decoration: none;
	color: #333;
	padding: 10px;
	display: block;
	transition: background 0.3s;
	font-size:1.1em;
}

.horizontal-list li a:hover {
	text-decoration: underline;
}
/* 下線アニメーション用の擬似要素 */
.has-nav-pc-sub::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 5px;
	width: 0%;
	background-image: linear-gradient(90deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
	transition: width 0.3s ease;
}

/* hover時に左から右に伸びる */
.has-nav-pc-sub:hover::after {
	width: 100%;
}

.has-nav-pc-sub > a::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 6px;
	height: 6px;
	border-right: 2px solid #000000;
	border-bottom: 2px solid #000000;
}

/* サブメニュータブ */
.subMenu{
	display:flex;
	margin-left:100px;
	margin-top:50px;
}

/* サブメニュータブ：子要素 */
.subMenuChild{
	margin-right:10px;
	background-color:#7abef3;
	color:#FFFFFF;
	width:300px;
	height:90px;
	padding-top:30px;
	text-align:center;
}

/* サブメニュータブ：子要素：リンク付き */
.subMenuChild_link{
	margin-right:10px;
	background-color:#4fa3e5;
	color:#FFFFFF;
	width:300px;
	height:90px;
	padding-top:30px;
	text-align:center;
}

/* サブメニュータブ：リンク */
.subMenu a{
	text-decoration:none;
	   
}

/* サブメニュータブ：リンク */
.subMenu a:hover div{
	background-color:#7abef3;
	color:#FFFFFF;
}

/* サブメニュータブ：タイトル */
.subMenuTab{
	color:#FFFFFF;
	font-weight:bold;
	font-size:18px;
}
/* サブメニュータブ：タイトル（日本語） */
.subMenuTab_jp{
	color:#FFFFFF;
	font-weight:bold;
	font-size:16px;
}
/* サブメニュータブ：区切り線 */
.tabLine{
	border-top:1px solid #adbdcf;
}

/* トップ画像 */
.topImg{
	width:100%;
}

/* コンテンツ部：共通 */
.contents{
	position: relative; 
	display: block;
	width: 100%;
	overflow: hidden;
	background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)), url('../images/bg.png');
	background-repeat:repeat-y;
	background-size: contain;
}

/**********************
* トップリンク関連
***********************/
/* トップリンク：親要素 */
.topLink{
	display:flex;
	margin-right:auto;
	margin-left:auto;
	flex-wrap: wrap;
	width:1100px;
}

.topLink_child{
	margin-right:10px;
	width:350px;
	height:350px;
	background-repeat:no-repeat;
	color:#FFFFFF;
	font-size:20px;
	position:relative;
}

.topLink_child .link1{
	position:absolute;
	bottom: 60px;
	left:80px;
}

.topLink_child .link2{
	position:absolute;
	bottom: 28px;
	left:80px;
}

.topLink_child a{
	text-decoration:none;
	color:#FFFFFF;
}

.topLink_child a:hover{
	opacity: 0.7;
	border-bottom: 1px solid #FFFFFF;
}

.topLink a:hover img{
	opacity: 0.7;
}


.entryBtn {
	position: relative;
	top: 0;
	left: 0;
	background: #FFFFFF;
	border-radius: 30px;
	padding: 5px 20px;
	min-width: 280px;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	border: 1px solid #1d2088;
}
.entryBtn span {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #1d2088;
	z-index: 1;
}

.entryBtn span:hover {
	color:#FFFFFF;
}

.entryBtn:before {
	content: "";
	width: 0%;
	height: 100%;
	background: #1d2088;
	position: absolute;
	top: 0;
	left: 0;
	transition: .2s;
}

.entryBtn:hover:before {
	width: 100%;
}

/**********************
* 社員インタビュー関連
***********************/
/* アニメーション */
/* インタビュー内容（下から上） */
.intvFadeUp {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.intvFadeUp.on {
	transform: translateY(0);
	opacity: 1.0;
}


/* 部門見出し */
.bumonNmHd{
	position: relative;
	height:3em;
	padding-top:0.7em;
	padding-left:1em;
	border-bottom: 3px solid #1d2088;
	background: #f4f4f4;
	width:80%;
	text-align:left;
	margin-right:auto;
	margin-left:auto;
	cursor: pointer;
	margin-bottom:30px;
	caret-color: transparent;
}

/* 部門見出し:ホバー */
.bumonNmHd:hover{
	opacity: 0.7;
}

/* アコーディオンメニュー */
.accrodion-child{
	display:none;
}

/* アコーディオンメニュー閉じるボタン */
.acdCloseBtn{
	background-color:#f4f4f4;
	border-radius: 30px;
	border: solid 1px #1d2088;
	width:10em;
	height:1.7em;
	margin-left:auto;
	margin-right:auto;
	padding-top: 0.1em;
	font-size:20px;
}

/* アコーディオンメニュー閉じるボタン：ホバー */
.acdCloseBtn:hover{
	opacity: 0.7;
}

/**********************
* 先輩の声
***********************/
.interviewList{
	width:65%;
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;
	margin:0 auto;
	text-align:center;
	
}
.interviewList a{
	text-decoration: none;
	transition: all 0.3s;
}

.interviewList a:hover{
	opacity: 0.7;
	transform: scale(1.1, 1.1);
}
.interview-card{
	position: relative;
	background-color: #FFFFFF;
	border-radius: 15px;
	display: flex;
	flex-direction: column;
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
	padding:0;
	height:350px;
	margin:10px;
}

/* 先輩社員の声 キャッチコピー*/
.copy-right, .copy-left{
	position: absolute;
	color:var(--dmk--subcolor);
	font-size: 15px;
	background-color: #FFFFFF;
	padding:10px 3px;
	writing-mode: vertical-rl;
	text-align: start;
	font-weight: bold;
	line-height: 1.3;
}
.copy-right{
	right:15px;
}
.copy-left{
	left:15px;
}

#copy1{
	height:65%;
}

#copy2{
	height:50%;
	top:65px;
}

#copy3{
	height:70%;
	top:5px;

}
#copy4{
	height:53%;
	top:60px;
}

#copy5{
	height:45%;
	top:5px;

}
#copy6{
	height:70%;
	top:8px;
}


.interview-card-cap{
	display: flex;
	flex-direction: column;
	text-align: left;
	background-color: var(--dmk--subcolor);
	color: #FFFFFF;
	padding:15px;
	border-radius: 0 0 15px 15px;
}

.interview-card-cap .hireY{
	font-size: 14px;
}

.interview-card-cap .busyo{
	font-size: 16px;
}

.interview-card-cap .name{
	font-size: 20px;
}

.interview-card img{
	margin:0 auto;
	width:230px;
}

/**********************
* 共通メニューバー関連
***********************/

/* メニューバー：共通 */
.menuBar{
	background-color: #efede9;
	height:30px;
	padding-top:5px;
}

/* メニューバー：共通*/
.menu{
	margin-left: 30px;
	background-color: #efede9;
}

/* メニューバー：共通：リンク */
.menu a{
	text-decoration: none;
	color: #0065b5;
}

/* メニューバー：共通：リンク：ホバー */
.menu a:hover{
	border-bottom:1px solid #0065b5;
}


/**********************
* 共通各ページタイトル関連
***********************/
/* ページタイトル：ヘッダー */
.pageTitle{
	display: block;
	margin-right: auto;
	margin-left: auto;
	padding:30px;
	height:130px;
	background-color: #1d2088;
	color: #FFFFFF;
}

/* ページタイトル：タイトル */
.pageTitle .title{
	text-align:center;
	width: 300px;
	font-size:40px;
	border-bottom: 1px solid #FFFFFF;
	margin-right: auto;
	margin-left: auto;
	margin-top: 10px;
	margin-bottom: 0px;
} 

/* ページタイトル：サブタイトル */
.pageTitle .subTitle{
	text-align:center;
	font-size:25px;
	margin-right: auto;
	margin-left: auto;
	padding:20px;
} 


/*********************************
* ABOUT US-データで見るDMK 関連
**********************************/

/* ABOUT USヘッダー */
.aboutus_header {
	display:flex;
	align-items:center;
	color:#1d2088;
	font-weight:bold;
	font-size:4em;
	margin-top:50px;
}

.aboutus_header:before, 
.aboutus_header:after {
	content:"";
	height:1px;
	flex-grow: 1;
	background-color: #1d2088;
}
 
.head-border:before {
    margin-right: 1rem;
}
 
.head-border:after {
    margin-left: 1rem;
}

/**********************
* フッター関連
***********************/
/*エントリーリンク*/
.sec_entry{
	position: relative;
	width:90%;
	margin:50px auto 0;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	z-index: 1;
	line-height: 1.6;
	letter-spacing: .06em;
	font-family: Noto Sans CJK JP;
}
.sec_entry img{
	width:55%;
	margin:50px 0 0;
	
}

.sec_entry a{
	text-decoration: none;
	color: #FFFFFF;
	background-color: var(--text-color);
	text-align: center;
	margin:30px 0;
	width:100%;
	border-radius: 50px;
	height:50px;
	padding-top:10px;
	font-weight: bold;
}

.sec_entry a:hover{
	color:var(--dmk--subcolor);
	background-color: #FFFFFF;
	border: 2px solid var(--dmk--subcolor);
}

.sec_entry p{
	font-size:48px;
	font-weight: bold;
	margin-bottom:10px;
	
}

.sec_entry-inner{
	z-index: 1;
}

.sec_entry-inner span{
	color:var(--dmk--subcolor);
	font-weight: bold;
}

.sec_entry-inner div{
	margin-bottom:10px;
}

.sec_entry-inner a{
	margin: 10px auto;
}

.sec_entry-bgimg{
	position: absolute;
	top:40px;
	left:0;
	width: 75%;
	height: 75%;
	z-index: 0;
	opacity: 0.4;

}

.sec_interview{
	background: linear-gradient(
		to bottom,
		transparent 0%,
		#f6f6f6 15%,
		#f6f6f6 68%,
		transparent 100%
	);
	padding:0 0 80px;
	width:100%;
	margin:0 auto;
}

/* フッター */
footer{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	background: linear-gradient(var(--dmk--subcolor), var(--dmk--subcolor));
	margin-top:50px;

}

.cotainer-footer{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap:wrap;
	width:85%;
	margin-right:auto;
	margin-left:auto;
	margin-top:50px;
}

/* トップへ戻るボタン */
#page-top{
	position: fixed;
	right: 10px;
	bottom: 20px;
	z-index: 10000;
	padding: 0.5em;
	margin: 10px 0;
	display: block;
	color: #FFFFFF;
	background: var(--text-color);
	text-decoration: none;
	font-weight: bold;
	text-align:center;
	border-radius: 50%;
	height:80px;
	width:80px;
	opacity: 0.95;
	padding-top:15px;
}

#page-top:before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url("../images/pageTop.png") no-repeat;
	background-size: contain;
	margin: auto;
	margin-bottom: 2px;
}

/* フッター：ホームボタン・コーポレートサイトリンクボタン */
.footer-title{
	display: block;
	align-items:center;
	text-align:center;
	margin:0 auto 40px auto;
}

/* フッター:ホームリンクボタン */
.footerLogo{
	display:flex;
	margin-bottom:15px;
}

/* ホームリンクボタン:ホバー */
.footerLogo:hover{
	opacity: 0.8;
}

/* ホームリンクボタン：画像 */
.footerLogo img{
	width:auto;
	height:100px;
}

/* ホームリンクボタン：リンク */
.footerLogo a{
	text-decoration:none;

}

/* フッター：コーポレートサイトリンクボタン */
a.btn_corporatesite{
	display: flex;
	align-items: center;
	justify-content: center;
	border: #FFFFFF solid 2px;
    border-radius: 100px;
	margin-left:0;
	margin-right:0;
	margin-top:20px;
	font-weight:bold;
	text-decoration:none;
	color:#FFFFFF;
	width:300px;
	min-width:300px;
	height:60px;
}

a.btn_corporatesite:after{
	content: "";
	display: inline-block;
	width:25px;
	height: 25px;
	margin-left:5px;
	background: url("../images/btn_exlink_white.png") no-repeat;
	background-size: contain;
	align-items: center;
	justify-content: center;
}

/* フッター：コーポレートサイトリンクボタン:ホバー */
a.btn_corporatesite:hover{
	background:#FFFFFF;
	color:var(--dmk--subcolor);
}

a.btn_corporatesite:hover::after{
	content: "";
	display: inline-block;
	width:25px;
	height: 25px;
	margin-left:5px;
	background: url("../images/btn_exlink_blue.png") no-repeat;
	background-size: contain;
	align-items: center;
	justify-content: center;
}

/* フッターナビ */
nav.nav-footer{
	width:75%;
	margin-right:auto;
	margin-left:auto;
}
nav.nav-footer a{
	text-decoration:none;
	color:#FFFFFF;
}

nav.nav-footer a:hover{
	text-decoration:underline;
	color:#FFFFFF;
}

ul.footer-menu {
	display: flex;
	flex-direction: row;
	justify-content: center;
	text-align: left;
	flex-wrap: wrap;
	margin:0 auto 0 auto;
	padding-left:0;
	list-style: none;
}

li.footer-menu-item{
	margin-right: 15px;
	margin-top:2px;
	margin-bottom:15px;
	min-width: 200px;
	align-items: center;

}
ul.dropdown li{
	line-height:2.0;
}

/* フッターナビ：大カテゴリ */
li.footer-menu-item{
	font-weight: bold;
}

.footer-menu-link{
	margin-bottom:5px;
	display: flex;
	align-items: center;
}

a.footer-menu-link:before{
	content: "";
	display: inline-block;
	width:35px;
	height: 35px;
	background: url("../images/btn_next_circle_white.png") no-repeat;
	background-size: contain;
	align-items: center;
	justify-content: center;
	align-items: center;
}
	
/* フッターナビ：小カテゴリ */
.nav-footer .dropdown{
	list-style: none;
	font-size: 15px;
	padding-left: 35px;
	font-weight: lighter;
}

/* 著作権バー */
.copyright{
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	min-height: 25px;
	font-size:0.8em;
	color:#FFFFFF;
	background:#b4b4b4;
	padding: 5px 10px;
	box-sizing: border-box;
	margin-top:auto;
}

/* ハンバーガーメニュー（非表示） */
.menu-trigger{
	display:none;
}


#toggleSwitch{
	display:none;
}

/* スマホ版メニューボタン */
label.menu-trigger{
	display:none;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width: 480px) {
	
	html {
	  scroll-padding-top: 80px;
	}
	
	/* コンテンツ部：共通 */
	.contents{
		background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)), url('../images/bg_phone.png');
	}

	/* ヘッダー */
	header{
		position: fixed;
		width:100%;
	}
	.header-inner{
		flex-direction: row;
		justify-content: space-between;
		flex-wrap: nowrap;
		width:100%;
	}
	
	/* ロゴ */
	.site-logo img {
		height: 35px; 
		margin: 10px 0;
	}
	
	/* スマホメニューボタン */
	label.menu-trigger, .menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	label.menu-trigger {
		float:right;
		right:0.5em;
		position: relative;
		width: 30px;
		height: 25px;
		background: none;
		border: none;
		appearance: none;
		cursor: pointer;
	}
	label.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #333333;
	}
	label.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	label.menu-trigger span:nth-of-type(2) {
		top: 10px;
	}
	label.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}
	
	#toggleMenu.active span:nth-of-type(1) {
		transform: translateY(11px) rotate(-45deg);
	}
	
	#toggleMenu.active span:nth-of-type(2) {
		opacity: 0;
	}
	
	#toggleMenu.active span:nth-of-type(3) {
		transform: translateY(-11px) rotate(45deg);
	}

	/* PC版ナビ */
	.nav-wrapper{
		display:none;
	}

	/* スマホ版ナビ：メイン */
	nav.menu , nav.sub{
		position: fixed;
		top: 60px;
		right: 0;
		width: 100%;
		height: 100%;
		background: #F3F3F3;
		transition: transform 0.6s ease;
        transform: translateX(100%);
		font-size: 18px;
	}
	
	nav.menu{
		z-index: 1000;
	}
    nav.sub {
		z-index: 1001;
    }

    nav.menu.open {
		transform: translateX(0);
    }

    nav.sub.open {
		transform: translateX(0);
    }
	
    .close-btn {
		position: absolute;
		top: 10px;
		right: 10px;
		background: transparent;
		color: #333333;
		font-size: 24px;
		border: none;
		cursor: pointer;
    }

	/* スマホ版ナビ */
	nav#nav-phone-main{
		margin:0;
		padding:0;
	}
		
	nav#nav-phone-main,
	nav#nav-phone-sub-message,
	nav#nav-phone-sub-aboutUs,
	nav#nav-phone-sub-recruit{
		display: block;
	}
	nav#nav-phone-main ul li,
	nav#nav-phone-sub-message ul li,
	nav#nav-phone-sub-aboutUs ul li,
	nav#nav-phone-sub-recruit ul li{
		list-style: none;
	}

	#nav-phone-main a,
	#nav-phone-sub-message a,
	#nav-phone-sub-aboutUs a,
	#nav-phone-sub-recruit a{
		text-decoration: none;
		color: var(--text-color);
		font-weight: bold;
		display: flex;
		align-items: center;
		margin:0;
		padding:0;
		height:30px;
	}
	
	nav#nav-phone-main li,
	nav#nav-phone-sub-message li,
	nav#nav-phone-sub-aboutUs li,
	nav#nav-phone-sub-recruit li{
		border-bottom: 1px solid #bababa;
		height:70px;
		width:100%;
		align-items: center;
		padding-top:20px;
		padding-left:15px;
	}

	nav#nav-phone-main ul,
	nav#nav-phone-sub-message ul,
	nav#nav-phone-sub-aboutUs ul,
	nav#nav-phone-sub-recruit ul{
		margin-top:0;
		padding-left:0;
	}
	
	nav#nav-phone-main .has-list:after{
		content:"";
		display: inline-block;
		background: url("../images/btn_next.png") no-repeat;
		width:35px;
		height: 35px;
		background-size: contain;
		align-items: center;
		justify-content: center;
	}
	
	nav#nav-phone-sub-message .nav-phone-sub-TOPbtn a,
	nav#nav-phone-sub-aboutUs .nav-phone-sub-TOPbtn a,
	nav#nav-phone-sub-recruit .nav-phone-sub-TOPbtn a{
		color:#FFFFFF;
	}
	
	.has-list{
		display:inline-block;
		justify-content: space-between;
	}
	
	.nav-phone-sub-TOPbtn{
		background: var(--dmk--subcolor);
	}
	.nav-phone-sub-TOPbtn a{
		text-decoration: none;
		color:#FFFFFF;
	}
	
	.sub-TOP:before{
		content: "";
		display: inline-block;
		width:20px;
		height: 20px;
		background: url("../images/icon-home-white.png") no-repeat;
		background-size: contain;
		justify-content: center;
		align-items: center;
		margin-right:10px
	}

	li.nav-phone-sub-BACKbtn{
		font-weight: bold;
	}
	
	.sub-BACK:before{
		content: "";
		display: inline-block;
		width:25px;
		height: 25px;
		background: url("../images/btn_back_circle_blue.png") no-repeat;
		background-size: contain;
		justify-content: center;
		align-items: center;
		margin-right:10px
	}
	
	div.nav-phone-buttons{
		display: block;
	    align-items: center;
	    text-align: center;
	    margin: 0 auto 40px auto;
	}
	
	/* PC版エントリーボタン */
	.btn-entry{
		display: none;
	}

	/* フッター */
	.nav-footer a:hover{
		text-decoration:none;
		opacity:0.5;
	}
	
	.cotainer-footer{
		display: flex;
		flex-direction:column;
		justify-content: center;
		text-align: center;
		margin-right:auto;
		margin-left:auto;
	}

	li.footer-menu-item{
		border-bottom: 1px solid #adbdcf;
		width:100%;
		padding-bottom: 15px;
	}
	
	li.footer-menu-item:nth-of-type(4){
		border:none;
	}
	
    .copyright {
        font-size: 0.7em;
        padding: 8px;
    }
    
    .page__header{
	  display: flex;
	  flex-direction: column;
	  margin: 70px 10px 20px;
	  text-align:left;
	}
	.page__eyebrow{
	  color: var(--accent);
	  font-weight: 800;
	  letter-spacing: .06em;
	  font-size: clamp(12px, 2.6vw, 14px);
	}
	
	/* 先輩の声 */
	.interviewList{
		width:100%;
		display: flex;
		flex-direction: column;
	}
	
	.interview-card{
		height:400px;
		margin-bottom:100px;
	}
	
	.interview-card img{
		width:90%;
	}
	

	/*	エントリーリンク*/
	.sec_entry {
		width:100%;
		margin:50px auto 0;
		display: flex;
		flex-direction: column;
	}
	.sec_entry img{
		width:100%;
		margin:50px 0 0;
	}
	.sec_entry-inner{
		width:90%;
/*		margin:0 auto;*/
	}
	.sec_entry-inner p{
		text-align: center;
		font-size:34px;
	}
	.sec_entry-inner div{
		width:90%;
		margin:0 auto;
		text-align: center;
	}
	
	.sec_entry-bgimg{
		position: absolute;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
		z-index: 0;
		opacity: 0.4;
	}
	
	/* ニュース */
	#news{
		width:100%;
		margin-bottom:20px;
	
	}
	.news-wrapper{
		flex-direction: column;
		width:90%;
		align-items: flex-start;
	}
	
	/* トップへ戻るボタン */
	#page-top{
		height:60px;
		width:60px;
		font-size: 13px;
	}
	
	#page-top:before {
		width: 15px;
		height: 15px;
		margin-bottom: 1px;
	}
	
	.sec_interview{
		background: none;
		margin-bottom:0;
		width:90%;
	}
		
	/* サイトメインセクション */
	.mainSection{
		display: flex;
		flex-direction: column;
		width:100%;
		position: relative;
	}
	
	/*メインビジュアル*/
	.mainVisual img{
		width:100%;
	}
	
	/* コピーセクション */
	.copySection{
		width:90%;
		margin :0 auto;
	}
	
	.copySection a{
		width:90%;
		margin:0 auto;
	}
		
	/*メインコピー*/
	.mainCopy{	
		font-size: 28px;
		margin-bottom:0;
	}

	/*サブコピー*/
	.subCopy{
		 width:100%;
		 font-size: 16px;
	}
	
	/*	先輩社員の声 キャッチコピー*/
	.copy-right, .copy-left{
		font-size: 20px;
	}
	
	#copy1{
		height:75%;
	}
	
	#copy2{
		top:80px;
		height:55%;
	}
	
	#copy3{
		height:80%;
	
	}
	#copy4{
		height:60%;
		top:75px;
	}
	
	#copy5{
		height:50%;
		top:5px;
	
	}
	#copy6{
		height:80%;
	}
	
	/*DMKについて*/
	.sec_aboutUs{
		width:90%;
		display: flex;
		flex-direction: column;
		justify-content:start;
		font-size: 16px;
	}

	/*DMKについて セクション説明*/
	.aboutUs-disc{
		width:100%;
	}
	/*DMKについて リンクリスト*/
	.aboutUs-linkList{
		width:100%;
	}
	
	.aboutUs-linkList a{
		font-size: 20px;
	}
	
	/* リンクリスト 装飾ボタンホバー*/
	.aboutUs-linkList a::after,
	.message-linkList a::after {
		width:35px;
		height: 35px;
		font-size: 18px;
		border: 1px solid var(--text-color);
	}
	
	.aboutUs-linkList ul{
		padding-left:0;
		
	}
	
	/*メッセージ*/
	.sec_message{
		width:90%;
		display: flex;
		flex-direction: column-reverse;
		justify-content:start;
		font-size: 16px;
	}

	/*メッセージ セクション説明*/
	.message-disc{
		width:100%;
	}
	/*メッセージ リンクリスト*/
	.message-linkList{
		width:100%;
	}
	
	.message-linkList a{
		font-size: 20px;
	}

	.message-linkList ul{
		padding-left:0;
		
	}
	
	#aboutUs, #message{
		width:90%;
		margin:0 auto;
	}
	
	/* 先輩の声 */
	#interview{
		width:90%;
	}
	
	/*コンセプトムービー*/
	.video-wrap{
		margin-top:60px;
		border-radius: 0;
	}

	.video-wrap video{
		width: 100%;
		height: auto;
		object-fit: cover;
		display:block;
		margin: -1px;
		aspect-ratio: 1350 / 500;
	}

}