@charset "UTF-8";
/*
# =================================================================
# フォント（Google Fonts: header.php で読み込み）
# =================================================================*/

/*
# =================================================================
# 共通要素
# =================================================================*/
html {
	background: #EBEBEB;
	font-size: 62.5%;
	/* font-size: calc(100vw / 192); */
}
@media screen and (min-width: 1921px) {
	html {
		font-size: calc(100vw / 192);
	}  
}
html.act{
	overflow: hidden;
}
body {
	font-family: 'Noto Sans JP','sans-serif';
	font-size: 1.8rem;
	font-weight: 400;
	color: #333333;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
  margin: 0;
  padding: 0;
}
body * {
	box-sizing: border-box;
	margin:0;
	border: none;
	
  }
.sp {display:none!important;}
.pc {display:block!important;}

a {
	color: #333333;
	text-decoration: none;
	transition: 0.3s;
  }
img {
	display: block;
	max-width: 100%;
	height: auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.flex_cn {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flex_st {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
:root {
    --cont_width: 91.5%;
	--cont_maxwidth: 1310px;
	--cont_maxwidth1: 1200px;
	--cont_maxwidth2: 1100px;
	--cont_maxwidth3: 970px;
    --cont_maxwidth4: 838px;
	--cont_widemaxwidth: 68.3vw;
	--cont_widemaxwidth1: 62.5vw;
	--cont_widemaxwidth2: 57.3vw;
	--cont_widemaxwidth3: 50.5vw;
    --cont_widemaxwidth4: 43.6vw;
	--text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.36);
	--box_shadow: 0px 3px 6px rgba(0, 0, 0, 0.36);
	--box-shadow02: 10px 13px 56px rgba(0, 0, 0, 0.1);
	--box-shadow03 : 0px 3px 36px rgba(0, 0, 0, 0.1);
	--linear-gradient:rgb(123, 167, 192) linear-gradient(90deg, rgb(123, 167, 192) 0%, rgb(174, 211, 217) 100%);
	--linear-gradienthvr:rgb(99, 146, 180) linear-gradient(90deg, rgb(99, 146, 180) 0%, rgb(165, 203, 212) 100%);
	--linear-gradient02:rgb(96, 143, 178) linear-gradient(90deg, rgb(96, 143, 178) 0%, rgb(174, 211, 217) 100%);
	--linear-gradient03:rgb(97, 143, 179) linear-gradient(-45deg, rgb(96, 143, 178) 0%, rgb(174, 211, 217) 100%);
}



/* =Structure
-------------------------------------------------------------- */
/* The main theme structure */
#wrapper {
	position:relative; 
	/* overflow: hidden; */
	width: 100%;
	margin: 0 auto;
	padding: 0;
    overflow: clip;
}
/* 1310 */
.inner{
	width: var(--cont_width);
	max-width: var(--cont_maxwidth);
	margin: auto;
}
/* 1200 */
.inner1{
	width: var(--cont_width);
	max-width: var(--cont_maxwidth1);
	margin: auto;
}
/* 1100 */
.inner2{
	width: var(--cont_width);
	max-width: var(--cont_maxwidth2);
	margin: auto;
}
/* 980 */
.inner3{
	width: var(--cont_width);
	max-width: var(--cont_maxwidth3);
	margin: auto;
}

/* 838 */
.inner4{
	max-width: var(--cont_maxwidth4);
	margin: auto;
}

@media screen and (min-width: 1921px) {
	.inner{
		max-width: var(--cont_widemaxwidth);
	}
	.inner1{
		max-width: var(--cont_widemaxwidth1);
	}
	.inner2{
		max-width: var(--cont_widemaxwidth2);
	}
	.inner3{
		max-width: var(--cont_widemaxwidth3);
	}
	.inner4{
		max-width: var(--cont_widemaxwidth4);
	}
}
/* header nav
-------------------------------------------------------------- */
  
/* PCnav */
header{
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	width: 100%;
	font-family: 'Shippori Mincho B1','serif';
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.04em;
}
.hd_bg{
	/* height: 6.1vw; */
	height: 6.4vw;
    align-items: flex-end;
	/* align-items: center; */
}
.logo{
	width: 7.5vw;
	margin: 0 0 0.6vw 3vw;
}
.logo svg{
	width: 100%;
	height: 100%;
}
.navmenu{
	display: flex;
	margin: 0 0 0.8vw;
}
.navmenu li:not(:last-child){
	margin: 0 0.4em 0 0;
}
.navmenu a{
	display: block;
	padding: 0.5em 0.7em;
	color: #fff;
	transition: 0.1s;
}
/* .navmenu .hvr .gaibu a span{
	padding-right: 1em;
}
.navmenu .hvr .gaibu a span::before{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.7em;
    height: 0.7em;
    margin: auto;
    -webkit-mask-image: url(../img/recruit/ico_Gaibu.svg);
    content: '';
    background-color: #fff;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
header.top .navmenu .hvr .gaibu a span::before{
	background-color: #333;
} */
/* .navmenu a:hover{
	color: #275C95;
}
.navmenu .hvr a span::after{
	background-color: #275C95;
} */

.navmenu .cntct{
	width: 280px;
	height: 65px;
	margin: 0 0.4vw 0 3.4vw;
}
.navmenu .cntct a{
	font-size: 2rem;
    font-weight: 500;
	text-shadow: var(--text-shadow);
	letter-spacing: 0.11em;
}


header.top{
	position: fixed;
	background: rgba(255,255,255,0.5);
	transition: 0.3s;
	backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
header.top .hd_bg{
    height: 4.4vw;
	align-items: center;
}
header.top .logo{
	width: 6vw;
    margin: 0 0 0 3vw;
}
header.top .logo svg *{
	fill:#333;
}
header.top .navmenu{
	margin-bottom: 0;
}
header.top .navmenu ul a{
	color: #333;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
header.top .navmenu .hvr a span::after{
	background-color: #333;
}


.slide-nav-list{
	display: flex;
}
/* footer nav
-------------------------------------------------------------- */
.footerAreaWp{
	position: relative;
	background: #3D424E;
}
/* リクルートコンバージョンエリア */
.recruitbox {
	/* padding: 4.5vw 0 8vw; */
	padding: 8vw 0 8vw;
	background: url(../img/fotRecruitBg.png) no-repeat center top;
	background-size: cover;
	color: #fff;
}
.recruitbox .inner2{
    align-items: flex-start;
}
.recruitbox .contTtl01 {
    margin-bottom: 2vw;
}
.recruitbox .mainTtlCatch{
	margin-bottom: 2vw;
	font-size: clamp(10px , 45 / 1920 * 100vw, 45px);
	line-height: 2;
	letter-spacing: 0;
}
.recruitbox .mainimg{
	/* position: absolute;
    top: -16vw */
	margin-top: -20vw;
    margin-bottom: -8vw;
}
.recruitbox .mainimg img{
	width: 100%;
}
.recruitbox .txtbox{
	width: 50%;
	margin-top: 4.8vw;
}
@media screen and (min-width: 897px) {
	.recruitbox .imgbox{
		max-width: 408px;
	}
}
.recruitbox .imgbox{
	width: 37.2%;
}

.recruitbox .imgbox img{
	width: 100%;
}
/* フッター */
footer{
	position: relative;
	width: 100%;
	padding: 3.4vw 0 2.6vw;
	
	color: #fff;
}
footer a{
	color: #fff;
}


footer .fot01{
	padding-bottom: 2.6vw;
}
footer .fot01 .contTtl02{
	margin-bottom: 2.8vw;
}
footer .fot01 .box01{
	width: 48%;
	max-width: 630px;
}
@media screen and (min-width: 1921px) {
	footer .fot01 .box01{
		max-width:none;
	}
}
footer .fot01 .box01 .txt{
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
}

footer .fot01 .box02{
	flex-direction: column;
	width: 34.5%;
	max-width: 453px;
}
footer .fot01 .box02 .tel{
	margin-bottom: 1vw;
	font-size: 4rem;
	letter-spacing: 0.04em;
}
footer .fot01 .box02 .tel a{
	position: relative;
	padding: 0 0 0 1em;
}
footer .fot01 .box02 .tel a:before{
	position: absolute;
	bottom: 15%;
    left: 0;
    width: 0.7em;
    height: 0.7em;
	background:url(../img/icon_Tel.svg) no-repeat left center;
	background-size: 100%;
	content: '';
}

footer .fot01 .box02 .txt{
	margin-bottom: 1.2vw;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
}
footer .fot01 .box02 .cntct{
	width: 100%;
	max-width: 453px;
	height: 3.5em;
	max-height: 65px;
}
footer .fot01 .box02 .cntct a{
	font-size: 2rem;
	text-shadow: var(--text-shadow);
	letter-spacing: 0.04em;
}



@media screen and (min-width: 1921px) {
	footer .fot01 .box01{
		max-width:none;
	}
	footer .fot01 .box02 .cntct{
		max-width: none;
		max-height: none;
	}
}

footer .fot02{
	padding-top: 3vw;
	border-top:1px solid #C3C3C3;
	align-items: flex-start;
}
/* フッターロゴ */
footer .infoname{
	margin-bottom: 3vw;
}
footer .fotlogo{
	margin-bottom: 1vw;
}
footer .fotlogo a{
	justify-content: flex-start;
}
footer .fotlogo span{
	margin-left: 1em;
	em{
		font-style: normal;
		display: block;
	}
	.name01{
		font-size: 1.6rem;
		margin-bottom: 0.3vw;
	}
	.name02{
		font-size: 2.3rem;
		font-weight: 500;
		line-height: 1.1;
	}
}
footer .address{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}
/* 健康経営優良法人 */
footer .prfitem{
	margin-bottom: 3.2vw;
}
/* コピーライト */
footer .copy{
	font-size: 1.4rem;
	font-weight: 300;
	letter-spacing: 0.09em;
}

/* フッターメニュー */
footer .nav_wrap .menu01{
	margin-bottom: 2.8vw;
	font-size: 1.8rem;
	font-weight: 500;
	align-items: flex-start;
}
footer .nav_wrap .menu01 .submenu,
footer .nav_wrap .menu02{
	font-size: 1.6rem;
	font-weight: 400;
}
footer .nav_wrap .menu01 > ul{
	width: 16vw;
	max-width: 222px;
}
@media screen and (min-width: 1921px) {
	footer .nav_wrap .menu01 > ul{
		width: 14vw;
		max-width: none;
	}
}	
footer .nav_wrap .menu01 > ul:not(:last-child){
	margin-right: 5vw;
}
footer .nav_wrap .menu01 > ul > li{
	position: relative;
}
footer .nav_wrap .menu01 > ul > li:not(:last-child){
	margin-bottom: 1.6vw;
}

footer .nav_wrap .menu01 > ul > li > a{
	
	display: flex;
	padding: 0 0 0.6vw;
	border-bottom: 1px solid #fff;
	align-items: center;
	justify-content: space-between;
}
footer .nav_wrap .menu01 > ul > li > a i{
	position: relative;
	overflow: hidden;
	width: 1em;
	height: 1em;
}
footer .nav_wrap .menu01 > ul > li > a i:before{
	position: absolute;
	top:0;
	right: 0;
	bottom: 0;
	width: 3em;
	height: 1em;
	background:url(../img/icon_arwWHBL.svg) no-repeat left center;
	background-size: 100%;
	content: '';
	transition: 0.3s;
}
/* footer .nav_wrap .menu01 > ul > li.gaibu > a span{
	position: relative;
	padding-right: 1.35em;
}
footer .nav_wrap .menu01 > ul > li.gaibu > a span:before{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 0.8em;
    height: 1em;
    margin: auto;
    -webkit-mask-image: url(../img/recruit/ico_Gaibu.svg);
    content: '';
    background-color: #fff;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
} */

/* サブメニュー */
footer .nav_wrap .menu01 .submenu a{
	position: relative;
	display: flex;
	padding: 0.7vw 0 0;
	align-items: center;
}
footer .nav_wrap .menu01 .submenu a:before{
	width: 1em;
	height: 1px;
	background: #fff;
	content: '';
}
footer .nav_wrap .menu01 .submenu span{
	padding-left: 0.2em;
}

footer .nav_wrap .menu02{
	justify-content: flex-end;
}
footer .nav_wrap .menu02 li:not(:last-child){
	margin-right: 2.2vw;
}

footer .nav_wrap .menu01 .gaibu_note a {
	display: block;
	padding: 0.3vw;
	background-color: #fff;
	border: none;
	width: fit-content;
}
footer .nav_wrap .menu01 .gaibu_note a:hover {
	opacity: 0.7;
}
footer .nav_wrap .menu01 .gaibu_note img{
	width: 6vw;
}

@media screen and (min-width: 897px) {
	footer .nav_wrap .menu01 > ul > li > a:hover,
	footer .nav_wrap .menu01 .submenu a:hover,
	footer .nav_wrap .menu02 a:hover{
		color: #608FB2;
	}
	/* footer .nav_wrap .menu01 > ul > li.gaibu > a:hover span:before{
		background-color: #608FB2;
	} */
	footer .nav_wrap .menu01 .submenu a:hover::before{
		background: #608FB2;
	}
	footer .nav_wrap .menu01 > ul > li > a:hover i::before{
		right: -2em;
	}
	
}




/* コンテンツ共通
-------------------------------------------------------------- */
/* コンテンツ */
/* メイン見出し 画像なし */
.mainTtlarea{
	padding: 10vw 0 3.7vw;
	background: #3D424E;
	color: #fff;
}
.mainTtlarea .contTtl01.jp{
	margin-bottom: 3.1vw;
}
.mainTtlarea .inner3{
	position: relative;
}
.mainTtlarea .whlight{
    top: -80%;
	left: -34%;
    width: 33vw;
    height: 33vw;
}

/* メイン見出し 画像あり */
.mainTtlarea02{
	position: relative;
	padding: 19vw 0 0vw;
	background: #3D424E;
	color: #fff;
}
.mainTtlarea02 .inner1,
.mainTtlarea02 .inner3{
	position: relative;
	display: flex;
	align-items: flex-end;
}
.mainTtlarea02 .whlight{
    top: -80%;
	left: -34%;
    width: 33vw;
    height: 33vw;
}
.mainTtlarea02 .inner1 .mdsblk{
	width: 38%;
}
.mainTtlarea02 .mainTtl01{
	margin-bottom: 1.8vw;
}
.mainTtlarea02 .mainTtlCatch{
	margin-bottom: 5.8vw;
	font-size: 4rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.18em;
}
.mainTtlarea02 .mainTtlCatch.line3{
	margin-bottom: 2.3vw;
}
.mainTtlarea02 .mdsblk{
	width: 54%;
	padding: 4.2vw 0 2.2vw 0;
	background: #3D424E;
}
.kasou .mainTtlarea02 .bgimg{
	position: absolute;
	z-index: 0;
	top:9vw;
	right: 0;
	width: clamp(0px, 1500 / 1920 * 100vw, 1200px);
}
.kasou .mainTtlarea02 .bgimg img{
	width: 100%;
}
@media screen and (min-width: 1921px) {
	.kasou .mainTtlarea02 .bgimg{
		width: 62.5vw;
	}
}

/* .kasou .mainTtlarea02:before{
	position: absolute;
	top:9vw;
	right: 0;
	width: 62.5vw;
    height: 23.6vw;
	content: '';
}

.company .mainTtlarea02:before{
	background:url(../img/img-company/mainTtlImg.jpg) no-repeat left center;
	background-size: 100%;
}
.service .mainTtlarea02:before{
	background:url(../img/img-service/mainTtlImg.jpg) no-repeat left center;
	background-size: 100%;
} */

/* メイン見出し 画像なし サービス下層ver */
.mainTtlarea03{
	padding: 10vw 0 3.7vw;
	background: #3D424E;
	color: #fff;
}
.mainTtlarea03 .mainTtl01{
	margin-bottom: 2vw;
}
.mainTtlarea03 .mainTtl01 span:after{
	display: none;
}
.mainTtlarea03 .mainTtl01 span.jp{
	font-size: 1.8rem;
	margin: 0 0 0.2em 0.5em;
}
.mainTtlarea03 .mainTtlCatch{
	margin-bottom: 2.4vw;
	font-size: 4rem;
}
.mainTtlarea03 .inner3{
	position: relative;
}
.mainTtlarea03 .whlight{
    top: -80%;
	left: -34%;
    width: 33vw;
    height: 33vw;
}



/* フォント */
.jp{
	font-family: 'Shippori Mincho B1', serif;
	font-weight: 500;
}
.en{
	font-family: 'Cormorant', serif;
	font-weight: 600;
	font-style: italic;
}

@media screen and (min-width: 897px) {
	.telnoevent {
		pointer-events: none;
		cursor: default;
	}
}

/* 下層共通h1タイトル */
.mainTtl01.jp{
    display: flex;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.04em;
    align-items: center;
}
.mainTtl01 span{
	position: relative;
	display: flex;
	font-size: 2rem;
	letter-spacing: 0.09em;
	align-items: center;
}
.mainTtl01 span:after{
	width: 2em;
	height: 1px;
	margin: 0 0.5em;
	background: #fff;
	content: '';
}

.mainTtlCatch{
	font-size: 5.5rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.18em;
}



/* 共通h2タイトル */
.contTtl01.jp{
    font-size: 1.8rem;
	letter-spacing: 0.04em;
}
.contTtl01 span{
	margin-bottom: 0.2vw;
    font-size: 9.2rem;
	letter-spacing: 0.09em;
}
.contTtl01 span{
	display: block;
}


/* contTtl02 */
.contTtl02.jp{
    font-size: 1.8rem;
	letter-spacing: 0.04em;
}
.contTtl02 span{
	margin-bottom: 0.3vw;
    font-size: 6.5rem;
	letter-spacing: 0.09em;
}
.contTtl02 span{
	display: block;
}


/* 共通テキスト */

/* 背景 */
.bgwh{
	background: #fffF;
}
.bggr{
	background: #fafafa;
}
.bgbk{
	background: #000;
}
.bgbl{
	background: #F5F7F9;
}


/* パンくず
-------------------------------------------------------------- */
.breadlist {
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.04em;
  }
  
  .breadlist span {
	color: #ffffff;
  }
  
  .breadlist span a span {
	color: #ffffff40;
  }
  
  .breadlist span.kugiri {
	position: relative;
	display: inline-block;
	width: 3em;
	height: 0.8em;
  }
  
  .breadlist span.kugiri:before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5em;
	height: 1px;
	background: #ffffff40;
	content: '';
	transform: translate(-50%, 0%);
  }

/*
# =================================================================
# エフェクト要素
# =================================================================*/
/* ローディング画面 */
#loading{
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	display: flex;
	/* display: none; */
	width: 100vw;
	height: 100vh;
	background-color: #3D424E;
	justify-content: center;
	align-items: center;
}
#loading img{
	opacity: 0;
}

