/* -----
base
----- */
/* リセット */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

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 {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{
    box-sizing: border-box; /* オリジナル */
}
body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
	color: inherit;
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

ul, ol{
    list-style: none;
}

/*    基本設定
=====================================================*/
:root{
  /* 変数 */
  /* Contents */
	--cont-width: 1168px;

  /* Color */
	--color-main: #E6002D;
	--color-sub: #1D1D1D;
	--color-border: #ECEEF1;
	--color-border-bg: #ECEEF1;
	--color-bg: #fff;
	--color-text: #1D1D1D;
	--color-link: #232F4E;
	--color-hover: #232F4E;
	--color-reverse: #fff;
	--color-light-gray: #666;
	--color-gray: #A6A6A6;
	--color-bg-color:  #F8F8F5;
	--color-footer-border:  #CACACA;
	--color-gray-border:  #D9D9D9;
	--color-head: #2C4177;

  /* Text */
	--font-en: YakuHanJPs, "Noto Sans", "Helvetica Neue", Arial, sans-serif;
	--font-jp: YakuHanJPs, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic" , "Noto Sans JP", "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, sans-serif;
	--font-min-en: YakuHanJPs, "Radley", serif;
	--line-height: 2;

  /* Other */
	--opacity: 0.7;
	--transition: 0.2s;
}

/* base */
:root{
	font-size: 10px;
	scroll-padding-top: 96px;
	@media screen and (max-width: 896px){
		scroll-padding-top: 64px;
	}
}
body{
	color: var(--color-text);
	font-weight: 500;
	line-height: var(--line-height);
	font-size: clamp(14px, 1.16vw, 16px);
	font-family: var(--font-jp);
}
button{
	text-decoration: none;
	cursor: pointer;
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
		opacity: var(--opacity);
		}
	}
}

.mt_40 {
	margin-top: 40px;
}

.txt_indent {
	padding-left:1.3em;
	text-indent:-1.3em;
}


/*    Display
=====================================================*/
.u_tbl {
	display: none !important;
}
.u_sp {
	display: none !important;
}
.u_pc {
	display: block !important;
}
@media (max-width: 896px) {
	.u_pc {
		display: none !important;
	}
	.u_sp {
		display: none !important;
	}
	.u_tbl {
		display: block !important;
	}
	.u_tbl.u_pc {
		display: block !important;
	}
	.u_sp.u_tbl {
		display: block !important;
	}
}
@media (max-width: 576px) {
	.u_pc {
		display: none !important;
	}
	.u_tbl {
		display: none !important;
	}
	.u_sp {
		display: block !important;
	}
	.u_tbl.u_pc {
		display: none !important;
	}
	.u_sp.u_tbl {
		display: block !important;
	}
}


/*    layout
=====================================================*/
/* ラッパー */
.l_wrap{
	overflow: hidden;		
}
.l_wrap__top {
	padding-top: 9.6rem;
	@media screen and (max-width: 896px){
		padding-top: 6.4rem;
	}
}
.l_wrap__header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 96px;
	background-color: var(--color-reverse);
	@media screen and (max-width: 896px){
		height: 64px;
	}
}
.l_wrap__inr{
	width: 95%;
    max-width: 1200px;
    margin: 0 auto;
}
.l_wrap__footer * {
	line-height: 1.5;
	transform: var(--transition);
	& a:hover {
		opacity: var(--opacity);
	}
}

/* 節 */
.l_section{
}
.l_section__item:has(.m_side_nav){
	display: flex;
	gap: 11.7rem;
	align-items: stretch;
	position: relative;
	@media screen and (max-width: 896px){
		flex-direction: column;
		gap: 6.4rem;
	}
}
.l_section--primary{
	> .l_section__item{
		& + &{
			margin-top: clamp(60px, 8.72vw, 120px);
		}
    > .l_section__inner{
			max-width: var(--cont-width);
			padding: 0 24px;
			margin-inline: auto;
		}
	}
}
@media (max-width:896px) {
	.l_section--primary{
		padding-top: 64px;
	}
}


/*    module（共通性の高いパーツ）
=====================================================*/
/* アイコン */
.m_hasIco{
	position: relative;
	display: block;
	width: fit-content;
	&::before{
		content: "";
		position: absolute;
		left: 0;
		display: block;
	}
	> .m_hasIco__item{
		content: "";
		position: absolute;
		left: 0;
		display: block;
	}
}
.m_hasIco--dot{
	padding-left: 1em;
	&::before{
		content: "\30FB"; /* ・ */
	}
}
.m_hasIco--ast{
	padding-left: 1em;
	&::before{
		content: "\203B"; /* ※ */
	}
}
.m_hasIco--square{
	padding-left: 1em;
	&::before{
		content: "\25A0"; /* ■ */
	}
}
.m_hasIco--num {
	counter-increment: number;
	padding-left: 1em;
}
.m_hasIco--num2 {
	padding-left: 1.5em;
}
.m_hasIco--num::before {
	content: counter(number);
}
.m_hasIcon--border {
	&::before {
		position: absolute;
		content: "";
		top: 0;
		left: -0.4rem;
		height: 100%;
		width: auto;
		border-right: 0.4rem solid var(--color-head);
	}
}

