@charset "utf-8";
/* ───────────────────────────────────────────────────────────────────────────
変数設定
─────────────────────────────────────────────────────────────────────────── */
:root {
	/*--color--*/
		/*--theme--*/
  			--Primary-080: #002887;
  			--Primary-080-rgb: 0, 40, 135;/* RGB値を抽出する */
  			--Primary-060: #0537AA;
  			--Primary-040: #0050B3;
  			--Primary-040-rgb: 0, 80, 179;/* RGB値を抽出する */
  			--Secondary-080: #4D4D4D;
  			--Secondary-040: #8DA9C4;
  			--Secondary-010: #E0E0E0;
		/*----*/
		/*--Base--*/
  			--Black: #000000;
  			--Black-rgb: 0,0,0;/* RGB値を抽出する */
  			--Gray-070: #4D4D4D;
  			--Gray-060: #666666;
  			--Gray-050: #808080;
  			--Gray-040: #A0A0A0;
  			--Gray-030: #BFBFBF;
  			--Gray-020: #F2F2F2;
  			--Gray-010: #F5F5F5;
  			--White: #FFFFFF;
  			--White-rgb: 255,255,255;/* RGB値を抽出する */
		/*----*/
	/*----*/
}
/* ───────────────────────────────────────────────────────────────────────────
PC表示
─────────────────────────────────────────────────────────────────────────── */
body {
	font-family: hiragino-kaku-gothic-pron, sans-serif; /* 読み込まれたAdobeフォント */
	overflow:scroll;
	color: var(--Black);
}

html{
	font-size: 62.5%;/*ベースを10pxに指定*/
}

p{
	font-size: 1.6rem;
	margin: 0 0 24px;	
}
span,li,dt,dd,strong{
	font-size: 1.6rem;
}
/*----ヘッダー関連----*/
header{
	display: flex;
	justify-content: space-between;
	z-index: 100;
	width: 100%;
	height:72px;
	padding: 0px 24px 0px 24px;
	border-bottom: 1px solid rgba(0,0,0,0.12);
	position: fixed;
	top:0;
	background-color: var(--White);
	
	& a,span{
		text-decoration: none;
		font-weight: 600;
		
		&:hover{
			text-decoration: none;
		}
	}
	
	& span{		
		font-size: 1.4rem;
		
	}
}

#logo{
	margin-top: 0;
	margin-bottom: 0;
	line-height: 72px;
	display: flex;
    align-items: center;

	& > * > *{
	margin-top: 0;
	margin-bottom: 0;
	}

	& span{
		border: 1px solid var(--Primary-040);
		color: var(--Primary-040);
		margin-left: 10px;
		padding: 6px;
		height: 2em;
		line-height: 1.2rem;
		font-size: 1.2rem;
		white-space: nowrap;
		display: flex;
		align-items: center;
	}

	& img{
			max-width: 220px;
			max-height: 72px;
	}
	
	& a{
		display: flex;
	}
}

#logo img,& .burger-wrap li{
	margin-top: 0;
	margin-bottom: 0;
	line-height: 72px;
}

#header_menu_btn{
	display: flex;
	align-items: center;
	font-size: 1.4rem;

	& a{
		display: flex;
		align-items: center;
		height: 100%;
		margin: 0;
		padding: 10px 15px;
		color: var(--Primary-080);
		background-color: var(--Gray-020);
		text-align: center;

		&:hover {
			text-decoration: none;
			color: rgba(var(--Primary-080-rgb),0.7);
		}
	}

	& .header_menu_btn_main{
		background-color: var(--Primary-080);
		color:var(--White);
		white-space: nowrap;

		&:hover{
			text-decoration: none;
			background-color: rgba(var(--Primary-080-rgb),0.8);
			color:var(--White);
		}
	}

	& i{
		margin-left:10px;
	}
}

.hamburger-menu,.burger-wrap{
	display: flex;
	padding:0;
}
.burger-wrap{
	
	& li{
	    white-space: nowrap;
		
		& > span{
			display: block;			
            width: 100%;
			height: 100%;
			padding:0 15px;

			&:hover{
				text-decoration: none;
				color: var(--Gray-070);
			}
		}
	}
}
.icon20{
	width: 20px;
	margin: 5px;
    vertical-align: -10px;
}
.icon24{
	width: 24px;
	margin: 5px;
    vertical-align: -10px;
}
.of_b{
	object-position: bottom;
}
/*--タブキーでフォーカスした時の処理--*/
.burger-wrap > li:hover .submenu,
.burger-wrap > li:focus-within .submenu {
    display: block;
}
/*----*/
/*--アンダーライン関連--*/
.underline-animation {
	display: inline-block;
	position: relative;
	text-decoration: none;

	&::after {
		content: '';
		position: absolute;
		width: 100%;
		transform: scaleX(0);
		height: 2px;
		left:0;
		bottom: 0;
		background-color: var(--Primary-080);
		transform-origin: center;
		transition: transform 0.3s ease-out;
		z-index:1000;
	}

	&:hover::after {
		transform: scaleX(1);
	}

}
	/* ページIDに基づいて現在のページのメニュー項目をスタイリング */
	#page-company .company .underline-animation,
	#page-business .business .underline-animation,
	#page-senior .senior .underline-animation,
	#page-env .env .underline-animation,
	#page-recruit .recruit .underline-animation {
		color: var(--Primary-060); /* 文字色変更 */
	}
	/*--アクティブ時のホバー--*/
	/*--#page-recruit-top .recruit-top:hover,
	#page-company .company:hover,
	#page-business .business:hover,
	#page-senior .senior:hover,
	#page-env .env:hover,
	#page-recruit .recruit:hover {
		
		& a{
			color: var(--Black);
			}
	}--*/
	/*----*/