#loading2{
	position: fixed;
	z-index: 10000;
	top: 0;
	left: 0;
	display: flex;
	/* display: none; */
	width: 100vw;
	height: 100vh;
	background-color: #3D424E;
	justify-content: center;
	align-items: center;
}

/*------------------- ホバーアニメーション -------------------*/
/* ナビテキスト */
.hvr a span{
	position: relative;
	display: inline-block;
	transition: .3s;
}
.hvr a span::after {
	position: absolute;
	bottom: -0.5em;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	content: '';
	transition: .3s;
	transform: scaleX(0);
	transform-origin: left top;
}
@media screen and (min-width: 897px) {
	.hvr a:hover span::after {
		transform: scaleX(1);
	}
}

/* ボタン */
.hvrbtn {
	position: relative;
	z-index: 0;
	width: 220px;
	height: 50px;
	margin: auto;
	border-radius: 100px;
	background: var(--linear-gradient);
}
.hvrbtn:before, 
.hvrbtn:after{
	position:absolute;
	top: 0;
	left:0;
	width:100%;
	height:100%;
	border-radius: 100px;
	content:"";
}
.hvrbtn:before {
	z-index:-1;
	background: var(--linear-gradient);
	transition: opacity 0.3s;
}
.hvrbtn:after {
	z-index:-2;
	background: var(--linear-gradienthvr);
}
.hvrbtn a,
.hvrbtn p,
.hvrbtn input[type="submit"]{
	display: flex;
	width: 100%;
	height: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	justify-content: center;
	align-items: center;
}
@media screen and (min-width: 897px) {
	.hvrbtn:hover:before{
		opacity:0;
	}
}

/* hvrbtn02　矢印ありリンク */
.hvrbtn02 {
	width: 100%;
    max-width: 223px;
    height: 48px;
    border: 1px solid #fff;
}
.hvrbtn02 a {
    position: relative;
    display: flex;
    height: 100%;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
	letter-spacing: 0.09em;
    align-items: center;
    justify-content: center;
}
.hvrbtn02 a:before, 
.hvrbtn02 a:after{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    margin: auto;
    background: #fff;
    content: "";
	transition: 0.3s;
    transform: translate(1em, 0);
}
.hvrbtn02 a:before{
	width: 2em;
}
.hvrbtn02 a:after{
	width: 0.5em;
	transform: rotate(45deg) translate(0.7em, -0.7em);
    transform-origin: right;;
}

.hvrbtn02.bk {
	border-color: #333;
}
.hvrbtn02.bk a {
	color: #333;
}
.hvrbtn02.bk a:before, 
.hvrbtn02.bk a:after{
	background: #333;
}

@media screen and (min-width: 897px) {
	.hvrbtn02:hover a{
		background: #fff;
		color: #333333 !important;
	}
	.hvrbtn02:hover a:before{
		width: 3em;
		transform: translate(2em, 0);
	}
	.hvrbtn02:hover a:after{
		transform: rotate(45deg) translate(1.4em, -1.4em);
	}
	.hvrbtn02:hover{
		border: none;
	}
	.hvrbtn02.bk:hover a{
		background: #333333;
		background: var(--linear-gradient02);
		color: #fff !important;
	}
}


/* hvrbtn03　矢印なしリンク */
.hvrbtn03 {
	width: 100%;
    max-width: 223px;
    height: 48px;
    border: 1px solid #333;
}
.hvrbtn03 a {
    position: relative;
    display: flex;
    height: 100%;
    font-size: 1.5rem;
    font-weight: 500;
    color: #333;
    text-align: center;
    align-items: center;
    justify-content: center;
}
@media screen and (min-width: 897px) {
	.hvrbtn03:hover a{
		background: #333;
		color: #fff;
	}
	.hvrbtn03:hover{
		border: none;
	}
}



/*------------------- inview -------------------*/
/* フェードイン */
.fadeIn00no {
	opacity: 0;
	transition: opacity 2s, transform 2s;
}	
.fadeIn00no.is-show {
	opacity: 1;
}
@media screen and (max-width: 896px) {
	.fadeIn00no {
		transition: opacity 1s, transform 1s;
	}	
}

/* フェードインアップ */
.fadeIn00 {
	opacity: 0;
	transition: opacity 2s, transform 2s;
	transform: translate3d(0, 10%, 0);
}	
.fadeIn00.is-show {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 896px) {
	.fadeIn00 {
		transition: opacity 1s, transform 1s;
	}	
}


.fadeIn01 {
	opacity: 0;
	transition: opacity 1s, transform 1s;
	transform: translate3d(0, 10%, 0);
}
.fadeIn01.is-show {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 896px) {
	.fadeIn01 {
		transition: opacity 0.5s, transform 0.5s;
	}
}
.fadeIn01.is-show {
	opacity: 1;
}
.fadeIn01.is-show:nth-of-type(1) {
	transition-delay: 0s;
}
.fadeIn01.is-show:nth-of-type(2) {
	transition-delay: 0.1s;
}
.fadeIn01.is-show:nth-of-type(3) {
	transition-delay: 0.2s;
}
.fadeIn01.is-show:nth-of-type(4) {
	transition-delay: 0.3s;
}
.fadeIn01.is-show:nth-of-type(5) {
	transition-delay: 0.4s;
}
.fadeIn01.is-show:nth-of-type(6) {
	transition-delay: 0.5s;
}
.fadeIn01.is-show:nth-of-type(7) {
	transition-delay: 0.6s;
}
.fadeIn01.is-show:nth-of-type(8) {
	transition-delay: 0.7s;
}
.fadeIn01.is-show:nth-of-type(9) {
	transition-delay: 0.8s;
}
.fadeIn01.is-show:nth-of-type(10) {
	transition-delay: 0.9s;
}
.fadeIn01.is-show:nth-of-type(11) {
	transition-delay: 1s;
}
.fadeIn01.is-show:nth-of-type(12) {
	transition-delay: 1.1s;
}
.fadeIn01.is-show:nth-of-type(13) {
	transition-delay: 1.2s;
}
.fadeIn01.is-show:nth-of-type(14) {
	transition-delay: 1.3s;
}
.fadeIn01.is-show:nth-of-type(15) {
	transition-delay: 1.4s;
}
.fadeIn01.is-show:nth-of-type(16) {
	transition-delay: 1.5s;
}
.fadeIn01.is-show:nth-of-type(17) {
	transition-delay: 1.6s;
}
.fadeIn01.is-show:nth-of-type(18) {
	transition-delay: 1.7s;
}
.fadeIn01.is-show:nth-of-type(19) {
	transition-delay: 1.8s;
}
.fadeIn01.is-show:nth-of-type(20) {
	transition-delay: 1.9s;
}