/* ボタン */
.m_btn{
	display: flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	cursor: pointer;
	&:hover{
			transition: opacity var(--transition);
		@media (any-hover: hover){
		opacity: var(--opacity);
		}
	}
}
.m_btn--main{
	width: 235px;
	border-radius: 100px;
	aspect-ratio: 235 / 55;
	line-height: 1.5;
	color: var(--color-reverse);
	font-weight: 700;
	background: var(--color-main);
}
.m_btn--gCta{
	width: 138px;
	border-radius: 4px;
	aspect-ratio: 138 / 45;
	line-height: 1.5;
	color: var(--color-reverse);
	font-weight: 700;
	font-size: 14px;
	background: var(--color-main);
	.m_btn__inner{
		position: relative;
		display: block;
		padding-right: 18px;
		&::before{
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 0;
			display: block;
			width: 12px;
			height: 12px;
			margin: auto;
			background: url(../img/icon_anotherlink_wh.png) no-repeat center center / contain;
		}
	}
}
.m_btn--modal{
	width: 140px;
	border: 2px solid;
	border-radius: 100px;
	aspect-ratio: 140 / 40;
	color: var(--color-reverse);
	line-height: 1.5;
	font-size: 15px;
	background: var(--color-link);
}
.m_pagetop_btn  {
	margin: 32rem auto 8rem;
	display: block;
	width: 9.5rem;
	height: 9.5rem;
	border: 0.1rem solid var(--color-text);
	border-radius: 50%;
	transition: var(--transition);
	@media screen and (max-width: 896px){
		margin: 0;
		position: absolute;
		width: 6rem;
		height: 6rem;
		bottom: -8rem;
		right: 2rem;
	}
}
.m_pagetop_btn a{
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	line-height: 1.5;
	color: var(--color-text);
	transition: color var(--transition);
	&:hover {
		opacity: var(--opacity);
	}
}
.m_btn--back{
	width: 15.5rem;
	border: 0.2rem solid var(--color-link);
	border-radius: 4rem;
	aspect-ratio: 155 / 39;
	color: var(--color-reverse);
	line-height: 1.5;
	font-size: 1.5rem;
	background: var(--color-link);
}
.m_btn--detail {
	position: relative;
	padding: 0.7rem 3.6rem 0.7rem 1.6rem;
	width: fit-content;
	border: 0.1rem solid var(--color-sub);
	color: var(--color-reverse);
	background-color: var(--color-sub);
	line-height: 1.65;
	&::after {
		position: absolute;
		content: "";
		right: 1.6rem;
		mask-image: url(../img/ico_another_black.png);
		width: 12px;
		height: 12px;
		mask-repeat: no-repeat;
		background-color: var(--color-reverse);
	}
}
.m_btn--member {
	position: relative;
	padding: 0.45rem 4.75rem 0.4rem 2.85rem;
	width: fit-content;
	border: 0.1rem solid var(--color-sub);
	color: var(--color-reverse);
	background-color: var(--color-sub);
	line-height: 1.65;
	font-size: 1.8rem;
	&::after {
		position: absolute;
		content: "";
		right: 2.85rem;
		width: 0.6rem;
		height: 0.6rem;
		border-top: 0.1rem solid var(--color-reverse);
		border-right: 0.1rem solid var(--color-reverse);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
}

/* 画像単体 */
.m_onlyImg{
	line-height: 0;
	img{
		width: 100%;
		height: auto;
	}
}

/* 脚注 */
.m_footNote{
	line-height: 1.6;
	font-size: 12px;
}

/* 見出し */
.m_heading{}
.m_heading__ttl{
	font-weight: normal;
}
.m_heading__sub{}
.m_heading--primary{
	margin-bottom: clamp(36px, 5.23vw, 72px);
	.m_heading__sub{
			line-height: 1.5;
			font-weight: normal;
			font-family: var(--font-min-en);
			font-size: clamp(38px, 5.52vw, 76px);
			text-transform: uppercase;
			white-space: nowrap;
		& + .m_heading__ttl{
		margin-top: 0;
		}
	}
	.m_heading__ttl{
		display: flex;
		align-items: center;
		gap: .5em;
			font-weight: 700;
		color: var(--color-main);
			font-size: clamp(14px, 1.31vw, 18px);
		&::before{
		content: "";
		display: block;
		height: 2px;
		width: 24px;
		border-radius: 100px;
		background: var(--color-main);
		}
	}
}
.sec_policy {
	margin-top: 96px;
	padding-top: 60px;
	@media screen and (max-width:896px) {
		margin-top: 64px;
		padding-top: 40px;
	}
}
.sec_policy .m_heading__ttl {
	font-size: 32px;
	@media screen and (max-width:896px) {
		font-size: 24px;
	}
}
.m_heading--row {
	margin-bottom: 0;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	&.m_heading--primary{
		.m_heading__ttl{
			&::before{
				width: 2px;
				height: 24px;
			}
		}
	}
	@media screen and (max-width: 980px){
		writing-mode: initial;
		&.m_heading--primary{
			margin-bottom: clamp(36px, 5.23vw, 72px);
			.m_heading__ttl{
				&::before{
					width: 24px;
					height: 2px;
				}
			}
		}
	}
}
.m_heading--rev {
	&.m_heading--primary{
		.m_heading__sub{
			color: var(--color-reverse);
		}
		.m_heading__ttl{
			color: var(--color-reverse);
			&::before{
				background: var(--color-reverse);
			}
		}
	}
}
.m_heading--secodary .m_heading__ttl{
	font-size: 20px;
	font-weight: 700;
}


/*    module（グローバルパーツ）
=====================================================*/
/* グローバルエリア */
.m_gArea{}
.m_gArea__wrap{
	height: 100%;
	padding: 0 clamp(16px, 1.74vw ,24px);
	@media screen and (max-width: 896px){
		padding-right: 0;		
	}
}
.m_gArea__inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	height: 100%;
}
.m_gArea__header{
	display: flex;
	justify-content: space-between;
	@media screen and (max-width: 896px){
		width: 100%;
	}
}
.m_gArea__logo{}
.m_gArea__hambBtn{
	display: none;
	@media screen and (max-width: 896px){
		display: block;
	}
}
.m_gArea__body{
	display: flex;
	align-items: center;
	gap: 24px;
	@media screen and (max-width: 896px){
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		display: block;
		width: 100vw;
		height: 100vh;
		padding-top: 64px;
		background: #fff;
	}
}
.m_gArea__cta{
	@media screen and (max-width: 896px){
    width: fit-content;
		margin-inline: auto;
	}
}

/* グローバルナビリスト */
.js_acd {
	position: relative;
}
.m_gNavList{}
.m_gNavList__list{
	display: flex;
	align-items: flex-start;
	gap: clamp(16px, 1.74vw, 24px);
		@media screen and (max-width: 896px){
			display: block;
			padding: 40px 20px;
	}
}
.m_gNavList__item{
	&.js_acd {
		position: relative;
	}
	& .under_lst li {
		position: relative;
		padding-left: calc(2rem + 1rem);
	}
	& .under_lst li::before {
		position: absolute;
		content: "";
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 2rem;
		border-top: 0.1rem solid var(--color-gray);
	}
	& .under_lst a {
		color: var(--color-gray);
	}
	@media screen and (max-width: 896px){
		& + &{
			margin-top: 16px;
		}
	}
}

/* グローバルナビ */
.m_gNav{
	font-size: 14px;
	@media screen and (max-width: 896px){
		text-align: left;
		font-size: 16px;
	}
}
.m_gNav__target{
	color: inherit;
	width: fit-content;
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
	&.u_ic {
		position: relative;
		padding-right: 1.3rem;
		@media screen and (max-width: 896px){
			padding-right: 0;
		}
	}
	&.u_ic::after {
		position: absolute;
		transform: translateY(-50%);
		top: 25%;
		right: 0;
		content: "";
		width: 0.6rem;
		height: 0.6rem;
		border: 0;
		border-bottom: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		transform: rotate(45deg);
		@media screen and (max-width: 896px){
			display: none;
			position: relative;
			width: 0;
			height: 0;
			border-bottom: none;
			border-right: none;
		}
	}
}
.m_gNavList__item .acd_list {
	display: none;
	white-space: nowrap;
	background-color: var(--color-reverse);
	width: auto;
	min-width: 13rem;
	position: absolute;
	top: 3.3rem;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08));
	filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08));
	padding: 1.9rem;
	z-index: 1;
}
.m_gNavList__item .acd_list li + li {
	margin-top: 1rem;
}
.m_gNavList__item .acd_list li a {
	display: block;
	width: fit-content;
	height: 100%;
	background-color: var(--color-white);
	transition: var(--transition);
	color: var(--color-text);
}
.m_gNavList__item .acd_list li:first-child a {
	border-radius: calc(5 / 16 * 1.6rem) calc(5 / 16 * 1.6rem) 0 0;
}
.m_gNavList__item .acd_list li:last-child a{
	border-radius: 0 0 calc(5 / 16 * 1.6rem) calc(5 / 16 * 1.6rem);
}
.m_gLogo{
	@media screen and (max-width: 896px){
		display: flex;
		align-items: center;
	}
}
.m_gLogo__link{
	display: flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
	@media screen and (max-width: 980px){
		display: block;
	}
}
.m_gLogo__link_footer {
	display: flex;
	align-items: center;
	gap: 3.4rem;
	color: inherit;
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
	@media screen and (max-width: 980px){
		display: block;
	}
}
.m_gLogo__img{
	line-height: 0;
	text-align: left;
	img{
		max-width: 100%;
		height: auto;
	}
	& + .m_gLogo__company{
		@media screen and (max-width: 980px){
			margin-top: 5px;
		}
	}
}
.m_gLogo__company{
	text-align: center;
	line-height: 1.5;
	font-weight: 700;
	font-size: clamp(12px, 1.31vw, 18px);
	@media screen and (max-width: 980px){
		line-height: 1;
	}
	@media screen and (max-width: 896px){
		display: none;
	}
}
.m_gLogo__company_footer {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
}
.js_acd_trg {
	display: none;
}
@media screen and (min-width: 897px) {
	.js_acd:hover .js_acd_trg {
		display: block;
	}
}