/*----*/

.hamburger-icon {
    display: none;
    flex-direction: column;
    justify-content: space-around;
    position: relative;
    width: 15px;
    height: 15px;

	& span {
		background: var(--White);
		border-radius: 2px;
		display: block;
		height: 2px;
		width: 100%;
		transition: all 0.3s;
	}
}

#hamburger-wrap{
	width: 100%;
	margin-left: 64px;
}
#hamburger-wrap.active .hamburger-icon span:nth-child(1) {
    transform: rotate(45deg);
    position: absolute;
    top: 50%; /* 上から50%の位置に調整 */
    transform-origin: center; /* 回転の基準点を中央に */
}

#hamburger-wrap.active .hamburger-icon span:nth-child(2) {
    opacity: 0;
}

#hamburger-wrap.active .hamburger-icon span:nth-child(3) {
    transform: rotate(-45deg);
    position: absolute;
    top: 50%; /* 上から50%の位置に調整 */
    transform-origin: center; /* 回転の基準点を中央に */
}
#icon-text{
	display: none;
}
/*---メニュー内メニュー-*/
.submenu {
    position: absolute;
    top: 100%;
    left: 24px;
    transform: translateX(0) translateY(0); /* translateY()の数字を変更すると初期位置を上から降りてくる */
    opacity: 0; /* 初期状態は透明 */
    width: 1100px;
    background-color: var(--White);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    list-style: none;
    padding: 64px 80px;
    margin: 0;
    z-index: 998;
    transition: opacity 0.4s ease, transform 0.4s ease; /* トランジションを追加 */
    pointer-events: none; /* マウスイベントを無効にする */
	
	& > span{
		color: var(--Primary-080);
		font-size: 2.4rem;
		font-weight: 600;
	}
	
	& img:not(.icon20){
		object-fit: cover;
    	aspect-ratio: 264 / 151;
		width: 250px;
	}	
}

.submenu li a {
    display: flex;
    padding: 0;
    text-decoration: none;
	flex-direction: column;
	
	& span{
		color:rgba(var(--Black-rgb),0.87);
		font-size: 1.9rem;
		display: flex;
        justify-content: space-between;
	}
	
	& img.icon20{
		margin-left: 10px;
	}
}

.submenu li a:hover {
    opacity: 80%;
}