/*
# =================================================================
# トップページ
# =================================================================*/
/* mainビジュアル（sticky固定 + 下からグラデーション上昇） */
#top .fvStickyWrap{
	display: grid;
	grid-template-columns: 100%;
}
#top .fvStickyWrap > .mainVisual,
#top .fvStickyWrap > .fvOverlay{
	grid-column: 1;
	grid-row: 1;
}
#top main{
	overflow: visible;
	width: 100%;
}
#top .mainVisual {
	position: sticky;
	top: 0;
	align-self: start;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	height: 100vh;
	height: 100dvh;
	margin: 0 auto;
	padding: 0;
	background: url(../img/img-top/top_main_mv01.jpg) no-repeat center bottom;
	background-size: cover;
	pointer-events: none;
}
#top .fvOverlay{
	position: relative;
}
#top .fvHeroCatch{
	position: relative;
	height: 100vh;
	height: 100dvh;
	min-height: 100vh;
	min-height: 100dvh;
}
/* FV下端〜PHILOSOPHY上端のつなぎ（サブピクセル隙間を潰す） */
#top .fvOverlay > .bg01{
	margin-top: -2px;
	padding-top: 2px;
	position: relative;
}
/* キャッチテキスト */
#top .fvHeroCatch .catch,
#top .mainVisual .catch{
	position: absolute;
	z-index: 3;
	bottom: 6.25vw;
	left: calc(50% - 39vw);
	margin: auto;
	font-size: 12rem;
	line-height: 1.4;
	color: #fff;
	/* letter-spacing: 0.18em; */
}
#top .fvHeroCatch .catch .sub,
#top .mainVisual .catch .sub{
	display: block;
	margin: 3.6vw 0 0;
	font-size: 4.7rem;
	letter-spacing: 0.09em;
}





/* FVテキストアニメーション */
.catch .textAnimeFadein{
	height: 3em;
}

.textAnimeFadein span,
.textAnimeFadein em {
    opacity: 0;
}
.textAnimeFadein > span,
.textAnimeFadein > em {
	display: block;
	overflow: hidden;
}
.textAnimeFadein .appeartext{
    display: inline-block;
    -webkit-animation:text_anime_on02 0.5s ease-out forwards;
            animation:text_anime_on02 0.5s ease-out forwards;
}
/* .textAnimeFadein .sub .appeartext:nth-of-type(8),
.textAnimeFadein .sub .appeartext:nth-of-type(18){
	display: inline;
} */


@-webkit-keyframes text_anime_on02 {
	0% {
        opacity:0;
        transform: translate(0,1em);
   }
	100% {
        opacity:1;
        transform: translate(0,0);
    }
}
@keyframes text_anime_on02 {
	0% {
        opacity:0;
        transform: translate(0,1em);
   }
	100% {
        opacity:1;
        transform: translate(0,0);
    }
}


/* .eachTextAnime .ttl,
.eachTextAnime span{
    opacity: 0;
    font-style: normal;
}
.eachTextAnime .ttl{
    display: block;
    font-style: normal;
	overflow: hidden;
}
.eachTextAnime.appeartext .ttl{
    opacity: 1;
}

.eachTextAnime.appeartext span{
    display: inline-block;
    -webkit-animation:text_anime_on02 1s ease-out forwards;
            animation:text_anime_on02 1s ease-out forwards;
}
.eachTextAnime.appeartext .ttl3 span{
    display: inline-block;
    -webkit-animation:text_anime_on02 0.5s ease-out forwards;
            animation:text_anime_on02 0.5s ease-out forwards;
} */

/* @-webkit-keyframes text_anime_on02 {
	0% {
        opacity:0;
        transform: translate(0,1em);
        transform: scale(0.5);
        -webkit-transform: scale(0.5);
        transform-origin: 0 0; 
        -webkit-transform-origin: 0 0; 
   }
	100% {
        opacity:1;
        transform: translate(0,0);
        transform: scale(1);
        -webkit-transform: scale(1);
    }
}
@keyframes text_anime_on02 {
	0% {
        opacity:0;
        transform: translate(0,1em);
        transform: scale(0.5);
        -webkit-transform: scale(0.5);
        transform-origin: 0 0; 
        -webkit-transform-origin: 0 0; 
   }
	100% {
        opacity:1;
        transform: translate(0,0);
        transform: scale(1);
        -webkit-transform: scale(1);
    }
} */








/* 背景光 */
.whlight{
	position: absolute;
	top:0;
	width: 42.6vw;
	height: 42.6vw;
	border-radius: 100%;
	background: rgb(226,226,226);
	background: radial-gradient(circle, rgba(226,226,226,0.45702030812324934) 0%, rgba(255,255,255,0) 66%, rgba(255,255,255,0) 100%);
	content: '';
	-webkit-animation: whlight 0.3s forwards;
	        animation: whlight 0.3s forwards;
}
@-webkit-keyframes whlight {
	0%{
		transform: scale(0);
	}
	100%{
		opacity: 0.3;
		transform: scale(1);
	}
	
}
@keyframes whlight {
	0%{
		transform: scale(0);
	}
	100%{
		opacity: 0.3;
		transform: scale(1);
	}
	
}

#top #contents{
	background: transparent;
	overflow: visible;
}
/* スクロールで背景色変化（Figma: Bright Gray / MEMBER / Gallery） */
#top .bgScrlArea {
	overflow: visible;
	transition: background-color 1.2s ease;
}
/* TOP全体の背景色をふわっと切り替え */
#top{
	background-color: #0C0D10;
	transition: background-color 1.2s ease;
}
/* FV・PHILOSOPHY：グラデ終端のほぼ黒 */
#top.topBg00,
#top.topBg01{
	background-color: #0C0D10;
}
/* SERVICE / CASE：ncap.co.jp/Bright Gray */
#top.topBg02{
	background-color: #3D424E;
}
/* MEMBER：Figma #62666E */
#top.topBg03{
	background-color: #62666E;
}
/* COMPANY：Bright Gray */
#top.topBg04{
	background-color: #3D424E;
}
/* TOPICS：ncap.co.jp/Gallery */
#top.topBg05{
	background-color: #EBEBEB;
}
#top .mainVisual{
	transition: opacity 1.2s ease;
}
#top.topBg02 .mainVisual,
#top.topBg03 .mainVisual,
#top.topBg04 .mainVisual,
#top.topBg05 .mainVisual{
	opacity: 0;
}
/* TOP共通コンテンツ */
/* #top .bg01{
	background: #3D424E;
	color: #fff;
} */
#top .bg01,
#top .bg01 a{
	color: #fff;
}
#top .cntCmn,
#top .cntCmn .txtbox,
#top .cntCmn .imgbox{
	position: relative;
	z-index: 1;
}
#top .cntCmn .mainTtl01,
#top .cntCmn .mainTtlCatch{
	margin-bottom: 2.5vw;
}
#top .cntCmn .txt01{
	margin-bottom: 2.5vw;
	font-size: 1.8rem;
	line-height: 1.8;
}

/* cntBlk01 */
#top .cntBlk01{
	padding: 16.6vw 0 20vw;
	position: relative;
	z-index: 1;
	overflow: visible;
}
#top .cntBlk01::before{
	position: absolute;
	z-index: 1;
	/* FV側へ伸ばし、セクション上端の境界線を出さない */
	top: -40vh;
	left: 0;
	width: 100%;
	/* 下端も bgScrlArea 側へ伸ばし、透明フェードで境目をぼかす */
	height: calc(100% + 40vh + 20vw);
	background: linear-gradient(
		180deg,
		rgba(12, 13, 16, 0) 0%,
		rgba(12, 13, 16, 0) 18%,
		rgba(12, 13, 16, 0.72) 42%,
		#0C0D10 55%,
		#0C0D10 78%,
		rgba(12, 13, 16, 0) 100%
	);
	content: '';
	opacity: 1;
	pointer-events: none;
	transition: opacity 1.2s ease;
}
/* SERVICE以降は夜景オーバーレイをフェードアウトし、単色背景へなじませる */
#top.topBg02 .cntBlk01::before,
#top.topBg03 .cntBlk01::before,
#top.topBg04 .cntBlk01::before,
#top.topBg05 .cntBlk01::before{
	opacity: 0;
}
#top .fvStickyWrap,
#top .fvOverlay,
#top .fvOverlay > .bg01{
	overflow: visible;
}

#top .cntBlk01 .topmarquee{
	display: flex;
	gap: 1em 0;
	font-size: 12.8rem;
	opacity: 0.1;
	z-index: 1;
}
#top .cntBlk01 .topmarquee span{
	font-family: "Outfit", sans-serif;
	font-weight: 200;
	line-height: 1;
	letter-spacing: 0.1em;
}
/* 水平方向にループで流れる文字（トップページ・マルキー用） */
.topmarquee {
	left: 0;
	top: 50%;
    position: absolute;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    height: 1.4em; /* 行高さ調整。必要に応じて変更 */
}

.topmarquee span {
    display: inline-block;
    /* padding-right: 3em; */
    animation: marquee-scroll 40s linear infinite;
    will-change: transform;
    white-space: nowrap;
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}




/* #top .cntBlk01 .imgbox{
	width: 40vw;
	margin: 2vw -8.5vw 0 0;
}
#top .cntBlk01 .imgbox img{
	width: 100%;
	box-shadow: var(--box-shadow02);
} */
#top .cntBlk01 .txt01{
	line-height: 2.2;
}
#top .cntBlk01 .txtbox .mainTtlCatch > div > span{
    display: block;
    overflow: hidden;
}
#top .cntBlk01 .txtbox .mainTtlCatch .textAnimeFadein{
	height: 1.5em;
}
#top .cntBlk01 .txtbox--philosophy{
	display: flex;
	flex-direction: column;
	align-items: center;
}



#top .cntBlk01 .txtbox--philosophy .txt01{
	text-align: center;
	font-size: 2.2rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2em 0;
}
/* #top .cntBlk01:after{
	position: absolute;
	z-index: 0;
	top:0;
	right: 0;
	width: 39.7vw;
	height: 40vw;
	background: linear-gradient(45deg, rgb(49, 49, 49) 0%, rgb(224, 224, 224) 100%);
	content: '';
	opacity: 0.4;
} */
#top .cntBlk01 .whlight{
	left: -17%;
}

/* cntBlk02 */
#top .cntBlk02{
	padding: 5.5vw 0 6vw;
}
#top .cntBlk02 .txtbox{
	width: 35.8%;
}
#top .cntBlk02 .txtbox .mainTtlCatch .textAnimeFadein{
	height: 4.2em;
}
#top .cntBlk02 .imgbox{
	width: 54.89%;
	max-width: 719px;
	margin: 1vw 0 0 0;
}
#top .cntBlk02 .imgbox img{
	width: 100%;
}
#top .cntBlk02 .inner.flex{
	flex-direction: row-reverse;
}
#top .cntBlk02 .txt01{
	margin-bottom: 4.5vw;
}
#top .cntBlk02 .whlight{
	top: -41%;
	right: -19%;
	width: 61.3vw;
	height: 61.3vw;
}