/* ハンバーガー */
.m_hamb{}
.m_hamb__btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	aspect-ratio: 1;
	border: none;
	outline: none;
	background: var(--color-sub)
}
.m_hamb__inner{
	position: relative;
	display: block;
	width: 50%;
}
.m_hamb__bar{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 3px;
	margin: auto;
	border-radius: 100px;
	background: #fff;
	&:first-of-type{
		transform: translateY(-10px);
	}
	&:last-of-type{
		transform: translateY(10px);
	}
}

/* リンク */
.m_link {
	color: inherit;
	text-decoration: underline;
	transition: var(--transition);
	&:hover {
		opacity: var(--opacity);
		text-decoration: none;
	}
}
.m_link--another {
}
.m_link--another::after {
	content: url("../img/ico_another_black.png");
	margin-left: 10px;
}
.m_link--theme {
	color: #fff;
}

/* ページネーション */
.m_pager_lst {
	margin-top: 4.8rem;
	display: flex;
	flex-shrink: 0;
	gap: calc((10 / 16) * 1.6rem);
	justify-content: center;
}
.m_pager_item {
	width: calc((40 / 16) * 1.6rem);
	height: calc((40 / 16) * 1.6rem);
	font-weight: 700;
	transition: var(--transition);
	border-radius: 50%;
}
.m_pager_item > * {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.m_pager_item.item_current {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-reverse);
	background-color: var(--color-link);
	border: 1px solid var(--color-link);
	border-radius: 50%;
}
.m_pager_item a {
	color: var(--color-text);
	&:hover {
		color: var(--color-reverse);
	}
}
.m_pager_item.item_current a {
	pointer-events: none;
}
.arrow_prev {
	display: flex;
	align-items: center;
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	line-height: 1.5;
	border-top: 0.1rem solid var(--color-text);
	border-right: 0.1rem solid var(--color-text);
	transform: rotate(-140deg);
}
.arrow_next {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	line-height: 1.5;
	border-top: 0.1rem solid var(--color-text);
	border-right: 0.1rem solid var(--color-text);
	transform: rotate(45deg);
}
@media (any-hover: hover) {
	.m_pager_item:hover {
		color: var(--color-reverse);
		background-color: var(--color-link);
	}
	.m_pager_item:has(.arrow_prev):hover,
	.m_pager_item:has(.arrow_next):hover {
		background-color: var(--color-reverse);
	}
}

/* サイドナビ */
.m_side_nav {
	position: sticky;
	top: 2rem;
	align-self: flex-start;
	@media screen and (max-width: 896px){
		order: 2;
		width: 100%;
	}
}
.m_side_nav__ttl {
	font-size: 1.4rem;
	font-weight: 700;
	padding-bottom: 1.2rem;
	border-bottom: 0.1rem solid var(--color-text);
	width: 20.8rem;
	@media screen and (max-width: 896px){
		font-size: 1.5rem;
		width: 100%;
	}
}
.m_cat_lst {
	font-size: 1.6rem;
	margin-top: 1.6rem;
}
.m_cat_item + .m_cat_item {
	margin-top: 1.2rem;
}
.m_cat_item {
	color: var(--color-gray);
	transition: var(--transition);
}
.m_cat_item.cat_crnt a {
	color: var(--color-main);
	font-weight: 700;
}

/* フッタ */
.m_footer__top {
	position: relative;
	@media screen and (max-width: 896px){
		height: 24rem;
	}
}
.m_footer__body {
	display: flex;
	justify-content: space-between;
	@media screen and (max-width: 896px){
		flex-direction: column;
	}
}
.m_footer_left {
	@media screen and (max-width: 896px){
		width: 100%;
		order: 2;
		padding-top: 3.3rem;
		border-top: 0.1rem solid var(--color-footer-border);
	}
}
.footer_contact {
	margin-top: 9.5rem;
	@media screen and (max-width: 896px){
		margin-top: 2.1rem;
	}
}
.footer_privacy_policy {
	margin-top: 3.6rem;
	font-size: 1.3rem;
	@media screen and (max-width: 896px){
		margin-top: 2.4rem;
	}
}
.footer_privacy_policy a {
	color: var(--color-text);
	transition: var(--transition);
	text-decoration: underline;
	&:hover {
		opacity: var(--opacity);
		text-decoration: none;
	}
}
.footer_contact__txt {
	font-size: 1.2rem;
}
.footer_contact__txt + .footer_contact__txt {
	margin-top: 2rem;
}
.m_footer_right {
	padding-left: 2.1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 7.2rem;
	@media screen and (max-width: 896px){
		grid-template-columns: repeat(2, 1fr);
		order: 1;
		padding: 4rem 0 4.8rem;
		gap: 2rem;
	}
}
.footer_nav_item + .footer_nav_item {
	margin-top: 2.4rem;
}
.footer_nav_head a {
	color: var(--color-text);
}
.footer_nav_detailed li {
	padding: 0 1.6rem;
	margin-top: 1.7rem;
	color: var(--color-light-gray);
}
.footer_nav_detailed li a {
	position: relative;
	text-decoration: underline;
	&:hover {
		text-decoration: none;
	}
	&::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -1.1rem;
		width: 0.4rem;
		height: 0.4rem;
		border-top: 0.1rem solid var(--color-light-gray);
		border-right: 0.1rem solid var(--color-light-gray);
		rotate: 45deg;
	}
}
.m_gFooter{
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	margin-top: 6.5rem;
	background-color: var(--color-sub);
	@media screen and (max-width: 896px){
		margin-top: 3.3rem;
	}
}
.m_gFooterArea {
	display: block;
    width: 95%;
    padding: 0.6rem 0;
	margin: 0 auto;
}

/* コピーライト */
.m_copyright{
	color: var(--color-reverse);
	line-height: 1.5;
	font-size: 1.2rem;
	font-family: var(--font-min-en);
	text-align: center;
}