.burger-wrap > li:hover .submenu,
.burger-wrap > li:focus-within .submenu {
    transform: translateX(0) translateY(0); /* 元の位置に戻す */
    opacity: 1; /* 不透明に */
    pointer-events: auto; /* マウスイベントを有効にする */
}
.submenu{
	
	& ul{		
		display: flex;
		padding: 0;
		justify-content: flex-start;
		
		& li{
			list-style: none;
			margin-right: 36px;
			
			&:last-child{
				margin-right: 0;
			}
		}
	}
}
/* アイコンの初期状態設定 */
.toggle-icon {
    display: none;
}
/*----*/
/*--------*/
/*--経営理念--*/
.concept_contents{
	
	& p{
		font-size: 1.8rem;
	}
	
	& .concept_mincho{
		font-family: "shippori-mincho", sans-serif;
		font-weight: 700;
		font-style: normal;
	}
	
	& span.concept_mincho{
		font-size: 3.6rem;
		margin-bottom: 16px;
	}
	
	& ol.concept_mincho{
		list-style-type: cjk-ideographic;
	}
	
	& .concept_mincho li{
		font-size: 1.8rem;
	}
	
}
#synergyeffect_image{
	display: block;
	max-width: 500px;
	margin: 0 auto 64px;
}
#ikkou_philosophy{
	border: 1px solid var(--Gray-020);
	margin-bottom: 120px;
	padding: 24px;
	border-radius: 8px;
}
#m-ikkou_front_image{
	width: 100%;
}
/*----*/
/*----このページを見た後は...----*/
#after_view{
	background-color: var(--Gray-010);
	padding: 48px 0 70px;
	
	& >section{
		width: 1100px;
		margin: 0 auto;
	}
	
	& h2{
		text-align: center;
		margin-bottom: 24px;
		font-size: 2.4rem;
	}
	
	& ul{
		display: flex;
		list-style: none;
		justify-content: space-around;
		margin: 0;
		padding-left: 0;
		
		& li{
			
			
			& a{
				display: flex;
				flex-direction: column;
				text-decoration: none;
				
				&:hover{
					opacity: 0.7;
				}
				
				& span{
					color: rgba(var(--Black-rgb), 0.87);
					font-size: 1.9rem;
					font-weight: 600;
					padding: 14px 0;
				}
				
				    & i {
						margin-left: 10px;
						color: var(--Primary-080);
						
						&::after{
								content: '';
								position: absolute;
								left: 20%;
								top: 20%;
								width: 60%;
								height: 60%;
								transform: rotate(45deg);
								background-color: #fff;
								z-index: -1;
							}
					}
			}
		}
	}
	
	& img:not(.icon20){
		aspect-ratio: 376 / 200;
    	object-fit: cover;
		width: 300px;
	}
}
/*--------*/
/*----フッター関連----*/
footer{
	background-color: var(--Primary-080);
	color: var(--White);

	& > .wrap{
		display: flex;
		width: 1000px;
		padding: 64px 24px 34px;
		margin: 0 auto;
		justify-content: space-between;
		}
}
.footer_bottom{
	background-color: var(--White);
	
	& #footer_logo{
		width: 100%;
		padding: 40px 0 32px;
		border-bottom: 1px solid var(--Secondary-010);

		& a{
			display: block;
			max-width: 330px;
			margin: 0 auto;

			&:hover{
				opacity: 0.8;
			}
		}
	}
}
#footer_menu{
	width: 60%;
	
	& > ul{		
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	}
	
	& ul,li{
		margin: 0;
		padding: 0;
		list-style: none;
	}
	
	& a{
		text-decoration: none;
	}
	
	
	& .footer_submenu{
		width: 50%;
		margin-bottom: 30px;
		font-size: 1.4rem;

		& span{
			margin-bottom: 10px;
			display: inline-block;
		}

		& li{
			font-weight: 600;
			font-size: 1.4rem;
			margin-bottom: 5px;
		}
		
		& a:hover{
			opacity: 0.8;
		}
	}
}
#footer_menu_btn{
	
	& a{
        display: block;
        width: 320px;
		height: 64px;
        line-height: 24px;
		margin-bottom:16px;
        padding: 21px 15px;
		border-radius: 3px;
		background-color: var(--White);
		align-items: center;
		font-size: 1.6rem;
		font-weight: 600;
		color: var(--Primary-080);
		text-align: center;
		text-decoration: none;		
		&:hover {
				color: rgba(var(--Primary-080-rgb),0.7);
		}
	}
	& .mynavi{
			padding: 0;
			background-color: transparent;
		}	
	& .footer_menu_btn_sub{		
		background-color: var(--Primary-040);
		color: var(--White);
		
		&:hover{
			background-color: rgba(var(--Primary-040-rgb),0.8);
			color: var(--White);
		}
	}
	
	& i{
		margin-left: 10px;
	}
}
#copyright{
	width: 100%;
	color:var(--Gray-050);
	text-align: center;
	font-size: 1.1rem;
	padding: 32px 0 40px;
	background-color: var(--White);
}

/*--------*/
/*--共通個別変更部分--*/
#after_view h2,.recruit_flow h2,.qa_contents h2{
		color: var(--Black);
}
/*----*/
/*--Q&A--*/
.pageTitle_recruit {
    display: flex;    
    flex-direction: column;
	border-top: 1px solid var(--Gray-010);

    & .q_icon, .a_icon {
        width: 36px;
        height: 36px;
		font-weight: 600;
        background-color: var(--Primary-080);
        border-radius: 50%;
        text-align: center;
        line-height: 36px;
        color: var(--White);
        margin-right: 20px; /* アイコンとテキストの間に余白を追加 */
		margin-left:36px;
        flex-shrink: 0; /* アイコンが縮まないように */
    }

    & .a_icon {
        background-color: var(--White);
        color: var(--Primary-080);
    }
	
	& .question {
		display: flex;
		align-items: center;
		cursor: pointer;
		margin: 0;
		border:none;
		
		& p {
			font-size: 1.8rem;
			margin: 0;
			flex-grow: 1; /* h3が残りのスペースを占める */			
		}
		
		& img{
			margin-right: 42px;
			transition: transform 0.3s ease-out;
		}		
	}
    & .answer {
        display: none;
		align-items: baseline;
        background-color: var(--Gray-010);
        margin: 0;
        width: 100%; /* 100%幅に設定 */
    	margin-bottom: 30px;
		border-radius: 8px;
		border:none;
		padding: 0;

        & p {
            display: block;
            font-size: 1.8rem;
			line-height: 2;
			margin: 0;
            padding: 36px 36px 40px 0;
        }
    }
	
	& dl{
		margin: 0;
	}
}
.open{
	& img{
		transform:rotate(180deg);
	}
}