/* cntBlk03 */
#top .cntBlk03{
	min-height: 100vh;
	padding: 5.5vw 0 5.5vw;
}
#top .cntBlk03 .txtbox{
	width: 74%;
	margin: 0 0 3vw;
	align-items: center;
}
#top .cntBlk03 .txtbox .txt01{
	margin: 0;
}
#top .cntBlk03 .box {
	margin: 0 0 3.9vw;
}
#top .cntBlk03 .box .swiper-wrapper{
	justify-content: space-between;
}
#top .cntBlk03 .box li{
	--webkit-backdrop-filter: blur(30px);
	width: calc((100% / 4) - 1.3vw);
	background: transparent;
	background-color: rgba(255, 255, 255, 0.39);
	-webkit-backdrop-filter: blur(30px);
	        backdrop-filter: blur(30px);
}
#top .cntBlk03 .box li a{
	display: block;
	padding: 2vw 1.5vw 1.3vw;
	color: #333;
}
#top .cntBlk03 .box .ttl{
	display: -webkit-box;
  	overflow: hidden;
	height: 3em;
	margin: 0 0 1vw;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
  	-webkit-box-orient: vertical;
  	-webkit-line-clamp: 2;
}
#top .cntBlk03 .box .cat01{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5vw;
	margin: 0 0 1.4vw;
}
#top .cntBlk03 .box .cat01 .ctgr{
	padding: 0.1vw 0.5vw;
	border-radius: 100px;
	background: #f3f4f5;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.07em;
}
#top .cntBlk03 .box .cat02{
	overflow: hidden;
	margin: 0 0 1.5vw;
	padding: 0.7vw 0;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.7;
	white-space: nowrap;
	letter-spacing: 0.07em;
	text-overflow: ellipsis;
}
#top .cntBlk03 .box .cat02 span{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
}
#top .cntBlk03 .box .hvrbtn{
	width: 240px;
    height: 36px;
	border-radius: 0;
}
#top .cntBlk03 .hvrbtn:before,
#top .cntBlk03 .hvrbtn:after{
	border-radius: 0;
}
#top .cntBlk03 .box .hvrbtn p{
	font-weight: 500;
}
#top .cntBlk03 .hvrbtn02{
	margin: auto;
}
#top .cntBlk03 .whlight{
	top: -11%;
    left: 10%;
	width: 48.1vw;
	height: 48.1vw;
}

/* cntBlk04 */
#top .cntBlk04{
	padding: 0 0 10vw;
	/* min-height: 100vh; */
	color: #fff;
}
#top .cntBlk04 .contTtl01 {
	margin-bottom: 3.5vw;
	text-align: center;
}
@media screen and (min-width: 897px) {
	#top .cntBlk04 .memberList .swiper-wrapper{
		display: flex;
		flex-wrap: wrap;
		gap: 0 1.3vw;
	}
	#top .cntBlk04 .memberList .memberList__item {
		width: calc((100% - 1.3vw * 3) / 4);
	}
}

#top .cntBlk04 .memberList .memberList__item figure{
	width: 100%;
	aspect-ratio: 309 / 378;
}
#top .cntBlk04 .memberList .memberList__item figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#top .cntBlk04 .memberList .memberList__item .txtbox {
	text-align: center;
	margin-top: 0.98vw;
	letter-spacing: 0.072em;
	font-weight: 500;
	line-height: 1.4;
}
#top .cntBlk04 .memberList .memberList__item .txtbox .name {
	font-size: 3.2rem;
}
#top .cntBlk04 .memberList .memberList__item .txtbox .position {
	font-size: 2rem;
	margin-top: 0.58vw;
}
#top .cntBlk04 .memberList .memberList__item .txtbox .position .rolekata{
	font-size: 1.8rem;
	display: block;
	/* font-size: 2rem; */
}
#top .cntBlk04 .btn{
	margin: 3.5vw auto 0;
}

@media screen and (min-width: 1921px) {
	#top .cntBlk04 .imgbox{
		justify-content: space-evenly;
	}
	#top .cntBlk04 .p-top-mv__rail img{
		width: 100%;
	}
}

/* cntBlk05 */
#top .cntBlk05{
	/* padding: 0vw 0 21vw; */
	padding: 10vw 0 10vw;
}
#top .cntBlk05 .imgbox{
	width: 73%;
}
#top .cntBlk05 .txtbox{
	width: 18.8%;
}
#top .cntBlk05 .contTtl02 {
	margin-bottom: 2vw;
}


/* タブボタン */
#top .cntBlk05 .tab_menu{
	margin-bottom: 4.5vw;
}
#top .cntBlk05 .tab_menu .hvrbtn{
	overflow: hidden;
	width: 205px;
	height: 36px;
	margin: 0;
	border:1px solid #C3C3C3;
	background: none;
}
#top .cntBlk05 .tab_menu .hvrbtn:not(:last-child){
	margin-bottom: 15px;
}
#top .cntBlk05 .tab_menu .hvrbtn p{
	font-weight: 400;
	color: #C3C3C3;
	letter-spacing: 0.04em;
}
#top .cntBlk05 .tab_menu .hvrbtn:before {
	background: #EBEBEB;
}
#top .cntBlk05 .tab_menu .hvrbtn.act:before{
	opacity:0;
}
#top .cntBlk05 .tab_menu .hvrbtn.act p{
	color: #fff;
}
@media screen and (min-width: 897px) {
	#top .cntBlk05 .tab_menu .hvrbtn:hover p{
		color: #fff;
		cursor: pointer;
	}
}

/* 切り替えコンテンツ */
#top .cntBlk05 .tab_area li{
    border-bottom: 1px solid #C3C3C3;
}
#top .cntBlk05 .tab_area li a{
    display: block;
	padding: 1em 0;
}
#top .cntBlk05 .tab_area li .dt{
    display: flex;
    margin-bottom: 0.8em;
    font-size: 1.6rem;
    line-height: 1.6;
    flex-wrap: wrap;
    align-items: center;
}
#top .cntBlk05 .tab_area li .dt .date{
	margin: 0 1em 0 0;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .05em;
}
#top .cntBlk05 .tab_area li .dt .ctgr{
	/* font-weight: 500;
	color: #608FB2; */
	padding: 0.2vw 0.5vw;
    background: #3D424E;
    font-size: 1.5rem;
    font-weight: 500;
    color: #fff;
}
#top .cntBlk05 .tab_area li .dt .ctgr:not(:nth-child(2)){
	margin-left: 0.5vw;
}
#top .cntBlk05 .tab_area li .dd{
    display: -webkit-box;
    overflow: hidden;
    font-size: 1.8rem;
	font-weight: 400;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
@media screen and (min-width: 897px) {
	#top .cntBlk05 .tab_area li a:hover .dd{
		color: #608FB2;
	}
}


/* タブ切り替え */
.tab_content {
	position: relative;
}
  
.tab_content .tab_area.show {
	z-index: 2;
	transition: all 0.3s;
}
  
.tab_content .tab_area:not(.show) {
	position: absolute;
	z-index: -1;
	display: none;
	height: 0;
	opacity: 0;
}


/* cntBlk06 */
#top .cntBlk06{
	padding: 20vw 0 30vw;
	color: #fff;
	position: relative;
}
#top .cntBlk06::before{
	position: absolute;
	z-index: 0;
	top: 15vw;
	right: 0;
	margin: auto;
	width: 40%;
	height: auto;
	aspect-ratio: 1;
	background: linear-gradient(44.78deg, #313131 0%, #E0E0E0 100%);
	opacity: 0.4;
	content: '';
}
#top .cntBlk06 .contTtl01,
#top .cntBlk06 .txt01{
	margin-bottom: 3.5vw;
}
#top .cntBlk06 .txtbox{
	width: 41.7%;
}
#top .cntBlk06 .imgbox{
	width: 53.3%;
}
#top .cntBlk06 .imgbox img{
	width: 100%;
}


/* 背景色をセクション毎に変化 */
.bgScrlArea{
	position: relative;
}
.bgScrlArea01{
	background: #0C0D10;
}
.bgScrlArea02{
	background: #3D424E;
}
.bgScrlArea03{
	background: #62666E;
}
.bgScrlArea04{
	background: #3D424E;
}
.bgScrlArea05{
	background: #EBEBEB;
}

/*
# =================================================================
# 下層共通（kasou）
# =================================================================*/
.kasou #contents{
	/* padding-bottom: 21vw; */
	padding-bottom: 10vw;
}

/*
# =================================================================
# 私たちの想い（philosopy）
# =================================================================*/
.philosopy #contents{
	padding-bottom: 0vw;
}

/* MISSION / VISION / VALUE */
.philosopy .mvvBlock{
	position: relative;
}
.philosopy .mvvScroll{
	position: relative;
	height: 520vh;
}
.philosopy .mvvSticky{
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	overflow: hidden;
}
.philosopy .mvvViewport{
	display: grid;
	width: var(--cont_width);
	max-width: var(--cont_maxwidth1);
	margin: auto;
}
.philosopy .mvvItem{
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 42.8%;
	grid-template-areas:
		"head fig"
		"catch fig"
		"desc fig";
	align-content: center;
	align-items: center;
	column-gap: 3.5%;
	row-gap: 1.4vw;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.5s ease, transform 1.2s ease;
	/* transform: translate3d(0, 3vw, 0); */
	pointer-events: none;
}
.philosopy .mvvItem.is-active{
	opacity: 1;
	visibility: visible;
	/* transform: translate3d(0, 0, 0); */
	pointer-events: auto;
}
.philosopy .mvvLabel{
	grid-area: head;
	display: flex;
	align-items: center;
	color: #333;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
}
.philosopy .mvvLabel .en{
	font-size: 2rem;
	letter-spacing: 0.09em;
}
.philosopy .mvvLabel .mvvLine{
	width: 2em;
	height: 1px;
	margin: 0 1em;
	background: #333;
}
.philosopy .mvvCatch.jp{
	grid-area: catch;
	color: #333;
	font-size: 5rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.09em;
}
.philosopy .mvvDesc{
	grid-area: desc;
	color: #333;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.8;
}
.philosopy .mvvDesc--list{
	display: flex;
	flex-direction: column;
	gap: 1.8vw 0;
}
.philosopy .mvvDescList dt{
	font-size: 1.8rem;
	font-weight: 700;
}
.philosopy .mvvDescList dd{
	font-size: 1.8rem;
	line-height: 1.8;
}
.philosopy .mvvDescList dd ul{
	display: flex;
	flex-direction: column;
}
.philosopy .mvvDescList dd ul li{
	text-indent: -1em;
	margin-left: 1em;
}

.philosopy .mvvFig{
	grid-area: fig;
	align-self: center;
	justify-self: end;
	width: 100%;
	max-width: 514px;
}
.philosopy .mvvFig img{
	width: 100%;
	height: auto;
	margin-left: auto;
}

/* 行動指針 */
.philosopy .ismBlock{
	padding: 10vw 0;
	background: #3D424E;
	color: #fff;
}
.philosopy .ismInner{
	/* width: var(--cont_width);
	max-width: 1690px;
	margin: auto; */
	align-items: flex-start;
}
.philosopy .ismHead{
	width: 38.5%;
	position: sticky;
	top: 10vw;
}
.philosopy .ismLabel{
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
}
.philosopy .ismLabel .en{
	font-size: 2rem;
	letter-spacing: 0.09em;
}
.philosopy .ismLabel .ismLine{
	width: 2em;
	height: 1px;
	margin: 0 1em;
	background: #fff;
}
.philosopy .ismTtl.jp{
	margin: 1vw 0;
	font-size: 5rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.18em;
}
.philosopy .ismLead{
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.8;
}
.philosopy .ismList{
	width: 43.5%;
	margin-top: 26vw;
}
.philosopy .ismItem{
	padding: 1.56vw 0;
	border-bottom: 1px solid rgba(255,255,255,0.25);
}
.philosopy .ismItem .en{
	font-size: 2rem;
	letter-spacing: 0.09em;
}
.philosopy .ismItem .jp{
	margin-top: 0.31vw;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* ご挨拶 */
.philosopy .block01{
	width: clamp(0px, 1320 / 1920 * 100vw, 1320px);
	margin: auto;
	background: var(--linear-gradient03);
	color: #fff;
	margin-bottom: -4vw;
    position: relative;
    z-index: 1;
}
.philosopy .block01 .inner1{
	padding: 5vw 0 8vw;
	align-items: flex-start;
}
.philosopy .block01 .txtblk{
	width: 55%;
}
.philosopy .block01 .imgblk{
	width: 38.75%;
}
.philosopy .block01 .txtblk .mainTtl01{
	margin: 1.8vw 0;
}
.philosopy .block01 .txtblk p{
	font-size: 2rem;
	line-height: 2;
	font-weight: 400;
}
.philosopy .block01 .txtblk p:not(:last-child){
	margin-bottom: 1.6vw;
}
.philosopy .block01 .txtblk .catch{
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 2.4vw !important;
}
.philosopy .block01 .imgblk p{
	margin-top: 1.5vw;
	font-size: 2.5rem;
	font-weight: 500;
	text-align: right;
	letter-spacing: 0.04em;
}
.philosopy .block01 .imgblk p span{
	margin-right: 0.5em;
	font-size: 1.7rem;
}





/*
# =================================================================
# 私たちについて（company）
# =================================================================*/


/* 会社概要 */
.company .block03 {
	padding: 5.5vw 0 6vw;
}
.company .block03 .mainTtl01 span:after{
	background: #333;
}
.company .block03 .mainTtl01{
	margin-bottom: 2.6vw;
}
.company .block03 .flex{
	margin-bottom: 4.2vw;
	align-items: flex-start;
}
.company .block03 table{
	width: 45.3%;
	font-size: 1.6rem;
}
.company .block03 table th{
	width: 6em;
    font-weight: 600;
}
.company .block03 table th,
.company .block03 table td{
	padding: 1.2vw 0;
	border-bottom: 1px solid #B2B2B2;
	line-height: 1.8;
}
.company .block03 table th.noBorder,
.company .block03 table td.noBorder{
	border-bottom: none;
	padding: 0;
}
.company .block03 table th.noPadding,
.company .block03 table td.noPadding{
	padding-top: 0;
}
.company .block03 table td p{
    margin-left: 4em;
    text-indent: -4em;
}

.company .block03 .gmap{
	position: relative;
    width: 100%;
    height: 0;
    padding-top: 34%;
	background: #608FB2;
}
.company .block03 .gmap iframe{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	border: none;
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
	mix-blend-mode:hard-light;
}

/* 水平方向に等速でループする画像スライダー（会社概要 .slideImage 用） */
.company .slideImage {
    width: 100%;
    overflow: hidden;
}
.company .slideImage__track {
    display: flex;
    width: max-content;
    animation: slideImage-scroll 40s linear infinite; /* 数字を大きくするほどゆっくり */
    will-change: transform;
}
.company .slideImage figure {
    flex: 0 0 auto;
    margin: 0 2vw 0 0; /* 画像同士の間隔（全figureに均等に付けるとループが途切れない） */
}
.company .slideImage figure img {
    display: block;
    width: 32vw;
    height: auto;
}
@media screen and (max-width: 1536px) {
	.company .slideImage figure img {
		width: 42vw;
	}
}
@keyframes slideImage-scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%); /* 2セット並べているので半分で1周 */
    }
}