/* 全体ラッパー */
.m_wrap{
	position: relative;
}
/* インラインSVGバージョン
.m_wrap__item{
	position: absolute;
	top: calc((50vw + 50vw * 650 / 918 * sin(12deg)) * 650 / 918 + 13.9 / 100 * clamp(1px, 66.18vw, 912px));
	right: calc(-13.9 / 100 * clamp(1px, 66.18vw, 912px));
	z-index: -1;
	width: clamp(1px, 66.18vw, 912px);
	font-size: 13.9px;
	margin: auto;
	font-weight: normal;
	font-family: var(--font-min-en);
	letter-spacing: -1px;
	text-transform: uppercase;
	animation: 100s linear infinite rotation;
	@media screen and (max-width: 896px){
		top: calc(100vw * 650 / 918 + 13.9 / 100 * 66.18vw);
	}

}
.m_wrap__curcle{
	fill: none;
	overflow: visible;
	text{
		fill: var(--color-border);
	}
}*/

/* 画像バージョン */
.m_wrap__item{
	position: absolute;
	top: calc((50vw + 50vw * 650 / 918 * sin(12deg)) * 650 / 918);
	right: 0;
	z-index: -1;
	width: clamp(1px, 66.18vw, 912px);
	margin: auto;
	line-height: 0;
	transform: translateX(25%);
	img{
		width: 100%;
		height: auto;
		animation: 100s linear infinite rotation;
	}
	@media screen and (max-width: 896px){
		top: calc(100vw * 650 / 918);
	}
}

/* ヒーローズエリア */
.m_herosArea{
	display: flex;
	margin-bottom: clamp(60px, 8.72vw, 120px);
	@media screen and (max-width: 896px){
		display: block;
	}
}
.btm_wrap .m_herosArea {
	margin-bottom: 6rem;
	@media screen and (max-width: 896px) {
		margin-bottom: 4rem;
	}
}
.m_herosArea__keyvisual{
	position: relative;
	width: calc(50vw + 50vw * 650 / 918 * sin(12deg));
	&::before{
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		display: block;
		width: calc(50vw * 650 / 918 * sin(12deg));
		height: 100%;
		background: var(--color-reverse);
		clip-path: polygon(99% 0, 100% 0, 100% 100%, 0 100%);
		transform: translateX(1%);
	}
	@media screen and (max-width: 896px){
		width: 100%;
		&::before{
			top: auto;
			bottom: 0;
			left: 0;
			right: auto;
			width: 100%;
			height: auto;
			padding-top: calc(50vw * 650 / 918 * sin(12deg));
			clip-path: polygon(0 0, 100% 100%, 0 100%);
			transform: translateX(0);
		}
	}
}
.m_herosArea__body{
	flex: 1 1 auto;
	position: relative;
	@media screen and (max-width: 896px){
		position: static;
		width: 100%;
		text-align: left;
		margin-inline: auto;
		padding: clamp(60px, 8.72vw, 120px) 0;
	}
}
.m_herosArea__catchCopy{
	position: absolute;
	top: 16.6%;
	bottom: 0;
	left: 0;
	display: block;
	height: fit-content;
	margin: auto;
	@media screen and (max-width: 896px){
		position: static;
	}
}
.btm_wrap .m_herosArea {
	padding-top: 13rem;
	display: block;
	@media screen and (max-width: 896px){
		padding-top: 6.3rem;
	}
}
.btm_wrap .m_herosArea__inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	@media (max-width:896px) {
		grid-template-columns: 1fr;
	}
}
.btm_wrap .m_herosArea__body {
	grid-area: 1 / 1 / 3 / 2;
	@media screen and (max-width: 896px){
		padding: 6.4rem 0 1.6rem;
		grid-area: 1 / 1 / 2 / 2;
	}
}
.m_herosArea__heading {
	margin-top: 8.5rem;
	@media (max-width:896px) {
		margin-top: 0;
	}
}
.m_herosArea__ttl {
	font-size: 3.8rem;
	font-weight: 500;
	line-height: 2;
	@media (max-width:896px) {
		font-size: 2.6rem;
	}
}