/*----*/
/*--採用の流れ--*/
#recruit_flow_table{
	color: var(--White);
	font-weight: 600;
	font-size: 1.5rem;
	
	& thead{
		& th{
			background-color: var(--Primary-080);
			font-size: 1.6rem;
		}
	}
	& th{
		background-color: var(--Primary-060);
		padding: 16px 0 16px 16px;
	}
	& td{		
		background-color: var(--Gray-010);
		color: var(--Black);
		padding: 16px 0 16px 16px;
	}
}
.recruit_flow{
	
	& h2{
		font-size: 3.2rem;
	}
	
	& h3{
		font-size: 2.8rem;
		color: var(--Black);
		margin-bottom: 16px;
		
		& span{
			font-size: 4rem;
			color: var(--Primary-080);
			margin-right: 8.5px;
		}
	}
}
.entry_btn{
	display: flex;
	width: 400px;
    align-items: center;
    justify-content: space-between;
    height: 88px;
    background-color: var(--Primary-080);
    color: var(--White);
    box-sizing: border-box;
	text-decoration: none;
	
	&:hover{
		text-decoration: none;
		color: var(--White);
		opacity: 0.8;
	}
	
	& p{
		font-size: 1.8rem;
		margin: 0;
    	padding: 0 24px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		line-height: 1.4;
		font-weight: 600;
	}
	
	& i{
		font-size: 2.4rem;
		padding: 0 32px;
		background-color: var(--White);
		color: var(--Primary-080);
		border: 1px solid var(--Primary-080);
		display: flex;
        height: 100%;
        align-items: center;
	}		
	
	& span{
		font-size: 1.4rem;
		font-weight: 300;
	}
}
.white_box{
	width: 72px;
    background-color: var(--White);
    height: 88px;
    display: flex;
    justify-content: center;
    border: 1px solid var(--Primary-080);
}
.kigen_box{
	display: flex;
	flex-direction: row;
    align-items: stretch;
	
	& dt{
		width: 240px;
		background-color: #171717;
		padding: 16px 24px 16px 16px;
		color: var(--White);
		font-size: 1.6rem;
		font-weight: 600;
		flex: none;	
		border: 0 none;	
	}
	& dd{		
		background-color: #EFEFEF;
		padding: 16px;
		color: var(--Black);
		font-size: 1.6rem;
		font-weight: 600;
		flex: none;
        flex-grow: 1;
		border: 0 none;
	}
}
/*----*/
main{
	margin-top:72px;/*--ヘッダーの高さ分下げる--*/
}
main > section{
	width:100%;
	text-align: center;
	padding:120px 0 24px;
	
	& p{
		font-size: 1.8rem;
		font-weight: 300;
		margin: 16px 0 0;
	}	
}

	
h1{
	font-size: 4rem;
	margin: 0;
	
}
h2{
	font-size: 3.2rem;
	color: var(--Primary-080);
}
h3{
	font-size: 2.4rem;
}
dt{
	flex: 0 0 20%;
	padding:30px 0;
	border-bottom: 1px solid rgba(0,0,0,0.12);
	margin: 0;
}
dd{
	flex: 0 0 80%;
	color: var(--Gray-070);
	padding:30px 0;
	border-bottom: 1px solid rgba(0,0,0,0.12);
	margin: 0;
}
span + p{
	margin-top:0;
}
strong{
	display: inline-block;
	font-weight: 600;
	color: var(--Black);
	margin-bottom: 8px;
}

.contents{
	width:1200px;/*896px*/
	margin:0 auto;
	margin-bottom:120px;
	
	& > *{
		margin-bottom:40px;
	}
}
.top_image{
	margin-bottom: 24px;
	
	& img{	
	object-fit: cover;
	aspect-ratio: 15 / 4;
	width: 100%;
	}
}
.tab {
	width:100%;
	max-width: 1200px;/*896px*/
	margin:0 auto;
    overflow: hidden;
    border-bottom: 1px solid var(--Primary-080);
	display:flex;
	margin-bottom:40px;
	
	& button{
		height: 50px;
		box-sizing: border-box;
		border-radius:0;
		background-color: inherit;
		border: none;
		cursor: pointer;
		padding: 14px 16px;
		transition: 0.3s;
		font-size: 1.7rem;
	}
	
	& button:hover {
    	background-color: rgba(var(--Primary-080-rgb), 0.1);
		color:var(--Primary-080);
	}
	
	& button.active {
    	background-color: var(--Primary-080);
		color:var(--White);
	}
	
	& .tablinks{
		width:50%;
	}

}