/*
# =================================================================
# サービス（service）
# =================================================================*/
/* テキスト */
.service .block01 {
	padding: 4.4vw 0 0;
	font-size: 2rem;
	line-height: 2.1;
    margin-bottom: 3.6vw;
}
.service .block01 .sub{
	margin-top: 1vw;
	font-size: 1.6rem;
}

/* 私たちにできること */
.service .block02{
	padding: 0 0 5.8vw;
}
.service .block02 .mainTtl01{
	margin-bottom: 3vw;
}
.service .block02 .mainTtl01 span:after{
	background: #333;
	align-items: flex-start;
}
.service .block02 .menublk{
	gap: clamp(0px, 35 / 1100 * 100vw, 35px);
}
.service .block02 .menublk.ptn02{
	margin-top: 2.5vw;
	justify-content: center;
}

@media not all and (min-resolution:.001dpcm) {
	@supports (not (translate: none)) {
		.service .block02 .menublk li{
			margin-right: clamp(0px, 35 / 1100 * 100vw, 35px);
		}
		.service .block02 .menublk li:last-child{
			margin-right: 0;
		}
	}
  }

.service .block02 .menublk li{
	width: clamp(0px, 300 / 1100 * 100vw, 300px);
	height: clamp(0px, 395 / 1100 * 100vw, 395px);
	border-radius: 10px;
	background: var(--linear-gradient03);
	-webkit-filter: drop-shadow(0px 3px 36px rgba(0, 0, 0, 0.16));
	        filter: drop-shadow(0px 3px 36px rgba(0, 0, 0, 0.16));
}
.service .block02 .menublk li a{
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 15% 0 12%;
	color: #fff;
	/* リンクなし */
    justify-content: center;
	/* pointer-events: none; */
	/* リンクあり */
	/* justify-content: flex-end; */
}
.service .block02 .menublk li .ttl{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.service .block02 .menublk img{
	margin-bottom: 0.6vw;
}
.service .block02 .menublk h3{
	margin-bottom: 1.1vw;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.04em;
    height: 3em;
    display: flex;
    align-items: center;
}
/* リンクあり */
/* .service .block02 .menublk li h3.line01{
	margin-bottom: 2.6vw;
} */
.service .block02 .menublk p.txt{
    font-size: 1.6rem;
    line-height: 1.5;
    color: #fff;
    width: 90%;
    margin: 0 auto;
}
.service .block02 .menublk p.btn{
	width: clamp(0px, 240 / 1100 * 100vw, 240px);
	height: clamp(0px, 36 / 1100 * 100vw, 36px);
	background: #fff;
	font-size: 1.6rem;
	color: #333;
	letter-spacing: 0.04em;
    margin-top: auto;
	/* リンクなし */
	/* display: none; */
}
/* リンクなし */
@media screen and (min-width: 897px) {
	.service .block02 .menublk li:hover{
		opacity: 0.8;
		transition: opacity 0.3s;
	}
}
@media screen and (min-width: 1921px) {
	.service .block02 .menublk li{
		width: calc(300 / 1920 * 100vw);
		height: calc(395 / 1920 * 100vw);
	}
	.service .block02 .menublk p.btn{
		width: calc(240 / 1920 * 100vw);
		height: calc(36 / 1920 * 100vw);
	}
	.service .block02 .menublk{
		gap: calc(32 / 1920 * 100vw);
	}
}
@media screen and (max-width: 1100px) {
	.service .block02 .menublk{
		justify-content: center;
	}
	.service .block02 .menublk img {
		margin-bottom: 1.6vw;
		transform: scale(0.9);
	}
	.service .block02 .menublk h3{
		margin-bottom: 2.5vw;
	}
}


/*
# =================================================================
# サービス（service）---下層共通
# =================================================================*/
@media screen and (min-width: 897px) {
    .inner4{
        margin: 0;
    }
}
.scmn .block01{
    padding: 4.7vw 0 0;
}
.scmn .scmn_txt{
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.77;
}
.scmn .scmn_txt a{
    text-decoration: underline;
}
.scmn .scmn_txt a:hover{
    text-decoration: none;
}
.scmn .scmn_txt:not(:last-child){
    margin-bottom: 2vw;
}
.scmn .mainTtl01{
	margin-bottom: 2vw;
}
.scmn .mainTtl01 span:after {
    background: #333;
}
.scmn .blockcmn{
	margin-bottom: 4.1vw;
}
.scmn .blockcmn .txtblk{
    margin-bottom: 1.7vw;
}
.scmn .blockcmn .imgblk img{
	width: 100%;
}
.scmn .ptmt10{
	padding-top: 5vw;
	margin-top: -5vw;
}

/* 当社の事例 */
.scmn .case_list .mainTtl01{
    margin-bottom: 2.1vw;
}
.scmn .case_list .listblk .swiper-wrapper{
    justify-content: flex-start;
    gap: 0 1.8vw;
    align-items: stretch;
}
.scmn .case_list .listblk li{
    width: calc((100% / 3) - 1.2vw);
    margin-bottom: 0;
}
.scmn .case_list .listblk li a{
	padding-left: 0.8vw;
	padding-right: 0.8vw;
}
.scmn .case_list .listblk .hvrbtn{
    width: 200px;
}
.scmn .case_list .hvrbtn02{
    margin: 2vw auto 0;
}
.scmn .case_list .nolist{
	background-color: transparent;
}


/* サイドサブメニュー */
.scmn #contents .inner3{
	position: relative;
}
.scmn .subsidemenuwp{
	display: none;
	position: absolute;
    right: -140px;
    top: 5.4vw;
    height: 100%;
	width: 220px;
}
.scmn .subsidemenu.sticky {
    position: sticky;
    top: 6vw;
	margin-bottom: 6vw;
}
.scmn .subsidemenu li:not(:last-child){
	margin-bottom: 1.6vw;
	position: relative;
}
.scmn .subsidemenu li a{
    display: flex;
    padding: 0 0 0.6vw;
    border-bottom: 1px solid #333;
    align-items: center;
    justify-content: space-between;
	font-size: 1.8rem;
}
.scmn .subsidemenu li a i{
    position: relative;
    overflow: hidden;
    width: 1em;
    height: 1em;
}
.scmn .subsidemenu li a i::before{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3em;
    height: 1em;
    background: url(../img/icon_arwBRBL.svg) no-repeat left center;
    background-size: 100%;
    content: '';
    transition: 0.3s;
}
@media screen and (min-width: 897px) {
	.scmn .subsidemenu li a:hover{
		color: #608FB2;
	}
	.scmn .subsidemenu li a:hover::before{
		background: #608FB2;
	}
	.scmn .subsidemenu li a:hover i::before{
		right: -2em;
	}
	
}
@media screen and (min-width: 1300px) {
	.scmn .subsidemenuwp{
		display: block;
	}
}
@media screen and (min-width: 1921px) {
	.scmn .subsidemenuwp{
		right: -7.3vw;
		width: 11.4vw;
	}
}
.scmn .subsidemenuwpsp{
	display: none;
}

/*
# =================================================================
# サービス（service）---MAAアドバイザリー
# =================================================================*/
.ma .block01{
    margin-bottom: 5.7vw;
}
.ma .block01 .txtblk{
    width: 75%;
}
.ma .block01 .imgblk{
    width: 19%;
    text-align: center;
}
.ma .block01 .imgblk img{
    margin-bottom: 0.6vw;
    width: 100%;
}
.ma .block01 .imgblk span{
    font-size: 1.2rem;
    letter-spacing: 0.04rem;
    font-weight: 500;
    text-decoration: underline;
    padding-right: 2em;
    display: inline-flex;
}
.ma .block01 .imgblk a:hover{
    opacity: 0.8;
}
.ma .block01 .imgblk a:hover span{
    text-decoration: none;
}
.ma .block01 .blk1{
    margin-bottom: 3.6vw;
}
.ma .block01 .pdf{
    position: relative;
}
.ma .block01 .pdf::before{
    position: absolute;
	top:0;
    bottom: 0;
    right: 0;
    margin: auto;
	width: 1.5em;
    height: 2em;
	content: '';
    background: url(../img/icoPdf.svg) no-repeat left center / 100%;
}
.ma .block01 .blk2 img{
	width: 100%;
}
/*
# =================================================================
# サービス（service）---組織再編
# =================================================================*/
.restructuring .blockcmn .imgblk{
	width: 34vw;
	margin-left: auto;
	margin-right: auto;
}
.restructuring .plinkblk .ttl{
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 1.1vw;
	text-align: center;
}
.restructuring .plinkblk .linklist{
	margin: 0 auto;
	gap: 0 1vw;
}
.restructuring .plinkblk .linklist li{
	max-width: 180px;
	width: 9.4vw;
	height: 43px;
}
.restructuring .plinkblk .linklist li a{
	position: relative;
    display: flex;
    height: 100%;
	width: 100%;
    font-size: 1.8rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    align-items: center;
    justify-content: center;
	background-color: #3D424E;
}
.restructuring .plinkblk .linklist li a span{
	position:relative;
	padding-right: 1.5em;
}
.restructuring .plinkblk .linklist li a span::before{
	position: absolute;
	top: 20%;
	right: 0;
	margin: auto;
	width: 0.5em;
	height: 0.5em;
	content: '';
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: auto;
}
/*
# =================================================================
# サービス（service）---ハンズオン経営
# =================================================================*/
.managementsupport .blockcmn .txtblk{
	margin-bottom: 1vw;
}
.managementsupport .blockcmn .listblk{
	margin-bottom: 1.5vw;
	gap: 1.6vw 1.1vw;
	align-items: stretch;
}
.managementsupport .blockcmn .listblk li{
	width: 48.2%;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.16);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2%;
	gap: 0 0.5vw;
}
.managementsupport .blockcmn .listblk .num{
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: rgba(51, 51, 51, 0.3);
}

/*
# =================================================================
# 主要メンバー紹介（member）
# =================================================================*/
.member .block01 {
	padding: 6.5vw 0 0;
}
.member .block01 ul {
	align-items: flex-start;
	justify-content: flex-start;
	gap: 2.21vw;
}
.member .block01 ul li{
	/* width: clamp(0px, 406 / 1000 * 100vw, 406px); */
	width: clamp(0px, 295 / 1000 * 100vw, 295px);
	/* margin-bottom: 6vw; */
}
/* .member .block01 ul li:nth-last-of-type(1),
.member .block01 ul li:nth-last-of-type(2){
	margin-bottom: 0;
} */
.member .block01 ul li figure{
	width: 100%;
	aspect-ratio: 406 / 500;
	margin-bottom: 1.3vw;
}
.member .block01 ul li figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s;
}

.member .block01 ul li .ttl{
	margin-bottom: 0.8vw;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.09em;
}

.member .block01 ul li .sub{
	font-size: 3.2rem;
	line-height: 1.5;
	letter-spacing: 0.07em;
	text-align: center;
}
.member .block01 ul li .sub .name_eng{
	font-size: 2rem;
	display: block;
}
.member .block01 ul li .sub .role{
	font-size: 2rem;
	display: block;
	margin-top: 0.5vw;
}
.member .block01 ul li .sub .rolekata{
	font-size: 1.8rem;
	/* font-size: 2rem; */
	display: block;
}