/* キービジュアル */
.m_keyvisual{
	aspect-ratio: 918 / 650;
	line-height: 0;
	img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
.btm_wrap .m_keyvisual {
	width: 49.673rem;
	aspect-ratio: 496.73/307.00;
	grid-area: 1 / 2 / 2 / 3;
	margin-left: auto;
	@media (max-width:896px) {
		width: 100%;
		margin: 0 calc(50% - 50vw);
		grid-area: 3 / 1 / 4 / 2;
		margin-left: 0;
		& img {
			/* width: 100vw;
			margin: 0 calc(50% - 50vw); */
		}
	}
}

/* パンくずリスト */
.m_herosArea__breadcrumbs {
	@media screen and (max-width: 896px){
		margin-top: 4.8rem;
		margin-bottom: 0;
	}
}
.btm_wrap .m_herosArea__breadcrumbs {
	grid-area: 2 / 2 / 3 / 3;
	margin-top: 2rem;
	@media screen and (max-width: 896px){
		white-space: nowrap;
		overflow-x: scroll;
		grid-area: 2 / 1 / 3 / 2;
		margin-top: 0;
		margin-bottom: 1.2rem;
	}
}
.m_breadcrumbs {
	display: flex;
	overflow: auto;
	justify-content: flex-end;
	@media screen and (max-width: 896px){
		justify-content: flex-start;
	}
}
.m_breadcrumbs__item {
	position: relative;
	white-space: nowrap;
	font-size: 1.4rem;
	word-break: break-all;
	cursor: pointer;
	& + & {
		position: relative;
		margin-left: 0.8rem;
		padding-left: 1.348rem;
		&::before {
			content: "/";
			position: absolute;
			top: 0;
			bottom: 0;
			left: 0;
			display: block;
			margin: auto;
		}
	}
	@media screen and (max-width: 896px){
		font-size: 1.1rem;
	}
}
.fade-text {
	position: relative;
	max-width: 200px;
	white-space: nowrap;
	overflow: hidden;
	&::after {
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		width: 40px;
		height: 100%;
		pointer-events: none;
		background: linear-gradient(to right, rgba(255,255,255,0), white 90%);
	}
}
.m_breadcrumbs__link {
	color: var(--color-text);
	&:hover{
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
}

/* キャッチコピー */
.m_catchCopy{}
.m_catchCopy__sub{
	line-height: 1.75;
	font-size: 1.89vw;
	& + .m_catchCopy__ttl{
	  margin-top: 1.74vw;
	}
	@media screen and (max-width: 896px){
		position: static;
		font-size: clamp(16px, 3.8vw, 100px);
		& + .m_catchCopy__ttl{
			margin-top: clamp(16px, 3.5vw, 100px);
		}
	}
}
.m_catchCopy__ttl{
	line-height: 1.5;
	font-weight: 500;
	font-size: 2.90vw;
	@media screen and (max-width: 896px){
		font-size: clamp(32px, 5.8vw, 100px);
	}
}

/* バナーリスト */
.m_bnList{}
.m_bnList__item{
	& + &{
		margin-top: 16px;
	}
}
.m_bnList__link{
	display: block;
	width: fit-content;
	margin: 0 auto;
	line-height: 0;
	color: inherit;
  &:hover{
		transition: opacity var(--transition);
    @media (any-hover: hover){
      opacity: var(--opacity);
    }
  }
	img{
		max-width: 100%;
		height: auto;
	}
}


/*    TOPページ
=====================================================*/
/* ミッションのラッパー */
.m_missionWrap{}
.m_missionWrap__item{
	& + &{
		margin-top: clamp(50px, 7.27vw, 100px);
	}
}

/* ミッション */
.m_mission{
	display: flex;
	gap: clamp(45px, 6.54vw, 90px);
	@media screen and (max-width: 896px){
		display: block
	}
}
.m_mission__leadWrap{
	width: fit-content;
	@media screen and (max-width: 896px){
		& + .m_mission__body{
			margin-top: clamp(45px, 6.54vw, 90px);
		}
	}
}
.m_mission__lead{
	font-weight: 500;
	line-height: 1.9;
	font-size: clamp(22px, 2.47vw, 34px);
	white-space: nowrap;
	word-break: break-all;
}
.m_mission__body{
	flex: 1 1 auto;
}
.m_mission__msg{
	& + &{
		margin-top: clamp(16px, 1.74vw, 24px);
	}
}

/* 挨拶のリスト */
.m_greetingList{}
.m_greetingList__item{
	& + &{
		margin-top: clamp(16px, 2.33vw, 32px);
	}
}

/* あいさつ */
.m_greeting{
	padding: clamp(20px, 2.91vw, 40px);
	border-radius: 16px;
	border: 1px solid var(--color-border);
	background: var(--color-reverse);
	&::after{
		content: "";
		display: block;
		clear: both;
	}
}
.m_greeting__img{
	float: right;
	max-width: 33.333%;
	margin: 0 0 16px clamp(16px, 2.33vw, 32px);
	text-align: center;
	line-height: 0;
	img{
		max-width: 100%;
		height: auto;
	}
	@media screen and (max-width: 599px){
		float: none;
		max-width: none;
		margin: 0 0 16px 0;
	}
}
.m_greeting__cont{}
.m_greeting__heading{
	margin-bottom: clamp(16px, 1.74vw, 24px);
	overflow: hidden;
	@media screen and (max-width: 599px){
		width: fit-content;
		margin-inline: auto;
	}
}
.m_greeting__ttl{
	line-height: 1.5;
	font-weight: 500;
	font-size: clamp(16px, 1.74vw, 24px);
	& + .m_greeting__name{
		margin-top: 16px;
		@media screen and (max-width: 599px){
			margin-top: 10px;
		}
	}
}
.m_greeting__name{
	width: fit-content;
	margin-left: auto;
	line-height: 1.5;
	font-size: clamp(16px, 1.31vw, 18px);
	@media screen and (max-width: 599px){
		margin-left: 0;
	}
}
.m_greeting__msg{}
.m_greeting__msg--hide{
	display: none;
}
.m_greeting__footer{
	width: fit-content;
	margin: clamp(16px, 1.74vw, 24px) auto 0;
}

/* 事業内容 */
.m_business{}
.m_business__list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(28px, 4.07vw, 56px);
	@media screen and (max-width: 980px){
		grid-template-columns: repeat(1, 1fr);		
	}
	& a {
		color: var(--color-text);
		transition: var(--transition);
	}
	& a:hover {
		opacity: var(--opacity);
	}
}

/* 事業内容のカード */
.m_businessCard{
	@media screen and (max-width: 599px){
		max-width: 360px;
		margin: 0 auto;
	}
}
.m_businessCard__heading{
	margin-bottom: clamp(16px, 1.74vw, 24px);
}
.m_businessCard__ttl{
	font-weight: 500;
	line-height: 1.5;
	font-size: clamp(18px, 1.74vw, 24px);
	width: fit-content;
}
.m_businessCard__ttl.u_ic {
	position: relative;
	&::after {
		position: absolute;
		content: "";
		transform: translateY(-50%);
		top: calc(50% - 0.1rem);
		right: -1.1rem;
		bottom: 0;
		width: 0.6rem;
		height: 0.6rem;
		border-top: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		rotate: 45deg;
	}
}
.m_businessCard__inner{
	display: flex;
	gap: clamp(16px, 1.74vw, 24px);
	@media screen and (max-width: 599px){
    display: block;
		padding: clamp(20px, 2.91vw, 40px);
		border-radius: 16px;
		border: 1px solid var(--color-border);
		background: var(--color-reverse);
	}
}
.m_businessCard__img{
	order: 2;
	width: fit-content;
	margin-inline: auto;
	flex-shrink: 0;
	line-height: 0;
	@media screen and (max-width: 599px){
		& + .m_businessCard__body{
			margin-top: 16px;
		}
	}
}
.m_businessCard__body{
	flex: 1 1 auto;
}
.m_businessCard__msg{
	line-height: 1.75;
}
.m_businessCard__footer{
	margin-top: clamp(28px, 4.07vw, 56px);
}

/* メンバーのラッパー */
.m_memberWrap{
	display: flex;
	gap: clamp(48px, 6.98vw, 96px);
	@media screen and (max-width: 980px){
		display: block;
	}
}
.m_memberWrap__heading{
	width: fit-content;
}
.m_memberWrap__body{
	flex: 1 1 auto;
}
.m_memberWrap__item{
	& + &{
		margin-top: clamp(32px, 4.65vw, 64px);
	}
}

/* 役職ごとの表記 */
.m_hierarchy{}
.m_hierarchy__heading{
	margin-bottom: 16px;
}
.m_hierarchy__ttl{
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: .1em;
	font-size: clamp(14px, 1.45vw, 20px);
}
.m_hierarchy__body{}
.m_hierarchy__list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 1.74vw, 24px) clamp(16px, 2.33vw, 32px);
	@media screen and (max-width: 896px){
		grid-template-columns: repeat(2, 1fr);    		
	}
	@media screen and (max-width: 599px){
		grid-template-columns: repeat(1, 1fr);    		
	}
}
.m_memberWrap__btn {
	margin-top: 1.5rem;
	display: flex;
	justify-content: flex-end;
	@media screen and (max-width: 599px) {
		justify-content: center;
	}
}
.m_hierarchy__item{}

/* メンバー */
.m_member{}
.m_member__position{
	margin-bottom: 6px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--color-border);
	line-height: 1.5;
	white-space: nowrap;
}
.m_member__body{}
.m_member__name{
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: .1em;
	font-size: clamp(14px, 1.45vw, 20px);
}
.m_member__en{
	font-family: var(--font-min-en);
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: .05em;
	font-size: clamp(14px, 1.16vw, 16px);
}

/* 会社概要のラッパー */
.m_companyWrap{
	position: relative;
	padding-block: 96px;
	background: url(../img/footer_bk.jpg) no-repeat left center / cover;
	&::before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .75);
	}
}
.m_companyWrap__inner{
	position: relative;
	display: flex;
	gap: clamp(24px, 3.49vw, 48px);
	@media screen and (max-width: 896px){
		display: block;		
	}
}
.m_companyWrap__heading{
	width: fit-content;
}
.m_companyWrap__body{
	flex: 1 1 auto;
}
.m_companyWrap__cont{
	padding: clamp(16px, 2.33vw, 32px) clamp(20px, 2.91vw, 40px);
	background: var(--color-reverse);
}
.m_companyWrap__item{
	& + &{
		margin-top: 16px;
		padding-top: 16px;
		border-top: 1px solid #7B88A8;
		.m_companyWrap__itemTtl{
			position: relative;
			margin-top: -16px;
			padding-top: 16px;
			&::before{
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				display: block;
				width: 100%;
				height: 1px;
				background: var(--color-link);
				transform: translateY(-100%);
				@media screen and (max-width: 599px){
					content: none;
				}
			}
		}
	}
}