.tabcontent {
    display: none;
    padding: 0 60px;
}
.tabcontent_title{
	margin-bottom: 24px;
	color: var(--Primary-080);
	font-size: 3.2rem;
	font-weight: 600;
}
/*--2列構成--*/
.col2_box{
	margin:0;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
/*----*/
.nodisp{
	display: none;
}
.fa-angle-down{
	margin-left: 1em;
}
.pc-nodisp{
	display:none;
	
	&:before{
		display:none;
		}
}
.sp-nodisp{
	display:block;	
	
		&:before{
			display:block;
		}
}
#top_col2_box{
	max-width: 1440px;
	display: flex;
    padding: 24px;
    flex-direction: row;
    align-items: center;
	margin: 0 auto;
	
	&>*{
		width: 50%;
	}
}
#top_catch{
	
	&>*{
		max-width: 480px;
		margin: 0 auto;
	}
	
	& h1{
		/*font-family: "hiragino-mincho-pron", sans-serif;*/
		margin-bottom: 40px;
		font-size: 3.6rem;
        line-height: 2;
	}
	& p{
		font-size: 1.6rem;
	}
	& .top_btn{
		font-size: 1.8rem;
		margin: 0 auto 24px;
		display: block;
		width: fit-content;
		padding: 10px 30px;
		border: 1px solid var(--Gray-030);
		text-decoration: none;
		color: var(--Gray-070);
		&:hover{
			opacity: 0.8;
		}
	}
}
.top_thought{
	width: 100%;
	background:linear-gradient(rgba(0, 30, 102, 0.7), rgba(0, 30, 102, 0.7)), url("../image/top_bg.png");
	background-size: cover;
  	background-repeat: no-repeat;
  	background-position: center;
	text-align: center;
	padding-top: 132px;
	padding-bottom:132px;
	display: flex;
	flex-direction: column;
    align-items: center;
	& p{
		width: 792px;
		display: block;
		color: var(--White);
		font-size: 1.6rem;
	}
}
#qa_cate{
	margin:0 0 120px;
	
	& ul{
		list-style:none;
		margin: 0;
		padding: 0;
		display: flex;
        justify-content: space-evenly;

		& li{
			font-size: 1.8rem;
    		font-weight: 600;
			margin: 0;
			padding: 0;
		}
	}
}
.anchorLink_recruit{
	text-decoration: none;

	&:hover{
		opacity: 0.7;
		text-decoration: underline;
	}
	
	& i{
		color:var(--Primary-060);	
		font-size: 1.8rem;
		margin-right: 10px;
	}

}
.caption_image{
	text-align: center;
}
/*--ページ上部移動ボタン--*/
.page_top{
	display: block;
	background-color: var(--Black);
	width: 64px;
	height: 64px;
	position: fixed;
	right: -200px;
	bottom: 10px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 64px;
	margin: 0;
	
	& i{
		color: var(--White);
	}

	&:hover{
		background-color: var(--Gray-070);
	}
}
/*----*/
/*--グラフ--*/
.counter {
	font-size: 3.2rem;
	font-weight: bold;
}
#myChart {
	max-width: 100%;
	height: auto;
}
/*----*/
/*--埋め込み動画--*/
#video-container iframe {
    width: 100%;
    height: calc(100vw * 9 / 16); /* 16:9 のアスペクト比を維持 */
    max-height: 504px;
}
#thumbnail{
	cursor: pointer;
	
	&:hover{
		opacity: 0.7;
	}
}
/*----*/
/*--先輩紹介幅広画像--*/
.wide_image{
	margin-bottom: 120px;
	
	& img{
		max-width: 100%;
		display: block;
		margin: 0 auto;
		height: 675px;
        object-fit: cover;
	}
} 
/*----*/
/*--先輩紹介--*/
.page-senior{
	& h2{
		width: fit-content;
		font-size: 2.8rem;
		background-color: var(--Primary-080);
		color: var(--White);
		padding: 1px 8px;
		line-height: 1.5;
	}
	& h3{
		color: var(--Primary-080);
		margin-bottom: 24px;
	}
	& p{
		line-height: 2;
	}
}
#senior_contents{
	width: 100%;
	& p{
		font-size: 16px;
	}
}
.senior_flex1{
	display: flex;
	justify-content: space-between;
    column-gap: 80px;
	width: 1040px;
    margin: 0 auto 120px;
	& p{
		font-size: 16px;
	}
	& > section{
		min-width: 388px;
        width: 388px;
		& h2{
			margin-top: 0;
		}
	}
}
.senior_flex2{
	display: flex;
	flex-direction: column;
	max-width: 772px;
	& section{
		width: 572px;
	}
}
.senior_cont{
		width: 572px;	
}
.senior_cont2{
	margin: 0 auto 40px;
    display: block;
	max-width: 1040px;
	width: 100%;
}
#senior_catch{
	width: 1040px;
    margin: 0 auto;
    padding: 12rem 0 8rem;
    display: flex;
	text-align: left;
	& h1{
		order: 2;
		color: var(--Primary-080);
		line-height: 1.55;
		& span{
			font-size: 54px;
			background-color: var(--Gray-010);
			font-feature-settings: "palt";
            letter-spacing: 0.5rem;
		}
	}
}
#senior_prof{
	margin-right: 48px;
	color: var(--Primary-080);
	& li{
		margin: 0;
        font-weight: 600;
        list-style: none;
		margin-bottom: 10px;
		padding: 0;
		line-height: 1;
	}
	& .prof_class{
		width: fit-content;
		font-size: 28px;
		background-color: var(--Primary-080);
		color: var(--White);
		padding: 1px 8px;
		line-height: 1.5;
	}
	& .prof_department{
		font-size: 16px;
	}
	& .prof_name{
		font-size: 24px;
	}
	& .prof_eyear{
		font-size: 13px;
	}
}
.senior_schedule{
	width: 100%;
	padding:80px 0;
	margin-bottom: 120px;
	background-color: var(--Gray-010);
	& > div{
		width: 1040px;
		margin: 0 auto;
		background-color: var(--Gray-010);
		& span{
			font-size: 3.2rem;
			color: var(--Primary-080);
			margin-bottom: 40px;
			font-weight: 600;
			display: inline-block;
		}
	}
	& dt{
		font-size: 16px;
	}
	& dd{
		font-size: 16px;
	}
}
.schedule2{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	& dl{
		width: calc(50% - 24px);
		display: flex;
		flex-wrap: wrap;
	}
	& dt{
		width: 25%;
		font-weight: 600;
		color: var(--Black);
		padding: 20px 8px;
	}
	& dd{
		width: 75%;
		font-weight: 600;
		color: var(--Black);
		padding: 20px 8px;
	}
}
.senior_list_btn{
	display: block;	
	margin: 0 auto 120px;
	width: 100%;
    text-align: center;
	& a{
		display: inline-block;
		font-weight: 600;
		font-size: 16px;
		color: var(--Primary-080);
		padding: 21px 104px;
		text-decoration: none;
		border: 1px solid var(--Primary-080);
		border-radius: 3px;
		&:hover{
			opacity: 0.8;
		}
	}
}
.after_senior,.senior_list{
	width: 1040px;
    margin: 24px auto 120px;
	& h2{
		font-size: 2.4rem;
    	text-align: center;
		margin: 0 0 40px;
	}
	& img{
		margin-bottom: 16px;
		aspect-ratio: 1 / 1;
        object-fit: cover;
	}
	& .senior_grid{
		display: grid;
		column-gap: 48px;
		row-gap: 60px;
        grid-template-columns: calc((100% - 96px) / 3) calc((100% - 96px) / 3) calc((100% - 96px) / 3);
	}
	& ul{
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		justify-content: space-between;	
	}
	& li{
		margin: 0;
		padding: 0;
		list-style: none;
		color: var(--Primary-080);
		font-weight: 600;
	}
	& a{
		text-decoration: none;
		& ul{
			flex-direction: column;
		}
		&:hover{
			opacity: 0.8;
		}
	}
	& .prof_name{
		font-size: 24px;
		margin-bottom: 29px;
	}
	& .prof_class{
		margin-bottom: 10px;
	}
	& .prof_eyear{
		margin-bottom: 12px;
	}	
	& .prof_class, .prof_eyear, .prof_department{
		font-size: 13px;
	}
}
.senior_list{
	& ul{
		flex-wrap: wrap;
	}
}
.after_senior .senior_grid li:nth-child(n+4) {
	display: none;
}
/*----*/
.page-seminar{
	& th,& td{
		font-size: 1.6rem;
	}	
	& dt,& dd{
		border: none;
		padding: 10px 0;
	}
}
main:has(.page-seminar) > section {
	padding: 60px 0 60px;
}
/* ───────────────────────────────────────────────────────────────────────────
 1100px以下の動作
─────────────────────────────────────────────────────────────────────────── */
@media screen and (max-width:1100px){
	html{
		font-size: 50%;/*ベースをPCの80％に指定*/
	}
	main{
		margin-top:84px;/*--ヘッダーの高さ分下げる--*/
		& .wrap{
			& > *{
				padding: 0 20px;
			}
			& .wide_image{
				padding: 0;
			}
		}
	}
/*----ヘッダー関連----*/
	header{
		flex-wrap: wrap;
		padding: 0;
		height:84px;
		
		& #logo{
			padding: 0 10px;
			line-height: 40px;
			width:100%;
			height: 40px;
			display: flex;
            justify-content: flex-start;
			
			& a{
			    display: flex;
				flex-direction:row;
                align-items:  center;
			}
			
			& span{
				/*font-size: 0.9rem;*/
				padding: 1px 3px;
				line-height: 12px;
                letter-spacing: 1px;
			}
			
			& img{
				width: 100%;
			}
		}
		
		& #hamburger-wrap{
			display: flex;
			justify-content: center;
            align-items: center;
			order:3;
			height: 44px;
			width: 30%;
			background-color: rgba(0,0,0,0.87);
    		cursor: pointer;
			margin-left: 0;			
		}
		
		& #header_menu_btn{
			width:70%;
			order:2;
			height: 44px;
			
			& a{
				margin: 0;
				padding: 10px 6px;
				width: 50%;
				border: 0 none;
                line-height: 13px;
                background-color: #f2f2f2;
				justify-content: center;
			}
			
			& .header_menu_btn_main{
				display: flex;
				align-items: center;
                flex-direction: row;
			}
			
			& a{
				/*font-size: 1.1rem;*/
			}
			
			& i{
				margin: 0 0 0 5px;
				/*font-size:1.2rem;*/
			}
		}
	}
	
	.hamburger-icon {
        display: flex;
		margin:10px;		
    }
	
	#icon-text{
		display: block;
		
		& span{
			color: var(--White);
			line-height: 44px;
			/*font-size: 1.1rem;*/
			text-align: center;
			}
		
		& .icon-text-on{
			display: block;
		}
		
		& .icon-text-off{
			display: none;
		}
		
	}
	
	.active #icon-text{

		& .icon-text-on{
			display: none;
		}

		& .icon-text-off{
			display: block;
		}
	}

	.hamburger-menu {
        display: none;
        flex-direction: column;
        position: fixed;
        top: 84px;
        left: 0;
        width: 100%;
        background-color: var(--White);
        z-index: 999;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    }

    #hamburger-wrap.active .hamburger-menu {
        display: flex;
        max-height: 500px; /* メニューの最大の高さを指定 */
        opacity: 1;
        visibility: visible;
    }

    .burger-wrap {
        flex-direction: column;
        width: 100%;
		
		& > li{
			border-bottom: 1px solid var(--Secondary-010);
		}
    }

    .burger-wrap li {
        width: 100%;
		
		& span{
			text-align: left;
			font-size: 1.75rem;/*--16--*/
		}
    }

	.underline-animation::after{
		display: none;
	}
	.toggle-icon {
        display: block;
		float: right;
        /*font-size: 1.6rem;*/
		margin-right: 22px;
    }

	.submenu {
		width: 100%;
		position:static;
		padding: 0;
		transition: max-height 0.3s ease, opacity 0.3s ease;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		box-shadow:none;
		
		& img:not(.icon20),> span{
			display: none;
		}
		
		& ul{
			display: block;
		}
		
		& li a{
			justify-content: space-between;
			flex-direction: row;
			align-items: center;
			
			& span{
			font-size: 1.75rem;/*--16--*/
			/*font-size: 1.4rem;*/
			padding: 0 24px;
			}
			& .icon20{
				margin-right: 25px;
			}
		}
		
	}
	.active .burger-wrap > li > .submenu {
		transform: translateX(0) translateY(0);
	}
	/* サブメニューを表示する状態 */
	.submenu-active {
		max-height: 500px; /* 最大高さを十分に取る */
		opacity: 1; /* 不透明にする */
		display: block; /* サブメニューを表示 */
		overflow: visible; /* サブメニュー内の要素が隠れないように */
		pointer-events: auto; /* マウスイベントを有効にする */

		& ul{
			display:block;
		}
	}