@media screen and (min-width: 897px) {
	.member .block01 ul li:hover img{
		opacity: 0.8;
	}
}
@media screen and (min-width: 1921px) {
	.member .block01 ul li{
		/* width: calc(406 / 1920 * 100vw); */
		width: calc(295 / 1920 * 100vw);
	}
}
/*
# =================================================================
# 主要メンバー紹介詳細ページ（memberCmn）
# =================================================================*/
.memberCmn .block01 {
	padding: 5.5vw 0 5vw;
}
.memberCmn .block01 .blk01 {
	margin-bottom: 3.3vw;
}
.memberCmn .block01 .blk01 .txtblk{
	width: 50%;
}
.memberCmn .block01 .blk01 .imgblk{
	width: 42%;
}
.memberCmn .block01 .blk01 .imgblk img{
	width: 100%;
}
.memberCmn .block01 .blk01 .txtblk .maxim{
	margin: 0 0 1vw 0.4em;
	padding: 1em 0;
	font-size: 3.4rem;
	line-height: 1.4;
	color: #000;
	letter-spacing: 0.07em;
}
.memberCmn .block01 .blk01 .txtblk .maxim span{
	position: relative;
    display: inline-block;
    margin: auto;
    text-align: left;
}
.memberCmn .block01 .blk01 .txtblk .maxim span:before,
.memberCmn .block01 .blk01 .txtblk .maxim span:after{
	position: absolute;
	width: 1em;
	height: 1em;
	content: "";
}
.memberCmn .block01 .blk01 .txtblk .maxim span:before{
	top: -1em;
	left: -0.2em;
	background: url(../img/icoBlockquoteS.svg) no-repeat left top;
	background-size: 100%;
}
.memberCmn .block01 .blk01 .txtblk .maxim span:after{
	right: -1.2em;
	bottom: -0.8em;
	background: url(../img/icoBlockquoteE.svg) no-repeat left top;
	background-size: 100%;
}
.memberCmn .block01 .blk01 .txtblk .name{
	margin: 0 0 1vw 0.4em;
	font-size: 3.2rem;
	color: #000;
	letter-spacing: 0.07em;
}
.memberCmn .block01 .blk01 .txtblk .name span{
	display: block;
	font-size: 1.8rem;
}
.memberCmn .block01 .blk01 .txtblk p{
	font-size: 1.8rem;
	line-height: 2.2;
}

.memberCmn .block01 .blk02 {
	align-items: flex-start;
	flex-wrap: nowrap;
}
.memberCmn .block01 .blk02 > div{
	min-width: calc(100% / 3 - 6vw);
}
.memberCmn .block01 .blk02 h3{
	margin-bottom: 0.5vw;
	font-size: 2.2rem;
	color: #000;
	letter-spacing: 0.07em;
}
.memberCmn .block01 .blk02 li{
	font-size: 1.6rem;
	line-height: 1.6;
}
.memberCmn .block01 .blk02 li:not(:last-child){
	margin-bottom: 0.5vw;
}
.memberCmn .block01 .blk02 ol li{
	display: flex;
}
.memberCmn .block01 .blk02 ol li h4{
	width: 6em;
}
.memberCmn .block01 .blk02 ol li p{
	width: calc(100% - 6em);
}

/* その他メンバー */
.memberCmn #contents{
	padding-bottom: 0;
}
.memberCmn .otherlink{
	/* padding: 5vw 0 24vw; */
	padding: 5vw 0 10vw;
	background: linear-gradient(235deg, rgba(194, 194, 194, 0.22) 0%, rgba(224, 224, 224, 0.22) 100%);
}
.memberCmn .otherlink_in{
	/* width: var(--cont_width);
	max-width: 1390px; */
	margin: auto;
}
.memberCmn .otherlink .title{
	margin-bottom: 3.5vw;
	font-size: 1.8rem;
	text-align: center;
	letter-spacing: 0.04em;
}
.memberCmn .otherlink .title span{
	display: block;
	margin-bottom: 0.4vw;
	font-size: 6.6rem;
	letter-spacing: 0.09em;
}
.memberCmn .otherlink ul{
	margin-bottom: 4.2vw;
	justify-content: space-between;
	align-items: flex-start;
}

.memberCmn .otherlink ul li img{
	width: 100%;
	margin-bottom: 1.3vw;
	transition: opacity 0.3s;
}
.memberCmn .otherlink ul li .ttl{
	margin-bottom: 0.8vw;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.09em;
}
.memberCmn .otherlink ul li .sub{
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.memberCmn .otherlink ul li .sub span{
	margin-right: 1em;
	font-size: 1.3rem;
}

@media screen and (min-width: 897px) {
	.memberCmn .otherlink ul li{
		width: clamp(0px, 406 / 1400 * 100vw, 406px);
	}
	.memberCmn .otherlink ul li:hover img{
		opacity: 0.8;
	}
	.member03 .block01 .blk02 > div,
	.member05 .block01 .blk02 > div{
		min-width: auto;
		width: calc(100% / 3);
	}
	.member03 .block01 .blk02 > div:nth-child(2),
	.member05 .block01 .blk02 > div:nth-child(2){
		width: calc(100% / 3 - 11vw);
	}
	.member06 .block01 .blk02{
		justify-content: flex-start;
	}
	.member06 .block01 .blk02 > div:nth-child(1){
		margin-right: 2vw;
	}
}
@media screen and (min-width: 1921px) {
	/* .memberCmn .otherlink_in{
		max-width: calc(1390 / 1920 * 100vw);
	} */
	.memberCmn .otherlink ul li{
		width: calc(406 / 1920 * 100vw);
	}
}

.memberCmn .otherlink .hvrbtn02{
	margin: auto;
}

.memberCmn .otherlink ul li{
	display: none;
}
.member01 .otherlink ul li:nth-of-type(2),
.member01 .otherlink ul li:nth-of-type(3),
.member01 .otherlink ul li:nth-of-type(4),
.member02 .otherlink ul li:nth-of-type(3),
.member02 .otherlink ul li:nth-of-type(4),
.member02 .otherlink ul li:nth-of-type(1),
.member03 .otherlink ul li:nth-of-type(4),
.member03 .otherlink ul li:nth-of-type(1),
.member03 .otherlink ul li:nth-of-type(2),
/* .member04 .otherlink ul li:nth-of-type(1),
.member04 .otherlink ul li:nth-of-type(2),
.member04 .otherlink ul li:nth-of-type(3), */
.member04 .otherlink ul li:nth-of-type(1),
.member04 .otherlink ul li:nth-of-type(2),
.member05 .otherlink ul li:nth-of-type(6),
.member05 .otherlink ul li:nth-of-type(1),
.member05 .otherlink ul li:nth-of-type(2),
.member06 .otherlink ul li:nth-of-type(1),
.member06 .otherlink ul li:nth-of-type(2),
.member06 .otherlink ul li:nth-of-type(3){
	display: block;
}

/*
# =================================================================
# お知らせ（news）
# =================================================================*/
.news_cm #contents{
	padding-top: 4.4vw;
}

/* ------------ 一覧（news_list） ------------ */
/* カテゴリ */
.news_list .catblk{
	margin: 0 auto 3.7vw;
}
.news_list .catblk .hvrbtn03{
	max-width: 266px;
    height: 50px;
	margin: 0 1%;
}
.news_list .catblk .hvrbtn03 a{
	font-size: 2rem;
}
/* 現在ページに色 */
.term-news .news_list .catblk .news a,
.term-blog .news_list .catblk .blog a,
.term-blog-2 .news_list .catblk .blog-2 a{
	background: #333;
		color: #fff;
}

.news_list .listblk .list{
	border-bottom: 1px solid #B2B2B2;
}
.news_list .listblk .list:not(:last-child){
	margin-bottom: 1.8%;
}
.news_list .listblk .list a{
	display: block;
	padding: 0 0 1.4%;
	font-size: 1.6rem;
	line-height: 1.8;
}
.news_list .listblk .list .info{
	margin-bottom: 0.3vw;
	justify-content: flex-start;
}
.news_list .listblk .list .date{
    /* margin-right: 0.5em;
    font-size: 2.2rem;
    letter-spacing: 0.1em; */
	margin: 0 1em 0 0;
    line-height: 1.6;
    letter-spacing: .05em;
}
.news_list .listblk .list .cat .ctgr{
	padding: 0.2vw 0.5vw;
	background: #3D424E;
	font-size: 1.5rem;
	font-weight: 500;
	color: #fff;
}
.news_list .listblk .list .cat .ctgr:not(:first-child){
	margin-left: 0.5vw;
}
.news_list .listblk .list .ttl{
	overflow: hidden;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.8;
	white-space: nowrap;
	text-overflow: ellipsis;
}
@media screen and (min-width: 897px) {
	.news_list .listblk .list a:hover .ttl{
		color: #608FB2;
		transition: color 0.3s;
	}
}



/* note一覧 */
.news_list .notearea {
	margin-bottom: 9.3vw;
}
.news_list .notearea .ttl_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5vw;
}
.news_list .notearea .ttl {
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	gap: 0 1em;
}
.news_list .notearea .ttl img {
	width: 7.9vw;
}

.news_list .notearea .note_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5vw;
}
.news_list .notearea .note_list_col {
	width: 100%;
}
.news_list .notearea .note_list_col .card {
	width: 100%;
}
.news_list .notearea .note_list_col .card-wrapper:hover {
	opacity: 0.7;
}
.news_list .notearea .note_list_col .card-thumbnail{
	margin-bottom: 0.9vw;
}
.news_list .notearea .note_list_col .card-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news_list .notearea .note_list_col .card-date {
	font-size: 2.2rem;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 0.1em;
	margin-bottom: 0.9vw;
	display: block;
}
.news_list .notearea .note_list_col .card-title {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
}




/* ページング */
.news_cm .pagination,
.case_list .pagination{
	display: flex;
	margin: 3vw 0 0;
	justify-content: flex-end;
	align-items: center;
}
.news_cm .pagination a,
.news_cm .pagination span,
.case_list .pagination a,
.case_list .pagination span{
	display: flex;
	width: 1.5em;
	height: 1.5em;
	margin: 0 0.1em;
	padding: 0%;
    padding-bottom: 0.2em;
	font-size: 2.2rem;
	font-weight: 700;
	color: #000;
	text-align: center;
	transition: .3s;
	justify-content: center;
	align-items: center;
}
.news_cm .pagination span.current,
.case_list .pagination span.current{
	border-radius: 100px;
	background: #3D424E;
	color: #fff;
}
@media screen and (min-width: 897px) {
	.news_cm .pagination a:hover,
	.case_list .pagination a:hover{
		border-radius: 100px;
		background: #3D424E;
		color: #fff;
	}
	.news_cm .pagination a.prev:hover,
	.news_cm .pagination a.next:hover,
	.case_list .pagination a.prev:hover
	.case_list .pagination a.next:hover{
		background: none;
		color: #000;
	}
}

.news_cm .pagination .prev,
.news_cm .pagination .next,
.case_list .pagination .prev,
.case_list .pagination .next{
	position: relative;
	padding: 0;
}
.news_cm .pagination .prev:before,
.news_cm .pagination .next:before,
.case_list .pagination .prev:before,
.case_list .pagination .next:before{
	width: 0.6em;
	height: 0.6em;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	content: "";
	transition: .3s;
	transform: rotate(45deg);
}
.news_cm .pagination .prev:before,
.case_list .pagination .prev:before{
	left: 0;
	transform: rotate(-135deg);
}


/* ------------ news_page ------------ */
.news_page .content_box,
.case_page .content_box{
	padding: 0 0 4%;
	border-bottom: 1px solid #C3C3C3;
}
.news_page .content_box .info{
    margin-bottom: 2.3vw;
    padding-bottom: 2.4vw;
    border-bottom: 1px solid #C3C3C3;
	justify-content: flex-start;
}
.news_page .content_box .date{
    margin-right: 0.5em;
    font-size: 2.2rem;
	font-weight: 700;
    letter-spacing: 0.1em;
}
.news_page .content_box .cat{
	padding: 0.5vw 0.5vw;
	background: #3D424E;
	font-size: 1.5rem;
	font-weight: 400;
	color: #fff;
}
.news_page .content_box .ttl{
	margin: 0 0 0.5vw;
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.04em;
}