/* 会社概要 */
.m_company{
	display: flex;
	align-items: stretch;
	width: 100%;
	@media screen and (max-width: 599px){
		display: block;
	}
}
.m_company__ttl{
	position: relative;
	flex: 0 0 168px;
	display: flex;
	align-items: center;
	padding-inline: 8px;
	font-weight: 700;
	line-height: 1.5;
	@media screen and (max-width: 599px){
		margin-bottom: 10px;
	}
}
.m_company__body{
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	padding-inline: 8px;
}
.m_company__cont{
	width: 100%;
}
.m_company__msg{
	font-weight: 500;
	line-height: 1.5;
}

/* 概要内のメンバー紹介 */
.m_companyMember{
	display: flex;
}
.m_companyMember__position{
	flex: 0 0 6em;
}
.m_companyMember__position--hide{
	visibility: hidden;
}
.m_companyMember__name{
	flex: 1 1 auto;
}

/* 関係会社リスト */
.m_relCompanyList{}
.m_relCompanyList__item{}

/* 関係会社 */
.m_relCompany{}
.m_relCompany__link{
	position: relative;
	display: block;
	width: fit-content;
	padding-right: 12px;
	color: inherit;
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
	&::before{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		display: block;
		width: 9px;
		aspect-ratio: 1;
		margin: auto;
		background: url(../img/icon_anotherlink.png) no-repeat center center / contain;
	}
}

/* 採用情報のラッパー */
.m_recruitInfos{}
.m_recruitInfos__body{
	border: 1px solid #7B88A8;
	@media screen and (max-width: 896px){
		border: none;
	}
}
.m_recruitInfos__item{
	& + &{
		border-top: 1px solid #7B88A8;
	}
	@media screen and (max-width: 896px){
		& + &{
			margin-top: 16px;
			border-top: none;
		}
	}
}
.m_recruitInfos__footer{
	width: fit-content;
	margin: clamp(24px, 3.49vw, 48px) auto 0;
}

/* 採用情報 */
.m_recruitInfo{
	display: flex;
	align-items: stretch;
	@media screen and (max-width: 896px){
		display: block;
		border: 1px solid #7B88A8;
	}
}
.m_recruitInfo__ttl{
	flex: 0 0 8em;
	padding: 1em;
	color: var(--color-reverse);
	line-height: 1.5;
	font-weight: 700;
	background: var(--color-link);
	& + .m_recruitInfo__body{
		border-left: 1px solid #7B88A8;
	}
	@media screen and (max-width: 896px){
		& + .m_recruitInfo__body{
			border-left: none;
			border-top: 1px solid #7B88A8;
		}
	}
}
.m_recruitInfo__body{
	flex: 1 1 auto;
	padding: 1em;
	line-height: 1.5;
}
.m_recruitInfo__item{
	& + &{
		margin-top: .5em;
	}
}

/* 給与テーブル */
.m_salaryTable{}
.m_salaryTable__item{
	display: flex;
}
.m_salaryTable__ttl{
	flex: 0 0 7em;
	& + .m_salaryTable__body{
		&::before{
			content: "\FF1A"; /* ： */
		}
	}
}
.m_salaryTable__body{
	flex: 1 1 auto;
}

/* モーダル内 */
.m_modal{
	.m_greeting{
		padding: 0;
		border: none;
	}
	.m_greeting__footer{
		display: none;
	}
	.m_greeting__msg--hide{
		display: block;
	}
}


/*    調査・研究事業ページ関連（共通パーツ）
=====================================================*/
/* 記事リスト */
.m_article {
	margin-top: 1.6rem;
}
.m_article__txt a {
	color: var(--color-text);
	transition: var(--transition);
	text-decoration: underline;
	&:hover {
		opacity: var(--opacity);
		text-decoration: none;
	}
}
.m_info__item:first-child {
	border-top: 0.1rem solid var(--color-border);
}
.m_info__item {
	border-bottom: 0.1rem solid var(--color-border);
}
.m_info__item a:first-child {
	margin-top: 0;
}
.m_info__item a {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
    padding: 1.6rem 0;
	transition: var(--transition);
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
}
.m_info__item_info {
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	font-weight: 400;
	width: auto;
	padding: 0;
	color: var(--color-gray);
}
.m_info_item__label {
	margin-left: 0.8rem;
	line-height: 1.5;
	padding: 0 0.5rem;
	border: 0.05rem solid var(--color-gray);
}
.m_info__item_txt {
	color: var(--color-text);
	padding-right: 4.4rem;
}
.m_article__footer {
	margin: 4.8rem auto 0;
	width: fit-content;
	@media screen and (max-width: 896px){
		margin-top: 4rem;
	}
}

/* コラムリスト */
.m_column_cont {
	background-color: var(--color-bg-color);
	padding: 3.9rem 0;
}
.m_column__lst {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.9rem 4rem;
	place-content: center;
	@media screen and (max-width: 1050px){
		grid-template-columns: repeat(1, 1fr);
		gap: 3.2rem 0;
	}
}
.m_column_lst__inr {
	display: flex;
	background-color: var(--color-reverse);
	@media screen and (max-width: 896px){
		flex-direction: column;
	}
}
.m_column__item {
	border: 0.1rem solid var(--color-border-bg);
	border-radius: 0.2rem;
	@media screen and (max-width: 896px){
		max-height: none;
		border-left: none;
		border-right: none;
	}
}
.m_column__item a {
	&:hover{
		transition: opacity var(--transition);
		@media (any-hover: hover){
			opacity: var(--opacity);
		}
	}
}
.m_column_lst__img {
	line-height: 0;
}
.m_column_lst__img img {
	max-width: 15.5rem;
	border-radius: 0.2rem 0 0 0.2rem;
	@media screen and (max-width: 896px){
		max-width: 100%;
		width: 100%;
	}
}
.m_column_lst__info {
	padding: 0 1.3rem 0 2.9rem;
	color: var(--color-text);
	@media screen and (max-width: 896px){
		padding: 3.2rem 0;
	}
}
.m_column_lst__info .info_ttl {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	width: fit-content;
	margin-top: 1.75rem;
	@media screen and (max-width: 896px){
		margin-top: 0;
	}
	&.u_ic {
		position: relative;
	}
	&.u_ic::after {
		content: "";
		position: absolute;
		transform: translateY(-50%) translateX(-50%);
		top: 50%;
		right: -1.1rem;
		bottom: 0;
		width: 0.6rem;
		height: 0.6rem;
		border-top: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		rotate: 45deg;
	}
}
.m_column_lst__info .info_txt {
	font-weight: 500;
	line-height: 1.65;
	margin-top: 1rem;
	@media screen and (max-width: 896px){
		margin-top: 3.2rem;
	}
}


/*    調査・研究事業TOPページ
=====================================================*/
.sec_new_column {
	margin-bottom: 7.2rem;
}
.sec_new_column .heading_ttl {
	font-size: 2.4rem;
	line-height: 1;
	margin-top: 4.8rem;
	@media screen and (max-width: 896px){
		font-size: 1.5rem;
	}
}
.m_column__cont {
	padding: 3.9rem 0 4.3rem;
	background-color: var(--color-bg-color);
	@media screen and (max-width: 896px){
	}
}