/*--------*/
/*----フッター関連----*/
	footer{

		& > .wrap{
			flex-direction: column;
			width: 100%;
			}
	}
	#footer_menu{
		width: 100%;
		& > ul{
			
		}
		
		& .footer_submenu{
			/*font-size: 1.6rem;*/
			& span{
				font-size: 16px;
			}
			& li{
				margin-bottom: 16px;
				font-size: 14px;
			}
		}
		
	}
	#footer_menu_btn {
		& a {
			width: 100%;
			}
	}	
	.footer_bottom{
		#footer_logo{

			& a{
				max-width: 250px;
			}
		}
	}
/*--------*/
/*----このページを見たあとは...----*/
	#after_view{
		padding: 16px 0 40px;
		
		& >section{
			width: 100%;
		}

		& h2{
		}

		& ul{
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: flex-start;
			padding: 0;
			align-items: center;
			
			& li{
				width: 50%;
				margin: 0;
				padding: 0;
				text-align: center;

				& a{
					position: relative;
					display: inline-flex;
					margin: 10px;
					
					&::after{
						content: '';
						position: absolute;
						top: 0;
						right: 0;
						bottom: 0;
						left: 0;
						background-color: var(--Black);
						opacity: 0.2;
						width: 100%;
						height: 100%;
					}
					
					& span{
						position: absolute;
                        color: var(--White);
                        bottom: 0;
                        z-index: 10;
						margin-left: 8px;
						text-shadow: 0 0 14px rgba(0, 0, 0, .35);
					}

						& i {
							text-shadow: none;
							position: relative;
						}
				}
			}
		}
		
		& img{
			object-fit: cover;
			aspect-ratio: 17 / 15;
		}
	}