.news_page .content_box .content,
.case_page .content_box .content{
	font-size: 1.8rem;
	line-height: 2;
}
.news_page .content_box .content p,
.news_page .content_box .content li,
.case_page .content_box .content p,
.case_page .content_box .content li{
	font-size: 1.8rem;
	line-height: 2;
}
.news_page .content_box .content p,
.case_page .content_box .content p{
	margin-bottom: 1em;
}
.news_page .content_box .content a,
.case_page .content_box .content a{
	text-decoration: underline;
}
.news_page .content_box .content a:hover,
.case_page .content_box .content a:hover{
	text-decoration: none;
}
.news_page .content_box .content ul,
.case_page .content_box .content ul{
	margin-bottom: 1em;
	margin-left: 1.5em;
	list-style-type: disc;
}
.news_page .content_box .content .alignleft,
.case_page .content_box .content .alignleft{
	float:none;
	margin-top: 1em;
	margin-bottom: 1em;
}
.news_page .content_box .content .aligncenter,
.case_page .content_box .content .aligncenter{
	display: block;
	margin-top: 1em;
    margin-right: auto;
	margin-bottom: 1em;
    margin-left: auto;
}
.news_page .content_box .content .alignright,
.case_page .content_box .content .alignright {
	float: none;
	margin: 0;
	margin-top: 1em;
	margin-bottom: 1em;
    margin-left:auto;
}
/* table */
.news_page .content_box .content table,
.case_page .content_box .content table,
.news_page .content_box .content table td,
.case_page .content_box .content table td,
.news_page .content_box .content table th,
.case_page .content_box .content table th,
.news_page .content_box .content table caption,
.case_page .content_box .content table caption{
	border: 1px solid #C3C3C3;
}
.news_page .content_box .content table td,
.case_page .content_box .content table td,
.news_page .content_box .content table th,
.case_page .content_box .content table th{
	padding: 0.2vw 0.5vw;
}


/* 前後記事リンク */
.news_page .pagination li{
	width: 10em;
	letter-spacing: 0.1em;
}
.news_page .pagination .listlink a{
	width: auto;
	height: auto;
	margin: 0;
	font-weight: 600;
}
.news_page .pagination .listlink a:hover{
	background: none;
}
.news_page .pagination{
	justify-content: space-between;
}
.news_page .pagination a,
.news_page .pagination a span{
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	font-weight: 600;
	justify-content:flex-start;
}
.news_page .pagination a span.prev{
	padding-left: 1.5vw;
}
.news_page .pagination a span.next{
	padding-right: 1.5vw;
	justify-content:flex-end;
}
.news_page .pagination .prev:before,
.news_page .pagination .next:before{
	position: absolute;
	top: 0.2em;
}
.news_page .pagination .next:before{
	right: 0;
}

@media screen and (min-width: 897px) {
	.news_page .pagination a:hover{
		background: none;
		color: #608FB2;
	}
	.news_page .pagination a:hover span{
		color: #608FB2;
	}
}

/*
# =================================================================
# 実績・事例（case）
# =================================================================*/

/* ------------ 一覧（case_list） ------------ */
.case_list #contents{
	padding: 2.8vw 0 23vw;
}

/* カテゴリー */
.case_list .catblk{
	margin-bottom: 2.7vw;
}
.case_list .catblk .title{
	margin-bottom: 1vw;
	font-size: 2.4rem;
	color: #608fb2;
	letter-spacing: 0.09em;
}
.case_list .catblk ul{
	justify-content: flex-start;
}
.case_list .catblk .hvrbtn04:not(:last-child){
	margin-right: 1em;
}
.case_list .catblk .hvrbtn04 a{
	display: block;
	padding: 0.3vw 1vw 0.4vw;
	border-radius: 100px;
	background:#fff;
	font-size: 1.8rem;
	color: #333;
	letter-spacing: 0.07em;
	transition: all 0.3s;
}
@media screen and (min-width: 897px) {
	.case_list .catblk .hvrbtn04 a:hover{
		background: var(--linear-gradient);
		color: #fff;
	}
}

/* 現在ページに色 */
.post-type-archive-case .case_list .catblk .all a,
.term-cs_cat01 .case_list .catblk .cs_cat01 a,
.term-cs_cat02 .case_list .catblk .cs_cat02 a,
.term-cs_cat03 .case_list .catblk .cs_cat03 a,
.term-cs_cat04 .case_list .catblk .cs_cat04 a,
.term-cs_cat05 .case_list .catblk .cs_cat05 a{
	background: var(--linear-gradient);
	color: #fff;
}


/* 一覧 */
.case_list .listblk .swiper-wrapper{
	justify-content: space-between;
}
.case_list .listblk ul:after {
    display: block;
    width: calc((100% / 3) - 1.3vw);
    content: "";
}
.case_list .listblk ul{
	align-items: flex-start;
}
.case_list .listblk li{
	--webkit-backdrop-filter: blur(30px);
	width: calc((100% / 3) - 1.3vw);
	margin-bottom: 2.6vw;
	background: #fff;
	-webkit-backdrop-filter: blur(30px);
	        backdrop-filter: blur(30px);
}
.case_list .listblk li a{
	display: block;
	padding: 2vw 1.5vw 1.3vw;
	color: #333;
}
.case_list .listblk .ttl{
	display: -webkit-box;
  	overflow: hidden;
	/* height: 3em; */
	margin: 0 0 1vw;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
  	-webkit-box-orient: vertical;
  	-webkit-line-clamp: 2;
}
.case_list .listblk .cat01{
	margin: 0 0 1.4vw;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5vw;
}
.case_list .listblk .cat01 .ctgr{
	padding: 0.1vw 0.5vw;
	border-radius: 100px;
	background: #f3f4f5;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.07em;
}
.case_list .listblk .cat02{
	overflow: hidden;
	margin: 0 0 1.5vw;
	padding: 0.7vw 0;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: 1.7;
	white-space: nowrap;
	letter-spacing: 0.07em;
	text-overflow: ellipsis;
}
.case_list .listblk .cat02 span{
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
}
.case_list .listblk .hvrbtn{
	width: 240px;
    height: 36px;
	border-radius: 0;
}
.case_list .listblk .hvrbtn:before,
.case_list .listblk .hvrbtn:after{
	border-radius: 0;
}
.case_list .listblk .hvrbtn p{
	font-weight: 500;
}
.case_list .pagination{
	margin: 0;
}


/* ------------ case_page ------------ */
.case_page #contents{
	padding: 3.8vw 0 23vw;
}
.case_page .content_box .ttl{
	margin: 0 0 0.6vw;
	font-size: 3.4rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.04em;
}
.case_page .content_box .cat01{
	margin: 0 0 0.5vw;
	display: flex;
    flex-wrap: wrap;
	gap: 0.5vw;
}
.case_page .content_box .cat01 .ctgr{
	display: inline-block;
    padding: 0.3vw 1vw 0.4vw;
    border-radius: 100px;
    background: #fff;
    font-size: 1.5rem;
	font-weight: 500;
    color: #333;
    letter-spacing: 0.07em;
    transition: all 0.3s;
}
/* .case_page .content_box .cat01 .ctgr:not(:first-child){
	margin-left: 0.5vw;
} */
.case_page .content_box .info{
	border-spacing: 5px;
	border-collapse: separate;
}
.case_page .content_box .info th,
.case_page .content_box .info td{
	padding: 1.1% 2%;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
}
.case_page .content_box .info{
	width: 100%;
}
.case_page .content_box .info th{
	width: 6em;
	padding-right: 0;
	padding-left: 0;
	background: #3D424E;
	color: #fff;
	text-align: center;
}
.case_page .content_box .info td{
	background: #fff;
	color: #333;
	text-align: left;
}
.case_page .content_box .content{
	margin-top: 2.3vw;
	padding-top: 2vw;
    border-top: 1px solid #C3C3C3;
}
.case_page .content_box .content .midashi01{
	position: relative;
	margin-bottom: 1.5em;
	padding-left: 0.8em;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.case_page .content_box .content .midashi01:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: var(--linear-gradient03);
	content: "";
}
.case_page .content_box .content .midashi02{
	margin-bottom: 1.5em;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.04em;
}
.case_page .content_box .content .txt,
.case_page .content_box .content p{
	margin-bottom: 2em;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 2.2;
	letter-spacing: 0.04em;
}

/* 前後記事リンク */
.case_page .pagingblk{
	margin-top: 3vw;
	font-size: 1.6rem;
	line-height: 1.9;
}
.case_page .pagingblk .pageprev,
.case_page .pagingblk .pagenext{
	max-width: 35%;
}
.case_page .pagingblk .pageprev .title,
.case_page .pagingblk .pagenext .title{
    display: -webkit-box;
    overflow: hidden;
	-webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.case_page .pagingblk .pageprev .title{
	padding-left: 3vw;
}
.case_page .pagingblk .pagenext .title{
	padding-right: 3vw;
}
.case_page .pagingblk .infotxt a{
	position: relative;
	align-items: center;
}
.case_page .pagingblk .infotxt a:before, 
.case_page .pagingblk .infotxt a:after{
	position: absolute;
    top: 0;
    bottom: 0;
    height: 1px;
    margin: auto;
    background: #608FB2;
    content: "";
	transition: 0.3s;
    transform: translate(1em, 0);
}
.case_page .pagingblk .infotxt a:before{
	width: 2em;
}
.case_page .pagingblk .infotxt a:after{
	width: 0.5em;
	transform: rotate(45deg) translate(0.7em, -0.7em);
    transform-origin: right;;
}
.case_page .pagingblk .pagenext .infotxt a:before, 
.case_page .pagingblk .pagenext .infotxt a:after{
	right: 1em;
}
.case_page .pagingblk .pageprev .infotxt a:before, 
.case_page .pagingblk .pageprev .infotxt a:after{
	left: -1em;
}
.case_page .pagingblk .pageprev .infotxt a:after{
	left: 0em;
	transform: rotate(-45deg) translate(0.25em, -0.3em);
    transform-origin: right;
}
@media screen and (min-width: 897px) {
	.case_page .pagingblk .infotxt a:hover,
	.case_page .pagingblk .listlink a:hover{
		color: #608FB2;
	}
}
/*
# =================================================================
# お問い合わせ（contact）
# =================================================================*/
.contact #contents{
	padding: 3.8vw 0 26vw;
}
.contact .firstbox{
	margin: 0 0 1vw;
}
.contact .firstbox .txt{
	margin-bottom: 1.8vw;
	font-size: 2rem;
	font-weight: 400;
	line-height: 2;
}
.contact .firstbox .tel{
	margin-bottom: 1vw;
    font-size: 4.6rem;
	text-align: center;
    letter-spacing: 0.09em;
}
.contact .firstbox .tel a{
	position: relative;
	padding: 0 0 0 1em;
}
.contact .firstbox .tel a:before{
	position: absolute;
	bottom: 15%;
    left: 0;
    width: 0.7em;
    height: 0.7em;
	background: transparent url(../img/icon_Telbk.svg) no-repeat center center / 100%;
	content: '';
}
.contact .firstbox .time{
	font-size: 1.6rem;
	text-align: center;
}