/*    研究員コラムTOPページ
=====================================================*/
.sec_researcher_column {
	width: 100%;
}
.sec_researcher_column .heading_ttl {
	font-size: 2.4rem;
	line-height: 1;
	@media screen and (max-width: 896px){
		font-size: 2rem;
	}
}
.m_info__item a {
	position: relative;
	display: block;
	&::before {
		position: absolute;
		content: "";
		top: 50%;
		transform: translateY(-50%);
		right: 0.7rem;
		width: 1.5rem;
		height: 1.5rem;
		border: 0.1rem solid var(--color-text);
		border-radius: 50%;
	}
	&::after {
		position: absolute;
		content: "";
		top: calc(50% - 0.2rem);
		transform: translateY(-50%) translateX(-50%);
		right: calc(0.7rem + 0.65rem);
		width: 0.3rem;
		height: 0.3rem;
		border-top: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		transform: rotate(45deg);
	}
}
.sec_researcher_column .m_info__item a {
	display: flex;
	flex-direction: column;
}


/*    研究員コラム詳細ページ
=====================================================*/
.sec_article {
	width: 100%;
	@media screen and (max-width: 896px){
		order: 1;
	}
}
.sec_article .heading_cont {
	padding-bottom: 5.2rem;
	border-bottom: 0.1rem solid var(--color-border);
}
.sec_article .m_info_date {
	color: var(--color-light-gray);
	font-size: 1.2rem;
	font-weight: 400;
}
.sec_article .m_info_ttl {
	margin-top: 1.2rem;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 500;
	@media screen and (max-width: 896px){
		font-size: 2rem;
	}
}
.sec_article .m_info_author {
	margin-top: 1.6rem;
	text-align: right;
	font-weight: 500;
	font-size: 1.6rem;
	& a {
		position: relative;
		color: var(--color-text);
		transition: var(--transition);
		padding-right: 2.3rem;
	}
	& a:hover {
		opacity: var(--opacity);
	}
	& a::before {
		position: absolute;
		content: "";
		top: 50%;
		transform: translateY(-50%) translateX(-50%); 
		right: -0.7rem;
		width: 1.5rem;
		height: 1.5rem;
		border: 0.1rem solid var(--color-text);
		border-radius: 50%;
	}
	& a::after {
		position: absolute;
		content: "";
		top: calc(50% - 0.2rem);
		transform: translateY(-50%);
		right: 0.7rem;
		width: 0.3rem;
		height: 0.3rem;
		border-top: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		transform: rotate(45deg);
	}
}
.sec_article .m_article .m_article__txt + .m_article__txt {
	margin-top: 2.4rem;
}

/*------------------------------------
privacy_policy 
--------------------------------------*/
.m_policy_sec + .m_policy_sec {
	margin-top: 50px;
}
.m_policy_sec_inr + .m_policy_sec_inr {
	margin-top: 40px;
}
.m_policy_sec_inr p + p {
	margin-top: 20px;
}
.m_policy_sec_inr p + .m_policy_list_sec {
	margin-top: 20px;
}
.m_policy_list + p {
	margin-top: 20px;
}
.m_policy_link_text_sec + .m_policy_list {
	margin-top: 20px;
}
.m_policy_list + .m_policy_link_text_sec {
	margin-top: 20px;
}
.m_policy_list + .m_policy_list_sec {
	margin-top: 20px;
}
.m_policy_list_sec + .m_policy_author_sec {
	margin-top: 20px;
}

/* テキストボックス */
.m_policy_text_wrap {
	background: #fafafa;
	word-wrap: break-word;
	padding: 20px;
	}
.m_policy_sec_inr p + .m_policy_text_wrap {
	margin-top: 20px;
}
.m_policy_text_wrap + p {
	margin-top: 20px;
}
.m_policy_link_text_sec {
	font-size: 16px;
}
.m_policy_sec_inr p + .m_policy_link_text_sec {
	margin-top: 20px;
}
.m_policy_link_text_sec + p {
	margin-top: 20px;
}
.m_policy_list_sec + .m_policy_text_wrap {
	margin-top: 20px;
}
@media screen and (max-width: 896px) {
	.m_policy_link_text_sec {
		font-size: 14px;
	}
}

/* テキスト */
.sec_policy .m_heading__subttl {
	font-size: 24px;
}
.m_policy_sec .m_service__ttl {
	font-size: 20px;
}
.m_policy_sec_inr {
	word-wrap: break-word;
}
.m_policy_sec p {
	font-size: 16px;
}
.m_policy_sec a {
	font-size: 16px;
	color: #1e2f4f;
}
.m_policy_author_sec p {
	font-size: 14px;
	text-align: right;
	margin-bottom: 20px;
}
.m_policy_list__item {
	font-size: 16px;
}
.m_policy_text_indent {
	text-indent: -1em;
	padding-left: 1em;
}
.m_policy_link_text_sec.m_policy_text_indent {
	text-indent: -2.5em;
	padding-left: 2.5em;
}
@media screen and (max-width: 960px) {
	.m_policy_mv_text__en img {
		width: 35vw !important;
	}
}
@media screen and (max-width: 896px) {
	.sec_policy .m_heading__subttl {
		font-size: 20px;
	}
	.m_policy_sec .m_service__ttl {
		font-size: 18px;
	}
	.m_policy_sec p {
		font-size: 14px;
	}
	.m_policy_sec a {
		font-size: 14px;
	}
	.m_policy_list__item {
		font-size: 14px;
	}
	.m_policy_author_sec p {
		font-size: 12px;
	}
}

/* 番号リスト */
.m_policy_list .m_hasIco--num::before {
	content: "" counter(number) ".";
}