/*--------*/
/*--ページ上部移動ボタン--*/
	.page_top{

			& a{
				width: 50px;
				height: 50px;
				line-height: 50px;
			}
	}
/*----*/
	.wide_image {
		margin-bottom: 40px;
	}
	.kigen_box {
		flex-direction: column;
		& dt {
			width: 100%;
			padding: 16px;
		}
	}
	.entry_btn{
		width: 100%;
	}
	main{
		padding: 0 14px;
		& > section{
			padding: 0 0 30px;
		}
	}
	h1{
		/*font-size: 3.2rem;*/
	}
	h2{
		/*font-size: 2.4rem;*/
	}
	dt{
		padding:16px 0;
		border-bottom: 0 none;
	}
	#catch_p{
		text-align: left;
		padding:40px 0 16px;	
		
		& p{
			/*font-size: 1.6rem;*/
			text-align: left;
		}
	}
	.contents{
		width:100%;
		margin-bottom:64px;
	}
	
	.top_image img{
		aspect-ratio: 9 / 4;
	}
	
	.sp_content{/*--スマホ表示時幅設定--*/
		padding: 0 20px;
	}
	
	.tabcontent {
		padding: 0 20px;
		border: 0 none;
		
		& dt{
			border-bottom: 0 none;
			padding-bottom: 0;
		}
	}
	
	.col2_box{
		flex-direction: column;
	}
	
	.pc-nodisp{
		display:block;	
	
		&:before{
			display:block;
		}
	}
	
	.sp-nodisp{
		display:none;	
	
		&:before{
			display:none;
		}
	}
	.pageTitle_recruit {

		& .q_icon, .a_icon {
		}

		& .a_icon {
		}

		& .question {

			& p {		
			}

			& i{
				margin-right: 0;
			}
		}
		
		& .answer {

			& p {
				padding: 16px 24px 16px 0;
			}
		}		
	}
	#top_col2_box {
    	flex-direction: column;
		&>* {
			width: 100%;
		}
		& img{
			display: block;
			margin: 0 auto;
		}
	}
	.top_thought{		
		padding: 60px 20px;
		& p{
			width: 100%;
		}
	}
	#qa_cate{
		margin-bottom: 48px;
		
		& ul{
			flex-direction: row;
			flex-wrap: wrap;
		
		& li{
			/*font-size: 1.4rem;*/
			padding: 16px;
			border: 1px solid var(--Gray-020);
			border-radius: 8px;
			margin: 0 16px 16px 0;
			}
		}
	}
	.pageTitle_recruit {

		& .q_icon, .a_icon {
			width: 32px;
			height: 32px;
			line-height: 32px;
			margin-right: 16px; /* アイコンとテキストの間に余白を追加 */
			margin-left: 8px;
		}
	}
	
	#synergyeffect_image{
		width: 100%;
	}
	.after_senior, .senior_list{
		width: 100%;
		margin-bottom: 40px;
		& ul{
        	justify-content: center;
			column-gap: 5%;
		}
		& li{			
			margin-bottom: 24px;
		}
		& a{
			& li{
				margin-bottom: 6px;
			}
			& .prof_name{
				margin-bottom: 6px;
			}
		}
	}
	.after_senior{
		padding: 0 24px;
	}
	#senior_catch{
		width: 100%;
		flex-direction: column;
		padding: 0 16px 40px;
		& h1{
			order: 2;
			margin-bottom: 10px;
			& span{
				& br{
					display: none;
				}
			}
		}
		& #senior_prof{
			order: 1;
			margin-bottom: 10px;
			& ul{
				padding: 0;
			}
		}
	}
	.senior_flex1{
		width: 100%;
		flex-direction: column;
		margin-bottom: 0;
		column-gap: 40px;
		& > section{
			width: 100%;
			min-width: 300px;
			& h2{
			}
		}
	}
	.senior_flex2{
		max-width: 100%;
	    & section {
        	width:100%;
		}
    }
	#senior_contents {
		width: 100%;
	}
	.senior_cont {
    	width: 100%;
		min-width: 0;
		margin-bottom: 40px;
	}
	.schedule2 {
		flex-direction: column;
		& dl{
			width: 100%;
		}
		& dt{
			border-bottom: 1px solid rgba(0, 0, 0, 0.12);
		}
	}
	.senior_schedule {
		padding: 40px 0;
		margin-bottom: 40px;
		background-color: var(--White);
		& > div {
			width: 100%;
			background-color: var(--Gray-010);
			padding: 48px 16px;
		}
	}
	.senior_list_btn{
		margin-bottom: 80px;
	}	
	.after_senior{
		& h2{
			font-size: 22px;
		}
	}
}
@media screen and (max-width: 768px) {
	.wrap .senior_schedule{
		padding: 0;
	}
	#senior_contents {
		& p{
			font-size: 14px;
		}
		& dt{
			font-size: 14px;
		}
		& dd{
			font-size: 14px;
		}
	}
	#top_catch {
		& h1 {
			font-size: 3rem;
		}
	}	
	#footer_menu{

		& > ul{
			/*flex-direction: column;*/
		}
	}	
	.after_senior, .senior_list{ 
		& .senior_grid{
			grid-template-columns: calc((100% - 14px) / 2) calc((100% - 14px) / 2);
			column-gap: 14px;
			row-gap: 40px;
		}
	}	
	.after_senior .senior_grid li:nth-child(n+4) {
		display: block;
	}
	.after_senior{
		padding: 0 16px;
	}
	.senior_schedule{
		& > div{
		}
		& dt{
			font-size: 14px;
		}
		& dd{
			font-size: 14px;
		}
	}
	.senior_flex1{		
		& p{
			font-size: 14px;
		}
	}
	.senior_list_btn{
		& a{
			font-size: 14px;
		}
	}
}
@media screen and (max-width: 480px) {
	.wide_image {
		& img{
			height: 448px;
		}
	}
	#senior_catch{
	& h1{
		& span{
			font-size: 32px;
			}
		}
	}
	#senior_prof{
		& .prof_class{
			font-size: 22px;
		}
		& .prof_department{
			font-size: 14px;
		}
		& .prof_name{
			font-size: 20px;
		}
		& .prof_eyear{
			font-size: 10px;
		}
	}
}
@media screen and (max-width: 320px) {
	.wide_image {
		& img{
			height: 320px;
		}
	}
	#senior_catch{
	& h1{
		& span{
			font-size: 28px;
		}
	}
	}
}