/* フォームエリア */
.contact .input_area {
	width: 100%;
}
.contact .input_area th,
.contact .input_area td {
	padding: 0 0 1.5vw;
}
.contact .input_area .grpmess th,
.contact .input_area .grpmess td{
	padding: 0;
}
.contact .input_area th {
	width: 30%;
	font-size: 1.8rem;
	font-weight: 700;
	vertical-align: top;
}
.contact .input_area th.mlt {
	vertical-align: middle;
}
.contact .input_area th.mlt02 {
	padding-top: 0.8em;
}
.contact .input_area_wp .req{
    margin: 0 0 0 0.5em;
	font-size: 1.4rem;
	font-weight: 500;
	font-style: normal;
	color: #608FB2;
}
.contact .input_area td {
	width: 70%;
	font-size: 1.6rem;
	font-weight: 400;
}
.contact .input_area td input,
.contact .input_area td textarea,
.contact .input_area td select {
	width: 100%;
	padding: 0.6vw;
	background: #fff;
	font-weight: 400;
	line-height: normal;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
.contact .input_area td textarea {
	height: 15em;
}
.contact .input_area td input[type=radio],
.contact .input_area td input[type=checkbox],
.contact .lastBlk input[type=checkbox] {
	width: auto;
	background: #fff;
}
.contact .input_area td input:focus,
.contact .input_area td textarea:focus,
.contact .input_area td select:focus,
.contact input[type=submit]:focus{
	outline: solid #608fb2 1px;
}
.contact .input_area td input[type=radio]:focus,
.contact .input_area td input[type=checkbox]:focus{
	outline: solid #608fb250 2px;
	opacity: 1;
}

/* 住所 */
.contact .input_area td .zipRow{
	width: 10em;
	margin: 0 0 0.8vw;
}

/* ラジオボックス */
.contact .input_area td input[type=radio] {
	position: absolute;
	margin: 0 5px 0 0;
	padding: 0.6em;
	border-radius: 50px;
	vertical-align: middle;
	opacity: 0;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
.contact .input_area td input[type=radio] + span{
	display: flex;
	align-items: center;
}
.contact .input_area td input[type=radio] + span:before {
    position: relative;
    top: 0;
	display: inline-block;
	width: 1.3em;
    height: 1.3em;
    margin-right: 10px;
	border: 1px solid #C3C3C3;
	border-radius: 100%;
	background: #fff;
    text-align: center;
    vertical-align: top;
	content: '';
    cursor: pointer;
}
.contact .input_area td input[type=radio]:checked + span:before {
	background-color: #608FB2;
    box-shadow: inset 0 0 0 0.2em rgb(255,255,255);
}
.contact .input_area td .wpcf7-radio .wpcf7-list-item{
	margin: 0 2em 0 0;
}
.contact .input_area td .wpcf7-radio .wpcf7-list-item.last{
	margin: 0;
}

/* チェックボックス */
/* .contact .input_area td input[type=checkbox],
.contact .lastBlk input[type=checkbox]{
	margin: 0 0.5em 2px 0px;
	padding: 0.5em;
	border: 2px solid #DDDDDD;
	border-radius: 3px;
	background: #fff;
	vertical-align: middle;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
.contact .input_area td input[type=checkbox] + span,
.contact .lastBlk input[type=checkbox] + span{
	position: relative;
}
.contact .input_area td input[type=checkbox] + span:before,
.contact .lastBlk input[type=checkbox] + span:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -1.6em;
	width: 1em;
    height: 0.5em;
	margin: auto;
	border-bottom: 3px solid #1174C9;
	border-left: 3px solid #1174C9;
	content: '';
	opacity: 0;
	transform: rotate(-45deg);
}
.contact .input_area td input[type=checkbox]:checked + span:before,
.contact .lastBlk input[type=checkbox]:checked + span:before {
	opacity: 1;
}
 */


/* プレースホルダー */
.contact .input_area td input::-ms-expand, 
.contact .input_area td textarea::-ms-expand {
	display: none;
}
.contact .input_area td input::-webkit-input-placeholder,
.contact .input_area td textarea::-webkit-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::-moz-placeholder,
.contact .input_area td textarea::-moz-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input:-ms-input-placeholder,
.contact .input_area td textarea:-ms-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::-ms-input-placeholder,
.contact .input_area td textarea::-ms-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::-webkit-input-placeholder, .contact .input_area td textarea::-webkit-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::-moz-placeholder, .contact .input_area td textarea::-moz-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input:-ms-input-placeholder, .contact .input_area td textarea:-ms-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::-ms-input-placeholder, .contact .input_area td textarea::-ms-input-placeholder {
	color: #B2B2B2;
}
.contact .input_area td input::placeholder,
.contact .input_area td textarea::placeholder {
	color: #B2B2B2;
}
.contact .input_area td .wpcf7-not-valid-tip,
.contact .privacyBox .lastBlk .wpcf7-not-valid-tip {
	display: block;
	margin-top: 10px;
	font-size: 1.5rem;
	color: #cf0b0b;
}
.contact .input_area td select, 
.contact .input_area td .wpcf7-radio label, 
.contact .input_area td .wpcf7-checkbox label,
.contact .lastBlk .wpcf7-checkbox label {
	cursor: pointer;
}

/* 注釈 */
.contact .input_area td .cauText {
	font-size: 1.3rem;
	margin-top: 0.5vw;
}

/* 送信ボタン */
.contact .subscribeBtn,
.thanks .subscribeBtn{
	width: 280px;
    height: 65px;
}
.contact .subscribeBtn input[type="submit"]{
	font-size: 2rem;
	text-shadow: var(--text-shadow);
	letter-spacing: 0.11em;
	text-align: center;
}


.contact #contents .lastBlk{
	margin:3vw 0 2vw;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
}
.contact #contents .lastBlk a{
	position: relative;
	padding-right: 1.5em;
	color: #608FB2;
}
.contact #contents .lastBlk a:after{
	position: absolute;
    top: 0;
    right: 0.2em;
    bottom: 0;
    width: 1em;
    height: 1em;
    margin: auto;
    background: url(../img/ico_Gaibu.svg) no-repeat left center / 100%;
    content: '';
}
/* .contact #contents .lastBlk .consent{
	font-size: 2rem;
	font-weight: 400;
}
.contact #contents .lastBlk .txt{
	margin-top: 1vw;
} */
/* メッセージ */
div.screen-reader-response{
	display: none;
  }
.subscribeBtn .wpcf7-spinner {
	/* display: none; */
	pointer-events: none;
	cursor: none;
	position: absolute;
    bottom: -2vw;
}
  
.wpcf7 form .wpcf7-response-output {
	/* width: 80%;
	margin: 2em auto 1em; */
	width: 100%;
	margin: 0vw 0 1vw;
	font-size: 1.6rem;
	text-align: center;
}
.wpcf7 form.invalid .wpcf7-response-output {
	padding: 1%;
	border: none;
	background: #dc3232;
	color: #fff;
}
.wpcf7 form.sent .wpcf7-response-output {
	padding: 1%;
	border: none;
	background: #46b450;
	color: #fff;
}
/*
# =================================================================
# 完了画面（thanks）
# =================================================================*/
.thanks #contents{
	padding: 3.8vw 0 20vw;
}
.thanks #contents .ttl{
	margin-bottom: 3vw;
	font-size: 3.3rem;
	color: #608FB2;
	text-align: center;
	letter-spacing: 0.04em;
}
.thanks #contents .txt{
	font-size: 2rem;
	line-height: 2;
	text-align: center;
}
.thanks #contents .txt:not(:last-child){
	margin-bottom: 2vw;
}
.thanks #contents .hvrbtn02{
	margin: 3.6vw auto 0;
}
@media screen and (min-width: 897px) {
	.thanks #contents .hvrbtn02.bk:hover a{
		background: #608FB2;
	}
}


/*
# =================================================================
# プライバシーポリシー（policy）
# =================================================================*/
.policy #contents{
	padding: 3.8vw 0 20vw;
}
.policy .infobox{
	margin-bottom: 3vw;
	font-size: 1.6rem;
	line-height: 1.8;
}
.policy .firsttxt{
	margin-bottom: 3vw;
	font-size: 1.6rem;
	line-height: 1.8;
}
.policy .firsttxt h2{
	margin-bottom: 1vw;
	font-size: 2.2rem;
	font-weight: 500;
}
.policy .policy-box{
	font-size: 1.6rem;
	line-height: 1.8;
}
.policy .policy-box dl{
	margin-bottom: 2vw;
}
.policy .policy-box dt{
	position: relative;
	margin-bottom: 1vw;
	font-size: 2.3rem;
	font-weight: 500;
    color: #608FB2;
}
.policy .policy-box dt::before{
	position: absolute;
    z-index: 9;
    bottom: -1px;
    left: 0;
    display: block;
    width: 10%;
    height: 1px;
    background: #608FB2;
    content: '';
}
.policy .policy-box dt::after{
	position: absolute;
    z-index: 1;
    bottom: -1px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: #dcdcdc;
    content: '';
}
.policy .policy-box dd ol {
	margin: 0 0 0 1em;
	list-style: decimal;
}
.policy .policy-box dd p{
	margin-bottom: 1vw;
}
.policy .policy-box a{
	text-decoration: underline;
	color: #608FB2;
}
.policy .policy-box a:hover{
	text-decoration: none;
}
/*
# =================================================================
# 404ページ
# =================================================================*/
.nopage{
	text-align: center;
}
.nopage .title{
	padding: 200px 0;
	font-size: 2rem;
}
/*
# =================================================================
# レスポンシブ要素
# =================================================================*/
/* 4K:2560px */
/* PC:1920px */
/* laptop NotePC L */
@media screen and (max-width: 1600px) {
	.mainTtlCatch{
		font-size: 5rem;
	}
	#top .cntBlk01 .imgbox{
		margin: 0;
	}
	
}
@media screen and (max-width: 1440px) {
	/* 共通 */

	.mainTtlCatch{
		font-size: 4.4rem;
	}
	header{
		font-size: 1.6rem;
	}
	.navmenu .cntct{
		width: 16vw;
		height: 2.8em;
		margin: 0 1vw 0 1.4vw;
	}
	.navmenu .cntct a{
		font-size: 1.8rem;
	}
	.navmenu a{
		padding: 0.3em 0.8em;
	}
	/* TOP */
	#top .fvHeroCatch .catch,
	#top .mainVisual .catch{
		font-size: 10rem;
	}
	#top .fvHeroCatch .catch .sub,
	#top .mainVisual .catch .sub{
		font-size: 3.7rem;
	}
	#top .cntBlk03 .box .hvrbtn{
		width: 16vw;
	}
}
@media screen and (max-width: 1280px) {
	.mainTtlCatch{
		font-size: 4rem;
	}
	#top .cntBlk03 .txtbox{
		width: 100%;
	}
	.navmenu a{
		padding: 0.3em 0.5em;
	}
	.case_list .listblk li a{
		padding: 3vw 2.5vw 3vw;
	}

}
/* laptop NotePC */
@media screen and (min-width: 897px) and (max-width: 1440px) {
	/* 共通 */
	.resize{
		width: 80%;
		margin-right: auto;
		margin-left: auto;
	}
}

@media screen and (min-width: 897px) and (max-width: 1300px) {
	#top .cntBlk04 .imgbox{
		justify-content:space-evenly;
	}
}
@media screen and (min-width: 897px) and (max-width: 1024px) {
	/* 共通 */
	html{
		font-size: calc(100vw / 128);
	}
}

/*
# =================================================================
# 主要メンバー モーダル（memberModal）
# =================================================================*/
.is-modal-open {
	overflow: hidden;
}
.memberModal {
	width: min(92vw, 102.9rem);
	max-width: 102.9rem;
	max-height: 92vh;
	margin: auto;
	padding: 0;
	border: none;
	background: transparent;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.memberModal::backdrop {
	background: rgba(46, 46, 46, 0.8);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.memberModal[open] {
	animation: memberModalIn 0.3s ease;
}
@keyframes memberModalIn {
	from {
		opacity: 0;
		transform: translateY(2rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.memberModal__wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1.6rem;
}
/* 閉じるボタン（カード外・右上） */
.memberModal__close {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0;
	border: none;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.memberModal__close-label {
	font-style: italic;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.135rem;
	color: #fff;
}
.memberModal__close-icon {
	position: relative;
	display: block;
	width: 2.4rem;
	height: 2.4rem;
}
.memberModal__close-icon::before,
.memberModal__close-icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.7rem;
	height: 1px;
	background: #fff;
	content: "";
}
.memberModal__close-icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.memberModal__close-icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.memberModal__close:hover {
	opacity: 0.7;
}
.memberModal__close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 4px;
}
/* 白カード */
.memberModal__card {
	display: flex;
	align-items: center;
	gap: 7.7rem;
	width: 100%;
	padding: 7rem 12rem;
	background: #fff;
}
.memberModal__img {
	flex-shrink: 0;
	width: 40rem;
	height: 49rem;
	overflow: hidden;
}
.memberModal__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.memberModal__body {
	display: flex;
	flex-direction: column;
	gap: 4.4rem;
	width: 31.2rem;
	color: #333;
	letter-spacing: 0.072em;
}
.memberModal__head {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}
.memberModal__name {
	font-size: 3.2rem;
	line-height: 1.4;
	color: #333;
}
.memberModal__name_eng {
	font-size: 1.8rem;
	line-height: 1.4;
	color: #333;
	display: block;
}
.memberModal__role {
	font-size: 2rem;
	line-height: 1.4;
	color: #333;
}
.memberModal__role .rolekata{
	/* font-size: 1.6rem; */
	font-size: 2rem;
	display: block;
}
.memberModal__detail {
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}
.memberModal__block {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}
.memberModal__ttl {
	font-size: 2rem;
	line-height: 1;
	color: #333;
}
.memberModal__career {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.memberModal__career li {
	display: flex;
	gap: 1.6rem;
	font-size: 1.4rem;
	line-height: 1;
}
.memberModal__date {
	flex-shrink: 0;
	width: 9rem;
}
.memberModal__list li {
	font-size: 1.4rem;
	line-height: 1.5;
}