/* メンバー紹介 */
.sec_member__inr {
	display: flex;
	flex-direction: column;
	line-height: 1.5;
}
.m_cat_list__item + .m_cat_list__item {
	margin-top: 6.3rem;
	@media screen and (max-width: 896px) {
		margin-top: 3rem;
	}
}
.m_cat_ttl {
	position: relative;
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.2rem;
	padding-left: 1.2rem;
	&::before {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		height: 100%;
		border-right: 0.4rem solid var(--color-head);
		@media screen and (max-width: 896px){
		border-right: 0.2rem solid var(--color-head);
	}
	}
	@media screen and (max-width: 896px){
		font-size: 1.8rem;
	}
}
.m_member_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
	margin-top: 3.5rem;
	@media screen and (max-width: 1200px){
		grid-template-columns: repeat(2, 1fr);
	}
	@media screen and (max-width: 896px){
		grid-template-columns: repeat(1, 1fr);
		margin-top: 1.4rem;
		gap: 1.8rem;
	}
}
.m_member_list__link {
	color: var(--color-text);
	transition: var(--transition);
	&:hover {
		opacity: var(--opacity);
	}
}
.m_member_list__item {
	position: relative;
	border: 0.1rem solid var(--color-gray-border);
	&.u_ic::before {
		position: absolute;
		content: "";
		right: 1rem;
		bottom: 1rem;
		width: 1.8rem;
		height: 1.8rem;
		border: 0.1rem solid var(--color-text);
		border-radius: 50%;
		transition: var(--transition);
	}
	&.u_ic::after {
		position: absolute;
		content: "";
		right: calc(1.75rem + 0.15rem);
		bottom: calc(1.5rem + 0.3rem);
		width: 0.3rem;
		height: 0.3rem;
		border-top: 0.1rem solid var(--color-text);
		border-right: 0.1rem solid var(--color-text);
		transform: rotate(45deg);
		transition: var(--transition);
	}
}
.m_member_list__item.u_ic:hover::before,
.m_member_list__item.u_ic:hover::after {
	opacity: var(--opacity);
}
.sec_member .m_member_list__item_inr {
	padding: 2rem 3.51rem 2.7rem;
	@media screen and (max-width: 896px){
		padding: 1rem 2rem 1.4rem;
	}
}
.m_member_list__item_inr .item_post {
	position: relative;
	font-size: 1.6rem;
	padding-bottom: 0.6rem;
	&::after {
		position: absolute;
		content: "";
		width: 100%;
		left: 0;
		bottom: 0;
		border-bottom: 0.1rem solid var(--color-border-bg);
	}
	@media screen and (max-width: 896px){
		font-size: 1.5rem;
	}
}
.m_member_list__item_inr .item_name {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.2rem;
	margin-top: 0.6rem;
	@media screen and (max-width: 896px){
		font-size: 1.6rem;
	}
}
.m_member_list__item_inr .item_en {
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0.06rem;
}

/* メンバープロフィール */
.m_profile_img {
	display: flex;
	gap: 6.9rem;
	line-height: 1.5;
	@media screen and (max-width: 896px) {
		flex-direction: column;
		gap: 0.8rem;
	}
}
.m_profile_img__img {
	@media screen and (max-width: 896px) {
		text-align: left;
	}
}
.m_profile_img__img img {
	max-width: 18.4rem;
	height: auto;
}
.m_profile_img__txt {
	margin-top: 4.5rem;
	min-width: 27.6rem;
	@media screen and (max-width: 896px) {
		min-width: fit-content;
		margin-top: 0;
	}
}
.m_profile_img .item_post {
	position: relative;
	font-size: 2rem;
	padding-bottom: 0.6rem;
	&::after {
		position: absolute;
		content: "";
		width: 100%;
		left: 0;
		bottom: 0;
		border-bottom: 0.1rem solid var(--color-border-bg);
	}
	@media screen and (max-width: 896px) {
		font-size: 1.6rem;
	}
}
.m_profile_img .item_name {
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0.3rem;
	margin-top: 1.9rem;
	@media screen and (max-width: 896px) {
		font-size: 2rem;
		margin-top: 1rem;
	}
}
.m_profile_img .item_en {
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.7rem;
	@media screen and (max-width: 896px) {
		font-size: 1.3rem;
	}
}
.sec_profile .m_profile_img + .m_profile_txt {
	margin-top: 4.8rem;
	@media screen and (max-width: 896px) {
		margin-top: 3.6rem;
	}
}
.sec_profile .m_cat_list__item + .m_cat_list__item {
	margin-top: 4rem;
	@media screen and (max-width: 896px) {
		margin-top: 3rem;
	}
}
.sec_profile .m_cat_ttl + .m_cat_txt {
	margin-top: 2.4rem;
	@media screen and (max-width: 896px) {
		margin-top: 1.4rem;
	}
}
.sec_profile .m_cat_txt,
.sec_profile .m_cat_txt th,
.sec_profile .m_cat_txt td  {
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.48rem;
    overflow-wrap: break-word;
	@media screen and (max-width: 896px) {
		font-size: 1.4rem;
		line-height: 1.6;
		letter-spacing: 0.3rem;
	}
}
.sec_profile .m_cat_txt th {
	white-space: nowrap;
}
.sec_profile .m_cat_txt tr {
	@media screen and (max-width: 896px) {
		display: flex;
		flex-direction: column;
		& + & {
			margin-top: 1.6rem;
		}
	}
}
.sec_profile .m_cat_txt td {
	padding-left: 5.3rem;
	@media screen and (max-width: 896px) {
		padding-left: 0;
	}
}

/* 大学連携講座 */
.program_cont {
	display: flex;
	gap: 4rem;
	padding: 4.8rem 0;
	border-top: 0.1rem solid var(--color-border);
	&:first-of-type{
		margin-top: 4.8rem;
		@media screen and (max-width: 896px) {
			margin-top: 3.2rem;
		}
	}
	&:last-of-type {
		border-bottom: 0.1rem solid var(--color-border);
	}
	@media screen and (max-width: 896px) {
		flex-direction: column;
		gap: 2.4rem;
		padding: 2.4rem 0;
	}
}
.program_cont__txt {
	line-height: 1.65;
	@media screen and (max-width: 896px) {
		order: 2;
	}
}
.program_cont .program_cont__txt .txt_block + .txt_block {
	margin-top: 3.2rem;
	@media screen and (max-width: 896px) {
		margin-top: 1.6rem;
	}
}
.program_cont__banner {
	max-width: 56rem;
	height: fit-content;
	line-height: 0;
	transition: var(--transition);
	&:hover {
		opacity: var(--opacity);
	}
	& img {
		@media screen and (max-width: 896px) {
			max-width: 100%;
			width: 100%;
		}
	}
	@media screen and (max-width: 896px) {
		order: 1;
		max-width: 100%;
	}
}
.program_cont .program_ttl {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	@media screen and (max-width: 896px) {
		font-size: 2rem;
		line-height: 1.45;
	}
}
.program_cont .program_co-host {
	font-size: 1.6rem;
}
.program_cont__txt .m_cat_ttl {
	position: relative;
	padding-left: calc(0.4rem + 0.8rem);
	margin-bottom: 1rem;
	@media screen and (max-width: 896px) {
		padding-left: calc(0.2rem + 0.8rem);
		margin-bottom: 0.8rem;
	}
}

/* 会社概要 */
.sec_about .m_recruitInfo__ttl {
	display: flex;
	align-items: center;
}

/* -----
state
----- */
/* グローバルナビ */
.js_gnav{
	@media screen and (max-width: 896px){
		.js_gnav__body{
			transform: translateX(100%);
			transition: var(--transition) transform;				
		}
		.js_gnav__btn{
			.m_hamb__bar{
				transition: var(--transition) transform;
			}
		}
		&.is_show{
			.js_gnav__btn{
				.m_hamb__bar{
					transform: rotate(45deg);
					&:first-of-type{
						transform: rotate(45deg);
					}
					&:last-of-type{
						transform: rotate(-45deg);
					}
				}
			}
			.js_gnav__body{
				transform: translateX(0);
			}
		}
	}
}


/* アニメーション */
@keyframes rotation{
  0%{ transform: rotate(0);}
  100%{ transform: rotate(360deg); }
}

/* -----
utility
----- */
/* 要素の表示 */
.u_hide{
  display: none;
}

/* 間隙 */
.u_mxA{
  margin-inline: auto;
}
.u_pl1em{
  padding-left: 1em;
}
.text_indent {
	text-indent: -1em;
	padding-left: 1em;
}

